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. 싱..
Node.js로 백준문제 테스트하기(with Replit)
·
알고리즘 풀이
백준으로 문제를 풀고있으면 테스트하기 어렵다는 단점이 있습니다. 이 때, Replit을 통해 테스트를 할 수 있는 방법을 소개하겠습니다. 1. https://replit.com/ 에 접속합니다. 2. 회원가입을 진행합니다. 3. 로그인합니다. 4. 아래의 화면이 표시되는데요. 우측 상단에 '+'버튼을 누릅니다. 5. Template: Node.js 선택 6. Title 입력 7. '+ Create Repl'을 클릭한다. 8. 아래와 같이 Repl이 생성된 것을 알 수 있습니다. Repl이란 Read Eval Print Loop라는 뜻으로 읽고 평가하고 출력하고 반복하라는 뜻입니다. 사용자의 입력을 취하고 이를 평가하고 결과를 사용자에게 반환시키는 단순한 상호작용 컴포터 프로그래밍 환경입니다. 9. 백준의..
[React]리덕스 이해하기 - 2
·
React
리액트 웹 애플리케이션에서 API 서버를 연동할 때는 API 요청에 대한 상태도 잘 관리해야 합니다. 예를 들어 요청이 시작되었을 때는 로딩 중임을, 요청이성공하거나 실패했을 때는 로딩이 끝났음을 명시해야 합니다. 요청이 성공하면 서버에서 받아 온 응답에 대한 상태를 관리하고, 요청이 실패하면 서버에서 반환한 에러에 대한 상태를 관리해야 합니다. 리액트 프로젝트에서 리덕스를 사용하고 있으며 이러한 비동기 작업을 관리해야 한다면, '미들웨어'를 사용하여 매우 효율적이고 하게 상태 관리를 할 수 있습니다. 이 장에서는 리덕스 미들웨어의 개념을 이해하고, 미들웨어를 사용하여 비동기 작업ㅇ르 처리하는 방법을 알아보겠습니다. 미들웨어란 리덕스 미들웨어는 액션을 디스패치했을 때(=액션을 발생시키는 것) 리듀서에서 ..