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

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

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

Python 4

[ SQLiTE ] Local DB Update process (2)

이전글 : [ SQLiTE ] Local DB Update process (1) 현재까지 Flutter 로 만든 앱들의 동작 환경을 살펴보면 휴대폰 내부에서는 SQLiTE 를 사용하고, 서버는 주로 Docker 로 구축한 MariaDB (또는 MySQL)로 되어있다. 서버와의 통신은 Python 으로 만든 RestAPI 호출로 운영하고 있으며 SSL 적용한 WEB Server 도 컨테이너로 돌아가고 있다. (참고 : [Environment] 개발 환경에 대해... ) 처음에는 Database Update를 위해 효율 보다는 빠른 구축이 먼저였기에 서버의 API를 통해 버전번호를 체크/비교하면서 변경된 데이터를 조회해 온 후 휴대폰 내부의 SQLiTE에 Insert 와 Update 쿼리를 사용해 업데이트를..

Tech Story 2023.12.22

[ 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

[ 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