개발

자바, 파이썬 중심의 실무 개발 기록과 도구 활용, 회고 및 기타 기술들을 정리합니다.

기타 개발

MySQL 대용량 import 주의 binary log

요약하자면 대용량 데이터를 import 할 때는 binary log 보관 기간을 최소화 하자.  MySQL 기본 설정으로 import 하면, 대략 그만큼의 디스크 용량이 필요하기 때문이다.  import 후에는 binary log 보관 기간을 적절히 변경한다.  MySQL 버전이다.  1 2 3 user@dev:~$ mysql ––version mysql  Ver 8.0.32–0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu)) user@dev:~$ Colored by Color Scripter cs 가상서버호스팅 이전 중 문제 발생 가상서버호스팅 변경하고, 서버 이전을 하고 있다. […]

기타 개발

MySQL import nohup 보안 주의

MySQL 데이터를 import 할 때 사용하는 명령어 1 sudo mysql –uuser –p DB_NAME < MYSQL_DUMP.sql cs import 할 데이터 용량이 크다면 nohup 을 이용하자. 1 nohup sudo mysql –uuser –p DB_NAME < MYSQL_DUMP.sql cs 하지만 에러 발생 1 2 3 4 5 6 user@dev:/home/user# nohup mysql -uuser -p DB_NAME < MYSQL_DUMP.sql > nohup.out [1] 11351 user@dev:/home/user# nohup: redirecting stderr to stdout   [1]+  Stopped                 nohup mysql –uuser –p DB_NAME < MYSQL_DUMP.sql > nohup.out user@dev:/home/user# Colored by Color Scripter cs nohup 으로 실행하면 터미널과 연결이 끊어져서 비밀번호를 입력할 수 없기 때문이다. 명령어에 비밀번호를 넣어주자. 

기타 개발

Docker Image Container, 한글 ko_kr utf8

CentOS 7 기준이다. dockerfile로 Docer Image를 만들어 보자. 언어와 타임존을 지정하려면 아래 코드를 추가한다. 1 2 3 RUN localedef –f UTF–8 –i ko_KR ko_KR.utf8 && ln –sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime ENV LANG ko_KR.utf8 ENV LC_ALL ko_KR.utf8 Colored by Color Scripter cs 위의 dockerfile로 생성한 이미지에서 컨테이너를 만들어보자. 언어와 타임존이 설정된 것을 확인할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 sh–4.2# date 2023. 04. 01. (토) 11:55:09 KST

기타 개발

도커 컨테이너 실행 중 포트 오류

docker container를 실행했다. Error invoking remote method ‘docker-start-container’: Error: (HTTP code 500) server error – Ports are not available: exposing port TCP 0.0.0.0:8500 -> 0.0.0.0:0: listen tcp 0.0.0.0:8500: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 어제까지 잘 썼는데, 뭐지?  간단한 해결책 – 관리자 권한으로 명령

경험 & 회고

카이 호스트만에게 받은 위안

얼마 전에 있었던 일, 사무실 구석에 개인 짐과 함께 두었던 책 몇 권이 없어진 것을 알게 되었다. 근처에 자리한 사람과 관련해서 몇 마디 농담을 나누고, ‘안 챙긴 내 탓이오’ 하며 자리로 돌아왔다. 책 제목도 가물가물하니, 없어도 그만이라고 생각했다. 그런데 며칠 후 책이 제자리에 돌아왔다.  그 중 카이 호스트만의 코어 자바 8이 보였다. 불현듯 ‘기본이 중요하지’란

기타 개발

openmediavault 기반 미디어 서버 구축 방법

미디어 서버란? 넷플릭스, 우리나라에서는 “오징어 게임” 덕분에 많이 알려졌다. 가입하고 구독료를 내면 언제 어디서나 영상 콘텐츠를 감상할 수 있는 서비스다. 넷플릭스에서 미디어 서버를 구축해 놓은 덕분인데, 우리도 넷플릭스처럼 개인용 미디어 서버를 구축하고, 이용할 수 있다.  개인용 미디어 서버를 구축하는 방법 openmediavault(이하 omv)를 NAS로 이용하고 있다면, 손쉽게 미디어 서버를 만들 수 있다. omv 기반 NAS 구축

기타 개발

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년

위로 스크롤