분류 전체보기

    3/3 금 (Nest.js 공식 문서를 후루룩) TIL

    3/3 금 (Nest.js 공식 문서를 후루룩) TIL

    (최종 프로젝트 진행중)어제에 이어 git rebase 방식에 대해 알아보는 시간을 가졌다. 어제치 TIL에 업데이트하였다. 이해도가 조금 더 쌓이면 팀원들과 공유해볼 생각이다. 깃헙으로 협업할 때 더 편리하게 작업할 수 있을 것 같아서. Nest.js의 provider, controller, module에 관해 공식 문서를 빠르게 훑으며 정리해보았다. 지난번에 게시판 CRUD를 Nest.js로 만들면서 가졌던 의문점들을 상당수 해결할 수 있었어서 좋았다. 이것 하나에 시간을 너무 지체하였나 싶기도 하지만, 들인 시간과 심리적 안정감을 저울질해보았을 때 앞으로 프로젝트를 진행하는 데 있어서 옳았던 판단이라고 생각된다. ※ 이하는 스스로 공부하며 적어둔 노트이며 불확실한 내용이 있을 수 있습니다. 학습용으..

    3/2 목 (Git Rebase 조사중) TIL

    (최종 프로젝트 진행중)오늘은 팀원들과 수시로 상의 및 회의를 하고, 기본 프로젝트 뼈대를 만들며 깃허브와 (단체로) 씨름하고, 또 git의 rebase 방법을 쓰면 좋을 것 같아서 조사하였다. (여기 참고함)Git - Rebase 하기https://git-scm.com/book/ko/v2/Git-브랜치-Rebase-하기 ※ 이하는 스스로 공부하며 적어둔 노트이며 불확실한 내용이 있을 수 있습니다. 학습용으로 적합하지 않음을 유념해주세요. ※ 병합충돌을 적게 가져가는 방법: Rebase배운 방법을 일단 적어두었다. 에러가 많이 나서 살펴보는 중. 현재 로컬의 로그인(가칭) 브랜치에서 작업중일때, 현 작업상태를 로그인 브랜치에 커밋한다.git checkout origin/main git branch -a ..

    3/1 수 (Nest.js와 TypeORM 에러 모음) TIL

    (최종 프로젝트 진행중)TypeORM을 적용한 Nest.js 복습 중 해결한 에러를 간단히 정리했다. 에러 EntityMetadataNotFoundError: No metadata for "User" was found.발생 상황: npm run start으로 TypeORM 적용한 Nest.js 서버 가동 후 POST http://localhost:3000/user/signup으로 요청보냄. 에러 메세지 전문: [Nest] 13660 - 2023. 03. 01. 오후 5:50:35 ERROR [ExceptionsHandler] No metadata for "User" was found. EntityMetadataNotFoundError: No metadata for "User" was found. at D..

    2/28 화 (최종 프로젝트에 돌입하다) TIL

    2/28 화 (최종 프로젝트에 돌입하다) TIL

    (최종 프로젝트 진행중)어제부로 5번째이자 마지막 프로젝트에 돌입했다. 금주는 프로젝트 빌드업 및 필요한 공부를 하는 데 사용하기로 합의하였다. 그래서 내일과 모레 공부할 내용: 개인적으로 다른 이에게 프로젝트 협업 및 이슈 관리 툴로 Linear를 추천받았었지만, 팀원과 협의하에 Jira를 사용하기로 하였다. Uploaded by N2T

    2/23 목 (지지부진해서 미안해) TIL

    오늘은 단순한 코딩 문제 푼 것을 기록해 놓는다. 로그인 관련 RFC 문서 읽기와 테스트 코드 작성 조사중에 있다. 프로그래머스 30분 - 순서쌍의 개수https://school.programmers.co.kr/learn/courses/30/lessons/120836 프로그래머스 30분 - 모음 제거https://school.programmers.co.kr/learn/courses/30/lessons/120849 ※ 이하는 스스로 공부하며 적어둔 노트이며 불확실한 내용이 있을 수 있습니다. 학습용으로 적합하지 않음을 유념해주세요. ※모음 제거https://school.programmers.co.kr/learn/courses/30/lessons/120849순수 for문function solution1(my..

    2/22 수 (뜬금없이 “RFC” 문서 조직 연구) TIL

    2/22 수 (뜬금없이 “RFC” 문서 조직 연구) TIL

    (막간 보충 공부중) 프로그래머스 30분 - 개미 군단https://school.programmers.co.kr/learn/courses/30/lessons/120837 프로그래머스 30분 - 세균 증식 https://school.programmers.co.kr/learn/courses/30/lessons/120910 node.js로 만드는 게임, 좋은 참고 사이트 묻기. ‘kata 자동 복습’ 완성하기 - 2시간 ‘로그인’ 관련 항목 제대로 읽고 정리하기 - 2시간 …을 해보려다가 공식 RFC 문서 자체에 대한 문서만 읽고 정리하였다. 가능하면 로그인 테스트 코드와 리팩토링 작성해보기 - 2시간. ※ 이하는 스스로 공부하며 적어둔 노트이며 불확실한 내용이 있을 수 있습니다. 학습용으로 적합하지 않음을 ..

    2/21 화 (이론 정리 없이 코딩만 한 하루) TIL

    (막간 보충 공부중)오늘 한 일 프로그래머스 30분 - 옹알이(1) 프로그래머스 30분 - 특정 문자 제거하기 푼 문제 코드 리뷰 및 리팩토링 ‘여태 푼 문제 파일 중 랜덤으로 불러오기’ 프로그램 구상 및 개발 중 - fs 모듈 공부중 특정 문자 제거하기https://school.programmers.co.kr/learn/courses/30/lessons/120826 문자열 replaceAll 이용function solution1(my_string, letter) { return my_string.replaceAll(letter, ''); } 배열 이용// replaceAll 없이 function solution2(my_string, letter) { return my_string.split(letter..

    2/20 월 (튜터를 모신 코드 리뷰와 리팩토링의 달콤함) TIL

    (막간 보충 공부중)프로그래머스 연습 문제들을 풀어보는 스터디를 즉흥 결성한 후 사흘 차, 오늘도 튜터에게 찾아갔고 좋은 경험을 하였다. 특히나 현업 개발자는 어떤 사고방식으로 수정할 부분을 감지하고 리팩토링을 하는지를 소소하게 견식할 수 있어서 좋았다. 혼자 찾아갔으면 과분할 뻔 하였는데 그룹으로 찾아가니 좋았고, 첫 문제 푸는데 진짜 오랜 시간이 걸렸는데 흔쾌히 다음 문제까지 풀자 해주신 튜터께 감사했다. 한 일: 프로그래머스 30분 https://school.programmers.co.kr/learn/courses/30/lessons/120923 ⇒ 1시간..! 프로그래머스 30분 https://school.programmers.co.kr/learn/courses/30/lessons/120812 ⇒..

    2/17 금 (Rule of Three 중복 제거 리팩토링, 생생한 예제 코드가 여기있다) TIL

    (막간 보충 공부중)오늘 한 것: Mars Rover Kata와 중복 제거 리팩토링 시범Test-Driven Development (TDD) in JavaScript #4 - Duplication & The Rule Of ThreeIn this video, Jason Gorman illustrates how refactoring to remove duplication from our code can lead us to a better design, and demonstrates the Rule of Three that can guide us towards better abstractions and protect us from leaving refactoring too late. The example us..

    2/16 목 (코드를 실컷 작성하니 단축키가 손에 붙는다) TIL

    (막간 보충 공부중)“TDD 또한 큰 도움이 된다. 실패한 테스트는 당시의 흐름을 유지한다. 방해가 사라진 후 실패한 테스트가 통과하도록 일하다 보면 흐름으로 돌아갈 수 있다.” — 클린 코더 The Clean Coder, 로버트 마틴 느낀 점오늘 저녁에 알고리즘 문제풀이 스터디 팀원들과 튜터님을 찾아갔다가 mob programming이라는 걸 경험했다. 한 문제를 한 메모장(에디터)에, 각 1분씩 돌아가며 구두로 프로그래밍을 이어가는 것이다. 관전인이 갑자기 많아져서 긴장되긴 했지만, 긴장되는 만큼 재미있었다. 내일 스터디에 도입해보기로 하였다. 당장 흥미로운 점은 크게 두 가지였다: 누가 시작을 하든 남이 그려놓은 청사진을 빠르게 이해하고 이어서 건물을 지어 올려야 한다.손으로 쓰던 코드를 말로 읊어..

    2/15 수 (Ajax를 안 거치고 로그인이 필요한 페이지에 접근하려면 cookie밖에 답이 없다) TIL, TIT

    (막간 보충 공부중)오늘 한 것: TDD 방식으로 FizzBuzz 문제 풀기FizzBuzz in NodeJS and Jest, with TDD (Kata 1)Repo used in the video: https://github.com/GA1/algo-tdd-starters Code from the video: https://github.com/GA1/youtube-videos/blob/master/src/katas/001-fizz-buzz.js Find more about the repo at: https://medium.com/@kamilnguyenvan/e02ecf357892 A short introduction to a programming technique - Test Driven Developm..

    2/14 화 (표류하고 있음) TIL

    (막간 보충 공부중)어제 오늘은 이론을 배우고 정리하기보다 코드를 직접 써보는 일에 집중했다. 직전 프로젝트 때의 다른 팀들의 코드를 보면서 연구하고 우리 팀 프로젝트 코드에 적용해보았다. 사실은 집중이 잘 안 됐다. 이론상으로 작동되어야 하는 코드가 계속해서 턱턱 막히니 진도가 굼벵이보다도 느린 느낌이었고 이렇게 계속해도 되는가 의문이 들었다. 저녁에는 그래서 자바스크립트 문법을 공부하며 환기했다. 여태 코딩과 구글링을 하며 스치기라도 한 개념들이 한가득 쌓여있는 상태라 그런지, 아니면 죽치고 안 풀리는 문제가 아닌 다른 걸 보는 것만으로도 살 판이 난 건지, 꽤 심화 문법에 관한 책이었는데도 재밌게 읽었다. 언제나 같은 딜레마와 의문이긴 하지만… 지식을 읽고 배워서 어떻게 해야 코드를 한 줄이라도 써..

    2/13 월 (첫 TDD 코딩 문제 풀이 - Bowling Game Kata) TIL

    2/13 월 (첫 TDD 코딩 문제 풀이 - Bowling Game Kata) TIL

    (Nest.js 공부중 + TDD 공부중)오 처음으로 TDD라는 걸 해봤다. 간단한 볼링 게임 연습문제를 테스트 코드와 함께 짜봤다. Bowling Game Kata in JavaScriptThis is the Bowling Game Kata in JavaScript. This kata was originally created by Uncle Bob Martin. Music by Chillhop: https://chillhop.com/listen Listen on Spotify: https://bit.ly/ChillhopSpotifyhttps://www.youtube.com/watch?v=brahHchaegc깃헙 풀이: Coding-Practice-with-TDD/other-sources-easy/bow..

    2/10 금 (Nest.js로 DB없는 게시판을 만들어 보다) TIL

    (Nest.js 공부중)Nest.js로 간단한 게시판 CRUD를 만들어 봄. DB는 포함하지 않고 컨트롤러와 서비스 파트만 구현했는데, 확실히 Express를 쓸 때보다 간단했다. @Param() 에게는 req.params가 맡았던 파라미터 변수를 넣어주면 되고, @Body()가 장식하는 변수 data에게는 DTO를 타입으로 넣어주면 된다. @Controller(’큰라우트’) 클래스와, 그 안의 @Get(’/작은라우트’) 같은 메소드들이 묶여 ⇒ ‘http://localhost:3000/큰라우트/작은라우트’ 와 같은 최종 url을 형성한다. 큰 라우트는 컨트롤러 데코레이션에, 작은 라우터는 메소드 데코레이션에! 데코레이션은 클래스나 함수 뿐만 아니라 변수에게도 붙는가? Nest.js 실습 예제 - 게시판..

    2/9 목 (Nest.js 진입, Visual Studio Code로도 첫 진입) TIL

    (Nest.js 공부 시작)처음으로 Nest.js를 소개 받았다. 일단 프레임워크이고, 제어 역전이 일어났다는 점에서 라이브러리와 다르며, 알아서 코드 틀을 짜주고 폴더 구조를 잡아준다. 데코레이터 클래스라는 이름표들을 나에게 쥐어주고 ‘넌 네 가내수공업 코드에 내가 준 이름표를 붙여놓기만 해, 가져다 쓰는 건 내가 한다’ 하는 적극적이고 주도적인 성격. 폴더와 파일 틀을 척척 짜주는 면에서 자신감이 돋보인다. 라이브러리를 비롯해 내가 기존에 알고 지내던 군상과는 또 결을 달리하는 친구임이 분명하다. 개인적인 소감으로는, IoC(제어 역전)이 되면 모듈간 결합도가 낮아지고 유지보수가 쉬워지고 결과적으로 개발자가 서비스 로직에 더 집중할 수 있다는 휘황찬란한 점들은 차치하고 일단 폴더가 (그리고 파일명들이..

    2/8 수 (프로젝트 발표) TIL

    (베이커리 이커머스 프로젝트 발표)오늘은 발표를 들으며 프로젝트를 진행하며 든 생각과 질문거리들만 적어둔다. 프로젝트 폴더 관리를 실무에서는 다들 어떻게 하는 걸까? 특별한 노하우가 있을까? 지금만 해도 파일이 많아져서 여기저기 찾아 옮겨 다니기가 힘든데 말이다. 프로젝트가 더 커지면 한 사람이 ‘파악하고 있어야 하는 범위’가 어디까지인지 명확히 선을 긋고 시작할게 될까? 그렇게가 가능할까? 다들 어떻게 웹소켓으로 실시간 채팅을 만드는 것이, ‘관리자 측에서는 채팅방 목록을 볼 수 있어야겠고 사용자 이름으로 방 이름을 정하자’같은 기능이 있어야 한다고하나같이 생각해낼 수 있었는지? 테스트 코드를 작성하는 비법(…) Sequelize - 조건절에 OR와 LIKE 짬뽕시키기Product.findAll({ w..

    2/6 월 (잘 되는 것 같기도, 망함을 목전에 두고 있는 것 같기도 한 D-2) TIL

    (베이커리 이커머스 프로젝트 6일차)피곤해서 생각이 잘 안 돌아간다. 음. 낮에 영양제와 물을 옆에 챙겨두고 앉았는데 지금까지 먹지 못했다. 그래도 나쁘지많은 않은 기분.오늘 한 일 내가 뭘 했는지 일단 셀 수가 없고 기억을 더듬을 기력도 더 없다. 내일 정신이 든다면 좀 생각이 정리될지도 모르겠다. 이전 페이지로 이동(한 페이지씩) 뒤로/앞으로 가기 (브라우저의 뒤로/앞으로 가기 기능과 같음): window.history.back() window.history.forward() 몇 페이지씩 뒤로/앞으로 가기: window.history.go(-4) window.history.go(2)“window.” 부분은 생략이 가능하다. Uploaded by N2T

    2/4 토 (ejs와 `express-ejs-layouts` 동시 사용시 가능한 url 경로는 오직 query string 방법뿐) TIL, TIT

    프로젝트 폴더 구조public/css/styles.css 이걸 해결하는 다른 방법이 있을지도 모르겠다. 다만 지금은 일단 경로명에 슬래시(/) 대신 언더바로 표현하는 것으로 넘어가기로 한다. 에러: ejs 파일명에 점(.)을 넣을 시 res.render()로 인식하지 못함또 파일명을 admin.product.list.ejs 같이 설정하면 res.render로 파일명을 넣어줄 때 “list 모듈을 찾지 못했음” 에러가 뜬다. ⇒ 파일명을 admin_product_list.ejs로 바꾸고 res.render(’admin_product_list’)와 같이 호출하니 잘 됨. EJS 기초 공식 문서: EJS'E' is for 'effective'. EJS is a simple templating language ..

    2/3 금 (merge 충돌 해결, 충돌 해결) TIL

    (베이커리 이커머스 프로젝트 3일차)깃헙 develop 브랜치와 팀원들 feature 브랜치 사이의 간극이 벌어지지 않게 하려고 노력중. 와중에 발생한 무수히 많은 병합 충돌을 처리하며 브랜치 사이의 ‘간극’에 점점 더 치를 떨게 됨. 머지않아 풀 리퀘스트 빌런, PR 무새가 될 것 같다. …저기, 깃헙 본인 브랜치에 푸시 해주신 건 좋아요..! 이제 PR도 해주세요. 겁먹지 마세요 PR만으로는 문제가 되지 않아요 충돌 해결하는 리뷰어만 힘을 내면 됩니다..! pull 자주 받아주셔서 감사합니다. 본인 코드도 자주 풀 리퀘 해주세요… 허허 저희 언제 한 번 다같이 화면 켜두고 풀 → 풀 리퀘 사이클 한 번 돌아볼까요. 오늘 한 일 ejs 템플릿 구조 분석을 마쳤다. nodemon과 Joi를 API 테스트..

    2/2 목 (다대다 관계 테이블은 이렇게 짜면 된다) TIL, TIT

    (베이커리 이커머스 프로젝트 2일차)오늘 한 일 어제 만든 DB 스키마를 보강하고 sequelize 모델을 만들었다. 깃험에 pull 완료. ⇒ ‘product’와 ‘cart’ 테이블의 관계에서 Many-to-Many를 굳이 적용해야 하나를 고민하다가 (mapping 테이블이 하나 더 만들어진다는 게 꺼려졌다) 이게 사실은 One-toMany 관계라는 것을 깨달았다. 기존의 ‘cart’ 테이블 자체가 ‘user’와 ‘product’를 Many-to-Many로 연결지어주는 매핑 테이블이었던 셈이다. ‘cart’라는 테이블명 때문에 더 헷갈렸던 것 같아서, ‘cart-item’이라고 이름을 바꿔주었다. ⇒ 참고로 user와 product 테이블이 Many-to-Many인데 중간에 cart_item이 매핑 테..