전체 글 40

[JS] let, const 와 var 의 차이

1. 적용되는 스코프가 다르다. var 는 "함수 스코프"로 작동한다. let, const 는 "블록 스코피"로 작동한다. var의 경우, 함수가 아닌 if, for, while, try/catch 문 안에서 선언된 변수를 중괄호 { } 밖에서도 사용 가능하다. if (true) { var a = 1; } console.log(a); //1이 정상적으로 출력된다. 그러나 let, const 의 경우 블록 스코프로 작동하기 때문에 함수 뿐만아니라 if, for, while, try/catch 문 내부에서 다른 스코프를 갖는다 (switch는 블록 스코프가 아님!) if (true) { let a = 1; } console.log(a); // a is not defined 오류 발생 2. var는 함수를 재..

CS 스터디 2021.11.07

[웅's HTTP 완벽가이드] 3장 (2편) - 상태 메시지와 헤더 총정리 (HTTP/1.1까지)

'HTTP 완벽 가이드' 책을 읽고 정리한 내용입니다. 1장 HTTP 기초 링크 : https://codeboyed.tistory.com/17 2장 URL과 리소스 링크 : https://codeboyed.tistory.com/19 3장(1편) HTTP 메시지 중 메소드 : https://codeboyed.tistory.com/23 3장은 HTTP 요청과 응답 시 사용되는 HTTP 메시지에 관한 내용입니다. 내용이 상대적으로 많아서 1편과 2편으로 구성했습니다. 개발자 도구의 네트워크 탭을 열어, HTTP 메시지에 어떤 요소가 있는 지 한 번 보는 것도 좋을 것 같습니다. 3.4 상태코드 HTTP 상태 코드는 크게 5가지로 나뉜다. 상태 코드는 클라이언트에게 그들의 트랜잭션을 이해할 수 있는 쉬운 방법을..

CS 스터디 2021.10.24

[웅's HTTP 완벽 가이드] 3장(1편) - HTTP 메시지 ( 메서드 총정리 )

'HTTP 완벽 가이드' 책을 읽고 정리한 내용입니다. 1장 HTTP 기초 링크 : https://codeboyed.tistory.com/17 2장 URL과 리소스 링크 : https://codeboyed.tistory.com/19 3장은 HTTP 요청과 응답 시 사용되는 HTTP 메시지에 관한 내용입니다. 내용이 상대적으로 많아서 1편과 2편으로 구성했습니다. 개발자 도구의 네트워크 탭을 열어, HTTP 메시지에 어떤 요소가 있는 지 한 번 보는 것도 좋을 것 같습니다. 3.1 메시지의 흐름 3.1.1 메시지는 원 서버 방향을 인바운드로 하여 송신된다. HTTP는 인바운드와 아웃바운드라는 용어를 사용한다. 이는 트랜잭션의 방향을 표현하기 위함이다. 원 서버로 향하는 것은 인바운드로 이동하는 것이고( 서..

CS 스터디 2021.10.17

리액트 useEffect hook 실행 순서

1. 두번째 인자로 아무 값도 없는 경우 useEffect(() => { .... }) 렌더링이 된 후 마다 실행된다. 2. 두번째 인자가 빈 배열 '[ ]' 인 경우 useEffect(() => { .... }, []) 첫 렌더링 후에만 실행되고, 두번째 렌더링부터는 아무리 렌더링이 많이 일어나도 실행되지 않는다. 3. 두번째 인자가 특정 변수의 배열인 경우 useEffect(() => { .... }, [state1, state2]) 첫 렌더링 후에 한 번 실행되고, state1 또는 state2 가 변할 때 마다 실행된다. 4. 렌더링 이후에 실행된다는 것은 무슨 말인가? import "./App.css"; import { useState, useEffect } from "react"; functi..

자주 사용하지만 까먹는 git 명령어

Git clone 후 특정 remote/branch local에 가져오기 origin branch 에는 존재하지만, 나의 local branch 에 가져와지지 않은 branch 가 있을 수 있다. 해당 브랜치를 내 로컬로 가져오고 싶을 때 다음과 같은 명령어 옵션을 이용한다. $ git checkout -t / ex) git checkout -t origin/woongs 특정 브랜치만 clone 해오기 원격 저장소에 여러 브랜치가 존재하는 경우, 사용할 특정 브랜치만 clone 하고 싶을 때가 있다. 이때, 다음과 같은 명령어를 사용한다. $ git clone -b (브랜치 이름) --single-branch (저장소 URL) ex) git clone -b woongs --single-branch htt..

[웅's HTTP 완벽 가이드] 2장 - URL과 리소스

'HTTP 완벽 가이드' 책을 읽고 정리한 내용입니다. 1장 HTTP 기초 링크 : https://codeboyed.tistory.com/17 2장에서는 인터넷의 리소스를 사용하기 위해 꼭 알아야 하는 URL 의 개념에 대해 다룹니다. 글을 읽기전 아래 URL에 대해서 자신이 아는 내용을 혼자 설명해보고 글을 읽는 것도 좋은 공부방법이 될 것 같습니다. https://codeboyed.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2F# URL(Uniform Resource Locator)은 인터넷의 리소스를 가리키는 표준이름이다. URL은 전자정보 일부를 가리키고 그것이 어디에 있고 어떻게 접근할 수 있는지 알려준다. 2.1 인터넷 리소스 탐색하..

CS 스터디 2021.10.03

[웅's 프로그래머스] 기능개발 - 파이썬(python) 풀이

이번 시간에는 "프로그래머스 고득점 kit" "스택/큐" 카테고리에 있는 기능개발 문제를 풀어보겠습니다. 먼저, 진행율과 속도 배열을 이용하여 모든 작업의 남은 일수를 구합니다. 남은 일수를 구하는 식은 100% 에서 현재 진행상황인 progress 값을 뺀 후, 속도인 speed 값으로 나눠준 후 올림을 해주는 것 입니다. 만약 아래의 예시의 경우 다음과 같은 결과가 나옵니다. progresses = [95, 90, 99, 99, 80, 99] speeds = [1, 1, 1, 1, 1, 1] costs = [math.ceil((100-p)/s) for p,s in zip(progresses, speeds)] # costs = [5, 10, 1, 1, 20, 1] costs 를 순회하며 가장 큰 수의 ..

알고리즘 2021.09.25

[웅's HTTP 완벽 가이드] 1장 - HTTP 기초

'HTTP 완벽 가이드' 책을 읽고 정리한 내용입니다. 1장에서는 HTTP 통신이 어떻게 이루어지는 지와 앞으로 다루게 될 웹어플리케이션의 간략한 소개가 있었다. 먼저, 이번 장의 키워드들을 나열했다. 글을 읽기 전, 자신이 아는 개념을 간단하게 설명해보면 좋을 것 같다. HTTP ( HyperText Transfer Protocol ) URI ( Uniform Resource Identifier ) URL ( Uniform Resource Locatior ) URN ( Uniform Resource Name ) HTTP 메소드 종류 HTTP 상태 코드 HTTP 메시지 TCP/IP HTTP 프락시 웹 캐시 게이트웨이 HTTP 터널 1.1 HTTP란? 전 세계의 웹브라우저, 서버, 웹 애플리케이션이 대화할..

CS 스터디 2021.09.25

개발 공부를 한다는 것에 대한 생각 (feat. 부스트캠프 2달 반 경과)

개발 공부를 제대로 시작하겠다고 다짐한 지 2달 반? 정도 지났다. 현재까지 학습해 온 방향과 앞으로의 방향에 대해서 고찰해보는 시간을 갖고자 한다. 현재까지는 부스트캠프를 참여하며 캠프에서 주어진 미션을 해결하는 것이 주된 목표였다. 미션은 구체적으로 어떤 기능을 갖는 웹사이트를 구현하는 것이다. 해당 기능 구현을 위해 필요한 배경 지식을 스스로 찾아보고 그 기능을 내 프로젝트에 적용시키는 과정의 반복이었다. 이 과정은 주로 구글, 유투브, 블로그 등을 검색하며 혹은 다른 동료 캠퍼 분들의 파일을 참고하며 코드를 가져오는 방식이었다. 때문에, 해당 코드가 어떤 역할에 필요한 지 정도는 알지만 어떻게 작동하는 지, 어떤 장단점을 가지는 지, 그리고 상황이 조금 다른 경우에는 어떤 옵션들이 있는지 (혹은 ..

성장스토리 2021.09.25