l ์์ธ jsp์ List ๊ด๋ จ ํด๋์ค๊ฐ ์์ด์ ์๋ฌ๊ฐ ๋ฉ๋๋ค. l ํด๊ฒฐ ๋ฐ๋ผ์ jsp์์ ์๋์ ๊ฐ์ด import ์์ผ์ฃผ๋ฉด ๋ฉ๋๋ค.
l ์์ธ http://localhost:8080/adm/main_visual?mode=insert&orderKey=regist_dt&startPage=-1&orderVal=desc&searchKey[]=use_yn ํฐ์บฃ์์ ๋๋ ์ค๋ฅ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ฟผ๋ฆฌ์คํธ๋ง์ [] ๊ฐ์ ํน์๋ฌธ์๊ฐ ์์ด์ ๋๋ ์๋ฌ์ ๋๋ค. l ํด๊ฒฐ server.xml์์ relaxedQueryChars="[,]" ์ ์ถ๊ฐํด์ฃผ๋ฉด ํด๊ฒฐ ์๋ฃ!
๋ฉ์ด๋ธ์ ์คํ ์์ค ๋น๋ ํด์ ๋๋ค. ๋ฉ์ด๋ธ์ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํ๋ Dependency ์์๊น์ง ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๋ฉ์ด๋ธ์ ํ๋ก์ ํธ ์ ๋ฐ์ ๋ฆฌ์์ค ๊ด๋ฆฌ์ ์ค์ ํ์ผ ๊ทธ๋ฆฌ๊ณ ์ด์ ๊ด๋ จ๋ ํ์ค ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ฒ์๋ถํฐ ์ผ๊ด๋ ํํ๋ก ๊ตฌ์ฑํ์ฌ ๊ด๋ฆฌํฉ๋๋ค. l ๋ฉ์ด๋ธ(Maven) ์ค์นํ๊ธฐ maven.apache.org/download.cgi ๋ก ์ ์ํ์ฌ ํ์ผ์ ๋ค์ด๋ก๋ ํฉ๋๋ค. ์์ถ์ ํ๊ณ bin ํ์ผ ์์ ์๋ ํด๋๋ฅผ C:\spring ํด๋์ ๋ฃ์ต๋๋ค. l ๋ฉ์ด๋ธ ํ๊ฒฝ ๋ณ์ ์ค์ ํ๊ธฐ ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ๋ณต์ฌํฉ๋๋ค. ์์คํ ์์ฑ์์ ํ๊ฒฝ๋ณ์๋ฅผ ๋๋ฌ์ค๋๋ค. ์๋ก๋ง๋ค๊ธฐ ๋ฒํผ์ ๋๋ฌ ๋ณ์์ด๋ฆ์ MAVEN_HOME์ผ๋ก ํ๊ณ ์๊น ๋ณต์ฌํ๋ ๊ฒฝ๋ก๋ฅผ ๋ถ์ฌ์ค๋๋ค. Path๋ฅผ ์ ํํ์ฌ ํธ์ง..
@Autowired๋ฅผ ์ด์ฉํ๋ฉด xml์์ ๋น์ ์ง์ ์ค์ ํ ํ์์์ด, ์คํ๋ง ์ปจํ ์ด๋๊ฐ ์์์ ์ํ๋ ํด๋์ค๋ฅผ ์ฃผ์ ์์ผ์ค๋๋ค. ๊ทธ๋ผ ๋ฐ๋ก ์์๋ฅผ ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. l ์์ package com.spring.ex02; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import o..
@RequestParam ์ ๋ํ ์ด์ ์ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ป๋ ๋ฐฉ๋ฒ์ ๋๋ค. l ์์ ๋ค์๊ณผ ๊ฐ์ view์์ ์์ด๋๋ฅผ kbj, ์ด๋ฆ์ ๊น๋ณ์ค์ผ๋ก ์ ๋ ฅํ๊ณ ์ ์กํฉ๋๋ค. package com.spring.ex02; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.spri..
์คํ๋ง์ ๊ธฐ๋ฅ๋ค์ค ํ๋์ธ DI์ AOP๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ฐ๋ก XML ํ์ผ์์ ์ค์ ์ ํด์ผํ์ต๋๋ค. ํ์ง๋ง XMLํ์ผ์ ์ด๋ฌํ ์ค์ ๋ค์ ํ๊ธฐ์ ๋๋ฌด๋ ๋ณต์กํ๊ณ ์ด๋ ค์ ์ต๋๋ค. ๋ฐ๋ผ์ ์คํ๋ง์์๋ DI ๊ฐ์ ์๋ฐ ์ฝ๋์ ๊ด๋ จ๋ ์ค์ ์ ์ฝ๋์์ ์ง์ ํ ์ ์๋๋ก ํ์ต๋๋ค. ๊ทธ ๊ธฐ๋ฅ์ ์ ๋ํ ์ด์ (Annotation)์ด๋ผ๊ณ ํฉ๋๋ค. ํ์ฌ ์คํ๋ง์์๋ XMLํ์ผ ์ง์ ์ค์ ๊ณผ ์ ๋ํ ์ด์ 2๊ฐ๋ฅผ ํผํฉํด์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. l ์คํ๋ง ์ ๋ํ ์ด์ ์ ๊ณต ํด๋์ค ์ ๋ํ ์ด์ ์ ์ด์ฉํ๋ ค๋ฉด XML ํ์ผ์์ ๋ค์ 2๊ฐ์ ํด๋์ค๋ฅผ ๋น์ผ๋ก ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค. ํด๋์ค ๊ธฐ๋ฅ DefaultAnnotationHandlerMapping ํด๋์ค ๋ ๋ฒจ์์ @RequestMapping์ ์ฒ๋ฆฌํฉ๋๋ค. AnnotationMethodHandlerMappin..
๋ง์ด๋ฐํฐ์ค์์๋ ๋ฌธ๊ณผ ๋ฌธ์ ์ด์ฉํ์ฌ sql๋ฌธ์ ์ฌ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋๋ค. l ๊ณผ AND NAME LIKE '%์ง%' SELECT * FROM TEST_TABLE WHERE 1=1 ํ๊ทธ๋ฅผ ์ด์ฉํ์ฌ ๋ง๋ sql๋ฌธ์ ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ sql๋ฌธ์ ์ฒ๋ฆฌํ๊ธฐ์ ์ ํฉํฉ๋๋ค. SELECT * FROM TEST_TABLE WHERE 1=1 AND NAME LIKE '%์ง%'; '์ง'๊ฐ ๋ค์ด๊ฐ๋ NAME์ ์ฐพ๋ ๊ตฌ๋ฌธ์ด๋ฏ๋ก ์ ์ถ๋ ฅ๊ฒฐ๊ณผ์ NAME์ด 'ํ์ง์'์ธ๊ฑธ ์ ์ ์์ต๋๋ค. ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ง๋ฌธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค. "๋ ๋ฐ๋์ ๋ฐฑ์๋ ์์ด ๋ ๊ฑฐ์ผ"
foreach ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด SQL๋ฌธ์์ ํ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ํ๊ทธ์ ์ฌ๋ฌ๊ฐ์ง ์์ฑ ์์ฑ ์ค๋ช collection array์ list ์ธ์คํด์ค๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค. list ์์๋ list๋ก ํ์ํ๊ณ array ์์๋ array๋ก ํ์ํฉ๋๋ค. index foreach๋ฌธ์ด ๋ฐ๋ณต๋ ๋๋ง๋ค 1์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ์ ๊ทผํ๋ ๊ฐ์ ์์น๋ฅผ ๋ํ๋ ๋๋ค. item collection์ ์์ฑ์ ์ง์ ๋ ๊ฐ์ ์ ๊ทผํฉ๋๋ค. ์ฆ, ์์ฑ ์ด๋ฆ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. open ํด๋น ๊ตฌ๋ฌธ์ด ์์๋ ๋์ ์ง์ ํ ๊ธฐํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. close ํด๋น ๊ตฌ๋ฌธ์ด ๋๋ ๋์ ์ง์ ํ ๊ธฐํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. separator ๋ฐ๋ณต๋๋ ์ฟผ๋ฆฌ๋ฌธ ์ฌ์ด์ ์ง์ ํ ๊ธฐํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. l ์์ SELECT * FROM TEST_TABLE ..
ํ๊ทธ๋ switch๋ฌธ๊ณผ ๋น์ทํ ์ญํ ์ ํฉ๋๋ค. l ํ๊ทธ SELECT * FROM TEST_TABLE WHERE 1=1 AND NAME=#{name} AND ID=#{id} AND NAME='ํ์ง์' AND ID='ํ์ง์' switch์ case ๋ฌธ์ฒ๋ผ choose๋ฌธ์์๋ when ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์กฐ๊ฑด์์๋ ํญ์ test๋ฅผ ๋ถ์ฌ์ค์ผ ํฉ๋๋ค. ์ ์ฝ๋์์๋ ๋ง์ฝ name, id๊ฐ ์์ผ๋ฉด ์ฒซ๋ฒ์งธ when์ด, name๋ง ์์ผ๋ฉด ๋๋ฒ์งธ when์ด, id๋ง ์์ผ๋ฉด ์ธ๋ฒ์งธ when ์คํ๋๋ ์ฝ๋์ ๋๋ค. public MemberVO selectIF() { sqlMapper = getInstance(); SqlSession session = sqlMapper.openSession(); MemberVO mem..
๋ง์ด๋ฐํฐ์ค์์๋ ๋์ ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ํด์ฃผ๋ ์ฌ๋ฌ ๊ฐ์ง์ ํ๊ทธ๋ค์ด ์๋๋ฐ, ์ด๋ฒ ๊ธ์์ ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. l if๋ฌธ์ ๋ค๋ฅธ ์ฝ๋์์์์ if๋ฌธ๊ณผ ์ฌ์ฉ ์ฉ๋๊ฐ ๋น์ทํฉ๋๋ค. ๋ ์ฌ์ฉ๋ฐฉ๋ฒ๋ ์์ฃผ ์ ์ฌํฉ๋๋ค. ์ฃผ์ํ ์ ์ ๋ฐ๋์ ์กฐ๊ฑด๋ฌธ์์ test=""๋ฅผ ์ ์ด์ฃผ์ ์ผ ํฉ๋๋ค. SELECT * FROM TEST_TABLE WHERE 1=1 AND name=#{name} ๋ง์ฝ name์ด๋ผ๋ ๊ฐ์ฒด๊ฐ ์์ผ๋ฉด ํ์ ํ๊ทธ๋ฅผ ์คํํ๊ฒ ๋ฉ๋๋ค. ์๋ค๋ฉด if ํ๊ทธ์ ํ์ ํ๊ทธ๋ ๋ฌด์๋ฉ๋๋ค. public MemberVO selectIF() { sqlMapper = getInstance(); SqlSession session = sqlMapper.openSession(); MemberVO memberVo = new MemberV..
l List ๋ฐ๋ณต๋ฌธ ํฅ์๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์๋ฐ์ ์ปฌ๋ ์ ์ธ List๋ฅผ ๋ฐ๋ณต๋ฌธ ํ์ฐ๋ ๋ฐฉ๋ฒ์ ๋๋ค. public void put(String string, List resultList) { for(MemberVO vo : resultList) { System.out.println(vo); } } for(MemberVO vo : resultList) { System.out.println(vo); } ์ฌ๊ธฐ์ List์ ๊ธธ์ด๋ 2์ ๋๋ค. l ์ถ๋ ฅ ๊ฒฐ๊ณผ ํญ์น๋ ๋ฐ๋ณต๋ฌธ์ List ๋ง๊ณ ๋ ArrayList, HashMap, Map ๋ฑ ์๋ฐ์ ๋ค์ํ ์ปฌ๋ ์ ์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ง๋ฌธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค. "๋ ๋ฐ๋์ ๋ฐฑ์๋ ์์ด ๋ ๊ฑฐ์ผ"
์ค๋ผํด ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ ์ฝ๋๋ค์ค ์ต๋ seq๋ฅผ ๊ฐ์ง๋ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ์๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. l ์์ ์๋์ ๊ฐ์ด ๋ฐ์ดํฐ๋ค์ด ์์ต๋๋ค. ๊ฐ์ฅ ํฐ seq์ธ 106์ row๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ์ต๋๋ค. (๋งจ ์ ์ปฌ๋ผ์ด seq์ ๋๋ค.) SELECT ROWNUM, TEMP.* FROM ( SELECT * FROM TABLE_01 WHERE 1=1 ORDER BY SEQ DESC ) TEMP WHERE 1=1 AND ROWNUM = 1 ORDER BY๋ก ์์๋ฅผ ์ ํ ๋ค ROWNUM์ ์ด์ฉํด ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. l ๊ฒฐ๊ณผ ์คํ ๊ฒฐ๊ณผ ์ ๊ฐ์ ธ์จ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ง๋ฌธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค. "๋ ๋ฐ๋์ ๋ฐฑ์๋ ์์ด ๋ ๊ฑฐ์ผ"
๋ง์ด๋ฐํฐ์ค์์ ์ ๊ณตํ๋ SqlSession ํด๋์ค์์๋ CRUD๋ฅผ ์ํ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ์ ์ธ select ๊ด๋ จ ๋ฉ์๋๋ ์๋ ํ ์ด๋ธ๊ณผ ๊ฐ์ต๋๋ค. ๋ฉ์๋ ๊ธฐ๋ฅ List selectList(query_id) id์ ๋ํ select๋ฌธ์ ์คํํ ํ ๋ ์ฝ๋๋ฅผ List๋ก ๋ฐํํฉ๋๋ค. List selectList(query_id, '์กฐ๊ฑด') id์ ๋ํ select๋ฌธ์ ์คํํ๋ฉด์ ์กฐ๊ฑด(์ฟผ๋ฆฌ๋ฌธ์์ ์ฌ์ฉํ ์ธ์)๋ฅผ ์ ๋ฌํฉ๋๋ค. T selectOne(query_id) id์ ๋ํ select๋ฌธ์ ์คํํ ํ ํ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ง์ ํ ํ์ ์ผ๋ก ๋ฐํํฉ๋๋ค. T selectOne(query_id, '์กฐ๊ฑด') id์ ๋ํ select๋ฌธ์ ์คํํ๋ฉด์ ์กฐ๊ฑด(์ฟผ๋ฆฌ๋ฌธ์์ ์ฌ์ฉํ ์ธ์)๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ญ์ ์ดํดํ๋๋ฐ ์์๋ฅผ..
l null null์ ์ด๋ ํ ๊ฐ์ผ๋ก๋ ์ด๊ธฐํ ๋์ง ์๋ ๊ฐ์ ๋๋ค. ํ ๋ฉ๋ชจ๋ฆฌ์ ์์ญ์ด ์กด์ฌํ์ง๋ ์์ฃ . ๋ง์ฝ String str = null; ์ด๋ฐ ์์ผ๋ก ์ ์ธํด์ค๋ค๋ฉด ๋์ค์ ์ฌ์ฉํ๊ฒ ๋ค ์๊ณ ํ ์ํ์ด์ง ์กด์ฌํ๋ ๊ฒ์ ์๋๋๋ค. ์ฌ์ง์ฒ๋ผ ํด์ง๊ฝ๋ ์๋ ์ํ์ด์ฃ . l "" ""์ ํ๋์ String์ ๋๋ค. "str", "strstrstrstr"์ ๊ฐ์ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ์๋ ์ํ์ ๋๋ค. ์ ์ฌ์ง์์ 0์ด ""์ ๊ฐ๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค. null ๊ณผ ๋ค๋ฅด๊ฒ ํด์ง๊ฝ์ ์์ต๋๋ค. l ์์ฝ null : ์ฌ์ฉํ๊ฒ ๋ค ์๊ณ ํ ์ํ "" : ์ด๋ฏธ ์ฌ์ฉํ ์ํ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ง๋ฌธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค. "๋ ๋ฐ๋์ ๋ฐฑ์๋ ์์ด ๋ ๊ฑฐ์ผ"
๊ฐ๋ฐ์ ํ์ ๋ถ์ด๋ผ๋ฉด ๊ฐํน href="javascript:void(0)"๋ฅผ ๋ณด์ ์ ์ด ์์ ๊ฒ๋๋ค. ์ด๋ ๊ฒ ๋ง์ด์ฃ ๋งํฌ ๋ด๋ถ๋งํฌ๊ฐ ์์นํ a ํ๊ทธ์ ์์ฑ์ผ๋ก ์์ฃผ ๋ณด์ค์ ์์ต๋๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ์ ์ฐ์ด๋ณด๋ฉด undefined๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณด์ค์ ์์ต๋๋ค. ๊ทธ๋ผ ๋๋์ฒด ์ด ํจ์๋ ์ด๋์ ์ฌ์ฉํ๋ ๊ฒ์ผ๊น์? l void(0)์ ์ฌ์ฉํ๋ ์ด์ ์ฝ๊ณ ์งง๊ฒ ๋งํ๋ฉด a ํ๊ทธ ๊ฒฝ์ฐ ๋ด๋ถ ๋งํฌ๊ฐ ๊ฑธ๋ ค์๋๋ฐ ์ด ๋งํฌ๊ฐ ์ ์์ ์ผ๋ก ๋์ํ์ง ์๊ฒ๋ ํ๊ธฐ ์ํจ์ ๋๋ค. ๋ง์ฝ a ํ๊ทธ์ ๋ด๋ถ๋งํฌ๊ฐ ๊ฑธ๋ ค ์๋๋ฐ a ํ๊ทธ์์ onclick ์์ฑ์ ๋ถ์ฌํ๊ณ ์ถ์ ๋ ๋ด๋ถ ๋งํฌ๋ฅผ ๋์ํ์ง ์๊ฒ ํ ์ ์์ต๋๋ค. href="" ์ด๋ฐ ์์ผ๋ก uri๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋๋ค ์๊ฐ ํ์ค์๋ ์์ง๋ง ๋ง์ฝ ์ ๋ ๊ฒ ํ ๊ฒฝ์ฐ ์ต์์ ๋งํฌ๋ฅผ ์ด๋ํ๊ฒ ๋ฉ๋..
๋ง์ด๋ฐํฐ์ค๋ ์คํ๋ง์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋์ ๋์์ฃผ๋ ํ๋ ์์ํฌ์ ๋๋ค. ๊ธฐ์กด์๋ JDBC ์ฐ๋ ๊ณผ์ ๋ ๋ณต์กํ๊ณ SQL๋ฌธ์ด ์ฝ๋๋ด์ ์์ฌ ์ฝ๋๊ฐ ์๋นํ ๋ณต์กํด์ก์ต๋๋ค. ๋ ๊ทธ๋ ๋ฏ ํ๋ ์์ํฌ๋ ํธ์๋ฅผ ์ํด ๋ง๋ค์ด์ง๋๋ค. ๋ง์ด๋ฐํฐ์ค๋ ๊ฒฐ๊ตญ ๊ฐ๋ฐ์๋ค์ ํธ์์ฑ์ ์ํ์ฌ ๋ง๋ค์ด์ก์ต๋๋ค. ๋ง์ด๋ฐํฐ์ค์ ํน์ง sql ์คํ ๊ฒฐ๊ณผ๋ฅผ Map ๊ฐ์ฒด์ ๋งคํํด์ค๋๋ค. sql์ ์์ค ์ฝ๋๊ฐ ์๋ XML๋ก ๋ถ๋ฆฌํ์ฌ ์์ฑํฉ๋๋ค. ๋ฐ์ดํฐ์์ค ๊ธฐ๋ฅ๊ณผ ํธ๋์ญ์ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ค๋๋ค. ๊ทธ๋ผ ๊ฐ๋จํ ๋ง์ด๋ฐํฐ์ค๋ฅผ ์ํ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ ํ ๊ฐ๋จํ sql๋ฌธ์ ์คํํ์ฌ ๊ฒฐ๊ณผ๊ฐ์ jsp์ ๊ฐ์ ธ์๋ณด๊ฒ ์ต๋๋ค. DBMS๋ ์ค๋ผํด์ ์ฌ์ฉํ์์ต๋๋ค. l ๋ง์ด๋ฐํฐ์ค ์ค์ ์ ์ํ xml ํ์ผ๋ค SqlMapConfig.xml ์ ์ด์ฉํ์ฌ ๋ง์ด๋ฐํฐ์ค ์ค์ ์ ํด์ค๋๋ค..
์คํ๋ง์ ํน์ง์ 5๊ฐ์ง๋ก ๋๋๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋๋ ์ ์์ต๋๋ค. ๊ฒฝ๋ ์ปจํ ์ด๋ DI(Dependency Injection, ์์กด์ฑ ์ฃผ์ ) IoC(์ ์ด์ ์ญํ๋ฆ, Inversion of Control) AOP(๊ด์ ์งํฅํ๋ก๊ทธ๋๋ฐ, Aspect oriented Programming) POJO ๋ฐฉ์์ ํ๋ ์์ํฌ ๊ทธ ์ค ์ด๋ฒ ๊ธ์์๋ AOP(๊ด์ ์งํฅํ๋ก๊ทธ๋๋ฐ)์ ๋ํด ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. l AOP๋ ์ ํ์ํ ๊น? ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๋ค ๋ณด๋ฉด ํดํน์ ๋๋นํ๊ธฐ ์ํ ๋ณด์ ๊ธฐ๋ฅ, ์ฌ์ฉ์์ ์ ์ ๋ด์ญ์ ์ํ ๋ก๊น ๊ธฐ๋ฅ ๊ทธ์ธ์ ํธ๋์ญ์ , ์ด๋ฉ์ผ ๋ฐ์ก ๊ธฐ๋ฅ ๋ฑ ์๋ง์ ๊ธฐ๋ฅ๋ค์ด ์์ต๋๋ค. ์ด๋ค์ ๊ณตํต์ ์ ๋ฌด์์ผ๊น์? ๋ชจ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ๋ ๊ณตํต์ ์ผ๋ก ํ์ํ ๊ธฐ๋ฅ๋ค ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ถ๋ถ์ ํด๋์ค๋ค์ด ์ด๋ฌํ ๊ธฐ๋ฅ..
์๋์ฐจ์์ ๋ง์ฝ ์์ง์ด ์ค๋๋์ ์์ง์ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด, ์๋์ ์ ์ฒด๊ฐ ์๋ ์์ง๋ง ๋ฝ์์ ๋ฐ๊ฟ์ฃผ๋ฉด ๋ฉ๋๋ค. ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์๋ ํด๋์ค์ ๋ํ ๋ณ๊ฒฝ์ด ํ์ํ๋ฉด ๋ค๋ฅธ ํด๋์ค์ ์ํฅ์ ๋ผ์น์ง ์์ผ๋ฉด์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์ํฉ์ ๋ ์์ํ๊ฒ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ์ผ ๋์์ค์ ์๋๋ก ๋์ ๋ ๊ธฐ๋ฅ์ด ๋ฐ๋ก DI(Dependency Injection)์ IoC(Inversion of Control)์ ๋๋ค. ์๋ฐ๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ง์ ํด๋์ค์ new ์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ ์์ฑํ์ต๋๋ค. ํ์ง๋ง DI๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ฝ๋ฉ์ ํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์๋๋ผ, ์ปจํ ์ด๋๊ฐ ์ด๋ฅผ ์์ฑ์์ผ ์ฃผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ ๊ฒ ๋๋ค๋ฉด ์ฝ๋์์ ์ง์ ์ ์ธ ์ฐ๊ด ๊ด๊ณ๊ฐ ๋ฐ์ํ์ง ์์ ๊ฐ ํด๋์ค๋ค์ ๋ณ๊ฒฝ์ด ์์ ๋ก์ ์ง๋๋ค...
"์๋ฐ๋ฅผ ์ ๋ง ๋ญ๋๊น.. ์ก๊ตฐ์ฌ๊ดํ๊ต ๋์ค๋ ์ค๋์ฅ ๊ฐ์ ๋๋์ด๋ค.. ์์ฒญ ๋๋จํ์ง๋ง ์๊ฒฉํด์ ์ซ๋ค๊ณ ํด์ผํ ๊น.. ๋ถ๋ช ๋ณด์ด๊ธฐ์ ๊ฐ์๋ณด์ด์ง๋ง ๋ค๋ฅธ๊ฒ ๋๋ฌด ๋ง๋ค. ์คํฌ๋ฆฝํธ ์ธ์ด๊ฐ ๊ด๋ํ๊ฒ์ ๋นํด ์๋ฐ๋ ์๋นํ ์๊ฒฉํ๋ค. ์๊ฒฉํ ๊ณณ์์ ์ค๋ ์ฅ์ ์ ๋ถ๋ช ํ์ง๋ง ๊ทธ๋งํผ ๊ฐ๋ฐ์๋ค์ ๊ฐ๋ ๊ดด๋กญํ๋ค." ๊ทธ๋์ ์ด๋ฒ ๊ธ์๋ ์ ๋ฅผ ์์ฒญ๋๊ฒ ๊ดด๋กญํ๋ equals() ์ == ์ ์ฐจ์ด๋ฅผ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ๊ธ์ ์์ ์ดํดํ๋๋ฐ ํฐ ๋์์ ์ฃผ์ ๋ฐ ๋ณธ๋ถ์ฅ๋๊ป ๊ฐ์ฌ์ ์ธ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค!! l String ๋ณ์๋ฅผ ์์ฑํ ๋ String์ int, float, double ๋ฑ๊ณผ ๋ค๋ฅด๊ฒ ์๋ฐ์์๋ ํด๋์ค๋ก ํตํฉ๋๋ค. ํด๋์ค์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฐ์ดํฐํ๊ณผ ๋ค๋ฅด๊ฒ ๊ฐ์ฒด๋ก๋ ์์ฑ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋ฆฌํฐ๋ด์ ์ด์ฉํ์ฌ String ์์ฑ new ์ฐ์ฐ์..
ํญ์ ๋ณผ๋๋ง๋ค ๋๋ฌด ํท๊ฐ๋ ค์ ๊ธ๋ก ์จ๋ด ๋๋ค. l HashMap HashMap์ด๋ Map ์ธํฐํ์ด์ค ์ข ๋ฅ๋ก์จ key์ value ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฆ์์ ์์ ์๋ฏ์ด hashing(ํด์ฑ)์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์์ด์ ๋ฐ์ด๋ ์ฑ๋ฅ ๋ณด์ฌ์ค๋ค๊ณ ํฉ๋๋ค. ํด์ฑ์ด๋?? ๋๋ถ๋ถ์ ํ์ ๋ฐฉ๋ฒ๋ค์ ํ์ ํค๋ฅผ ์ ์ฅ๋ ํค ๊ฐ๊ณผ ๋ฐ๋ณต์ ์ผ๋ก ๋น๊ตํ๋ฉด์ ํ์์ ์ํ๋ ํญ๋ชฉ์ ์ ๊ทผํฉ๋๋ค. ํด์ฑ์ ํค ๊ฐ์ ์ง์ ์ฐ์ ์ ์ธ ์ฐ์ฐ์ ์ ์ฉํ์ฌ ํญ๋ชฉ์ด ์ ์ฅ๋์ด ์๋ ํ ์ด๋ธ์ ์ฃผ์๋ฅผ ๊ณ์ฐํ์ฌ ํญ๋ชฉ์ ์ ๊ทผํฉ๋๋ค. ์ด๋ ๋ฏ ํค ๊ฐ์ ์ฐ์ฐ์ ์ํด ์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ฅผ ํด์ ํ ์ด๋ธ์ด๋ผ ํ๊ณ , ํด์ ํ ์ด๋ธ์ ์ด์ฉํด ํ์ํ๋ ๋ฐฉ๋ฒ์ ํด์ฑ์ด๋ผ๊ณ ํฉ๋๋ค. key๋ ์ค๋ณต๋๋ฉด ์๋์ง๋ง ๋ง์ฝ ์ค๋ณต๋๋ค๋ฉด ์ต๊ทผ ke..
์ค๋์ ์๋ฐ์์ ๋ง์ด ์ฌ์ฉํ๋ ํจ์์ธ isEmpty์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. isEmpty๋ String ํด๋์ค์ ๋ฉ์๋์ด๋ฏ๋ก ๋จ๋ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ isEmpty๋ null์ ์ฒดํฌํด์ฃผ์ง ์์ต๋๋ค. l ์์ package com.ex01; public class test01 { public static void main(String[] args) { String str = "test"; String str2 = "";//๊ณต๋ฐฑ ์์ String str3 = " ";//๊ณต๋ฐฑ ์์ System.out.println(str.isEmpty());//=>false System.out.println(str2.isEmpty());//=>true System.out.println(str3.isEmpty())..
SELECT SBJECT_MASTR_SEQ.NEXTVAL FROM DUAL INSERT INTO SBJECT_MASTR (SBJECT_MASTR_SN, SBJECT_NM, SBJECT_CODE, SBJECT_CTGRY, EDC_TRGET, SRCHWRD, USE_YN, CM, REGIST_DT, REGIST_MBER_SEQ) VALUES (#{sn}, #{sbject_nm}, 'ES'||LPAD(#{sn}, 6, 0), #{sbject_ctgry}, #{edc_trget}, #{srchwrd}, #{use_yn}, #{cm}, SYSDATE, #{mber_seq}) ์ค๋ผํด ๊ธฐ์ค์ ๊ธ์ ๋๋ค. ํ๊ทธ๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ์ํ์ค ๋ค์์ ์ํ์ค๋ฅผ ๊ฐ์ ธ์ฌ์ ์์ต๋๋ค. ใ ฃSELECT SBJECT_MASTR_SEQ.NEX..
์คํ๋ง ํ๋ ์์ํฌ๋ก ์ธ์ ์ ์ด์ฉํด ๋ก๊ทธ์ธ์ ๊ฐ๋จํ๊ฒ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค. ์ธ์ ์ด๋? ์ธ์ ์ ๋ํ ๊ฐ๋ ์ ๊ฐ๋จํ๊ฒ ์๊ณ ๊ฐ๊ฒ ์ต๋๋ค. ์ธ์ ์ ์ฟ ํค์ ํ ์ผ์ข ์ผ๋ก session ์ฟ ํค๋ฅผ ๋งํฉ๋๋ค. ์ด๋ฅผ ํธํ๊ฒ ์ฐ๋ฆฌ๋ ๊ทธ๋ฅ ์ธ์ ์ด๋ผ๊ณ ํ์ฃ . ๊ทธ๋์ ์ธ์ ๊ณผ ์ฟ ํค๋ฅผ ๋ค๋ฅด๊ฒ ์์๋ ๋ถ๋ค์ด ๋ง์๋ฐ ์ฌ์ค ์ธ์ ๋ ์ฟ ํค์ ์ํฉ๋๋ค. ์ฟ ํค๋ session ์ฟ ํค์ persistence ์ฟ ํค๊ฐ ์กด์ฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ session ์ฟ ํค๊ฐ ์ด๋ฒ ๊ธ์์ ์ฌ์ฉํ ์ฟ ํค ์ ๋๋ค. session ์ฟ ํค๋ persistence ์ฟ ํค์ ๋ค๋ฅด๊ฒ ํ๋ฐ์ฑ์ ๋๋๋ค. ๋ธ๋ผ์ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ง์ฝ session ์ฟ ํค๊ฐ ์ฌ์ด์ ธ ์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๋ค๋ฉด session ์ฟ ํค๋ ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค. session ์ฟ ํค์ ๋ํด ๊ฐ๋จํ ์ค๋ช ํ๊ณ , ์ด๋ป๊ฒ ์ด๋ฅผ ์ด์ฉ..
์ฟ ํค์ ๋ํด ์์ธํ๊ฑด ๋ค๋ฅธ ๊ธ์์ ์์๋ณด๊ณ , ์ด ๊ธ์์๋ ์ฟ ํค๋ฅผ ์ด๋ป๊ฒ ์ด์ฉํ๋์ง์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ Persistence ์ฟ ํค์ session ์ฟ ํค์ ๋ํด ๋์ถฉ ์๊ณ ๋์ด๊ฐ๊ธฐ๋ง ํ๋๋ฐ ์ด๋ฒ ๊ธ์์๋ ์ฟ ํค์ ๋ํด ์ง๊ณ ๋์ด๊ฐ๋ คํฉ๋๋ค. ์ด ๊ธ์ ์ฝ๋๋ ์ ํ์ฌ์ ์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ฑ ํ์๊ธฐ์ ์ด๋ป๊ฒ ์๋ํ๋์ง ํ๋ฆ ํ์ ํ๊ธฐ์๋ ์ข์ง๋ง, ์ง๊ธ ๋น์ฅ ์ฟ ํค ๊ด๋ จํ ์ฝ๋๊ฐ ํ์ํ์ ๋ถ์ ์ ํฉํ์ง ์์ ์ ์์ต๋๋ค. l ์ฟ ํค๋ ์ด๋์์๊น? ๊ฐ๋ฐ์ ๋๊ตฌ Application ํญ์ ๊ฐ๋ณด๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋์ด ์๋ ์ฟ ํค์ ์ ๋ณด๋ฅผ ๋ณผ ์ ์์ต๋๋ค. JSESSIONID๋ Session ์ฟ ํค์ ๊ดํ ์ ๋ณด์ด๊ณ , ๊ทธ์ธ์๋ Persistence ์ฟ ํค์ ๊ดํ ๊ฒ์ธ๋ฐ ์ฌ๊ธฐ์ Persitence ์ฟ ํค๋ฅผ ๊ทธ๋ฅ ์ฟ ํค๋ผ๊ณ ์ง์นญํ๊ฒ ์ต๋๋ค..
์๋ฒ์์ ๋ฐ์ ๋ฐ์ดํฐ๋ค์ ๊ฐ๋ฐ์ ๋๊ตฌ ์ฝ์์์ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ง์ฝ ์ด๋ฏธ์ง์ ๊ฐ์ ๋ฐ์ดํฐ๋ค์ ์๋ฒ์์ ๋ฐ์๋ค๊ณ ํ๋ฉด result.data.result๋ฅผ ์ ๋ ฅํ์ ๋ ์ถ๋ ฅ์ด ์๋ฌ์์ด ๋ ๊น์?? ๋ค ๋ง์ต๋๋ค. ์๋ฉ๋๋ค. ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ ์๋ฌ๊ฐ ๋ฌ๊ณ , ์ด๋ป๊ฒ ์ ๊ทผ์ ํ๋ฉด ๋ ๊น์?? ์ฐ์ ์๋ฌ๊ฐ ๋๋ ์ด์ ๋ ์ฝ๊ฒ ๋งํด DOM ๊ฐ์ฒด์ result ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ใ ฃ๊ฐ์ฒด์ ๋ด์์ค์ผ ํ๋ค! ๊ฒฐ๊ตญ ๊ฐ๋ฐ์ ๋๊ตฌ ์ฝ์์์ result.data.result ์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ํด๋ผ์ด์ธํธ๋ก ๋ฐ์ดํฐ ๊ฐ์ ๋ณด๋ผ ๋ ํ ์์์ ๊ฐ์ฒด ์์ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค. var aaa = { dummy: null , init: function() { this.addEvent(); } , addEvent: fu..
์น ๊ฐ๋ฐ์๋ถ๋ค์ด๋ผ๋ฉด DOM ์ด๋ผ๋ ๋จ์ด ํ๋ฒ์ ๋๋ ๋ค์ด๋ณด์ จ์ ๊ฒ๋๋ค. ์ ์ญ์ DOM์ ๋ํด ๋ง์ด ๋ค์ด๋ดค์ง๋ง ์ ํํ ๊ทธ๊ฒ ๋ฌด์์ธ์ง๋ ์๋ชฐ๋์ต๋๋ค. ๊ฐ๋ฐ์๋ผ๋ฉด ๊ถ๊ธํ ๊ฒ์ ๋ํด ๊ทธ๋ฅ ๋์ด๊ฐ๋ฉด ์๋๊ธฐ์ DOM์ ๋ํด ๊ณต๋ถํด๋ดค์ต๋๋ค. Aldev๋, Code Playground๋, WIT๋ธ๋ก๊ทธ์ ๊ณ ์ฐ์๋์ ์๋ฃ๋ฅผ ํ ๋๋ก ์ ๊ฐ ์ดํดํ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์ ๋ฆฌํ์ต๋๋ค. ํ๋ฆฐ ๋ถ๋ถ์ด ์์ผ๋ฉด ์ธ์ ๋ ์ง์ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์ฐธ๊ณ ํ ๋ธ๋ก๊ทธ๋ค์ ๋ํด์๋ ํ๋จ์ ์ฃผ์๋ฅผ ๋จ๊น๋๋ค. l BOM ๊ณผ DOM ์น์ ๊ธฐ๋ณธ์ ์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์๋น์ค ๋ฉ๋๋ค. ํฌ๋กฌ, ์ฌํ๋ฆฌ, ์ต์คํ๋ก์ด ๋ฑ์ด ๋ฐ๋ก ์น ๋ธ๋ผ์ฐ์ ์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ html ์ฝ์ด๋ค์ฌ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค๋๋ค. ์ด๋ฌํ ๋ธ๋ผ์ฐ์ ์ ๊ด๋ จ๋ ๊ฐ์ฒด๋ค์ ์งํฉ์ ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ ์ฆ..
์ฌ์ง๊ณผ ๊ฐ์ด ๋์ผํ ํด๋์ค์ ๋ํด์ ๋ค๋ฅด๊ฒ css ์์ฑ์ ํด์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์์ 2๊ฐ์ ์ด๋ฏธ์ง๊ฐ ์๋๋ฐ 2๊ฐ ๋ชจ๋ ๋์ผํ ํ๊ทธ๋ก ์์ฑ๋ ๋ค ๋ฐ์ดํฐ ๊ฐ๋ง ๋ค๋ฅด๊ฒ ๋ฐ์์ต๋๋ค. ์ด๋ฏธ์ง A ์ด๋ฏธ์ง B ๋ง์ฝ class="background" ๋ผ๊ณ ํ ๋ $('.background').css("color", "red"); ํ๊ฒ ๋๋ฉด 2๊ฐ์ ์ด๋ฏธ์ง ๋ชจ๋ ํฐํธ๊ฐ ๋นจ๊ฐ์์ผ๋ก ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ ๋ ์ฒซ๋ฒ์งธ ์ด๋ฏธ์ง์๋ง ๋นจ๊ฐ์ ํฐํธ๋ก ํ๊ณ ์ถ์ ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํด๋น ํ๊ทธ์ ์ ๊ทผํ๋ฉด ๋ฉ๋๋ค. crud.list.onComplete = function(result) { console.log(result); if(result.result) { var dataList = result.dat..
# ์๋ธ๋ฆฟ??!! ์๋ธ๋ฆฟ์ ์๋ฒ ์ชฝ์์ ์คํ๋๋ฉฐ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ๋ ๋์์ฃผ๋ ์๋ฐ ํด๋์ค์ ๋๋ค. ์๋ธ๋ฆฟ์ ์๋ฐ ํด๋์ค์ด๋ฏ๋ก ์๋ฐ์ ์ผ๋ฐ์ ์ธ ํน์ง์ ๋ชจ๋ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํ์ง๋ง ์๋ฐ์ ๋ฌ๋ฆฌ ์๋ธ๋ฆฟ์ ํฐ์บฃ๊ณผ ๊ฐ์ ์๋ธ๋ฆฟ ์ปจํ ์ด๋์์ ์คํ๋์ผ ํฉ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์น ์๋ฒ์ ์์ฒญ์ ํ๋ฉด ์น ์๋ฒ๋ ๊ทธ ์์ฒญ์ ํฐ์บฃ๊ณผ ๊ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(WAS)์ ์์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด WAS ๋ ๊ฐ ์์ฒญ์ ํด๋นํ๋ ์๋ธ๋ฆฟ์ ์คํํฉ๋๋ค. ๊ทธ ํ ์๋ธ๋ฆฟ์ ์์ฒญ์ ๋ํ ๊ธฐ๋ฅ์ ์ํํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ์ฌ ํด๋ผ์ธํธ์๊ฒ ์๋ตํ๊ฒ ๋ฉ๋๋ค. ์๋ธ๋ฆฟ์ ํน์ง ์๋ฒ์์ ์คํ๋๋ค. ์ ์ ์ธ ์น ํ๋ก๊ทธ๋จ์ ๋์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ค๋ค. ์ค๋ ๋ ๋ฐฉ์์ผ๋ก ์คํ๋๋ค. ์๋ฐ ํด๋์ค์ด๊ธฐ ๋๋ฌธ์ ์๋ฐ์ ํน์ง์ ๊ฐ๋๋ค. ์๋ธ๋ฆฟ ์ปจ..
๋๋ถ๋ถ ์ฌ๋๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS : DataBase Management System)์ ๊ตฌ๋ณํ์ง ์๊ณ ํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํตํฉํด์ ๋งํ๊ณค ํฉ๋๋ค. ํ์ง๋ง ์ ํํ ์ด ๋์ ๊ฐ๋ ์ ์์ฐํ ๋ค๋ฆ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๋๋ค. ์์ ์๋ Mysql ๋ ์ค๋ผํด, ๋ชฝ๊ณ ๋น๋ ๋ฑ์ด ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ 1960๋ ๋์ ๊ฐ๋ฐ๋์ด ํ์ฌ๊น์ง๋ ๊พธ์คํ ์งํ๋ฅผ ๊ฑฐ๋ญํ๊ณ ๋ฐ์ ๋๊ณ ์์ต๋๋ค. ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฐ๋ผ 4์ธ๋๋ก ๋๋์ ์์ต๋๋ค. 1์ธ๋์ธ ๋คํธ์ํฌ DBMS 2์ธ๋์ธ ๊ด๊ณ DBMS 3์ธ๋์ธ ๊ฐ์ฒด์งํฅ ๊ฐ์ฒด๊ด๊ณ DBMS 4์ธ๋์ธ NoSQL, NewSQL DBMS (๋ฐ์ดํฐ ๋ชจ๋ธ์ด๋? ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ๊ตฌ์กฐ๋ฅผ..
์๋ฐ์คํฌ๋ฆฝํธ๋ Java, Python ์ฒ๋ผ ๊ฐ์ฒด์งํฅ์ธ์ด(Object-Oriented Programming, OOP)์ ๋๋ค. ๊ฐ์ฒด์งํฅ์ด๋ ํ๋ก๊ทธ๋จ์ ๊ทธ์ ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ๋ฐฉ๋ฒ์ผ๋ก ๋๋๋๊ฒ ์๋๊ณ , ํ๋ก๊ทธ๋จ์ ๋ค์์ "๊ฐ์ฒด"๋ก ๋ง๋ค๊ณ , ์ด๋ค์ด ์๋ก ์ํธ์์ฉ์ ํตํด ๋ง๋ค์ด์ง๋ ๋ฐฉ์์ ๋๋ค. ์๋ฅผ ๋ค์ด ์๋์ฐจ๊ฐ ์๋ค๊ณ ํ๋ฉด ์๋์ฐจ์ ๋ฐํด, ์์ง, ๋์ด ๋ฑ์ ๊ฐ์ฒด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ด ๊ธ์ ํ๋กํ ํ์ ์ ๊ดํ ๊ธ ์ด๋ฏ๋ก ๊ฐ์ฒด ์งํฅ์ ๋ํด์ ์ด ์ ๋๋ง ์๊ณ ๊ฐ๊ฒ ์ต๋๋ค. ํ์ง๋ง ํด๋์ค๊ฐ ์กด์ฌํ๋ Java์๋ ๋ฌ๋ฆฌ ์๋ฐ์คํฌ๋ฆฝํธ(์ดํ JS)์๋ ํด๋์ค๋ผ๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ๋์ JS์๋ ํ๋กํ ํ์ ์ด๋ผ๋ ๊ฐ๋ ์ด ์กด์ฌํฉ๋๋ค. ์ด ๋๋ฌธ์ JS๊ฐ ํ๋กํ ํ์ ๊ธฐ๋ฐ์ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ด์ ์ ๋๋ค. ECMA6์์ ํด๋์ค ๋ฌธ๋ฒ์ด ..