[프로그래머스 Level 2] 방문 길이 (JS)
·
SOLVED.
방문길이; 좌표 평면에서 처음 걸어본 길의 길이 구하기  이 문제는 좌표 평면에서 게임 캐릭터가 명령에 따라 이동하는 경로를 추적하고, 처음으로 걸어본 길의 길이를 계산하는 문제이다. 캐릭터는 U, D, R, L 명령어로 이동하며, 경계를 벗어나는 명령은 무시해야한다.그리고 그 과정에서 중복된 길을 제외하고, 처음으로 지나간 길을 리턴해야한다. 1. 문제 정의 캐릭터는 좌표평면에서 (-5, -5)와 (5, 5)로 이루어진 제한된 영역 안에서 이동하며, 주어진 명령어에 따라 움직인다.U: 위쪽으로 한 칸 이동D: 아래쪽으로 한 칸 이동R: 오른쪽으로 한 칸 이동L: 왼쪽으로 한 칸 이동캐릭터는 (0, 0)에서 시작하고, 이동 경로를 추적하여 처음 지나간 길의 길이를 계산한다.단! 이미 지나온 길이라면 카운..
[프로그래머스 Level 3] 입국심사 (JS)
·
SOLVED.
입국심사 문제 해결하기: 이분 탐색을 활용한 최적화    입국심사를 기다리는 많은 사람들이 있을 때, 각 심사대마다 심사를 진행하는 데 걸리는 시간이 다를 수 있다.이러한 상황에서 모든 사람이 심사를 받는 데 걸리는 시간을 최소화하려면 어떻게 해야 할까?이 문제는 효율적인 탐색 방법인 이분 탐색을 이용해 해결할 수 있다.1. 문제 정의입국심사를 기다리는 사람 수 n명과 각 심사관이 한 명을 심사하는 데 걸리는 시간이 담긴 배열 times가 주어진다. 모든 사람들이 심사를 완료하는 데 걸리는 최소 시간을 구하는 것이 목표이다.제한사항:심사 인원: 1명 이상 1,000,000,000명 이하심사 시간: 1분 이상 1,000,000,000분 이하심사관 수: 1명 이상 100,000명 이하(+ 이렇게 천문학적인 ..
유연성 강화하기 - TDD 적으로 사고하며, 차근차근 꼼꼼하게!
·
개발자의 성장 기록
TDD 적으로 사고하며, 차근차근 꼼꼼하게! 레벨2 유강스 목표는 미션을 차근차근 스텝별로 생각하며 생각 후 코딩하기였다.급한 성격과 시간 안에 제출해야 하는 압박감에 늘 미션을 진행할 때 차근차근 진행하지 못하고, 빨리빨리 하고자 하는 마음이 컸기 때문이다. 하지만 빨리빨리 미션을 진행하려다 보면 늘 실수가 따라온다.A 기능 개발을 하다가 B 기능의 버그를 발견하게 되면 B 기능을 고치게 되고, 고치다가 C 코드가 맘에 안 들면 C를 고치게 되고...이러한 상황이 반복되다 보니 이를 고치기 위해 개발 Todo 를 작성해서 체크를 하면서 진행하기도 했다.물론 이것도 Todo 가 있다는 걸 잊기 전까지만 유효했다. 이러던 과정 속 준이 TDD 적으로 사고하기라는 주제로 수업을 진행했다. 사실 TDD는 레벨..
[REACT] Tanstack-Query의 QueryClient와 캐싱 정리
·
React
리액트 딥 다이브 정리 스터디 **Tanstack-Query의 QueryClient와 캐싱** 정리  설치 방법npm i @tanstack/react-query+) 여담으로 이전에는 그냥 react-query 였다. 이후 리액트 이상으로 사용 가능하게 업데이트 되며 이름이 변경되었다. (뷰, 넥스트…)세팅 방법앱의 최상위에서 QueryClientProvider로 앱을 감싸주기새로운 QueryClient인스턴스를 생성한 후, QueryClientProvider를 통해 앱 전체에서 생성한 QueryClient에 접근 가능하도록 해준다.import { QueryClient, QueryClientProvider } from '@tanstack/react-query';...const queryClient = ne..
[우테코 6기] 모든 팀의 AWS S3 프로젝트 폴더를 날렸다고..?
·
우테코
모든 팀 프로젝트 폴더를 날려버렸다, 내가... 지난 팀 프로젝트 중, 정말 아찔한 실수가 있었다. GA 설정 작업을 위해 팀원들과 모여 작업을 진행하고 있었고, 모든 세팅을 마친 후 AWS S3에 배포하려고 했다. 배포를 위해 우리는 프로젝트 폴더인 'bang-ggood' 안으로 들어갔다고 생각했다.배포 시 종종 기존 파일이 덮어씌워지는 문제 때문에, 나는 늘 하던 대로 기존 파일들을 모두 삭제한 후 새 파일을 업로드하는 방식으로 진행했다. 그날도 다르지 않았다. 우리 프로젝트 폴더 안의 파일을 모두 선택하고 삭제를 진행했다. 아니 진행한 줄 알았다. 폴더에 잘 들어간 줄 알았다.순간적인 착오로 우리는 'bang-ggood' 폴더가 아닌 S3 버킷 내부 폴더 전체, 즉 모든 팀의 프로젝트 폴더를 삭제해..
[우테코 6기] 개발자가 현장 유저 테스트에서 깨달은 것: 불편함을 개선하다
·
우테코
우리가 기획하고 있는 서비스는 처음 방을 구하거나, 방을 많이 구해본 경험이 없는 사용자들이 방을 구할 때 꼼꼼하게 체크하여 더 좋은 방을 찾을 수 있도록 돕는 서비스이다.자세한 이야기는 기획 단계에 대해 작성한 글을 참고하자! 그러다 보니 우리 서비스의 목적은 “사용자가 우리 서비스를 통해 이전보다 더 꼼꼼하게 방을 체크할 수 있고, 이를 통해 더 좋은 방을 선택할 수 있다”는 것이다. 이 목표를 위해 지난 스프린트 기간 동안 기획과 기능 구현을 진행했고, MVP 기능이 모두 구현된 후에는 팀과 함께 직접 사용자가 되어 유저 테스트를 진행하기로 했다.부동산과 방을 함께 보는 유저가 페르소나였기 때문에, 팀원들을 두 팀으로 나누어 각자의 페르소나를 설정하고 부동산에 들러 집을 보기로 했다.팀을 구상한 과..
미국 팀 프로젝트 Badger 회고
·
개발자의 성장 기록
최근 교환학생으로 참여한 팀 프로젝트에 대해 많은 분들이 궁금해 하셔서, 회고록을 작성해보려고 합니다. 그동안 일상 블로그에서 자잘하게 언급했던 팀 프로젝트 내용을 하나의 글로 정리해보려 합니다.  제가 미국 교환학생으로 참여한 팀 프로젝트는 Senior Design으로, 한국의 졸업 캡스톤과 유사한 과정입니다. 하지만 한국의 캡스톤이 대부분 같은 과 학생들과 함께 진행하는 반면, 이 학교의 시니어 디자인은 다양한 전공의 학생들이 모여 팀을 구성하여 프로젝트를 진행합니다. 저 역시 기계공학, 토목공학, 컴퓨터공학, 전자공학 등 여러 전공의 친구들과 팀을 이루었습니다. 이 팀 프로젝트에 합류하게 된 계기는 학기 초 교수님과의 미팅에서 저의 꿈에 대해 이야기했을 때였습니다. 당시 2학년 때 친구들과 함께 진..
[우테코 6기] 방끗의 페르소나와 유저 플로우 짜기
·
우테코
** 이 글은 레벨 3 시작 2주차 진행 과정 중 작성한 글입니다. 유저 플로우 설계, 왜 중요할까?프로젝트를 시작하면서 가장 먼저 했던 일은 MVP(최소 기능 제품)를 정의하는 것이었어요. 그다음으로 중요한 건 유저 플로우를 정리하는 것이었죠.유저 플로우는 간단히 말해, 우리 서비스를 어떻게 사용할지에 대한 유저 시나리오라고 생각합니다. 이 과정은 개발자의 시선이 아닌, 유저의 시선에서 서비스를 바라볼 수 있도록 도와줍니다. 결국, 유저들이 어떤 흐름으로 서비스를 이용할지 미리 그려보는 작업이죠. 기존 여러 프로젝트를 진행하면서 기획자들이 이 페르소나를 가장 먼저 설정하고 생각하는 걸 보고 배운 후 적용해보고 있어요. 서비스를 기획하는 과정은 꽤나 흥미로운거 같습니다.가상 유저, 페르소나 설정우리 팀은..
[우테코 6기] 프로젝트 환경 세팅 및 기술 스택 정하기
·
우테코
** 이 글은 레벨 3 시작 2주차 진행 과정 중 작성한 글입니다. 프로젝트를 시작하기 앞서 주어진 요구사항에 맞게 기본 프로젝트를 세팅해야 했다.진행해야 하는 것은 다음과 같았다. 프로젝트 환경 세팅개발 컨벤션 정하기스타일링 방법 선택 등 사용할 기술 스택 정하기타겟 환경 정하기 프로젝트 환경 세팅가장 먼저, 프로젝트 환경 세팅에서는 기존에 Vite나 CRA를 주로 사용했던 것과 달리, 이번에는 Webpack을 기반으로 React와 TypeScript 환경을 세팅하기로 결정했다. Webpack은 자바스크립트 모듈을 번들링 하는 도구로, 다양한 로더와 플러그인을 사용해 코드 최적화와 빌드 환경을 구성할 수 있다. webpack을 선택한 이유는, 물론 요구사항이기도 했지만, Webpack이 모듈 번들러로서..
healim01
Hailey Daily