Programming๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป 16

jsfiddle

Jsfiddle ์‚ฌ์šฉํ•˜๊ธฐ(jsfiddle.net/) - collaborate ๊ธฐ๋Šฅ: ํ˜‘์—…๊ธฐ๋Šฅ์œผ๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—ฌ๋Ÿฌ์‚ฌ๋žŒ๊ณผ ์ฝ”๋”ฉ์„ ํ•  ์ˆ˜ ์žˆ์Œ ์†Œ์Šค์ฝ”๋“œ ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ(์‹œ๋ฎฌ๋ ˆ์ด์…˜์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ ์‹ถ์€ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€) - ๋‚˜์˜ ๊ณ„์ • ๋ฉ”๋‰ด์—์„œ new fiddle ์„ ํƒ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ข…๋ฅ˜์—์„œ ๋“œ๋กญ๋ฐ•์Šค๋ฅผ ๋ˆ„๋ฅด๋ฉด ํƒ€์ž…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์™ธ๋ถ€๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋งํฌ - ์ขŒ์ธก ๋ฉ”๋‰ด๋‹จ์—์„œ Resources์— ๋งํฌ ๋ถ™์—ฌ ๋„ฃ๊ณ  ํ”Œ๋Ÿฌ์Šค ๋ฒ„ํŠผ์œผ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค. - HTML/ JS ์†Œ์Šค ๋ถ™์—ฌ ๋„ฃ๊ธฐ - sample ๋ฐ์ดํ„ฐ๊ฐ’๋“ค์ด ๋„˜์–ด์˜ค์ง€ ์•Š์„ ๊ฒฝ์šฐ ํฌ๋กฌ ๊ฐœ๋ฐœ์ž๋ชจ๋“œ(F12)์— ๋“ค์–ด๊ฐ€์„œ 'Network'ํƒญ์—์„œ 'XHR', 'JS' ๋“ฑ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์žˆ๋Š”๋ฐ ์–ด๋Š ๊ฒฝ๋กœ ๋„˜์–ด์˜ค๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์˜ค๋Š˜ ์ˆ˜์—…์˜ ๊ฒฝ์šฐ๋Š” ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์˜ NETWORK - JS์—์„œ DOC...

*์ค‘์š” ๋””๋ฒ„๊น…, ๋‹จ์œ„ํ…Œ์ŠคํŠธ

service ๋‹จ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ์ „๋‹ฌ๋˜๋Š”์ง€ ํ™•์ธ ํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ ๋„ฃ์–ด์„œ ํ™•์ธํ•˜๊ธฐ. ๋‹จ์œ„ํ…Œ์ŠคํŠธ์˜ ์‹œ์ž‘ *ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋Š” ์Šต๊ด€์€ ์ •๋ง ์ค‘์š”ํ•˜๋‹ˆ๊นŒ ํ•ญ์ƒ ๋ชธ์— ์ต์ˆ™ํ•˜๊ฒŒ ๋งŒ๋“ค์ž! ๋‚ด๊ฐ€ ํ…Œ์ŠคํŠธํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์„ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋จผ์ € ๋งŒ๋“ค์–ด์•ผํ•จ. 1. ํ…Œ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ [src - test - java - edu -axboot - domain - {company - [CompanyServiceTest.java]} 2. class ์„ค๊ณ„ *Junit assert ๊ธฐ๋Šฅ ์•Œ์•„๋ณด๊ธฐ 3. Test ๊ตฌ์„ฑ Test ์‹คํ–‰: ํ˜„ ์†Œ์Šค์ฝ”๋“œ์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ํด๋ฆญ run์œผ๋กœ ์‹คํ–‰ ๋””๋ฒ„๊ทธ ์‹คํ–‰: ํ˜„ ์†Œ์Šค์ฝ”๋“œ์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ํด๋ฆญ ๋””๋ฒ„๊ทธ run์œผ๋กœ ์‹คํ–‰ package edu.axboot.domain.company; import com..

Mybatis์—ฐ๋™

์ž์„ธํ•œ ๋ฉ”๋‰ด์–ผ์€ ๊ณต์‹ํ™ˆํŽ˜์ด์ง€์— ์žˆ๊ธดํ•จ api.axboot.com/ AXBoot์†Œ๊ฐœ · ax-boot-document api.axboot.com ๊ฐœ๋ฐœ์ž๋„๊ตฌ-ModelExtractor - CompanyM - code์—์„œ interface/XML ๋ถ€๋ฌธ์„ ํ™œ์šฉ. 1. CompanyController.java์—์„œ mybatis ์กฐํšŒ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์•ผํ•จ. ์•ž์„œ querydsl ๊ธฐ๋Šฅ์—์„œ ์กฐํšŒ๋ถ€๋ถ„์„ ๊ฐ€์ ธ์™€์„œ ์•ฝ๊ฐ„์˜ ๋ณ€๊ฒฝ์„ ํ•ด์คŒ. *์ •์˜๊ฐ€ ์•ˆ๋œ ํ•จ์ˆ˜๋‚˜ ํด๋ž˜์Šค๋Š” alt+Enter ๋‹จ์ถ•ํ‚ค๋กœ ์ƒ์„ฑํ•œ๋‹ค. control+alter+b = ์ •์˜๋œ ํด๋ž˜์Šค ํŒŒ์ผ๋กœ ์ด๋™(์ธํ…”๋ฆฌ์ œ์ด ๊ธฐ์ค€) // value= "/mybatis"๋กœ ๋ณ€๊ฒฝ @RequestMapping(value = "/myBatis", method = RequestMethod.G..

QueryDSL

QueryDSL? ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋กœ ๋ณต์žกํ•œ Creteria๋ฅผ ๋Œ€์ฒดํ•˜๋Š” JPQL๋นŒ๋”์ด๋‹ค. ๋ณต์žกํ•œ ์ฟผ๋ฆฌ์™€ ๋™์ ์ฟผ๋ฆฌ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•ด์ฃผ๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฌธ๋ฒ•์˜ค๋ฅ˜๋ฅผ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์žก์•„์ค„ ์ˆ˜ ์žˆ๋‹ค. -Creteria๋Š” Java์ฝ”๋“œ๋ฅผ ์ด์šฉํ•ด JPQL์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํƒ€์ž… ์„ธ์ดํ”„(Type-Safe: ํƒ€์ž…์— ์•ˆ์ •์  ์ฆ‰ ์–ด๋– ํ•œ ์˜คํผ๋ ˆ์ด์…˜(๋˜๋Š” ์—ฐ์‚ฐ)๋„ ์ •์˜๋˜์ง€ ์•Š์€ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“์ง€ ์•Š์€ ๊ฒƒ์ด๋‹ค. ์˜ˆ์ธก๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋œปํ•จ)๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฟผ๋ฆฌ์ด๋‹ค. SQL ์ฟผ๋ฆฌ๋ฅผ ๋Œ€์ฒดํ•ด HQL, JPQL์„ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ์ด์šฉํ•ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค€๋‹ค. -JPQL๋Š” JPA์˜ ์ผ๋ถ€๋กœ ์ •์˜๋œ ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ธ ๊ฐ์ฒด์ง€ํ–ฅ ์ฟผ๋ฆฌ์ด๋‹ค. SQL์— ํฌ๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›์•„ SQL๋ฌธ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ..

Mac ๋งฅ) Maven ์„ค์น˜ ๋ฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

1. ์•Œ๋งž๋Š” ๋ฒ„์ „์˜ Maven์„ ๋‹ค์šด๋กœ๋“œ(bin.tar.gz๋กœ ํ™•์žฅ์ž zipํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ)ํ•˜๊ณ  ์••์ถ•์„ ํ’€์–ด์ค€๋‹ค. 2. ํ„ฐ๋ฏธ๋„์„ ํ‚จ๋‹ค. 3. ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋ฉ”์ด๋ธ ํด๋”๋ฅผ ์˜ฎ๊ฒจ์ค€๋‹ค. ํ˜น์€ ์ง์ ‘ ํด๋”๋ฅผ ์›ํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— ์˜ฎ๊ฒจ๋„ ๋œ๋‹ค. $>mv /Desktop/maven3.3.9 /usr/local ๊ทธ๋ฆฌ๊ณ  ์œ ์ € ๋””๋ ‰ํ† ๋ฆฌ๋กœ ๋Œ์•„๊ฐ„๋‹ค. $>cd 4. ์œ ์ € ํ™˜๊ฒฝ์„ค์ •์„ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. $>vi .bash_profile ์œ„์— ๋ช…๋ น์— ๋Œ€ํ•ด์„œ๋Š” ์กฐ๋งŒ๊ฐ„ ๋ณ„๋„๋กœ ์•Œ์•„๋ด์•ผ๋  ๊ฒƒ ๊ฐ™๋‹ค ํ™˜๊ฒฝ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ ์—”ํ„ฐ๋ฅผ ์ฒ˜์Œ์— ์น˜๊ณ  ํ‚ค๋ณด๋“œ์—์„œ 'i'๋ฅผ ์ž…๋ ฅ ํ•ด์ฃผ๋ฉด '---INSERT---'๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ ๊ทธ๋Ÿฌ๋ฉด ์ปค์„œ๋ฅผ ์ด๋™ํ•ด์„œ ๊ธฐ์กด์— ํ™˜๊ฒฝ์„ค์ • ๋˜์–ด์žˆ๋Š” ํ…์ŠคํŠธ ์œ„์— ์•„๋ž˜ ๋ฌธ๊ตฌ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด..

Ajax (Asynchronous JavaScript and XML)

Ajax๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋น„๋™๊ธฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ + XML์ด๋‹ค. ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. JSON/XML/HTML ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํ˜•์‹ ๋“ฑ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ํฌ๋งท์„ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. AJAX์˜ ๊ฐ•๋ ฅํ•œ ํŠน์ง•์€ ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ•˜์ง€ ์•Š๊ณ ์„œ๋„ ์ˆ˜ํ–‰ ๋˜๋Š” "๋น„๋™๊ธฐ์„ฑ"์ด๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ด๋ฒคํŠธ๊ฐ€ ์ž‡์œผ๋ฉด ์ „์ฒด ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ์ผ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์š”์•ฝํ•˜๋ฉด, 1. ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ์„œ๋ฒ„์— ์š”์ฒญ 2. ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ  ์ž‘์—…์„ ์ˆ˜ํ–‰ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ? ๋”๋ณด๊ธฐ ํด๋ฆญ! ๋”๋ณด๊ธฐ ๐Ÿ’ก์—ฌ๊ธฐ์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€? '๋„์„œ๊ด€'์ด๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋‚˜ ํด๋ž˜์Šค๋ผ๋Š” ๋‹จ์œ„๋กœ ๋ฌถ์–ด ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š” ..