๐Ÿ’ป Software Engineering 8

ChatGPT Prompt Engineering: ์งˆ๋ฌธ ์ž˜ ๋„ฃ์–ด์„œ ๋ง ์ž˜๋“ฃ๋Š” ์ฑ—๋ด‡ ๋งŒ๋“œ๋Š” ๋ฒ•

์ด ํฌ์ŠคํŠธ์˜ ๋” ์ ์ ˆํ•œ ์ œ๋ชฉ์€ 'OpenAI์˜ LLM API์— ์•Œ๋งž์€ prompt๋ฅผ ๋„˜๊ฒจ์„œ ๋‚ด๊ฐ€ ์˜๋„ํ•œ๋Œ€๋กœ ๋Œ€๋‹ตํ•˜๋Š” ์ฑ—๋ด‡ ๋งŒ๋“œ๋Š” ๋ฒ•' ์ด๋‹ค. ๋“œ๋””์–ด ์—…๋ฌด์ƒ OpenAI์˜ LLM์„ ์จ๋ณผ ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ๊ธฐ์–ต์šฉ์œผ๋กœ ๊ฐ„์ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•ด๋ณธ๋‹ค. ์‚ฌ์‹ค ์˜ฌ์ดˆ ChatGPT๊ฐ€ ๋“ฑ์žฅํ•˜์ž๋งˆ์ž ๊ณ ๋ง™๊ฒŒ๋„ ํšŒ์‚ฌ์—์„œ ChatGPT๋ฅผ ์ œ๊ณตํ•ด์ฃผ์—ˆ๊ณ , (Azure๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•œ๋‹ค^^) ๊ทธ๋™์•ˆ์€ ์ฃผ๋กœ syntax ์ ๊ฒ€, ๋ฆฌํŒฉํ† ๋ง, ์‹ฌ์‹ฌํ’€์ด(?)์— ์‚ฌ์šฉํ•ด์˜ค๊ธด ํ–ˆ์—ˆ๋‹ค. ์šฉ์–ด์ •๋ฆฌ OpenAI: ํšŒ์‚ฌ ์ด๋ฆ„ ChatGPT: OpenAI์—์„œ ์ œ๊ณตํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„. ์ฆ‰ interface. LLM: Large Language Model. OpenAI๊ฐ€ ๊ฐœ๋ฐœํ•œ ์–ธ์–ด ๋ชจ๋ธ๋“ค์„ ํ†ต์นญํ•œ๋‹ค. GPT-4๊ฐ€ ํ•œ ์ข…๋ฅ˜์ด๊ณ  2023๋…„ 10์›” ํ˜„์žฌ Cha..

Spring Boot Batch - ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ

๋ช‡ ์ฃผ์ „ ์‚ฌ์šฉ์ž 6๋งŒ๋ช…์„ ๋Œ€์ƒ์œผ๋กœ Batch ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ทธ๋‚˜๋งˆ๋„ ๋ชจ์ˆ˜๋Š” 30๋งŒ๋ช…+ ์ด์—ˆ๊ณ  ๊ทธ์ค‘์—์„œ 6๋งŒ๋ช…์„ ์ถ”๋ ค์„œ, ์ถ”๋ฆฐ ์‚ฌ์šฉ์ž ๋Œ€์ƒ์œผ๋กœ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด Task... 9์›”๋‹ฌ์— ์™„์„ฑํ•ด๋†“๊ณ ๋„ ํ‹ˆํ‹ˆ์ด ์ž˜๋ชป๋œ ๊ฒƒ์€ ์—†๋‚˜ ํ™•์ธํ•  ์ •๋„๋กœ ๋งค์šฐ๋งค์šฐ ์‹ ๊ฒฝ์ด ์“ฐ์˜€์—ˆ๋Š”๋ฐ, ๋“œ๋””์–ด ๋ช‡ ์ฃผ์ „ ์ฒ˜์Œ ์šด์˜ํ™˜๊ฒฝ์—์„œ ์ˆ˜ํ–‰ํ•œ ๋‚ , ๊ฒฐ๋ก ์ ์œผ๋กœ ๊ธฐ๋Šฅ์€ ์ •์ƒ์ ์œผ๋กœ ์ž˜ ์ž‘๋™ํ–ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๋ฐฐ์น˜ ์ž‘์—…์ด ์ƒ๊ฐ๋ณด๋‹ค ๋Š๋ฆฌ๊ฒŒ ๋Œ์•˜๋‹ค. ์–ด๋Š์ •๋„๋ƒ๋ฉด ๋ฐฅ ๋จน๊ณ  ๋ฐ–์— ๋‚˜๊ฐ€์„œ ์ปคํ”ผ ๋œจ๊ฑฐ์šด ๊ฑฐ ํ•œ์ž” ํ˜ธํ˜ธํ˜ธ ์ฒœ์ฒœํžˆ ๋ถˆ์–ด๋จน๊ณ  ๋“ค์–ด์™€์„œ, ๊ฑฐ๊ธฐ๋‹ค ๋“œ๋ผ๋งˆ ํ•œ ํŽธ ๋ด์•ผ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋Š” ์†๋„. T.T ๊ฐœ์„ ์ด ์‹œ๊ธ‰ํ•ด์„œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ๋ฏธ๋ฆฌ ์ •๋ฆฌํ•ด๋‘”๋‹ค. (์ž˜ ์ ์šฉ๋˜๋ฉด ์ข‹์€ Before & After๊ฐ€ ๋˜๊ฒ ์ง€..?) ์šฐ์„ ์€ ๋‚˜๋งŒ ์•Œ์•„๋ณด๊ฒŒ๋” ์š”..

Spring 101 - #4 ์Šคํ”„๋ง ๋””์ž์ธ ํŒจํ„ด Spring Design Pattern

ํฌ์ŠคํŠธ ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ Spring ๊ธฐ์ดˆ๋ฅผ ๋‹ค์น˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” TIL ์„ฑ๊ฒฉ์˜ ์Šคํ”„๋ง ๊ธฐ์ดˆ ์š”์•ฝ ์‹œ๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค. Java๋Š” ์•„๋Š”๋ฐ Spring์€ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” ์ดˆ๋ณด์ž๋“ค์—๊ฒŒ ์œ ์šฉํ•˜๋„๋ก ์š”์ ๋งŒ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. Spring 101 ์‹œ๋ฆฌ์ฆˆ Spring 101 - #1 ์ž๋ฐ”์™€ ์ ˆ์ฐจ์ /๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ Spring 101 - #2 ์ž๋ฐ” ํ‚ค์›Œ๋“œ์™€ OOP ํŠน์„ฑ 4๊ฐ€์ง€ Spring 101 - #3 ๊ฐ์ฒด์ง€ํ–ฅ์„ค๊ณ„ 5์›์น™ SOLID Spring 101 - #4 ์Šคํ”„๋ง ๋””์ž์ธ ํŒจํ„ด Spring Design Pattern ์š”๋ฆฌ OOP ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๋ฆฌ ๋„๊ตฌ ๊ฐ์ฒด์ง€ํ–ฅ 4๋Œ€ ํŠน์„ฑ (Encapsulation, Abstraction, Extend, Polymorphysim ์บก์ƒ์ถ”๋‹ค) ์š”๋ฆฌ ๋„๊ตฌ ์‚ฌ์šฉ๋ฒ• ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™ (SOLID ..

[์„ค์น˜๋ฐฉ๋ฒ•] Amateras UML ๋งฅ๋ถ Eclipse์— ์„ค์น˜ํ•˜๊ธฐ

์ฑ…๊ณผ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ Eclipse plugin ํด๋”์— amaterasuml ํŒŒ์ผ์„ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋Š” ๋“ฏ ํ•˜์ง€๋งŒ ๋‚ด ๊ฒฝ์šฐ ๊ทธ๋ ‡์ง€ ์•Š์•˜๋‹ค. (=์ดํด๋ฆฝ์Šค๋ฅผ restart ํ•ด๋„ ํ”„๋กœ์ ํŠธ ์„ ํƒ ๋ฉ”๋‰ด์— Amateras๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•˜๋‹ค) ์˜์–ด, ํ•œ๊ธ€ ์›น์— ์—†์–ด์„œ ๊ฒฐ๊ตญ ์ผ๋ณธ ์‚ฌ์ดํŠธ์—์„œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜๊ณ  (ใ…กใ…ก) ์•„๋ž˜์— ๊ทธ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ๋‹ค. #Amateras UML ์ดํด๋ฆฝ์Šค(Eclipse)์— ์„ค์น˜ํ•˜๊ธฐ - Amateras ์‚ฌ์ดํŠธ ์—์„œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ Amateras.zip ํŒŒ์ผ์„ plugin ํด๋”์— ์ง์ ‘ ๋ถ™์—ฌ๋„ฃ์–ด๋„ ์„ค์น˜๊ฐ€ ์•ˆ๋œ๋‹ค๋ฉด 1. GEF๋ฅผ ๋จผ์ € ์„ค์น˜ํ•œ๋‹ค. Eclipse: [help] > [install software] > work with: http://download.eclipse.org/t..

Spring 101 - #3 ๊ฐ์ฒด์ง€ํ–ฅ์„ค๊ณ„ 5์›์น™ SOLID

ํฌ์ŠคํŠธ ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ Spring ๊ธฐ์ดˆ๋ฅผ ๋‹ค์น˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” TIL ์„ฑ๊ฒฉ์˜ ์Šคํ”„๋ง ๊ธฐ์ดˆ ์š”์•ฝ ์‹œ๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค. Java๋Š” ์•„๋Š”๋ฐ Spring์€ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” ์ดˆ๋ณด์ž๋“ค์—๊ฒŒ ์œ ์šฉํ•˜๋„๋ก ์š”์ ๋งŒ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. Spring 101 ์‹œ๋ฆฌ์ฆˆ Spring 101 - #1 ์ž๋ฐ”์™€ ์ ˆ์ฐจ์ /๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ Spring 101 - #2 ์ž๋ฐ” ํ‚ค์›Œ๋“œ์™€ OOP ํŠน์„ฑ 4๊ฐ€์ง€ Spring 101 - #3 ๊ฐ์ฒด์ง€ํ–ฅ์„ค๊ณ„ 5์›์น™ SOLID Spring 101 - #4 ์Šคํ”„๋ง ๋””์ž์ธ ํŒจํ„ด Spring Design Pattern #SOLID Single Responsibility Principal ๋‹จ์ผ์ฑ…์ž„์›์น™ ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ์˜ค์ง ํ•˜๋‚˜๋‹ค ๋ชจ๋ธ ์ถ”์ƒํ™”๋•Œ ๊ณตํ†ต์ ์„ ์ƒ์œ„ ํด๋ž˜์Šค๋กœ ๋ฌถ๊ธฐ Open Close Principal ๊ฐœ๋ฐฉ..

Spring 101 - #2 ์ž๋ฐ” ํ‚ค์›Œ๋“œ์™€ OOP ํŠน์„ฑ 4๊ฐ€์ง€

ํฌ์ŠคํŠธ ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ Spring ๊ธฐ์ดˆ๋ฅผ ๋‹ค์น˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” TIL ์„ฑ๊ฒฉ์˜ ์Šคํ”„๋ง ๊ธฐ์ดˆ ์š”์•ฝ ์‹œ๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค. Java๋Š” ์•„๋Š”๋ฐ Spring์€ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” ์ดˆ๋ณด์ž๋“ค์—๊ฒŒ ์œ ์šฉํ•˜๋„๋ก ์š”์ ๋งŒ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. Spring 101 ์‹œ๋ฆฌ์ฆˆ Spring 101 - #1 ์ž๋ฐ”์™€ ์ ˆ์ฐจ์ /๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ Spring 101 - #2 ์ž๋ฐ” ํ‚ค์›Œ๋“œ์™€ OOP ํŠน์„ฑ 4๊ฐ€์ง€ Spring 101 - #3 ๊ฐ์ฒด์ง€ํ–ฅ์„ค๊ณ„ 5์›์น™ SOLID Spring 101 - #4 ์Šคํ”„๋ง ๋””์ž์ธ ํŒจํ„ด Spring Design Pattern #๊ฐ์ฒด์ง€ํ–ฅ = ํ˜„์‹ค์„ธ๊ณ„๋ฅผ ์ธ์ง€ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ ์ฝ”๋“œ๋ฅผ ์–ธ์–ด๋กœ ๋ฒˆ์—ญํ–ˆ์„๋•Œ ์ฝํžˆ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ถฉ๋ถ„ํžˆ OOP๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ์ง€ ๋ชปํ•œ ๊ฒƒ #Terms Class : ๋ถ„๋ฅ˜์— ๋Œ€ํ•œ ๊ฐœ๋… Object : ์‹ค์ฒด ->..

Spring 101 - #1 ์ž๋ฐ”์™€ ์ ˆ์ฐจ์ /๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํฌ์ŠคํŠธ ์ œ๋ชฉ ๊ทธ๋Œ€๋กœ Spring ๊ธฐ์ดˆ๋ฅผ ๋‹ค์น˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” TIL ์„ฑ๊ฒฉ์˜ ์Šคํ”„๋ง ๊ธฐ์ดˆ ์š”์•ฝ ์‹œ๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค. Java๋Š” ์•„๋Š”๋ฐ Spring์€ ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” ์ดˆ๋ณด์ž๋“ค์—๊ฒŒ ์œ ์šฉํ•˜๋„๋ก ์š”์ ๋งŒ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. Spring 101 ์‹œ๋ฆฌ์ฆˆ Spring 101 - #1 ์ž๋ฐ”์™€ ์ ˆ์ฐจ์ /๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ Spring 101 - #2 ์ž๋ฐ” ํ‚ค์›Œ๋“œ์™€ OOP ํŠน์„ฑ 4๊ฐ€์ง€ Spring 101 - #3 ๊ฐ์ฒด์ง€ํ–ฅ์„ค๊ณ„ 5์›์น™ SOLID Spring 101 - #4 ์Šคํ”„๋ง ๋””์ž์ธ ํŒจํ„ด Spring Design Pattern #๊ฐœ๋…๊ณผ ์ œํ’ˆ - ๊ฐœ๋…๊ณผ ์ œํ’ˆ์„ ํ—ท๊ฐˆ๋ฆฌ์ง€ ๋ง ๊ฒƒ Java๋Š” ์ œํ’ˆ, ๊ทธ ๊ฐœ๋…์€ OOP ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค Spring ์—ญ์‹œ ์ œํ’ˆ, ๊ทธ ๊ฐœ๋…์€ OOP Framework w/ IoC, DI, AOP, PSA, WEB..

[Solved] Python ์—์„œ ํ•œ๊ธ€์ด ์ธ์‹๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ

# Error message ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ SyntaxError: Non-ASCII character '\xed' in file 1.two-sum.py on line 6, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details # Solution ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ์•„๋ž˜ ์ธ์ฝ”๋”ฉ ๋ฌธ๊ตฌ๋ฅผ ํŒŒ์ผ ์ตœ์ƒ๋‹จ์— ์ถ”๊ฐ€ํ•œ๋‹ค. # -*- coding: utf-8 -*- # Cause ์›์ธ ์ธ์ฝ”๋”ฉ์ด ์ธ์‹ ๋˜์ง€ ์•Š์•˜์Œ.