Profile img

악하

@akastoot@hackers.pub · 143 following · 107 followers

설계 능력 없고 코딩 AI보다 못하고 뭔가 이상한 걸 만들고 있고 (, http://referral.akaiaoon.dev) 매일 커피나 마시는 이제 직장이 없는 SE

GitHub
@IAOON
Referral Project
referral.akaiaoon.dev

The federated and networked oekaki board, Oeee Cafe, now support emoji reactions from the fediverse! You also get notifications from the fediverse as well.

A drawing of Zapdos, with reactions received from the fediverse shown below.List of notifications received from the fediverse.
9
1
2
1
2
3

액터/사용자만 나열하는 방식으로 러프하게 어드민 페이지 구현 완료. 배포하면 어떻게 될지 모르겠군. 개인적으로는 어드민 페이지는 아예 별개의 서비스로 분리가 되어있어야 한다고 보는 입장이라, 아예 별개의 패키지로 나눔 @cosmoslide/admin 같은 식으로

바이브코딩으로 뚝딱 만든 어드민 페이지
3
2

Hashnode 게시글을 불러오는 API를 기반으로 자기만의 정적 사이트 생성기 템플릿 굽는 분들이 계시길래, Hackers Pub도 이런게 되어야 하지 않나 싶었다. 실제로 graphql API를 까봤는데, 이론상으로 불가능하지는 않아서 도즈언 했는데 생각보다 잘 나온다..... Astro에다가 Hashnode API 연결한 예시를 베이스로 해서, hackerspub 버전으로 바꿔달라고 claude code한테 프롬프트 넣어줬더니 진짜 그냥 해줌.

HackersPub에서 제공하는 graphql API를 기반으로 정적 사이트를 구운 모습이다
8

Ok? I did a lot haha. Ive been focusing on this Sep and last days of Oct, as a consequence, the midterm and lots assignments await me?

5
0
3
2
1
0

Can't count how many times i shot finger-gun myself 🫶🫶🫶🫶🫶🫶🫶 Thaaanks

4
7

연휴이후 첫 출근, 한글이름 정렬이 안된다는 오류를 받아서, order by name 을 빼먹었을 리 없다고 생각하면서, 오류를 추적했는데,

  • 코드는 당연히 order by 가 적용되어 있었고,

결과적으로 문제는 PostgreSQL에서 한글 ORDER BY 정렬 문제 해결하기 COLLATE 이슈와 동일한 현상이었다.

(내부 docker postgre:17.4 와 AWS RDS PostgreSQL 17.2 모두) 기본값 en_US.UTF-8 이 적용되어 있었고, 한글 정렬순서가 올바르게 나오지 않았다.

SELECT datname, datcollate, datctype
FROM pg_database
WHERE datname = current_database();
|datname |datcollate |datctype   |
|--------|-----------|-----------|
|postgres|en_US.UTF-8|en_US.UTF-8|

ko_KR.UTF-8 로 새 로케일 지정해서 데이터베이스 새로 만들고, 덤프 백업 & 복원처리를 진행해서 해결은 완료했는데, 간단하게 COLLATE "C" 로도 한글정렬문제를 해결 할 수 있겠다 싶었는데, ChatGPT와 이것저것 논의해본 결과(?) 문자코드순 정렬이라서 사전식 정렬과는 다소 차이가 있어서 완전한 해결책은 아닌 듯 싶다. (비슷하게나마 해결은 되지만)

데이터베이스를 새롭게 만드는 게 어려우면, 특정 컬럼에만 COLLATE 를 지정해서 변경할 수 있다.

ALTER TABLE 테이블명
ALTER COLUMN 컬럼명 TYPE 데이터타입 COLLATE "C";

서비스가 아직 한국어와 영어만 지원해서, 별다른 고민없이 ko_KR.UTF-8로 처리하기는 했는데, 일본어나 중국어까지 지원하면 결국 Collation을 C 로 해야하는 것은 아닌가 싶은 생각도 들고, ko_KR.UTF-8에서 일본어,중국어도 다 잘 정렬되지 않을까 싶은 생각도 들고, 혹은 정렬이 중요한 포인트라면 언어별로 컬럼을 파야할 것인가 하는 고민은 있는데, 일단은(?) 나중에 다시 고민하기로 했다.

7
0
4

작업일지 251012

이번에는 Announce 액티비티 지원하는 작업을 진행 중인데, 해커스펍이 어떻게 구현되어 있는지 하나하나 뜯어보면서 작업 중이다. 고려해야 할 사항이 몇 가지 있는데... 당장은 쉬운 것 순서대로 작업할 것들을 정리하고 있다.

  • Phase 1 : 내가 팔로하고 있는 원격 계정에서 전달되는 Announce 액티비티를 인박스에서 수신하는 과정을 핸들링한다. (원격에서는 followers에 cc 걸어서 Announce 액티비티를 전송하기 때문)
  • Phase 2 : 나를 팔로하고 있는 로컬 인스턴스 계정의 글을 재공유하는 매커니즘을 구현한다.
  • Phase 3 : 나를 팔로하고 있는 원격 계정의 inbox에 Announce 액티비티를 전달하는 매커니즘을 구현한다.

지금은 Phase 1에 신경쓰고 있는 상황. 허나, Phase 1을 작업하고 있는 과정에서 병목이 생겼다. 다행히 해결했다만.

Follow 액티비티가 언제부턴가 전송이 안되고 있어서 왜 그런가 했는데, 프로덕션 배포하는 과정에서 federation 옵션을 바꾼게 화근이 되었음. 백엔드와 프론트엔드가 하나로 합쳐져있을때는 origin 옵션에 URL 하나만 걸어두면 그만인데, 백엔드/프론트엔드 나눠놓은 상황에서는 프론트전용 URL(webOrigin)/백엔드전용 도메인(handleHost) 각각 분리를 해야했음. 그와 관련된 패치를 어제 했었던 것으로 기억한다.

변경사항이 있었다는걸 까먹은 상태에서, 로컬환경에서 원격 인스턴스에 Follow 액티비티가 왜 Unauthorized 에러가 뜨면서 전송이 되지 않았나했는데... 역시 이런 맥락이 있었던 것. 즉, handleHost(백엔드쪽 도메인)은 Tailscale에서 생성한 URL로 들어가는 반면, webOrigin은 localhost로 설정이 되어 있었기 때문에 서명하는 과정에서 오류가 발생한 것임. NODE_ENV 환경변수가 development 인 경우에만 webOrigin/handleHost를 같은값을 쓰는 걸로 임시방편으로 처리함. 관련 코드

4

해커스펍을 쓰고 있으면서도 정작 연합우주랑 액티비티펍 프로토콜에 대해선 큰 그림조차 사실 감이 잘 안 왔는데(...) 워드프레스에서 작년에 연합우주랑 액티비티펍 관련해서 영상들을 몇 개 올려서 보고 있는데 한방에 팍 이해가 되어서 재밌게 보고 있다. 액티비티펍 공동창시자인 Evan Prodromou랑 찍은 것도 있는데 왜 액티비티펍을 만들었는지에 대한 동기도 설명해줘서 좋았음..

2

11월 중순~11월 말 사이에 해커스펍 오프라인 밋업 Hackers' Public 두번째 모임을 진행하려고 하는데 "눈물없이 듣기 어려운 프론트엔드의 심연" 특집입니다...... 11월 1일~11월 8일 사이에 모집 공고 올릴듯????? 아직은 오피셜한 공지는 아니지만 정보만 슬쩍 흘려봅니다,,,

9
1

오는 11() 8() 光云大學校(광운대학교)에서 開催(개최)되는 FOSS for All 컨퍼런스 2025에서 제가 〈야크 셰이빙: 새로운 오픈 소스의 原動力(원동력)〉이라는 主題(주제)基調演說(기조연설)을 하게 되었습니다!

올해 처음 열리는 FOSS for All 컨퍼런스는 “Free and Open Source Software for All”이라는 슬로건 아래, 모두를 ()한 오픈 소스 컨퍼런스를 目標(목표)로 하는 非營利(비영리) 오픈 소스 커뮤니티 컨퍼런스입니다.

파란色 背景의 FOSS for All 컨퍼런스 2025 發表者 카드. 右側 아래에는 發表者 洪民憙의 寫眞이 있고, 中央의 흰色 말風船 안에는 「Keynote」라는 文句와 함께 發表 題目 〈야크 셰이빙: 새로운 오픈 소스의 原動力〉이 쓰여 있다.
15
0
0

테슬라 팬보이들이 좀 밉상이긴 하지만, 그래도 기술에 대한 이해도가 높은 편일거라 생각했는데. 얼마전에 어디 게시글에서 FSD에 카메라 외에 라이다 등의 추가 센서를 쓰면, 여러 센서 입력 중에 뭘 신뢰해야하는지 결정해야하는 문제가 추가로 생겨서 안좋다... 라는 얘기를 보았다(그리고 다른 테슬라 팬보이들이 동조함).

1
3
0
0

거의 10년 전부터 "2025년까지 살아야 하는 이유" 같은 제목으로 곳곳에서 이번 연휴를 예고해왔는데 나는 아무것도 준비하지 않았다. 그렇게 맥없이 연휴가 끝나간다...

1

근데 왼쪽 같은 생각 들 때는 걍 무지성 딸깍이 누르는 것도 의외로 도움이 되긴 하는 듯...
당장 결과물 안 나와서 우울감에 빠져있을 때는 AI든 뭐든 써서 뭐라도 만들어내서 자기효능감 떡락 악순환에서 탈출하는 게 큰 도움이 됨

5
6
0
1

@biuwhdle.bsky.social 님의 에 참여해서 카드게임을 만들었습니다. 유니티는 이번이 처음이었는데 다행히 72시간에서 120시간으로 연장돼서 그럭저럭 적응할 수 있었어요 다행입니다.....🥹 시간이 없어서 구현하지 못한 부분이 많습니다. 직접 해보고 싶으시다면 → eatch.dev/archive/Cons... (규칙이 복잡합니다. 타래를 꼭 읽어주세요.) 🧵

미니 게임잼 파티 참가작 Constellatio의 플레이 화면
1

개발일지 251008

k8s로 배포할까 했는데, 다들 뜯어말리기도 했고 claude code로 바이브코딩한거 부채청산할 자신도 없어서 그냥 docker compose에다가 리버스프록시는 caddy로 물려서 올리는 중...... 근데, 라우터 설정하는 부분이 병목인데(집에서 세팅해야함) 당장은 못하는 관계로 다른 기능을 붙이는데 집중하고자 한다.

어드민 페이지랑 메일링 서비스 연동 게섯거라...

5
2
0
0

[중재] 로컬 탐라에 암호화폐 등의
수상한 해시태그를 늘어놓으면서
텔레그램 링크로 유도하는 계정이 있어
바로 정지를 시켰습니다.

여러분도 혹시 로컬이나 연합 탐라에
이상한 계정을 발견하시면
바로 신고 버튼을 눌러주시길 바랍니다.

혹시 낯선 계정이 텔레그램 링크로 유도한다면
절대 링크를 클릭하지 마시길 바랍니다.

머스타드는 항상 여러분의 안전을 기원합니다.

감사합니다.

0
0
1

개인 데이터 저장의 시대가 왔다
------------------------------
- 웹의 창시자 *팀 버너스리* 가 제안한 *사용자 중심 데이터 저장* 개념이 현실화되고 있음
- 그의 초기 구상인 *Solid 프로토콜* 은 개인이 데이터를 직접 소유하고, 애플리케이션은 사용자의 허가를 받아 접근하도록 하는 구조를 목표로 함
- 최근에는 *Bluesky의 AT 프로토콜* 이 같은 방향으로 발전하며, …
------------------------------
https://news.hada.io/topic?id=23469&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0

Framework 노트북과 디스크로 10TB S3 직접 호스팅하기
------------------------------
- *Framework 노트북과 JBOD를 활용해 자체 S3 스토리지를 구축* 하여 10TB 용량을 저렴하게 운영하고 있으며, 4개월간 관리 없이도 안정적으로 작동
- 화면이 없는 중고 Framework 노트북에 *ZFS와 garage S3를 설치* 하여 홈 서버로 활용, AppGoblin의 SDK 추적 프로젝트를 위한 대용량 저장소로 사용 중
- 4개월…
------------------------------
https://news.hada.io/topic?id=23484&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
3
1
2

대충 일단 게시물을 가져오는데는 성공했으니 나머지는 자고 일어나서 마저 작업하는걸로...

대충 작업된 것들

  • Next.js에서 Tailwind v4 + TanStack Start 바탕으로 프로젝트 옮기기
  • 스타일시트, 컴포넌트, 유틸리티 함수 등등 옮기기

성공적인 마이그레이션까지 남은 것들

  • 검색 엔진을 위한 meta 태그 처리
  • ContentLayer가 아니라 Content Collections를 써서 mdx 파일의 렌더링
  • Server Component가 아닌 형태로 SSR을 지원하는 네이버 스마트에디터 게시물 컴포넌트
  • sitemap.xml 구현
  • Netlify (혹은 CloudFlare) 로 배포하기

그 뒤에 할 것들

  • 사이트 이래저래 개편하기
  • 태그 페이지 추가로 태그를 통한 네이버 카페 게시물 가져오기
  • 같은 코드 베이스로 내 블로그 웹 만들기
작업 중인 웹 페이지, API를 통해 가져온 네이버 카페의 게시물을 렌더링한 내용이다.
1
10

아아… 오랜만이군. 이 서늘하고도 묵직한 감각. 「무중단(언인터럽터블)」으로 돌아갈 때다

UPS 배터리 나가리 된 뒤로 그냥 서지 프로텍터로만 쓰고 있었는데, 새 배터리를 넣어 비상시 하드 디스크 드라이브의 안정(과 내 마음의 안정)을 찾기로 한다.

컴터맨 님 덕분에 잘 찾아서 집어넣었다

(한편 APC BE550 은 그다지 추천하지는 않는다. 가정용 UPS 로는 더 좋은 물건이 있다고 들었다)

로케트 ES 7-12 이차전지무중단 급전기 (UPS) APC BE550 후면 전지함을 개방한 모습APC BE550 에 로케트 ES 7-12 넣음마무리된 APC BE550

분산 만세! 분권 만세! 연합우주 만세! 집 서버 만세!

집집마다 서버를! 온 우주에 휘날려라 셀프호스티드의 깃발

There is no cloud; It's just someone else's computer. (클라우드라는 것은 없다. 그것은 남의 컴퓨터일 뿐이다.)
8

아아… 오랜만이군. 이 서늘하고도 묵직한 감각. 「무중단(언인터럽터블)」으로 돌아갈 때다

UPS 배터리 나가리 된 뒤로 그냥 서지 프로텍터로만 쓰고 있었는데, 새 배터리를 넣어 비상시 하드 디스크 드라이브의 안정(과 내 마음의 안정)을 찾기로 한다.

컴터맨 님 덕분에 잘 찾아서 집어넣었다

(한편 APC BE550 은 그다지 추천하지는 않는다. 가정용 UPS 로는 더 좋은 물건이 있다고 들었다)

로케트 ES 7-12 이차전지무중단 급전기 (UPS) APC BE550 후면 전지함을 개방한 모습APC BE550 에 로케트 ES 7-12 넣음마무리된 APC BE550
6
0

작업 내역

  • https://github.com/cosmoslide/cosmoslide/pull/45 PDF 업로드 기능이라도 구축은 해야할 것 같아서 진행함. 보통은 express라던가 등등 JS 기반의 웹서버 프레임워크에서는 파일시스템/S3/GCS 등의 스토리지에 파일을 업로드할때, 스토리지에 접근하는 과정 자체를 추상화하는 flydrive라는걸 쓰는데, flydrive는 NestJS에서 사용이 되지 않는 ESM-only 모듈이어서, 어떻게 해야 하나 하다가 Claude Code한테 AWS S3에 접근하는 것만 적당히 추상화해서 야크쉐이빙 해달라고 했더니 그냥 순식간에 되었다. 문서를 뜯어보고 구현해야하는 수고는 줄었고, aws sdk를 어떻게 활용하는지는 가성비있게 학습할 수 있는 기회가 되었다.

  • https://github.com/cosmoslide/cosmoslide/pull/46 프로필 화면에 Presentation 탭을 넣었고, 프레젠테이션 파일을 업로드하면 Create(Note) 액티비티가 발생되도록 처리했다. react-pdf 이용해서 커스텀 PDF 뷰어 적당히 끼워넣었다.

PDF 업로드 기능 가설 검증프레젠테이션을 위한 커스텀 PDF 뷰어프로필 화면에 Presentation 탭 넣었다.
4

연합우주 서버 약간 빙글빙글돌아가는서버장의하루 같은 느낌이라 재밌음

트위터가 터짐: 양복입고 나와서 죄송합니다. 하고 머리 숙일 것 같음
연합우주인스가 터짐: 츄리닝 입고 졸린 눈 비비면서 나와서 어어~ 왜이러냐~ 하고 손바닥으로 때려서 고칠 것 같음

5
0
2