기타 개발

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

기타 개발

openmediavalut 기반 NAS 구축 방법

openmediavault란? openmediavault(이하 omv)는 NAS 솔루션이다.  풀어서 말하면 하드에 저장된 파일을 네트워크상에서 손쉽게 공유할 수 있는 맞춤형 운영체제다.  omv를 설치하면 전문적인 지식이 없어도 NAS를 구축하고 이용할 수 있다.  명령어를 직접 입력하고 프로그램을 실행하는 방식이 아니라, 웹에서 관리할 수 있기 때문이다. 웹 브라우저에서 로그인하여 프로그램 설치는 물론이고, 공유 및 권한 관리, 모니터링까지 할 수 있다.  사전 준비하기 […]

기타 개발

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

위로 스크롤