전체 글 114

호이스팅(Hoisting)

캠퍼스에서 다른줄 친구의 스터디준비 과정을 옆에서 참관하다가 약 30분 가량 같이 공부해버렸다.ㅋㅋ let, var, const로 시작해 스코프와 호이스팅까지~ 호이스팅(Hoisting) 함수 안에 있는 선언들을 모두 끌어올려서(hoist) 해당 함수 유효 범위(scope)의 최상단에 선언하는 것. MDN 정의 더보기 JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다. 반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다. 호이스팅을 설명할 땐 주로 "변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상..

개발 한 스푼 2022.10.11

Express 인액션 (2016)

빌려놓고 저번 팀프로젝트부터 군데군데 발췌독한 Express 책. 반납전 벼락치기로 후다닥 공부했다. 아.. 역시 표지선택이유는 설명을 읽었음에도 잘 이해가 안가지만 적당히 투박한 맛이 있던 책이었다. (2016년이라 나온 지 얼마 안됐는데도 상당히 투박했음) 예제도 상세하고 설명도 자세하고 군데군데 직역된 유머까지 마음에 들었다. 에반 M. 한 씨와 김도균씨.. 기억하겠습니다. 시간만 더 충분했다면 더 여유롭게 음미하면서 읽을 수 있었을 텐데. 그래도 덕분에 감으로만 써오던 NodeJS로 웹서버 만드는 과정을 제대로 확인할 수 있었다. 대략적으로나마 훑고 개념 정리를 하니까 더 재밌고 이해하면서 Express를 쓸 수 있을 것이란 기대를 해본다. 개발책을 읽으면 읽을수록 알아가는 게 많은 동시에 더 알..

독서 2022.10.07

모두의 SQL (2018)

김도연 씨 감사합니다.. 이 책을 3회독하고 덕분에 SQL이 재밌어졌어요 SQL초보에게 강추합니다. 저번 팀프로젝트 조장님이 용감하고 거침없이 9월 SQLD시험을 보자고 꼬시는 바람에 엇 그럴까? 한순간에 훼까닥 넘어가 이틀동안 이 책으로 벼락치기했다. 물론 털렸다ㅋㅋ 분과 오기가 생겨서ㅋㅋ 11월 시험을 목표로 다시 도전할 것이다. 이 책으로 기초개념 훑고 SQLD 시험대비차 더 어려운 개념들(TCL이라든가, DCL, 성능최적화 등) 눈에 바르니 음.. 공부할 게 많다는 걸 체감. 심지어 실기까지.. 하지만 오히려 좋아 곧 노랑이 문제집을 구해 실습을 대비해야지. SQLD 따고만다!!

독서 2022.10.06

RDBMS와 Nosql

RDBMS: 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스 관리 시스템. 다른 테이블과 관계를 맺을 수 있으며, 외래키를 이용하며 테이블 간 join이 가능하다. 정해진 스키마에 따라 데이터를 저장하기에 명확한 데이터 구조를 가진다. 자주 데이터 수정이 일어나는 경우에 적합하다. 데이터 값이 중복되지않으며(데이터무결성) 성능향상을 위해서는 서버 성능이 향상되어야하는 scale-up만을 지원한다. Nosql: RDB가 아닌 다른 데이터 형태 저장기술. 테이블 간 관계를 정의하지않으며, 데이터일관성을 포기하는대신 여러 곳에 데이터를 분산하여 저장하는 scale-out을 목표로 등장하였다. 1. Key Value DB (Redis, Amazon Dynamo DB....

개발 한 스푼 2022.10.03

병행 제어

병행수행 문제점 1. 갱신 분실 (lost update) 2. 모순성 (inconsistency) 3. 연쇄복귀 (cascading rollback) 병행제어의 목적 1. 시스템 활용 증대 2. 데이터베이스 공유 최대화 3. 응답 시단 단축 병행제어 기법 1. 잠금(Locking)기법 한 트랜잭션이 실행되는 동안 특정 데이터 항목에 대해 다른 트랜잭션이 동시에 접근하지 못하도록 데이터를 상호배제하여 제어하는 기법. 한 트랜잭션이 특정 데이터 항목에 대하여 잠금(lock)을 설정하면, 해제(unlock)될 때까지 데이터를 독점적으로 활용할 수 있음. 1.1 공용 로킹(shared locking) : 트랜잭션이 데이터를 read만, 다른 트랜잭션도 read 가능 1.2 전용 로킹(private locking..

개발 한 스푼 2022.10.01

0907 Socket.io

소켓(Socket) 프로세스가 네트워크로 데이터 내보내거나 받기위한 실제적인 창구역할을 하는것 서버와 클라이언트를 연결해주는 도구, 인터페이스 역할 프로토콜 IP주소 포트 넘버 소켓 흐름 서버 클라이언 소켓의 연결요청을 대기하고, 연결요청이 오면 클라이언트 소켓을 생성해 통신을 가능하게 함 socket() Socket 생성 bind() ip와 port 번호 설정 listen() 클라이언트 요청connect()에 수신 대기열 생성 accept() 클라이언트 연결read()을 기다림 클라이언트 실제로 데이터 송수신이 일어나는 곳 socket() Socket 여는 함수 connect() 통신할 서버의 설정된 ip와 port 번호에 통신을 시도하는 함수 통신 시도 시, 서버가 accept() 통해 클라이언트의 ..

새싹🌱 2022.09.07

0905 CSS 반응형

💡 CSS 반응형 CSS 초기화 CSS 단위 Media query 반응형 반응형 웹 디스플레이 종류에 따라 화면크기 자동최적화 적응형 웹 PC용 / 모바일용 사이트 url 별도 제공 반응분기점(breakpoint) CSS 스타일 초기화 브라우저마다 태그 기본스타일 상이 → 다른 화면 CSS 초기화 방식 Reset.css https://meyerweb.com/eric/tools/css/reset/ Normalize.css https://necolas.github.io/normalize.css/8.0.1/normalize.css (css파일 링크) https://cdnjs.com/libraries/normalize (cdn) CSS 단위 px 화면의 하나의 점 반응형 부적합 반응분기점 별로 사이즈 다르게 작..

새싹🌱 2022.09.05

렛츠고

새싹에서 진행 중이던 기존스터디에 새로 합류했다😆 자 이제 시작이야-! 《커리큘럼》 7월2주차 (#10171 고양이, #1000 A+B, #10869 사칙연산, #9498 시험 성적, #2739 구구단) 7월 3주차 (#10952 A+B-5, #10951 A+B-4, #2562 최댓값, #2577 숫자의 개수, #10809 알파벳 찾기 ) 7월 4주차 (#11654 아스키 코드, #2908번 상수, #1065 한수, #2581 소수, #10870 피보나치 수 5 ) 8월 1주차 (#11729 하노이의 탑 이동순서, #10828 스택, #17608 막대기, #1874 스택 수열, #1018 체스판 다시 칠하기) 8월 2주차 (#9012 괄호,#1406 에디터, #1259 팰린드롬 수, #2805 나무 자르..

알고리즘GOGO 2022.08.01