목록~2022 작성 글 (113)
상권's

Docker란? 출처 Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다. 키워드 1. 이미지 실행되는 모든 컨테이너는 이미지로부터 생성됩니다. 이미지는 애플리케이션 및 애플리케이션 구성을 함께 담아놓은 템플릿으로, 이를 이용해 즉시 컨테이너를 만들 수 있습니다. 이미지를 이용해 여러 개의 컨테이너를 생성할 수 있습니다. 이를 ..

HTTP/1.x의 커넥션 관리 출처 HTTP는 클라이언트와 서버 사이의 커넥션을 제공하는 TCP를 전송프로토콜로 주로 이용합니다. 초기에는, HTTP는 이런 커넥션들을 다루기 위해 단일 모델을 제공했습니다. 요청이 보내져야 할 때마다 커넥션들은 매번 새롭게 생성되었고 응답이 도착한 이후에 연결을 닫는 형태로 단기로만 유지되었습니다. 이러한 방식은 TCP 연결을 열고 닫음으로써 자원을 소비하기 때문에 성능상에 제약을 발생시켰습니다. HTTP/1.1에서 두 가지 모델이 추가되었습니다. 단기 커넥션 HTTP 본래의 모델이자 HTTP/1.0의 기본 커넥션은 단기 커넥션입니다. 각각의 HTTP 요청은 각각의 커넥션 상에서 실행됩니다. 이는 TCP 핸드 셰이크는 각 HTTP 요청 전에 발생하고, 이들이 직렬화됨을 ..

decompression 문제 한 변의 길이가 2의 제곱수인 정사각형의 흑백 이미지가 2차원 배열로 주어집니다. 각 좌표에는 0(백) 또는 1(흑)이 저장되어 있습니다. 이미지에 포함된 데이터가 모두 1이면 '1', 모두 0이면 '0' 한 글자로 압축할 수 있습니다. 그렇지 않은 경우, 이를 대문자 X로 표시하고 전체를 4등분하여 재귀적으로 압축합니다. 4등분한 영역의 순서는 좌측 상단, 우측 상단, 좌측 하단, 우측 하단입니다. // 2의 배수로 절반씩 나눠질 수 있다. // 재귀로 length가 1일때까지 나눈다. // 그리고 값을 리턴해준다. // 1과 0만 있다는 것을 어떻게 확인할 수 있을까? // X를 어떻게 추가해줄 수 있을까? 첫 수도코드 => 입력되는 image를 4등분을 하는 부분까지는..

-오늘의 토이 2021.11.30- coinChange 문제 다양한 동전들을 가지고 특정 금액을 만들 수 있는 모든 경우의 수를 리턴해야 합니다. 예를 들어, 100원, 500원짜리 동전을 가지고 1,000원을 만들 수 있는 방법은 총 3가지 입니다.100원 10개, 100원 5개 + 500원 1개, 500원 2개 // 앞 서 배웠던 dp를 이용해 본다 // 먼저 total 금액까지 갈 수 있는 배열을 하나 만들어준다. target = [] // 그리고 이 배열의 인덱스가 각 동전보다 클 경우에, // 각 동전으로 해당 target 을 만들 수 있는 방법은 // total - 동전 = 금액 => 이 금액을 만드는 총 경우의 수와 동일하다. const coinChange = function (total, ..

-오늘의 코플릿 2021.11.29- 문제 좌표평면 상의 다양한 점들을 입력받아 가장 가까운 두 점 사이의 거리를 리턴해야 합니다. 입력 인자 1: points 배열을 요소로 갖는 배열points.length는 40,000 이하points[i]는 number 타입을 요소로 갖는 배열points[i].length는 2points[i]의 요소는 차례대로 좌표평면 위의 y좌표, x좌표points[i][j]는 0 이상 10,000 이하의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 points는 y좌표나 x좌표 등으로 정렬되어 있지 않습니다.두 점 사이의 거리를 계산하는 함수 calculateDistance가 주어집니다. 두 점 간 거리는 반드시 이 함수를 이용해서 계산해야 합니다.함수 calcul..
/home/sangkwon/im-sprint-shortly-mvc/node_modules/sequelize/lib/associations/mixin.js:93 throw new Error(`${source.name}.${_.lowerFirst(Type.name)} called with something that's not a subclass of Sequelize.Model`); ^ Error: url.belongsTo called with something that's not a subclass of Sequelize.Model at Function. (/home/sangkwon/im-sprint-shortly-mvc/node_modules/sequelize/lib/associations/mixin.j..
이번 주는 인증/보안 부분 학습으로 session, cookie, token, OAuth, axios, 컴퓨터공학 기초에 대해서 학습했습니다. 월~수 동안 하루씩 session, token, OAuth과제를 진행했습니다. 강의와 공식문서를 통해서 학습해서 직접 구현했습니다. 매번 느끼는 거지만 공식문서를 제대로 이해를 하질 못해서 구현하지 못했던 부분에서 아쉬웠습니다. 에러를 확인하고 공식문서를 다시 읽으면서 학습을 해서 제대로 이해하니 다행스럽기도 하지만, 빈도가 줄어들긴 해도 이런 실수가 나오니 아쉬움이 큽니다. 낯선 단어가 나오면 일단 이런 게 있구나 라는 생각으로 읽어보는 데, 어떻게 하면 낯선 단어가 나오더라도 잘 학습할 수 있을 지 고민해봐야겠습니다. 섹션3가 끝나고 프로젝트를 진행할 때는 이..

-오늘의 코플릿 2021.11.26- 문제 아래와 같이 정의된 ugly numbers 중 n번째 수를 리턴해야 합니다. ugly number는 2, 3, 5로만 나누어 떨어지는 수이다.1은 1번째 ugly number 이다. 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, ... // 각 수에 다가 2 3 5를 곱하면 ugly number 가 만들어진다. // 1부터 2, 3, 5를 곱해줄 때, 곱해진 숫자가 숫자에 따라서 위치가 정해지지는 않을까? // 아닌 거 같다.. // 해당 패턴을 찾아서 해결을 하면 좋을 거 같은데 일단은 조금 더 알아봐야겠습니다. // 해당 숫자가 ugly num인지 여부 확인은 쉬운데 // 패턴을 찾아서 진행하기는 어려운 듯 하다.. 첫 수도코드 =>..