개발 책 읽기

SQL 코딩의 기술

Effective SQL : SQL 코딩의 기술 – 존 비아시에스 외 지음, 홍형경 옮김/길벗 왜? 포스가 느껴졌다! 쿼리를 만들 일이 많지도 않고, 난이도가 높은 것을 만들 일도 없어서 그리 어렵지는 않다. 튜너가 있으니, 성능에 대한 부담도 크지 않다. 그래서인지 쿼리를 만들다 막히면 생각 대신 검색부터 하게 된다. 덕분에 SQL에 대한 기술이 아니라, 잡기만 늘어가는 것 같다. […]

기타 개발

cron job 실행이 안될 때 확인 방법

환경 – AIX Cron job 실행 누락 원인 및 조치 방법 cron에 등록한 job이 실행되지 않아서 난리가 났다. 왜 실행이 안되었을까? 로그를 확인해 보자. (cron 로그는 /var/adm/cron/log 파일에서 확인할 수 있다. 혹시 없다면 /etc/cronlog.conf를 살펴보자).  cron: 0481-087 The c queue maximum run limit has been reached. 이런 로그가 남아 있다면 cron이 실행할 수 있는 job의

기타 개발

Python과 Java, 5년 후가 궁금하다.

짧게나마 Python에서 JSON 데이터를 다루었던 경험 덕분인지, Java에서 JSON 데이터를 처리하는 코드를 작성하는 건 번거로운 일이 많았다. 더 쉽게 쓸 수 있는 방법이 있는데, Java를 써야할까? 이러다 Java도 c언어처럼 역사의 뒤안길로 사라는 건 아닐까? 이미 시작된 건가? “자바는 몇 가지 명령을 빠르게 실행하는 데 사용하는 스크립팅 언어가 아니다. 자바는 클래스와 패키지로 구조화했을 때 이점을 얻는

자바

JSON + Java + Jackson

Photo by Ferenc Almasi on Unsplash Python으로 JSON을 처리하는 웹 애플리케이션을 만들면서, 자바에서는 어떻게 처리하고 있는 지 궁금했다. 검색을 해보니 여러 라이브러리 중 Jackson과 Gson을 많이 사용하고 있는 것 같다. 그 중 Jackson을 이용해서 JSON 데이터를 객체로 변환하는 방법을 찾아봤다.  JSON 데이터 구조에 맞는 POJO 클래스를 작성해서 처리하는 것이 일반적인 방법인 것 같다. 먼저 POJO

사이드 프로젝트

인구수와 세대수는 매매, 전세지수와 연관이 있을까? (1)

KB 자료를 가지고 부동산 흐름에 대해 아주 조금 맛만 본 것 같다. 이런 흐름에 영향을 주는 요인들은 아주 다양하겠지? 그 중 인구수와 세대수와 연관해서 한 번 살펴보자. 몇 몇 지역만 한 번 찾아볼까? 서울을 먼저 보자.  서울의 매매지수와 전세지수는 우상향이다. 잠시 정체기는 있었지만, 2014년 쯤 부터 계속 상승하고 있다. 인구가 늘었을까?  매매, 전세 지수의 상승과는

자바

IntelliJ IDEA + Gradle 설정 (feat. Gradle Wrapper)

IntelliJ IDEA로 작업한다면 Gradle을 별도로 설치할 필요가 없다. IntelliJ IDEA를 통해 관련 작업을 수행할 수 있기 때문이다. IntelliJ IDEA에서 자바 프로젝트를 생성한 경우, Gradle 프로젝트로 바꾸기만 하면 된다.  프로젝트 루트 경로에 build.gradle 파일을 생성한다. IntelliJ IDEA는 파일을 자동으로 인식하고 프로젝트에서 Gradle 기능을 사용할 수 있도록 활성화 시킨다.  plugins {     id ‘java’ }   group ‘org.example’ version ‘1.0-SNAPSHOT’   repositories {

파이썬

Flask + Bootstrap nav, 선택 메뉴 표시하기

배경 Python, Flask, Bootstrap을 이용하여 웹사이트 하나를 거의 완성했다. 버전 1.0을 찍고 끝내도 될 것 같다. 마무리로 상단 메뉴를 클릭하면 선택한 메뉴를 표시해 주려고 한다. 상단 메뉴는 Bootstrap nav를 사용했는데, 예제를 보니 class에 active를 지정하기만 하면 된다.   1차 시도 자바스크립트를 쓰면 된다고 생각했다. 특정 메뉴를 클릭하면 그 이벤트를 받아서 class에 active를 추가해주면 되겠지? 그러나 완벽한

사이드 프로젝트

지역별 매수우위지수 비교: 서울과 6대 광역시

 서울과 6대 광역시의 매수우위지수를 차트로 보자.  7개 지역을 한 차트에서 보자니, 너무 산만해서 눈에 잘 들어오지 않는다. 서울을 기준으로 비교해 봐야겠다. 먼저 서울과 부산, 울산을 보자.  서울과 흐름이 비슷할 때도 있고, 전혀 상반된 모습을 보일 때도 있다. 서울이 잘 나갈 때도 있고, 부산과 울산이 잘 나갈 때도 있음을 볼 수 있다.  다음은 서울과 대전을 보자. 

기타 개발

Bootstrap Datepicker의 setDate 사용 방법

Photo by Claudio Schwarz on Unsplash 환경 bootstrap 5.1.0 bootstrap-datepicker 1.9.0 setDate 사용 방법 특정 일자를 지정하려면 아래와 같이 setDate 부분을 작성한다.  $(‘#from’).datepicker( ‘setDate’, new Date(2013, 0, 1) ); cs 현재 일자를 지정하려면 아래와 같이 setDate 부분을 작성한다.  $(‘#to’).datepicker( ‘setDate’, Date() ); cs 후기 인터넷에 보면 setDate 사용법이 차고 넘친다. 그런데 조금씩 다르다. 아마도 Bootstrap Datepicker의 버전이 업데이트 되면서 조금씩 변경되었기 때문이겠지. 그래서인지 검색을

파이썬

Python, Mysql에서 in 조건문 사용 방법

Photo by Caspar Camille Rubin on Unsplash 환경 Python 3.8 mysql-connector-python 8.0.26 요약 where 조건절에 in 조건문이 있는 경우에는 쿼리를 동적으로 작성해야 한다.  왜냐하면 in 구문에 들어가야 할 %s-markers 갯수가 매번 달라질 수 있기 때문이다.  구현 query_params = …..   sql = ‘select col1, col2  ‘        ‘from table1 ‘        ‘where area in ( %s ) ‘   conn = db_pool.get_connection() curs = conn.cursor()   format_strings = ‘,’.join([‘%s’] * len(query_params))   curs.execute(sql % format_strings, tuple(query_params)) cs 참조 https://stackoverflow.com/questions/17847297/mysql-connector-python-in-operator-stored-as-list

위로 스크롤