Career/JD- Junior Backend

(글로벌, 국내) 주니어 백엔드 개발자 취업 위해 공부할 부분 (feat.openAi)

Queen Julia 2023. 9. 25. 13:09

[취업준비 시 집중적으로 공부할 부분] 

프로그래밍 언어 하나 숙련 - javascript(node.js) 공부 , 

웹 프레임워크 - express.js 공부 , 

데이터베이스 관리 시스템 (MySQL)/ 쿼리 작성 능력 

HTTP 프로토콜 , RESTful API 디자인 원칙

클라우드 플랫폼(AWS, Azure, Google Cloud) 사용하여 애플리케이션 배포 관리ful 

도구 및 라이브러리 익숙 (Git, Docker, RESTful 클라이언트 라이브러리, 테스팅 프레임워크)

웹 애플리케이션 보안 개념

API 엔드포인트를 설계하고 구현 

 

국내,글로벌 모두 비슷하게 공통되는 게 있다.


[내가 각 항목에 따라 공부한 것을 기록한 progress, link 들의 통합본]

 

Junior Backend Developer 기술 스택, 도메인 공부 전략 ** 공부 후 추가

[취업준비 시 집중적으로 공부할 부분] 프로그래밍 언어 하나 숙련 - javascript(node.js) 공부 , 웹 프레임워크 - express.js 공부 , 데이터베이스 관리 시스템 (MySQL)/ 쿼리 작성 능력 HTTP 프로토콜 , RESTful

pm-developer-justdoit.tistory.com

 

프로그래밍 언어 하나 숙련 - javascript(node.js) 공부 

 

프리코스 (5) 8/18 - JS pre 강의 : 1. Console

1. Console alert() 함수는 사용자에게 안내하고 싶은 텍스트를 보여줬다면, console.log() 함수는 개발자가 확인하고 싶은 내용을 출력하는 함수 개발자가 확인하고 싶은 내용을 출력하는 console.log() 함

pm-developer-justdoit.tistory.com

 

프리코스 (6) - Javascript : 2.데이터 타입, 3.String 문자열

2.데이터 타입 변수에 숫자만 넣어봤는데, 숫자 외에도 다양한 데이터/값 넣을 수 let myNumber2=200; console.log(myNumber2) 2-1. 기본형 데이터 1)Number 왼쪽 값과 오른쪽 값을 처리하여 하나의 값으로 만드

pm-developer-justdoit.tistory.com

 

프리코스 (7) - Javascript : 4.함수 (1) 정의, 호출

4. 함수 (1) : 정의, 호출 요즘은 함수 잘해야 함. 와 진짜 replit다 풀어오라는데 한명도 10명 이상 안함? function alertSuccess(month, name) { alert(month + "월의 당첨자는 " + name + "입니다."); } alertSuccess(3, "김

pm-developer-justdoit.tistory.com

 

프리코스 (8) - Javascript : 4.함수 (2) return이 있는 함수 (return vs. console.log 차이)

4. 함수 (2) return이 있는 함수 return의 정의 return은 함수의 실행을 종료하고, return문 뒤에 주어진 값을 반환합니다. 함수를 호출한 결과값은 console.log()로 확인할 수 있습니다. function multiplyTen(myNumbe

pm-developer-justdoit.tistory.com

 

맥북 Node.js 설치

자바스크립트가 브라우저 없이 동작하게 하는 것이 Node이다. 어제 맥북에 기본적으로 내장된 terminal이 정상적으로 작동되지 않아서, iTerm을 설치한 것에 이어, Node js. 를 설치해보았다. 1. https://no

pm-developer-justdoit.tistory.com

 

Node js. 에 Express 없이 기본 server 띄어보기

Node Without Express 1. vs code editor를 연다 Node.js 내장 http 모듈을 가져와서 사용할 수 있도록 변수를 담는다 const http = require('http') - node는 import 문법을 자동으로 지원하지 않기 때문에, require 문법을

pm-developer-justdoit.tistory.com

 

Node.js

Node.js 하는 이유 자바스크립트는 브라우저 안의 언어 속도가 되게 빨라서, 브라우저만 하기에 아깝다. 서버도 그럼 자바스크립트로 만들자 브라우저 밖에서 서버에서 작동하게 하는 환경 = node.j

pm-developer-justdoit.tistory.com

 

웹 프레임워크 - express.js 공부 

 

[Node.js] Express 서버 다운로드

Express는 Node 개발자들이 많이 사용하는 framework 이다. 더 읽기 쉽고 유연하고 지속가능한 백엔드 앱 개발을 돕는다. 라우팅과 로직의 모듈화를 위해 사용한다. Express.js 설치 terminal에 npm install expre

pm-developer-justdoit.tistory.com

 

[Node.js] Express, j.son 문법

Server 생성 const http = require(http) http라는 변수 다른 파일 곳곳에 있는 걸 가져올 거에ㅐ = require (밖에 있는 거 갖다 쓸 때) app.get( → 하나의 기능 ex.마이페이지, 이름수정 등) 만약 기능이 6개면 app.

pm-developer-justdoit.tistory.com

 

[Node.js] Express 정의

Express 는 framework 이다. 0. 자바스크립트는 브라우저 안의 언어 속도가 되게 빨라서, 브라우저만 하기에 아깝다. 서버도 그럼 자바스크립트로 만들자 (브라우저 밖에서 서버에서 작동하게 하는 환

pm-developer-justdoit.tistory.com

 

 

[Node.js] Express, postman 활용 - 유저 생성, 추가 (회원가입)

이거를 배열로 추가하는게 아니라, Express로 server 연결하는 것을 나중에 할 것임 아래에 있는 것도, 그냥 수업에서 하라는데로 따라했다.. 잘 모르는겠는데, 다시 돌아와서 포스팅 남기겠음. 유저

pm-developer-justdoit.tistory.com

 

 

[Express]Express, TypeORM.

잘 모르는 상태에서 수업 내용 정리했는데, 다시 채워지면 다시 적어야겠다. 다시 채워진 블로그 https://pm-developer-justdoit.tistory.com/71 백엔드 서버, 데이터베이스 서버, express, mysql, Typeorm 관계 코딩

pm-developer-justdoit.tistory.com

 

HTTP 프로토콜 , RESTful API 디자인 원칙

 

Foundation 2- Http, 인터넷부터 api 호출까지 (수정)**

태생부터가 자바스크립트는 웹사이트를 위해 만들어진 것 --> 동적으로 만들기 위해 생겨난거니까 자바스크립트가 원래 엄청 느렸고 (C,C#에 비해) 이상한 언어인데 보편화돼서 쓰는거라 속도 빨

pm-developer-justdoit.tistory.com

 

get method의 2가지 방법 (query, params)

get방식은 주소창을 이용하는 것 post는 body에 값을 담아야 하는 것 (req: body --> request의 body ) 2가지 방법 : query, params params 방법 : 쓰고 변수 쓰면, # :id :id가 params에 들어온다 Query 방법 ex1 q=jo (q를 jo

pm-developer-justdoit.tistory.com

 

[Server Communication] HTTP, HTTPS, get/post method (app.get, app.post)

프론트가 물리적으로 떨어져있는 내 웹브라우저까지 와야하는데 백엔드에 요청하고 받아야 하는데 물리적으로 멀리 떨어져잇는 서버에 요청해야하는데 이 통신이 어떻게 이루어지는가 통신

pm-developer-justdoit.tistory.com

 

도구 및 라이브러리 익숙 (Git, Docker, RESTful 클라이언트 라이브러리, 테스팅 프레임워크) 

docker

(이후 추가)

testing 

(이후 추가)

 

Project 2- 5일차 (2): [회원가입 PR 과정, comment, 깃허브 현업 활용]

할때마다 commit 하라고 해서, git add . git commit -m 기능별로 commit을 하라는건, push까지 해야 한다는 뜻. m pr: 큰 기능에, feature branch의 마감 commit message에 어떤 기능별로 오면, 그거만 보면 되는데, 한

pm-developer-justdoit.tistory.com

 

내가 생성한 코드 깃허브에 push하기 (주황색)

간단하게 이해하기 좋은 실습 [깃허브] branch 생성 후 github 업로드 성공! 포스팅 업로드를하다가, user- 회원가입 , 로그인 posting- 포스팅 이렇게 구분해서 코드를 미리 올려놓으면 좋겠다 싶어서,

pm-developer-justdoit.tistory.com

 

[GitHub] 깃허브 활용

Git은 버전 관리 시스템으로, 시간이 지남에 따라 파일의 변경 사항을 추적하는 도구입니다. GitHub은 Git을 사용하는 프로젝트를 위한 호스팅 서비스 GitHub을 사용하여 로컬 프로젝트 repository를 원

pm-developer-justdoit.tistory.com

 

Foundation Test: 깃허브 branch 생성, remote 올리고, pull request, main branch pull 까지 : 한 사이클 정리

간결하고 이해하기 쉬운 실습 [깃허브] branch 생성 후 github 업로드 성공! 포스팅 업로드를하다가, user- 회원가입 , 로그인 posting- 포스팅 이렇게 구분해서 코드를 미리 올려놓으면 좋겠다 싶어서,

pm-developer-justdoit.tistory.com

 

Foundation Test - [깃허브] branch 생성 후 github 업로드 성공!

포스팅 업로드를하다가, user- 회원가입 , 로그인 posting- 포스팅 이렇게 구분해서 코드를 미리 올려놓으면 좋겠다 싶어서, 내 개인 repository에 올리고 싶어서 다시한번 실패했던, 질문하려고 했던 g

pm-developer-justdoit.tistory.com

 

Project1- 2일차: 초기세팅 PR 후 commit (2), 깃허브에 다 딸려 올라갔을 때

branch 가 push 하기 전까진, remote 깃허브에 안 나오고, 그렇다면, branch가 로컬에만 있고, 로컬에 있는 branch를 확인하기 위한 방법: ls -al 왜냐, 폴더, 파일은 안 나오지 않게 때문에 db에 필수 , 선택

pm-developer-justdoit.tistory.com

 

Project 1 - 4일차 : 깃허브 branch 문제해결 [1차 시도]/ 코드 질문 / '본질에 집중'

내가 거의 깃허브 관리 담당이였다. 제대로 말하자면, 깃허브 branch에 분리해서 코드를 올리는 사람. 즉, 코드도 치고 올리는 사람. 팀원들이 코드를 주긴 하는데, 틀린 코드도 있고 실행하는 사

pm-developer-justdoit.tistory.com

 

Project 1: 5일 차 오후: 깃허브 branch 문제 해결 [2차 시도] (체리픽까지 나옴)

수요일부터 해결하고자 하였다. 나이트 멘토님과의 고군분투 심화과정 rebase까지 나왔다. 목요일에 경래 멘토님과 문제 정리 수요일 새로 생긴 오류를 해결하기 위해서는, 월요일의 이전 오류부

pm-developer-justdoit.tistory.com

 

Project 1 - 5일차: 프로젝트 끝나고, 마무리 작업, 개인 repository 이동 (또 깃허브 github remove 오류 해

Project 1- 5일차: 통신 완료! 마지막날 통신 하기 전에 실수 1. datasource 를 잘못 정의 했다. 2. 회원가입을 하고 나서, 토큰이 안 돼서 알고보니, 해쉬 함수가 로그인 함수에만 들어가는게 아니라, 회

pm-developer-justdoit.tistory.com

 

Project 2- 5일차 (2): [회원가입 PR 과정, comment, 깃허브 현업 활용]

할때마다 commit 하라고 해서, git add . git commit -m 기능별로 commit을 하라는건, push까지 해야 한다는 뜻. m pr: 큰 기능에, feature branch의 마감 commit message에 어떤 기능별로 오면, 그거만 보면 되는데, 한

pm-developer-justdoit.tistory.com

 

Project 2 - 5일 차: 깃허브 [local 최신화, git pull origin 하며] 깃허브에 대해 복습, 새롭게 알게 된 사

github 에서 remote 저장소에서 변경사항을 받으려고 local을 최신화하려고 하면, git pull origin [pull 받으려는 branch 이름] 그런데, 그 pull받으려는 branch로 checkout 가서 받아야 함. branch 간 이동을 위해서

pm-developer-justdoit.tistory.com

 

Project 2 - 5일 차: 깃허브의 매력 세계로 풍덩. remote

프론트에드 멘토님 (깃허브 2인자)과 나의 Q&A Q: 내가 프로젝트 2를 하다가, 생각나서, 프로젝트 1 코드 app.js를 수정했다. 그러면 나는 이것을 push하기 위해서는 지금 project 2 에 연결돼 있는 remote

pm-developer-justdoit.tistory.com

 

 

Project 2- 5일차 (7): [로그인 API, 깃허브 PR]

'feature/login' branch의 app.js 전체코드 const express = require('express'); const morgan = require('morgan'); const cors = require('cors'); require('dotenv').config(); const app = express(); app.set('port', process.env.PORT || 8000); app.use(cors());

pm-developer-justdoit.tistory.com

HTTP 프로토콜 , RESTful API 디자인 원칙

 

Project 2 - 2일차 : [Restful API] 세션 (path부터 다시)**

앞으로는 restful api 엄격하게 add, create 가 들어가지 않게 리뷰해서 main branch에 들어가지 않게끔. main branch에는 엄격하게 지켜져야 함 호출할 때, 프론트가 json body에 담아서 가져가는게 아니라, 프

pm-developer-justdoit.tistory.com

 

Project 2- 2일 차: [API]세션(1) Path parameter

Project 2 - 2일차 : [Restful API] 세션 (path부터 다시)** 앞으로는 restful api 엄격하게 add, create 가 들어가지 않게 리뷰해서 main branch에 들어가지 않게끔. main branch에는 엄격하게 지켜져야 함 호출할 때,

pm-developer-justdoit.tistory.com

 

Project 2- 2일 차: [API]세션(2) Query Parameter (정렬부터 다시)**

Query Parameter 1. query parameter란? url에서 특정한 조건을 주고 싶을 때 사용하는 매개변수 유형 같은 API를 호출한다고 해도, 서로 다른 조건으로 나열하는 것이 필요한 상황에 사용 URL 끝에 물음표(?)

pm-developer-justdoit.tistory.com

데이터베이스 관리 시스템 (MySQL)

 

[Mac] MySQL 설치

설치하면서 티스토리를 남겨서, 캡쳐본을 완벽하게 남겨두었는데, 컨디션 난조로 임시저장 후 날라갔다.. 아쉽게도 캡쳐본이 없다.. mySQL 공식 사이트에서도 다운로드 가능하지만, 맥북의 경우 h

pm-developer-justdoit.tistory.com

 

[MySQL] SQL 개념, 쿼리언어/ '데이터베이스', '관계형데이터베이스', SQL의 관계

SQL문을 사용하는 건 많다. Mysql, 오라클, 마리아, 등 그럼에 mysql 하나를 할면 다 알 수 있다! sql을 이해하기 위해, 앞서서 *쿼리 Query 의문, 문의 라는 뜻 : 파일의 내용 등을 알기 위해 몇개의 code, k

pm-developer-justdoit.tistory.com

 

[MySQL] MySQL 명령문 - DDL, DML, DQL, table/post 생성 수정 추가 삭제, Join

MySQL 은 SQL 명령문 사용해서 명령 내린다. 데이터 / 테이블 생성, 추가 후에는 select와 show로 확인한다. * select: 데이터 조회 * create, insert, add 로 데이터 생성, 추가 SQL문 특징 끝은 항상 세미콜론 (

pm-developer-justdoit.tistory.com

 

Foundation 1.5 - 백엔드 서버, 데이터베이스 서버, express, mysql, Typeorm 관계

코딩하면서 항상 관계가 연결이 안 되던 게, 코드부터 치고 나서 강의를 다시 들으니 이제 연결이 된다 처음부터 깃허브 올리는거 까지 다 담긴 흐름 인증-인가 기능이 담긴 백엔드 API를 만드는

pm-developer-justdoit.tistory.com

 

쿼리 작성 능력 

 

SQL쿼리문 복습 - 'Database+Table' 생성, 삭제, 수정

멘토님이 보고 감탄하신, 내가 쓴 블로그 참고용 [MySQL] MySQL 명령문 - DDL, DML, DQL, table/post 생성 수정 추가 삭제, Join MySQL 은 SQL 명령문 사용해서 명령 내린다. 데이터 / 테이블 생성, 추가 후에는 sel

pm-developer-justdoit.tistory.com

 

SQL 복습 - DATA 'Insert/Update/ Delete'- 추가/수정/삭제

UPDATE 'table name ' SET column=''UPDATE 'table name ' SET column=''멘토님이 보고 감탄하신, 내가 쓴 블로그 참고용 [MySQL] MySQL 명령문 - DDL, DML, DQL, table/post 생성 수정 추가 삭제, Join MySQL 은 SQL 명령문 사용해서

pm-developer-justdoit.tistory.com

 

SQL 복습 - DATA 검색/조회; SELECT, INNER/LEFT JOIN, GROUP BY, WHERE/LIKE

select: 데이터 꺼내오기 join :테이블 결합 where, like: 데이터 쿼리 Select - 데이터베이스에서 데이터 조회/검색 - 테이블에서 원하는 데이터 추출, 반환 SELECT 반환하려는 column1, column2 ... FROM 조회하려

pm-developer-justdoit.tistory.com

ERD

 

Project 3: sprint 1주- 2일 차: 프- 백 ERD modeling

메인 페이지 > 상단 header (고정) / GNB (+ 판매자 전환 페이지) 영역 이름 : header GNB: 옆으로 할 수 있고, 상단에 할 수도 있고 > big banner : 3개*1줄 / 프리미엄 vip 광고 (market_id 로 데이터 받고, 클릭 시,

pm-developer-justdoit.tistory.com

 

Project 3: sprint 1주- 2일차- standing meeting 및 erd modeling

기능 구현 먼저, api문서 통신 위주 3주안에 못해도 우선순위 바로 erd 회의 https://dbdiagram.io/d/2team-6524aa73ffbf5169f05b838c dbdiagram.io - Database Relationship Diagrams Design Tool dbdiagram.io Erd 테이블은 데이터 기반

pm-developer-justdoit.tistory.com

 

query 문

https://chat.openai.com/c/7967f947-e495-4abb-8a0b-d513b4bb1f21 select부터가 아니라 이 한줄이 쿼리문이고, 백팁을 써야 한다는 점 (맥북 기준 option + ~)

pm-developer-justdoit.tistory.com

 

Project 3: sprint 1주-1일차- erd modeling - 관계도

테이블과 키 값은 완료 후, 화살표를 이제 seller - user 1:1 seller - product 1:다 (1명의 셀러가 여러 상품 가능) product - product category 카테고리 하나에 여러 product 들어갈 수 cart - product 1:다 --> 한줄 한줄

pm-developer-justdoit.tistory.com

 

 

 

Product2 - 2일차(1) : ERD modeling

각자 1시간씩 생각해보고 그려보고 테이블과 관계성을 고려하기로 했다. 나는 일단 erd 관계, modelling 툴을 사용하지 않고, 먼저 손으로 그리면서 하기로 했다. 쇼핑몰 erd 검색해서 나오는 table name

pm-developer-justdoit.tistory.com

 

Project 2- 2일차 (4): [erd 모델링] 각자 작성 후 다같이 수정 및 리뷰 (다시 읽어보기)**

[진행 방식] 1. pk, fk 협의 (pk 빼고는 다 fk) 2. 화살표 어떻게 갈지 최대한 완벽하게 설계해도 결국엔 수정할 게 나와서 일단 넘어가도 됨 수요일 오전 dbmate 만들고 목금, mvp 하고 (추가 기능은 현진

pm-developer-justdoit.tistory.com

 

웹 애플리케이션 보안 개념

 

[Restful API] - postman 에 토큰 header에 담기

[Restful API] - postman으로 통신, 백엔드 코드 확인하는 법 1. postman 데스크탑용 앱 2. api에 따라서 GET/POST/DELETE/PATCH 등 3. http://localhost:${portNumber}/api router 4. BODY - RAW- JSON 설정 5. post, update 등일 경우 body

pm-developer-justdoit.tistory.com

 

Foundation 2- 인증과 인가

인증과 인가 인증 - 회원가입 로그인 인가- 인증을 받은 client, browser가 끊임없이, ‘나 A라는 User이고 B라는 자격을 갖고 있고, A,B라는 선제조건을 가져야 가능한 C라는 서비스를 이용하게 해줘'라

pm-developer-justdoit.tistory.com

 

Foundation 2 - 인증 : token, session,

그래서 인가 어떻게 하는건데? 백은 프론트에게 무엇을 전달 받아야하고, 백은 프론트에게 무엇을 받아서 무엇을 줘야 하는지 → 기술 스택 명확하게 알아야 함. (기술적 펼처짐 이해) unless, 변

pm-developer-justdoit.tistory.com

 

Foundation 2- [jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인

간단한 전반적 흐름 로그인 + token 발행 [개념] 이후 공부한 자세한 내용 [jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인트, api) 토큰? 백엔드가 매번 프론트

pm-developer-justdoit.tistory.com

 

Foundation 2- [jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인

간단한 전반적 흐름 로그인 + token 발행 [개념] 이후 공부한 자세한 내용 [jwt, token] 토큰 개념, 토큰 코드 만들기, 토큰 발행 / 프론트와 연결하는 법 (엔드포인트, api) 토큰? 백엔드가 매번 프론트

pm-developer-justdoit.tistory.com

 

Foundation2- Node.js에서 Bcrypt, 해쉬함수 (makeHash, checkHash) **

비밀번호 암호화 -> 고객 데이터 소중 개인정보 보호 법령에 의거. 백엔드 개발자라고해서 고객의 비밀번호를 알 수 없음 . 단방향. 돌아갈 수 없음. -> 해쉬 함수 (한번 복호화 후에는 비밀번호를

pm-developer-justdoit.tistory.com

 

Project 1- 5일차: 통신 완료! 마지막날 (jwt 토큰, bcrypt, hash)

통신 결과 프론트엔드 사진 / 프론트, 백엔드 화면 녹화 영상 Project 1 - 백엔드와 프론트엔드 통신 결과 Project 1- 5일차: 통신 완료! 마지막날 통신 하기 전에 실수 1. datasource 를 잘못 정의 했다. 2.

pm-developer-justdoit.tistory.com

 

좋은 코드, 품질관리

 

layered pattern에서 가져올 때; module, export/import

회원가입 dao 에 insert into user 코드로 함수 export 하는데, 그 함수 하나하나 secvice에 require 안하는 이유는, model 폴더로 index.js로 패키지를 했기에? requrie는 단방향만 가져오는 (router->controller->services-

pm-developer-justdoit.tistory.com

 

Project 1 : 회원가입 기능 layered pattern (소헌 멘토님) 총정리

layered pattern 하는 방식이 멘토님마다, 동기마다 달라서, project 1 복사 붙여놓기 복사본은 깃 반영 안 됨 ls- al 해서 .git 떠도 반영 안 된다. ls-al 해서 나오는 건 git 삭제 remote 연결 안 될 것 단방향

pm-developer-justdoit.tistory.com

 

layered pattern 코드 분리 연습을 위한 clone, 새로운 github 저장소 연결

CRUD, layered pattern 연습 layered pattern 코드 분리 연습을 위한 clone, 새로운 github 저장소 연결 경우 1)이미 만들어진 단일화된 app.js 코드에서 분리 project 2를 진행하는 중에 project 1을 복사 해서 코드 분

pm-developer-justdoit.tistory.com

 

CRUD, layered pattern 연습

layered pattern 코드 분리 연습을 위한 clone, 새로운 github 저장소 연결 경우 1)이미 만들어진 단일화된 app.js 코드에서 분리 project 2를 진행하는 중에 project 1을 복사 해서 코드 분리 해보는 경우 1. proje

pm-developer-justdoit.tistory.com

 

layered pattern

1. presentation layer : 사용자, client 와 직접 연결되는 부분 2. business layer: 회사 비즈니스 로직 구현 3. persistence layer: sql 문 쓰는 파일 (데이터베이스 관련) 단방향이다. app.js 단일 파일을 파일 분리 pre

pm-developer-justdoit.tistory.com

 

project2- 2일차(3): layered pattern

팀원들과 layered pattern을 하면서 어려웠던 점을 공유하며, 다시 복기 했다. 공통적으로 어려웠던 점 - 어떤 걸 app.js에 남겨야 하는지 어떤걸 넘겨야 하는지 (연결 부분) - import, export연결 (우리는 im

pm-developer-justdoit.tistory.com

 

Project 1- 3일 차: 경래 멘토님 [코드 리뷰] - app.js 뜯어보기 + Layered Pattern

프로그래밍은 이해와 적용이다. 무슨 함수를 쓰는지 뜯어보아야 한다. 어떤 변수를 쓰는지 보아야 한다. 궁금해 하고. (그리고, 코드가 완벽하면 통신할 때 오류가 날 확률이 적은데 주니어의 경

pm-developer-justdoit.tistory.com

 

Project1- 3일 차: Layered pattern 개념 (API Architecture, 관심사 분리,)

Layered pattern 📍개요 🗣 특별한 구조 없이 한 파일에 모든 코드를 구현: 코드의 양이 많지 않을 때는 간단, but 코드의 양이 조금만 많아져도 오히려 코드 유지 보수가 어려워진다. 실제 기업의 시

pm-developer-justdoit.tistory.com

 

project1- 2일차(3): layered pattern 실전 -project 1으로 **

project 1 복사 붙여놓기 복사본은 깃 반영 안 됨 ls- al 해서 .git 떠도 반영 안 된다. ls-al 해서 나오는 건 git 삭제 remote 연결 안 될 것 단방향에 따라서, 각 파일의 앞단에서 export로 내보낸거를 require

pm-developer-justdoit.tistory.com

 

API 엔드포인트를 설계하고 구현 

 

sprint 1 - 금요일 standing 미팅, 기능정의서 api

반응형 웹은 안 하기로. 컴포넌트 만들었고, pr 받는 거로 속도가 좀 느림. 블로커: 3명에서 2명으로 될 확률 높음 기능 정의서에서 Request Key/Value : 프론트에게 받아야 하는 값, 테이블 이름이 아니

pm-developer-justdoit.tistory.com

 

Project 3 - sprint 1주-3일차 : 기능정의요구서 1차

 

pm-developer-justdoit.tistory.com

 

Project 2- 5일차 (1): 내가 짠 [회원가입 API 및 설명]

내가 작성한 const express = require('express'); const morgan = require('morgan'); const cors = require('cors'); require('dotenv').config(); const app = express(); app.set('port', process.env.PORT || 8000); app.use(cors()); app.use(morgan('dev')); app.

pm-developer-justdoit.tistory.com

 

Project 2- 3일 차: API 짜기 연습 **

우리팀이 오전에 회의 및 협업 없어서, 개인공부하다가 다른 팀 API 공부 및 연구하는 미팅에 청강 들었다 그 팀은 pm이 팀원들 공부하듯이 하기에. 혼자 연습해보았다. 다른팀의 페이지와 우리팀

pm-developer-justdoit.tistory.com

 

Project 2- 4일차 (3): 회원가입, 로그인 API 구조화

이후 5일 차 standing meeting, Pull request review 이후 수정 Project 2 - 5일 차 (3): standing meeting- [프론트 엔드와 협의] 및 [회원가입 코드 분석] [회원가입] 필수 / 선택 입력값 데이터 - 필수 1)생년월일 프론

pm-developer-justdoit.tistory.com

 

Project 2 - 2일차 : [Restful API] 세션 (path부터 다시)**

앞으로는 restful api 엄격하게 add, create 가 들어가지 않게 리뷰해서 main branch에 들어가지 않게끔. main branch에는 엄격하게 지켜져야 함 호출할 때, 프론트가 json body에 담아서 가져가는게 아니라, 프

pm-developer-justdoit.tistory.com

 

Restful API - Postman, JSON

 

[Restful API] - postman 에 토큰 header에 담기

[Restful API] - postman으로 통신, 백엔드 코드 확인하는 법 1. postman 데스크탑용 앱 2. api에 따라서 GET/POST/DELETE/PATCH 등 3. http://localhost:${portNumber}/api router 4. BODY - RAW- JSON 설정 5. post, update 등일 경우 body

pm-developer-justdoit.tistory.com

 

[Restful API] - postman으로 통신, 백엔드 코드 확인하는 법

1. postman 데스크탑용 앱 2. api에 따라서 GET/POST/DELETE/PATCH 등 3. http://localhost:${portNumber}/api router 4. BODY - RAW- JSON 설정 5. post, update 등일 경우 body에 보낼 값을 작성 6. 서버 키고, response 를 postman Body의 P

pm-developer-justdoit.tistory.com

AWS

 

Project 3: 위치 기반 / AWS **

- 위치 찾는 수식 찾기 셀러는 위치 고정으로 처음 기입한 주소에서 올리고, 위치 기반: 두 점 사이의 거리를 만드는 방식을 sql로 프론트(브라우저에 있는 위치 좌표를 get)에게서 r을 받아오면,

pm-developer-justdoit.tistory.com

추후 추가될 링크

 

 

코드 리뷰

 

Project1 - 2일 차: pr 리뷰, merge/ "userServices 회원가입, 로그인", 회고

이튿날: 대략적으로 한 것 어제 초기화 세팅을 완료, push 후 pr 했던 https://pm-developer-justdoit.tistory.com/85 초기화 세팅 pr 리뷰 및 commit, close , main에 merge와 로그인, 회원가입 함수를 담은 'userservices' br

pm-developer-justdoit.tistory.com

 

Project 1- 3일 차: 코드 리뷰, 비교 - userService / 회원가입 , 로그인

코드 분리를 이미 만든 한 파일에서 해보고, 한 branch에 올렸는데, 그 이후 바로 처음부터 여러 branch에 올리니 app.post("/login", 로 써야 할지, const signup. 으로 써야할지 연결하는 함수는 어디에 들어

pm-developer-justdoit.tistory.com

 

Project 1- 3일 차: 경래 멘토님 [코드 리뷰] - app.js 뜯어보기 + Layered Pattern

프로그래밍은 이해와 적용이다. 무슨 함수를 쓰는지 뜯어보아야 한다. 어떤 변수를 쓰는지 보아야 한다. 궁금해 하고. (그리고, 코드가 완벽하면 통신할 때 오류가 날 확률이 적은데 주니어의 경

pm-developer-justdoit.tistory.com

 

Project1: 5일차 아침: 통신 전, 마지막날 코드 수정 (self 코드 리뷰)

코드를 완벽히 하기 위해. 셀프로 코드리뷰를 해보았다. 그리고 실수로 누르는 바람에 덕분에 또 알게 된 사실 timeline별로 수정 사항을 비교분석 가능 1. portNumber를 정의하기 전에 require("dotenv").co

pm-developer-justdoit.tistory.com

 

Project 1- 3일차 : 코드 리뷰, 비교 - threadService / 포스트 Posting 목록 조회, 생성

const { DataSource } = require('typeorm') const dotenv = require('dotenv') const jwt = require('jsonwebtoken') dotenv.config() // const myDataSource = new DataSource({ type : process.env.DB_TYPE, host : process.env.DB_HOST, port : process.env.DB_PORT, user

pm-developer-justdoit.tistory.com

 

Project 2- 2일차 (4): [erd 모델링] 각자 작성 후 다같이 수정 및 리뷰 (다시 읽어보기)**

[진행 방식] 1. pk, fk 협의 (pk 빼고는 다 fk) 2. 화살표 어떻게 갈지 최대한 완벽하게 설계해도 결국엔 수정할 게 나와서 일단 넘어가도 됨 수요일 오전 dbmate 만들고 목금, mvp 하고 (추가 기능은 현진

pm-developer-justdoit.tistory.com

 

Project 2 - 5일 차 (6) : 내가 push 한 회원가입 함수 : pull request 팀원 리뷰 + 수정본 ** 해야 함

username === undefined 는 !username 으로 축약 수정본 필수사항 및 선택사항 정보 받아온 거 저장하기 수정본 그런데, 선택사항은 어디서 받아오지? key error는 필수사항에 대한 건데? --> insert into query문

pm-developer-justdoit.tistory.com

 

Project 2 - 5일 차 (9) : 내가 push 한 '로그인 함수' : pull request 팀원 리뷰 + 수정

올리고 몇 분 사이 바로 올라오는, 팀원분의 빠른 피드백 좋다 추석 연휴 전 일단, commit, push 하는 게 좋겠다 싶어서 올려놓고 보느라 수정 사항이 좀 있지만. 과정에서 배우는 게 중요하니까. 나

pm-developer-justdoit.tistory.com



 

일반적으로 선호되는 주니어 백엔드 개발자의 기술 스택

 

프로그래밍 언어: 

주니어 백엔드 개발자는 적어도 하나 이상의 백엔드 프로그래밍 언어를 숙련 수준으로 알고 있어야 합니다. 선호되는 언어 중 일부는 다음과 같습니다.

 

JavaScript (Node.js)

Python (Django, Flask)

Ruby (Ruby on Rails)

Java (Spring Boot)

C# (ASP.NET)

Go (Go 언어)

 

웹 프레임워크:

 웹 개발을 위한 프레임워크를 이해하고 사용할 수 있는 능력은 중요합니다. 백엔드 웹 프레임워크 중에는 Express.js, Django, Ruby on Rails, Spring Boot 등이 있습니다.

 

데이터베이스:

 데이터베이스 관리와 쿼리 작성 능력이 필요합니다. 주로 사용되는 데이터베이스 관리 시스템(DBMS)에는 PostgreSQL, MySQL, MongoDB, SQLite 등이 있습니다.

 

HTTP 및 RESTful API: 

HTTP 프로토콜 RESTful API 디자인 원칙에 대한 이해와 경험이 중요합니다. API 엔드포인트를 설계하고 구현할 수 있어야 합니다.

 

버전 관리 시스템: 

Git과 같은 버전 관리 시스템을 사용하여 코드를 관리하는 경험이 필요합니다.

 

클라우드 플랫폼: 

주니어 백엔드 개발자는 클라우드 플랫폼(예: AWS, Azure, Google Cloud)을 사용하여 애플리케이션을 배포하고 관리할 수 있는 능력이 도움이 됩니다.

 

도구 및 라이브러리: 

필요한 작업을 수행하기 위한 다양한 도구 및 라이브러리를 이해하고 활용할 수 있는 능력이 중요합니다.

 

보안: 

기본적인 보안 개념 및 웹 애플리케이션 보안에 대한 이해가 필요합니다.

 

문제 해결 능력: 

주니어 개발자는 새로운 기술과 도구를 배우고 복잡한 문제를 해결하는 능력을 갖추어야 합니다.

 

커뮤니케이션 및 협업: 

효과적인 커뮤니케이션 및 협업 능력은 개발 팀과의 협업 및 프로젝트 성공에 중요합니다.

 

이러한 기술 스택 요소는 주니어 백엔드 개발자가 구직 시에 눈에 띄도록 할 수 있는 능력과 경험이며, 학습 및 실습을 통해 향상시킬 수 있습니다. 

프로젝트 경험과 포트폴리오도 매우 중요하므로 실제 프로젝트에서 이러한 기술을 적용하는 것이 도움이 됩니다.