본문 바로가기

TIL(Today I Learned )22

[aws](Amazon Web Service) IM 39일차 TIL AWS 란 거대 IT기업인 아미존에서 제공하는 클라우드 플랫폼으로 전세계에서 가장 많이 사용되고 있다. 클라우드란 인터넷을 통해 가상화된 컴퓨터의 리소스 요청에 대해 즉시 제공하는 것이다. 데이터를 저장, 가공하는 다양한 기능들을 제공해주는 것이 특징이다. AWS에서는 클라우드 컴퓨터와 관련한 다양한 서비스를 제공하고 있으며, 그 중에서 중점적으로 S3, EC2, RDS에 관해 얘기하고자 한다. S3 S3란 아마존에서 제공하는 서비스 중 하나로 Amazon Simple Storage Service는 인터넷용 스토리지 서비스이다. 웹 규모 컴퓨팅 작업을 수행할 수 있게 설계되어 있으며 원하는 양의 데이터를 저장하고 검색할 수 있게 만들어 준다. 간단하게 S3를 하는 방법에 대해 설명하겠다. AWS에서 Am.. 2020. 6. 23.
cookie & session cookie와 sessions은 http 프로토콜을 유지하기 위한 기술 우선 http프로토콜의 특징에 대해서 알아야 쿠키와 세션에 대한 이해가 가능하다. HTTP프로토콜 특징 connectionless - 비연결 지향의 의미로 클라이언트가 서버에 요청을 보낸 후 클라이언트로 응답을 받으면 연결을 끊는 특징 stateless - 클라이언트와 서버의 정보가 연결이 끊기게 되면 유지되지 않는 특징 이 두가지 특성으로 인해 사용자가 접속하였을 때 이전 사용자와 같은 사용자인지 알 수 있는 방법이 없어진다. 통신을 할 때 클라이언트에서 매 요청 마다 사용자가 계속 인증해야하는 단점이 발생한다. 이를 보완하기 위해 쿠키와 세선을 필요로 한다. cookie 쿠키는 클라이언트 쪽에 주고받는 데이터 클라이언트의 상태 정.. 2020. 6. 19.
IM 29일차 TIL(promise) Promise 프로미스(Promise)란 자바스크립트 비동기 처리에 사용되는 객체로 어떤 코드를 실행이 완료되기 전에 다음 코드를 수행되는 특성이다. 프로미스는 주로 서버에서 받아온 데이터를 화면에 표시하기 위해 사용된다. 프로미스는 3가지 특징을 가진다. Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태 Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태 Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태 pending(대기)는 new Promise() 를 호출하게 되면 대기 상태가 된다. new Promise(function(res, rej){ }); 콜백 함수로는 resolve, reject를 받는다. fulfilled(이행.. 2020. 6. 9.
IM 26일차 초보개발자 TIL 3번째 테스트를 보는 날이었다. 이전 까지 배웠던 React나 express, Redux에 대한 개념의 이해가 많이 부족하였다. Personal Portfolio를 만드는 것에 있어서도 많이 부족하였다. 정확히 말하면 제대로 구현되지 못하였다. 부족한 부분이 많다보니 테스트를 볼때도 어려움을 많이 느꼈다. 테스트가 끝나고 다시한번 개념들을 하나하나 찾아가며 공부를 하였고, 이전 과제들을 살펴보며 이해하려고 노력하였다. 클라이언트에서 사용되는 react router에 대한 이해 서버의 URL을 접근할 때 클라이언트에 접근하는 방법 Build를 통해 서버에 넘겨주는 방법 middleware의 이해 리듀서와 액션 등등 아직 이해하지 못한 부분들이 너무 많다는 것을 느끼게 되었다. solo day기간 동안 이 .. 2020. 6. 4.
IM15일차 초보개발자 TIL(fetch) 클라이언트에 관련된 과제를 진행하였다. fetch를 이용하여 data를 받아와 client에 구현될 수 있도록 하는 작업이었다. fetch API 는 리소스 취득을 위한 인터페이스이다. ES6의 사용이 많아짐에 따라 fetch API의 사용도 증가하는 추세이다. fetch(URL) .then(res => res.json()) .catch(err => console.log(err)) fetch함수를 이용하여 URL을 받아고 .then을 이용해 callback함수를 실행한다. .catch를 사용하여 에러가 발생하였을때 핸들링 해주면 된다. 다만 fetch함수 만으로 data를 바로 사용할 수 없다. res에는 body가 담겨져 나오는데 이거 자체는 스트림이고 완전히 data를 가져오는 것이 아니다. 그렇기 .. 2020. 5. 20.
IM8일차 TIL ( Time complexity) 오늘은 그래프와 트리, 이진탐색트리 과제를 마무리 짓고 시간복잡도(time complexity)에 관해 공부하는 시간이었다. 시간 복잡도란 문제를 해결하는 데 걸리는 시간과 입력의 함수관계를 말한다. 시간복잡도는 기본적으로 Big-o 표기법을 사용한다. O(n) , O(log n), O(n^2), O(C^n), O(n!) 등으로 나타낼 수 있다. 시간 복잡도는 기본적인 연산을 수행하는데에 어떤 고정된 시간이 걸릴 때, 알고리즘에 의해서 수행되는 기본 연산의 개수를 세어 예측할 수 있다. 위의 사진과 같이 O(1)이나 O(log n) 처럼 평평하게 나오는 곡선을 그리는 경우 문제 증가에 따라 걸리는 시간이 낮다고 할 수 있다. 반대로 O(n!)과 같이 위로 올라가는 곡선을 그리는 경우 문제가 조금만 증가 .. 2020. 5. 7.
IM 7일차 TIL ( graph, tree & Binary Search Tree) Graph 그래프는 정점(Vertex)와 각 정점을 연결하는 변(Edge)로 나누어 진다. 변은 해당 정점들을 연결하여 자료를 탐색할 수 있게 만들어 준다. 변에는 방향성이 있는 변이 있고, 방향성이 없는 변이 있다. 방향성이 있는 변을 가지는 그래프를 유향 그래프라고 하며, 정점에서 해당 변의 방향만을 따라서 연결된 정점으로 이동 가능하다. 방향성이 없는 변을 가지는 그래프는 무방향 그래프라고 하며, 연결된 정점들 끼리 왕래할 수 있다. 각 정점들을 서로 연결하여 순환할 수 있는 것이 가장 큰 특징이다. 그래프의 구조는 SNS에서 가장 많이 사용되며, 통신망이나 친구관계등을 모델링할 수 있다. Tree 트리구조는 그래프의 자료구조에 속하지만 그래프와는 다른 특징을 가진다. 그래프는 순환 구조를 가질 수.. 2020. 5. 7.
IM 6일차 초보개발자 TIL(Linked list & Hash table) DATA 구조에서 linked list 와 hash table에 대해서 배우는 날이었다, stack과 queue에 비해서는 조금 더 복잡한 형태의 DATA구조 였다. Linked list linked list(연결 리스트)는 각 노드(Node)가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 DATA구조이다. 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 위 그림과 같이 노드는 자기자신을 가리키는 원소와 다음 노드를 가리키는 포인터로 구성되어 있다. 연속되는 노드들은 포인터로 연결되어 있으며, 마지막 항목은 Null을 가리킨다. 또한, 프로그램이 수행하는 동안 크기가 커지거나 작아질 수 있으며, 메모리 공간을 낭.. 2020. 5. 5.
IM5일차 TIL (Stack & Queue) 오늘은 데이터 구조에 대해서 배우는 시간이었다. 이번 시간에 배운 것은 stack 과 queue 였다. stack은 LIFO: last in, first out 의 개념으로 정보가 위로 차곡차곡 쌓이며 쌓은 이후 가장 위에 쌓였던 정보가 우선적으로 나오는 형태이다. 접시를 쌓는 거나, 하노이의 탑의 구조를 생각하면 이해하기 쉽다. stack method가 존재 하며 해당 메소드는 다음과 같다. pop — Pulls (removes) the element out of the stack. The location is specified by the pointer push — Pushes (inserts) the element in the stack. The location is specified by the .. 2020. 5. 1.