๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ96

[softhsm] windows์— softhsm2 ์„ค์น˜ ๋ฐ ์„ธํŒ… 1. softhsm ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ https://sourceforge.net/projects/softhsm4windows SoftHSM for Windows Download SoftHSM for Windows for free. SoftHSM installer for MS Windows. Binary builds and MSI installers of SoftHSM for MS Windows platform. Please visit project website - https://github.com/disig/SoftHSM2-for-Windows - for more information. sourceforge.net 2. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ธํŒ… ์„ค์น˜ ๊ฒฝ๋กœ/README.txt ํŒŒ์ผ ์ฐธ์กฐ ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์— SOFTHSM.. 2021. 12. 6.
[Spring Boot] mybatis ์ ์šฉํ•˜๊ธฐ 1.gradle ํ˜น์€ maven์— 'mybatis-spring-boot-starter' ์ถ”๊ฐ€ compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.4") org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4 2. application.yml์— mybatis ์„ค์ • ํŒŒ์ผ(mybatis-config.xml) ๋ฐ xml ํŒŒ์ผ ์„ธํŒ… mybatis: config-location: classpath:mybatis-config.xml mapper-locations: classpath:mapper/postgresql/*.xml 3. mybatis-config.xml 4. postgresql/*.xml SELE.. 2021. 12. 6.
[JD-GUI] java 9 ์ด์ƒ์—์„œ ์‹คํ–‰ ์˜ค๋ฅ˜ : module java.base does not "opens jdk.internal.loader" to unnamed module ์†Œ์Šค๋ฅผ ๋””์ปดํŒŒ์ผํ•  ๋•Œ JD-GUI๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ์‹คํ–‰์ด ๋˜์ง€ ์•Š์•˜๋‹ค. WARNING: All illegal access operations will be denied in a future release Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make jdk.internal.loader.ClassLoaders$AppClassLoader(jdk.internal.loader.ClassLoaders$PlatformClassLoader,jdk.internal.loader.URLClassPath) accessible: module java.base does not "op.. 2021. 12. 3.
2021 ๋Œ€ํ•œ๋ฏผ๊ตญ ์†Œํ”„ํŠธ์›จ์–ด ๋Œ€์ „ ๋ฐ•๋žŒํšŒ, 12์›” 1์ผ~3์ผ ๊ตญ๋‚ด์ตœ๋Œ€ ๋ฏธ๋ž˜๊ธฐ์ˆ  ๋ฐ•๋žŒํšŒ :: ๋Œ€ํ•œ๋ฏผ๊ตญ ์†Œํ”„ํŠธ์›จ์–ด๋Œ€์ „ 2021 :: ํ–‰์‚ฌ ๊ฐœ์š” HOME > ํ–‰์‚ฌ ์†Œ๊ฐœ > ํ–‰์‚ฌ ๊ฐœ์š” www.k-softwave.com ์ „์‹œํšŒ๋ช… : 2021 ๋Œ€ํ•œ๋ฏผ๊ตญ ์†Œํ”„ํŠธ์›จ์–ด ๋Œ€์ „,SOFTWAVE2021,์†Œํ”„ํŠธ์›จ์ด๋ธŒ2021 ์ „์‹œ๊ธฐ๊ฐ„ : 2021.12.01(์ˆ˜) ~ 03(๊ธˆ) 3์ผ๊ฐ„, 10AM - 5PM ์ „์‹œ์žฅ์†Œ : ์ฝ”์—‘์Šค (COEX) Aํ™€ ์‚ฐ์—…๋ถ„์•ผ : ์ „๊ธฐ/์ „์ž/์ •๋ณดํ†ต์‹ /๋ฐฉ์†ก ์ „์‹œ๋ถ„์•ผ : ์ธ๊ณต์ง€๋Šฅ/๋น…๋ฐ์ดํ„ฐ/VR/AR/๋ธ”๋ก์ฒด์ธ ์ „์‹œํ’ˆ๋ชฉ : - ํŒจํ‚ค์ง€ SW : ์šด์˜์ฒด์ œ(OS),์˜คํ”ผ์Šค,๋ณด์•ˆ,๋ฌธ์„œ,์ €์ž‘๋„๊ตฌ,์Šคํ† ๋ฆฌ์ง€,๊ธฐํƒ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ - IT ์„œ๋น„์Šค : ์‹œ์Šคํ…œ ํ†ตํ•ฉ,๋น…๋ฐ์ดํ„ฐ,ํด๋ผ์šฐ๋“œ,์—ฃ์ง€์ปดํ“จํŒ…,์ „์‚ฌ์ž์›๊ด€๋ฆฌ,๊ณ ๊ธ‰๋ง ๊ด€๋ฆฌ,๊ณ ๊ฐ๊ด€๊ณ„ ๊ด€๋ฆฌ,๋ฏธ๋“ค์›จ์–ด,๋„คํŠธ์›Œํฌ - ์œตํ•ฉ SW : ์ธ๊ณต์ง€๋Šฅ,์ด๋™ํ†ต์‹ /5G, ๋กœ๋ด‡.. 2021. 12. 2.
[JPA] ๋ฐ์ดํ„ฐ๋ฅผ insert ํ•˜๊ธฐ ์ „์— selectํ•˜๋Š” ์ด์œ  JPA๋ฅผ ์ด์šฉํ•˜์—ฌ DB์— ๋ฐ์ดํ„ฐ๋ฅผ insertํ•˜๊ฒŒ ๋˜๋ฉด id๋ฅผ ์กฐ๊ฑด์œผ๋กœ select๋ฅผ ๋จผ์ € ํ•˜๊ณ , insert๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. (JPA๋Š” ์กฐํšŒ ํ›„ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด update๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด insert๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.) ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ savaAll์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, xxxRepository.saveAll(entity); 1000๊ฑด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ๋“ฑ๋กํ•˜๋ ค๋ฉด select๋ฅผ 1000๋ฒˆ ์‹คํ–‰ํ•˜๋Š”..... JPA๊ฐ€ ํŽธ๋ฆฌํ•˜๊ธด ํ•œ๋ฐ.. ์ด๋Ÿฐ ๋ถ€๋ถ„์€.. ์ฐธ ๊ทธ๋ ‡๋‹ค ๊ทธ๋ž˜์„œ save() ๋ฉ”์†Œ๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜๊ณ  ์žˆ๋Š”์ง€ ์‚ดํŽด๋ดค๋‹ค. @Transactional public S save(S entity) { if (entityInformation.isNew(entity)) { e.. 2021. 12. 2.
[JSP/HTML] ERR_CACHE_MISS ์—๋Ÿฌ ๋ฐœ์ƒ ์›นํŽ˜์ด์ง€(jsp, html)์—์„œ ๋’ค๋กœ๊ฐ€๊ธฐ๋ฅผ ํ–ˆ์„ ๋•Œ 'ERR_CACHE_MISS' ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ์ ์ด ์žˆ๋‹ค ์ด๋Ÿด ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค! jsp๋‚˜ html๊ณผ ๊ฐ™์€ ์›นํŽ˜์ด์ง€ ์ƒ๋‹จ์— header ์ถ”๊ฐ€ response.setHeader("Cache-Control","no-cache); response.setHeader("Pragma","no-cache"); spring ์„ค์ •์—์„œ ๊ณตํ†ต์œผ๋กœ ์ฒ˜๋ฆฌ ๋ณธ์ธ์€ csrf ์ฒ˜๋ฆฌ ๋•Œ๋ฌธ์— WebSecurityConfigurerAdapter๋ฅผ ์ƒ์†๋ฐ›์€ classs๊ฐ€ ์žˆ์—ˆ๊ณ , configure ๋ฉ”์†Œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜์—ฌ csrf ๋ฐฉ์–ด์ฝ”๋“œ๋ฅผ ์„ธํŒ…ํ•˜์˜€๋‹ค. ๊ทธ๋ž˜์„œ ์ด ๋ถ€๋ถ„์— ์บ์‹œ ๋ฐฉ์ง€ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ž‘์„ฑํ•จ! @Override protected void configure(HttpS.. 2021. 12. 1.
[MyBatis] ๋ณ€์ˆ˜ ์‚ฌ์šฉ์‹œ #{value}, ${value}์˜ ์ฐจ์ด ์ง€๋‚œ๋ฒˆ์— ํšŒ์‚ฌ์—์„œ ์–˜๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋‹ค๋ณด๋‹ˆ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋„ ์žˆ๊ธธ๋ž˜ ์ •๋ฆฌํ•ด๋ณธ๋‹ค! 1. #{} ์‚ฌ์šฉ SELECT * FROM USER WHERE USER_ID = #{user_id} user_id์˜ ๊ฐ’์ด test๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. SELECT * FROM USER WHERE USER_ID = 'test'; 2. ${} ์‚ฌ์šฉ SELECT * FROM USER WHERE USER_ID = ${user_id} user_id์˜ ๊ฐ’์ด test๋ผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. SELECT * FROM USER WHERE USER_ID = test ${}๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ž‘์€๋”ฐ์˜ดํ‘œ๊ฐ€ ์•ˆ๋ถ™๊ธฐ๋•Œ๋ฌธ์— ์˜ˆ์•ฝ์–ด๋‚˜ ์นผ๋Ÿผ๋ช… ๋“ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์ด ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ–ˆ์„ ๊ฒฝ์šฐ SUM( CASE WHEN .. 2021. 11. 30.
[Ajax] ํŒŒ์ผ file ๋‹ค์šด๋กœ๋“œ ๋ฐ›๊ธฐ ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด xhr.responseType = "blob" ๋กœ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค! ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ์ œ์ด์ฟผ๋ฆฌ ๋ฒ„์ „์ด 1.11.1์ด์˜€๋Š”๋ฐ ์ด ๋ฒ„์ „์€ blob์ด ์ ์šฉ์•ˆ๋˜๋”๋ผ.. ๋ฒ„์ „ ๋ฌธ์ œ์ธ์ค„ ๋ชจ๋ฅด๊ณ  ํ•œ์ฐธ์„ ์”จ๋ฆ„ ํ–ˆ๋Š”๋ฐ 3.6.0์œผ๋กœ ์˜ฌ๋ฆฌ๋‹ˆ๊นŒ ํ•ด๊ฒฐ๋๋‹ค. (์–ด๋–ค ๋ฒ„์ „๋ถ€ํ„ฐ ๋˜๋Š” ๊ฑด์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Œ) ์•„๋ž˜ ์˜ˆ์‹œ ์ฐธ์กฐ!! let options = { url: "[[@{/}]]download" , beforeSubmit : loadingAjaxImage , contentType: "application/x-www-form-urlencoded;charset=UTF-8" , xhr: function () { let xhr = new XMLHttpRequest(); xhr.onreadystatechange = function .. 2021. 11. 30.
728x90
๋ฐ˜์‘ํ˜•