Spring boot๋ก http request ์ฝ๋๋ฅผ ๊ฐ๋ฐํ ๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ก ์์ฒญ ๋ฐ ์ฒ๋ฆฌํ๊ธฐ์ํ ๋ด์ฉ์ ๋๋ค. ๋๊ธฐ๋ฐฉ์์ผ๋ก ํธ์ถํ๊ฒ๋๋ฉด ์์ ํธ์ถ๋ request์ ์๋ต์ด ์๋ฃ๋ ๋๊น์ง ๋ค์์์ฒญ์ด ์คํ๋์ง ๋ชปํ๊ฒ๋๋ฏ๋ก ์ฌ๋ฌ๊ฐ์ request๋ฅผ ๋ณด๋ด๋ ์ํฉ์์๋ ๋ ๋์ ํจ์จ์ ๋ณด์ฌ์ค๋๋ค. ์ด ๊ธ์์ http ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ okhttp3 ๋ฅผ ์ฌ์ฉํฉ๋๋ค. build.gradle์ ์์กด์ฑ ์ถ๊ฐ implementation 'com.squareup.okhttp3:okhttp:3.10.0' ์ฝ๋์์ฑ (๋น๋๊ธฐ ์์ฒญ) public class Helloworld { private void asyncOkHttp() { // http ์์ฒญํ๋ ค๋ URL ๋ฆฌ์คํธ๊ฐ ์๋ค๊ณ ๊ฐ์ List requestUrls = new Array..
Spring MVC์์ ํ๋ก์ธ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋๊ธฐ์ ์ฒ๋ฆฌ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ฝ๋ ํ์คํ์ค ์ฐจ๋ก๋๋ก ์คํ์ด ์๋ฃ๋ ํ ๋์ด๊ฐ ์ ์๋ค๋ ๋ป์ด์ฃ . ๋ณดํต ์ด๊ฑธ Blocking ์ด๋ผ๊ณ ํ๊ณ ๋ฐ๋๊ฐ ๋๋ ๋ง์ Non-Blocking ์ด๋ผ๊ณ ํฉ๋๋ค. ์ฝ๋๊ฐ ์ฐจ๋ก๋๋ก ์คํ๋๊ธฐ ๋๋ฌธ์ ์ฝ๋ ์คํ์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ ๊ฐ์ ๋ณด๋๊ฒ ๋ช ํํ ์ฅ์ ์ด ์์ต๋๋ค. Node.js๋ก ๊ฐ๋ฐ์ ์ข ํด์ค๋ค๋ณด๋ (Node.js๋ ๋ฐ๋๋ก ๋น๋๊ธฐ์ฒ๋ฆฌ๊ฐ ๊ธฐ๋ณธ ์ปจ์ ์ ๋๋ค.) Async์ ๋ํ ์ฉ์ด์ ๋ ๋์ด๊ฐ์ Spring ์ด๋ ธํ ์ด์ ์ค @Async ์ด๋ ธํ ์ด์ ์ ๋จผ์ ๋์ด ๊ฐ์ต๋๋ค. ์ด๋ ธํ ์ด์ ํ๋๋ง ์ถ๊ฐํ๋ฉด ๋ด๊ฐ ์ํ๋๊ฒ ๋๋ค? @Async @Async๋ Spring ํ๋ ์์ํฌ์์ ๋น๋๊ธฐ์ ์ธ ๋ฉ์๋ ์คํ์ ์ง์ํ๊ธฐ ์ํ ์ด๋ ธํ ์ด์ ์ ๋๋ค. ์ด ์ด๋ ธํ ์ด์ ์ ๋ฉ..

์ด๋ ์ธ์ด์ด๋๊ฐ์ ํ๊ฒฝ๋ณ์ ๊ฐ, ์ฆ configuration ์ด๋ผ๋ ๋ชจ๋์ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ, Nest.js์์๋ configuration ๋ชจ๋์ ์ ๊ณตํด์ฃผ๊ณ ์์ผ๋ฉฐ, ํด๋น ๋ชจ๋์ dotenv ๋ชจ๋์ ๊ธฐ๋ฐํด์ ์๋ํฉ๋๋ค. ๊ณตํต์ผ๋ก ์ฌ์ฉํด์ผํ ๋ณ์ ๊ฐ์ด๊ฑฐ๋ ํน์ ๊ฐ๋ฐ๋ ๋ฒจ (ํ๋ก๋์ , ๊ฐ๋ฐ, ํ ์คํ ๋ฑ๋ฑ..) ์ ๋ฐ๋ฅธ ๋ค๋ฅธ ํ๊ฒฝ๋ณ์๋ฅผ ๊ฐ์ ธ์ผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฏ๋ก ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ ๋ ๊ฑฐ์ ๋๋ถ๋ถ ์ ํ ํ๊ฒ ๋๋ ๋ชจ๋์ ๋๋ค. ์ด์ ์ ํฌ์คํ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ๋ณด๊ฐ์ ๊ฒฝ์ฐ๋ config ํ์ผ๋ก ๋ฐ๋ก ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ ํด๋น ๋ชจ๋์ ๋จผ์ ์ ํ ํ๊ณ ๋์ด๊ฐ๊ณ ์ ํฉ๋๋ค. 1. @nestjs/config ๋ชจ๋ ์ธ์คํจ $ npm i --save @nestjs/config or $ yarn add @nestjs/config ne..

์น์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๋ฉด์ ๊ฐ์ฅ ๋ง์ด ํ์๋ก ํ๋ ๊ฒ์ค์ ํ๋๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋์ธ๋ฐ, Nest.js์์๋ ๊ณต์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ผ์ด์ธํธ ๋ชจ๋์ ์ ๊ณตํด์ฃผ๊ณ , Typescript์ ORM์ธ TYPE ORM์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ ํ๋ก์ ํธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๋์์ผ๋ณด๊ฒ ์ต๋๋ค. ์ผ๋จ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํ์ํ ํ ๋ฐ, ๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ณ๋์ ์๋ฒ๋ ํน์ ํด๋ผ์ฐ๋์์ ์ ๊ณตํ๋ ์๋น์ค๋ฅผ ์๊ฒฉ์ผ๋ก ๋ถ์ด์ ์ฌ์ฉํ๋๊ฒ ์ผ๋ฐ์ ์ด๋, ๊ฐ๋จํ๊ฒ ํ ์คํธํ๋ ์ฉ๋์ด๋๋งํผ DB๋ ๋์ปค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ๊ฒ ๋์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. (๋์ปค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์น๋์๋ค๋ ๊ฐ์ ํ๊ฒ ์งํํ๊ฒ ์ต๋๋ค.) 1. MYSQL image ๋ค์ด๋ฐ๊ธฐ $ docker pull mysql ๋ฒ์ ์ ๋ฐ๋ก๊ธฐ์ ํ์ง ์๊ณ image๋ฅผ ๋ค์ด๋ฐ์ผ๋ฉด ์ต์ ๋ฒ์ ์ ๊ธฐ์ค์ผ๋ก mys..

nest cli๋ฅผ ํตํด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง๋ค์ด์ง๋ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์ด์ ์ ํ์ตํด๋ณด์๋๋ฐ, ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์กฐ๊ธ ๋ ๋ค๋ฌ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๊ณต์ ๋ฌธ์์ ๋์ค๋ ๊ตฌ์กฐ๋ฅผ ์ต๋ํ ์งํค๋, ์ฝ๋ฉํ๊ธฐ์ ์ข ๋ ์์๋ณด๊ธฐ ์ฝ๊ณ ๊ฐํธํ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๊ฒ ์ต๋๋ค. Nest js์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ๊ตฌ์ฑ์ ์๋์ ๊ฐ์ต๋๋ค. ๊ฐ๋จํ ์ญํ ์ ์ค๋ช ํ์๋ฉด controller : ๋ผ์ฐํธ๋ฅผ ๊ธฐ์ service : ์๋น์ค์ ํ์ํ ๋ฉ์๋๋ฅผ ๊ธฐ์ module : Nest ํ๋ ์์ํฌ๋ฅผ ๊ตฌ๋ํ๋๋ฐ ํ์ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ณต (Nest์์ ์ ์ด๋ ํ๋์ root ๋ชจ๋์ด ํ์ํฉ๋๋ค) ๋ณด๋ฉด ์์๊ฒ ์ง๋ง, ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ ์ ์ธ ๊ฐ์ ํ์ผ์ ๋ค ๋ฃ์ ์ ์๊ฒ ์ฃ . ๊ทธ๋ผ ์ ๊ฑธ ์ด๋ป๊ฒ ๋๋์ง๋ฅผ ๋ณด์๋ฉด, ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ธ ๊ฐ์ง์ ๋ถ๋ฅ๋๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ๋๋๋ ๋ฐฉ๋ฒ์ด ..

Node.js๋ฅผ ์ฌ์ฉํ๊ณ , Typescript๋ฅผ ๋ฐฐ์ฐ๋ ์์ค์ ์ ํ๋ ํ๋ ์์ํฌ์ธ NestJS๋ผ๋ ๋ฌผ๊ฑด์ ์ฌ์ฉํ๊ฒ ๋์์ต๋๋ค. ๊ธฐ์กด์ Express๋ฅผ ์ฌ์ฉํ์๊ณ , ๊ทธ ์์ Typescript๋ฅผ ์ ํ ํ์ฌ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ด ํ๋ ์์ํฌ๋ฅผ ์ฐ๊ฒ๋๋ฉด ๊ธฐ๋ณธ์ ์ธ Typescript ์ ํ ๋ถํฐ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๊น์ง ํ๋ ์์ํฌ ์์ฑ ์ปค๋งจ๋๋ฅผ ํตํด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํด์ค๋๋ค. ๊ณต์ ๋ฌธ์์์๋ ์๋์ ๊ฐ์ด ์๊ฐํฉ๋๋ค. ๋๋ณด๊ธฐ Nest (NestJS) is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with and fully supports Ty..

javascript์ ๊ฐ์ฒด ์ค Promise ๊ฐ์ฒด๋ ๋น๋๊ธฐ ์์ ์ด ๋ง์ดํ ๋ฏธ๋์ ์๋ฃ ๋๋ ์คํจ์ ๊ทธ ๊ฒฐ๊ณผ ๊ฐ์ ๋ํ๋ ๋๋ค. MDN์ ์ค๋ช ์ผ๋ก ์๋์๊ฐ์ด ๊ฐ๋จํ๊ฒ ์์ฝํ ์ ์์ต๋๋ค. [์ถ์ฒ] - https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise Promise๋ ๋ค์ ์ค ํ๋์ ์ํ๋ฅผ ๊ฐ์ง๋๋ค. ๋๊ธฐ(pending): ์ดํํ์ง๋, ๊ฑฐ๋ถํ์ง๋ ์์ ์ด๊ธฐ ์ํ. ์ดํ(fulfilled): ์ฐ์ฐ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋จ. ๊ฑฐ๋ถ(rejected): ์ฐ์ฐ์ด ์คํจํจ. ๋๊ธฐ ์ค์ธ ํ๋ก๋ฏธ์ค๋ ๊ฐ๊ณผ ํจ๊ป ์ดํํ ์๋, ์ด๋ค ์ด์ (์ค๋ฅ)๋ก ์ธํด ๊ฑฐ๋ถ๋ ์๋ ์์ต๋๋ค. ์ดํ์ด๋ ๊ฑฐ๋ถ๋ ๋, ํ๋ก๋ฏธ์ค์ then ๋ฉ์๋์ ์ํด ๋..
๋ฌธ์ ์ค๋ช ์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค. ๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช ์ด์ 100,000๋ช ์ดํ์ ๋๋ค. completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค. ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์์ต๋๋ค. ์ ์ถ๋ ฅ ์ participantcompletionreturn ["leo", "kiki"..

๋ค๋ฅธ ์ธ์ด์์๋ ํํ ํ ์ ์๋ XML ํ์ผ Parser๋ฅผ Golang ์ ๊ฐ์ง๊ณ ๊ตฌํํด๋ณด์์ต๋๋ค. ์ ๋ณดํต Node.js๋ ์์ javascript์ ์ฝ๋๋ฅผ ์ด์ฉํด ์๋์ XML ํ์ผ์ ํ์ฑํ์ฌ ์ฌ์ฉํ์๋๋ฐ ๋๋์ XML ํ์ผ ๋ถ์์ ํ๊ธฐ์๋ ์ฑ๊ธ์ค๋ ๋ ๊ธฐ๋ฐ์ธ Node.js ์ ์ฒ๋ฆฌ๋ฐฉ์์ด ๋ถ์ ํฉํ๋ค๊ณ ์๊ฐํ์ฌ ์ถํ์๋ Go ์ ์ฅ์ ์ธ ๊ณ ๋ฃจํด์ ํ์ฉํ ๋ฉํฐ์ฐ๋ ๋ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ค์์ ํ์ผ XML ํ์ผ ํ์ฑ์ ๊ตฌํํด๋ณด๋ ค ํฉ๋๋ค. ์์ง Golang ์ ๋ํ ์ฌ์ฉ๋ฒ์ด ์ต์์น์์ ์ด ์์ค์ฝ๋๋ ๋จ๊ฑด XML ํ์ผ์ ๋ํ ํ์ฑ์ ๊ตฌํํ์์ต๋๋ค. ์์ค์ฝ๋ ๊ตฌ์ฑ์ mainํ์ผ๊ณผ parser ํ์ผ๋ก ๊ต์ฅํ ๋จ์ํฉ๋๋ค. main ์ฝ๋์์ parser ์ฝ๋์ ์๋ ํจ์๋ฅผ ํธ์ถํ๋ ๊ตฌ์กฐ์ ๋๋ค. [utils/parser.g..

Node.js์ Vue (๋ฌผ๋ก ๊ธฐ๋ณธ์ ์ธ html๋ ๊ฐ๋ฅํฉ๋๋ค) ๋ฅผ ์ด์ฉํ์ฌ ์๋ฒ๋จ์ ์๋ ํ์ผ์ ๋ค์ด๋ก๋ํ๋ ์ฝ๋์ํ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ธ express ์๋ฒ๋ฅผ ๋์ฐ๋ ์ค์ ์ด๋ ์คํํ๊ฒฝ ์ ํ ์ ์ ์ธํ์์ต๋๋ค. [router.js] 1 2 3 4 5 const util = require('./util.js') router.get('/download',(req, res, next)=>{ util.download(req, res) }) Colored by Color Scripter cs ์ผ๋จ ๊ธฐ๋ณธ์ ์ธ ๋ผ์ฐํฐ ์ ํ ์ ๋๋ค. ๋จ์ํ๊ฒ /download ๋ผ๋ ๋ผ์ฐํฐ๋ก ์ง์ ํ์ ๋ util.js ํ์ผ์ ์๋ download ํจ์๋ฅผ ์คํ์์ผ์ฃผ๋ ์ฝ๋์ ๋๋ค. [util.js] 1 2 3 4 5 6 7 8 9 10 11 expo..
- Total
- Today
- Yesterday
- typeorm ์ฐ๊ฒฐ
- Promise bulk
- foreignkey
- Request_Limit_Exceeded
- @nestjs/config
- DeferredResult
- node.js backend
- nestjs/cli
- ํ๋ก๊ทธ๋๋จธ์ค
- Spring
- ์๊ณ ๋ฆฌ์ฆ
- ๊ธฐ์์ฒญAPI
- nestjs project
- nestjs doc
- sequelize
- nestjs typeorm
- typeorm
- backend-framework
- Spring Async
- nestjs module
- nestjs config
- android
- NestJS
- JavaScript
- nestjs directory
- Promise error
- docker mysql
- node.js
- nestjs configService
- ๋น๋๊ธฐ ์์ฒญ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |