1. 오늘 겪은 문제 JS 알고리즘 문제풀이 TIL 특강 (by 강민철) https://wood-art-566.notion.site/TIL-WIL-by-54812564fd4b48c4b0314b5af0b93282 2. 해본 시도 TIL 특강 특강 들으면서 하지말라는
그룹 면담 (with DevCra의 CIO 강창민 코치님 ) JS 알고리즘 문제풀이 중 { 1\. 정규표현식에 대한 미숙함. 2\. 여전히 for 반복문을 선호한다. 아니 for 반복문만 쓴다..ㅠㅠ 3\. 문자열의 인덱스 요소 별로 정렬하기}1\. 그룹
1\. 매니저님 과의 질의 응답 시간2\. JS 알고리즘 문제풀이 중 { 1\. 집합, 그리고 여-차-합 집합 2\. Spread 구문의 편리성}1\. 매니저님 과의 질의 응답 시간 문제 풀이와 코드 리뷰에 대한 전반적인 내용에 대하여 나누었고, AI 서비스 들
1\. 특강\[💲 연봉 1억 대기업 개발자 되기! 특강 (with 김태선님)]2\. 모던 JS DEEP DIVE 공부 시작 1장 - 프로그래밍3\. 알고리즘 문제 풀이 \- 1. 함수 선언 시 동작과 요소를 분리하여 사용하지 않았다 \-> 요소 생성 중복이 발
알고리즘 문제 - 투포인터투포인터JS DEEP DIVE인터프리티 언어인 JS투 포인터2중 포문을 통해 구현은 하였지만, 시간초과가 났다. JS DEEP DIVEJS를 쓰고 있지만 막상 JS의 장단점에 깊게 고민해 본적은 없었다. 막연하게 프론트 백엔드를 오갈 수 있는
1\. 정규식 표현2\. 시험 문제 JS 알고리즘\*\*3\. JS DEEP DIVE 1.정규 표현식(RegEx)\*\* 공부 내용 정리!, 연습 문제 풀이 완료! 2.알고리즘 시험 문제를 풀었는데, 다 풀어놓고 사소한 실수로 한 문제를 틀렸다... 3.JS의 불변값
1\. node-mongoose, find함수 사용시 특정 속성 제하고 반환하기2\. node-mongoose에서 에러 핸들링하기1\. node-mongoose, find함수 사용시 특정 속성 제하고 반환하기mongodb의 find 함수의 파라미터중 하나인 projec
1\. mongoose의 \_id 의 objectId 객체 다른 이름으로 클라이언트에 전달하기2\. express의 미들웨어?, 에러처리?3\. AWS의 배포에 대하여..\[\[배포 정리 ( AWS EC2, GITHUB, PM2, 가비아 )]]1\. mongoose
1\. sateless 무상태 vs stateful 2\. bearer타입 3\. null 병합 연산자 4\. jwt 인증 흐름 5\. trycatch 서버가 죽는 걸 막기위한 최후의 보루... 1\. sateless vs stateful \-statless와
1\. aws RDS 구매기2\. errorhandler에 대한 고민덜 친숙하던 aws와 점점 친해지는 기분이다. 나는 서버 컴퓨터만 빌릴 생각을 했지 DB를 빌릴 생각은 처음 해봤다. 구글 검색과 안내 해주신 스크립트를 유심히 봤다.errorhandler에 대한
1\. sequelize 외래키, 참조키 설정 hasnOne, hasMany, belongsTo2\. sequelize model에서 생성말고 db:migrate해야하는 이유외래키 참조키가 사용하기 쉬워졌다면 해당 테이블들 사이의 관계를 명확히 표현하는 ERD에
1\. tcp, udp2\. swagger 사용기3\. throw error4\. chrome_extension 점메추tcp, udp 개념을 배우고 udp가 socket.io를 사용하여 적용되는 실시간 환경을 구성해 보았다. swagger와 swagger-aut
1\. 리프레시토큰2\. 트렌젝션리프레시 토큰에 대해서 배워봤다. 리프레쉬 토큰이 필요한 이유나, 배경에 대해서는 이해했으나, 실제 구현해 보는 과정의 흐름이 아직 잘 숙달됐다고 생각이 들지 않았다. 더 반복만이 답이라는 생각이 든다.mongoose에서 물론 fin
1\. sequelize migrate 중도에 속성 변경 혹은 속성 추가, 삭제하는 방법2\. 좋아요 기능 처리migrate내용을 바꾼뒤 sequelize-cli db:migrate 명령어를 사용해보아도 적용되지 않았다. 해서 undo 해준 후 다시 migrate해줄
1\. morgan2\. bcryptjs3\. Layered Architecturelogging을 도와주는 morgan을 사용해 봤고, 더 궁금해서 커스텀하는 법이나, 해당 로그를 파일로 저장하는 방법들을 찾아 보았다.bcryptjs를 통해서 비밀번호를 암호화여
1\. 기술 맥락이 먼저이다. 이 기술의 사용이 필요하게 된 맥락2\. Layered architecture오늘 TS를 어떤 식으로 공부하면 좋을까 코치님에게 물어봤을 때, 감명깊게 와닿은 부분이었다. 단순히 기술을 궁금해 하는 게 아니라 TS가 필요한 이유에 집중하
1\. refresh token 구현2\. transcation refresh token을 직접 구현해 봤는데, 처음에는 redis를 사용해 볼 생각 이었으나, 프로젝트의 규모가 작기 때문에 fs, path 모듈을 통해 json파일에 refresh토큰을 저장, 확인
1\. jest 시작!2\. 의존성 주입, 생성자 주입3\. layered architecture의 밖에 있는 코드들에 대하여jest를 사용하기 위한 시동을 거는 중이다. 현재 기본적인 단위 테스트하는 방법들에 대해 배웠고, 데이터 베이스를 직접 사용한다면 테스트시
1\. jest, supertest 그리고 언제, 왜2\. 학습 방향성jest 를 사용해보고 있으며, jest를 통한 유닛테스트 supertest를 통한 통합테스트를 구현하고 있다. 하지만 작은 단위의 그리고 실제 서비스를 하고 있지 않은 프로젝트내에서 이를 구현하
유닛, 통합 테스트jest를 통해서 유닛, 통합 테스트 코드를 작성했다. 유닛 테스트 같은 경우에는 repository레이어에 의존성을 주입하고 mock라는 가짜객체를 통해서 실제 DB에 영향을 주지 않고 테스트 가능하도록 작성했다. 통합 테스트는 config.js 파
redis testjest로 테스트 진행 중 통합 테스트 진행시 test mysql db를 생성하여 해당 영역에서 테스트를 진행했으나, 로그인 기능을 점검하는 것에 토큰을 저장하기 위해서 redis를 추가적으로 사용했기 때문에 에러가 발생하였다. 해서 새로운 test용
nest 구조와 layered architecture pattern 과 유사성& nest-> module -> singletondtonest를 시작했다. 일전에 경험했던 controller-service-repo 로 구성되어 있던 layered architecture
nest-pipe(data-trans, data-validate middleware 비스무리 한거) handler-level, parameter-level, global-levelbuilt-in pipe가 있어??postgres 사용기typeorm entityrepos
loggerjwt, passport어제 말했던 logger 에 대하여 알아보고 사용하였다. 사용하고 싶은 부분에서 Logger 을 불러와준 뒤 생성자 함수를 통해 불러와 주면 된다. jwt, passport 를 이용하여 인증과 인가에 대한 부분을 처리했다. nest에서
api 설계팀웍오늘 부터 팀단위의 프로젝트를 시작했다. 다들 서로 배려해주시고 즐겁게 진행할 수 있을 것 같다. api설계를 했는데, 주고 받을 데이터의 타입이라던가, res, req의 예시라던가 가능한 제일 상세히 설명해야겠다고 생각했고, 그렇게 시도했다.팀단위로 시
config.js transaction은 어느 layer에서?config.js 파일을 만들어 export해주었으나, sequelize error가 나서 sequelize-model-index 파일에서 console로 직접 확인도 하여서 잘 찍히는 것을 확인했으나, 여전
swaggerunit test프론트 분들이 배포 및 swagger,api doc 페이지를 요청하셔서 오늘 진행했다. swagger같은 경우 swagger-autogen 패키지를 이용하여 자동 생성하였으나, api작성시 해당 코드에서 설정을 해주지 않으면 세부설정들이 기
controller unit testcorsreturn error에 관하여http to https컨트롤러에서 유닛테스트를 진행하던 중에 실패가 계속 발생하여 찾아본 결과 최하단의 함수로직을 실행하기 위하여 중간에 거쳐가야할 검증과정 함수들을 목킹한 후 해당 검증과정 함
supertest agentartillery & artillery reporthttpscomment의 crud 요청을 통합 테스트로 진행하려 할때 특정 method들은 로그인 정보가 필요하기 때문에 테스트 코드 작성에 문제가 있었다. 해서 유저정보 객체를 생성하여 해당
Customworldcup 프로젝트 발표한 주간 준비해왔던 프로젝트를 오늘 발표하게 되었다. 팀원분들이 다들 너무 잘해주셔서 감사하며 진행했던 것 같다.전반적인 내 스스로 회고를 하자면 일단 쿼리에 대한 이해도가 부족하다는 생각이 들었다. 기본적인 쿼리문에서 레벨업 해
프로젝트 스코프 정하기도전할 새로운 기술 선정하기프로젝트 스코프를 정하는 것에 있어 일전의 프로젝트에서 하지 못한 기술들을 중점적으로 선정하였다. 다만 시간이 일주일이며, 사실상 작업은 2,3일내로 완성해야하는 상황이었기 때문에 선택과 집중이 필요했다.도전할 새로운 기
multer , s3 , aws-sdks3 버켓을 생성하고, aws-sdk와 multer를 사용한 미들웨어를 통해서 이미지 업로드 과정을 시도했다.aws-sdk, multer-s3 모듈을 사용하니 생각보다는 간단하게 구현 가능했다.여러 소켓과 채팅 구현하는 방법들에 대
refresh token 정리socket io 예행 연습refresh token에 대한 질문 요청을 꽤나 많이 받았었다. 해서 또 누군가 질문을 하셨을 때 빠르게 도움을 드리고자 내 경험을 토대로 정리하여 보았다. socket io를 실제 프로젝트에 적용하기 전에 기존
chatting service 데이터 베이스 구조 결정즉시실행함수와 requirechatting 데이터를 저장하는 것에는 mysql보다 nosql인 mongodb를 사용하는 것이 더 적합하다고 판단했다. create과 read의 연산이 많고, 매번 발생하는 채팅 데이터
cdn, cloudfrontcache정적 파일들에 대한 CDN을 적용하기 위해 알아본 결과, 마침 aws-s3도 사용하고 있고 aws의 cloudfront 서비스를 적용하기 위해 시도했다.라인개발실록 유튜브 채널의 대규모 서비스 운영에 대한 동영상을 보고 캐싱을 통해서
elasticsearch, elk스케일 아웃, 스케일 업, 로드밸런싱우연히 채용공고에서 elasticsearch 우대 사항을 보게 되었는데 이게 본 것 같은데, 뭐지 싶어서 찾아보게 되었다. 기본적인 RDS의 형식을 가지면서도 Nosql같은게 신기했다.오늘 프로젝트 발
실전 챌린지 프로젝트 기획기획 아주 어렵다. ㅠㅠㅠ정신이 하나도 없다.. 분주한 정신으로 진행하다 보니 모호하고 애매하게 결정된 의사결정들이 너무 많았다. 다행히 8시 기획 특강을 듣고 정신 차린 후에 고삐를 다시 잡았다.일단 내일 까지 결정을 보류하고 더 세세한 부분
회의와 의사결정의 중요성프로젝트의 전체적인 구조와 목표, 우리가 보여줄 것이 무엇인가에 대하여 논의하고 세부적인 항목들, api 명세 등을 결정했다.개발자가 코드만 잘 짜면 되지라는 생각은 오늘부로 추호도 하지 않을 것이다. 프로젝트를 시작하는 것에 앞서 서로 의견을
Nest 학습기획 보안Nest에 대하여 학습 중이다. 오늘은 test에 대하여 전반적으로 배웠고 기분적인 api 작성등을 숙지했다.기획부분에서 코치님이 주신 피드백을 듣고 기획에 추가적인 부분들을 더했다.오늘 밤에 코치님과 대면 피드백이 있는데 이 과정에서 기획적인 불
react현재 프로젝트를 진행하는 구성원이 나 포함 4, 모두 백엔드인데 아무래도 프론트 관련해서 대부분 경험이 없으셨기 때문에 한두번이라도 react를 다뤄본 내가 기본적인 view들을 만들기로 하였고, 진행 중이다.일단 기본적인 페이지 라우팅 설정 정도만 마무리
useState, useEffect, react-router-dom, Link, Navigator기본적인 view의 틀을 만들기 위해서 react의 상태 및 hook들을 사용했고, 기본적인 페이지 라우팅은 react-router-dom의 link나 navigator,
Nest typeOrm-repository setting일전의 혼자 연습할 때는 구글링을 통해서 custom entity decorator를 만들어 사용했으나, 더 편리한 방법을 찾아서 해당 게시글을 참고하여 세팅을 할 수 있었다.https://velog.io
Nest loggerNest filterNest pipe vs filterNest class-validator오늘은 각각 logger, class-validator, exception-filter를 작성하여 추가했다.작성하다보니 pipe 와 filter가 서로 무엇이
Nest 인증, with jwt, passport 이전의 express에서는 jwt를 통해서 middleware를 거쳐 인증 흐름을 처리 했다면 Nest에는 guard가 있다. 해서 jwt guard에 passport를 적용해서, 바로 jwt strategy로 이동해서
Nest - api 작성기params 로 받아온 데이터들 parseIntpipe로 바로 number로 변환해주기query string 이용하여 조회하기api 명세를 작성할 때는 괜찮을 줄 알았는데 해당 resource에 대한 표현에 수정이 필요했다. 내일 회의 때 말하
typeorm querybuildersequelize와 다르게 typeorm에서는 querybuilder를 흔히들 잘 쓰는 것 같더라,,,나는 써보질 않아서 헤매고 FK관계를 가진 두 테이블에 대하여 생성하거나, 조회하거나 할 때 쿼리를 짜는 것에서 애를 먹었다. 여러
aws elb(elastic load balancer)gpt-codereview-bot 추가하기sqlectronloadbalancer를 통해서 여러개의 서버들에 요청들을 분산하여 처리가 가능하도록 설정할 수 있으며, https 설정 또한 loadbalancer와 cli
jest spyonNest can't resolve dependencies of the .... (?). Please make sure that the argument .... at index 0 is available in the RootTestModule conte
React, axios 사용해서 front-back 연결하기React text editorCS스터디React-axios 사용해서 state에 담아주고, useEffect 훅을 사용해서 데이터들을 전달해줬다. 다만 데이터를 받아오지 못하거나 빈값을 전달받을 때 undef
CPU와 메모리React localstorageCS 스터디를 시작하는데 CPU와 메모리에 대하여 정리 해봤다. 생각보다 모호하게 인지하고 있던 부분들이 존재했다.React로 로그인 시, 해당 쿠키나 정보들에 대해서 localstoage혹은 cookie에 저장하여 인증
contextapi, localstorageprivate routereact-quill editor처음에 context에 유저정보를 저장하여 로그인 상태를 관리하려고 하였으나, 세로고침 해버리면 초기화가 되어버리는 문제가 있었다. 해서 localstorage에 저장하여
localstorage에 담긴 정보로 상태관리 및 유지하기useNavigate 사용시 문제점localstorage에 저장해놓은 유저정보로 페이지별로 유저 정보 state를 설정하기 위해서 useEffect훅을 사용하여 설정해주고 있었으나, 페이지 이동시 useNavig
changesetradix, counting sort문서의 형상관리 기능을 구현하기 위해서, 증분식 백업이란 키워드와 changeset이라는 키워드를 가지고 조사하고 있었다. 형상관리를 구현하기 위해서는 기존의 문서 버전과 현재 버전의 변경사항을 유형에 맞게 비교해서
컴포넌트 화 시키기?!물론 리액트에 비중을 쏟지 않는다고 하지만 리액트로 진행을 해나가다 보면 특정 랜더링을하거나, axios를 통해 요청을 받아와서 뿌려주는 과정에서 해당 내용들을 컴포넌트 단위로 만들고, 그것을 가져다 쓰게 만들면 더 효율적이라는 생각이 드는 부분들
CS 스터디 CPU와 메모리 심화캐시, redis 사용 의사결정CS study - CPU와 메모리 심화Nest 내부에서 제공하는 Cachemodule을 사용하여 Caching을 적용할 수도 있지만, 추후에 많은 트래픽을 예상해 여러 대의 서버를 로드밸런싱하여 분산하여
Why caching with redis?Nest Express vs FastifyWhy Redis?Nest Express vs FastifyNestjs에 redis cache 적용하기 캐싱, redis에서는 클러스터링이 가능하다!! 성능 업! 튜닝 가능! 최고!
Index (https://www.youtube.com/watch?v=iNvYsGKelYs&t=176s)elk캐싱에 대해 마무리하고 오늘은 DB인덱싱을 통한 검색 성능 상승을 도모하고 있다. 다만 현재는 인덱싱이 무엇인지, typeorm에서 데코레이션을 통해
elasticsearchlogstashkibanaELK 스택을 도커 이미지로 생성해 띄우는 것 까지는 성공했는데...logstash를 활용해 AWS-RDS의 정보들을 es에 넣어주는 것에서 막혀있는 상황이다. mysql은 많던데 postgres는 왜 인사이트가 없는 것
service 계층에서 custom cache 사용하여 조회수 기능 구현하기EC2에 ELK 설치 하기 but 0.5gb..ㅠㅠ기본적으로 글로벌 인터셉터로 캐시 인터셉터를 등록해 놨으나, 유저들이 해당 게시글을 조회했을 때 캐시 메모리에 유저의 조회 기록을 남겨서 조회수
history 로드 시 생성, 삭제에 따른 UI 개선 작업추천, 인기글 알고리즘문서의 버전이 달라진 히스토리를 확인 할 때, 해당 변경 내용들에 따라 어느 부분이 생성, 삭제 되었는지를 사용자가 빠르게 판별할 수 있도록 해당 UI를 초록색 빨간색으로 표시해주도록 개선을
CS study 프로세스 생명주기와 프로세스 메모리UI 개선CS study 자료 정리!UI 개선을 위해서 일단 폰트를 바꿔놓은 상태다. 편리하게 사용하기 위해서 UI framework를 찾아보고 있는데 antd,와 mui중에 골라 결정할 예정이다.이제껏 작업한 백엔드
UI 새단장chakra UIUI의 대대적인 개선이 필요했다. 이전의 간소하게 기능 구현에 대한 UI들을 개선해서 우리가 만들어 놓은 기능들을 더 명시적으로 보여줄 수 있도록 개선하고자 했다위의 목표를 빠르게 완수하기 위해서 React css framework인 chak
front 배포httpsfront 배포 시에 react build가 실패하는 문제가 있었다. 원인을 아무리 찾아도 발견할 수 가없어서 인스턴스를 날리고 다시 생성해 시도해봤더니 실행되었다. 미스테리..https도 프론트 url에 적용할 예정이다 일전에 실패했던 기억이
https 적용DB Indexreact 정리도매인과 route53의 네임 서버로 연결 후, aws certmanager를 통해서 인증서 발급 받고, loadbalancer와 타겟그룹을 통해서 https적용을 시도했으나, 기본 인증서 등록하는 란을 아무리 찾아봐도 안보여
브로슈어 작성이제 껏 해온 것들을 문서로 나타낼 시간이다. 꼼꼼하게 작성하자.작성하고 피드백 받고 반복이다.
CS study 정리UI 변경브로슈어 작성CS study 쓰레드와 쓰레드 풀UI를 멘토님께 꽤나 악평을 받았다. 확실히 듣고 보니 고쳐야할 필요성이 있었고, 팀원들과 몇가지 테마를 두고 선정하여 교체했다.브로슈어 작성 짧은 기능 단위 시연영상을 gif로 변경하여 게시하