기본 콘텐츠로 건너뛰기

3월, 2023의 게시물 표시

1인 개발자로 살아보기 : 병(丙)이 되어 보니

원본출처: 티스토리 바로가기 https://www.fmkorea.com/4994906665   하청의 하청의 하청이 위험한 이유.jpg 싸게 해주세요 www.fmkorea.com 인터넷에서 재미있는 그림을 하나 찾았습니다.  ㅋ~     이런 부분이 외주 아웃소싱을 주로 하는 IT업계의 현실과 맞닫아 있지 않을까 하는 생각이 듭니다.    1인 개발자로 살면서 처음 외주의 외주를 해 보고 있습니다. 이번 건의 경우는 특별한 케이스이기는 하지만,  아무튼... 퇴직 후 처음으로 다른 사무 공간으로의 출근(?)은 또 다른 의미를 전달해 주기도 합니다.    이렇게 보낼 수 있는 기간이 3개월가량이라는 아쉽운(?)이 남기는 하지만, 퇴직 후 지나간 시간들에 비하면 조금은 마음의 여유가 있는 것 같기도 합니다.  정기적인 수입이 보장되어 있으니까요.    퇴직전 했던 업무의 연장이기도 해서 일은 그렇게 어렵다는 생각이 들지는 않습니다.  다만, 이 기간이 지나면 다시 돌아갈지도 모르는 막막한 시간들이 앞에 있다는 것이 조금 아쉽게 느껴지기는 합니다.    그래도 작은 텀이 생겼습니다.  다시 준비를 할 수 있는...   이런저런 인력시장(?) 누리집에 등록해 놓은 이력서들도 다시금 보살펴(?) 줄 여유가 생겼으니 말입니다.  한국 나이 정년이 고작 3년쯤 남아 있어 그런지 쉽게 구해지지 않는 자리가 아쉽게 느껴집니다.  청년 취업도 쉽지 않다는 뉴스가 넘쳐나는 시점에 시니어 도전자가 하나 늘었으니, 그 누군가는 싫어할 수 있을지 모르겠지만,    이 나라의 복지 정책으로 봐서는 아마 70세가 넘어가는 시점에서도 일을 하고 있어야 할지 모른다는 생각이 듭니다.  아직 성인이 되지 못한 자녀가 있다면 더더욱 말입니다.  장년 취업자의 구인 자리는 턱 없기도 하고, 부실하기도 한 듯합니다.    청년 구직자가 넘쳐나는 탓에 그럴 수 있기는 하겠지만, 정규직보다는 비정규직을 양산하고, 워라

안드로이드 앱 만들기 : Lock Task Mode (일종의 kiosk 모드) 만들어 보기

원본출처: 티스토리 바로가기 Lock Task Mode  이게 먼가 하는 생각이 듭니다. 일반적인 앱들은 그저 사용하고 종료하고 하기 때문에 디바이스를 통제(?)하는 기능을 가지고 있을 필요가 없을 테니 말입니다.    이 개발자 가이드에서는 전용 장치를 단일 앱 또는 앱 집합에 잠글 수 있는 방법을 설명합니다.  EMM(Enterprise Mobility Management) 개발자 또는 솔루션 통합자인 경우 이 가이드를 읽고 설루션에 잠금 작업 모드를 추가하세요. 개발자 가이드에는 이렇게 기술 되어 있더군요.  나의 앱이 홈 런처가 되어 디바이스를 통제하게 됩니다.  그럼 이점은 무엇일까요?   아이에게 휴대폰을 넘겨야 하는 경우 아이가 사용할 수 있는 앱의 범위를 통제할 수 있다. 우리가 아는 키오스크 처럼 내가 개발한 앱이 디바이스를 통제할 수 있다. 그냥 쉽게 생각나는 것은 이런 정도인 것 같습니다.    이번 프로젝트를 하면서 이런 기능의 요구사항이 발생하게 되어 알지 못하는 이유로 해서 구글링과 holix  등을 통해서 이런저런 것을 알아보다가 개발자 페이지의 기술 내용을 열어 보게 되었습니다.  https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode   Lock task mode  |  Android Developers Lock task mode Stay organized with collections Save and categorize content based on your preferences. This developer’s guide explains how dedicated devices can be locked to a single app or a set of apps. If you’re an enterprise mobility management (EMM developer.android.co

안드로이드 앱 만들기 : Zxing 을 활용 QRCODE 생성 (feat Kotlin)

원본출처: 티스토리 바로가기 Zxing 은 qrcode, barcode 인식을 위해서 공유되는 open source 라이브러리입니다.  오늘은 이것을 활용해서 QRCode 을 만들어서 앱에 공유 하는 이야기를 해 보고자 합니다.  이전 포스팅을 통해서 barcode 을 생성해 주는 앱을 하나 만들어 playstore에 게시했던 기억이 있습니다.    https://billcorea.tistory.com/324   할인쿠폰 모아보기 앱 사용자 가이드 이 앱은... 마트에 갔을 때 제공 되는 각종 할인 쿠폰을 이미지로 담아 두었다가 다음 방문 시에 활용할 수 있도록 지원하는 것을 목적으로 합니다. 화면이 비어 있다면 아직 자료가 1도 없다는 billcorea.tistory.com 이 앱은 바코드 스캔을 하기도 하고 스캔 했던 바코드를 재활용(?) 하기 위해서 화면에 보여 주기도 합니다.    QRCODE 는  이번에는 QRCODE 을 만들어 내는 구현을 헤 보았습니다.      바코드 종류 https://github.com/zxing/zxing#supported-formats   GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android ZXing ("Zebra Crossing") barcode scanning library for Java, Android - GitHub - zxing/zxing: ZXing ("Zebra Crossing") barcode scanning library for Java, Android github.com 해당 라이브러리의 홈페이지에 기술 되어 있는 것처럼 구현 될 수 있는 바코드의 종류가 여러 개 있기는 합니다.  이 것들 중에서 사용해 보았던 것은 Code-128을 이용해서 할인쿠폰 모

챗봇 2번째 이야기

원본출처: 티스토리 바로가기 우리가 즐겨 쓰는 카톡에도 챗봇이 있다네요. 해서 챗봇과 놀아보기 2탄입니다. 카카오톡에서 챗봇은 채널 추가를 해야 합니다. 친구목록 화면에서 채널 검색을 통해 AskUp을 찾아보세요. 채널이 추가되면 그 친구와 대화를 시도해 보세요. 저는 지난번에 openAi에게 물었던 것을 다시 물어보았어요 결국 비슷한 결과를 얻기는 했어요. 심심할 때 같이 놀아보세요. 그리고 혹시 koGpt 가 궁금하시면 아래 앱도 한번 받아 보세요. https://play.google.com/store/apps/details?id=com.billcorea.sudabot0222 수다떨기 (챗봇 대화) - Google Play 앱 심심할 때 수다을 떨어 보세요... 챗봇이 응답해 드립니다. play.google.com 챗봇과 수다를 떨어 볼 수 있거든요. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

안드로이드 앱 만들기 : jetpack compose 에서도 ConstraintLayout

원본출처: 티스토리 바로가기 https://developer.android.com/training/constraint-layout?hl=ko     ConstraintLayout으로 반응형 UI 빌드  |  Android 개발자  |  Android Developers 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. ConstraintLayout으로 반응형 UI 빌드   Android Jetpack의 구성요소 ConstraintLayout을 사용하면 플랫 뷰 계층 구조(중첩 developer.android.com     ConstraintLayout 개발자 가이드를 읽어 봅니다.  눈 씌고 찾아보아도 jetpack compose에서 ui 구현하는 이야기는 없습니다.  이 layout  을 사용하는 이유는 개발자 가이드에서 설명하고 있는 것처럼 UI에 배치를 유연하게 하는 것이 목적일 수 있습니다.    예전에 개발하던 xml 방식의 layout  파일에서는 배치 하고자 하는 항목들을 드래그해서 위치를 잡아 주는 것 만으로 유연하게 design을 할 수 있었습니다.    jetpack compose 을 활용한 작업을 하는 동안에 그 생각이 났더랍니다. 유연하게 배치를 할 수 있는 방법이 뭐가 있을까 하고 말입니다.    gradle 설정   // constraintlayout implementation "androidx.constraintlayout:constraintlayout-compose:1.1.0-alpha08" 개발자 가이드에도 나와 있기는 하지만, 잘 보이지 않았던 것입니다.  꼼꼼하게 읽어 보지도 않지만요. 아무튼 이번에 알게 되어 사용을 해 보았습니다.    개발자 가이드에서 말하고 있는 것처럼 전체 화면에 배치를 하면서 이전 배치한 요소의 하단에  다음 배치할 요소를 연결하는 방식으로 배치할 수 있는 데 compos

1인 개발자로 살아 보기

원본출처: 티스토리 바로가기 1인 개발자가 되어 살아 보는 게 소원(?)일까는 모르겠으나,  이전 회사에서 퇴직하고 2달을 놀았고,  1인 개발자가 되어 2달이 넘어가는 지금도 마치 휴식기인 것 같이 거의 백수와 같은 삶을 살고 있다.    매화 여유가 있다면야 준)정년으로 퇴직한 내가 무슨 일을 해야 할까 하는 생각이 들기도 하겠지만, 아직도 살아야 할 날이 많이 남아 있고, 그날들을 이렇게 채워 가야 한다는 것이 부담스럽게 느껴지는 지금이기도 하다. 매화 더 열불나게 살아야 하는 가 하는 생각이 머리를 채우는 아침이기도 하고...  이제 정말 텅장이 되어 가고 있는 나의 금고(?)가 너무 가벼워져 더는 어떻게 할 수 없을 것 같은 아쉬움이 머리를 채우는 아침이기도 하다.   지난 주말 친구 모임을 갔던 곳에서 찍은 매화꽃 ... 이제 정말 봄이 이 만큼 와 있는 데, 아직도 나에게는 겨울이 남아 있는 것 같아...    마음을 추스리고  퇴직하면서 남겼던 글처럼... 취해 있지 않고 열심히 살아 보련다.   아직 살아야 할 날이 남아 있으니 말이다.     이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

챗봇과 대화 놀이를 해 보다가... 스무고개 놀이를 챗봇이 알까요?

원본출처: 티스토리 바로가기 챗봇과 대화 시작   오늘은 챗봇과 스무고개 게임에 대한 이야기를 잠시 해 보았습니다.   챗봇에게 나의 의도를 설명하고  그 놀이를 할 수 있는지 물어보았고, 챗봇은 흔쾌히(?) 가능하다고 합니다.  해서 챗봇과 질문과 응답을 해 보았습니다.  챗봇이 외국계이기 때문에 질문은 영어로 하고 답도 영어로 받습니다.  여기서 번역은 구글 번역기를 활용 했습니다.  혹시나 영어를 잘하는 것으로 오해를 하실까 싶어 미리 밝힙니다. ㅋㅋ~   내가 한 질문: I want to play a question and answer game with you. The method of the game is that you remember the name of an object and I match it. I'm going to ask you 20 questions before you tell me the answer, you have to answer it like this, right, wrong, similar, and after the 20 questions are over, it's a game where you tell me if the answer I'm talking about is right or not. If the answer I said is wrong even after 20 questions, you win the game, and if I got it right, I win the game. can i do it 답 : Yes, I can play the question and answer game with you. Let's get started!   내가한 질문 : Then did you start remembering one thing? 답 : Yes, I have something in mind. You can start asking

50대 중년 남성이 일자리를 찾을 때 염두에 두어야 할 20가지 사항

원본출처: 티스토리 바로가기 물론 50대 중년 남성이 일자리를 찾을 때 염두에 두어야 할 20가지 사항은 다음과 같습니다. 1. 가장 최근의 업적과 기술을 강조하도록 이력서를 업데이트하십시오. 2. 이전 동료, 친구 및 가족과 네트워크를 형성하여 직업 리드 및 추천을 받으세요. 3. 채용 박람회 및 업계 회의에 참석하여 잠재적인 고용주를 만나고 취업 기회에 대해 알아보세요. 4. 기술을 업데이트하고 시장성을 높이기 위해 직업 훈련이나 인증을 찾는 것을 두려워하지 마십시오. 5. LinkedIn과 같은 소셜 미디어 플랫폼을 활용하여 전문 네트워크를 구축하고 경험을 선보이세요. 6. 경력에 고용 공백이나 경력 변경 사항을 설명할 준비를 하십시오. 7. 잠재적인 고용주를 조사하고 필요에 맞게 이력서와 커버레터를 조정하십시오. 8. 취업 기회를 찾는 데 도움이 되는 채용 담당자 또는 인력 대행사와 협력하는 것을 고려하십시오. 9. 구직 과정 내내 긍정적이고 열정적인 태도를 유지하십시오. 10. 원래 경력 경로와 일치하지 않을 수 있는 직업 기회에 대해 유연하고 열린 마음을 가지십시오. 11. 기꺼이 낮은 수준에서 시작하거나 임시 또는 계약직 역할을 맡아 경험을 쌓고 자신의 가치를 증명하십시오. 12. 면접 기술을 연습하고 어려운 질문에 답할 준비를 하십시오. 13. 전문적인 복장을 하고 인터뷰를 위해 일찍 도착하십시오. 14. 열정을 보여주고 면접 중에 사려 깊은 질문을 하여 직업에 대한 관심을 보여주세요. 15. 인터뷰 후 감사 노트를 작성하여 감사를 표현하고 해당 업무에 대한 관심을 다시 한번 확인하십시오. 16. 참고 문헌 목록을 준비하고 그들이 당신이 구직 중이라는 것을 알고 있는지 확인하십시오. 17. 채용 제안을 받은 후 급여와 혜택을 협상할 준비를 하십시오. 18. 구직이 예상보다 오래 걸리더라도 정신을 차리고 동기를 유지하십시오. 19. 기술을 구축하고 전문 네트워크를 확장하기 위해 자원 봉사나 프리랜서 작업을

파이썬으로 웹 페이지 스크랩을 해 보는 코드 만들어보기 (feat chat.openai.com)

원본출처: 티스토리 바로가기 스크랩 오늘은  python  코드를 이용해서 스크랩하는 코드를 만들어 보았습니다.   이 코드도 openAI에게 요청해서 받은 코드 2가지를 공개해 볼까 합니다.   첫 번째 요청 결과는 아래와 같이 구성해 알려 주었습니다. 다만, 저기 있는 URL 이 검색이 되지 않는 코드 이기 때문에 그다지 도움이 되지 못할 것으로 생각이 됩니다. import requests from bs4 import BeautifulSoup # set the URL of the website to scrape url = "https://www.thecrazytourist.com/15-best-places-to-visit-in-south-korea/" # send a GET request to the URL response = requests.get(url) # parse the HTML content of the response using BeautifulSoup soup = BeautifulSoup(response.content, 'html.parser') # find all the article elements on the page articles = soup.find_all('article') # iterate over each article and extract the title and description for article in articles: title = article.find('h2').text description = article.find('div', {'class': 'entry-content'}).text.strip() # print the title and description of the article print(f"Ti