IT/development205 [egovframework] GPKI ์น๋ณด์ API ์ ์ฉ ๋ชฉ์ฐจGPKI ์น ๋ณด์ API๋ฅผ ์ ์ฉํด์ ๋ก๊ทธ์ธ ํ์ ๊น์ง ๋จ๋ ๊ณผ์ ๋ง ํฌ์คํ ํ๊ฒฝ๋ณ์ ์ธํ CLASSPATH๋ผ๋ ์์คํ ๋ณ์ ์ถ๊ฐ ํ jarํ์ผ ๊ฒฝ๋ก๋ฅผ ์ค์ PATH์ ์ถ๊ฐ์น๋ณด์ API ๋ชจ๋ ๋ณต์ฌ์ํ๋ ์์น์ gpkiapi, gpkisecurewebํด๋๋ฅผ ์์น์ํดํ๋ก์ ํธ์ ์น ๋ฆฌ์์ค ๊ฒฝ๋ก์ ๋ณต์ฌtomcat์ vm option์ ์น ๋ณด์ API ๋ชจ๋์ ์์น์ ์ค์ ํ์ผ์ ์ก์์ค์ค์ ํ์ผ์ 2๊ฐ๊ฐ ์์๋ก๊ทธ์ธ ์ฝ๋ ์์ (Controller)๋ก๊ทธ์ธ ํ๋ฉด ๋ฉ์๋์ GPKI ๋ถ๋ถ ์ฃผ์ ํด์ ํ sessionid๋ฅผ model์ ์ถ๊ฐ๋ก๊ทธ์ธ ํ๋ฉด(jsp) ์์ GPKI ์ธ์ฆ์ ํธ์ถ ์ฉ form ์์ฑ ํ ์๋์ฒ๋ผ click event์ GPKISecureWebNP.js์ Login์ ํธ์ถ์ด ๋ sessionid๋ ํ์๊ฐ์, ์ค์ ์ํ.. IT/development 2024. 5. 14. [spring] spring security ๋ก๊ทธ์ธ, ๊ถํ ์์(feat. easy) ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ ๊ฐ๋จํ ๋ก๊ทธ์ธ, ๊ถํ ์์ reference: https://www.youtube.com/watch?v=GEv_hw0VOxE&list=PL93mKxaRDidERCyMaobSLkvSPzYtIk0Ah&index=1 ์ ํ๋ธ ๋ฉํ์ฝ๋ฉ์ ์คํ๋ง๋ถํธ ์ํ๋ฆฌํฐ๋ฅผ ๋ณธ ๋ค์ ์ง์ ๋ง๋ค์ด ๋ดค์ต๋๋ค. IT/development 2024. 4. 13. [Oracle] ๋น๋ฐ๋ฒํธ ๋ง๊ธฐ ํด์ ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ์ค๋ผํด DBMS ์ ์ ํ ์๋ ์ ์ฐจ๋๋ก ์ํ ๋น๋ฐ๋ฒํธ ๋ง๊ธฐ ์ ์ฑ ํ์ธ ๐ SELECT * FROM dba_profiles WHERE profile = 'DEFAULT'; ํ๋กํ์ผ ๋ด์ฉ ๋ณ๊ฒฝ(๋ฌด์ ํ์ผ๋ก) alter profile default limit password_life_time unlimited; IT/development 2024. 4. 11. [Git] git reflog ์์ git reflog๋ฅผ ํตํ ํ์ผ ๋ณต๊ตฌ ์์ ๊ฐ์ธ ์คํฐ๋ ๊ธฐ๋ก์ ๋ฉ๋ชจํ๋ ๊ณต๊ฐ์ด๋ผ ํ๋ฆฐ์ ์ด ์์ ์ ์์ต๋๋ค. ํ๋ฆฐ ์ ์์ ๊ฒฝ์ฐ ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. reference:https://www.youtube.com/watch?v=p7Wd3p4hPCA&list=PL93mKxaRDidFtXtXrRtAAL2hpp9TH6AWF&index=11 IT/development 2024. 4. 8. [mybatis] parameter ๊ฐ ๋์ ์ ๋ฌ ๋ชฉ์ฐจ mybatis์ ๋ฐ์ดํฐ ์ ๋ฌ ์ vo์ ํ๋์ vo์์ list ๋์ ์ ๋ฌ javascript if (confirm("์ ์ฅํ์๊ฒ ์ต๋๊น?")) { dlbrList = []; $('#tab3Body tr').each(function() { var rowData = { 'exmnSn': $(this).find('#exmnSnId').val() } dlbrList.push(rowData); }); var paramData = { cmitNo: $("#cmitNoId").val(), mtgMngNo: $("#mtgMngNoId").val(), //vo์์ list๋ช ๊ณผ ์ผ์นํด์ผ ํจ dlbrList: dlbrList }; $.ajax({ url: '/save.do', method: 'POST', data: JS.. IT/development 2024. 3. 31. [mybatis] mybatis data binding (feat. vo) ์ต๊ทผ์ ์๊ฒ๋ ์ฌ์ค์ธ๋ฐ mybatis ์ฌ์ฉ ์ selectํ๋ ์ปฌ๋ผ๋ช ๊ณผ vo ํ๋๊ฐ ์๋ก ์นด๋ฉ์ผ์ด์ค, ์ค๋ค์ดํฌ์ผ์ด์ค๋ก ์ผ์นํ ๊ฒฝ์ฐ ์๋์ผ๋ก vo์ ๋ฐ์ธ๋ฉ ํ๊ธฐ ๋๋ฌธ์ as๋ฅผ ๋ฐ๋ก ์ฃผ์ง์์๋ ๋๋ค.--์์ ์ฟผ๋ฆฌSELECT USER_NAME FROM users--์์ VO@Datapublic class User { //์ด๋ ๊ฒ ์ปฌ๋ผ๋ช ์ ์นด๋ฉ์ผ์ด์ค๋ก ๋ ๊ฒฝ์ฐ๋ ์๋ ๋ฐ์ธ๋ฉ๋จ private String userName; }์ด๊ฑธ ๋ชฐ๋ผ์ ๊ทธ๋์ ์๋์ฒ๋ผ ์ปฌ๋ผ๋ง๋ค ์ ๋ถ AS๋ฅผ ๋ฌ์์๋ค..์ด์ ๋ถํฐ ์๋ตํด์ผ์งSELECT user_name as userName , user_id as userId , user_email as userEmail --.... FROM USERS ํน ์ปฌ๋ผ๋ช ๊ณผ vo.. IT/development 2024. 3. 17. [JavaScript] ๋ค์ค select ์์(feat. ์ง์ญ์ฝ๋) ๊ฐ๋ฐ์ปจ์ ์ ์๋์ ๊ฐ๋ค. ๊ฐ๋ฐ ์ปจ์ ์ ๋ ํธ๋ฐ์ค 2๊ฐ ์กด์ฌ - ๊ด์ญ์ง์์ฒด - ๊ธฐ์ด์ง์์ฒด ํ์ด์ง ๋ก๋ ํ์๋ ๊ด์ญ์ง์์ฒด ๋ฐ์ดํฐ๋ง ์๋ ์ํ๊ณ ๊ธฐ์ด์ง์์ฒด ๋ฐ์ดํฐ๋ ์๋ ์ํ ๊ด์ญ์ง์์ฒด ์ ํ ์ ํด๋น ์ฝ๋์ ํด๋น๋๋ ๊ธฐ์ด์ง์์ฒด ๋ฐ์ดํฐ๊ฐ ๊ธฐ์ด์ง์์ฒด selectbox์ ์ธํ ๋จ ๊ด์ญ์ง์์ฒด์์ ๋ค์ ์ ํ์ ๋๋ฅด๋ฉด ๊ธฐ์ด์ง์์ฒด๋ ๋ค์ ๋ฐ์ดํฐ ์ด๊ธฐํ๋จ ์ง์์ฒด ์ ํ ํ ๊ฒ์ ์ด๋ฒคํธ ๋ฐ์ ์ ์ ํํ ๊ด์ญ์ง์์ฒด, ๊ธฐ์ด์ง์์ฒด์ฝ๋๊ฐ selected๋จ script $(document).ready(function () { //๊ด์ญ์ง์์ฒด์ฝ๋ ์ธํ cf_L_inst_option('serachInstL'); //๊ฒ์ํ ๊ด์ญ ์ง์์ฒด์ฝ๋(jsp๋ผ์ jstl ๋ฌธ๋ฒ ์ฌ์ฉ) var serachUpperInstL = ''; if (serachUpper.. IT/development 2024. 3. 1. [Chart.js] ํต๊ณ ๋ฐ์ดํฐ ์ฐจํธ ์์ฑ (feat. ์์ด์จ) ๋ชฉ์ฐจ DB์์ ํต๊ณ ์ฟผ๋ฆฌ ์คํ ํ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด๋จ์์ ์ฐจํธ๋ก ํ์ํ๋ ๊ฐ๋จํ ์์ xml SELECT DATE_FORMAT(FRST_REG_DT, '%M') AS cond/*์กฐ๊ฑด*/ , COUNT(RVW_RSLT_CD) AS totalCnt /*์ ์ฒด*/ , COUNT(CASE WHEN RSLT_CD = '10' THEN 1 END) AS passedCnt /*์ฐฌ์ฑ*/ , COUNT(CASE WHEN RSLT_CD = '20' THEN 1 END) AS rejectedCnt/*๊ฑฐ์ */ FROM BOARD GROUP BY DATE_FORMAT(FRST_REG_DT, '%Y-%m') ORDER BY DATE_FORMAT(FRST_REG_DT, '%Y-%m') service public Map selectSta.. IT/development 2024. 3. 1. [mybatis] ๋์ ์ฟผ๋ฆฌ ์ง๊ณ ์ฟผ๋ฆฌ ์์ ์กฐํ๊ตฌ๋ถ์ ๋ฐ๋ผ ๋ ๋๋ ์๋ก ๊ทธ๋ฃนํํด์ ์ง๊ณ๋ฅผ ๊ตฌํ๋ ์์ SELECT DATE_FORMAT(FRST_REG_DT, '%Y') || '๋ ' AS searchMon/*๋ */ DATE_FORMAT(FRST_REG_DT, '%M') AS searchMon/* ์ */ DATE_FORMAT(FRST_REG_DT, '%M') AS searchMon/* ์ */ , COUNT(code) AS searchTotalCnt , COUNT(CASE WHEN code = '10' THEN 1 END) AS searchPassedCnt , COUNT(CASE WHEN code = '20' THEN 1 END) AS searchRejectedCnt FROM TEST_BOARD TO_CHAR(FRST_REG_DT, 'YYYY-.. IT/development 2024. 2. 25. [tiles] UnknownHostException: tiles.apache.org ์๋ฌ ๋ชฉ์ฐจ ๋ก์ปฌ์์๋ ์ ๋๋ ์์ค๊ฐ ์ด์์ ๋ฐ์ ์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ์์ธ์ ์ถ์ ๊ฒฐ๊ณผ ํ์๋ง์ธ ์ด์์๋ฒ์์ dtd๋ฅผ ๋ค์ด๋ก๋ ํ ์ ์์ด์ ์๋ฌ๊ฐ ๋ ์ํฉ์ด์๋ค. ์๋ ์์ค ๋ณ๊ฒฝํ ์์ค dtd 2.1dtd๋ฅผ ๋ค์ด ๋ฐ์์ tiles.xml์ด ์๋ ๊ฒฝ๋ก์ ์์น ์์ผฐ๊ณ ๋ก์ปฌ ๊ฒฝ๋ก๋ฅผ ์ก์์คฌ๋๋ฐ ๊ณ์ ์ธ์์ ๋ชปํ๋ค๊ฐ ๋ฒ์ ์ 3.0์ผ๋ก ์ฌ๋ ธ๋๋ ๋์๋ค.(์์งํ ์ป์ด ๊ฑธ๋ฆฐ ๋ฏ ํ๋ค.) okky์์ ์ฐธ์กฐํ๋ค.(3.0์ ๋ก์ปฌ์ ์๋ dtdํ์ผ์ ์ฐ์ ์ฐพ์ ํ ์์ผ๋ฉด ๋ค์ด๋ก๋ํ๋ ์๋ฆฌ๋ผ๊ณ ์ค๋ช ๋์ด ์๋๋ฐ ํ์คํ ํ์ธ์ ์์ง ํด ๋ณธ ๊ฒ์ ์๋๋ค.) reference: https://okky.kr/questions/435576 OKKY - Tiles ์ธํฐ๋ท ์ฐ๊ฒฐ ์๋ ๋ dtd ๋ชป ๋ถ๋ฌ์ค๋ ๋ฌธ์ ๋ฌธ์ ์ด์ฌํ ๊ตฌ๊ธ๋ง ํ ๊ฒฐ๊ณผ ๋ต์ .. IT/development 2024. 2. 6. ์ด์ 1 2 3 4 5 ยทยทยท 21 ๋ค์