| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 |
| 30 |
- 생각일기
- 회고
- 기록
- MongoDB
- array
- 코테
- next.js
- 자바스크립트
- WIL
- 주간회고
- mongo
- Java
- Grafana
- mongoose
- 생각로그
- js
- 알고리즘
- 네트워크
- 트러블슈팅
- 피드백
- nest.js
- CS
- mysql
- 리눅스
- Git
- react
- typescript
- javascript
- 생각정리
- til
- Today
- Total
목록분류 전체보기 (288)
코딩일상
Sequelize를 처음부터 배워서 DB를 다루는데 현재까지 무작정 사용을 해왔다. 뭐가 좋고 뭐가 나쁜거지 이런고민을 하면서도 이부분에 대해서는 무감각하였는데, 지금이라도 알고 가보자 한다. 일단 Sequlize를 처음 배웠을때 ORM이라고 듣고 썼지만 아직까지도 뭐라 해야할지 몰라서 이것부터 짚고 넘어가려고한다. ORM ?? ORM Object Relational Mapping 객체 관계 매핑이다. 객체 관계 매핑은 관계형데이터베이스(내가 배운것은 MYSQL)와 객체지향 프로그래밍(내가 배운것은 자바스크립트)을 매핑해주는 것 매핑(연결)이란 일종의 통역이라고 봐도 되는데 데이터베이스의 테이블과 객체지향 프로그래밍의 클래스가 호환이 되지 않는 것을 호환 ORM을 통해서 SQL Query문을 작성하지 않..
오늘의 한줄평 불편함이 나를 움직인다. 오늘 한 것 / 공부한 것/ 느낀 것 젠킨스 서버 재설정 실수한점:새로운 서버가 열려서 ssh를 통해 새로 열어야 했는데 그러지 못햇다. 나혼자만의 생각으로 설계를 미스했다. 협업을 하는만큼 좀 더 자주 의사 소통을 하자 ORM(sequlize)를 통해 이중조인이 가능하다는 점 알게된계기:ERD 재설정을 하면서 관계설정의 장점인 조인을 사용하다보니 혹시 sql처럼 이중조인이 우리가 쓰고 있는 ORM으로도 할 수있을까 document를 찾아보니 있었다... 그동안 map 함수를 써서 해결했던 부분을.. 덕분에 좀더 간결한 코드를 작성할 수있게 되었다. 깨달은점: 도구를 사용하게된다면 도구가 가진 기능들에 대해 최대한 파악 해놓자!! 리눅스 문서 편집 VI 기능 공부한..
🧑🏻💻지난주 배운 것들과 한 것들 그리고 깨달은 것들 기존 API부분에서 예상치 못한 부분들 예외처리(추가 API 구현까지) 꺠달은점:완벽하게 준비를 했다 생각했지만 1차 배포 후 테스트를 하면서 생각지 못한 오류들이 생각보다 많았다. 테스트 과정,예외처리, 에러 헨들러의 중요성을 느낌(서버를 잘지키자) MBTI 궁합 알고리즘 구현 에러사항발생 진행하면서 느낀 점:자신의 MBTI와 궁합이 좋은지 안 좋은지 파악하는 알고리즘을 짜야했지만, 로직을 파악하지 못해 모든 데이터를 입력 그나마 적은 데이터여서 구현했지만 데이터 양이 많았다면 어떻게 처리해야 했을까 고민이 들었음(알고리즘 공부도 손놓지 말자) morgan + winston으로 로깅 환경 조성/input data 관리를 위해 joi 공부 후 적용 ..
CI/CD를 하면 좋은 이유? -어플리케이션 개발 부터 배포까지 서비스 변경사항을 빠르게 배포하기위해서(시장출시 기간 단축) -코드 품질개선(테스트 자동화) -위와 같은 자동화 과정으로 인한 리소스 절감 *개인적이유: 위와 같은 등등의 여러 장점등의 이유는 많았지만 배포하는 과정이 귀찮아서 시작하게된 공부를 조금 정리 해보았습니다.... CI들어가기전 관련용어 컴파일:프로그래머가 작성한 소스 코드를 컴퓨터가 이해 할 수 있는 기계어로 변환하는 과정(한국인 기준 영어->한국어) 빌드:소스코드 파일을 컴퓨터 에서 실행할 수있는 소프트웨어 산출물로 만드는과정 (컴파일된 코드를 실제 실행할수 있는 상태로 만드는일, 컴파일또한 빌드에 속해있는 작업이라생각) 배포:빌드의 결과물을 사용자가 접근 할수 있게 배치하는것..
😓이번주의 고민들 1) 아키텍쳐 패턴 고민(개발 시간 단축, 품질 향상, 검증 편리, 소통 원활, 이해 용이, 예측 가능을 위해) 결과 부터 말을 들이자면 Layered Architecture을 사용하기로 결정하였습니다. - 쉬운테스트 구조를 가지자( 단위 및 유닛 테스트를 통해 확실한 코드 구현을 위해) - 러닝커브가 짧은 프로젝트인만큼 논리가 복잡하지 않은 패턴을 선택하자(코드 품질 올리기위해서) 우선 저희가 추구하는 바는 위와 같은 사항들이 있었기 때문입니다. 그리고 그에 가장 적합한 아키텍쳐 패턴이 Layered Architecture이라 생각하였습니다. 다만, Layered Architecture에 대해 파악해 본결과 아래와 같은 단점이있다는 것을 알게되었습니다. 개발코스트가 증가하게된다. 하지..
🧑🏻💻지난주 배운 것들 그리고 깨달은 것들 클론 코딩 프로젝트 마무리 (마켓 컬리 클론 코딩) 로그인(기존에 해보았던걸 다시 함으로써 좀 더 어떻게 하면 좋을까 리팩터링 고민을 많이 하였음) 이메일 인증(nodemail라는 라이브러리 공부 및 이메일 서버에 대한 공부) 에러 핸들링을 공부하고 적용하여 서버의 안정성 좀 더 기여( 미들웨어에 대한 이해도 상승했던 기회였음) HTTPS를 적용하기 위해 SSL, CA, 암호화에 대한 개념에 대해 배우고 적용을 해보았다.(솔직히 아직 완벽한 이해는 못한 듯.. 그래도 암호화를 이해하고 나니 JWT 토큰 등 인증 관련쪽 개념에 대해서도 조금은 이해가 가는 듯 역시 모든 건 이어져있나..?) 좋은 프로젝트를 만들기 위해선 팀원들과 끝없이 대화를 하고 소통을 해야 ..
요청 객체 (Request) 일반적으로 req나 request와 같은 변수로 명명함. 어차피 콜백에 전달되므로 마음대로 지어도 된다. 여기서는 req로 사용. Methods req.params : 이름 붙은 라우트 파라미터를 담는다. ex : app.get(’/:idx’, (req, res) => { res.send(req.params.idx); }); -> req.params(name) : 이름 붙은 라우트 파라미터나 GET, POST 파라미터를 담는다. 하지만 여러가지 혼란을 줄 수 있어 사용하는 것을 지양해야한다. req.query : GET 방식으로 넘어오는 쿼리 스트링 파라미터를 담고 있다. req.body : POST 방식으로 넘어오는 파라미터를 담고있다. HTTP의 BODY 부분에 담겨져있는..
HTTP와 HTTPS란?? HTTP (Hypertext Transfer Protocol) html을 전송하기 위한 통신규약 HTTPS (Hypertext Transfer Protocol overSecuresocket layer) html을 전송하기 위한 통신규약이 가진 보안의 약점을 보완한것 HTTPS와 SSL은??? HTTP는 SSL위에서 돌아가는 서비스이다. 이 HTTP가 SSL을 이용하게되면 HTTPS인것이다. SSL과 TLS는? 같은 말이라고 생각하면 된다. SSL은 네스케이프에 의해서 발명이 되었다. 이것이 점차 폭넓게 사용이 되다가 표준화 기구인 IETF의 관리로 변경이 되고 TLS라는 이름으로 변경이 되었다. TIS1.0은 SSL3.0을 계승한다. 즉 현재 정확한 명칭으로는 SSL은 TLS라..
지난주 한 것들 그리고 깨달은것들 모던자바스크립트 독서 2시간(기초를 튼튼하게!!) CS공부 및 스터디 활동 2건 ERD의 중요성을 깨달았음(이 이유로 명확하게 원하는것을 만들어내지 못하였음) 프론트와 백엔드간의 정확하고 명확한 의사소통 수단이나 능력이 필요 이번주 이루고 싶은것들 앞서 다루어보지 못한 것들 구현(에러 헨들러, 토큰 FRESH, HTTPS 등) 기초에대한 좀더 명확한 이해 JS자체를 좀더 이해 해보자 서버 배포 담당을 해보고싶다(저번주차에 하지 못해서 아쉬웠다.) 위를 하고 싶은것은 배포 및 백과 프론트연결과정에서 생기는 다양한 문제를 직접처리 해보고 싶어서이다. 주간 회고 요번 주간회고는 TIL에서도 예고했던것 처럼 첫 협업을 진행하면서 느꼈던점 들에 대해서 이야기 해보자고 한다. -프..
https://velog.io/@neity16/NodeJs-%EC%9D%B4%EB%A9%94%EC%9D%BC-%EC%9D%B8%EC%A6%9D-%EA%B5%AC%ED%98%84nodemailer NodeJs - 이메일 인증 (nodemailer) : Node.js에서 사용하는 이메일 전송 라이브러리Emoji를 포함한 Unicode를 지원Plain text는 물론이고, HTML content를 사용SMTP 를 포함한 다양한 전송 방식을 지원OAuth2 인증방식을 지원그 외 자세한 정보는 velog.io https://nodemailer.com/about/ Nodemailer :: Nodemailer Nodemailer Nodemailer is a module for Node.js applications t..