오래된 프로그래머의 요즘 이야기

그리고 소소한 일상들...

허니의 소소한 일상들이 켜켜이 쌓여가고......

Tech Story 40

[ PYTHON ] Ubuntu 20 에 Python 설치 중 setuptools 오류

Ubuntu 20 에 Docker 설치 후 Python3.7 버전을 설치 하던 중 "Package ' python-dev ' has no installation candidate" 라는 오류를 만났다. 얼마전에 서버이전 하면서도 문제 없었고 다시 다른 서버로 Docker 이전하면서 발생한 에러인데, 구글링 해본 결과 해결방법은 의외로 간단... Ubuntu 최신버전은 python-dev를 지원하지 않는다. 어쩔... 대신 python3-capstone 을 설치하라는...... python3-capstone 으로 대체 후 정상 설치가 되는 듯...... 하다가 에러 하나 더!!! "Package ' python-setuptools ' has no installation candidate" ㅋ~~~ 이번엔 ..

Tech Story 2023.11.29

[PYTHON / MYSQL(MariaDB)] _last_executed 가 사라졌다?

예전엔 MYSQL (MariaDB) 를 쓸때 Cursor 를 실행 시킨 후 _last_executed 를 잘 썼는데, 언제부터 인지 API가 작동을 안해서 Query가 잘못되었나? 아님 파이썬 코드에 문제가 있나? Parameter가 문젠가? 등등 원인이 될만한 버그를 찾기 위해 많은 시간을 디버깅에 애쓴적이 있다. 쿼리는 아무리 봐도 문제가 없었는데 쿼리를 담은 커서만 실행시키면 API가 뻗어 버리는 걸 지켜보다보니 내가 뻗어버릴 것만 같았고 답답해 미칠려던 찰나에, 실행된 쿼리를 확인하기 위해 작성한 logger.debug(cur._last_executed) 문장을 지웠더니 정상 실행 되는게 아닌가? 급한대로 logger.debug(cur._last_executed) 문장들을 전부 주석처리하고 API..

Tech Story 2023.11.21

RunBTI 달리기 성향 분석 출시

일전에 친구의 부탁으로 RBTI를 만들기 위해 몸풀기 느낌으로 허니16 MBTI 라는 앱을 만들어 보았다. 비슷한 형식으로 RBTI 앱이 완성되어 안드로이드는 이미 4~5일 전에 올라갔고, 오늘은 앱스토어에 심사 등록 요청을 마무리 했다. 리젝 없다면 하루 이틀내에는 앱스토어 에도 RunBTI 가 등록 될 것이다. RBTI에 사용된 앱아이콘 및 캐릭터 이미지들은 모두 외주 제작을 통해 만들어 졌다. 역시 전문가의 손길을 거친 이미지라 다르긴 다르다. 오늘 오전에 나혼자 산다 재방송을 보는데 기안84 가 마라톤 풀코스에 도전하는 스토리였다. TV 보면서 러너들이 무척 많구나 싶은 생각이 들었다. 안드로이드 RBTI 출시는 5일 전에 완료 했는데, 아이폰도 만들어 달라는 요구들이 제법 있어 1박2일 대학원 ..

Tech Story 2023.10.22

[Agile] 애자일 방법론에 대한 단상(短想)

애자일(Agile) 은 여타 많은 소프트웨어 개발 방법론 중의 하나 입니다. 전통적이지만 아직까지도 많은 기업에서 실무에 적용되고 있는 폭포수(Waterfall) 방식과의 비교를 통해, 폭포수방식 보다 훨씬 더 좋은 방법론이라고 이야기하는 사람들이 꽤 많은 것 같습니다. 필자가 이 글을 포스팅하게 된 것도, 어떤 IT회사 대표님과의 저녁식사 자리에서의 대화 때문입니다. 애자일이 만능이라고 나에게 침 튀도록 야그하던데, 이상하게 사이비 종교를 포교하는 듯한 느낌이 들었고, 내가 이해하기 힘든 장점만 얘기 하더라는...... (사실 IT쪽을 잘 모르거나 하면, 혹 하고 넘어가긴 할 것 같이 말은 정말 잘 하던데, 구지 오랜시간 같이 하고 싶지 않아서, 대충 맞장구 쳐주고 영양가 없는 대화의 시간을 마무리 했..

Tech Story 2023.08.23

[Flutter]스콜 앱미터기 재등록, 그리고 ChatGPT 와 첫대화~~~

예전에 만들어서 안드로이드에 등록했던 나의 최초 등록 앱 "스콜(S.Call) 앱미터기"! 많은 사용자는 아니지만 천여명 정도의 분들이 사용하고 있었는데, 올해 들어 택시요금이 많이 오르고 할증시간대, 거리, 운임요율 등 기본 데이터의 변화가 너무도 많았었다. 그런데 이런저런 플젝 진행하느라 지금까지는 방치해 두고 있었던게 사실이고...... 최근 앱에 설정되어 있는 택시요금 좀 변경해 달라는 메일이 자주 들어 오길래, 일주일 정도는 작업해야 겠다 싶어 큰맘 먹고 수정하기로 결심했다. 작업하면서 가장 힘들었던게 BackGround Location 처리였다. 앱 특성 상 GPS좌표를 수신 받아 택시종류별/지역별 요금체계를 적용해서 택시를 타고 이동하는 동안 요금을 계산하는게 메인 기능인데 휴대폰 화면을 끄..

Tech Story 2023.08.09

MBTI App 출시

일단, 안드로이드 먼저 출시했다. (현재는 iOS 도 출시) Delphi, C++, Database(SQL), Python 같은 것만 가열차게 만져왔던 나… 는 올드한 아재 프로그래머였다. 예전부터 만들고 싶던 앱들이 있어서 처음엔 델파이로 깔짝거리며 앱을 만들어 보긴 했는데 너무 어렵더라고… Delphi, ver1.0 때 부터 꽤 오래 사용했고 아직도 좋아하는 언어이긴 하지만 말이다. 몇년 전, 지금의 회사에서 직원들과 함께 개발한 승차공유(택시) 앱이 있었다. 개발 막바지에 외부에서 실제 택시를 타고 이동하며 테스트를 하려다 보니, 여의치 않은 상황에서 택시는 내 차로 대신하고 직원들은 승객 역할을 하면 되겠다 싶어 인터넷 검색을 통해 앱미터기들을 몇개 설치해 봤는데 정상적인 테스트가 가능한 앱이 없..

Tech Story 2023.08.04

[FLUTTER] Background 처리

프로그램 개발 시 백그라운드 처리가 필요한 경우가 무척이나 많다.실시간 위치정보나 Notification, FCM 같은 경우가 특히 그러하다.그런데 Debugging Mode에서는 문제가 없었는데 스토어와 마켓에 올리기 위해 Release Mode로 빌드했더니, Release Mode에서는 백그라운드 처리가 정상적으로 되지 않았던 것이다. 개발환경의 Version 문제 등 놓친 부분이 있기도 하겠으나 양 진영의 플랫폼은 배터리 관리에 무척이나 신경쓰고 있었던 것 같다.개발 중에는 Debugging Mode로 내 컴퓨터와 폰을 USB로 연결해서 테스트(Logger 확인을 해야 하므로…)하기 때문에, 화면이 꺼질일이 없었고 테스트 목적으로 화면을 끄더라도 USB연결로 인해 배터리가 충전 중 이었으니, 백그라..

Tech Story 2023.08.04

코딩과 경험

주니어 개발자는 영리하고 시니어 개발자는 현명하다. 다만 둘의 차이는 시행착오를 겪어 보았는가 의 차이이며 그 차이를 우리는 경험이라고 부른다. 영리한 개발자는 코딩하면서 문제가 발생하면 해결을 잘하고, 현명한 개발자는 문제가 생기지 않도록 코딩을 잘한다. 영리한 개발자는 개발자가 개발하기에 편리한 코딩을 하고, 현명한 개발자는 사용자가 사용하기에 편리한 코딩을 한다.

Tech Story 2023.08.04

프로그래머 Old & New

내가 생각하는 옛날 프로그래밍 스타일과 요즘 프로그래밍 스타일의 차이 ! O: 코딩 전 자료를 찾기 위해 서점을 뻔질나게 들락거린다. (볼펜과 메모장 필수) N: 인터넷에서 쏟아지는 자료들을 필터링 하기에 바쁘다. (필요 코드를 찾으면 바로 복붙) O: 서점에 가도 영어가 딸리니 원서보다는 번역본 책을 제일 먼저 찾는다. N: 번역기 돌리면 되니, 영어가 딸려도 아무 문제 없다. O: 시행착오 끝에 심각한 오류들을 수정했을 때 짜릿한 희열을 느껴 보기도 한다. N: 검색한 코드가 모두 정상은 아님을 느낄 때가 많고, 그때마다 욕을 한 바가지 쏟아 붓는다. O: 고생한 만큼 머리속에 많이 남게 된다. N: 클라우드에 링크 주소가 많이 남게 된다. O: 회의 또는 기술정보는 노트에 기록하기 때문에 좋은 노트..

Tech Story 2023.08.04

능력 있는 프로그램 개발자?

주어진 프로젝트를 기간 내에 잘 끝내는…… 어려운 문제를 해결하는…… 개발자로 일한 기간이 길어서 경험이 많은…… 뭐 이러 저러한 능력들이 뛰어난 개발자들을 일컬어 능력있는 소프트웨어 개발자라고 얘기 하곤 한다. 오늘은 프로그래머에 대해 몇 가지 얘기해 보고자 한다. 코딩과 경험 예전에는 정보의 습득이 무척 힘들었다. 필자도 학교에서 전산을 전공하면서 꽤 많은 지식을 습득했다고 자부하고 사회에 나왔는데, 웬걸? 내가 알고 있었던 건 직장 선배들이 시키는 일 겨우 겨우 해결해 갈 정도의 기본 지식이었고, 그나마도 잘 알려주는 고참들이 있었기에 많이 배울 수 있었는데 개인적으로 큰 복이라 할 수 있겠다. 간단히 말해서 그동안 내가 알고 있었던 지식은 우물안 개구리, 조족지혈(새발의 피), 모기발에 워커 라고..

Tech Story 2023.08.04