#billcorea #운동동아리관리앱 🏸 Schneedle, een onmisbare app voor badmintonclubs! 👉 Matchplay - Registreer scores en vind tegenstanders 🎉 Perfect voor overal, alleen, met vrienden of in een club! 🤝 Als je van badminton houdt, probeer het dan zeker
Ga naar appen 👉 https://play.google.com/store/apps/details?id=com.billcorea.matchplay
# for m in genai.list_models(): # if 'generateContent' in m.supported_generation_methods: # print(m.name)
model = genai.GenerativeModel('gemini-pro') prompt = ''' You are a competent translator. Please convert the following English words. The next word is {0}. The country codes that need to be converted are 'ar', bn', 'cn','de','es','fr','hi','in','it','ja','ko','ms',' nl','pt','ru','th','tr','vi','zh' Please indicate how to print in the format 'Country Code: Converted Word'. '''.format('Written By') response = model.generate_content(prompt) print(response.text)
안드로이드 앱을 구현하는 동안 다국어 버전을 만들기 위해서는 번역을 해야 하는 경우가 발생하게 됩니다. 그래서 이번에는 GEMINI API을 활용해서 간단한 번역기(?)를 만들어 보려고 합니다.
번역 예시
GEMINI API 관련된 여러글에서 강조했던 것처럼 prompt을 어떻게 작성하는 가에 따라서 달라질 수 있습니다. 예시 코드의 prompt는 간략하게 만들어 본 것이기는 합니다. 또한 AI의 단점은 간혹 거짓말(?)을 할 수 있기도 합니다. 이런 부분만을 유의해서 잘 활용해 보면 좋을 것 같습니다.
예전에 했던 Translate API 을 활용했던 것보다 훨씬 단순하게 번역을 해 볼 수 있었습니다. 이제 다국어 버전의 앱을 조금은 더 쉽게 만들어 보도록 하겠습니다.
이번 이야기는 이전 버전에서 달라지는 수다 떨기(GEMINI) 버전에 대한 이야기입니다. 이전 버전은 koGPT을 활용한 버전이었습니다. 다만, KAKAO API 가 제공하는 koGPT의 기능은 그렇게 많은 도움을 주지 않았던 거 같습니다. 해서 이번에는 구글에서 제공하고 있는 GEMINI API을 활용한 버전으로 옮겨 가고자 합니다.
그 시작은 android 개발자 가이드 페이지에서 시작 됩니다. 이전 글에서도 강조했던 것과 같이 AI 이야기를 하는 부분은 prompt을 어떻게 작성을 하는 가에 따라 달라진다고 볼 수 있을 것 같습니다. android 개발자 가이드에서 보는 것과 같이 구성을 하게 되면 기본적인 APP 은 만들어질 수 있습니다.
class SummarizeViewModel( private val generativeModel: GenerativeModel ) : ViewModel() {
private val _uiState: MutableStateFlow<SummarizeUiState> = MutableStateFlow(SummarizeUiState.Initial) val uiState: StateFlow<SummarizeUiState> = _uiState.asStateFlow()
var transString = mutableListOf("") lateinit var englishGermanTranslator : Translator
fun summarize(inputText: String, englishGermanTranslator: Translator) { _uiState.value = SummarizeUiState.Loading
val prompt = "You are a psychologist who counsels men and women on breakups. The other person who is saddened by the breakup of a loved one will ask you questions that can help them get out of the heartache of the breakup. You should answer this question by talking about various ways to get out of your current state of mind. Summarize the other person's question before answering. You must answer in Korean. Now let's ask the question : $inputText"
다시 Eclipse을 이용한 프로젝트에 참여하면서 시작해 봅니다. 프로젝트를 하게 되면 우선 관리를 시작하게 되는 것이 여러 사람과 같이 작업을 하게 되기 때문에
1. 일정관리
2. 소통관리
3. 소스관리
4. ... 등등
여러 가지 공유되어야 하는 부분들이 발생하게 됩니다. 그중에서도 제일 중요한 부분이 source 관리가 아닐까 하는 생각이 듭니다.
source 관리
여러 사람의 한개의 project source을 만들어 내고, 수정하게 되다 보면 잘 정리가 되어야 하는 부분들이 발생하게 됩니다. 물론 그중에서도 source의 분실, 소실을 방지하기 위함 이기도 하고, 변경 이력을 관리하기 위함이기도 합니다.
그럼, 방법은 어떤 것들이 있을까요?, 소소 하게 비용이 발생하는 open source 로 관리가 되는 것부터, 많은 비용이 들어가는 형상관리 시스템까지... 방법은 다양할 수 있습니다. 그중에서 Eclipse의 plugin으로 관리가 좀 쉬워 보이는 SVN을 설치해 사용해 보기로 했습니다.
eclipse 메뉴 Eclipse Marketplace 가기
Eclise의 plugin 는 인터넷 사용이 가능한 환경에서는 메뉴 -> Help -> Eclipse Marketplace을 선택해서 plugin 을 검색 설치를 할 수 있습니다.
Marketplace
Eclipse Marketplace 메뉴을 클릭해 나오는 창에서 Search 탭에서 svn을 입력하고 Go 버튼을 클릭해 검색을 시작해 봅니다 다음은 Subversive SVN Team Provider 4.8을 선택하고 install 버튼을 클릭해 설치를 진행하면 됩니다. 설치가 되고 나면 Eclipse 가 재시작을 하게 되고 난 후에 사용할 수 있습니다.
다만, 최신 버전을 이용해 설치를 하고 난 뒤 발생하는 문제가 있더라구요. 과거에는 plugin 이 설치되면 자동으로 SVN Connector 가 설치 되어 바로 사용을 할 수 있었는 데, 접속하는 과정에서 오류가 발생하게 되더라고요.
preferpence 화면
먼저 접속 오류가 발생하게 되면, menu -> windows -> preferpence에서 version control(term) 아래 SVN 클릭하여 위 그림과 같이 나오는 화면에서 SVN Connector 정보가 설정할 수 있는지 확인을 해 봐야 합니다. 저 부분을 선택할 수 있어야 하는 데, 그 부분이 비어 설정을 할 수 없게 되어, 수동으로 SVN Connector을 설치해야 합니다.
이전 이야기는 위 링크를 참고 하세요. 잘 쓰는 글이 아닌지라... 지루하기 하겠습니다만.. 미리 정년을 준비하시는 분들에게 미리 경험해 본 이야기를 적어 드립니다. 조금의 참고가 될까 모르겠지만...
혹시나 퇴직 후 집에 머무르게 된다 해도.. 저 이모티콘 처럼 삼식이(?)가 되시지는 마세요. 집에서도 퇴직(?)을 해야 할지도 모릅니다.
퇴직 후 구직 활동
경제활동인구 라는 단어의 의미를 찾아보니 15세 에서 64세 이내의 청. 장년 인구를 말한다 라는 wiki 이야기 보입니다. 아직 일을 할 수 있는 나이라는 말입니다. 하지만, 어떤 이유에서건 회사를 떠났기 때문에, 다시 일을 할 수 있는 방안을 마련해야 했습니다.
구직활동을 할 수 있는 창구(?)는 다양하게 분포하고 있기는 하더군요. 저의 경우는 퇴직전 1년 넘어하던 일을 계속하고 싶기 했고, 현직에 있을 때 하던 일의 연속성을 유지하고 싶다는 소망이 있었기 때문에 무작정 1인 개발자로 사업자 등록을 했습니다. 그렇다고 해서 사업준비를 했다거나 한 것이 아니기 때문에 소득이 생기거나 하지는 않았습니다.
소득이 없는 시간이 길어지기 시작하니 조바심이 나기 시작 합니다. 그래서 찾아보았던 것들이
사람인, 위시캣, 이랜서, 사람인 긱, 숨고 전문가, 크몽 전문가, 지식인 엑스퍼트 ... 하다 못해 토스앱, 준장년을 위한 일자리 앱, 구청 등에서 운영하는 장년 일자리 등등, 많은 곳에서 구인 정보를 제공하기는 합니다.
다만, 프리랜서로 일을 시작 하기에는 연줄(?) 없이는 힘이 들었습니다. 직장생활만 하다가 정년을 코앞으로 남겨준 나이를 가진 사람에게는 더 그런 인력 시장이라는 생각을 하게 됩니다. 이런 인력시장(?)에 이력서울 수십 장 등록을 해 보기는 했습니다. 프리랜서 구인 사이트 이곳저곳에 프로필을 등록하고, 이런저런 자격사항을 챙기는 것부터...
프리랜서 시장에서 일을 시작하는 건 그렇게 녹녹하지 않았습니다. 실은 그렇게 죽을 만큼의 노력을 했는지는 자문해 보고 싶기는 합니다만... 취준을 준비하는 대졸 친구들의 노력에 비할 까 하는 생각이 들기도 합니다. 어쩌면 절박하기는 하나, 방향을 알 수 없기도 하고, 될까 하는 자신감 부족도 있었지 않을까 하는 생각이 들기도 합니다.
혹시나 프리랜서 개발자로 시작해 보시려 한다면, KOSA (한국소프트웨어 산업협회) 등에 기술자격에 대한 등록을 해 두시길 권해 드립니다. 등록에는 비용이 발생하기는 합니다만, 증빙을 챙겨 두시는 것이 도움이 될 수 있습니다. 또한 퇴직 전 직장에 근무 경력을 증빙할 수 있는 자료를 요청해 받아 두시는 것도 도움이 될 수 있습니다.
갑. 을. 병. 정에 참여하기
퇴직할 때부터, 혹시나 했던 일과 연관해서 전 직장과 연관된 프로젝트에 개발자로 일을 시작하게 됩니다. 지금도 그때 연결 되었던 회사와 연줄을 달고 일을 하고 있기도 하고요.
갑도 을도 아닌 병이 되어 일을 하고 있으시면, 현직에 있는 갑들을 보면서 (그렇다고 갑질 이야기는 아닙니다.), 현직에 있는 그들의 삶도 언젠가 퇴직 후의 삶을 준비하고 있는 가 하는 생각이 듭니다. 내가 현직에 있을 때 지금이 영원할 것 처럼 믿고 지냈던 시간들 처럼 말입니다.
나름 현직에 있을 떄 하던 일을 연속하게 하고 있게 되어 감사한 마음이기도 합니다. 연속성을 가지고 일을 하고 있는 동안만큼은 나름 보수도 나쁘지 않게 받을 수 있고 하니 말입니다. 그래도 마음 한 구석에 남는 허함은 어쩔 수 없는 가 봅니다. 나의 현직 시절을 추억하게 되니 말입니다.
장년층의 일자리로 나오는 일들은 실제 해보지 않았던 일을 시작해야 하기에 망설임이 앞서게 됩니다. 그래서 일을 찾는 게 더 어려워지지 않을까 하는 생각을 하게 됩니다.
오늘도 수고하셨습니다. 파이팅 하실 수 있도록 응원하겠습니다. 현직에 계실 때 누릴 수 있는 것들을 누리는 시간이 되시길 기원합니다.