Submit Search
Upload
Nodejs express
โข
Download as PPTX, PDF
โข
4 likes
โข
1,494 views
Hyosung Jeon
Follow
Report
Share
Report
Share
1 of 24
Download now
Recommended
Spring boot actuator
Spring boot actuator
Choonghyun Yang
ย
Spring boot แแ ฉแผแแ กแจแแ ฉ(1-4์ฅ)
Spring boot แแ ฉแผแแ กแจแแ ฉ(1-4์ฅ)
Choonghyun Yang
ย
Express ํ๋ ์์ํฌ
Express ํ๋ ์์ํฌ
Choonghyun Yang
ย
Redux
Redux
NAVER Engineering
ย
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #2
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #2
์ฑ์ผ ํ
ย
#33.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
#33.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
Spring-Boot (springcamp2014)
Spring-Boot (springcamp2014)
sung yong jung
ย
#22.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
#22.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
Recommended
Spring boot actuator
Spring boot actuator
Choonghyun Yang
ย
Spring boot แแ ฉแผแแ กแจแแ ฉ(1-4์ฅ)
Spring boot แแ ฉแผแแ กแจแแ ฉ(1-4์ฅ)
Choonghyun Yang
ย
Express ํ๋ ์์ํฌ
Express ํ๋ ์์ํฌ
Choonghyun Yang
ย
Redux
Redux
NAVER Engineering
ย
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #2
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #2
์ฑ์ผ ํ
ย
#33.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
#33.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
Spring-Boot (springcamp2014)
Spring-Boot (springcamp2014)
sung yong jung
ย
#22.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
#22.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
[TECHCON 2019: MOBILE - Android]2.์์ ์์๋ ์๋ ค์ฃผ์ง ์๋ Model ์ด์ผ๊ธฐ
[TECHCON 2019: MOBILE - Android]2.์์ ์์๋ ์๋ ค์ฃผ์ง ์๋ Model ์ด์ผ๊ธฐ
NAVER Engineering
ย
#32.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
#32.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
(Spring Data JPA)๊ฒ์ํ ๋ฆฌ์คํธ๋ณด๊ธฐ_์ค๋ผํด, ์คํ๋ง๋ถํธ,ํ์ด์ง๋๋๊ธฐ
(Spring Data JPA)๊ฒ์ํ ๋ฆฌ์คํธ๋ณด๊ธฐ_์ค๋ผํด, ์คํ๋ง๋ถํธ,ํ์ด์ง๋๋๊ธฐ
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
์ค์ ! ์คํ๋ง๊ณผ ํจ๊ปํ๋ ํ๊ฒฝ๋ณ์ ๊ด๋ฆฌ ๋ณ์ฒ์ฌ ๋ฐํ์๋ฃ
์ค์ ! ์คํ๋ง๊ณผ ํจ๊ปํ๋ ํ๊ฒฝ๋ณ์ ๊ด๋ฆฌ ๋ณ์ฒ์ฌ ๋ฐํ์๋ฃ
์ํ ์ด
ย
[์๋ฐํ์/์คํ๋ง๊ต์กํ์/๋ง์ด๋ฐํฐ์คํ์์ถ์ฒ/๊ตฌ๋กITํ์_ํํฌ๋ฆฌ์๋]#7.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, M...
[์๋ฐํ์/์คํ๋ง๊ต์กํ์/๋ง์ด๋ฐํฐ์คํ์์ถ์ฒ/๊ตฌ๋กITํ์_ํํฌ๋ฆฌ์๋]#7.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, M...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #3
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #3
์ฑ์ผ ํ
ย
(์๋ฐ๊ต์ก/์คํ๋ง๊ต์ก/์คํ๋งํ๋ ์์ํฌ๊ต์ก/๋ง์ด๋ฐํฐ์ค๊ต์ก์ถ์ฒ)#2.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)
(์๋ฐ๊ต์ก/์คํ๋ง๊ต์ก/์คํ๋งํ๋ ์์ํฌ๊ต์ก/๋ง์ด๋ฐํฐ์ค๊ต์ก์ถ์ฒ)#2.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
03.[์ฐธ๊ณ ]ํ์คํ๋ ์์ํฌ๊ธฐ๋ฐ ๊ฐ๋ฐ๋ฐฉ๋ฒ
03.[์ฐธ๊ณ ]ํ์คํ๋ ์์ํฌ๊ธฐ๋ฐ ๊ฐ๋ฐ๋ฐฉ๋ฒ
Hankyo
ย
(Spring Data JPA)์๋ณ์(@Id, Primary Key) ์๋ ์์ฑ, @GeneratedValue์ strategy ์์ฑ,Ge...
(Spring Data JPA)์๋ณ์(@Id, Primary Key) ์๋ ์์ฑ, @GeneratedValue์ strategy ์์ฑ,Ge...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
แแ ฅแแ ณแทแแ ขแแ ฎแแ ณแซ แแ กแแ กแแ ณแแ ณแ แ ตแธแแ ณ, แแ ฆแแ ตแแ ฏแ แ ต #4
แแ ฅแแ ณแทแแ ขแแ ฎแแ ณแซ แแ กแแ กแแ ณแแ ณแ แ ตแธแแ ณ, แแ ฆแแ ตแแ ฏแ แ ต #4
์ฑ์ผ ํ
ย
02.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
02.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
Hankyo
ย
05.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(์ ๋ฌด์ฒ๋ฆฌ,์ฐ๊ณํตํฉ)
05.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(์ ๋ฌด์ฒ๋ฆฌ,์ฐ๊ณํตํฉ)
Hankyo
ย
(์คํ๋งJDBC์ Spring Data JPA๋น๊ต)Spring JDBC์ JPA๋ฅผ ๊ฐ๋จํ CRUD ์์ ๋ก ๋ง๋ค๋ฉด์ ๋น๊ตํด๋ณด์.
(์คํ๋งJDBC์ Spring Data JPA๋น๊ต)Spring JDBC์ JPA๋ฅผ ๊ฐ๋จํ CRUD ์์ ๋ก ๋ง๋ค๋ฉด์ ๋น๊ตํด๋ณด์.
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
02.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
02.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
Hankyo
ย
(์คํ๋ง ์ด๋ณด์๋ฅผ ์ํ)์คํ๋ง DI๊ด๋ จ ์ด๋ ธํ ์ด์ ,์๋์ค์บ๋ ์ปดํฌ๋ํธ(Spring Framework Auto-Scanning Component)
(์คํ๋ง ์ด๋ณด์๋ฅผ ์ํ)์คํ๋ง DI๊ด๋ จ ์ด๋ ธํ ์ด์ ,์๋์ค์บ๋ ์ปดํฌ๋ํธ(Spring Framework Auto-Scanning Component)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
04.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
04.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
Hankyo
ย
#17.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
#17.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
04.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
04.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
Hankyo
ย
#16.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
#16.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
๋งํ๋์คํฐ๋ ๋๋ฒ์งธ๋ง๋จ Express(20151025)
๋งํ๋์คํฐ๋ ๋๋ฒ์งธ๋ง๋จ Express(20151025)
์ฐ์ ์กฐ
ย
One-day-codelab
One-day-codelab
WebFrameworks
ย
Startup JavaScript 8 - NPM, Express.JS
Startup JavaScript 8 - NPM, Express.JS
Circulus
ย
More Related Content
What's hot
[TECHCON 2019: MOBILE - Android]2.์์ ์์๋ ์๋ ค์ฃผ์ง ์๋ Model ์ด์ผ๊ธฐ
[TECHCON 2019: MOBILE - Android]2.์์ ์์๋ ์๋ ค์ฃผ์ง ์๋ Model ์ด์ผ๊ธฐ
NAVER Engineering
ย
#32.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
#32.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
(Spring Data JPA)๊ฒ์ํ ๋ฆฌ์คํธ๋ณด๊ธฐ_์ค๋ผํด, ์คํ๋ง๋ถํธ,ํ์ด์ง๋๋๊ธฐ
(Spring Data JPA)๊ฒ์ํ ๋ฆฌ์คํธ๋ณด๊ธฐ_์ค๋ผํด, ์คํ๋ง๋ถํธ,ํ์ด์ง๋๋๊ธฐ
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
์ค์ ! ์คํ๋ง๊ณผ ํจ๊ปํ๋ ํ๊ฒฝ๋ณ์ ๊ด๋ฆฌ ๋ณ์ฒ์ฌ ๋ฐํ์๋ฃ
์ค์ ! ์คํ๋ง๊ณผ ํจ๊ปํ๋ ํ๊ฒฝ๋ณ์ ๊ด๋ฆฌ ๋ณ์ฒ์ฌ ๋ฐํ์๋ฃ
์ํ ์ด
ย
[์๋ฐํ์/์คํ๋ง๊ต์กํ์/๋ง์ด๋ฐํฐ์คํ์์ถ์ฒ/๊ตฌ๋กITํ์_ํํฌ๋ฆฌ์๋]#7.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, M...
[์๋ฐํ์/์คํ๋ง๊ต์กํ์/๋ง์ด๋ฐํฐ์คํ์์ถ์ฒ/๊ตฌ๋กITํ์_ํํฌ๋ฆฌ์๋]#7.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, M...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #3
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #3
์ฑ์ผ ํ
ย
(์๋ฐ๊ต์ก/์คํ๋ง๊ต์ก/์คํ๋งํ๋ ์์ํฌ๊ต์ก/๋ง์ด๋ฐํฐ์ค๊ต์ก์ถ์ฒ)#2.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)
(์๋ฐ๊ต์ก/์คํ๋ง๊ต์ก/์คํ๋งํ๋ ์์ํฌ๊ต์ก/๋ง์ด๋ฐํฐ์ค๊ต์ก์ถ์ฒ)#2.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
03.[์ฐธ๊ณ ]ํ์คํ๋ ์์ํฌ๊ธฐ๋ฐ ๊ฐ๋ฐ๋ฐฉ๋ฒ
03.[์ฐธ๊ณ ]ํ์คํ๋ ์์ํฌ๊ธฐ๋ฐ ๊ฐ๋ฐ๋ฐฉ๋ฒ
Hankyo
ย
(Spring Data JPA)์๋ณ์(@Id, Primary Key) ์๋ ์์ฑ, @GeneratedValue์ strategy ์์ฑ,Ge...
(Spring Data JPA)์๋ณ์(@Id, Primary Key) ์๋ ์์ฑ, @GeneratedValue์ strategy ์์ฑ,Ge...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
แแ ฅแแ ณแทแแ ขแแ ฎแแ ณแซ แแ กแแ กแแ ณแแ ณแ แ ตแธแแ ณ, แแ ฆแแ ตแแ ฏแ แ ต #4
แแ ฅแแ ณแทแแ ขแแ ฎแแ ณแซ แแ กแแ กแแ ณแแ ณแ แ ตแธแแ ณ, แแ ฆแแ ตแแ ฏแ แ ต #4
์ฑ์ผ ํ
ย
02.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
02.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
Hankyo
ย
05.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(์ ๋ฌด์ฒ๋ฆฌ,์ฐ๊ณํตํฉ)
05.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(์ ๋ฌด์ฒ๋ฆฌ,์ฐ๊ณํตํฉ)
Hankyo
ย
(์คํ๋งJDBC์ Spring Data JPA๋น๊ต)Spring JDBC์ JPA๋ฅผ ๊ฐ๋จํ CRUD ์์ ๋ก ๋ง๋ค๋ฉด์ ๋น๊ตํด๋ณด์.
(์คํ๋งJDBC์ Spring Data JPA๋น๊ต)Spring JDBC์ JPA๋ฅผ ๊ฐ๋จํ CRUD ์์ ๋ก ๋ง๋ค๋ฉด์ ๋น๊ตํด๋ณด์.
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
02.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
02.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
Hankyo
ย
(์คํ๋ง ์ด๋ณด์๋ฅผ ์ํ)์คํ๋ง DI๊ด๋ จ ์ด๋ ธํ ์ด์ ,์๋์ค์บ๋ ์ปดํฌ๋ํธ(Spring Framework Auto-Scanning Component)
(์คํ๋ง ์ด๋ณด์๋ฅผ ์ํ)์คํ๋ง DI๊ด๋ จ ์ด๋ ธํ ์ด์ ,์๋์ค์บ๋ ์ปดํฌ๋ํธ(Spring Framework Auto-Scanning Component)
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
04.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
04.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
Hankyo
ย
#17.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
#17.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
04.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
04.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
Hankyo
ย
#16.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
#16.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
ํํฌ๋ฆฌ์๋(๊ตฌ๋ก๋์งํธ๋จ์ง์ญ3๋ฒ์ถ๊ตฌ 2๋ถ๊ฑฐ๋ฆฌ)
ย
๋งํ๋์คํฐ๋ ๋๋ฒ์งธ๋ง๋จ Express(20151025)
๋งํ๋์คํฐ๋ ๋๋ฒ์งธ๋ง๋จ Express(20151025)
์ฐ์ ์กฐ
ย
What's hot
(20)
[TECHCON 2019: MOBILE - Android]2.์์ ์์๋ ์๋ ค์ฃผ์ง ์๋ Model ์ด์ผ๊ธฐ
[TECHCON 2019: MOBILE - Android]2.์์ ์์๋ ์๋ ค์ฃผ์ง ์๋ Model ์ด์ผ๊ธฐ
ย
#32.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
#32.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_์คํ๋งํ๋ ์์ํฌ ๊ฐ์ข, ์ฌ์ง์ํ๊ธ๊ต์ก,์ค์ ์๊ตญ๋น์ง์...
ย
(Spring Data JPA)๊ฒ์ํ ๋ฆฌ์คํธ๋ณด๊ธฐ_์ค๋ผํด, ์คํ๋ง๋ถํธ,ํ์ด์ง๋๋๊ธฐ
(Spring Data JPA)๊ฒ์ํ ๋ฆฌ์คํธ๋ณด๊ธฐ_์ค๋ผํด, ์คํ๋ง๋ถํธ,ํ์ด์ง๋๋๊ธฐ
ย
์ค์ ! ์คํ๋ง๊ณผ ํจ๊ปํ๋ ํ๊ฒฝ๋ณ์ ๊ด๋ฆฌ ๋ณ์ฒ์ฌ ๋ฐํ์๋ฃ
์ค์ ! ์คํ๋ง๊ณผ ํจ๊ปํ๋ ํ๊ฒฝ๋ณ์ ๊ด๋ฆฌ ๋ณ์ฒ์ฌ ๋ฐํ์๋ฃ
ย
[์๋ฐํ์/์คํ๋ง๊ต์กํ์/๋ง์ด๋ฐํฐ์คํ์์ถ์ฒ/๊ตฌ๋กITํ์_ํํฌ๋ฆฌ์๋]#7.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, M...
[์๋ฐํ์/์คํ๋ง๊ต์กํ์/๋ง์ด๋ฐํฐ์คํ์์ถ์ฒ/๊ตฌ๋กITํ์_ํํฌ๋ฆฌ์๋]#7.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, M...
ย
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #3
Laravel แ แ ฉ แแ ขแแ ฎแแ ณแซ แแ ฅแแ ฅแแ กแแ ตแแ ณ #3
ย
(์๋ฐ๊ต์ก/์คํ๋ง๊ต์ก/์คํ๋งํ๋ ์์ํฌ๊ต์ก/๋ง์ด๋ฐํฐ์ค๊ต์ก์ถ์ฒ)#2.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)
(์๋ฐ๊ต์ก/์คํ๋ง๊ต์ก/์คํ๋งํ๋ ์์ํฌ๊ต์ก/๋ง์ด๋ฐํฐ์ค๊ต์ก์ถ์ฒ)#2.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)
ย
03.[์ฐธ๊ณ ]ํ์คํ๋ ์์ํฌ๊ธฐ๋ฐ ๊ฐ๋ฐ๋ฐฉ๋ฒ
03.[์ฐธ๊ณ ]ํ์คํ๋ ์์ํฌ๊ธฐ๋ฐ ๊ฐ๋ฐ๋ฐฉ๋ฒ
ย
(Spring Data JPA)์๋ณ์(@Id, Primary Key) ์๋ ์์ฑ, @GeneratedValue์ strategy ์์ฑ,Ge...
(Spring Data JPA)์๋ณ์(@Id, Primary Key) ์๋ ์์ฑ, @GeneratedValue์ strategy ์์ฑ,Ge...
ย
แแ ฅแแ ณแทแแ ขแแ ฎแแ ณแซ แแ กแแ กแแ ณแแ ณแ แ ตแธแแ ณ, แแ ฆแแ ตแแ ฏแ แ ต #4
แแ ฅแแ ณแทแแ ขแแ ฎแแ ณแซ แแ กแแ กแแ ณแแ ณแ แ ตแธแแ ณ, แแ ฆแแ ตแแ ฏแ แ ต #4
ย
02.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
02.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
ย
05.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(์ ๋ฌด์ฒ๋ฆฌ,์ฐ๊ณํตํฉ)
05.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(์ ๋ฌด์ฒ๋ฆฌ,์ฐ๊ณํตํฉ)
ย
(์คํ๋งJDBC์ Spring Data JPA๋น๊ต)Spring JDBC์ JPA๋ฅผ ๊ฐ๋จํ CRUD ์์ ๋ก ๋ง๋ค๋ฉด์ ๋น๊ตํด๋ณด์.
(์คํ๋งJDBC์ Spring Data JPA๋น๊ต)Spring JDBC์ JPA๋ฅผ ๊ฐ๋จํ CRUD ์์ ๋ก ๋ง๋ค๋ฉด์ ๋น๊ตํด๋ณด์.
ย
02.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
02.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(๋ฐ์ดํฐ์ฒ๋ฆฌ)
ย
(์คํ๋ง ์ด๋ณด์๋ฅผ ์ํ)์คํ๋ง DI๊ด๋ จ ์ด๋ ธํ ์ด์ ,์๋์ค์บ๋ ์ปดํฌ๋ํธ(Spring Framework Auto-Scanning Component)
(์คํ๋ง ์ด๋ณด์๋ฅผ ์ํ)์คํ๋ง DI๊ด๋ จ ์ด๋ ธํ ์ด์ ,์๋์ค์บ๋ ์ปดํฌ๋ํธ(Spring Framework Auto-Scanning Component)
ย
04.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
04.์คํํ๊ฒฝ ์ค์ต๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
ย
#17.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
#17.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
ย
04.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
04.์คํํ๊ฒฝ ๊ต์ก๊ต์ฌ(ํ๋ฉด์ฒ๋ฆฌ)
ย
#16.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
#16.์คํ๋งํ๋ ์์ํฌ & ๋ง์ด๋ฐํฐ์ค (Spring Framework, MyBatis)_๊ตญ๋น์ง์ITํ์/์ค์ ์/์ฌ์ง์ํ๊ธ๊ต์ก/์๋ฐ/์คํ๋ง/...
ย
๋งํ๋์คํฐ๋ ๋๋ฒ์งธ๋ง๋จ Express(20151025)
๋งํ๋์คํฐ๋ ๋๋ฒ์งธ๋ง๋จ Express(20151025)
ย
Similar to Nodejs express
One-day-codelab
One-day-codelab
WebFrameworks
ย
Startup JavaScript 8 - NPM, Express.JS
Startup JavaScript 8 - NPM, Express.JS
Circulus
ย
Node.js and react
Node.js and react
HyungKuIm
ย
Nodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjs
๊ธฐ๋ ์ด
ย
Node.js ์ฌํ๊ณผ์
Node.js ์ฌํ๊ณผ์
Seokyou (Kevin) Hong
ย
Mean แแ ณแแ ขแจแแ ณแฏ แแ กแแ ญแผแแ กแซ IoT แแ ขแแ กแฏ
Mean แแ ณแแ ขแจแแ ณแฏ แแ กแแ ญแผแแ กแซ IoT แแ ขแแ กแฏ
Jay Park
ย
Create-React-App์ผ๋ก SSR์ ๊ตฌํํ๋ฉฐ ๋ฐฐ์ด ์ (feat. TypeScript)
Create-React-App์ผ๋ก SSR์ ๊ตฌํํ๋ฉฐ ๋ฐฐ์ด ์ (feat. TypeScript)
LanarkSeung
ย
4-3. jquery
4-3. jquery
JinKyoungHeo
ย
Express framework tutorial
Express framework tutorial
์ฐ๋ฆผ ๋ฅ
ย
overview of spring4
overview of spring4
Arawn Park
ย
Nest js 101
Nest js 101
Daniel Lim
ย
์บ ํ์ฑ ๊ฐ๋ฐ ์ฌ๋ก๋ฅผ ํตํด ๋ณธ ํ์ด๋ธ๋ฆฌ๋์ฑ ์ด๋๊น์ง | Devon 2012
์บ ํ์ฑ ๊ฐ๋ฐ ์ฌ๋ก๋ฅผ ํตํด ๋ณธ ํ์ด๋ธ๋ฆฌ๋์ฑ ์ด๋๊น์ง | Devon 2012
Daum DNA
ย
Angular2 router&http
Angular2 router&http
Dong Jun Kwon
ย
Vue.js ๊ธฐ์ด ์ค์ต.pptx
Vue.js ๊ธฐ์ด ์ค์ต.pptx
wonyong hwang
ย
React ์ค๋ฌดํ์ฉ ์ด์ผ๊ธฐ
React ์ค๋ฌดํ์ฉ ์ด์ผ๊ธฐ
์ฒ ๋ฏผ ๋ฐฐ
ย
Ksug ์ธ๋ฏธ๋ (์ค์ฑ์ค) (20121208)
Ksug ์ธ๋ฏธ๋ (์ค์ฑ์ค) (20121208)
Sungjoon Yoon
ย
์กฐ์ - AMP PWA 101 [WSConf.Seoul.2017. Vol.2]
์กฐ์ - AMP PWA 101 [WSConf.Seoul.2017. Vol.2]
WSConf.
ย
vine webdev
vine webdev
dcfc1997
ย
Front-end Development Process - ์ด๋๊น์ง ๊ฐ์ ํ ์ ์๋
Front-end Development Process - ์ด๋๊น์ง ๊ฐ์ ํ ์ ์๋
JeongHun Byeon
ย
Node.js์ ๋์ ๊ณผ ํ์ฉ
Node.js์ ๋์ ๊ณผ ํ์ฉ
Jin wook
ย
Similar to Nodejs express
(20)
One-day-codelab
One-day-codelab
ย
Startup JavaScript 8 - NPM, Express.JS
Startup JavaScript 8 - NPM, Express.JS
ย
Node.js and react
Node.js and react
ย
Nodejs, PhantomJS, casperJs, YSlow, expressjs
Nodejs, PhantomJS, casperJs, YSlow, expressjs
ย
Node.js ์ฌํ๊ณผ์
Node.js ์ฌํ๊ณผ์
ย
Mean แแ ณแแ ขแจแแ ณแฏ แแ กแแ ญแผแแ กแซ IoT แแ ขแแ กแฏ
Mean แแ ณแแ ขแจแแ ณแฏ แแ กแแ ญแผแแ กแซ IoT แแ ขแแ กแฏ
ย
Create-React-App์ผ๋ก SSR์ ๊ตฌํํ๋ฉฐ ๋ฐฐ์ด ์ (feat. TypeScript)
Create-React-App์ผ๋ก SSR์ ๊ตฌํํ๋ฉฐ ๋ฐฐ์ด ์ (feat. TypeScript)
ย
4-3. jquery
4-3. jquery
ย
Express framework tutorial
Express framework tutorial
ย
overview of spring4
overview of spring4
ย
Nest js 101
Nest js 101
ย
์บ ํ์ฑ ๊ฐ๋ฐ ์ฌ๋ก๋ฅผ ํตํด ๋ณธ ํ์ด๋ธ๋ฆฌ๋์ฑ ์ด๋๊น์ง | Devon 2012
์บ ํ์ฑ ๊ฐ๋ฐ ์ฌ๋ก๋ฅผ ํตํด ๋ณธ ํ์ด๋ธ๋ฆฌ๋์ฑ ์ด๋๊น์ง | Devon 2012
ย
Angular2 router&http
Angular2 router&http
ย
Vue.js ๊ธฐ์ด ์ค์ต.pptx
Vue.js ๊ธฐ์ด ์ค์ต.pptx
ย
React ์ค๋ฌดํ์ฉ ์ด์ผ๊ธฐ
React ์ค๋ฌดํ์ฉ ์ด์ผ๊ธฐ
ย
Ksug ์ธ๋ฏธ๋ (์ค์ฑ์ค) (20121208)
Ksug ์ธ๋ฏธ๋ (์ค์ฑ์ค) (20121208)
ย
์กฐ์ - AMP PWA 101 [WSConf.Seoul.2017. Vol.2]
์กฐ์ - AMP PWA 101 [WSConf.Seoul.2017. Vol.2]
ย
vine webdev
vine webdev
ย
Front-end Development Process - ์ด๋๊น์ง ๊ฐ์ ํ ์ ์๋
Front-end Development Process - ์ด๋๊น์ง ๊ฐ์ ํ ์ ์๋
ย
Node.js์ ๋์ ๊ณผ ํ์ฉ
Node.js์ ๋์ ๊ณผ ํ์ฉ
ย
More from Hyosung Jeon
windows via c++ Ch 5. Job
windows via c++ Ch 5. Job
Hyosung Jeon
ย
WebGL
WebGL
Hyosung Jeon
ย
9์ฅ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ
9์ฅ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ
Hyosung Jeon
ย
Mongo db ๋ณต์ (Replication)
Mongo db ๋ณต์ (Replication)
Hyosung Jeon
ย
xUnitTestPattern/chapter12
xUnitTestPattern/chapter12
Hyosung Jeon
ย
Map reduce
Map reduce
Hyosung Jeon
ย
๋ชฉ์ ์ด ๋ถ์ฌ๋ ์์ด์ ํธ ํ๋
๋ชฉ์ ์ด ๋ถ์ฌ๋ ์์ด์ ํธ ํ๋
Hyosung Jeon
ย
More from Hyosung Jeon
(7)
windows via c++ Ch 5. Job
windows via c++ Ch 5. Job
ย
WebGL
WebGL
ย
9์ฅ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ
9์ฅ ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ
ย
Mongo db ๋ณต์ (Replication)
Mongo db ๋ณต์ (Replication)
ย
xUnitTestPattern/chapter12
xUnitTestPattern/chapter12
ย
Map reduce
Map reduce
ย
๋ชฉ์ ์ด ๋ถ์ฌ๋ ์์ด์ ํธ ํ๋
๋ชฉ์ ์ด ๋ถ์ฌ๋ ์์ด์ ํธ ํ๋
ย
Nodejs express
1.
Nodejs ํ๋ก๊ทธ๋๋ฐ 6. ๊ฒฝ๋
์น ํ๋ ์์ํฌ ์ต์คํ๋ ์ค ์ํคํ ํธ๋ฅผ ๊ฟ๊พธ๋ ์ฌ๋๋ค ์ค์ ๋ฐ ์คํฐ๋ ์ ํจ์ฑ( itmentor@gmail.com ) 1
2.
์ด๋ฒ ๋ฐํ์์ ๋ค๋ฃฐ
๋ด์ฉ 1. Express ํ๋ก์ ํธ ์ ํ 2. app.js ์์ค ์ดํด๋ณด๊ธฐ 3. Jade ๋ทฐ ํ ํ๋ฆฟ ์์ง 4. ํผ ์ ์ก ์น์ฌ์ดํธ ์์ 5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ 6. ๋น๋๊ธฐ ํจํด์ ์์กด์ฑ ๋ฌธ์ 2
3.
1. Express ํ๋ก์ ํธ
์ ํ ์๋์ ๋ช ๋ น์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ๋ ฅํฉ๋๋ค. $ npm install express -g $ express simpleweb $ cd simpleweb $ npm install $ npm install express jade 3
4.
Simpleweb ์นํ์ด์ง server-side๊ตฌ์ฑ โข
node_modules โ ํด๋น ์นํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ๋ชจ๋๋ค์ด ์์นํจ. โข Public โ ์ ์ ๋ฆฌ์์ค ํ์ผ ์ ์ฅ ( css, ์ด๋ฏธ์ง ๋ฑ ) โข Route โ url์ ๋ฐ๋ผ ํธ์ถ๋ ํจ์๋ฅผ ๋ชจ์๋๋ ๋๋ ํ ๋ฆฌ. โข Views โ ํด๋ผ์ด์ธํธ์ ๋ณด์ฌ์ค ํ๋ฉด์ ํ ํ๋ฆฟ์ด ์์นํจ. โข App.js โ main()ํจ์ ๊ฐ๋ โข Package.json โ npm์ผ๋ก ์ค์นํ๋ฉด ์ฌ๊ธฐ์ ์ค์น๋ ๋ชจ๋์ ์ ๋ณด( ๋ฒ์ )๊ฐ ๋ค์ด๊ฐ๋ค. 4
5.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // ๋ชจ๋ ์ข ์์ฑ var express = require('express') , routes = require('./routes'); var app = module.exports = express.createServer(); // configuration app.configure( function() { app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function(){ app.use(express.errorHandler()); }); 5
6.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // ๋ชจ๋ ์ข ์์ฑ var express = require('express') , routes = require('./routes'); var app = module.exports = express.createServer(); ํ์ฌ ํ์ผ์ ์ ๋ ๊ฒฝ๋ก // configuration app.configure( function() { app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function(){ app.use(express.errorHandler()); }); 6
7.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // ๋ชจ๋ ์ข ์์ฑ var express = require('express') , routes = require('./routes'); var app = module.exports = express.createServer(); // configuration app.configure( function() { app.set('views', __dirname + '/views'); โข View template์์ง๊ณผ view tempalte์์น ์ง์ app.set('view engine', 'jade'); โข app.set() ๏ ํน์ ํค์ ๊ฐ์ ์ง์ app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function(){ app.use(express.errorHandler()); }); 7
8.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // ๋ชจ๋ ์ข ์์ฑ var express = require('express') , routes = require('./routes'); var app = module.exports = express.createServer(); // configuration app.configure( function() { app.set('views', __dirname + '/views'); โข View template์์ง๊ณผ view tempalte์์น ์ง์ app.set('view engine', 'jade'); โข app.set() ๏ ํน์ ํค์ ๊ฐ์ ์ง์ app.use(express.bodyParser()); โข app.use() ๏ ์ฌ์ฉํ ๋ฏธ๋ค์จ์ด ๊ฒฐ์ app.use(express.methodOverride()); โข express.static ๏ ๋ฆฌ์์คํ์ผ ์์น ์ง์ app.use(app.router); โข express.bodyParser() ๏ application/x-www-form- app.use(express.static(__dirname + '/public')); urlencoded๋ application/json์ ๋ฐ๋๋ฅผ ํ์ฑํ์ฌ }); req.body๋ณ์์ ํ ๋น app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function(){ app.use(express.errorHandler()); }); 8
9.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // ๋ชจ๋ ์ข ์์ฑ var express = require('express') , routes = require('./routes'); var app = module.exports = express.createServer(); // configuration app.configure( function() { app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); โข app.router ๏ ์์ฒญ url์ ๋ผ์ฐํ ํ๋ค. app.use(express.methodOverride()); app.use(app.router); ์, http://localhost:3000/id์ ๋ฐ๋ผ ํ์ด์ง๋ฅผ ๋ค๋ฅด๊ฒ ๊ตฌ์ฑํ๊ณ ์ถ app.use(express.static(__dirname + '/public')); ์ ๊ฒฝ์ฐ }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); app.configure('production', function(){ app.use(express.errorHandler()); }); 9
10.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // ๋ชจ๋ ์ข ์์ฑ var express = require('express') , routes = require('./routes'); var app = module.exports = express.createServer(); // configuration app.configure( function() { app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); โข express.methodOverride() app.use(express.methodOverride()); โข <input>ํ๊ทธ์ method๋ฅผ ์ค๋ฒ๋ผ์ด๋ํ์ฌ ๋ธ๋ผ์ฐ์ app.use(app.router); ์์ ์ง์ ๋ชปํ๋ PUT, DELETE๋ฅผ ์ฒ๋ฆฌ app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, HTTP๋ช ๋ น์ด })); ํด๋ผ์ด์ธํธ์ ์๋ showStack: true }); GET ์๋ฒ์์ ์ ๋ณด๋ฅผ ์ป์ด์จ๋ค. app.configure('production', function(){ POST ์ ๋ณด๋ฅผ ์๋ฒ์ ๋ณด๋ธ๋ค. app.use(express.errorHandler()); }); PUT ๊ธฐ์กด์ ์กด์ฌํ๋ ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ค. DELETE ํน์ ํญ๋ชฉ์ ์ ๊ฑฐํ๋ค?! โข ์ฐธ๊ณ : http://code.google.com/intl/ko-KR/apis/gdata/docs/2.0/basics.html 10
11.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // ๋ชจ๋ ์ข ์์ฑ var express = require('express') , routes = require('./routes'); var app = module.exports = express.createServer(); // configuration app.configure( function() { app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); }); app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); ๊ฐ๋ฐ ์ค์ผ๋ stack trace ์ถ๋ ฅ }); app.configure('production', function(){ app.use(express.errorHandler()); ์ค ์๋น์ค์ error๋ฅผ ์ถ๋ ฅํ์ง ์์ }); 11
12.
2. app.js ์์ค
์ดํด๋ณด๊ธฐ // Routes โ HTTP ๋ช ๋ น์ด( get, put, post, delete )์ ๋ํ ์ด๋ฒคํธ ํธ๋ค๋ฌ ์ฐ๊ฒฐ app.get('/', routes.index); // 3000๋ฒ ํฌํธ ์คํ app.listen(3000); // ์๋ฒ ์ฝ์์ ๋ฉ์์ง ์ถ๋ ฅ console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env); simpleweb/route/index.js /* * GET home page. */ exports.index = function(req, res){ res.render('index', { title: 'Express' }) }; 12
13.
3. Jade ๋ทฐ
ํ ํ๋ฆฟ ์์ง 13
14.
์ฑ์์๋ ๋ธ๋ก๊ทธ :
http://blog.doortts.com/223 14
15.
HTML ๏ Jade๋
๊ฐ๋ฅํฉ๋๋ค. http://html2jade.aaron-powell.com/ 15
16.
4. ํผ ์ ์ก
์น์ฌ์ดํธ ์์ app.js route/index.js app.get('/', routes.index); app.get('/join', routes.form); exports.index = function(req, res){ app.post('/join', routes.join) res.render('index', { title: 'Express' }) }; exports.form = function(req,res) { res.render('join-form', { title: 'Express' }); }; exports.join = function(req,res) { res.render('join-result', { username: req.body.name, useremail: req.body.email, title: 'Express' }); }; views./layout.jade views./index.jade views./join-result.jade views./join-form.jade 16
17.
5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋
- mysql ์ค์น ๋ฐ ํ ์ด๋ธ ์์ฑ // install $ npm install mysql // TABLE์์ฑ CREATE TABLE members (name VARCHAR(20), email VARCHAR(30)); route/index.js repository.js var repo = require( โ../repositoryโ ); insertUser: function(user,res) { ... exports.index = function(req, res){ } โฆ , hasNameAndEmail: function(user, res) { client.query( exports.join = function(req,res) { 'SELECT * FROM ' + TABLE + 'WHERE name = ? OR email = ?' // repo.insertUser( req.body, res ); , [user.name, user.email] repo. hasNameAndEmail( req.body, res ); , function(err, results, fields) { }; if (err) { throw err; } if( results.length > 0 ) { res.render('join-fail', { title: 'Express' } ); } else { mysqlUtil.insertUser( user, res ); } }); } 17
18.
5. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋
- mongodb Repository.js ์ธ๋ถ ์ธํฐํ์ด์ค DB์ ๊ทผ ๋ก์ง ์ฝ๋ ๊ฐ์ํ ๋ก์ง ๊ตฌ์กฐ ๋ทฐ ๋ ๋๋ง / DB์ ๊ทผ ๋ก์ง์ ๋ถ๋ฆฌํ์. 18
19.
6. ๋น๋๊ธฐ ํจํด์
์์กด์ฑ ๋ฌธ์ โข ๋น๋๊ธฐ๋ก ์ํ๋๋ค ๏ ์ํ์์ ์ ์ ์ ์ ๋ค. โข ํด๋น ์์ ์ ์คํ๋ ํจ์๋ฅผ function parameter๋ก ์ ๋ฌ var result = db.query(โSELECT โฆโ ); //๋๊ธฐ ๋ฐฉ์ function call db.query(โSELECT โฆ โ, ์ฒ๋ฆฌํ๋ ํจ์) //๋น๋๊ธฐ ๋ฐฉ์ function call 19
20.
6. ๋น๋๊ธฐ ํจํด์
์์กด์ฑ ๋ฌธ์ โ ํด๊ฒฐ์ฑ ๋ฐฉ๋ฒ1. callback์ ์ด์ฉํ์ฌ ์์กด์ฑ ๋ถ๋ฆฌ // a.js var b = require( './b' ); b.funcA( function( err, result1 ) { b.funcB( result1, function( err, result2 ) { //result๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋ : ๋ ๋๋ง ๋ก์ง }); }); // b.js var B = module.exports = { funcA: function( callback ) { db.query( 'SELECT ... ', callback ); }, funcB: function( callbck ) { db.query( 'SELECT ... ', callback ); } } 20
21.
6. ๋น๋๊ธฐ ํจํด์
์์กด์ฑ ๋ฌธ์ โ ํด๊ฒฐ์ฑ ๋ฐฉ๋ฒ2. event๋ฅผ ์ด์ฉํ์ฌ ์์กด์ฑ ๋ถ๋ฆฌ // b.js // a.js var b = require( './b' ); var EventEmitter = require('events').EventEmitter; var resultA = b.funcA(); var B = module.exports = { resultA.on( 'end', function( err, result ) { funcA: function() { var resultB = b.funcB(result); var evt = new EventEmitter(); db.query( 'SELECT ... ', function( err,result ) { resultB.om( 'end', function( err, result ) { evt.emit('end', err, result ); //result์ฌ์ฉํ๋์ฝ๋ }); }); return evt; }); }, funcA: function() { var evt = new EventEmitter(); db.query( 'SELECT ... ', function( err,result ) { evt.emit('end', err, result ); }); return evt; } } 21
22.
6. ๋น๋๊ธฐ ํจํด์
์์กด์ฑ ๋ฌธ์ โ ํด๊ฒฐ์ฑ ๋น๋๊ธฐ ํธ์ถ ์์๋ฅผ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ func repeater(i) { if( i < length ) { requestAsyncWork ( function() { repeater(i+1) }) } } repeater(0) โข 0๋ฒ ์์ฒญ ๋ ๏จ 1๋ฒ ์์ฒญ ๏จ 1๋ฒ ์์ฒญ ๋ ๏จ 2๋ฒ ์์ฒญ โฆ โข ๊ฒฐ๊ตญ ๋๊ธฐ์ ๋์ผํ ๋ฐฉ์์ ๋น๋๊ธฐ๋ก ๊ตฌํํ ๊ฒ. 22
23.
7. ์ ๋ฆฌ โข ์น์๋ฒ
์์ฑ โ express.createServer() โข ์๋ฒ ์ค์ โ express.createServer().configure( callback ) โ Callback์์ express.createServer().set()๊ณผ express.createServer().use()์ฌ์ฉ โข GET/POST์ ๋ผ์ฐํ โ express.createServer().get() โ express.createServer().post() โข HTML๋ ธ๊ฐ๋ค ํ์ง ๋ง๊ณ jade๋ก ์์ฑํ์. โ ๋์์ด๋์ ์ํต์ด ์ด๋ ค์ธ์๋ ์์. 23
24.
์ง๋ฌธ ๋ฐ๊ฒ ์ต๋๋ค. Express์
๋ํ ์์ธํ ์ค๋ช ์ ์๋ตํ ๋ค. http://firejune.io/express/guide๋ฅผ ์ฐธ์กฐ ํ๋ค. 24
Download now