AI 임팩트 : AI가 개발자 삶에 변화에서는 AI가 개발자들의 일하는 방식을 어떻게 바꿨고 앞으로 어떤 식으로 영향을 줄 것인가에 대해 말씀 드렸습니다.
이번에는 제가 작년 5월부터 ChatGPT를 사용하면서 실무에서 어떤 일에 사용했고, 왜 만족했는지에 대해 개별 사례들을 예시로 말씀드리겠습니다.
목차
오래 걸리는 일들
다국어 처리
코드 리팩토링 - 함수 분리, 중복 코드 제거
방향 찾기
사이드 프로젝트
신규 프로젝트 투입 시
리팩토링 방향 찾기
간단하지만 귀찮은 일
소소한 부탁
매일 하기 귀찮은 일들
오래 걸리는 일들
저는 스타트업에서만 개발자의 커리어 대부분을 보냈고, 일을 몇 배는 어렵고 힘들게 만드는 것이 시간이라고 생각합니다.
대부분의 경우 한 번에 한 가지만 여유롭게 할 수 없습니다. 하나의 업무가 끝나기 전에 다른 새로운 일이 치고 들어옵니다.
이때, ‘어렵지는 않지만 분량이 많은 일’은 정말정말 하기 싫은 일입니다. 그중에 하나가 다국어 처리가 아닐까 생각합니다.
다국어 처리
종종 웹 서비스를 보면 지구본 모양의 아이콘을 통해 영어, 한국어로 서비스하는 것을 보실 수 있으실 겁니다.
보통 Web 환경에서는 i18n 이라고 부르는 javascript 라이브러리를 사용해서 처리 합니다. 이때 핵심은
각각의 언어를 Json 형식의 key, value 형태로 만들어주는 것 입니다.
Intro_ko.json { title=제목 message.hello=안녕 } Intro_en.json { title=title message.hello=hi }
위의 각각 언어에 해당하는 json파일을 사용자의 locale 설정을 확인하여 고객에게 서비스를 제공합니다.
이 작업의 가장 큰 문제는 프로젝트 내 모든 text를 번역하고 위의 json 형태로 가지고 있어야 한다는 점 입니다. 프로젝트의 규모가 크면 클수록 오래 걸리는 작업입니다.
저는 ChatGPT와 지루하고 오래 걸리는 작업을 간단하게 처리했습니다.
단계별로 처리해야되는 과정들을 물어보면 이 과정을 프롬프트로 작성해서 일관된 결과를 얻을 수 있는 팁을 얻을 수 있습니다.
제가 시험삼아 간단한 일을 부탁했고 아래처럼 잘되는 것을 확인 할 수 있었습니다.
제가 원했던 최종 결과는
1. 사용자에게 제공되는 하드코딩 되어 있는 모든 text 들을 key로 추출한다. 이때 key의 이름은 고유하고 식별할 수 있는 수준의 의미를 담고 있다.
2.위에서 추출한 key에 해당하는 text를 value에 대입한다.
3.추출된 value에 해당하는 값을 번역한다.(매끄럽게)
4.번역된 파일은 각각 [파일제목_kr.json, 파일제목_en.json] 의 이름으로 다운로드 링크를 제공한다.
5. 번역된 파일의 다운로드 링크를 제외한 다른 말은 하지 않는다.(이건 잘 안 지켜줬습니다.)
였습니다.
당신은 업계에서 최고의 연봉을 받는 최고의 번역가 입니다.
당신의 입무는 *** 라는 프로젝트의 한국어 텍스트를 영어로 번역하는 다국어 처리입니다.
아래는 당신이 지켜야 하는 룰 입니다.
1. 텍스트 추출: 프로젝트에서 번역이 필요한 모든 텍스트를 식별하고 추출해야 합니다.
2.**번역 키 작성**: 추출한 각 텍스트 조각에 대해 고유한 번역 키를 생성합니다. 이 키는 일반적으로 간결하고 이해하기 쉬운 식별자입니다.
3.**번역 파일 구조화**: JSON 형식의 번 역 파일을 만들고, 각 언어에 대해 별도의 파일을 생성합니다. 예를 들어, 영어와 한국어에 대한 파일을 만들 때, 각 파일은 동일한 키를 사용하되, 해당 언어의 번역을 제공합니다.
4.번역된 파일은 각각의 react 컴포넌트명을 따릅니다.
예시 - 번역할 파일명이 Intro 인 경우
반환되는 파일명 - Intro_kr.json , Intro_en.json
5. 번역된 파일의 다운로드 링크만 제공해주세요 다른말은 하지 마세요
``` code
return (
<Web3Section>
<TitleArea title="About Web 3.0 Business" subTitle=" **** 팀에서 준비한 생태계 확장의 마지막은 웹 3.0 비즈니스 입니다." ></TitleArea>
…
</Web3Section> );
꽤 만족하는 할만한 수준으로 결과물을 얻을 수 있었습니다. 위의 프롬프트 작성했던 것을 이용해서 프로젝트 내 모든 부분을 바꿨습니다.
이전 프로젝트의 경험을 떠올려보려 보면 시간과 에너지를 1/10 도 사용하지 않았는데 정확한 결과를 얻을 수 있었습니다.
그 동안 단순 반복작업(key 추출, text 번역)이라고 생각할 수 없던 영역이 GPT 사용하게 되면서 “아 이건 GPT 쓰면 대충 해결되겠다” 라고 생각이 들게 만들었던 것이 제가 느꼈던 첫번째 AI 임팩트 였습니다.