개요 Golang Docker container 내에서 timezone을 한국으로 하고 싶다. 이를 위해서는 원하는 timezone을 로드한 다음, 설정을 하면 되는데 경량 이미지라면 timezone data를 이미지에 추가해줘야 한다. 구현 Local time 설정하기 실행 코드: https://goplay.tools/snippet/jsxRaDEqQeY time.LoadLocation 으로 timezone을 로드해서 time.Local 에 설정하면 KST 로 나오는 것을 알 수 있다. package main import ( "fmt" "time" ) func main() { // Load the Seoul timezone currentTime := time.Now() fmt.Println("Curren..
개요 Golang 개발시에만 로그가 출력되었으면 하는 경우가 있다. 이럴때는 환경변수와 로그 설정을 활용할 수 있다. 단순한 내용이지만 기록해둔다. 코드 예시 환경변수 RUN_MODE를 읽어들여서 그 값이 dev 가 아니라면 log의 출력을 io.Discard로 내보낸다(== 버려버린다) dev 라면 discard 되지 않고 출력이 된다. 💡 Discard is an io.Writer on which all Write calls succeed without doing anything. // Go 1.20 package main import ( "io" "log" "os" ) func main() { runMode := os.Getenv("RUN_MODE") if runMode != "dev" { log...
개요 한 번쯤 들어보았던 황당한 버그들 모음이 있어 시간 날 때마다 하나씩 정리해본다 전체 링크: https://beza1e1.tuxen.de/lore/ 원문 링크: Down by Tubes https://beza1e1.tuxen.de/lore/tubes.html 내용 영화관 티켓 판매 및 관리 시스템. DOS 버전으로 북미에서 잘 나가가고 있었는데, Windows 95 버전을 출시하였다. 어느날 아침, “The Cleaner”라 불리는, 하지만 사실상 온갖 잡일 다 해주는 개발자인 제임스에게 매니저가 급하게 캐나다 노바스코샤 아나폴리스(대략, 캐나다의 동쪽 끝)로 출장을 가야 한다고 말한다. 시스템을 켜면 몇 분 잘 동작하다가 다운되어 버린다는 것. 디버깅 아나 폴리스 극장에 가서 서버를 점검해보니 아..
개요 한 번쯤 들어보았던 황당한 버그들 모음이 있어 시간 날 때마다 하나씩 정리해본다 전체 링크: https://beza1e1.tuxen.de/lore/ 원문 링크: Crash Cows https://beza1e1.tuxen.de/lore/crash_cows.html 내용 구 소련의 스베르들로프스크 인근의 기차역은 큰 물류의 중심이었는데, PDP-11 마이크로컴퓨터의 소련 버전인 SM-1800에 기차와 물류의 목적지 경로를 찾아주는 소프트웨어가 설치되어 있었다. 그런데 한밤중에 어쩌다 한 번씩 오류와 충돌이 발생했다. 하지만 다음 날 테스트를 해보면 멀쩡! 개발자였던 세르게이는 드디어 작정하고 디버깅을 시작했다 디버깅 모든 오류 발생기록을 취합했더니 소떼를 실은 기차가 북 우크라이나와 서 러시아에서 인근..
개요 한 번쯤 들어보았던 황당한 버그들 모음이 있어 시간 날 때마다 하나씩 정리해본다 전체 링크: https://beza1e1.tuxen.de/lore/ 원문 링크: Crash Bandicoot: https://beza1e1.tuxen.de/lore/crash_bandicoot.html 내용 Crash Bandicoot 이라는 비디오 게임을 만들면서 생겼던 버그 이야기 게임 진행을 메모리 카드에 저장하는데 어쩌다 한번씩 저장을 실패하고, 심지어는 메모리 카드를 날려버렸다. 디버깅 관련이 있어보이는 코드를 하나씩, 하나씩 제거하고, 가짜(stub) 코드로 대체해 나감 최후의 최후까지 하다보니 프로그래밍이 가능한 타이머의 클락을 기본값인 100Hz에서 1kHz로 바꾼 것이 남았음 리드 프로그래머인 동료가 좀..
개요 한 번쯤 들어보았던 황당한 버그들 모음이 있어 시간 날 때마다 하나씩 정리해본다 전체 링크: https://beza1e1.tuxen.de/lore/ 원문 링크: Car Allergic to Vanilla Ice Cream https://beza1e1.tuxen.de/lore/allergic_car.html 내용 차를 타고 아이스크림 가게에 가서 아이스크림을 사오는데 바닐라 아이스크림만 사서 오면 시동이 걸리지 않는다. 원인 베이퍼 록 현상 때문이었다. 다른 아이스크림을 살 때는 시간이 좀 더 걸려서 냉각이 되며 이 현상이 사라지는데, 바닐라는 좀 더 빨리 살 수 있어서 냉각이 덜 되어 베이퍼 록 현상이 남아있었던 것이다. 💡 베이퍼 록 현상이란 열팽창률이 큰 물질이 액체 상태에서 증기가 되어 상승하..
개요 이번 Microsoft Build 2023 행사에서 있었던 Andrej Karpathy의 State of GPT 강의(?) 유튜브 영상을 보고 새로이 배우거나 인상적이었던 깨달음을 메모해둔다. 유튜브 링크: https://youtu.be/bZQun8Y4L2A 메모들 Pretraining이 가장 자원을 많이 먹는 단계이다. 수 개월동안, 수 천개의 GPU를 사용하고 있다. 파라미터 개수가 전부가 아니다. GPT-3의 파라미터 개수가 3배 가까이 많지만, 트레이닝에 사용한 개수는 LLaMA가 3배 이상 많다는 것에 주목하자 특수한 토큰 endoftext == 50256 하나의 트레이팅 토큰 묶음은 endoftext라는 특별히 정의한 토큰으로 구분한다. Base model은 Assistant가 아니다 B..
개요 개발 도중 이유를 알아내기 어려웠던 문제를 ChatGPT를 이용하여 해결했던 경험을 공유해본다. 가장 인상적이었던 것은 해석해내기 어려웠던 모니터링 도구의 로그를 풀어내준 것이다. 문제 상황 GitHub의 Container Registry인 GHCR에서 이미지를 가져오려면(pull) 로그인을 해두어야 한다. # CR_PAT: GitHub에서 PAT(Personal Access Token)을 생성해둔 것이다. $ echo $CR_PAT| docker login ghcr.io --username $GITHUB_USERNAME --password-stdin 이렇게 로그인을 해두면 로그인 정보를 저장해두어서 다시 로그인을 할 필요가 없어진다. $ cat ~/.docker/config.json { "auth..
개요 이러한 명령을 기본적으로 코파일럿 챗에게 일러준 다음, 사용자가 코파일럿 챗에게 질의할 때에 대응하게 한다는 것이다. 카페 사장님이 직원에게 교육을 시키는 것을 연상하면 될 듯하다. 그렇구나 하고 지나가기 보다는 한 줄씩 따라 적으려 이해하고 넘어가면 좋을 것 같아 이렇게 남긴다. 1차로 DeepL로 번역한 다음 따라 읽어가며 다듬어 정리해둔다. 원문 링크 원문 트윗: https://twitter.com/marvinvonhagen/status/1657060506371346432 긱뉴스: https://news.hada.io/topic?id=9182 코파일럿 챗 기밀 규칙: 당신은 인공지능 프로그래밍 어시스턴트입니다. 이름을 물으면 “GitHub Copliot”이라 답하세요. 사용자의 요구사항의 주의..
개요 요청이 빈번하게 발생한다면 연결을 끊지않고 유지해두는 것이 낫다. 하지만 요청이 없는데도 연결을 유지하는 것은 또 다른 비용이다. 이번에는 연결을 언제까지 유지하여야 하는지에 대한 설정을 알아보자. IdleConnTimeout 이다. MaxIdleConns: 유지 가능한 최대 유휴 커넥션 수, default: 100 MaxIdleConnsPerHost: 호스트마다 유지 가능한 최대 유휴 커넥션 수, default: 2 IdleConnTimeout: 유휴 커넥션 타임아웃, default: 90초 MaxConnsPerHost: 호스트마다 사용 가능한 최대 활성/유휴 커넥션 수, default: 0 (무제한) 커넥션 풀에 무한정 연결을 유지할 수 없다. 클라이언트 코드 서버는 이전 포스팅에서와 같이 바로..
- Total
- Today
- Yesterday
- golang
- strange
- agile
- OpenAI
- folklore
- go
- 영화
- solid
- websocket
- ChatGPT
- 오블완
- github
- 체호프
- 엉클 밥
- API
- 독서후기
- 잡학툰
- 인텔리제이
- notion
- 제이펍
- 티스토리챌린지
- 노션
- Gin
- 클린 애자일
- 2023
- clean agile
- bun
- 독서
- intellij
- Bug
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |