ํ”๋“ค๋ฆฌ๋ฉฐ ํ”ผ๋Š” ๊ฝƒ
ยท
Life
ํ”๋“ค๋ฆฌ๋ฉฐ ํ”ผ๋Š” ๊ฝƒ -๋„์ข…ํ™˜- ํ”๋“ค๋ฆฌ์ง€ ์•Š๊ณ  ํ”ผ๋Š” ๊ฝƒ์ด ์–ด๋”” ์žˆ์œผ๋žด ์ด ์„ธ์ƒ ๊ทธ ์–ด๋–ค ์•„๋ฆ„๋‹ค์šด ๊ฝƒ๋“ค๋„ ๋‹ค ํ”๋“ค๋ฆฌ๋ฉด์„œ ํ”ผ์—ˆ๋‚˜๋‹ˆ ํ”๋“ค๋ฆฌ๋ฉด์„œ ์ค„๊ธฐ๋ฅผ ๊ณง๊ฒŒ ์„ธ์› ๋‚˜๋‹ˆ ํ”๋“ค๋ฆฌ์ง€ ์•Š๊ณ  ๊ฐ€๋Š” ์‚ฌ๋ž‘์ด ์–ด๋”” ์žˆ์œผ๋žด ์ –์ง€ ์•Š๊ณ  ํ”ผ๋Š” ๊ฝƒ์ด ์–ด๋”” ์žˆ์œผ๋žด ์ด ์„ธ์ƒ ์–ด๋–ค ๋น›๋‚˜๋Š” ๊ฝƒ๋“ค๋„ ๋‹ค ์ –์œผ๋ฉฐ ์ –์œผ๋ฉฐ ํ”ผ์—ˆ๋‚˜๋‹ˆ ๋ฐ”๋žŒ๊ณผ ๋น„์— ์ –์œผ๋ฉฐ ๊ฝƒ์žŽ ๋”ฐ๋œปํ•˜๊ฒŒ ํ”ผ์› ๋‚˜๋‹ˆ ์ –์ง€ ์•Š๊ณ  ๊ฐ€๋Š” ์‚ถ์ด ์–ด๋”” ์žˆ์œผ๋žด
Node.js - Introduction
ยท
Server/Node.js
What is Node.js?Node.js๋Š” ๊ตฌ๊ธ€ ํฌ๋กฌ์˜ ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ ์—”์ง„ (V8 ์—”์ง„) ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„ ์ธก ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. 2009๋…„ Ryan Dahl ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์ตœ์‹  ๋ฒ„์ „ v0.10.36 ์ž…๋‹ˆ๋‹ค.(2016๋…„07์›”20์ผ ๊ธฐ์ค€ LTS 4.4.7 ๋ฒ„์ „์ด ๊ฐ€์žฅ ์ตœ์‹ ์ž…๋‹ˆ๋‹ค.) ๊ณต์‹์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” documentation์— ์˜ํ•˜๋ฉด - Node.js๋Š” ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํฌ๋กฌ์˜ Chrome's JavaScript runtime(V8์—”์ง„)์œผ๋กœ ๊ตฌ์ถ• ๋œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ๋””๋ฐ”์ด์Šค๋ฅผ ๊ฐ€๋ณ๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ์™„๋ฒฝํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ event-driven, non-blocking I/O๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.Node.js๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๊ฐœ๋ฐœ ๋ฐ ๋„คํŠธ์›Œํ‚น ..
Node.js ํŠœํ† ๋ฆฌ์–ผ
ยท
Server/Node.js
Node.js TutorialNode.js๋Š” ํ›Œ๋ฅญํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ/ํ”Œ๋žซํผ์ด๋ฉฐ ๊ตฌ๊ธ€ ํฌ๋กฌ์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„๊ณผ ๊ฐ™์€ V8 ์—”์ง„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋˜์–ด์žˆ๋‹ค. ๋น„๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์‚ฌ์ดํŠธ, ๋‹จ์ผ ํŽ˜์ด์ง€๋กœ ์ด๋ค„์ง„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ๊ธฐํƒ€ ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ณผ ๊ฐ™์€ I/O๋ฅผ ์ฃผ๋กœ ๋‹ค๋ฃจ๋Š” ์›น ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค์ธ Node.js๋Š” ์™„์ „ ๋ฌด๋ฃŒ์ด๋ฉฐ ์ „ ์„ธ๊ณ„ ์ˆ˜ ์ฒœ๋ช… ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค.Audience์ด๋ฒˆ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” Node.js์˜ ๊ธฐ์ดˆ์™€ ์•„ํ‚คํ…์ฒ˜ ์ปจ์…‰์„ ๊ณต๋ถ€ํ•˜๊ณ ์ž ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์œ„ํ•ด ์ œ์ž‘๋˜์—ˆ๋‹ค. Node.js์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์™€ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ดํ•ด๋ฅผ ์‹œ์ผœ ์ค„ ๊ฒƒ์ด๋‹ค.Prerequisites์ด ๊ณผ์ •์„ ํ•˜๊ธฐ ์ „์— ๊ธฐ์ดˆ์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์›น ๊ธฐ๋ฐ˜..
GIGABYTE ํŒํƒ€์†Œ์Šค ์Šฌ๋ฆผ P34G V2 VRAM2G Lite ํ›„๊ธฐ
ยท
Storage
์ด๋ฒˆ์ฃผ ์›”์š”์ผ์— ๊ตฌ๋งคํ•œ ๋”ฐ๋ˆ๋”ฐ๋ˆํ•œ P34G V2 VRAM2G์ž…๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ๊ฒŒ์ž„ ์ฒ˜์Œ ๊ตฌ๋™์‹œ ์„œ๋ฉ€๊ตฌ๋ฆฌ์Šค ๊ตฌ์›Œ์ง€๋Š” ๋ƒ„์„ธ๊ฐ€ ๋‚˜๋”๊ตฐ์š” ใ…Žใ…Ž๋…ธํŠธ๋ถ์˜ ๋ชฉ์ ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋งˆ์˜์ „(๊ฒŒ์ž„)์˜ ๋ชฉ์ ์œผ๋กœ ๊ตฌ๋งคํ•œ ๋…ธํŠธ๋ถ์ž…๋‹ˆ๋‹ค.์ฒซ์งธ๋กœ ์„ฑ๋Šฅ๋‘˜์งธ๋กœ ๋ฌด๊ฒŒ์…‹์งธ๋กœ ์‚ฌํ›„์ง€์›์ง์—…์˜ ํŠน์„ฑ์ƒ ํ•ญ์ƒ ํœด๋Œ€ํ•˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์ด์œ ๋กœ ๋ฌด๊ฒŒ๋„ ๊นŒ๋‹ค๋กญ๊ฒŒ ์•Œ์•„๋ณด๊ณ  ๊ตฌ๋งคํ•œ ๋…ธํŠธ๋ถ์ž…๋‹ˆ๋‹ค.์ŠคํŽ™์œผ๋กœ๋Š”์ธํ…” / ์ฝ”์–ดi7-4์„ธ๋Œ€ / i7-4700HQ (2.4GHz) / LED๋ฐฑ๋ผ์ดํŠธ / ๊ด‘์‹œ์•ผ๊ฐ /35.56cm(14์ธ์น˜) / 1920x1080 / 128GB(mSATA) / 8GB / DDR3L / ODD ์˜ต์…˜(์„ ํƒ) / ์šด์˜์ฒด์ œ ๋ฏธํฌํ•จ / ์—”๋น„๋””์•„ / ์ธํ…” / ์ง€ํฌ์Šค GTX860M / HD 4600 / ๋“€์–ผ ๊ทธ๋ž˜ํ”ฝ / 2GB GDDR5 / 1.67Kg / ๋ฆฌํŠฌ ํด๋ฆฌ๋จธ /..
zipํŒŒ์ผ ํ•ด์ œ, ๋Œ€์ƒ ํด๋” ๋ณ€๊ฒฝ & ํŒŒ์ผ ์œ„์น˜ ๋ณ€๊ฒฝ
ยท
Languages/JAVA
public static boolean fileMoveDir(String orgDir, String newDir, String fileName, String fileExtend) throws IOException{ boolean result = false; if(fileExtend.equals("zip")){ byte[] buffer = new byte[1024]; File folder = new File(newDir); if(!folder.exists()){ folder.mkdir(); } ZipInputStream zis = new ZipInputStream(new FileInputStream(orgDir+File.separator+fileName)); ZipEntry ze = zis.getNextE..
[jstl] String to date ๋Œ€์†Œ๋น„๊ต
ยท
Framework/jstl
dateFom1 dateFom2 dateFom1==dateFom2 parseDate ์— ํŒจํ„ด์ด string dateํƒ€์ž…๊ณผ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ๋ณ€ํ™˜ ์‹œ ์—๋Ÿฌ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. date pattern์„ ๊ฐ™๊ฒŒ ํ•ด์ฃผ์‹œ๊ณ  ๋น„๊ตํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฒ”์œ„๊นŒ์ง€ formatDate ์„ ์–ธ ์‹œ ์„ค์ • ํ•ด์ฃผ์‹œ๋ฉด๋ฉ๋‹ˆ๋‹ค.
spring AcceptHeaderLocaleResolver(๋‹ค๊ตญ์–ด) properties ์„ค์ •
ยท
Framework/spring
spring AcceptHeaderLocaleResolver(๋‹ค๊ตญ์–ด) properties ์„ค์ • ์–ธ์–ด๋ณ„ ํŽ˜์ด์ง€๋ฅผ ๋ถ„์‚ฐํ•  ํ•„์š”์—†์ด properties์— ์ง€์ •๋œ value์˜ ๊ฐ’์„ ๋ณด์—ฌ์ฃผ๋Š” AcceptHeaderLocaleResolver์ž…๋‹ˆ๋‹ค. ์„ค์ •ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋œ InternalResourceViewResolver๋Š” ๊ตณ์ด ์ง€์šฐ์ง€ ์•Š์œผ์…”๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € servlet xml์„ค์ •์— AcceptHeaderLocaleResolver์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์‹œ๊ณ  ์ฐธ์กฐํ•˜๋Š” properties์œ„์น˜๋ฅผ ์ง€์ •ํ•ด์ค๋‹ˆ๋‹ค. messages๋ผ๋Š” ํด๋”์— messageํŒŒ์ผ์„ default value๋กœ ์ธ์‹์„ํ•˜๋ฉฐ message(ํŒŒ์ผ๋ช…)๋’ค์— ๋ถ™์€ _ko(ํ•œ๊ตญ์–ด), _en(๋ฏธ๊ตญ์–ด)๋กœ ํ•ด๋‹น ๊ตญ๊ฐ€ ์–ธ์–ด๋ฅผ ๋งค์นญํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„..
javascript XMLHttpRequest Object ์˜ˆ์ œ
ยท
Languages/JavaScript
XMLHttpRequest ๊ฐ์ฒด๋Š” IE6, IE5์—์„œ๋งŒ ๋‹ค๋ฅด๊ฒŒ ์„ ์–ธํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ƒํƒœ์ฝ”๋“œ๋กœ ์„ฑ๊ณต ์œ ๋ฌด๋ฅผ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. form ํƒœ๊ทธ์—์„œ enctype application/json ๋ฐฉ์‹์„ ์ง€์›ํ•ด์ฃผ์ง€ ์•Š์„๋•Œ ์•„๋ž˜์™€๊ฐ™์ด XMLHttpRequest๋ฅผ ์ด์šฉํ•ด์ฃผ์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค. var parameterVal = '{"id":"'+id+'","passwd":"'+passwd+'"}'; var xmlhttp; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp=new ActiveXObject("Micros..
spring 3 tiles 2 ์„ค์ • ๊ด€๋ จ
ยท
Framework/spring
tiles๋ž€?Apache Tiles is a template composition framework. Tiles was originally built to simplify the development of web application user interfaces, but it is no longer restricted to the JavaEE web environment.Tiles allows authors to define page fragments which can be assembled into a complete page at runtime. These fragments, or tiles, can be used as simple includes in order to reduce the duplic..
spring์„ค์ • ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชจ์Œ
ยท
Framework/spring
3.1.4.RELEASE org.springframework spring-context ${org.springframework-version} org.springframework spring-test ${org.springframework-version} org.springframework spring-core ${org.springframework-version} org.springframework spring-beans ${org.springframework-version} org.springframework spring-web ${org.springframework-version} org.springframework spring-webmvc ${org.springframework-version} o..