프로그래머스 데브코스/TIL

오늘 배운 내용📚 연산자 분기문 (if) 반복문 ( while, for) 👉 정리글 보러가기 이번주에는 기본적으로 많이 사용되는 이론들을 정리하는 시간인 것 같다는 생각이 들었습니다. 다른점이 있다면 javascript가 아닌 c언어로 기본 개념을 정리중이라는 것인데요. 이전 회사에서 제가 후임들한테 하던 이야기가 생각이 났습니다. "javascript, php, python, java 형태만 다르고 기본적인 개념은 똑같으니 다른 언어를 하게 됐다고 해서 무작정 싫어하지 말아라 분명히 도움이 될것이다" 라고 했었는데 그때 조언해준 내용처럼 처음에는 당황스러웠지만 해당 내용들을 다시한번 개념정리한다는 마인드로 수업을 들었습니다. 오늘 수업에서 가장 인상깊었던 내용은 사소한 기능이라도 순서도를 그리라는 말과..
오늘 배운 내용 📚 컴파일 언어와 TypeScript 변수와 상수 그리고 자료형 [C 언어] 입력값을 받기 추가 정리 내용 📑 메모리와 자료구조 엄격한 strict mode 본격적으로 프론트엔드 수업에 들어가기 앞서서 기본적으로 TypeScript와 컴파일언어를 비교하고 JavaScript와 어떤차이점이 존재하는지 짧게 설명을 해주셨습니다. 사실 강의를 듣기 전까지 자바스크립트는 당연히 스크립트 언어니까 컴파일 언어와 완전히 별개의 언어라고 생각을 했었는데, TypeScript가 타입을 설정하는 면에 있어서 컴파일 언어와 유사하니 컴파일 언어를 조금 알아두면 좋을것같다는 말에 다시 생각을 고치게 되었습니다. 또한 변수와 상수를 배우면서 메모리의 자구조에 대해서 살짝 설명해주셨었는데 책으로 보기만한 큐나 ..
오늘 배운 내용 📚 Faker를 이용한 가짜 데이터 생성하기 추가 정리 내용 📑 프로젝트 패키지 구조 오늘 수업에서는 Faker를 이용하여 가짜 데이터를 생성하는것을 배웠습니다. 사용자 뿐만아니라 상품, 기타 등등 정보를 생성할수 있었는데요. 필요한 더미 데이터를 만드는데 있어서 편하게 생성할수 있는 모듈이었습니다. 간단하게 Faker를 이용하여 데이터를 전송하는 API를 만들어 보고나서 강사님이 체크해보면 좋을 리스트를 정리해주셨는데요. 기존 bookstore 프로젝트를 진행하면서 수업시간에 하지 않았지만 참고하면 좋을 리스트를 알려주셨습니다. 인증/인가 시스템 적용 입니다. auth를 통해서 인증/인가를 할수 있는부분들을 짚고 넘어가는것이었습니다. 이는 회원을 받고 이 회원이 어디에 사용되는지를 파악..
오늘 배운 내용 📚 jwt를 이용하여 회원 인증 처리 도서 리스트의 pagination 👉 코드 바로 가기(미연결) 추가 정리 내용 📑 upsert문이란? MSA와 모놀리식 지난 수업에 이어서 기존에 작성한 코드들 중에 인증인가 시스템을 필요로 하는곳에 적용을 하는 시간을 가졌습니다. 그리고 수업을 통해서 기존에 갖고있던 생각을 다른 시선으로 접근할수 있게 됐습니다. 그 예시로 바로 상세 도서 조회에서 유저가 로그인 한경우에 liked가 표기되는 방식이었습니다. 이전에는 백엔드에서는 프론트로 정보를 전달할때 전부 동일하게 전달해주면 그 안에서 프론트가 조건에 맞게 화면을 보여주는거라 생각했습니다. 하지만 오늘 수업을 통해서 백엔드에서 조건을 걸고 프론트로 필요한것만 넘기면 프론트에서는 받은 데이터를 뿌리..
오늘 배운 내용 📚 토큰을 이용하여 사용자 인증 시스템 개발 에러 객체 처리 👉 코드 보러 가기 추가 정리 내용 📑 에러 객체와 try catch 오늘 수업은 전체 적인 기능구현이 끝난 코드에 인증 처리를 하는 것이었습니다. 이전에는 필요한 곳에 Auth 미들웨어를 실행하는 방식으로 진행했던 게 생각나서 이번에도 미들웨어로 만들어서 인증처리를 해보았습니다. 모든 사이트에 인증이 필요한 건 아니지만 기본적으로 인증시스템을 이용하여 처리하고 싶은 부분이 있어서(ex. 로그인 인증이 되어있다면 로그인페이지 접근 시 잘못된 접근입니다. 경고 문구 보내기) 미들웨어를 app.use()를 통해 전체 적용을 하였는데 이때 문제가 발생했습니다. 토큰을 받아올 때 header에 jwt 토큰을 넣어서 테스트를 진행하였는데..
오늘 배운 내용 📚 database 비동기화 FOREIGN_KEY가 존재할 때 데이터 삭제 방법 DELETE, DROP, TRUNCATE 주문하기 완료 👉 코드 바로가기 추가 정리 내용 📑 반정규화 오늘 수업시간에는 database의 비동기화로 시작을 했습니다. database 연결 시에도 시간이 걸리기 때문에 동기 처리를 해주야 하기 때문입니다. 하지만 createConnection의 경우에는 계속 연결을 해야 해서 비동기를 동기처리 해주어야 하지만, createPool의 경우에는 한번 연결해 놓고 pool의 연결을 썼다 끊었다 할 수 있기 때문에 어떠한 이유로 연결을 하는지 궁금해서 공식사이트를 들어가 확인해 봤지만 만족하지 못하고 오히려 비동기 처리를 하기 위해서 조치한 코드 때문에 오히려 동작하지..
오늘 배운 내용 📚 비동기 I/O 비동기 처리 Promise async/await 오늘 수업은 기본적으로 비동기와 비동기 처리에 대해서 진행이 됐습니다. 비동기와 동기의 차이점을 배우는걸로 끝나는게 아니라 추가적으로 블로킹과 논블로킹도 함께 찾아서 공부해보았는데요 블로킹과 논블로킹의 차이로 제어권이 있는지 여부로 파악하는것을 처음 알았고 그냥 다음 코드가 동작이 안되면 블로킹, 동작이 되면 논블로킹이라고 알고있던 제 자신을 살짝 돌아보는 계기가 됐던것같습니다. 그리고 사실 제가 찾아본것도 전부가 아닐거라 생각이 됩니다. 한번에 많은 정보를 넣을수 없으니 조금씩 조금씩 제가 이해한 만큼 정리중입니다. promise는 이전에 혼자 공부할때는 그렇게 머리에 안들어오더니 강사님이 설명을 해주시니 확실히 이해하기..
오늘 배운 내용 📚 주문하기 테이블부터 API 생성까지 👉 코드 바로가기 추가 정리 내용 📑 가장 최근에 등록한 PK 값 받아오기 여러 행 한 번에 데이터 추가하는 방법 쇼핑몰을 제작하는 과정 중에 가장 중요하다 생각이 되는 결제페이지 API를 만드는데 신경 쓸게 너무 많았습니다. 첫 번째로 배송지 문제였습니다. 제가 생각하는 배송지는 유저가 매번 입력을 하지 않더라도 만약에 등록해 놓은 배송지가 있다면 해당 배송지를 바로 전달을 해주고, 등록해 놓은 배송지가 없다면 새로 배송지를 입력하는 form이 생겼으면 했습니다. 왜냐하면 배송지 database에 계속 누적이 되는 것도 불필요한 데이터차지라고 생각을 했고, 저희가 배송지를 미리 등록을 할 수도, 혹은 새로운 배송지가 추가될 수도 있기 때문이었습니다..
오늘 배운 내용 📚 장바구니 테이블 생성부터 API 구현까지 👉 코드 바로가기 추가 정리 내용 📑 제약조건 이름 설정 및 INDEX 설정 이전에 테이블 미리 생성을 해보면서 겪었던 제약조건 이름 설정과 인덱스 설정에 대해서 정리를 해주셨는데 추측했던 내용이 맞았어서 좋았던 것도 있지만 언제 INDEX를 사용하는지 그 부분이 해결이 되지 않아 정리를 더 해야겠다는 생각을 했습니다. 그리고 요즘 SQL을 많이 작성하면서 느낀 건데 확실히 내가 작성한 SQL를 보면서 공부가 되는 것 같습니다. 이전에 작성한 코드를 토대로 추가적으로 표현하고 싶은 컬럼이나 어떻게 구현을 할지 생각을 하게 되는데 그걸 바로 controller에 작성하는 게 아니라 CLI나 workbench를 통해서 내가 표현하고 싶은 테이블이 ..
코드둥
'프로그래머스 데브코스/TIL' 카테고리의 글 목록 (2 Page)