๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€49

๋‚ด ์ฝ”๋“œ๊ฐ€ ๊ทธ๋ ‡๊ฒŒ ์ด์ƒํ•œ๊ฐ€์š” ๋…์„œ ๊ธฐ๊ฐ„ 2023.08.12~2023.09.25 ๋…์„œ ๋ชจ์ž„ 2023.09.26 ๊ฐ„๋งŒ์— ์ฑ…์„ ์ฝ์—ˆ๋‹ค. ํšŒ์‚ฌ ํฐ ์นญ๊ตฌ์™€ ๋‹ค๋ฅธ ์นญ๊ตฌ์™€ ๊ฐ™์ด ์ฝ๊ณ  ๋…์„œ๋ชจ์ž„ ํ•˜๊ธฐ๋กœ ํ•ด์„œ ๋‹ค ์ฝ๊ณ  ๊ฐ™์€ ์ฑ…์„ ์ฝ์€ ์นญ๊ตฌ์™€ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆด๋Š”๋ฐ ์ •๋ง ์ž˜ํ•œ๋‹ค. ์–ด๋ฆฐ์ด ๋•Œ ๋…์„œ ํ† ๋ก ์„ ๋‹ค๋…”๋‹ค๊ณ  ํ•œ๋‹ค. ๋‚˜๋„ ๋…์„œ ํ† ๋ก  ํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์›Œ์•ผ๊ฒ ๋‹ค. ๋…์„œ ๋ชจ์ž„ ์†Œ๊ฐ ์ •๋ฆฌ ์–ดํœด ๋ฆฌํŒฉํ† ๋ง ํŒŒํŠธ๋Š” ์šฐํ˜„ํ•˜๊ฒŒ๋„ ํ˜„์žฌ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๋‚˜์˜ ์—…๋ฌด์™€ ์—ฐ๊ด€์ด ๋งŽ๊ตฌ๋‚˜ ๋•๋ถ„์— ๊ฐ€์ด๋“œ๋„ ๋ช‡๊ฐ€์ง€ ์–ป์—‡๋‹ค. 1. ๋…ผ๋ฆฌ ๋ถ€์ • ์—ฐ์‚ฐ์ž๋„ !๋„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ ๊ตณ์ด ๋ฉ”์„œ๋“œ๋กœ ํ•œ๋ฒˆ ๋ถ„๋ฆฌํ•ด์„œ ๋” ๊ฐ€๋…์„ฑ์ž‡๊ฒŒ ๋” ์นœ์ ˆํ•˜๊ฒŒ !customer.isEnabled -> customer.isDisabled().. 2. ๋ฆฌํŒฉํ„ฐ๋ง ์ž‘์€๋‹จ์œ„๋กœ ์‹ค์‹œํ•˜๊ธฐ. ์ปค๋ฐ‹์€ ์–ด๋–ป๊ฒŒ ๋ฆฌํŒฉํ† ๋ง ํ–ˆ๋Š”์ง€.. 2023. 12. 9.
[JS] ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž„์กด -> utc ๋ณ€ํ™˜ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž„์กด์— ๋งž๊ฒŒ ์‹œ๊ฐ„์„ ๋ณ€ํ™˜ํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ํƒ€์ž„์กด์— ๋งž๋Š” ํ˜„์žฌ ์‹œ๊ฐ„์„ UTC๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. // ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด (์˜ˆ: '2023-11-01 00:00:00') const inputString = '2023-11-01 00:00:00'; // ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์„ JavaScript์˜ Date ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ const inputDate = new Date(inputString); // ๋ธŒ๋ผ์šฐ์ €์˜ ํƒ€์ž„์กด์— ๋งž๊ฒŒ ํ˜„์žฌ ์‹œ๊ฐ„์œผ๋กœ ํ‘œ์‹œ const userTimeZoneDate = inputDate.toLocaleString('en-US', { timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone }); // ๋ธŒ๋ผ์šฐ์ €์˜ ํƒ€์ž„์กด์— ๋งž๋Š” ํ˜„์žฌ .. 2023. 11. 30.
ํ”„๋กœ์ ํŠธ Tree ๊ตฌ์กฐ ์ถ”๊ฐ€ mac์„ ์‚ฌ์šฉ์ค‘์ด๋ฉฐ, README.md ํŒŒ์ผ ์ž‘์„ฑ์ค‘์— ํ”„๋กœ์ ํŠธ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋ฅผ ์ฒจ๋ถ€ํ•˜๊ณ  ์‹ถ์–ด์„œ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„ ์ •๋ฆฌ 1. brew install tree (brew๊ฐ€ ์„ค์น˜๊ฐ€ ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์—) 2. ์›ํ•˜๋Š” ํ”„๋กœ์ ํŠธ root๋กœ ๊ฐ€์„œ tree . ๋ช…๋ น์–ด ์น˜๋ฉด ๋ 3. ๋งˆํฌ๋‹ค์šด์— ๋ถ™์ด๊ณ  ์‹ถ๋‹ค๋ฉด ```์„ ์‚ฌ์šฉํ•ด์„œ ์ฝ”๋“œ๋ธ”๋Ÿญ์— ๋ถ™์—ฌ ๋„ฃ๋Š”๋‹ค. ``` . โ”œโ”€โ”€ Dockerfile โ”œโ”€โ”€ README.md โ”œโ”€โ”€ api.iml โ”œโ”€โ”€ docker-entrypoint.sh โ”œโ”€โ”€ pom.xml โ”œโ”€โ”€ src โ”‚ โ”œโ”€โ”€ main โ”‚ โ”‚ โ”œโ”€โ”€ java โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ com โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ test โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ Application.java ...TBD ``` ๊ฒฐ๊ณผ 2023. 10. 15.
github repository ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ธฐ repoํ•˜๋‚˜์˜ ํ•˜์œ„์˜ ์—ฌ๋Ÿฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋†“๊ธฐ (๊ธฐ์กด ๊ฒƒ๋“ค ์˜ฎ๊ธฐ๊ธฐ) 1. github์—์„œ ์ƒˆ๋กœ์šด ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ƒ์„ฑ (์—ฌ๊ธฐ์— ๋ชจ์„ ๊ฒƒ์ด๋‹ค) ex ) archive 2. ์ƒˆ๋กœ ๋งŒ๋“  ๋ฆฌํฌ Local clone terminal์„ ํ•˜๋‚˜ ์—ด๊ณ , cloneํ•  ๊ฒฝ๋กœ๋กœ ์ด๋™ ๋‚˜์˜ ๊ฒฝ์šฐ ~/workspace/miyeon ํ•˜์œ„์— ์—ฌ๋Ÿฌ ๋ฆฌํฌ๋“ค์„ ๋ชจ์•„๋‘ . archive์—ญ์‹œ ์—ฌ๊ธฐ์— ์ƒ์„ฑํ•  ์˜ˆ์ • (๋”ฐ๋กœ archive๋ผ๋Š” ํŒจํ‚ค์ง€ ์•ˆ๋งŒ๋“ค์–ด๋„ ํด๋ก ํ•  ๋•Œ archive ํŒจํ‚ค์ง€ ์ƒ์„ฑํ•˜๋ฉด์„œ ํด๋ก ๋จ) git clone {{cloneUrl}} git init 3. ์ƒˆ ๋ฆฌํฌ์— commit ๋‚˜์˜ ๊ฒฝ์šฐ์—๋Š” readme๋ฅผ ๋งŒ๋“ค์–ด์„œ ์˜ฌ๋ ธ์Œ. (์ฃผ์˜, ๊ฐœ์ธPC๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์•„ git config๊ฐ€ global config๋กœ ๋˜์–ด์žˆ์Œ. ์ฒดํฌ ํ›„ ์ปค๋ฐ‹ ์ „ ๋ณ€.. 2023. 8. 9.
์‹คํ–‰ ์ง€์—ฐ TimeUnit.Sleep ๋”œ๋ ˆ์ด๋ฅผ ์ค„ ๋•Œ, Thread.Sleep ๋ณด๋‹ค๋Š” TimeUnit.Sleep๋ฅผ ์“ฐ์ž. ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ๊ฒฐ๊ตญ TimeUnit.Sleep์—์„œ Thread.sleep๋ฅผ ์ฝœํ•œ๋‹ค. ๊ธฐ๊ฐ€ ๊ธฐ์ง€๋งŒ TimeUnit.Sleep๋ฅผ ์“ฐ๋Š” ์ด์œ ๋Š” 1. ๊ฐ€๋…์„ฑ์ด ๋” ์ข‹๋‹ค ๋งŒ์•ฝ์— 3๋ถ„ Delay๋ฅผ ์ค€๋‹ค Thread.Sleep(3 * 60 * 1000); == Thread.sleep(180000); //์œผํœด ํ•œ๋ฒˆ์— ๋ชป ์•Œ์•„ ๋จน์–ด = TimeUnit.MINUTES.Sleep(3); 2. 1์˜ ์—ฐ์žฅ์„ ์œผ๋กœ ์‹œ๊ฐ„ ๋‹จ์œ„ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. TimeUnit: DAYS, HOURS, MICROSECONDS, MILLISECONDS, MINUTES, NANOSECONDS.SECONDS 3. ์•ˆ์ •์„ฑ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ์–‘์ˆ˜์ธ์ง€ ํ™•์ธํ•œ ํ›„ ํ˜ธ์ถœํ•จ. (ํƒ€์ž„ ์•„์›ƒ์ด.. 2023. 5. 31.
[์„ธ๋ฏธ๋‚˜] chat GPT ํ™œ์šฉ ํšŒ์‚ฌ์—์„œ ChatGPT ํ™œ์šฉ ์„ธ๋ฏธ๋‚˜๋ฅผ ์ง„ํ–‰ํ•ด์„œ ์ฐธ์„ํ–ˆ๋‹ค. 2์‹œ๊ฐ„์ •๋„ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ ๊ฐ€๋ณ๊ฒŒ ๋“ฃ๊ธฐ ์ข‹์•˜๊ณ  ์ฒจ ์ ‘ํ•˜๋Š” ์ž…์žฅ์—์„œ๋Š” ์งˆ๋ฌธ ํฌ์ธํŠธ๋ผ๋˜๊ฐ€ ์ƒˆ๋กญ๊ฒŒ ์•Œ์•„๊ฐ€๋Š” ๊ฒƒ๋„ ๋งŽ์•„ ์œ ์ตํ–ˆ๋‹ค. ๊ฐœ๋ฐœํ•  ๋•Œ AI๋ฅผ ์•ˆ์“ฐ๋ฉด ์ด์ œ๋Š” ์•ˆ๋  ๊ฒƒ ๊ฐ™์€ ์‹œ๊ธฐ๊ฐ€ ์˜จ ๊ฒƒ๊ฐ™๋‹ค. ์ฝ”ํŒŒ์ผ๋Ÿฟ์ด๋‚˜ GPT์˜ ๋„์›€์„ ๋ฐ›์œผ๋ฉด์„œ ๊ฐœ๋ฐœ์„ ํ•ด์•ผ์ง€ ๋„์™€์ค˜ chatGPT ํ™œ์šฉ ์„ธ๋ฏธ๋‚˜ - gpt๋ผ๋Š” ์นญ๊ตฌ๋ฅผ ์ฑ„ํŒ…์œผ๋Ÿฌ ์จ๋จน๋Š” ํˆด - ๋ชจ๋ธ์€ gpt๊ฐ€ ๋งน๊ธ€์–ด์คŒ ์–ด๋–ค ์ ‘์ ๊ณผ ๋งˆ๋ฌด๋ฆฌ๋ฅผ ๋นจ๋ฆฌํ•ด์„œ ๊ณ ๊ฐ์„ ๋นจ๋ฆฌ ๋งŒ๋‚˜๊ฒŒ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๋‹จ์„ ๋งŒ๋“œ๋А๋ƒ๊ฐ€ ๊ด€๊ฑด chatGPT ํ˜„์ƒํ™ฉ 1. ์ฑ—๋ด‡์œผ๋กœ ๋งˆ๋‹ˆ์”€ - ๊ทผ๋ฐ ๊ณตํ—ˆํ•จ. -> ์•ž๋’ค ๊ฒฐ๊ณผ ๋ถ™์—ฌ์„œ ๋งˆ๋ฌผ์ค‘.. 2. gpt4 - ์œ ๋ฃŒ์ธ๋ฐ ์ด๋ฏธ์ง€๊ฐ€ ์ถ”๊ฐ€๋จ - ์ง€ํ”ผํ‹ฐ์—๊ฒŒ ์ •ํ™•๋„ ์ธก๋ฉด ๊ธฐ๋Œ€ํ•˜๊ธฐ ์–ด๋ ค์šด๋ฐ 4์—์„œ ๋งˆ๋‹ˆ ์˜ค๋ฆ„ 40% ์ •๋„ - ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ธฐ๋Šฅ์ด .. 2023. 5. 25.
char to int ์•„์Šคํ‚ค์ฝ”๋“œ๋ฅผ ์•Œ์•„์•ผํ•จ 1. '1' - 48; (์•„์Šคํ‚ค์ฝ”๋“œ 48์€ 0์ด๋‹ค) 2. '1' - '0' 3. Character.getNumericValue('1'); 2023. 5. 10.
google cloudresourcemanager, guava ๋ฒ„์ „ ์ถฉ๋Œ ์ด์Šˆ ์ฒ˜๋ฆฌ - NoSuchMethodError directExecutor ๋„๋ฉ”์ธ ์„ฑ๊ฒฉ์— ๋งž์ง€ ์•Š๋Š” ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ๋ฐ๋กœ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ๊ตฌ๊ธ€ ํ”„๋กœ์ ํŠธ๋“ค์„ ๊ฐ€์ ธ์™€์„œ ์ธ์ฆ์„ ๋ฐ›์•„ credential์„ ์ƒ์„ฑ ํ›„ api๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ธ๋ฐ ํ”„๋กœ์ ํŠธ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ํ•ด๋‹น dependency๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ  com.google.apis google-api-services-cloudresourcemanager v1-rev497-1.23.0 ์ธ์ฆ์„ ๋ฐ›๊ธฐ์œ„ํ•ด oauth2 dependency๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. com.google.auth google-auth-library-oauth2-http 1.7.0 ๊ธฐ์กด์—๋Š” ์‚ฌ์‹ค ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค dependeny์— ๋‚ด์žฅ๋˜์–ด์žˆ๋˜ oauth2๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ณ  ๋ฒ„์ „์„ ๋งž์ถฐ์„œ ์ข€ ๋‚ฎ๊ธดํ•˜์ง€๋งŒ ์ผ๋‹จ ์ •์ƒ์ ์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ๋™์ž‘ํ•˜๋Š”๊ฒŒ ๋ชฉ์ ์ด์—ˆ์œผ๋‹ˆ 1.7.0์œผ๋กœ ๋˜‘๊ฐ™์ด ๊ฐ€์ ธ์™”๋‹ค. .. 2023. 4. 27.
221209 @JsonProperty Oneline TIL Checkout์— ์“ฐ๋Š”๊ฑฐ ๊ฑ ๋‚˜๋„ ๋ณด๊ด€ํ•ด๋ณด๋ ค๊ณ  page ์ƒ์„ฑํ–ˆ๋‹ค ใ„ฑใ„ฑ Jackson์ด Java class์˜ Json ์†์„ฑ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด์„  Java Bean ๋ช…๋ช… ๊ทœ์น™์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋Œ€๋ฌธ์ž ์‹œ์ž‘ ์นผ๋Ÿผ์„ ๋งคํ•‘ํ•ด์•ผํ•  ๊ฒฝ์šฐ @JsonProperty๋ฅผ ์‚ฌ์šฉํ•˜์ž ex) Response Mapping ..."IPProtocol": "ESP",... ... @JsonProperty private String ipProtocol; ... 2022. 12. 9.