지금이 그때인 것 같다. 초심자의 행운 이후 잔인한 시험에 든 시간이. 부트캠프 수료 후 취업 했을 땐 개발을 모르던 내가 여기까지 해냈다는 성취감이 컸다. 하지만 만 1년 차가 된 지금은 내가 잘하고 있는 건지, 또 잘하는 개발자들에 비해 내가 너무 모자란 건 아닌지 많은 생각이 든다. 요새 마음을 다잡으려 제일 좋아하는 책인 「연금술사」를 다시 읽고 있는데, '무언가를 찾아 떠나는 여정은 항상 초심자의 행운으로 시작해서 잔인한 시험으로 끝난다.'라는 문장이 지금 내 상황과 너무 잘 맞는다고 생각했다. 그럼 난 이 시험을 어떻게 이겨낼 수 있을까. 그간의 나를 돌아보고, 앞으로의 여정을 다잡기 위해 회고글을 작성해 본다. 회사에서의 나는?잘한 점1. 뷰에 대해 알게 되었다.리액트만 알고 뷰는 하나도 몰..
프로젝트 소개 프로젝트 명 DIEDIE.gg 기획 의도 리그 오브 레전드 게임 내 비매너 유저를 신고하고, 신고 전적 및 유저 정보를 확인할 수 있는 서비스 프로젝트 설명 프로젝트 기간 23/08/04 ~ 23/09/05 (프로젝트 주제 선정 및 담당 파트 구현 기간 전체) 사용 기술 Library React Programming Language TypeScript Styling Styled-Components State Management Recoil, Tanstack-Query Formatting ESLint, Prettier Version Control Git, GitHub Design Figma Communication Notion, Slack 기술적 의사 결정 TypeScript - 정적 타입 ..
비전공자의 개발 입문 이유"남들은 러닝화 신고 레이스를 달리는데 나는 그 트랙에 맨발로 서있는 기분이야." 재작년 커리어 전환을 준비할 때 친구에게 털어놓았던 고민이다. 준비하던 유학이 코로나로 인해 무산되며 이제 어떻게 해야 하나 많이 힘들었지만, 가만히 있을 수만은 없어 무엇을 하면서 살건지 정말 치열하게 고민했다. 그중 가장 큰 도움이 됐던 '내게 맞는 일을 하고 싶어'라는 책을 읽으며 아래와 같이 직업 선택을 위한 체크 리스트를 정리했다. ✅ 단순 작업이 반복되는 직무는 나와 맞지 않는다. ✅ 어려워도 꾸준히 성장할 수 있는 업무가 더 좋다. ✅ 일반 사무직으로는 성취감을 느끼기 어려웠다. ✅ 내가 하는 일이 직접적으로 나의 스펙 또는 성과가 되길 원한다. ✅ 자기 주도적으로 일할 수 있었으면 좋..
강릉의 바다를 처음 본 날을 잊을 수 없다. 자주 가던 서해 바다는 언제나 눈 끝에 뻘과 이름 모를 섬이 닿았다. 하지만 동해의 바다는 깊이도, 넓이도 가늠할 수 없는 지평선 같았다. 항상 넓은 곳으로 나아가고 싶은 꿈을 가진 내게 강릉의 넓은 바다는 괜스레 마음을 일렁이게 하는 무언가가 있었다. 많은 부트캠프 중에서 항해99를 선택한 이유는 여러 가지가 있었지만 그중 하나는 ‘항해’라는 단어에 영향을 받아서도 있다. 99일 동안 넓은 바다를 헤쳐가며 목표를 향해간다는 스토리텔링은 마음을 사로잡기에 충분했다. 나는 더 큰 세계로 갈 거니까. 매니저님, 동기들과 우왕좌왕 배를 조종하는 법을 배우며 천천히 나아간 지도 53일째가 되었다. 새로운 사람 만나기를 좋아하고 그 사람이 살아온 시간, 장점 등을 듣는..
요구사항 정의 구현해야 할 기능 1) 공통 UI 구현하기 API 명세서 작성하기 2) 본문 CRUD 구현 본문 리스트 조회하기 본문 조회하기 본문 추가하기 본문 삭제하기 본문 수정하기 3) 배포 json-server 서버 배포 (heroku 사용) 리액트 프로젝트 배포 (S3, vercel 등 자유) 필수 요구사항 동적 라우팅 사용 1개 이상의 Custom Hook 구현 Form에 유효성 검증 기능 적용 버튼 컴포넌트 1개로 모든 버튼 구현 배포된 결과물에서는 console.log()가 보이지 않도록 처리 .env를 이용해서 API 서버의 URL 코드 상에서 숨기도록 처리 프로젝트 설명 자신이 좋아하는 과자를 소개할 수 있는 웹페이지를 만들고자 했다. 2023.04.28 ~ 2023.04.30 기간동안 ..
요구사항 정의 구현해야 할 기능 Button styled-components를 이용해 구현하며, props를 적절하게 활용할 것 버튼 label에 선택적으로 아이콘을 넣을 수 있도록 구현 Modal 취소, 확인이 있고, overlay 클릭 시 모달이 닫히지 않음 닫기 버튼만 있고, overlay 클릭 시 모달이 닫힘 모달을 on 시키는 버튼의 형태는 각각 달라야 하며 위에서 만든 버튼 재사용 가능 Inpnut 일반 형식의 Input 숫자를 넣었을 때 3자리 숫자마다 ,가 찍히는 input form을 구현하고 각 inpnut에 값 입력 후 저장 버튼 클릭 시 { name: '아무 텍스트', price: '콤마가 없는 금액' } 을 alert에 표시 Select select 클릭 시 option들이 나오고 ..
요구사항 정의 구현해야 할 기능Create TodoRead Todos, TodoUpdate TodoDelete Todo 요구사항[공통]todos 데이터는 리덕스를 사용해 전역으로 상태 관리todos 모듈은 Ducks 패턴으로 구현 [메인 페이지]디자인과 화면 구성은 자유롭게 구현Todo의 상태에 '완료' 그룹과 '진행 중' 그룹을 나뉘어서 보이도록 구현Todo 추가 시 제목 input과 내용 input은 다시 빈 값이 되도록 구현input에 값이 있는 상태에서 상세페이지로 이동하는 경우, input의 value 초기화Todo의 완료상태가 true면 상태 버튼의 라벨을 취소, false면 라벨을 완료로 보이도록 구현Layout 최대 넓이는 1200px, 최소 넓이는 800px로 제한하고, 전체 화면의 가운..
요구사항 정의 구현해야 할 기능 UI 구현하기 Todo 추가하기 Todo 삭제하기 Todo 완료 상태 변경하기 (완료 ↔ 진행 중) 요구사항 디자인은 자유이나 화면 구성은 동일하게 진행 제목과 내용을 입력하고, 추가하기 버튼 클릭 시 Working에 새로운 Todo 추가 추가 완료되면 제목, 내용 input 빈 값으로 바뀌도록 구성 Todo의 isDone 상태가 true면 상태 버튼의 라벨을 취소, 상태가 false면 버튼의 라벨을 완료로 조건부 렌더링 Todo의 상태가 Working이면 위쪽에 위치, Done이면 아래쪽에 위치 Layout 최대 넓이는 1200px, 최소 넓이는 800px로 제한하고, 전체 화면의 가운데로 정렬 컴포넌트 구조는 자유롭게 구현하고 분리한 컴포넌트는 README에 작성 컴포..
리액트 기초 개념을 정리하다 궁금한 것들이 생겨 메모장에 정리하고 있었다. 그러다 아, chatGPT한테 물어보면 기다릴 필요 없이 바로 질문할 수 있겠군 싶어 이것저것 물어보았다. 대답에 또 궁금한 게 생기면 꼬리에 꼬리를 물고 질문해보기도 하고 정말 궁금했던 것들을 물어보기도 하고. 1. Virtual DOM을 초보자가 이해할 수 있도록 쉽게 설명해줘 어제 브라우저 렌더링의 결과물인 DOM에 대해 공부하고 리액트의 Virtual DOM과 무슨 차이가 있는 건지 계속 헷갈려서 질문했다. 더 효율적인 렌더링을 위해 VDOM을 쓴다는 건 알겠는데 그래서 정확히 어떻게 하는지! 2. 리액트에서 VDOM이 자주 리렌더링되는 것도 프론트엔드의 성능이나 성능 최적화에 안 좋은 영향을 주니? 항상 궁금한 성능 관련..
프로젝트 소개 프로젝트 명 DevView 기획 의도 개발자 취준생들이 서로 추천하는 개발 관련 유튜브 링크를 아카이브하고 모아볼 수 있는 웹을 만들고자 했다. 프로젝트 설명 프로젝트 기간 2023-03-27 15:00 ~ 2023-03-30 18:00 사용 기술 온보딩주차 필수 강의였던 웹개발종합반에서 실습했던 것들 위주로 사용하였다. Design Figma Front-end HTML, CSS, JavaScript Back-end Flask, MongoDB 구현하고자 한 기능 / 구현하지 못한 기능 기능 스코프 개발 여부 메인화면 1차 ⭕ 네비게이션바 1차 ⭕ 글 작성 1차 ⭕ 상세페이지 리스트 조회 1차 ⭕ 상세페이지 검색기능 2차 ⭕ 상세페이지 댓글 1차 ❌ 상세페이지 별점 조회 2차 ❌ 상세페이지 ..