분류 전체보기 203

[CI/CD] Vue 프로젝트를 Jenkins (docker-in-docker) 배포하기

📃개요 도커로 Jenkins 컨테이너를 실행한다. Jenkins 컨테이너에 docker-in-docker 관련 세팅을 한다. GitLab 리포지토리에 커밋이 발생하면, 설정한 Dockerfile을 실행하도록 Jenkins를 설정한다. 소스를 빌드하고, 결과를 nginx 컨테이너를 실행해 적재하도록 Dockerfile을 작성한다. 소스를 수정하고 커밋하면, Jenkins가 자동으로 빌드/배포해서 결과를 공유할 수 있다. 🎯 작업환경 구성 1. WSL2 설치 마침, 얼마전 컴퓨터를 포맷해서 WSL이 지워진 상태였다. 마이크로소프트에서 제공하는 친절한 가이드를 보고 WSL2를을 다시 설치했다(1). 리눅스 환경을 더 쾌적하게 사용하고자 터미널을 설치하고(2), 편의성을 위해 관리자 권한의 바로가기를 바탕화면에..

💻/인프라 2022.07.08

[BackEnd] CI/CD, Jenkins란?

? 개발자는 개발만 잘하면 되는 거 아니였나? 개발자를 방해하는 개발 외적인 문제가 여러가지 있겠지만, 여기선 2가지 문제를 살펴보자. 문제 1. 코드를 하나로 통합하는 과정이 너무 스트레스야 하나의 프로젝트에서 10명의 개발자가 파트를 나눠 개발하는 모습을 상상해보자. 각자 개발한 코드를 하나로 통합하기 위해, 기능이 추가될 때 마다 개발자들은 코드 베이스에 커밋을 넣을 것이다. 착하게 합쳐지면 참 좋겠지만 커밋들을 머지하기 시작하면 "마지막 커밋 누구야, 내 꺼 안 되잖아! "와 같은 아우성이 터져나오기 마련이다. 이를 'Merge hell'이라고 부르기도 한다. 위와 같은 사태를 막을 방법이 하나 있다. 커밋을 할 때 마다 코드에 대해 테스트와 빌드를 실행해보는 것이다. 당연히 개발자 입장에서는 귀..

💻/인프라 2022.06.28

[SSAFY] 자기소개서, 코딩 테스트, 면접

올해 초 부터 SSAFY 생활을 하고 있는 7기 학생입니다. 인턴으로 일하던 회사에서 정규직 제의를 승낙하고, 양갈비에 공부가주 회식까지 거하게 했는데 그 다음날 SSAFY 합격 통보를 받아서 정말 곤란했던 기억이 있어요. 진로에 대해 고민할 시간을 벌 수 있어서, 원서 한 장 안 써보고 덜컥 취업하려니 아쉬워서, 교육과정이 내게 딱 필요해서, SSAFY를 선택했던 것 같습니다. 지금은 꽤 만족하고 생활하고 있습니다. 이유는 다음과 같습니다. 수요가 많은 Java를 몰라 걱정이었는데 해결 코딩테스트가 자연스럽게 준비 됌 배우고 싶던 서비스 구현(Front, Back, DB) 공부 만족 금전적 여유와 소속감에서 오는 귀족 취준 이쯤하고 바로 본론 들어가겠습니다. 최대한 제 경험에 비추어 써보겠습니다. 1...

😉/취업준비 2022.04.12

[영상처리] 매직아이 이미지 해석 구현

오늘 매직아이를 사용해야 할 일(?)이 있었다. 하지만 나는 매직아이를 전혀 할 줄 모른다. 하지만 곰곰히 생각해보니 매직아이가 단순히 초점을 조절해서 보는 것이라면, 왼쪽 눈으로 보는 이미지와 오른쪽 눈으로 보는 이미지를 적절히 겹쳐보는 것이 전부라면, 구현 못할 것도 없다는 생각이 들었다. 문제는 두 눈이 각각 보는 다른 이미지가 뇌에서 어떻게 조합되길래 내가 현재 장면을 볼 수 있는 것인지 모른다는 것이다. 본 것 중 매직아이의 원리를 가장 잘 설명해놓은 영상! 눈으로 들어오는 빛을 혼합하는거니까 그냥 더하거나, 두 색상의 평균을 내야하는 것 아닌가 할 수도 있다. 하지만 매직아이(뿐만 아니라 3D영화, VR 등)는 우리 뇌가 양쪽 눈이 받아들이는 이미지의 차이를 이용한 결과이다. 우리 눈은 간격을..

[알고리즘] 프린터 큐 (백준, 1966)

문제 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 풀이 GitHub - ruhz3/coding-test: To prepare for coding test To prepare for coding test. Contribute to ruhz3/coding-test development by creating an account on GitHub. github.com import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea..

[알고리즘] 오목 (백준, 2615)

문제 https://www.acmicpc.net/problem/2615 2615번: 오목 오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호 www.acmicpc.net 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { // * 방향은 순서대로 ↓, →, ↘, ↗ private static final int[] rowDir = {1, 0, 1,..

[Besu] 논문요약 : Permissioned Blockchains : A Comparative Study (2)

Hyperledger Besu의 아키텍쳐 이 전에, Besu는 이더리움 프로토콜을 구현한 이더리움 클라이언트라고 이야기했었다. 이 위에 Besu는 EEA의 프로토콜을 구현함으로써 이더리움에 프라이빗 트랜잭션, 허가와 같은 기능들을 추가로 확장했다. 대부분의 Besu의 구조적인 구성과 개념이 이더리움을 따르기 때문에, 이더리움에 대한 설명도 같이 하고자 한다. 이더리움은 프로토콜이기 때문에, 단 하나의 구체적인 구현이 있는 것이 아니다. Go-Ethereum 를 표준으로 치는 경우도 있지만, Open Ethereum과 같이 다른 구현도 존재한다). Besu는 다른 이더리움 구현을 fork해온 것이 아니다. JAVA로 이더리움 프로토콜을 자체적으로 구현한 것이다. 때문에 비슷한 작업을 하고 있던 조직들도 B..

💻/블록체인 2021.12.09

[Besu] 논문요약 : Permissioned Blockchains : A Comparative Study (1)

Permissioned Blockchains: A Comparative Study A Deep Dive into Hyperledger Fabric and Hyperledger Besu University of Groningen, Mark Soelman, 2021-06 허가형 블록체인 누구나 가입하고 참여할 수 있는 분산 장부 네트워크인 비허가형 블록체인은, 여러 가지 한계 때문에 골머리를 앓고 있다. 그 결과로 기업에서 사용하기에 적합한 소유형 분산 장부 플랫폼이 시장에서 개발되기 시작했다. 이 플랫폼들은 개발 뿐 아니라 사용과 유지에 있어서도 개인 보다는 사업 쪽에서 진행된다. 다른 접근 제어 방식과 권한이 존재하는 경우도 있다. 이러한 특징들을 가진 분산 장부 기술을 보통 '허가형 블록체인'이라고 한..

💻/블록체인 2021.12.06