* 2022/11/01 6pm Zoom 진행

* 백엔드로 갈 예정이라 Node.js와 Spring 세션 내용만 정리

 

Node.js

 

프론트 엔드 vs 백 엔드

프론트 엔드 : 눈에 보이는 모든것

바로바로 화면상으로 바뀌는 게 보이는 걸 좋아하는 사람

*ui : user interface 사용자가 직접 맞닿는

 

백 엔드: 프론트 외의 모든것

가공한 데이터를 다른 곳에서 사용하는 걸 좋아하는 사람, 설계하는 거 좋아하는 사람

 

 

 


Node.js

언어자체는 아님. 플랫폼. javascript라는 언어를 사용한 것을 Node.js에 넣어 실행하는 마법상자.

기본적으로 javascript는 잘해야하고 이를 통해 Node.js 기능을 잘 사용하는 것

 

Spring은 프레임워크

자바의 jvm이 javascript의 Node.js 

Node.js는 가볍다. javascript가 가벼운건 아니지만

jvm이 요구하는 cpu나 메모리보다 월등하게 가볍다. 따라서 리소스를 덜 사용하기때문에 리소스에 들어갈 비용이 다른데로 들어갈 수 있다.

 

트렌드가 바뀌면서 마이크로화 되면서 서비스를 나누게 되면서 일부를 도전할 수 있게 되면서

대기업에서도 많이 사용하는 추세

 

 

 

 


커리큘럼

- 자바스크립트 기본문법

- 준비된 과제와 코드를 배우고

- REST API개발하는 방법

- 로그인 기능 구현 (라이브러리를 최대한 사용하지 않고 원리를 이해하는 과정)

- 데이터베이스 (관계형, 비관계형) 둘다 사용

- 웹소켓 이용 (브라우저 실시간 알림기능)

 

장점)

- 프론트 엔드에서 사용하는 javascript를 기반으로 배우기 때문에 프론트엔드 이해도 쉬워진다. 풀스택이 쉬워짐.

 

 


프로그래머 라면)

- 웹 API를 개발할 줄 알아야한다.

- 자기 코드를 짤 줄알아야 한다. (생각보다 이게 안되는 사람이 많다) 이게 진짜 중요하다

  변형과 새로운걸 만들때 스스로가 개발할 수 있게 되야하니까

- 프레임워크 없이도 도전해봐라 (도구 없이 스스로 도전

- 남의 코드를 많이 봐라. 결함을 찾아봐라.

- 코드 리뷰가 있는 회사로 가라 

- 10을 아는 개발자는 보통 얕다. 하나라도 깊고 정확하게 파라. (하나를 깊게 알면 그 연관관계를 정확히 알게되면서 제대로 파악할 줄 알기 때문. 일단 새로운거 배울때도 깊고 정확하게 파고 들려 하기 때문)

- 안정적인 코드를 짤 줄 아는 사람을 보고 실력을 가늠하기 때문에 안정적인 코드를 만드는 데 고민해봐라

- 언어를 공부하려면 계속 뭘 개발해봐라

- 언어는 약간의 패러다임과 API가 다를 뿐, 하나를 제대로 배우면 새로운 언어를 배우는 건 쉽다.

- 백엔드는 설계 능력, 설계도를 잘 만들줄 아는 사람이 되야한다. 재해가 일어났을때를 미리 예상하고 대응할 수 있는 설계도를 만들수 있어야 좋은 설계도

 

 

- 프로그래머는 3분류로 나뉜다) 

일류 : 특정분야의 일류 전체 일류는 없어, 다른 사람의 코드의 결함을 찾아낼 수 있고 이를 개선해 줄 수 있는 프로그래머

- 완벽한 코드란 없어 시간이 흐르면서 변화하기때문에 코드 또한 낡아가게 됨. 매번의 개선을 통해 가장 좋은 코드가 될 수 있도록 노력해야하는 것이 가장 좋은 프로그래머

이류 : 남이 짠 코드를 이해해서 응용할 수 있는 프로그래머

삼류 : 남이 짠 코드 덩어리가 없으면 프로그램을 짤 수 없는 프로그래머

 

 

 


+ 추가 개념

추상화란 사람이 의미를 부여한 것

똑같은 판자가 있다고 하더라도 어떤 역할과 용도에 따라 식탁과 책상이 나눠지는 것을 추상화라고 생각할 수 있다.

데스크톱의 키보드와 노트북의 키보드가 형태가 다를 지언정 둘이 다른것은 아닌것으로 인지하는것도 추상화가 잘된 케이스. 

 

+ 언어를 잘배우면 도구는 뭐든 쉽다

 

+ 프로그래밍 언어를 도구라고 인식하고 선택할때 쉽게 접할 수 있고 쉽게 배울수 있는 걸 선택해라.

 

+ 본사가 현실에 없어서 재택근무를 하는 케이스도 많음

 

 

자바 공화국이 된 이유)

전자 정부 자체가 Spring 기반임 

전자 정부를 다루기 위한 인재양성을 위해 java를 배우게 했기 때문

오래된 역사가 있어서 자바를 많이 사용함

 

스타트업에서는 비용이 덜 들기 때문에 Node.js를 사용

외국에서도 많이 쓰고 대부분 대기업에도 요즘 사용

 

 

3시간 면접)

- 면접

- 알고리즘 문제

- 웹 기능에 대한 질문을 하면서 라이브 코딩하는 방식

 

막상 실제로 면접을 보니

포트폴리오, 상 이런게 별로 의미가 없더라 코드를 스스로 안정적으로 짤 줄 알고 일상화 된 사람이 좋더라. 

 

 

 

 

 

 

 

 

+ Recent posts