kukekyakya의 등록된 링크

키자드에 등록된 총 506개의 포스트를 확인하실 수 있습니다.

Tistory

백준 15988 : 1, 2, 3 더하기 3

https://www.acmicpc.net/problem/15988 15988번: 1, 2, 3 더하기 3 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 1 만들 수..

Tistory

백준 11052 : 카드 구매하기

https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi..

Tistory

백준 16194 : 카드 구매하기 2

https://www.acmicpc.net/problem/16194 16194번: 카드 구매하기 2 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ P..

Tistory

백준 15990 : 1, 2, 3 더하기 5

https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 1 만드는 경우..

Tistory

백준 11057 : 오르막 수

https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수..

Tistory

백준 2193 : 이친수

https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성..

Tistory

백준 9465 : 스티커

https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며..

Tistory

백준 1707 : 이분 그래프

https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의..

Tistory

백준 4963 : 섬의 개수

https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양..

Tistory

2021년 상반기 네이버 면접 후기 (기술직군 공채)

지난 4월 네이버 상반기 공채를 지원했었고, 코딩테스트와 두 번의 면접 과정을 거치게 되었습니다. 그에 대한 후기를 남겨보려고 합니다. (구체적인 면접 질문에 대해선 작성되어있지 않습니다.)..

Tistory

2021년 엔테크서비스(NTS) 면접 후기 (기술직군 하계 인턴)

지난 여름 엔테크서비스의 인턴 공고를 보게 되었고, 졸업 요건도 채우면서 공부도 할 겸 인턴에 지원하게 됐었습니다. 코딩테스트와 1번의 면접이 진행되었고, 그에 대한 후기를 남겨보려고 합니다. 지원서 자신..

Tistory

백준 14226 : 이모티콘

https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3..

Tistory

백준 11727 : 2xn 타일링 2

https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다..

Tistory

백준 10974 : 모든 순열

https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net #include #include int n, a[8],..

Tistory

백준 10819 : 차이를 최대로

https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다..

Tistory

백준 10971 : 외판원 순회 2

https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며,..

Tistory

백준 1182 : 부분수열의 합

https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진..

Tistory

백준 15658 : 연산자 끼워넣기 (2)

https://www.acmicpc.net/problem/15658 15658번: 연산자 끼워넣기 (2) 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1보다..

Tistory

백준 11723 : 집합

https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acm..

Tistory

백준 17136 : 색종이 붙이기

https://www.acmicpc.net/problem/17136 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있..

Tistory

Java(자바) Optional 클래스

자바 8에 추가된 Optional 클래스에 대해서 간단하게 정리해보겠습니다 개발하다보면 NullPointerException은 흔하게 겪게 됩니다. 다음과 같은 상황을 살펴보겠습니다. public class Person { private Wallet wal..

Tistory

백준 17472 : 다리 만들기 2

https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며,..

Tistory

백준 17281 :

https://www.acmicpc.net/problem/17281 17281번: 는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한..

Tistory

백준 1476 : 날짜 계산

https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태..

Tistory

백준 10972 : 다음 순열

https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net..

Tistory

백준 10757 : 큰 수 A+B, 백준 15353 : 큰 수 A+B (2)

https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net https://www.acmicpc.net/problem/15353 15353번: 큰 수 A+B..

Tistory

백준 14891 : 톱니바퀴

qhttps://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는..

Tistory

백준 17135 : 캐슬 디펜스

https://www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸,..

Tistory

백준 17406 : 배열 돌리기 4

https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은..

Tistory

백준 16637 : 괄호 추가하기

https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일..

Tistory

백준 16638 : 괄호 추가하기 2

https://www.acmicpc.net/problem/16638 16638번: 괄호 추가하기 2 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거..

Tistory

백준 17070 : 파이프 옮기기 1

https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r,..

Tistory

백준 16936 : 나3곱2

https://www.acmicpc.net/problem/16936 16936번: 나3곱2 나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다. 나3: x..

Tistory

백준 17836 : 공주님을 구해라!

https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군..

Tistory

백준 2302 : 극장 좌석

https://www.acmicpc.net/problem/2302 2302번: 극장 좌석 주어진 조건을 만족하면서 사람들이 좌석에 앉을 수 있는 방법의 가짓수를 출력한다. 방법의 가짓수는 2,000,000,000을 넘지 않는다. (2,000,000,000 < 2..

Tistory

백준 15654 : N과 M (5)

https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수..

Tistory

백준 17471 : 게리멘더링

https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다..

Tistory

백준 13459 : 구슬 탈출

https://www.acmicpc.net/problem/13459 13459번: 구슬 탈출 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의..

Tistory

백준 17609 : 회문

https://www.acmicpc.net/problem/17609 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출..

Tistory

백준 12784 : 인하니카 공화국

https://www.acmicpc.net/problem/12784 12784번: 인하니카 공화국 인하니카 공화국은 1번~ N번까지 N개의 섬으로 이루어진 나라이다. 이 나라에서는 섬 간의 왕래가 매우 어려웠지만, 위대한 다리 설계자 ‘진’..

Tistory

백준 12781 : PIZZA ALVOLOC

https://www.acmicpc.net/problem/12781 12781번: PIZZA ALVOLOC 입력의 첫 줄에는 도윤이와 친구들이 선택한 점의 좌표 x, y(-10,000 ≤ x, y ≤ 10,000)가 순서대로 4개 주어진다. x, y값은 항상 정수이다. www...

Tistory

백준 1644 : 소수의 연속합

https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 에라토스테네스의 체를 이용하여 n까지의 모든 소수를 구해놓고, 연속하는..

Tistory

백준 16916 : 부분 문자열

https://www.acmicpc.net/problem/16916 16916번: 부분 문자열 첫째 줄에 문자열 S, 둘째 줄에 문자열 P가 주어진다. 두 문자열은 빈 문자열이 아니며, 길이는 100만을 넘지 않는다. 또, 알파벳 소문자로만 이루..

Tistory

백준 10546 : 배부른 마라토너

https://www.acmicpc.net/problem/10546 10546번: 배부른 마라토너 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고..

Tistory

백준 2866 : 문자열 잘라내기

https://www.acmicpc.net/problem/2866 2866번: 문자열 잘라내기 첫 번째 줄에는 테이블의 행의 개수와 열의 개수인 R과 C가 주어진다. (2 ≤ R, C ≤ 1000) 이후 R줄에 걸쳐서 C개의 알파벳 소문자가 주어진다...

Tistory

백준 1713 : 후보 추천하기

https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내..

Tistory

백준 15501 : 부당한 퍼즐

https://www.acmicpc.net/problem/15501 15501번: 부당한 퍼즐 현욱은 퍼즐 게임을 굉장히 좋아한다. 어느 날 현욱은 친구로부터 간단한 플래시 퍼즐 게임을 하나 추천 받았는데, 이 퍼즐 게임은 다음과 같은 규칙..

Tistory

백준 6137 : 문자열 생성

https://www.acmicpc.net/problem/6137 6137번: 문자열 생성 첫 번째 줄에 문자열 S의 길이 N이 주어진다. (N <= 2,000) 이후 N개의 줄에 S를 이루는 문자들이 주어진다. www.acmicpc.net 투 포인터를 이용하였습..

Tistory

백준 10830 : 행렬 제곱

https://www.acmicpc.net/problem/10830 10830번: 행렬 제곱 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머..

Tistory

쿠버네티스 튜토리얼 6 : 앱 업데이트하기 (Kubernetes tutorial)

* 쿠버네티스 공식 문서에서 튜토리얼 진행하며 한국어로 번역하여 정리한 내용입니다. * https://kubernetes.io/ko/docs/tutorials/ 에서 Katacoda를 사용하여 브라우저 상 터미널로 동일한 내용을 실습해 볼 수..

Tistory

쿠버네티스 튜토리얼 : Java 마이크로서비스 구성하기 (Kubernetes tutorial)

* 쿠버네티스 공식 문서에서 튜토리얼 진행하며 한국어로 번역하여 정리한 내용입니다. * https://kubernetes.io/ko/docs/tutorials/ 에서 Katacoda를 사용하여 브라우저 상 터미널로 동일한 내용을 실습해 볼 수..

Tistory

백준 1647 : 도시 분할 계획

https://www.acmicpc.net/problem/1647 1647번: 도시 분할 계획 첫째 줄에 집의 개수 N, 길의 개수 M이 주어진다. N은 2이상 100,000이하인 정수이고, M은 1이상 1,000,000이하인 정수이다. 그 다음 줄부터 M줄..

Tistory

백준 16234 : 인구 이동

https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다..

Tistory

백준 9576 : 책 나눠주기

https://www.acmicpc.net/problem/9576 9576번: 책 나눠주기 백준이는 방 청소를 하면서 필요 없는 전공 서적을 사람들에게 나눠주려고 한다. 나눠줄 책을 모아보니 총 N권이었다. 책이 너무 많기 때문에 백준이는..

Tistory

백준 1700 : 멀티탭 스케줄링

https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개..

Tistory

쿠버네티스(Kubernetes) Minikube로 간단한 실습

쿠버네티스 클러스터를 생성하여 nginx 웹 서버를 배포해보겠습니다. 먼저 로컬에서 쿠버네티스를 테스트해보기 위해 minikube, 쿠버네티스 CLI 도구인 kubectl과 virtualbox를 설치해줍니다. minikube로 클..

Tistory

쿠버네티스 튜토리얼 1 : 클러스터 생성하기 (Kubernetes tutorial)

* 쿠버네티스 공식 문서에서 튜토리얼 진행하며 한국어로 번역하여 정리한 내용입니다. * https://kubernetes.io/ko/docs/tutorials/ 에서 Katacoda를 사용하여 브라우저 상 터미널로 동일한 내용을 실습해 볼 수..

Tistory

쿠버네티스 튜토리얼 2 : 앱 배포하기 (Kubernetes tutorial)

* 쿠버네티스 공식 문서에서 튜토리얼 진행하며 한국어로 번역하여 정리한 내용입니다. * https://kubernetes.io/ko/docs/tutorials/ 에서 Katacoda를 사용하여 브라우저 상 터미널로 동일한 내용을 실습해 볼 수..

Tistory

쿠버네티스 튜토리얼 3 : 앱 조사하기 (Kubernetes tutorial)

* 쿠버네티스 공식 문서에서 튜토리얼 진행하며 한국어로 번역하여 정리한 내용입니다. * https://kubernetes.io/ko/docs/tutorials/ 에서 Katacoda를 사용하여 브라우저 상 터미널로 동일한 내용을 실습해 볼 수..

Tistory

쿠버네티스 튜토리얼 4 : 앱 외부로 노출하기 (Kubernetes tutorial)

* 쿠버네티스 공식 문서에서 튜토리얼 진행하며 한국어로 번역하여 정리한 내용입니다. * https://kubernetes.io/ko/docs/tutorials/ 에서 Katacoda를 사용하여 브라우저 상 터미널로 동일한 내용을 실습해 볼 수..

Tistory

쿠버네티스 튜토리얼 5 : 앱 스케일링하기 (Kubernetes tutorial)

* 쿠버네티스 공식 문서에서 튜토리얼 진행하며 한국어로 번역하여 정리한 내용입니다. * https://kubernetes.io/ko/docs/tutorials/ 에서 Katacoda를 사용하여 브라우저 상 터미널로 동일한 내용을 실습해 볼 수..

Tistory

Node.js Express Swagger 이용하여 API 문서 만들기

Node.js Express로 서버를 개발하면서, swagger를 이용하여 API문서를 만들어보려고 합니다. 이를 이용하면 API문서를 간단하게 만들고, 문서를 통해 테스트를 할 수 있게 됩니다. npm install --save swagger-jsd..

Tistory

React localhost에 https 달기(openssl) - window

윈도우에서 리액트 로컬 개발 중에 테스트 용으로 인증서를 달아줬습니다. openssl req -x509 -out localhost.crt -keyout localhost.key \ -newkey rsa:2048 -nodes -sha256 \ -subj '/CN=localhost' -extensi..

Tistory

React(리액트)에서 janus 모듈 사용하기 (WebRTC)

WebRTC로 화상회의 서비스를 구현해보기 위해 미디어 서버로 janus-gateway를 택하게 되었습니다. 리액트 프로젝트에서 이를 적용해보기 위해 진행한 과정입니다. 먼저 create-react-app으로 리액트 프로젝트를..

Tistory

리액트(React) Next.js 로그인 유지, 토큰 만료시 재발급 받기 (서버사이드 렌더링)

redux, redux-saga, jwt, refresh token, 서버사이드렌더링을 이용해서 로그인 유지 기능을 구현해보겠습니다. 로그인을 유지하기 위한 과정은 다음과 같습니다. 1. 로그인을 하면, 액세스 토큰과 리프레쉬 토..

Tistory

리액트(React) Next.js Docker 컨테이너로 배포하기

리액트 Next.js 앱을 도커 컨테이너로 배포해보겠습니다. version: "3" services: next: build: . ports: - 3000:3000 docker-compose.yml을 작성해줍니다. FROM node:alpine ENV PORT 3000 WORKDIR /usr/src/app..

Tistory

리액트(React) Next.js 무중단 배포 (Docker Nginx)

docker와 docker-compose, nginx를 이용해서 nextjs 앱을 무중단 배포 해보겠습니다. 절차는 다음과 같습니다. 1. 리버스 프록시로 nginx의 80포트를 nextjs 앱으로 연결시켜줄 것이다. 초기에는 3000포트를 바..

Tistory

웹 채팅 방 인원 공유파일 전송 (spring boot, react, nextjs, redux, redux-saga, aws s3)

같은 방에 참여하고있는 브라우저 채팅방에서 일대다 파일 전송을 해보겠습니다. 절차는 다음과 같습니다. 1. 브라우저에서 spring boot -> s3로 파일 업로드 2. 파일 업로드가 성공적으로 마치면, 열려있는..

Tistory

스프링부트 레디스(redis)로 캐시 사용 중 에러 RedisCommandExecutionException

스프링 부트에서 레디스를 캐시로 사용하고 있었는데, 다음과 같은 에러가 발생하여서 원활한 작업이 안되고 있었습니다. org.springframework.data.redis.RedisSystemException: Error in execution; nested exce..

Tistory

Let's Encrypt + Nginx 인증서 발급, 폐기, 자동 갱신

자꾸 찾아보기 귀찮아서 간단하게 커맨드만 나열해봤습니다. Ubuntu 18.04 LTS # 발급 $ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository universe $ sudo apt..

Tistory

[폐쇄] KUKE meet(무료 화상 회의)

2021-09-16 폐쇄 예정입니다. 이용해주셔서 감사합니다. 이용자 감소와 서버 비용 문제로 인해 사이트를 폐쇄하게 되었습니다. 가끔씩 이용해주셨던 분들에게 사과의 말씀 드리고, 짧은 기간이지만 이용해주셔..

Tistory

Node.js multer를 이용한 이미지 업로드 및 sharp를 이용한 이미지 리사이징

nodejs에서 multer와 sharp를 이용하여 이미지 리사이징을 처리해보겠습니다. npm install --save multer npm install --save sharp 이미지 업로드를 위해 multer, 이미지 리사이징을 위해 sharp를 설치해줍니다...

Tistory

Node.js Express multer-s3를 이용한 이미지 업로드 및 이미지 삭제

먼저 aws s3콘솔에 접속해서 버킷을 생성해줍니다. 리전은 서울로 설정하고, 나머지는 기본 설정으로 해주었습니다. 3번 권한설정에서는 액세스 차단을 해제해주었습니다. 이제 액세스 키를 발급받기 위해 내..

Tistory

virtualbox 0x80004005 오류

window 10 home에서 docker toolbox 설치하는데 virtualbox에서 결과 코드 E_FAIL(0x80004005) 때문에 계속 진행이 안되었습니다. 인터넷에서 나오는 웬만한 방법으로 해결이 안된다면, Fasoo DRM이 다운로드되어..

Tistory

jenkins docker docker-compose github 배포 자동화하기

jenkins를 이용해서 배포를 자동화해보겠습니다. 깃허브에 push를 하거나, 로컬에 설치해 둔 jenkins에서 빌드를 하면 자동으로 깃허브의 소스코드로 배포를 진행할 것입니다. 먼저 docker를 이용해 jenkins를..

Tistory

janus-gateway 설치하기 (Ubuntu)

WebRTC로 개인 프로젝트를 진행할 때, SFU 서버로 동작하는 미디어 서버를 구축하기 위해 설치했던 과정입니다. 설치가 복잡했어서 기록해봤습니다. https://github.com/meetecho/janus-gateway GitHub - meetecho..

Tistory

janus-gateway 실행 중 webrtc 연결 안되는 현상

janus-gateway 로그에서 다음과 같은 메세지가 뜨면서 연결이 자꾸 죽어버렸습니다. [WARN] [5086647684864600] ICE failed for component 1 in stream 1, but we're still waiting for some info so we don't car..

Tistory

jwt access-token, refresh token 과정 및 사용 이유 정리

- 권한을 검사하기 위해 토큰 종류 중 하나인 jwt사용 - 서버에서 유저 권한 상태를 유지하지 않고 토큰으로만 관리. 부하가 줄어듬 - jwt를 이용하면 토큰에 데이터를 저장해둘 수 있음 - 액세스 토큰은 통신..

Tistory

docker i/o timeout

도커 이미지를 가져오는데 다음과 같은 에러가 발생하였습니다. ERROR: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on ...3: i/o timeout 그냥 도커머신을 재시작해주니 해결..

Tistory

도커 컨테이너(Docker container) 타임존 설정

docker container는 호스트 OS와 타임존이 동일하게 작동하지 않았습니다. RUN apk --no-cache add tzdata && \ cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \ echo "Asia/Seoul" > /etc/timezone alpin..

Tistory

spring boot, react(nextjs) 카카오 로그인 구현하기

react와 spring boot를 이용해서 카카오 로그인 기능을 만들어보겠습니다. 첫 로그인이라면 간단한 회원 정보를 입력받을 것이고, 첫 로그인이 아니라면 그대로 로그인을 진행하겠습니다. https://developers.kaka..

Tistory

개발 서적 독서 및 독후감

읽은 목록 - 안드로이드 스튜디오를 활용한 실전 앱 만들기 / 조상철 - 신경망 첫걸음 / 타리크 라시드 - 누워서 읽는 알고리즘 / 임백준 - 리액트를 다루는 기술 / 김민준 - 읽기 좋은 코드가 좋은 코드..

Tistory

Clock Drift

clock drift라는 용어를 들어보았는데, 낯선 용어이기 때문에 가볍게 정리해보려고 합니다. 일단 이 용어가 말하는 현상이 나타나는 상황은 다음과 같습니다. 어떤 하나의 노드 내에서 타임스탬프를 이용하여 ID를..

Tistory

Java 8 Default Method 정리 및 우선 순위 알아보기

자바 8에서 추가된 Default Method에 대해서 간단하게 정리해보겠습니다. 이전에는 기존의 인터페이스에 기능을 추가하려면, 인터페이스에 추상 메소드를 추가한 뒤, 구현 클래스에 오버라이딩하여 작성해야만 했..

Tistory

docker elasticsearch 를 이용하여 nodejs express 한글 자소 검색 구현(인기검색어, 자동완성기능)

자소 단위로 한글 검색을 구현하기 위해 아래의 플러그인을 이용하였습니다. https://github.com/netcrazy/elasticsearch-jaso-analyzer FROM elasticsearch:6.6.0 RUN /usr/share/elasticsearch/bin/elasticsearc..

Tistory

An invalid character [32] was present in the Cookie value

컨트롤러에서 HttpServletResponse에 cookie를 담아주는데, 다음과 같은 에러가 발생하였습니다. An invalid character [32] was present in the Cookie value Tomcat의 쿠키 표준에 의해서 특정 기호가 들어가면..

Tistory

Spring에서 gson을 이용하여 중첩 구조 json 스트링을 객체로 변환

gson을 이용하여 다음과 같은 형태의 JSON 스트링을 인스턴스로 변환해야했습니다. { "id":"gmlwo308", "data" : { "code" : 1000, "list" : [ { "item" : "item1", }, { "item" : "item2", }, ] } } 중첩 구조와..

Tistory

스프링 스케줄링하기

주기적으로 외부 API와 통신을 해야했는데, 스프링에서 스케줄링을 쉽게 하는 방법이 있었습니다. @Configuration @EnableScheduling public class SchedulingConfig implements SchedulingConfigurer { @Override..

Tistory

spring boot, docker 컨테이너 내에 민감한 정보(비밀번호) 숨기기

데이터베이스 비밀번호나 key값 등의 민감한 데이터는 별도의 설정파일로 분할해서 관리해야 합니다. 이러한 파일은 깃허브와 같은 공개된 저장소에 올라가면 안되므로 프로젝트 바깥에 따로 보관하게 됩니다. # s..

Tistory

spring boot, docker, docker-compose, nginx 이용해서 무중단 배포하기

docker와 docker-compose, nginx를 이용해서 spring boot를 무중단 배포 해보겠습니다. 절차는 다음과 같습니다. 1. 리버스 프록시로 nginx의 80포트를 스프링 앱으로 연결시켜줄 것이다. 초기에는 8080포트를..

Tistory

Spring 트랜잭션에서 런타임예외 발생해도 커밋하는 법

일단 결론 먼저 말씀드리면, @Transactional 어노테이션의 noRollbackFor에 롤백하지 않을 런타임 예외를 다음과 같이 지정해주면 됩니다. @Transactional(noRollbackFor = LoginFailureException.class) 제가 겪..

Tistory

스프링부트 Redis로 캐시 적용하기

redis를 이용해서 스프링부트에 캐싱을 적용하는 법을 알아보겠습니다. 먼저 redis를 설치해야합니다. 도커를 이용해서 간단히 설치해보겠습니다. $ docker run -d -p 6379:6379 redis -p : redis 컨테이너의 6379..

Tistory

스프링부트 웹소켓 stomp를 이용한 실시간 알림 구현

스프링부트, stomp를 이용해서 실시간 알림을 받을 수 있도록 해보겠습니다. 구현할 내용은 다음과 같습니다. 1. 사용자 1번이 접속해서 웹소켓이 열린다. 2. 사용자 2번이 사용자 1번에게 메세지를 전송하면,..

Tistory

Docker 이용해서 Spring Boot, Redis, Mysql 배포하기

docker를 이용해서 spring boot, redis, mysql을 배포해보겠습니다. 먼저 만들어진 스프링부트앱을 jar 파일로 빌드하겠습니다. $ ./gradlew bootJar 위와 같이 진행하면, "build/libs"에 jar파일이 생성되어있..

Tistory

Spring Boot jwt 사용하기 access token, refresh token 발급

로그인 요청시 access token(jwt)과 refresh token을 발급받는 기능을 구현해보겠습니다. 기존에 access token을 발급 받는 기능까지는 구현을 했었지만, 액세스 토큰의 짧은 만료 기간으로 인해 계속해서 재 로그..

Tistory

Argument(s) are different! Wanted: Actual invocations have different arguments:

컨트롤러에서 단위테스트를 작성하던 중, 메소드가 호출되었는지 verify()를 사용하는데 다음과 같은 메세지가 나왔습니다. Argument(s) are different! Wanted: ... -> ... Actual invocations have different ar..

Tistory

Spring Boot CORS 문제 해결하기

브라우저에서 API서버와 통신 중에 다음과 같은 메세지가 발생하였습니다. Access to XMLHttpRequest at '...' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight req..

Tistory

빌더 패턴(Builder pattern) 변형하기 - 2

미처 발견하지 못한 부분들을 알아보고자 몇 가지 피드백을 받게 되었고, 이를 통해 구조를 개선하는 과정을 거쳐보도록 하겠습니다. 먼저 지금의 구조입니다. 지금은 Builder와 Step이 서로 의존하고 있는 관..

Tistory

빌더 패턴(Builder pattern) 변형하기 - 3

선택적으로 값을 추가할 수 있도록 코드를 수정해봤습니다. 필수 값들의 초기화 체이닝이 끝나면, 선택적으로 빌드할 수 있는 타입으로 반환되고, 이 타입은 남은 필드들과 빌드할 수 있는 기능을 가지고 있습니다..

Tistory

@RequestMapping 기본 사용법

@RequestMapping 어노테이션은 라우팅에 관한 정보를 제공합니다. 클래스 또는 메소드 레벨에서 사용할 수 있고, 이를 웹 request와 매핑하는 역할을 합니다. 사용할 수 있는 파라미터와 default 값은 위와 같습..

1 2 3 4 5 6