목차 MVC 구조는 스프링을 처음 배울 때부터 지금까지 유용하게 써먹고 있는 구조이다. 사실 기대와는 달리 레거시코드의 웹플럭스가 함수형 인터페이스가 아닌 기존 MVC를 사용하고 있기도 하고. 어쨌거나 TypeScript를 이용한 Node.js를 배우기 위해, 알고리즘을 풀며 언어에 익숙해지는 동시에 아키텍처 및 라이브러리 공부도 미리 해놓는 게 좋을 것 같다는 판단이 들어서, 짬짬이 공부를 하고 있다. 정리 시작! MVC Pattern MVC(Model-View-Controller)는 소프트웨어 설계 패턴 중 하나로, 애플리케이션을 모델, 뷰, 컨트롤러의 세 부분으로 분리하여 설계하는 패턴을 가리킨다. 분리의 목적은 당연히 관심사를 분리해 한 곳에 모아 가독성과 유지보수성을 높이기 위함이다. Node...
목차 자바스크립트 문법에 익숙해지기 위해 가장 쉬운 알고리즘 문제를 풀었다가 당황을 했다. 첫 번째는 Node.js로 실행하면 내 입력을 기다리지 않고 프로그램을 종료시켜 버렸기 때문이고, 두 번째는 파이썬과 비교했을 때 코드의 길이가 굉장히 길고 한눈에 들어오지 않았기 때문이다. 첫 번째 문제는 이전 글에서 해결했으니, 이번엔 알고리즘의 풀이를 보면서 한 줄씩 읽으며 무슨 뜻인지 파악해야겠다. const 먼저, 문제의 풀이를 보면 아래와 같다. const rl = require('readline').createInterface({ input: process.stdin, output: process.stdout }); rl.question("", (line) => { const [a, b] = line...
목차 console.log() vs. alert() 두 함수는 모두 정보를 출력하는 데 사용되는 함수이다. 하지만 몇 가지 차이점이 존재하는데, 크게 세 가지로 나누어서 정리하자. Output Location 가장 크고 분명한 사실은 두 함수의 출력 위치가 다르다는 사실이다. console.log() 해당 함수는 메시지를 터미널이나 브라우저의 콘솔에 출력한다. 여기서 콘솔이란 예를 들자면 크롬 개발자도구의 일부이다. alert() 해당 함수는 브라우저에서 모달 대화상자를 띄워 표시한다. 기본적으로 브라우저의 중앙에 위치해 사용자의 주의를 끈다. Purpose 위에서 짐작할 수 있듯이 두 함수는 그 목적이 다르다. console.log() 개발자의 개발 중 디버깅 및 로그 기록을 위해 사용된다. 따라서 실..
목차 자바스크립트 기본 자료형에 대해 짧게 정리! Number 따옴표나 큰 따옴표 등이 붙지 않는 숫자는 자동으로 숫자로 인식한다. console.log(1.3 + 2); 3.3 간단한 사칙연산 (+, -, *, /, %)을 제외하고도 몇 가지 복잡한 연산을 추가로 지원한다. console.log(Math.pow(2, 3)); console.log(Math.round(2.3)); console.log(Math.ceil(2.3)); console.log(Math.floor(2.3)); console.log(Math.sqrt(2)); console.log(Math.random()); 8 2 3 2 1.4142135623730951 0.6315177261112865 String 문자열은 작은따옴표(') 혹은 ..
이런저런 일이 있어서 VSCode에서 Node.js를 이용해 아주 쉬운 알고리즘을 풀어보게 되었다. 그에 관한 감상은 일단 그렇다 치는데, 문제는 이 녀석을 실행시키면 입력값을 받지 않고 종료되는 것이었다. 혹시나 해서 백준에 채점을 맡겨보면 맞았다고는 뜨는데.. 도대체 뭐가 문제일까. 결론부터 말하면 Node.js는 비동기로 실행되기 때문에 프로그램 실행 뒤 입력값을 기다리지 않고 할일을 다 마치면 종료되어 버리는 것이었다. 다소 황당했는데... 내가 찾은 해결방안은 아래와 같다. 프로젝트 루트 디렉토리에 디렉토리 생성 해당 디렉토리 안에 파일 생성 내부에 아래와 같이 입력 { "version": "0.2.0", "configurations": [ { "type": "node", "request": "..
목차 Node.js Node.js는 오픈 소스 JavaScript 엔진인 크롬 V8에 비동기 이벤트 처리 라이브러리인 libuv를 결합한 플랫폼이다. 2009년 라이언 달에 의해 고안되었으며, 이벤트 기반 비동기 자바스크립트 런타임이기 때문에 확장성과 성능이 뛰어나며 프론트엔드의 필수 언어인 JS로 서버까지 구성할 수 있다는 장점까지 더해 빠르게 점유율을 높여가고 있다. 내가 지금 이 글을 적고 있는 이유도 회사의 다른 서비스가 Node.js로 개발되었고 개발될 예정이기 때문이다. 굳이 정확하게 분류하자면 강조했듯이 서버사이드 자바스크립트 런타임, 즉 JS 코드를 서버에서 실행하는 환경을 가리키며 Node.js 자체로는 엄밀히 말해 프레임워크가 아니라고 한다. 계속해서 특징과 장단점에 대해 짧게 정리하자..
- Total
- Today
- Yesterday
- Algorithm
- 동적계획법
- java
- 중남미
- 스트림
- 기술면접
- 야경
- Python
- Backjoon
- 리스트
- a6000
- 백준
- 유럽여행
- 칼이사
- 유럽
- 파이썬
- 세모
- 세계일주
- 세계여행
- RX100M5
- 맛집
- BOJ
- 지지
- 여행
- 스프링
- spring
- 면접 준비
- 남미
- 알고리즘
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |