📚 성장을 위한 기록저장소 입니다.

전체 글
· Programming
"KnockKnock" ⭐️ 서비스 소개 주제 선정 및 동기 : 이번 프로젝트에서는 실제로 서비스를 론칭했을 때 많은 사람들이 관심을 가지고 서비스의 사용까지 이어질 수 있는 프로젝트를 기획하고 싶었다. 이러한 dev2-jay.tistory.com 도입 배경: KnockKnock 프로젝트가 끝나고 고도화를 시키기 위해 작업 중인 CI/CD에 대해 기록해 보겠다. 먼저, KnockKnock 프로젝트에서는 CI/CD를 적용하지 못했었다. 무중단 배포라는 것을 시도해보고 싶었지만, 프로젝트의 일정과 학습해야 하는 데브옵스와 인프라의 내용 등을 고려했을 때, 러닝커브가 높다고 판단하였고, 시작한다면 이도저도 아닐 것 같았기 때문이다. 하지만, 프로젝트 막바지에 계속되는 오류 수정과 기능 추가 등 새로운 배포가 ..
· Algorithm
문제 링크 : 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 : 사고의 흐름 : 음... 복잡해 보이네... 이건 그려봐야 알겠다... 문제를 풀기 위한 로직이 무엇이 있나 그림을 그려보면서 고민해 보았다. 그래프에서 가장 큰 X값과 Y를 N,M 으로 두고 map의 크기를 세팅하고 전체 0으로 처리하는 로직. 사각형들의 테두리를 1로 바꾸는 로직. 사각형들 가장 바깥쪽 테두리 안쪽을 0으로 바꾸는 로직. 갈림길에서 경로를 이탈하는 것을 방지하기 위해 map의 크기를 두배로 확장시켜 주는( 갈림길 없애기) 로직. 방문한 노드들을 확인하면서 이동하..
· Algorithm
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 사고의 흐름 최소 변환 단계를 찾으면 된다. 먼저 target 값이 주어진 words 안에 있는지 확인하고 없다면 바로 0을 return 하자 그리고 일반적인 bfs 풀이처럼 시작해 보자. 방문여부를 false로 세팅하고 시작하자. q에 시작 단어와 목표 단어를 넣어주자, 그리고 popleft로 꺼내오면서 q가 빌 때까지 반복하면서 answer를 업데이트해 주면 되겠다 answer를 업데이트하려면, 단어들끼리 비교하고 방문하지 않은 단어가 현재의 단어와 1글자만 다른 단어이면 방문처리하고..
· Algorithm
문제 링크 : 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 : 배운 점: 주어진 맵에서 시작점에서 도착점까지 지나간 칸의 개수의 최솟값을 return 하는 문제이다. 처음 문제를 접했을 때 도무지 어떤 식으로 풀이를 해야 할지 감을 못 잡다가 알고리즘 스터디 팀원들의 도움을 받아 이해하고 풀 수 있게 되었다. 더욱 노력하자! 주어진 문제의 조건들을 잘 읽고 이해하면, 어떤 코드가 필요한지 대략적으로 리스트화할 수 있고 하나씩 작성하면서 퍼즐 맞추기 느낌으로 풀다 보면 정답에 가까워지는 것 같다. 앞으로는 주어진 조건을 빠르게 코드 한 줄씩이라..
· Programming
오채완 프로젝트를 진행할 때였다. 코드리뷰를 받는 과정에서 백엔드 코치님께서 아래와 같이 피가 되고 살이 되는 코칭을 해주셨고, 에러 핸들링이라는 개념을 접하게 되었다. 유저가 서비스를 이용하면서 일어날수 있는 상황 중에서 정상적인 상황이 아닌 것들과 (예외처리), 로직의 오류등 (정말 에러) 많은 에러들을 개발자는 맞이하게 된다. 이러한 상황들을 예측하고 알맞은 에러 처리를 통해 적절한 문구를 사용자에게 친절히 알려주는 것도 서비스를 잘 만드는 부분 중 하나인 것 같다. 이때 필요한것이 바로 에러 핸들링을 잘하는 법이다! 코치님의 조언을 듣고, 에러 핸들링에 대해 공부하였고, 결과적으로 익스프레스에서 try catch문을 통해 에러를 처리하는 코드를 미들웨어로 분리시키고 한데 모아 커스텀 에러를 생성해..
사용자를 연구하는 개발자
dev J