Spring batch - JobInstanceAlreadyCompleteException ํด๊ฒฐ RunIdIncrementer - ์์ ํ uniqueํ์ง ์๋ค. JobInstanceAlreadyCompleteException ํน์ JobExecutionAlreadyRunningException์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ batch job์ run.id ์ job parameter๊ฐ ๋์ผํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ผ ํ๋ฅ ์ด ํฌ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด spring batch์์ run.id๋ฅผ ์๋์ผ๋ก 1์ฉ ์ฆ๊ฐ์์ผ ๋์ผํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ๋ฌ๋ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํ๋ค. @Bean public Job myBatchJob() { return jobBuilderFactory.get("myBatchJob") .incrementer(new RunIdIncrementer()) // RunIdIncrementer ์ ์ฉ .st.. JDBC Templete + PostgreSql ERROR (Can't infer the SQL type to use for an instance of java.util.ArrayList.) org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of java.util.ArrayList. Use setObject() with an explicit Types value to specify the type to use. ์ํ๋ ์์ ๊ฐ๊ฐ ๊ฒ์ํ์ ์ Query์ ๊ฐฏ์๊ฐ ๋๋ฌด ๋ง์์ง๋ ๊ฒ์ ์ฐ๋ คํด list์์ id๊ฐ ์๋ ๊ฒฝ์ฐ ๊ฐ์ ธ์ค๋ SQL์ ์ง๋ ค๊ณ ํ๋ค. select * from public.game_id_name where app_id in (?) ์ค๋ฅ ๋ฐ์ ์ฝ๋ ํ์ง๋ง ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ postgresql์ ๊ฒฝ์ฐ java list ํ์ ์ผ๋ก ์กฐํํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. public Lis.. domain, entity, dao, dto, vo ?? Salenote์ ๊ฒฝ์ฐ WAS๊ฐ DB๋ฅผ ๊ตฌ์ฑํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ์์ ๋ง ์ํํ๊ธฐ ๋๋ฌธ์ (MVP ๊ธฐ์ค) JPA๋ฅผ ์ฌ์ฉํ ์ด์ ๊ฐ ์๋ค๊ณ ์๊ฐํด JDBC Templete๋ฅผ ์ฌ์ฉํ์๋ค. ๋ง์ Salenote ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ์ด๋ค ๊ธฐ์ค์ผ๋ก class๋ฅผ ๋ถ๋ฅํ ์ง, ์ด๋ฆ์ ๋ญ๋ก ํ ์ง ๊ณ ๋ฏผ์ด ๋๋ค. domain, entity, dao, dto, vo์ ๋ํ ๋ช ํํ ๊ฐ๋ ์ด ์ก๊ธฐ์ํด ๋ค์ํ ํฌ์คํ ์ ๋๋ฌ๋ณธ ๋ค ๋๋ฆ๋๋ก ์ ๋ฆฌํ๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก๋ ์๋์ ๊ฐ์ ๋ก์ง์ ํ์ฑํ๋ค. 0. client์๊ฒ ์์ฒญ์ด ์ด 1. controller๊ฐ ๋ฐ์ service ๋ก์ง ์คํ 2. service๋ dao๋ฅผ ์คํ (์๋น์ค ํน์ฑ ์ WAS์์ schema๋ฅผ ์ ์ํ์ง ์์ domain์ ํ์ ์์!) 3. SQL๋ฅผ ์์ฑํด๋ dao์.. ์คํ๋ง ์น ๊ฐ๋ฐ ๋ฐฉ์ (static / MVC / API) ์ข ๋ฅ ์ ์ ์ปจํ ์ธ : ์๋ฒ์์ ํ๋ ๊ฒ ์์ด ํ์ผ์ ๊ทธ๋๋ก ๋ณด๋ด์ฃผ๋ ๊ฒ MVC์ ํ ํ๋ฆฟ ์์ง : jsp php์ฒ๋ฆผ html์ ๊ทธ๋ฅ ์ฃผ๋ ๊ฒ์ด ์๋ ๋์ ์ผ๋ก ๋ฐ๊ฟ์ ์ฃผ๋ ๊ฒ API : json์ด๋ ๋ฐ์ดํฐ ํฌ๋งท์ผ๋ก ํด๋ผ์ด์ธํธ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ, ํ๋ฉด์ ํ๋ก ํธ๊ฐ ์์์ ์ ์ ์ปจํ ์ธ ๊ธฐ๋ณธ์ ์ผ๋ก Spring์ static ํด๋์์ ์ ์ ์ปจํ ์ธ ๋ฅผ ์ฐพ์ ์ ๊ณต ex) static ํด๋์ hello-static.html ํ์ผ์ ๋ฃ์ผ๋ฉด localhost:8080 /hello-static.html ์ฃผ์๋ก ๋งคํ๋จ localhost:8080/hello-static.html ์์ฒญ ๋ด์ฅ ํฐ์บฃ ์๋ฒ๊ฐ ์คํ๋ง ์ปจํ ์ด๋๋ก ์์ฒญ ์ ๋ฌ ์ปจํ ์ด๋๊ฐ controller ํ์ธ "hello-static"๊ด๋ จ ์ปจํธ๋กค๋ฌ๊ฐ ์์์ resources ํ.. Spring ํ๋ก์ ํธ ์์ฑ (Gradle) java jdk ์ค์น Intelli J ์ค์น ํ๋ก์ ํธ ์์ฑ https://start.spring.io/ ๋ ๋น ๋ฅธ ๋น๋๋ฅผ ์ํด build and run using ๊ณผ run tests using์ intelli j ๋ก ๋ณ๊ฒฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ spring boot spring-boot-starter-web spring-boot-starteer-tomcat spring-webmvc spring-boot-starter-thymeleaf spring-boot-starter spring-boot spring-core spring-boot-starter-logging logback, slf4j test spring-boot-starter-test junit mockito assertj spring-test ๋น๋ ๋ฐฉ๋ฒ ํ๋ก์ .. ZonedDateTime (UTC -> KST) dateTime์ “z”๋ฅผ ๋ถ์ฌ๋ฌ๋ผ๋ ํ๋ก ํธ์ ์์ฒญ์ด ์์์ต๋๋ค. LocalDateTime : "2022-02-23T12:51:17" ZonedDateTime : "2022-02-23T12:51:17.233Z" ์์ ์์์ฒ๋ผ ๋ฐ์ดํฐ ํ์์ “z”๋ก DateTime์ zone์ ํํํด์ค๋๋ค. (UTC๊ธฐ์ค์ผ๋!) ๋ชจ๋ LocalDateTime ๋ณ์๋ค์ ZonedDateTime์ผ๋ก ๋ณ๊ฒฝํ๊ณ DB์ ์นผ๋ผ๋ ZonedDateTime์ผ๋ก ๋ณ๊ฒฝํ์์ต๋๋ค. ํ๋ก ํธ์ ๋ฐฑ ์ฌ์ด์ ํต์ ์ ๋ชจ๋ UTC ๊ธฐ์ค์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. UTC์ KST๋ +9์๊ฐ์ ์ฐจ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ์ ์ํด์ผ ํฉ๋๋ค. ๋๋ฌธ์ ์๊ฐ ๊ธฐ์ค์ผ๋ก ์กฐํ๋ฅผ ํ ๋ UTC → KST →UTC๋ก ๊ณผ์ ์ ๊ฑฐ์ณ ์กฐํํ์์ต๋๋ค. ๋ฒ๊ฑฐ๋กญ๊ฒ.. Spring ํตํฉ ํ ์คํธ - JUnit5 restAPI ๊ตฌ์กฐ๋ก request๋ @valid ๋ก ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์งํํ๊ณ ์๋ ํ๋ก์ ํธ๊ฐ ์๋ค ๋ ์์ ์ ์ธ ์๋ฒ ์ ๊ณต์ ์ํด API ๊ฐ๋ฐ์ด ๋ชจ๋ ์๋ฃ๋ ์์ ์์ ํ ์คํธ๋ฅผ ์งํํ๋ ค๊ณ ํ๋ค ๊ฐ๋ฐ๊ธฐ๊ฐ์ด ์งง์ ๊ฐ๋ฐ์ ํ๋ฉฐ ๋จ์ ํ ์คํธ๋ฅผ ์งํํ๋ TDD ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ด์ ์์ ๋จ์ ํ ์คํธ๋ฅผ ์ผ์ผํ ์งํํ๊ธฐ๋ณด๋ค ํตํฉ ํ ์คํธ๋ฅผ ํ๋ ๊ฒ์ด ๋ ์ ํฉํ๋ค๊ณ ํ๋จํ๋ค post / body ์์ import ... @SpringBootTest @AutoConfigureMockMvc class MissionControllerTest { @Autowired MockMvc mockMvc; @Autowired private ObjectMapper objectMapper; @Test @WithUserDetails.. ๊ฐ์ ๋ถ์ AI (kobert / onnxruntime ์ด์) ๋ชฉํ SKT์ kobert ๋ชจ๋ธ์ ์ฌ์ฉํด์ ์ฌ์ฉ์์ ๊ฐ์ ์ 7๊ฐ์ง๋ก ๋ถ๋ฅํ๋ค ๊ฐ์ ๋ ์ด๋ธ : ๊ธฐ์จ, ์ฌํ, ๋ถ๋ ธ, ์ญ๊ฒจ์, ๊ณตํฌ, ๋๋, ์ค๋ฆฝ kobert? GitHub - SKTBrain/KoBERT: Korean BERT pre-trained cased (KoBERT) Korean BERT pre-trained cased (KoBERT). Contribute to SKTBrain/KoBERT development by creating an account on GitHub. github.com ๋ฐ์ดํฐ ์ ๋ชจ๋ Aihub ๊ณต๊ฐ ๋ฐ์ดํฐ ๋จ๋ฐ์ฑ ๋ํ ๋ฐ์ดํฐ ์ ์ฐ์์ฑ ๋ํ ๋ฐ์ดํฐ ์ (๋ฐ์ดํฐ ์ ์ ํ์) ๋จ๋ฐ์ฑ๊ณผ ์ฐ์์ฑ ๋ํ ๋ฐ์ดํฐ์ (๋ฐ์ดํฐ ํตํฉ ๋ฐ ์ ์ ํ์) ์์ 3๊ฐ์ง์ ๋ฐ์ดํฐ ์ ์ผ๋ก ํ์ต์์ผ ๊ฐ์ฅ .. ์ด์ 1 2 ๋ค์