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

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

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

분류 전체보기 34

[ Environment ] 개발 환경에 대해...

MS-DOS때 부터 프로그래머의 길을 걷기 시작해 오늘날까지, 주로 접해왔던 언어는 C, Delphi(Object pascal), Visual Basic, Shell, SQL, Python, JAVA 찔끔, PHP랑 ASP도 찔끔, 최근에는 Flutter(dart) 를 주로 사용한다. Delphi는 Ver1.0때 부터 꽤 오랜기간 사용했었고, 지금까지도 그래왔지만 DB를 사용하지 않는 프로젝트는 거의 없다고 봐야 하니 SQL은 꾸준히 손 놓을 수 없는 언어이다. 과거에는 C/S 환경의 3Tier 환경이 대세였기에 규모가 좀 되는 프로젝트는 Unix 와 Oracle(Pro-C)은 필수였기에 자연스레 손에 익혔던 것 같다. 옛날얘기는 이쯤에서 접고...... 요즘 내가 활용하는 개발환경에 대해 잠깐 얘기해 ..

Tech Story 2023.12.15

나는 Boss 인가? 아니면 Leader 인가?

오래전 직장생활 시작 초기의 나에게, 보스 와 리더의 구분 기준은 내게 잘해주는 상사와 그렇지 않은 상사. 이렇게 두 부류로 나누었던 것 같다. 이후로 세월의 강을 따라 흘러오다 문득 뒤돌아 봤더니, 어느덧 희끗해져가는 모습과 함께 누군가의 보스 또는 리더가 되어 있었다. 나는 과연 Boss인가 아니면 Leader 인가? 조직의 규모와 팀원들의 정서, 그리고 그들의 능력치, 본인의 책임감, 때론 과감하면서도 섣부르지 않은 행동에 기인한 신중함 그리고 결단력 등등... 많은 부분을 헤아려 고민해봐야 할 문제가 아닐 수 없다. 흠.... 내가 생각하는 나는... . . . . . Boss(30%) Leader(50%) 정도? 그럼 나머지 20% 는....... 상황에 따라 Boss 가 되거나 Leader가 ..

Life Story 2023.12.12

[ SQL ] Query 작성 시 count() 함수의 함정

많은 개발자들이 Database Query 작성할때 습관적으로 ... count(*) ... 이렇게 사용하는 사람들이 많다. 대개의 경우 큰 문제가 생기지는 않으나, 혹 실행 결과값이 다를 수 있음을 인지하고 사용하는 개발자는 그리 많지 않은 듯 하다. 바로 Field의 값이 Null 이냐 아니냐에 따라 리턴되는 count() 함수의 결과값이 달라질 수 있다. 예제를 보자 예제에서 사용한 테이블 t1 은 간단하게 Nullable 속성의 2개 필드를 가지고 있고, PrimaryKey 설정도 하지 않았으며, 테스트를 위한 Record 6개를 넣은 후 전체 조회한 결과는 우측 이미지와 같다. 다음과 같이 3개의 쿼리를 던져보면 받는 결과값이 다름을 알 수 있으며, 필자가 얘기하려는 바가 무엇인지 바로 알 수 ..

Tech Story 2023.12.06

생일기념여행 (제주)

제주는 언제가도 좋다. 이번 제주여행은 내 생일을 자축하는 의미로 와이프와 함께 2박3일 같은 1박2일로 오랜만에 롯데호텔 숙소 잡고, 전기차 렌트하고...... 제주는 자주 다니는 편인지라 올레길부터 오름, 웬만한 관광지들은 많이 다녀본 것 같다. 그래서 이번 여행은 편안하게 푹 쉬려고 간 여행이다. 그동안 사무실에서 너무 바쁘게만 지냈던것 같아 편안하게 걷기도 하고 풍광 보며 여유있게 차도 한잔 하고, 먼지 쌓인 카메라 꺼내들고 사진도 찍고...... 아~~~ 간만에 힐링다운 힐링을 느껴본 일정이었다.

Gallery 2023.11.29

[ 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

연세 동문골프행사 웰리힐리CC

코로나 이후 첫 동문회 주관 1박2일 골프행사 공경드림페스티벌. 거의 매일 바쁜 일정으로 인해 집과 사무실에만 처박혀 있던 나에게 주는 간만에 힐링 타임. 골프도 예전에 자주 할때만큼은 아니지만 버디 두개에 나쁘지 않았고, 저녁행사 마지막 행운권 1등에 당첨되어 공기청정기 득템~~~ 이번 행운상으로 동문회 행사 1등 행운상의 주인공을 두번이나 하게 되었다. (첫번째는 TV) 다음날 오전 동문 선배님들과 조식 중 바로 옆 창밖으로 첫눈이 조금 흩날리기 시작하더니, 오후 일정이 있어 서울로 돌아오는 길에 올해 첫눈을 강원도에서 맞이하게 되기도...... 내년에도 이런 기분 좋은 기운이 사업적으로도 계속 이어졌으면 좋겠다. 몇년째 어깨가 근질근질 했는데 내년에는 날개가 나오려나 보다. 제발~~~ 아자 아자 힘..

Gallery 2023.10.22

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

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

Tech Story 2023.08.23