작년 7월에 코드잇에서 풀스택 과정을 수료했습니다. 코드잇에서 풀스택 교육 과정을 참여할 예정이거나 고민중인 사람들은 이 글을 보고 인사이트를 얻으면 좋을 것 같네요. 어떤 사람들에게 추천하나요?전공자이지만 개발 기초 지식이 부족하다고 느끼는 분, 다른 업종에서 일하고 계시거나 비전공자이신 분들이 참여하면 좋을 것 같습니다.스스로 하나의 완전한 서비스를 만들어보고 운영해보는 경험을 쌓고 싶으시다면 풀스택, 코드 작성 시 화면에 바로 반영되는 것이 좋고 사용자 경험을 올리는데에 관심이 있으시다면 프론트, 데이터를 사용자에게 안정적이고 빠르게 전달될 수 있도록 성능 최적화하거나 인프라를 설계하는 것에 관심이 있으시다면 백엔드를 추천합니다. 교육 과정에 참여하기 전에 어떤 부분을 준비해두면 좋을까요?시작하기..
서론NestJS 프로젝트를 만들면 가장 먼저 하는 작업이 로그인 기능을 구현하는 것인데, 흐름을 생각하기보다는 구현에만 집중했던 것 같아서 개인적으로 한번 정리해보았습니다. 잘못된 부분들이 있을 수 있으니 댓글로 알려주시면 최대한 수정해보도록 하겠습니다. 폴더 구조 설명 ├─ src/ │ ├─ main.ts │ ├─ app.module.ts │ ├─ app.controller.ts │ ├─ app.controller.spec.ts │ ├─ app.service.ts │ ├─ common/ │ │ ├─ db.config.ts │ │ ├─ enums.ts │ │ ├─ logger.ts │ │ ├─ typeorm-logger.ts │ │ └─ types/ ..
프로젝트 소개주제: 이사업체 매칭 플랫폼 개요: 이사 시장에서는 무분별한 가격 책정과 무책임한 서비스 등으로 인해 정보의 투명성 및 신뢰도가 낮은 문제가 존재합니다. 이러한 문제를 해결하기 위해, 소비자가 원하는 서비스와 주거 정보를 입력하면 이사 전문가들이 견적을 제공하고 사용자가 이를 바탕으로 이사 전문가를 선정할 수 있는 매칭 서비스를 제작합니다. 이를 통해 소비자는 견적과 이사 전문가의 이전 고객들로부터의 후기를 확인하며 신뢰할 수 있는 전문가를 선택할 수 있고, 소비자와 이사 전문가 간의 간편한 매칭이 가능합니다. 팀 구성: 백엔드 3명 / 프론트 2명 개발 기간: 2025.05.15 ~ 2025.07.12 배포 주소: https://5-favmoving-team2-fe.vercel.app/ ..
누적합 알고리즘은?배열, 리스트 일정 구간까지의 합을 빠르게 계산하도록 미리 계산된 합의 결과를 저장해두는 방식.[여러 번 구간 합을 계산해야할 때 사용] 사용할 수 있는 조건- 배열이 반드시 정적 배열이어야 함. (변하지 않는 배열) const A = [3, 1, 4, 1, 5];const prefix = [A[0]];for (let i = 1; i i === 0 ? prefix[j] : prefix[j] - prefix[i - 1];console.log(sum(1, 3)); // 1 + 4 + 1 = 6 1차원 배열이 주어졌을 때는 기준 점의 왼쪽을 보면 되기 때문에 prefix[i] = prefix[i-1]+A[i] 와 같은 식을 사용하여 더해나갑니다. 만약 누적합 없이 계산해야한다면 시간 복잡..
그리디 알고리즘이란?현재 상황에서 가장 최적의 선택을 하는 알고리즘 (미래를 고려하지 않음) 그리드 알고리즘으로 문제를 푸는 방법문제를 읽고 항상 현재 상황에서 최적의 선택을 하면 전체적으로도 최적의 선택이 될 수 있을까를 고려한다.탐욕 조건(Greedy Chocie Property)과 최적 부분 구조(Optimal Substructure)가 있는 지 확인한다.탐욕 조건: 현재 상황에서 당장 최선이라고 생각한 선택이 결과적으로 전체에서도 최선의 선택이 된다는 성질최적 부분 구조: 전체 문제의 최적해(optimal solution)가 부분 문제의 최적해(optimal sub-solutions)로 구성될 수 있는 성질정렬 또는 우선순위 설정가장 좋은 선택을 판단할 기준을 설정한다.기준에 맞게 데이터를 정렬 ..
이분 탐색의 정의정렬된 배열에서 특정 값을 빠르게 찾아내는 알고리즘입니다.절반씩 나눠서 탐색하는 특징이 있고, 시간 복잡도는 O(log N) 입니다.N이 100만개 있을 때 20의 시간 복잡도를 가진다고 합니다. 전제 조건배열이 반드시 정렬 되어있어야 하는데, 오름차순인지 내림차순인지는 상관이 없지만 일반적으로 오름차순을 사용합니다. 일반적인 형태 (기본 형태 - JavaScript)function binarySearch(arr, target) { let left = 0; let right = arr.length - 1; while (left 코드를 보면 arr와 target을 파라미터로 받고 있습니다.arr는 값을 찾을 배열을 의미하고, target은 배열 안에서 찾아낼 값을 의미합니다. lef..
깃허브 주소https://github.com/CodeitFS5th-middle-project-team1 CodeitFS5th-middle-project-team1CodeitFS5th-middle-project-team1 has 3 repositories available. Follow their code on GitHub.github.com배포 주소(프론트)https://doc-thru-fe.vercel.app/(백엔드)https://docthru-be-wstf.onrender.com/ 프로젝트 주제대다수의 개발 시장 콘텐츠가 영어로 작성되어 있어, 영어를 잘 하지 못하는 한국인들이 해당 기술을 습득하는데 어려움을 겪고 있습니다. 그래서 개발 관련 영어 문서를 여러 사람들과 함께 한글화 작업을 하는 챌린..
선언 방법/* var 타입 */var name = '이동혁';/* let 타입 */let old = '27';/* const 타입 */const id = 'hyuk'; var Scope 관점 변수가 함수 내에서만 유효합니다. function () { var x=10;}console.log(x); // 유효하지않음 Hoisting 관점변수 선언은 최상단으로 올려지지만, 값은 hoisting 되지 않습니다. console.log(x); // undefined 출력var x = 100; 재선언 / 재할당 관점재선언이 가능하고, 변수의 값을 변경(재할당)할 수 있습니다. var x = 10;var x = 100;console.log(x); // 100 출력 let Scope 관점블록 Scope 관점으로..
브라우저란?인터넷을 통해 웹 자원을 검색하여 사용자에게 보여주는 소프트웨어입니다. 브라우저 동작 순서 1. 사용자가 브라우저 주소창에 웹페이지 정보를 입력합니다.이때 주소창에 입력할 내용은 이런 구조로 이루어져있습니다. 2. DNS 서버에서 도메인 주소를 아이피로 변환하여 줍니다. (DNS란 Domain Name System의 약자입니다.) 3. 해당 아이피의 웹서버와 연결하여 필요한 정보를 제공받습니다. 제공받는 정보에는 HTML, CSS, JAVASCRIPT 등이 있습니다.웹 브라우저는 그 정보를 통해 웹사이트 내의 구성요소들을 배치합니다. 4. 브라우저가 사용자 화면에 웹 사이트를 보여줍니다. 사용자 관점에서 브라우저와 실제 동작의 차이사용자 관점에서는 단순히 주소를 입력하면 1초도 되..
- Total
- Today
- Yesterday
- working directory
- Next.js
- jwt
- 코드잇스프린트후기
- greedy
- Refresh Rotation
- let
- Var
- 프로젝트
- 동작원리
- docthru
- 코드잇스프린트
- const
- 공부의숲
- 이분 탐색
- footer
- 독스루
- NestJS
- 코드잇스프린트프리코스
- staging area
- 백엔드
- cascading
- 알고리즘
- 포트폴리오
- 회고록
- notion
- 취업까지달린다
- 시맨틱태그
- vercel
- 그리디 알고리즘
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |