요약
- 인터넷(Internet)
전 세계의 컴퓨터가 서로 연결되어 정보를 교환할 수 있는 하나의 거대한 컴퓨터 통신망- 웹(Web)
인터넷 네트워크를 이용하여 통신되는 정보의 집합.- 1세대 웹의 특징
웹 서버가 HTML 페이지 전체와 CSS를 클라이언트에 전송하는 구조.- 2세대 웹의 특징
동일한 서버에서 HTML, CSS, Javascript, 그리고 Data 전부가 클라이언트로 전송하는 구조.- 3세대 웹의 특징
SPA(Single Page Application)의 등장으로 단일 HTML 페이지와 메인 Javascript 파일로 HTML 요소 생성부터 모든 페이지 및 기능을 동적으로 처리할 수 있게 됨.- 현대 웹 시스템 아키텍처
동시 접속자 수와 데이터 양의 증가 👉 Micro Service Architecture 구조.- 현대 웹 시스템 개발에는 PM, Designer, Scrum Master, Tester, Frontend Developer, Backend Developer, Full Stack Developer, DevOps, SysOps, Data Sientist, Data Engineer 직군이 필요.
1세대 웹 | 2세대 웹 | 3세대 웹 | |
---|---|---|---|
주 기능 | 단순하고 정적인 정보 제공 | 동적인 정보 주고 받음 | JS가 HTML요소 생성, 페이지, 기능을 동적 처리 |
전달방향 | 서->클(단방향) | 서<->클(양방향) | FE서버<->웹브라우저<->BE API서버<->DB |
기술적 요소 | HTML, CSS | HTML, CSS, Javascript(소규모) | HTML, CSS, Javascript, Database, FE Server, BE API Server, Data(JSON, XML) |
특징 | User Interaction 요구 없음 | User Interaction 구현 | SPA 의 등장 (FE) |
웹브라우저와 서버 간 데이터 전송, 연산작업(BE) | |||
FE/BE 구분 없음 | FE/BE 구분 됨 |
백엔드 시스템을 개발하는 역할.
Q1. FrontEnd Server 란? 꼭 필요한가? BE Server와 차이
A1. 리액트로 작성된 서버. BE서버는 데이터베이스에서 정보를 보내주듯이, FE서버는 고객센터에 리뷰, 회원가입 인터페이스, 자주 묻는 질문 등 프론트엔드에 박아놓고 렌더링해서 단말기로 보내주기도 함
Q2. 스크럼 방식으로 개발? 현업에서 진행되는 사례?
A2. 애자일 프로세스(순환구조)의 일종; 목표를 정해서 1~2주일 단위(스프린트)로 하나의 모듈씩 개발해서 합쳐서 체계적으로 하나의 프로그램을 제작
<->워터폴(개발 기간을 스케줄링, 선프로세스 후프로세스)
데일리 스탠드업 미팅(어제 한 것, 내일 할 것, 막힌 기술적 사항 15분 간 공유)
회고를 잘해야 한다. keeping problem try 지속적 해결해야할 문제를 노력해
Q3. 빅데이터, 머신러닝, DBA 로 커리어 방향이라면 성장 로드맵?
A3. 정해진 것이 없더라도 끊임없이 공부. DB모델링 이해도 높. mau(실제 사용자 접속수)가 높은 회사에 취업해서(인프라 탄탄 어떻게 구축했나?) 경험을 쌓기.
Q4. 위코드에서 TypeORM을 쓰는 이유?
A4. 왜 그 기술을 썼는가? object relational mapping? 객체로서 매핑해주는. 관계형 데이터를 노드js기반 api서버에서 어떻게 읽고,쓰고,갖고 오는지 sql문으로 번역해서 대신 전해주는 역할.(번역가) typeScript(데이터타입을 정의하는)와 가장 호환이 잘되는 모듈이라서.
Q5. Node.js로 취업할 수 있나? 경쟁력?
A5. java spring의 취업 풀이 넓다.=수요많고 공급많고(자바공화국)
but 취업 풀 걱정없음. MSA라고 해서 서비스마다 다른 기술을 사용.
Q6. REST API 왜 쓰는가?
A6. 배우기 쉬움. http와 호환성 높음(개발자 동일).