WebSocket
·
TIL(Today I Learned)
https://ko.javascript.info/websocket https://pridiot.tistory.com/170 https://bellog.tistory.com/101 Web API로 서버와 브라우저 간 연결을 유지한 상태로 데이터를 교환할 수 있는 고급 기술입니다. 이 때, 데이터는 '패킷(packet)' 형태로 전달되며, 전송은 커넥션 중단과 추가 HTTP요청 없이 양방향으로 이뤄집니다. Web API란 웹 서버 또는 웹 브라우저를 위한 애플리케이션 프로그래밍 인터페이스이다. HTTP서비스이고 다양한 클라이언트에서 접근이 가능하도록 설계되어 있다. Web 환경을 통해 제공되는 데이터 CURD 인터페이스를 제공한다. 예시 웹 소캣 커넥션을 만들려면 new WebSocket을 호출하면 되는데,..
Docker
·
Devops
목표: 클라우드 서비스에서 docker를 왜 사용해야할까? 프런트앤드 개발자는 docker를 어떻게 활용할 수 있을까? docker시작하기(환경구축) 클라우드 서비스에서는 docker를 왜 사용해야할까? 1. 애플리케이션의 개발과 배포가 편해집니다. 독리된 개발환경 보장 서비스를 개발했을 때 사용했던 환경을 '도커 이미지'라는 패키지로 만들어 복제 커널을 포함하지 않아 이미지가 크지않다. 도커 이미지의 중복되는 레이어를 재사용 2. 여러 애플리케이션의 독립성과 확장성이 높아집니다. 모노리스(monolith): 여러 모듈이 상호작용하는 로직을 하나의 프로그램 내에서 구동시키는 방식 마이크로 서비스: 여러 모듈을 독립된 형태로 구성하기 때문에 언어에 종속되지 않고 변화에 빠르게 대응할 수 있다. 도커는 원래..
Devops란
·
Devops
DevOps는 소프트웨어 개발(Dev)과 소프트웨어 운영(Ops)을 통합하는 단어로, 빠른 개발 사이클과 지속적 배포를 가능하게 하기 위한 움직임으로 시작되었습니다. 데브옵스 문화가 자리잡으며 어플리케이션의 전체 주기를 관리하기 위한 시스템이 필요해졌습니다. 소프트웨어에 개발 주기는 점점 복잡해지고 정지 업데이트와 배포가 잦은 환경 속에서 업무 효율을 낼 수 있는 도구를 필요로 하게 된 것이죠. 그러면서 주목받게 된 것이 CI/CD라는 개념입니다. CI(Continuous Integration)단계에서는 코드 변경사항을 빌드하고 테스트하게 되며 CD(Continuous Deployment)단계에서는 앞서 빌드하고 테스트한 소스를 배포하는 단계를 진행하게 되는데요. 여기서 중요한 것은 이런 빌드와 테스트 ..
[소나큐브]vue.js에 소나큐브(정적분석) 연동하기
·
Devops
가이드: https://narup.tistory.com/181 소나큐브란: 1. 소나큐브 community plan을 다운로드합니다. 2. 적당한 곳에 압축을 풀어줍니다. 3. bin폴더에 들어갑니다. 4. error: could not create the java virtual machine 이런 에러가 발생한다면 java jdk를 11버전으로 바꾸도록 합니다. Process is up, SonarQube is operational라는 문구를 확인하면 정상적으로 소나 큐브가 실행 된 것이라고 합니다. 5. http://localhost:9000/ 에 접속합니다. 기본 로그인 아이디는 admin/admin 입니다. 로그인 하면 아래의 페이지가 표시됩니다. 6. 로컬 환경에서 테스트 할 것이기 때문에 'M..
스프링부트 프로그래밍
·
Spring
스프링 부트란? 좀 더 효율적으로, 최소한의 작업만으로 스프링 MVC를 사용한 웹 애플리케이션 개발을 도와주는 웹 애플리케이션용 프레임워크로 스프링 프레임워크에 포함된 프레임워크들을 통합해서 개발하기 쉬운 앱 애플리케이션 환경을 정비한 것이다. 애너테이션을 이용한 개발 스프링 부트는 기존의 '수많은 XML 설정 파일을 이용'하는 자바 EE 개발 방식에서 '설정 파일을 사용하지 않고 애너테이션을 사용'하는 방식으로 방향을 바꾸었다. 또한 Java EE의 세계에선 비슷한 처리를 하는 비슷한 코드를 반복해서 작성하는 경우가 많았지만 이것을 '코드를 작성하지 않고 처리를 구현'하는 방식으로 변경했다. 스프링 부트 애플리케이션에 대해 스프링 부트를 이용하는 애플리케이션은 그루비계열과 자바 계열로 크게 나누어 생각..
다이나믹 프로그래밍
·
알고리즘 풀이
일단 dy라는 다이나믹 배열을 만들겠습니다. 그리고 그 안에 1부터 5까지는 미리 세팅해 두겠습니다. 그리고 6부터 시작해서 처음에는 왼쪽 다섯칸 가서 dy[1]이 0보다 크다면 d[6] = dy[1] + 1을 해줍니다. 만약 dy[1]이 -1이라면 두번째로 dy[6]에서 왼쪽으로 세칸을 가서 dy[3]이 0보다 크다면 dy[6] = dy[3] + 1을 해줍니다. 만약 dy[3]도 -1이라면 dy[6] = -1을 해줍니다. 이렇게 예제에 입력된 대로 18까지 이 로직을 반복해주면 아래의 dy배열처럼 각 자릿값에 숫자가 들어갈 것입니다. 마지막으로 dy[18]을 출력해주면 됩니다. 소스코드로 재현해 보겠습니다. var fs = require('fs'); let input = fs.readFileSync('..
[Postman] 클릭 한번으로 토큰을 전역변수로 저장하기
·
TIL(Today I Learned)
API를 테스트할 때마다 매번 토큰을 발급받아야하는 불편함이 있었습니다. Postman으로는 클릭 한번으로 토큰을 발급받아 전역변수로 저장하고 API를 호출할 수 있는 방법이 있는데요. 소개하도록 하겠습니다. 먼저, Postman을 시작합니다. 1. 'Environment quick look'을 클릭합니다. 2. 'Add'를 클릭합니다. 3. 이름과 아래의 공란을 채워주면 됩니다. 4. 저의 경우 이름은 'IDC'로 했습니다. 단순히 토큰 발급이 목적이기 때문에 간편한 password방식을 사용하겠습니다. 각 서비스에 맞게 토큰을 발급받기 위해 필요한 데이터를 세팅합니다. 5. 이제 API를 호출하여 토큰을 발급받아보겠습니다. 첫번째로, 우측상단에 환경을 방금 세팅한 'IDC'로 변경해줍니다. 그러면 {..
핵심개념
·
카테고리 없음
노드는 자바스크립트 런타임입니다. 런타임이란 특정언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻합니다. 따라서 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있습니다. 노드의 특성 1. 이벤트 기반 이벤트 기반이란 이벤트가 발생할 때미리 지정해둔 작업을 수행하는 방식을 의미합니다. 노드도 이벤트 기반으로 동작하므로, 이벤트가 발생하면 이벤트 리스너에 등록해둔 콜백 함수를 호출합니다. 2. 논 블로킹 I/O 논 블로킹: 이전 작업이 완료될 때까지 대기하지 않고 다음 작업을 수행합니다. 블로킹: 이전 작업이 끝나야만 다음 작업을 수행합니다. 오래 거리는 작업을 처리해야 하는 경우, 논 블로킹을 통해 실행 순서를 바꿔줌으로써 그 작업 때문에 간단한 작업들이 대기하는 상황을 막을 수 있습니다. 3. 싱..