2024년 37주차 (9월 2주차)
본가 근처 스타벅스에서 주간정리 쓰고 있다. 부대에서 추석 특박을 보내주어 일주일 만에 또 휴가를 나왔다.
yaksok.ts 업데이트
첫 번째 업데이트: 정적인 부분이 없는 함수 (이슈 19)
실행 안됨: 똥 · Issue #19 · rycont/yaksok.ts (github.com)
yaksok.ts에서 다음의 코드가 제대로 실행되지 않는 문제가 있었다:
약속 놀기
결과: "똥"
놀기 보여주기
약속언어에서는 함수의 헤더를 Keyword와 String으로 작성한다.
약속 "생일이" month "월" date "일일 때 오늘의 운세"
# Your code...
생일이 7월 3일일 때 오늘의 운세 보여주기
위와 같이 String으로 작성된 부분은 고정되고, Keyword로 작성한 부분은 Argument가 됩니다. 그렇기에 처음 제시한 "변" 코드의 경우 올바른 코드인 것 처럼 보이지만, 사실은 함수 이름이 없이 Argument만 존재하는 경우와 동일하다. 위와 같이 코드에 정적인 부분이 없는 경우에 파싱 오류를 내도록 업데이트 하였다.
두 번째 업데이트: 변수를 올바르게 파싱하기 (이슈 20)
실행 안됨: 변수 이름과 유사한 함수 이름 · Issue #20 · rycont/yaksok.ts (github.com)
약속 "키" 키 "몸무게" 몸무게 "의 비만도"
결과: 몸무게 / (키 / 100 * 키 / 100)
비만도: 키 177 몸무게 68의 비만도
비만도 보여주기
위와 같은 경우 4번째 줄의 마지막 단어 "비만도"가 Variable로 파싱된다. 왜냐하면 비만도라는 변수가 선언되어 있기 때문이다. 그렇기에 함수가 올바르게 파싱되지 않는데, 키워드 - 변수 변환에 앞서 함수를 해석하도록 우선순위를 변경하였다.
나이스 글자수 카운터에서 맞춤법 검사기 지원 제거
9월 30일 이후 맞춤법 검사 기능이 제거됩니다 · Issue #27 · hjh010501/neis-counter (github.com)
나라인포테크 & 부산대학교에서 제공하는 한국어 맞춤법 검사 서비스에 다음과 같은 공지가 게시되었다:
<알리는 글>
한국어 맞춤법/문법 검사기 홈페이지 서버를 새로 구축하였습니다. 기존에 한국어 맞춤법/문법 검사기 주소를 2개로 관리했으나, 새 서버에서는 충분히 전체 트래픽을 감당할 수 있기 때문에 일원화하고자 합니다. 따라서 현재 주소(speller.cs.pusan.ac.kr)로는 24년 9월 30일까지만 접속하실 수 있으니, 앞으로는 아래의 주소를 이용해 주시길 바랍니다.
새 주소: nara-speller.co.kr
더욱 안정적인 서비스 유지 관리를 위한 조치이니 양해를 부탁드립니다. 감사합니다.
새 도메인으로 서비스가 이동하면서 Cloudflare가 적용되었는데, 동시에 봇 크롤링이 차단되었다. 나이스 글자수 카운터 서비스에 맞춤법 검사기 기능을 제공하기 위해 부산대학교 맞춤법 검사기 사이트를 크롤링하고 있었는데, 이러한 형태로는 서비스 제공이 불가능해졌다. 크롤링 차단과 동시에 서비스를 제거할 수 있도록 PR을 만들어서 올려두었다.
나이스 글자수 카운터는 내가 개발한 서비스는 아니다. 고등학교 선배가 개발하던 서비스였고 나는 열렬한 이용자였다. 문득 맞춤법 검사 기능이 추가되었으면 해서, PR을 만들고 냅다 올렸다. 그 이후 지금까지 몇년간 잘 운영되어 왔다.
Cloudflare Workers 대시보드에 남아있는 Metric을 살펴보았다. 비수기에는 다음과 같이 하루에 500건 ~ 1500건을 처리했다.
성수기에는 하루에 19,000건을 처리했다. 하루를 24시간으로 단순히 역산 해보면 5초에 하나의 요청을 처리한 수치이다.
내가 크게 한 일은 없지만.. 이렇게 많은 사람들이 이용해주던 서비스를 이젠 끝내야 한다는게 아쉽다.
o1 by OpenAI
Learning to Reason with LLMs | OpenAI
Introducing OpenAI o1 | OpenAI
OpenAI가 새 AI 모델인 o1을 공개했다. 이전까지 Q*와 Strawberry라고 불린 방법론을 적용한 모델이다. Chain-of-thought 개념을 사전학습에서부터 적용했다고 알려져 있다. 그렇기에 답변을 생성하기 전에 항상 스스로 "생각"하는 단계를 갖는다. "생각"의 단계가 고품질의 근거 데이터셋으로 훈련되었기에, 프롬프트 단계에서 CoT를 활용하는 다른 모델에 비해 논리적일 듯 하다.
Just for Fun. No, Really.
There are hackers who live and breathe code, and the idea that every line of code must prove its monetary value, that every hour spent toiling away at the keyboard must be accounted for, is a damn shame. The process itself, flaws and all, has value—not just the final product.
코드에 살고 숨쉬는 해커가 있습니다. 그들에게 코드 한 줄 한 줄의 경제적 가치를 증명하고 키보드 앞에서 보내는 모든 시간을 설명하도록 하는건 안타까운 일입니다. 그저 제품 뿐만이 아니라, 실수를 포함한 모든 과정이 가치 있습니다.
Just for Fun. No, Really. (justforfunnoreally.dev)
최근 참 마음에 드는 글을 읽었다. 나는 순수히 엔지니어링이 좋을 뿐이다. 굳이 성장해야 할 필요도, 다른 사람을 위해 코드를 짤 필요도 없다. 내가 좋아하는 일을 해야지.
견주기 업데이트
#견주기 가 오류를 내는 문제가 있었는데 드디어 문제를 파악했다.
- Cloudflare Pages Function은 Workers에서 돌아간다
- Workers는 네트워크 회선 상태에 따라 전세계 다양한 리전에서 실행된다
- Workers 리전에는 홍콩이 포함되어있다
- Claude API는 홍콩에서 서비스 되지 않는다-> API 오류 발생!!
X에서 정한 님 : "#견주기 가 오류를 내는 문제가 있었는데 드디어 문제를 파악했다..." / X
특정 디바이스와 네트워크 상황에서만 Worker 호출에서 오류가 나는 문제가 있었다. 네트워크 환경에 따라 문제가 발생했기에 Worker 문제라고 생각을 했고, 연결된 리전을 확인해보니 트래픽이 홍콩(HKG) 리전으로 라우팅 될 때만 실패했다. Anthropic 문서를 보니 홍콩은 서비스 구역이 아니였다 :(
현재는 Deno Deploy로 서버를 옮겼다. 나는 코드를 하나도 수정하지 않았고, GitHub Copilot이 하도록 시켰다. 이후로는 매우 잘 돌아간다, 성공적!
API 오류 외에도 초성 변환에도 문제가 있어서 수정하였다. 초성을 변환하는 함수가 완성형이 아닌 조합형 초성을 반환해서, "ㅅㅅㄹ"같은 경우가 "ㅆㄹ"으로 보이는 문제가 있었다. 이를 수정하였다.
포타영역 업데이트
며칠 전 트위터 DM으로 포타영역의 댓글 보기 기능을 되살려달라는 문의가 왔다. 이런 연락을 받을 때 마다 항상 설렌다.. 내가 만들고 싶어서 만든 작품을 다른 사람들마저 좋아하고 있다는 사실을 깨달을 때이다. 열심히 업데이트를 올려서 이용자분께 빠르게 알려드렸다.
연결된 페이지 (Inlinks)
연결된 페이지가 없습니다.