본문 바로가기

분류 전체보기

(212)
[DB] 문자형 컬럼을 탐색하는 방법 1. LIKE 연산자 컬럼에 저장된 문자열 중에서 비슷한거 찾아줘 2. 부분 문자열 검색에 사용되는 패턴 % : *(아스타) 역할하는 와일드카드, 아무나 길이 제한 없이 다 _ : 한자리 모두 같은 결과를 뱉는다. ESCAPE : 검색하고 싶은 문자 자체가 '%' 이거나 '_' 일때 특수문자를 스트링 취급하라고 알려주기 substr 연산을 사용하여 맨 첫글자가 뭐인것, 이런식으로도 검색가능 단, 해당 컬럼에 인덱스를 걸어둔 경우 그 컬럼에 대해서 연산을 한 결과로 검색을하면, 인덱스를 타지 못한다(성능저하)
[DB] 집계함수 종류와 각각의 역할 집계함수는 여러행으로부터 하나의 결과값을 반환하는 함수이다. 주로 통계적인 데이터 (총합, 평균, 최대, 최소 등)을 구할 때 사용한다 1. COUNT select count(*) from tb_member where gender = 'female'; 남자들 중에서 member_name 중복을 제거한(동명이인 제거) 카운트 수 select count(distinct member_name) from tb_member where gender = 'male'; 2. MIN/MAX select MAX(member_age) from tb_member; string 값이 저장되는 컬럼에도 사용 가능 -> 사용시 알파벳 사전순서 select MIN(country) from tb_member; 3. AVG(평균), S..
[DB] CREATE 로 테이블 만들고 INSERT 해보기 create database playground; use playground; CREATE TABLE swimming_pool ( idx int NOT NULL AUTO_INCREMENT COMMENT '수영장 고유번호', title varchar(20) NOT NULL COMMENT '수영장 이름', type tinyint unsigned DEFAULT 0 COMMENT '수영장 타입 0:국공립, 1:사설', sido varchar(30) DEFAULT NULL COMMENT '주소 시/도', gugun varchar(30) DEFAULT NULL COMMENT '주소 구/군', road_name varchar(30) DEFAULT NULL COMMENT '주소 도로명', deatil_juso varc..
AWS - EC2(EBS/AZ/ELB) Elastic Compute Cloud ECC -> EC2 유동적인(탄력적인) 컴퓨터 클라우드 EC2 사용시 지불방법 1. on-demand : 시간단위로 가격이 고정되어 있음. 개발 초기단계, 유연한 크기 설정 가능 개발 시작 시간, 개발 끝나는 시간을 알수 없는 경우, 단기간에 개발을 할 수 있는경우, 개발 초기단계에서 EC2인스턴스에 테스트를 해볼때 적합함 2. reserved : 한정된 EC2 용량 사용가능, 지정석, 크기를 늘이고 줄이는 기능 없음, on-demand 보다 가격이 저렴함. 개발의 시작과 끝을 미리 알 수 있는 경우에 적합. 예상가능한 워크로드시 지정해두고 할인받아 사용가능 3. spot : 입찰 가격 적용, 가장 큰 할인률을 적용받을 수 있음. EC2는 어떻게 작동되는가? 무엇으..
[AWS] IAM 이란? (개념과 실습) IAM 이란? 클라우드 사용자(유저)를 관리(권한 등) 1. 유저별로 다른 권한 부여기능(A: 데이터베이스 읽기 권한만 부여/ B: 데이터베이스 테이블 생성 권한만 부여) 2. 모든 유저들에게 비밀번호를 강제로 변경하도록 기한 설정 가능 3. MFA 다중인증 기능 : 루트유저는 필수 루트 유저로 생성할 수 있는 것 1) 그룹 : 유저 묶음 2) 유저 3) 역할 4) 정책 : json 형태로 되어있는 document를 가리킨다. 세밀한 접근권한을 일일히 설정하여 하나의 정책 document 생성 IAM 은 universal 하다 universal (전역적) regional (지역적) IAM 정책 시뮬레이터(IAM과 관련 문제 디버깅하기 위한 툴) 1. 개발환경(Staging or Develop)에서 실제환..
리액트 빌드시 환경(개발/테스트/상용)에 따라 API 주소 설정하기 1. 명령어로 구분 package.json에 script : start/build/test 각각의 스크립트가 있음 -> 배포시 build.gradle에 npm build 명령어가 들어있음 2. .env 파일에서 환경변수 사용 두개의 분리된 dotEnv 파일 생성 .env.development : 개발용 환경변수 .env.production : 상용 환경변수 원리) Creact-React-App으로 리액트를 만들고 npm 스크립트를 실행할 때 스크립트 명령어별로 env 파일의 적용 우선순위가 있다. script 명령어 별 env 파일 우선순위 npm start : .env.development.local, .env.local, .env.development, .env npm build : .env.prod..
display:none, visibility:hidden, opacity: 0 차이점 브라우저의 렌더링 과정 ( DOM Tree + CSSOM Tree -> Render Tree -> Reflow(Layout) -> Paint(Repaint) 조건부 렌더링이 최적화에 최고 -> 연산도 아예 안함 display : none 자리 차지 안함 DOM 트리까지만 가져가고, Render Tree에서 제외-> 레이아웃에 포함되지 않는다 하지만 DOM 트리까지는 해당 요소가 Node로 만들어 지기 때문에, 컴포넌트를 생성하기 위한 계산과정은 전부 거쳐야 한다 -> 리렌더링에 따른 자원 소모는 피하지 못함. 검색엔진이 아예 접근 못함 Reflow, Repaint 안함 opacity : 0 자리 차지함 클릭이벤트를 가지고 있어서 본인이 클릭됨 Reflow, Repaint 안함 visibility : hi..
[HTML&CSS] pseudo Class & pseudo Element 활용 슈도 클래스와 슈도 엘리먼트.. 사실 많이 썼던 건데, 이런 명칭은 처음 들어봤다. 혼나고 배우면 더 기억에 오래 남는법 Pseudo Class & Pseudo Element 알아보자! pseudo : 가짜 Pseudo Class & Pseudo Element : 가상 클래스 & 가상 요소 이 가상요소들을 잘 사용하면 인터렉티브한 웹 페이지를 만들 수 있다. Pseudo Class 단순한 선택자로는 표현할 수 없는 것을 선택하는 선택자이다. 특정한 상태 말고 규칙에 따라 상태가 바뀌는 요소를 선택할 때 사용하는 것이다 1) Dynamic pseudo-class :hover :visited :link :active :focus 태그에 자주 쓰이고, focus는 태그에 자주 쓰인다. 2) UI element..
얕은복사 & 깊은복사 데이터타입 원시값 String, Number, Boolean, Null, Undefined -> 자동 깊은 복사, 다른 메모리에 값 자체를 할당 참조값 Object, Symbol -> 얕은 복사, 가리키는 주소를 복사 얕은 복사 객체를 가리키는 주소를 같이쓰는것 바꾸면 같이 따라서 바뀌어 버린다 깊은 복사 spread 연산자 사용 (1 depth 까지만) Object.assign() 메소드 사용 (1 depth 까지만) 완벽한 깊은 복사 방법 재귀적으로 깊은 복사 수행 Lodash의 cloneDeep 함수 사용 (라이브러리) JSON.parse()와 JSON.Stringify() 함수 사용 JSON.stringify()는 객체를 json문자열로 변환한다. 이 과정에서 원본객체와 참조가 모두 끊어진다. J..
자바스크립트 프로토타입 Javascript 에서는 객체를 상속하기 위해 프로토타입이라는 방식을 사용한다. 이미 존재하는 생성자에게 메소드를 추가하기 위해 프로토타입 속성을 사용하는 법을 알아보자 자바스크립트는 프로토타입기반 언어라고도 불리운다 모든 객체들이 그들의 프로토타입으로 부터 메소드와 속성들을 상속받는다. 모든 객체들은 최소한 하나 이상의 다른 객체로부터 상속을 받는데, 이때 상속되는 정보를 제공하는 객체를 프로토타입이라고 한다. 동작 순서 : 프로토타입 체인 person 객체가 자체적으로 valueOf() 메소드를 가지고 있는지 체크 person의 프로토타입 객체 Person()의 생성자의 프로토타입에 valueOf() 메소드가 있는지 체크 여전히 없으므로 Person()의 생성자의 프로토타입 객체의 프로토타입 Obj..