분류 전체보기
내일배움캠프 (백엔드/클라우드 트랙) 회고
믿기지 않지만, 4개월 간의 내일배움캠프가 끝이 났다! 9월 초부터 매일, 프로젝트에 기여하고 싶어 아침 9시에서 밤 9시를 넘어 자정까지 컴퓨터 앞에 앉아있던 날들이 벌써 4개월이나 지났다. 4개월 간 개발자로서 필요한 태도가 무엇인지 알게 되었고, 나는 어떤 사람이 될 것인가에 대한 답도 찾을 수 있었다. 1. 들어가며 컴퓨터 공학 전공을 했지만, 어떤 직무가 나에게 맞는지 알지 못했다. "진로를 백엔드 개발자로 할 것인가"에 대한 판단을 프로젝트를 수행하여 직접 부딪혀보고 결정하고 싶었다. 또한, 학교에서 배우지 못한 클라우드 기술을 배우고, 실제 서비스 런칭과 고객 피드백을 통한 개선 과정 경험을 겪고 싶어 내일배움캠프에 지원하게 되었다. 2. 1차 프로젝트 캠프에서 프로젝트 리더를 맡게 되었는데..
[프로그래머스] 더 맵게 / python
1️⃣ 문제 설명 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 이를 위해, 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하..
[프로그래머스] 위장 / python
1️⃣ 문제 설명 코딩테스트 연습 - 위장 programmers.co.kr 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장한다. 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이는 하루에 최소 한 개의 의상은 입습니다. 2️⃣ 풀이 전 계획과 생각 입력값을 받아 딕셔너리에 저장 각 의상의 종류의 갯수를 다 곱한다.또한 모두 안 입는 경우는 없다고 했으니 최종 곱한 값 -1 하기 How? 각 경우를 다 곱해주면 된다. 각 의상의 종류별로 아무것도 안 입는 경우가 있으니 각 의상 종류마다 의상의 갯수+1 한다. 3️⃣ 풀이 def solution(clothes)..
TIL(57) 토큰 검증 시 발생하는 예외 처리
Facts ✅ 만료된 토큰 처리 Findings 문제점 현재 서버에서 토큰이 만료된 경우 IntelliJ 터미널 창에 예외 처리가, 프론트단에서는 Console에 401 오류가 뜨고 있다. 문제점은 401 오류가 로그인 정보가 없거나, 올바르지 않은 로그인 정보를 가진 경우에도 똑같이 401 오류로 다뤄지고 있다. 그래서 401 오류에 대한 응답을 받더라도 프론트 입장에서는 권한이 없음 정도만 알 수 있지만, JWT 토큰이 잘못 된 것인지, 사용자의 인증을 위한 정보를 잘못 입력한건지, JWT 토큰이 만료된 것인지에 대한 자세한 정보를 알 수 없었다. 토큰이 만료됐으면, LocalStorage에 토큰을 삭제하고, 로그인 페이지로 이동시켜 사용자에게 토큰이 만료되었다고 알려주고 싶은데 이런 처리를 할 수 ..
[프로그래머스] 올바른 괄호 문자열 만들기 (2020 KAKAO BLIND) / python
1️⃣ 문제 설명 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr "균형잡힌 괄호 문자열" p가 매개변수로 주어질 때, 주어진 알고리즘을 수행해 "올바른 괄호 문자열"로 변환한 결과를 return 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열 v에 대해 1단계부터 다시 수..
[프로그래머스] 구명보트 / python
1️⃣ 문제 설명 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 제한사항 무인도에 갇힌 사람은 1명 이상..
[프로그래머스] 기능개발 / python
1️⃣ 문제 설명 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때..
TIL(56) 회원가입 중복 아이디 예외처리 추가, 알고리즘 문제 해결 스터디 시작
Facts ✅ 단어변환 문제 풀기 ✅ 올바른 괄호 문자열 만들기 문제 풀기 ✅ 구명보트 문제 풀기 ✅ 회원가입 중복 아이디 예외처리 추가하기 ✅ 회원가입 ID와 PW 정규화 체크하는 기능 추가하기
TIL(55) AWS RDS 연동하면서 발생한 에러 고치기
Facts ✅ Product Server에 RDS 연결하기 Findings 👻 첫번째 error - dbname 문제점 EB로 생성한 RDS가 Spring Boot와 연결이 되지 않았다. 문제 원인 RDS URI를 분명히 잘 설정해주었는데 연결이 안 되었다. 엔드포인트, 포트, 잘 설정해주었는데 그러면, DB name을 잘못 설정했나 생각이 들었다. 구글링하여 aws 공식문서를 보니, RDS의 DB name을 잘못 설정해 준 것이 맞았다. DB name을 DB 식별자로 설정해주는 줄 알았지만, EB로 생성한 RDS는 DB name은 ebdb였다. 해결 DB name을 DB 식별자에서 ebdb로 변경 👻 두번째 error - test build error 문제점 RDS 연결을 해주면서, test 부분에서 ..
TIL(54) GithubAction + ElasticBeanstalk + Docker + AWS ECR로 CI/CD 하면서 발생한 에러 고치기
Facts ✅ GithubAction + ElasticBeanstalk + Docker + AWS ECR로 무중단 배포 Findings 도커를 활용한 무중단 배포는 산 넘어 산이었다. 에러 하나 고치면, 또다른 에러가 나왔다. 도커를 활용한 무중단 배포를 하면서 여러 에러들을 디버깅했다. 👻 1. Missing region in config Error 문제 원인 Amazon ECR에 로그인을 해주려면, AWS 사용자 access key 필요한데, 이를 추가해주지 않았다. 해결 AWS 사용자 access key 추가 👻 2. Push Image Error 문제 원인 Image가 Elastic Container Registry에 Push 되지 않았다. Registry를 Public으로 설정하면 Registr..