일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MySQL
- GraphQL
- winston
- 인접행렬
- javascript
- Spring
- 자료구조
- puppeteer
- Linux
- OOP
- bean
- html
- REST API
- 인접리스트
- JWT
- Kubernetes
- java
- TIL
- typescript
- LifeCycle
- 알고리즘
- Deep Dive
- node.js
- Interceptor
- 코딩테스트
- nestjs
- dfs
- css
- 탐욕법
- 프로그래머스
- Today
- Total
목록전체 글 (241)
처음부터 차근차근
오늘 한 일 Notion -> tistory로 블로그 정리 REST API 정리 OpenAI API를 활용해서 코드 작성 블로그 정리 나는 Notion으로 내가 배운것들을 정리하고, TIL도 Notion에다가 작성하였다. 그러나 다른사람들의 조언을 들으니 정리도 잘해놓는 편인데 Tistory로 옮기는게 조금 더 좋아보인다는 느낌이 들었다. 실제로 Tistory로 옮기니 무언가 정리하는 느낌이 더 들기도 하였다. 아직 글 작성을 하나밖에 하지 않았지만 계속 정리해서 11월까지 다시 정리할 예정이다. REST API 개념 정리 저번 Intellipick 모의 면접에서 신나게 맞은 내용을 다시 공부하고 정리하고 있다. 너무 과거에 공부했던 내용을 복습하지 않아 기억이 나지 않는 점이 문제였다. 이제부터 배운것..
REST API란? REST API는 REST(Representational State Transfer) 아키텍처 스타일의 디자인 원칙을 준수하는 API이다. 이러한 이유로 REST API를 RESTful API라고도 한다. RESTful한 API를 말하며, 일련의 특징과 규칙 등을 지키는 API를 일컫는다. 2000년에 로이 필딩이 작성한 논문에서 처음으로 작성한 개념이다. REST란? Representation State Transfer의 약자 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미 한다. 즉, 자원(resource)의 표현(representation)에 의한 상태(State) 전달(Transfer) 이해 하기 어려우니 하나씩 듣어보자. 1. 자원..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bbtCpM/btsjHdzCPMU/ntLfZb9KYlgw0lp9yeLtRk/img.jpg)
Closure에 대한 정의 : A closure is the combination of a function and the lexical environment within which that function was declared(클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합니다.) - MDN 이걸 알기 위해서는 함수가 선언된 렉시컬 환경에 대하여 자세하게 알 필요가 있다. 아래의 예시를 보자. const x = 1; function outerFunc() { const x = 10; function innerFunc() { // x는 어디서 참조할까요?? // 함수가 선언된 렉시컬 환경!!! // 함수가 선언될 당시의 외부 변수 등의 정보! console.log(x); // 10 } innerFu..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/t5pP9/btsjFXc9QPB/TkkqTV1q1D5kSGaLMhQaH0/img.png)
다른 언어에서도 많이 쓰이는 Class란 무엇인가?? Class Class : 객체 지향 프로그래밍(OOP)에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀(template)이다. (Wiki 백과) 간단히 설명하면, Class는 학교에서 다양한 종류의 책상을 만드는 설계도와 비슷하다. Class로 만들어지는 Instance?? instance는 이 설계도를 보고 만들어지는 실제 책상이라고 생각할 수 있다. 결론 : 객체 지향 프로그래밍에서 Class는 객체를 찍어 내기 위한 틀이다. 그렇다면 Class를 쓰는 이유는?? 빠르고, 정확하고, 다량으로 객체를 생성 할 수 있기 때문이다. 아래 예시를 보자. // 클래스라는 설계도를 만들어봅시다. class Person { // 우리는 사람이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/n4bsV/btsjtA31ZZ1/93KGK1o6tyDJXFNikIGovk/img.png)
DOM이란?? DOM : Document Object Modeling 이것만 가지고는 이해하기 힘들다. DOM의 기본 개념부터 알아보자. DOM의 기본 개념 DOM을 이해하기 위해서는, 웹 브라우저가 어떻게 동작하는지 알아야 한다. 1. Javascript가 왜 생겼는가?? - 브라우저에서 쓰려고 만들어진 언어 - 본연의 역할 : 웹 페이지를 동적으로 만들기 위해! (클릭하면 버튼이 이동한다던가, 리스트가 변한다던가..) → 즉, HTML문서를 조작해서 생명력을 불어넣어주기 위해 만들어진 언어. 2. 웹 페이지가 뜨는 과정 1) 사용자가 브라우저에 어떠한 주소를 입력한다. (여기서 사용자 = 브라우저 = 클라이언트, 같은 의미로 생각하면 된다) → 클라이언트가 서버에게 요청(request) 2) HTML..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bQj7gg/btsjjBvtKsU/ZWOUF24vkICVDVWK4wFUB1/img.png)
Callback(콜백함수)이란?? 프로그래밍에서 Callback 또는 Callback function이란 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받은 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 나중에 실행할 수도 있다. 간단한 예시로, setTimeout, 혹은 forEach 메소드를 통해 알아보자. // setTimeout setTimeout(function() { console.log("Hello, world!"); }, 1000); // forEach const numbers = [1, 2, 3, 4, 5]; numbers.forEach(function(number) { console.log(number); }); 여기서 봤을 때 Callback은 Call..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dhbwVA/btsjlWE0P0T/oghsQ5Rb54tOgpGIffNc0k/img.png)
다른 객체지향 언어에서의 this : 클래스로 생성한 인스턴스 객체를 의미한다. Javascript에서의 this : 어디에서든지 사용가능하다. This : '이것' 이란 뜻. this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-reference variable)이다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. this는 자바스크립트 엔진에 의해 암묵적으로 생성된다. this는 코드 어디서든 참조할 수 있다. 자바스크립트의 this는 기본적으로 실행 컨텍스트가 생성될 때 결정된다. 즉, 함수를 호출할 때 결정된다. 하지만 this는 객체의 프로퍼티나 메서드를 참조하기 위한 자기 참조 변수이므로 일반적으로 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/EZxHi/btsiM96h7RZ/wyvTA8fjmi5SxwXm1ppkCK/img.png)
실행 컨텍스트란?? 실행할 코드에 제공할 환경 정보들을 모아놓은 객체이며, 실행 컨텍스트가 활성화되는 시점에 다음과 같은 일을 진행한다. 선언된 변수를 위로 끌어올리기(호이스팅) 외부 환경 정보를 구성 this 값을 설정 이러한 특징으로 인해 JS는 타 언어랑 다른 특징이 발생. Call stack에 대한 이해 동일 환경에 있는 코드를 실행할 때 필요한 환경 정보들을 모아 컨텍스트를 구성하고 이것을 위에서 설명한 '스텍'의 한 종류인 Call stack으로 쌓아 올린다. 가장 위에 쌓여있는 컨텍스트와 관련된 코드를 실행하는 방법으로 코드의 환경 및 순서를 보장한다. 컨텍스트의 구성 1) 실행 컨텍스트를 구성할 수 있는 방법 전역공간 eval()함수 함수(우리가 흔히 실행컨텍스트를 구성하는 방법) 2) 실..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/O5Yj1/btsigE7I2pX/GnD4J7pAbn4uEaiOFrPKaK/img.png)
UNION 이란?? - 결과물 합치기 이다. 그림과 같이 위쪽은 JOIN이라면, 아래쪽은 UNION을 뜻한다. UNION 중복을 제거한 집합 UNION ALL 중복을 제거하지 않은 집합 SELECT CustomerName AS Name, City, Country, 'CUSTOMER' FROM Customers UNION SELECT SupplierName AS Name, City, Country, 'SUPPLIER' FROM Suppliers 두 Table을 위 아래로 합쳐준다. 1. 합집합 나타내기 SELECT CategoryID AS ID FROM Categories WHERE CategoryID > 4 UNION SELECT EmployeeID AS ID FROM Employees WHERE Emp..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cg7oLE/btsioohARos/FHJhl6qZcTAuLNXCP8tyKK/img.png)
JOIN이란?? 두 테이블의 공통된 정보(key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는것을 의미 1. JOIN(INNER JOIN) - 내부 조인 양쪽 모두에 값이 있는 행(NOT NULL) 반환 'INNER'는 선택사항 교집합이라고 생각하면 편하다. SELECT * FROM Categories C JOIN Products P ON C.CategoryID = P.CategoryID; 왼쪽은 Category의 항목, 오른쪽은 Products의 항목을 나타낸다. SELECT C.CategoryID, C.CategoryName, P.ProductName FROM Categories C JOIN Products P ON C.CategoryID = P.CategoryID; SELECT CONCAT( ..