기타 개발

자바·파이썬 외 다양한 언어와 기술—아두이노, PHP, SQL 등—을 포괄합니다.

기타 개발

chart.js, 중간에 끊어진 점 잇기 (feat. 라인 차트)

Photo by Markus Winkler on Unsplash chart.js를 이용해서 라인 차트를 그릴 때, 일부 데이터가 없다면 어떻게 보일까? 라인 차트는 점과 점을 선으로 이은 것이다. 만약 연속된 데이터가 아니라면, 점과 점을 잇는 선이 생략된다. 결국 아래 이미지에서 보이는 것과 같은 라인 차트가 생성된다.  위의 경우는 기본 옵션인 경우이다. 점과 점 사이의 단절을 무시하고, 다음번에 나타나는 점까지 […]

기타 개발

모바일 앱에 Google Admob 배너 광고 붙일 때 주의할 점

Image by 愚木混株 Cdd20 from Pixabay  요약 모바일 앱에 Google Admob 배너 광고를 붙일 때는 가이드를 준수해야 한다. 모바일 앱 사용자가 배너 광고를 의도치 않게 클릭하는 것은 부정 클릭이다. 모바일 앱 사용자가 부정 클릭을 하지 않도록  화면을 구성해야 한다. 모바일 앱에 배너 광고 달기 Google Admob에 가입한 후, 안드로이드 스튜디오에서 만든 모바일 앱에 배너 광고를 추가했다. 화면의 어느

기타 개발

안드로이드 앱 개발, 그리고 배포하기까지 과정

  Photo by Kelly Sikkema on Unsplash 왜? 이번에는 토이 프로젝트로 안드로이드 앱을 만들어 보기로 마음 먹었다. 첫 경험이니, 욕심내지 말고 간단하게 만들어 보자. 마켓에 등록하고, 광고도 달아보자. 그렇게 한바퀴 돌면 보이는 세상은 전과 같지 않으리라.  안드로이드 개발 책을 읽었다.  처음 읽는 줄 알았는데, 생각해 보니 몇 년 전에도 관련 책을 읽었었다. 게다가 2006년인가 2007년

기타 개발

AWS Lightsail 가상서버 5개월 사용 후기

  Photo by Rosie Steggles on Unsplash 요약 AWS Lightsail 5$짜리를 사용 중이다.  DB 데이터가 어느 정도 쌓이면 vCPU 1개, 메모리 1GB로 처리하기에는 무리가 있다.   더 비싼 요금제로 변경하거나, 가성비 좋은 국산 가상서버 호스팅으로 바꾸자. AWS Lightsail에서 월 5$짜리 인스턴스를 사용 중이다 8월부터 사용했으니, 5개월 째다. 파이썬으로 웹 애플리케이션을 만들어 보면서 테스트 용도로 사용하고 있는데,

기타 개발

chart.js, canvas 크기 고정하는 방법 (feat. motion chart)

Photo by Isaac Smith on Unsplash 요약 chart.js는 canvas에 차트를 그린다. 이 때 canvas의 크기는 반응형이다.  canvas의 크기를 고정하려면 option에 responsive: false를 추가한다.  가로와 세로축의 범위를 지정하려면 scale 옵션에서 suggestedMin과 suggestedMax 값을 지정한다.  왜? chart.js를 사용해서 차트를 그리면 브라우저 크기나, 데이터에 따라 차트의 기울기가 달리 보인다. 일반적인 경우라면 별 문제가 없을 것 같다. 하지만 여러

기타 개발

incompatible with sql_mode=only_full_group_by (feat. MySQL)

Photo by Possessed Photography on Unsplash 요약 MySQL 이용 중 “this is incompatible with sql_mode=only_full_group_by” 오류가 나는 경우 해결 방법은 크게 2가지가 있다.  설정에서 only_full_group_by를 비활성화거나, 쿼리를 수정한다.   sql_mode=only_full_group_by MySQL 서버에 설정된 sql_mode가 “only_full_group_by”라면 쿼리에서 group by 절에 관련 컬럼을 모두 기술해야 결과를 확인할 수 있다. 기술하지 않으면 다음과 같은 에러 로그를 출력한다.  mysql.connector.errors.ProgrammingError: 1055

기타 개발

Bootstrap Dashboard 적용기

gentelella? Python, Flask, Bootstrap을 이용해서 사이트를 만들었다. 디자인은 신경 쓰지 않고, 상단에 메뉴 링크를 하나씩 추가하면서 화면을 구성했다. 메뉴가 몇 개 되지 않을 때는 별로 신경 쓰이지 않았다. 기능을 추가해 나가다 보니 어느새 메뉴는 2줄을 넘었고, 그래서인지 지저분해 보였다. 이걸 보고 후배가 gentelella라는 대시보드 테마를 알려줬다. 데모 사이트를 구경해 보니 훌륭하다.  gentelella 메뉴는 사이드바 형태로

기타 개발

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언어처럼 역사의 뒤안길로 사라는 건 아닐까? 이미 시작된 건가? “자바는 몇 가지 명령을 빠르게 실행하는 데 사용하는 스크립팅 언어가 아니다. 자바는 클래스와 패키지로 구조화했을 때 이점을 얻는

기타 개발

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의 버전이 업데이트 되면서 조금씩 변경되었기 때문이겠지. 그래서인지 검색을

위로 스크롤