준호씨의 블로그

계절이 바뀔 때마다 현관문이 잘 안 닫히거나 문이 닫힐 때 "꽝" 소리가 점점 커져서 도어클로저의 속도를 조절하곤 합니다. 문제는 문이 잘 안 닫히기 시작하면 아이들이 문이 제대로 잠겼는지 확인을 못하는 경우가 종종 생깁니다. 그래서 우리 집 캠페인을 시작하게 되었습니다. 구글 슬라이드쇼에서 작성하였습니다. 아래 링크에서 확인할 수 있습니다. https://docs.google.com/presentation/d/1mx0LxkD65l2KZ2NoXbIfN5U2ndrJubodNJO3hxOcqys/edit?usp=sharing 우리집 캠페인 우리집 캠페인 공유용 docs.google.com 문그림과 탐정그림을 이모지로 넣었더니 출력할 때는 다르게 나옵니다. 구글 슬라이드쇼 내부에서 사용하는 이모지 모양으로 바뀐..

사람들과 Kubernetes설정 관련 이야기를 하다 보면 발음이 헷갈리는 설정이 두 가지가 있습니다. 바로 Liveness와 Readiness입니다. 관련설정에 대해서는 Configure Liveness, Readiness and Startup Probes 문서를 보면 알 수 있습니다. 설정에 대해서 간단히 요약해 보면 Liveness는 일종의 deadlock 같은 상태로 application이 떠있긴 하지만 더 이상 진행을 할 수 없는 상태입니다. 컨테이너를 재시작해서 살아나도록 해 주는 것과 관련된 설정입니다. Readiness는 살아 있긴 한데 요청을 받을 수 없는 상태를 판단하는 것이라고 보면 됩니다. 예를 들어 하나의 Pod이 한 번에 하나의 요청만 처리해야 되는 상황이라면 하나의 요청을 처리하..

MySQL에서 timestamp(epoch time)을 datetime형식으로 변환하려면 from_unixtime 함수를 이용하면 됩니다. select from_unixtime(0); # 1970-01-01 09:00:00 반대로 datetime 문자열을 timestamp(epoch time)으로 변환하려면 unix_timestamp 함수를 이용하면 됩니다. select unix_timestamp('1970-01-01 09:00:00'); # 0 datetime 문자열만 되는 것이 아니고 datetime 도 timestamp(epoch time)으로 변환할 수 있습니다. select unix_timestamp(STR_TO_DATE('1970-01-01 09:00:00', '%Y-%m-%d %H:%i:%s..

MSG가 한 때 유해하다는 분위기였다가 요즘은 "무해하다"의견이 대세이긴 한데요. 그에 대해서는 아래 글이 잘 요약되어 있습니다. [과학 읽어주는 언니] MSG는 위험할까? 단백질은 물 다음으로 우리 몸에 많이 필요합니다. 따라서 우리 혀는 단백질의 감칠맛을 느끼도록 진화했죠. 문제는 단백질 자체는 분자가 너무 커서 혀의 맛 수용체가 느끼지 못한다는 겁니다. m.dongascience.com 글의 내용을 요약하는 1분 51초짜리 짧은 영상도 있습니다. 아래는 다른 영상인데 이것도 참고 삼아 볼 만합니다. 이처럼 현재 대세는 "MSG는 안전하다"입니다. 그런데 이에 대해서 반박하는 영상을 지인이 보내주어서 보게 되었습니다. 조금 음모론 적인 느낌도 있긴 하지만 관련내용에 대해 자세하게 이야기를 하기 때문에..

timestamp(epoch time)을 datetime으로 변환하려면 datetime 모듈에 있는 fromtimestamp 함수를 사용하면 됩니다. import datetime print(datetime.datetime.fromtimestamp(0)) # 1970-01-01 09:00:00 반대로 datetime을 timestamp(epoch time)으로 변환하려면 timestamp 함수를 사용하면 됩니다. print(datetime.datetime(1970, 1, 1, 9, 0, 0).timestamp()) # 0.0 Unix timestamp (Unix epoch = Unix time = POSIX time)는 1970년 1월 1일 0시 0분 0초부터 몇 초가 지났는지를 나타내는 숫자입니다. 한국..

가상서버호스팅을 좀 옮겨 볼까? VULTR? 개인적으로 스쿨 호스팅에서 가상 서버호스팅을 받고 있습니다. 스쿨호스팅 최저가,최대트래픽 국내최대개발자커뮤니티 phpschool.com 과 함께하는 월400원, 웹호스팅,가상서버호스팅,이미지호스 junho85.pe.kr 2021년 3월에 스쿨호스팅에서 VULTR로 이사할까 고민을 했었습니다. 하지만 차일피일 미루다가 2년이란 시간이 흘러버렸네요. 가장 큰 이유는 스쿨호스팅의 절약형 서버의 메모리가 512M라서 Docker를 이용해서 이런저런 서버를 띄우면 메모리가 부족해서 서버를 안정적으로 운영할 수 없었기 때문입니다. 그 외에도 OS 버전업이나 재설치 등에서 몇 가지 불편함을 겪었습니다. 최근 정원사들 시즌8 출석부를 시험적으로 VULTR에서 운영해 보았는데..

platform, os, subprocess, socket 모듈을 이용해서 다양한 방법으로 hostname을 구할 수 있습니다. 여러 가지 방법이 있지만 socket.gethostname()으로 구하는 방법이 가장 무난해 보입니다. def get_hostname_platform1(): import platform return platform.node() def get_hostname_platform2(): import platform return platform.uname()[1] def get_hostname_os1(): import os return os.uname().nodename def get_hostname_os2(): import os return os.uname()[1] def get_ho..

Linux 서버에서 기본 설치 된 Python 버전이 낮은 경우 높은 버전의 Python을 설치해서 사용하는 경우가 있습니다. apt나 yum 같은 패키지 관리자로 업그레이드가 가능한 경우도 있겠지만 그렇지 않은 경우 소스코드를 다운로드하여서 빌드해서 설치해야 합니다. Python 소스 코드로 빌드해서 설치하기 기본 다음은 Python 3.8.14를 /program/python/Python-3.8.14 경로에 설치하는 방법입니다. wget https://www.python.org/ftp/python/3.8.14/Python-3.8.14.tgz tar xvfz Python-3.8.14.tgz cd Python-3.8.14 ./configure --prefix=/program/python/Python-3.8..

예전에 마트(제 기억엔 이마트 트레이더스)에서 조르단 칫솔을 처음으로 사용하게 된 이후로 계속 사용하게 되었습니다. 양치질에 비교적 예민한 아내가 만족해서 사용하다는 점이 크게 작용하였습니다. 쿠팡 구매 링크: https://link.coupang.com/a/Ye4MO (이 링크를 통해 구입하면 저에게 약간의 이익이 생깁니다) 이번에 무려 60개를 주문하였습니다. 많이 살 수록 저렴해져서 어차피 이 칫솔만 쓸 거 최대한 저렴하게 주문하자는 생각에 주문하게 되었습니다. 칫솔의 수명은 보통 2~3개월 정도라고 하는데요. 일반모가 그렇고 부드러운 모는 1~2개월이라고 하네요. 대략 1년에 10개 정도 사용한다고 보면 될 거 같습니다. 아내와 함께 사용하기 때문에 1년에 20개 정도 사용한다고 보면 될 거 같고..

하고 싶은 것들이 있는데 좀 뒤죽박죽이라 일단 아무렇게 적어둡니다. 적다 보니 공개하기 애매한 것들도 있어서 적당히 걸러서 적어봅니다. 게임개발 https://coloso.co.kr/products/100lecture-nadocoding 프로그래밍 유튜버 나도코딩의 유니티 게임 프로그래밍 100강사전 | Coloso 게임 프로그래밍에 쉽고 재미있게 입문하는 방법, 유니티 및 코딩 기초부터 하이퍼 캐주얼 게임 제작 프로젝트까지 모두 만나보세요. coloso.co.kr 예전부터 언젠간 해야지 하면서 차일피일 미루고 있네요. 어디서부터 시작해야 될지 몰라 이 강좌로 시작해 보면 좋을 거 같습니다. AI, ChatGPT 관련 공부 쿠팡구매링크: https://link.coupang.com/a/XuMZQ (이 링..