전체 글

    [백준] 2616 소형기관차 - 파이썬

    문제 https://www.acmicpc.net/problem/2616 2616번: 소형기관차 첫째 줄에 기관차가 끌고 가던 객차의 수가 입력된다. 그 수는 50,000 이하이다. 둘째 줄에는 기관차가 끌고 가던 객차에 타고 있는 손님의 수가 1번 객차부터 차례로 입력된다. 한 객차에 타고 있 www.acmicpc.net 기차는 맨 앞에 있는 기관차 1대가 손님이 탄 객차 여러 칸을 끌고 간다. 기관차가 고장나면 기차를 운행할 수 없게 되므로 최근 철도청은 기관차 고장에 대비하여 몇몇 역에 소형 기관차 3대를 배치하기로 결정하였다. 소형 기관차는 평소에 이용하는 기관차보다 훨씬 적은 수의 객차만을 끌 수 있다. 기관차가 고장났을 때 끌고 가던 객차 모두를 소형 기관차 3대가 나누어 끌 수 없기 때문에, ..

    [소셜로그인] 1탄 Spring Security, JWT, OAuth 개념

    출시 전인 프로젝트에 참여하게 되었다. 전에 백엔드 개발자로 계시던 분이 나가시게 되면서 내가 들어왔다. 소셜로그인 기능이 구현된 상태였는데, 본인 계정으로 깃헙과 구글의 Oauth 프로젝트를 만들어 놓으셔서 나가시면서 client id를 삭제하셨다. 그래서 내가 새롭게 프로젝트를 만들어서 id 와 key를 업데이트했는데, 제대로 작동하지 않았다. 이 문제도 해결해야 하고 admin 기능도 만들어야 해서 소셜로그인 부분을 공부해봤다. 로그인 플로우에서 쓰이는 것들은 Spring Security, JWT, Oauth2 이다. 먼저 이번 글에서는 개념에 관해 정리하겠다. [Spring Security] Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 ..

    MariaDB 한글 깨짐현상 해결하기

    Maria db 10.5 기준이다. MariaDB [iterview]> insert into tag(name) values('프론트엔드'); ERROR 1366 (22007): Incorrect string value: '\xC7\xC1\xB7\xD0\xC6\xAE...' for column `iterview`.`tag`.`name` at row 1 insert 를 하면 다음과 같이 한글이 깨지며 실패했다. 인코딩 방식을 알아보는 명령어는 두 가지가 있다. status show variables like 'c%'; 두 번째 명령어가 더 자세히 나오는 편이다. 나는 이미 설정을 바꿔놓은 후라 대부분이 utf8로 설정되어있지만, 초기 설정은 latin1이었던 것 같다. utf8로 바꾸는 방법은 다음과 같다...

    에러노트 UnsatisfiedDependencyException

    갑자기 잘 돌아가던 spring boot 플젝 빌드해보니 다음과 같은 에러가 떴다. UnsatisfiedDependencyException 에러였는데.. db연동과 관련된 에러같았다. Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'securityConfig' defined in file [C:\Users\sujeongKim\Desktop\iterview\backend\build\classes\java\main\com\dnd10\iterview\config\SecurityConfig.clas..

    [백준] 2281 데스노트 - 파이썬

    문제 https://www.acmicpc.net/problem/2281 2281번: 데스노트 첫째 줄에 n(1 ≤ n ≤ 1,000), m(1 ≤ m ≤ 1,000)이 주어진다. m은 노트의 가로 칸의 개수(폭, 너비)이다. 다음 n개의 줄에는 각 사람의 이름의 길이가 노트에 적어야 할 순서대로 주어진다. 각 길이는 m www.acmicpc.net 사악한 라이토는 기발한 방법을 이용하여 L(애칭 섊)을 살해한 뒤 데스노트를 다시 손에 넣었다. 라이토는 이제 이 노트에 n명의 이름을 적어 넣으려고 한다. 이때 다음과 같은 조건을 만족시키면서 이름을 적어 넣으려 한다. 우선, 이름을 적어 넣을 때 이미 정해진 순서대로 n명의 이름을 적어 넣어야 한다. 이름을 적을 때도, 노트를 위에서 아래로, 같은 줄에서는..

    [백준] 5557 1학년 - 파이썬

    문제 https://www.acmicpc.net/problem/5557 5557번: 1학년 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀 www.acmicpc.net 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀고 있다. 예를 들어, "8 3 2 4 8 7 2 4 0 8 8"에서 등식 "8+3-2-4+8-7-2-4-0+8=8"을 만들 수 있다. 상근이는 올바른 등식을 만들려고 한다. 상근이는..

    [JAVA] 자바 런타임 환경의 이해

    좋은 글이 있어 퍼왔다 https://www.itworld.co.kr/news/110768 "JRE란 무엇인가", 자바 런타임 환경의 이해 - ITWorld Korea 자바 개발 키트(Java Development Kit, JDK), 자바 가상 머신(Java Virtual Machine, JVM), 자바 런타임 환경(Java Runtime Environment, JRE)은 자바 애플리케이션을 개발하고 실행하기 위한 자바 플랫폼의 3대 구성 요소 www.itworld.co.kr "JRE란 무엇인가", 자바 런타임 환경의 이해 Matthew Tyson | JavaWorld 자바 개발 키트(Java Development Kit, JDK), 자바 가상 머신(Java Virtual Machine, JVM), 자바..

    [백준] 12026 BOJ 거리 - 파이썬

    문제 https://www.acmicpc.net/problem/12026 12026번: BOJ 거리 스타트가 링크를 만나는데 필요한 에너지 양의 최솟값을 출력한다. 만약, 스타트가 링크를 만날 수 없는 경우에는 -1을 출력한다. www.acmicpc.net BOJ 거리는 보도블록 N개가 일렬로 놓여진 형태의 도로이다. 도로의 보도블록은 1번부터 N번까지 번호가 매겨져 있다. 스타트의 집은 1번에 있고, 링크의 집은 N번에 있다. 스타트는 링크를 만나기 위해서 점프해가려고 한다. BOJ거리의 각 보도블록에는 B, O, J 중에 하나가 쓰여 있다. 1번은 반드시 B이다. 스타트는 점프를 통해서 다른 보도블록으로 이동할 수 있다. 이때, 항상 번호가 증가하는 방향으로 점프를 해야 한다. 만약, 스타트가 현재 ..