팀프로젝트 - 페이지네이션 구현 limit과 offset을 이용해서 간단히 페이지네이션을 구현할 수 있었다. 아래는 3계층 구조로 구현한 전체 상품 조회 기능이다. repository 계층에서 평소에 사용하던 findAll()이 아닌 findAndCountAll을 통해서 전체 데이터 수까지 이용할 수 있도록 했다. controller adminGetAllProducts = async (req, res, next) => { try { let limit = 3; let offset = 0 + (req.query.page - 1) * limit; const productsInfo = await this.productService.adminFindAllProducts( limit, offset ); return..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/En9kO/btrXVSjghoI/BxXxAfSar7aJShmf6aroQK/img.png)
Node.js 이커머스 프로젝트 시작 새로운 프로젝트가 시작되어 S.A 작성과 역할 분담을 진행했다. 이커머스 프로젝트 S.A - 노드B반9조 공구해조 이커머스 프로젝트 www.notion.so 생각보다 DB를 설계하는 것이 어려웠다. 장바구니를 구현하고자 할 때 table 간의 관계가 생각보다 간단하지 않았다. 여러 논의를 통해 아래의 ERD를 짰고, 차후 진행하면서 문제가 발생하면 수정하고자 한다.
The four Fs FACTS 타입스크립트 심화 강의 수강 FEELINGS 생각보다 양에 비해 많은 시간이 들어서 힘들었다. 조금씩 이해하는데 힘이 부치는 게 느껴지지만 천천히 하면 이해가 안 되는 것은 아니었다. FINDINGS Enums, Generic Types, Utility Types에 대한 이해 FUTURE 다양한 타입들을 적절한 곳에 자연스레 사용할 수 있게 익혀야할 것이다. 나를 위한 응원 한마디 설에 쉬고 나니까 많이 해이해졌네... 다시 열심히 해보자!
타입스크립트 심화 1일차 알게 된 점 트랜스파일시 Tree-shaking = 사용하지 않는 코드를 제거하는 기능 아래의 파일을 트랜스파일 하면(const를 enum 앞에 붙이면) // index.ts const enum Color { Red = "Red", Green = "Green", Blue = "Blue", } const green = Color.Green; 아래와 같이 enum 부분은 없어진다. // index.js "use strict"; const green = "Green" /* Color.Green */; Enum 쓸 때 유용한 팁 enum도 분해 할당이 가능하다. 또한 분해 할당을 하는 동시에 분해 된 상수의 이름도 바꿀 수 있다. import { Color } from "../types..
선발대 알게 된 점 데이터베이스 모델링 시 기본 원칙 업무에서 필요로 하는 모든 데이터가 모델에 정의되어 있어야 한다. 두 개의 엔티티가 비슷한 애트리뷰트로 구성이 되어 있으면 하나의 엔티티로 통합한다. 애트리뷰트는 누구라도 알 수 있게 작성 되어야 한다. 애트리뷰트의 이름은 너무 길게 작성하지 않는다. 애트리뷰트가 여러개의 값을 가지게 되면 엔트리로 바꾸는 것이 좋다. 엔티티, 애트리뷰트는 명사이고 관계는 동사이다. Data Redundancy 이슈가 발생하지 않아야 한다. Data Redundancy = 데이터 중복 데이터가 중복 저장이 되면 저장 공간이 그만큼 쓸데없이 사용이 되며 일관성을 유지하기 위해 필요없는 유지보수 작업을 지속적으로 해야할 수 있음 타입스크립트 심화 1일차 알게 된 점 typ..
The four Fs FACTS 타입스크립트 강의 수강 FEELINGS 지금까지 다뤘던 자바스크립트에서 한 걸음 더 나아가기 위한 강의였던 것 같다. 자바스크립트에 추가적으로 클래스,인터페이스 등의 객체지향 프로그래밍 패턴이 추가되면서 더 체계적인 코딩이 가능해질 것 같다. FINDINGS 타입스크립트 기초, 문법을 익히고, 기본적인 CRUD를 구현함 FUTURE 타입스크립트를 활용하면 다음 프로젝트의 퀄리티가 한층 높아질 것이다. 잘 활용할 수 있도록 여러 예제들을 많이 다뤄보고, 충분한 복습을 해두어야할 것 같다. 나를 위한 응원 한마디 다음 프로젝트까지 착실히!
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bkOuHF/btrWSwVnMlZ/kzj1IwxcOW56QJDpW2mGMk/img.png)
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def findCoordinate(keynum): keypad = [[1,2,3],[4,5,6],[7,8,9],['*', 0, '#']] return [[i,j] for i in range(4) for j in range(3) if keypad[i][j]==keynum][0] def calDistance(a, b): return sum([abs(findCoordinate(a)[i]-findCoordinate(b)[i]) for i in [0,1]]) def solution(numbers,..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b7qk59/btrWRjCp5DV/gXCvMbzvYdjDPZj7LPKrP1/img.png)
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(number): answer = 0 l = len(number) for i in range(l): for j in range(i+1, l): for k in range(j+1, l): if number[i] + number[j] + number[k] == 0: answer += 1 return answer *key point: 중첩 반복문을 활용하여 number의 중복되지 않는 세 요소를 골라 그 합이 0인 경우만 세어준다. *다른 사람의 풀이(knine3 , 최승..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bHwvX7/btrWPN5nrBH/S8pKkHuVqe58WRwiXRiBqK/img.png)
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(k, m, score): answer = 0 score.sort(reverse=True) for i in range(m - 1, len(score), m): answer += score[i] * m return answer *key point: score를 내림차순으로 정리하면 m-1번째 요소부터, m마다 각 box의 가장 작은 점수의 사과가 되는 것을 이용한다. *leejuhanKr , 명훈 , imsiyun , Daeho Kim , onion.lauv@gmail..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/vzUmP/btrWPdXuE45/4cc9MIWCwwJqya3ZytvIU1/img.png)
VSC-THUNDER CLIENT의 Collections 사용 문제점 프로젝트마다 계속 마구잡이로 사용하면서 activity가 정리가 안 됨 해결 Collections 기능 활용 알게 된 점 프로젝트별로 아래와 같이 관리할 수 있다. Collection Settings에서 Base Url을 설정하면 각 Activity에서 중복되는 해당 Base Url 부분을 입력할 필요가 없다. 타입스크립트 5일차 문제점 강의를 모두 듣고 아래 사이트를 보며 추가 과제 수행 중 CORS에러 발생 Node.js and TypeScript Tutorial: Build a CRUD API Learn how to use TypeScript to build a feature-complete Express API. Learn ho..
- Total
- Today
- Yesterday
- programmer
- 항해 플러스
- 24060
- Python
- 25192
- SQL
- 5597
- 코육대
- MySQL
- 26069
- 13909
- 17103
- 10807
- Programmers
- 벡준
- 항해+
- 2053
- 24723
- 1269
- 24313
- 13241
- 4134
- 25501
- 20920
- 2587
- 백준
- til
- 2903
- Wil
- 2738
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |