분류 전체보기 30

[JS]변수 선언의 실행 시점과 변수 호이스팅

📌 호이스팅 - 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징 예시 console.log(score); // undefined var score; // 변수 선언문 - 인터프리터에 의해 한 줄 씩 순차적으로 실행된다면, 아직 선언되지 않은 socre변수를 콘솔에 출력하고자 하고 있으므로, ReferenceError(참조에러)가 떠야함 - 하지만, 에러가 발생하지 않고 undefined가 출력됨 - 자바스크립트 엔진은 소스코드를 한 줄 씩 순차적으로 실행하기에 앞서, 먼저 소스코드의 평가 과정을 거치면서 소스코드를 실행할 준비를 함 - 소스코드 평가 과정에서 변수 선언을 포함한 모든 선언문을 소스코드에서 찾아서 먼저 실행 - var, let, const, function..

CS 공부 - front 2023.01.31

[웹] cors, Cross-origin resource sharing

📌 cors 란? Cross-origin resource sharing, 교차 출처 리소스 공유 정책 - 보안상의 이유로 브라우저들이 다른 도메인에 요청 보내는 것을 제한함 - 웹 애플리케이션은 보안상의 이유로 자신의 출처와 동일한 리소스만 불러올 수 있음 - 다른 출처의 리소스를 불러오려면 그 출처에서 올바른 cors 헤더를 포함한 응답을 반환 📌 출처란 무엇인가? - 포트번호는 생략되어있지만, 일반적으로 포트번호까지 모두 일치해야 같은 출처라고 인정(ex.https://google.com:443) - 같은 출처 규칙 : SOP(Same-Origin Policy) - 웹 특성 상 위 규칙을 지키기 어렵다면, cors(교차 출처 리소스 공유)라도 지키자 📌 cors 정책 - 브라우저에서 작동, 서버는 c..

CS 공부 - front 2023.01.29

[Operating System] 운영 체제와 하드웨어

📌 운영 체제(OS, Operating System) [개념] - 하드웨어를 관리, 컴퓨터 시스템의 자원 관리, 응용 프로그램과 하드웨어 간의 인터페이스 - 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있는 환경을 제공하는 시스템 소프트웨어 - 운영체제가 프로그램들을 실행하는 메인 프로그램, OS도 하나의 프로그램 - 프로그램 실행에는 하드웨어의 자원이 필요함, 따라서 하드웨어 자원을 사용해서 응용 프로그램을 관리 - 네트워크 통신, 입출력 장치 등 컴퓨터 사용에 필요한 것들을 관리 - Window, Linux, UNIX, MS-DOS 등이 있음 - 개발자가 짠 코드를 바탕으로 프로그램이 만들어짐 → 코드의 집합이 컴퓨터가 이해할 수 있는 코드로 컴파일 된 것을 프로그램이라고 함 → 프로그램을 실행하..

[웹]쿠키, 세션, 로컬스토리지, 세션스토리지 그리고 JWT

HTTP의 특징 그리고 쿠키와 세션 📌HTTP의 특징 1. connectionless 클라이언트가 요청 한 후 응답을 받으면 연결을 끊음 2. stateless 통신이 끝나면 상태를 유지하지 않음 → 위 두가지 특징 때문에 서버는 요청 자체 만으로 그 요청이 누구에게서 오는지 알 수 없음 → 이러한 특징을 해결하기 위해 쿠키와 세션을 사용 → 쿠키와 세션을 사용하여 사용자에 대한 인증을 유지 📌쿠키 [특징] - 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일 - 인증 유효 시간을 명시할 수 있음, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지 - 하나의 쿠키값은 4KB까지 저장 - Response-Header에 set-cookie 속성을 사용해서 만듦 - 사용자가 따로..

CS 공부 - front 2023.01.26

[Data Structure] Tree

Tree - Node와 Edge로 이루어진 자료구조 특징 - 값을 가진(Node)와 노드를 연결하는 간선(Edge)로 이루어져 있음. - 루트 노드 : 부모가 없는 노드(그림에서 1) - 모든 노드는 0개 이상의 자식노드를 가지며, 부모-자식 관계라고 칭함 - 사이클이 존재할 수 없음(사이클이 생기면 트리가 아니라 그래프) - 루트에서 노드 한개로 가는 경로는 유일함 - 노드의 개수가 N개일 때, 간선은 N-1개 트리 순회 방식 1. 전위 순회(pre-order) : root → 왼쪽 자식 → 오른쪽 자식 2. 중위 순회(in-order) : 왼쪽 자식 → root → 오른쪽 자식 3. 후위 순회(post-order) : 왼쪽자식 → 오른쪽 자식 → root 트리 장점 및 활용 예시 [장점] - 계층적 ..

[웹] SSR vs CSR 그리고 Next.js

SSR(Server Side Rendering) 특징 Server Side Rendering 과정 User가 웹사이트에 요청을 보냄 서버에서 즉시 렌더링 가능한 html 파일을 만듦 html은 렌더링되지만 사이트 자체 조작은 불가 (Viewable but non-interactable) 자바스크립트 다운 다운 받는 동안 컨텐츠는 viewable 하기때문에 사용자 조작을 기억해놓는다 브라우저가 js framework를 실행 js까지 성공적으로 컴파일 되면 기억하고 있던 사용자 조작이 실행되고 viewable and interactable 해짐 브라우저 화면의 차이에 집중해보자 장단점 장점 첫 페이지 로딩시간이 평균적으로 SSR이 더 빠름, SSR은 필요한 부분의 html과 스크립트만 불러오기 때문 SEO ..

CS 공부 - front 2023.01.24

[Data Structure] Stack and Queue

스택(Stack) 특징 입력과 출력이 한 곳(방향)으로 제한적임 LIFO(Last In First Out, 후입선출) : 가장 나중에 들어온 것이 가장 먼저 나옴 예시 : 함수의 콜스택, 연산자 후위표기, 문자열 역순, DFS 장점 및 활용 재귀함수를 필요로하는 소스코드에 재귀함수를 사용하지 않고 구현 가능 웹 브라우저의 방문기록에서 스택의 트깅을 활용해 '뒤로가기'를 구현할 수 있음 프로그램의 실행취소(Undo)에 활용됨 큐(Queue) 입력과 출력을 한 쪽 끝(front,rear)로 제한 큐의 가장 첫 원소를 front , 가장 끝 원소를 rear 큐는 들어올 때 rear로 들어오지만 나올때는 front부터 빠지는 특성 FIFO(First In First Out, 선입선출) : 가장 먼저 들어온 것이..

[23.01.18] 2023 상반기 코딩테스트 로그

두 차례 실전 코딩테스트를 보며 회고 파이썬 버림 기능을 몰라서 스플릿을 쓰다니 올림 버림 제곱 이런 기본 수학 공식은 외우자 올림 round(실수, 표기할 자리수) round(실수, 2) 는 '실수를 소수 두번째 자리까지 표기하겠다' 소수점 자리수를 지정하고 다시 수로서 계산을 할 목적이시라면 round()num = 3.14159265 print(round(num,1)) #3.1 print(round(num,2)) #3.14 버림 f-string 표기법num = 3.14159265 print(f"기존값 : {num}") print(f"소수점첫번째 : {num : .1f}") print(f"소수점두번째 : {num : .2f}") ㄴ 형태 판별 ㅁ 형태 판별 처럼 은근 모양을 판별하는 문제..

취업 2023.01.18