๐คGPT ์๋ ์ฝ๋ ๋ฆฌ๋ทฐ ํ๋กฌํํธ ์๊ฐ
โ ๊ฐ๋ฐ์๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ChatGPT๋ฅผ ํตํด ์๋์ผ๋ก ๋ฆฌ๋ทฐํด์ฃผ๋ ํ๋กฌํํธ์
๋๋ค. โ ์ด ํ๋กฌํํธ๋ ์ฝ๋๋ฅผ ๊ฐ๋
์ฑ, ์ฑ๋ฅ, ๋ณด์ ์ธก๋ฉด์์ ๋ถ์ํ์ฌ ๊ฐ์ ์ด ํ์ํ ๋ถ๋ถ์ ์ฐพ์๋
๋๋ค. โ๋ฌธ์ ๋๋ ๋ถ๋ถ์๋ ์ฝ๋์ ์ง์ ์ฃผ์์ ๋ฌ์ ์ด์ ์ ๊ฐ์ ๋ฐฉ์์ ์ค๋ช
ํ๊ณ , ๊ทธ๋ฐ ๋ค์ ๊ถ์ฅ ์์ ์ฌํญ์ ๋ฐ์ํ ๊ฐ์ ๋ ์ฝ๋ ๋ฒ์ ์ ์ ์ํฉ๋๋ค. โํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฝ๋ฉ ์คํ์ผ ๊ฐ์ด๋(์: PEP 8, Google Style Guide ๋ฑ)๋ฅผ ํจ๊ป ๋ช
์ํ๋ฉด, GPT๊ฐ ํด๋น ๊ธฐ์ค์ ๋ง์ถฐ ๋์ฑ ์ ๋ฐํ๊ณ ์ผ๊ด๋ ๋ฆฌ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ๋กฌํํธ ์คํํ๊ฒฝ
ํ๋กฌํํธ ๋ณต์ฌํ๊ธฐ
ํ์ฉ ํ
๐ํ๋กฌํํธ ์ฌ์ฉ: ์์ ํ๋กฌํํธ ๋ณธ๋ฌธ์ ๋ณต์ฌํ์ฌ ChatGPT์๊ฒ ์ ๊ณตํ ํ, ๋ฆฌ๋ทฐํ๊ณ ์ ํ๋ ์ฝ๋๋ฅผ ์ด์ด์ ์
๋ ฅํ๋ฉด GPT๊ฐ ์๋์ผ๋ก ๋ถ์ํด ์ค๋๋ค. ์ด๋ ์ฝ๋ ๋ธ๋ก(```)์ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์
๋ ฅํ๋ฉด ์ ํํ ํ์์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ๐์ธ์ด ๋ฐ ์คํ์ผ ๊ฐ์ด๋ ๋ช
์: ์์ฒญ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ฐํ๊ณ ์ฝ๋ฉ ํ์ค/์คํ์ผ ๊ฐ์ด๋๋ฅผ ์ง์ ํ์ธ์. ์๋ฅผ ๋ค์ด "์ธ์ด: Java, ์คํ์ผ: Google Java Style Guide ์ค์"๋ผ๊ณ ๋ช
์ํ๋ฉด GPT๊ฐ ํด๋น ์ธ์ด์ ๊ถ์ฅ ์ฌํญ์ ๋ฐ๋ผ ๋ฆฌ๋ทฐํฉ๋๋ค. ๐๋ํ ํ์ฉ: GPT๊ฐ ์ ์ํ ๋ฆฌ๋ทฐ์ ๋ํด ๊ถ๊ธํ ์ ์ด ์์ผ๋ฉด ์ถ๊ฐ ์ง๋ฌธ์ ํ๊ฑฐ๋, ์์ ๋ ์ฝ๋์ ๋ํ ์ฌ๊ฒํ ๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, "์ ์ํด์ค ์์ ์ฝ๋๊ฐ ๋์ผํ ๊ธฐ๋ฅ์ ํ๋์?"์ฒ๋ผ ํ์ ์ง๋ฌธ์ ํตํด ๋ ๊น์ด ์๋ ์ค๋ช
์ ์ป์ ์ ์์ต๋๋ค. ๐๊ฒ์ฆ ๋ฐ ํ
์คํธ: GPT์ ์กฐ์ธ์ ๋ฐ๋ฅธ ๊ฐ์ ํ์๋ ์ค์ ๋ก ์ฝ๋๊ฐ ์๋ํ ๋๋ก ๋์ํ๋์ง ํ์ธํ์ธ์. AI๊ฐ ๋ชจ๋ ๋ฌธ๋งฅ์ 100% ์ดํดํ์ง ๋ชปํ ์ ์์ผ๋ฏ๋ก, ํ
์คํธ๋ฅผ ํตํด ๊ฒ์ฆํ๊ณ ํ์ํ๋ฉด ์์ ํฉ๋๋ค.
์ฝ๋ ๋ฆฌ๋ทฐ ์๋ํ ๊ฐ๋
์ฑ ์ฑ๋ฅ ๋ณด์ ์คํ์ผ๊ฐ์ด๋ ChatGPT
Prompt Example
๐๋น์ ์ ๊ฒฝํ ๋ง์ ์ํํธ์จ์ด ์์ง๋์ด์ด์ ์ฝ๋ ๋ฆฌ๋ทฐ์ด์
๋๋ค. - ๋ด๊ฐ ์ ๊ณตํ ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ํด๋น ์ฝ๋๋ฅผ ๊ฐ๋
์ฑ, ์ฑ๋ฅ, ๋ณด์ ์ธก๋ฉด์์ ๋ฉด๋ฐํ ๊ฒํ ํ์ธ์. - ๊ฐ์ ์ด ํ์ํ ๋ถ๋ถ์ ์ฐพ์๋ด๊ณ , ๋ฌธ์ ์ ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฝ๋ ๋ด ์ฃผ์์ผ๋ก ๋ช
ํํ๊ฒ ํ์ํฉ๋๋ค. - ๊ทธ๋ฐ ๋ค์, ์ด๋ฌํ ๊ฐ์ ์ฌํญ์ ๋ฐ์ํ ์์ ๋ ์ฝ๋ ๋ฒ์ ์ ์ ์ํ์ธ์. - ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ฝ๋ฉ ์คํ์ผ ๊ฐ์ด๋๋ฅผ ๋ช
์ํ ๊ฒฝ์ฐ, ํด๋น ์ธ์ด๋ ์คํ์ผ ๊ฐ์ด๋์ ๊ถ์ฅ์ฌํญ์ ๋ฆฌ๋ทฐ์ ๋ฐ์ํ์ธ์. # ๋ค์ Python ์ฝ๋์ ๋ฆฌ๋ทฐ๋ฅผ ๋ถํํด (์ธ์ด: Python, ์คํ์ผ ๊ฐ์ด๋: PEP 8 ์ค์). ```python def get_data(filename): file = open(filename, "r") data = file.read() file.close() if data == "": return [] items = data.split(",") result = [] for i in range(len(items)): result.append(items[i].strip()) return result
Result
๐ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ ๊ฐ์ ์ฌํญ โ
๋ฌธ์ ์ ๋ถ์ ๐ ํ์ผ ํธ๋ค๋ง์์ ์์ธ ์ฒ๋ฆฌ ๋ถ์กฑ - ํ์ผ์ด ์กด์ฌํ์ง ์๊ฑฐ๋ ์ ๊ทผ ๊ถํ์ด ์์ ๊ฒฝ์ฐ open(filename, "r")์์ ์์ธ ๋ฐ์ ๊ฐ๋ฅ. ๐ ํ์ผ ํธ๋ค๋ง์์ ๋ฆฌ์์ค ๋์ ๊ฐ๋ฅ์ฑ - open()์ผ๋ก ํ์ผ์ ์ฐ ํ close()๋ฅผ ๋ช
์์ ์ผ๋ก ํธ์ถํ๋ ๊ฒ์ ์ข์ง๋ง, ์์ธ ๋ฐ์ ์ ํ์ผ์ด ๋ซํ์ง ์์ ์ํ์ด ์์. - with open(filename, "r") as file: ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด ํ์ผ์ ์๋์ผ๋ก ๋ซ์ ์ ์์. ๐ ๋ถํ์ํ ๋น ๋ฌธ์์ด ์ฒดํฌ - if data == "": return [] ๋ถ๋ถ์ด ํ์ํ์ง ์์. split(",")์ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก ๋น ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋จ. ๐ ๋ฆฌ์คํธ ๋ณํ ๋ฐฉ์ ๊ฐ์ -for i in range(len(items)):์ ์ฌ์ฉํ์ฌ result.append(items[i].strip())ํ๋ ๋์ , ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๊ฒฐํ๊ณ ๊ฐ๋
์ฑ์ด ๋์. โ
๊ฐ์ ๋ ์ฝ๋ def get_data(filename): try: with open(filename, "r") as file: data = file.read() return [item.strip() for item in data.split(",")] if data else [] except FileNotFoundError: print(f"Error: The file '{filename}' was not found.") return [] except IOError: print(f"Error: Unable to read the file '{filename}'.") return [] ๐น ๊ฐ์ ๋ด์ฉ ์์ฝ with open(...)์ ์ฌ์ฉํ์ฌ ํ์ผ ์๋ ๋ซ๊ธฐ ์ฒ๋ฆฌ. try-except ๋ธ๋ก์ ์ถ๊ฐํ์ฌ ํ์ผ์ด ์๊ฑฐ๋ ์ฝ๊ธฐ ์ค๋ฅ ๋ฐ์ ์ ์์ธ ์ฒ๋ฆฌ. ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
์ ์ฌ์ฉํ์ฌ ์ฝ๋ ๊ฐ๋
์ฑ ๋ฐ ์ฑ๋ฅ ํฅ์. ๋น ๋ฌธ์์ด ์ฒดํฌ (if data == "")๋ฅผ ์ ๊ฑฐํ๊ณ if data else []๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๊ฒฐํ. ์ด์ ๋ ์์ ํ๊ณ ๊น๋ํ ์ฝ๋๊ฐ ๋์์ต๋๋ค! ๐๐ฏ