Profile img

규영

@0xq0h3@hackers.pub · 48 following · 21 followers

iOS Developer

Vim에서 Quickfix List라는 걸 처음 알게 되었다.

기존 코딩 흐름은

G 코딩 코딩 Vim을 닫는다. Vim을 닫는다. 코딩->Vim을 닫는다. cabal build cabal build Vim을 닫는다.->cabal build 에러 확인 에러 확인 cabal build->에러 확인 Vim을 연다. Vim을 연다. 에러 확인->Vim을 연다. 에러가 발생한 행(row)으로 간다. 에러가 발생한 행(row)으로 간다. Vim을 연다.->에러가 발생한 행(row)으로 간다. 에러가 발생한 행(row)으로 간다.->코딩

이랬는데 Quickfix List를 이용하면

G 코딩 코딩 :make :make 코딩->:make :copen :copen :make->:copen Enter를 눌러서 에러가 발생한 행으로 이동 Enter를 눌러서 에러가 발생한 행으로 이동 :copen->Enter를 눌러서 에러가 발생한 행으로 이동 Enter를 눌러서 에러가 발생한 행으로 이동->코딩

이렇게 Vim을 나가지 않고도 빌드 결과를 확인하고 에러가 발생하면 그곳으로 바로 점프할 수 있다!

.vimrc에 이렇게만 적으면 된다.

set makeprg=cabal\ build
6
9
2

사소하지만 매우 유용할 수 있는 팁 하나를 공유드리려 합니다. Microsoft Learn의 “PDF 다운로드하기” 기능을 사용해보셨다면 한 가지 흥미로운 기능을 볼 수 있는데, 해당 링크를 클릭하면 현재 보고 있는 페이지 뿐 아니라 하위 카테고리의 모든 페이지까지 연결된 단일 PDF 파일을 내려받을 수 있습니다.

이렇게 다운로드한 파일을 ChatGPT의 GPTs, Google NotebookLM 혹은 Gemini Gem 등 “나만의 노코드 에이전트류” 서비스들의 지식에 넣으면 곧바로 사용 가능한 지식 베이스가 되며, MCP 서버가 지원되지 않는 환경에서도 충분히 Microsoft Learn 기반의 특정 주제용 AI를 쉽게 만들어낼 수 있습니다.

https://forum.dotnetdev.kr/t/microsoft-learn-pdf/13995

0
1
0
0
2
3

When you email issues to Obsidian Entertainment (the video game company) their AI support hallucinates and tells you to email Obsidian (the note-taking company) instead.

The perils of trusting an LLM with your customer support.

Thanks so much for reaching out and for the kind words about the game, we're thrilled you're loving Outer Worlds 2! It's great to hear you're even trying to contribute feedback on the issue tracker.
You've run right into a common security feature where disabling 2FA also requires a current code to prove you're the account owner making the change.
Since your issue is with the Obsidian account system (for the issue tracker) and involves account security, this is something our specialized account security team needs to handle directly. They're the only ones who can verify your ownership and safely disable the authenticator app link without a current code.

Please email their dedicated support channel directly right now at support@obsidian.md.

- In your email, explain exactly what you told me: you lost access to your authenticator app, you used a backup code to log in, but you can't disable 2FA because it still asks for an authenticator code.
- Mention that you can provide any proof of account ownership they need.

The support team at that address is equipped to work through the necessary identity verification steps to get that 2FA disabled for you.
0
0
0

규영 shared the below article:

참 쉽죠?

박준규 @curry@hackers.pub

하스켈(Haskell) 프로젝트를 처음 시작하는 사람들을 위해, `cabal`을 이용한 간단한 실행 파일 생성 과정을 소개합니다. 이 글은 `ghc`와 `cabal`이 `ghcup`을 통해 이미 설치되었다는 전제하에, 프로젝트 디렉터리 생성부터 기본적인 파일 구조 초기화, 그리고 빌드 및 실행까지의 단계를 최소한의 노력으로 빠르게 따라 할 수 있도록 안내합니다. `cabal init` 명령어를 사용하여 프로젝트를 초기화하고, 생성된 `app/Main.hs` 파일을 통해 "Hello, Haskell!"을 출력하는 예제를 통해 하스켈 개발의 첫걸음을 쉽게 내딛을 수 있도록 돕습니다. 이 글은 복잡한 설정 없이 하스켈 프로젝트를 시작하고 실행하는 기본적인 방법을 제시하며, 독자들이 하스켈의 세계에 더 쉽게 접근할 수 있도록 돕는 것을 목표로 합니다.

Read more →
10
1
10
0
2
0
1
4

이런 생각이 받아들여지는 데에는 시간이 많이 걸릴 거라고 생각했는데… AWS 먹통 사태에 대한 사람들의 반응이 생각보다 뜨겁네요. 생각보다 될 것 같기도 하네요.

그러므로 다 같이 외쳐

  • 클라우드는 없다! 남의 컴퓨터 거부하자!
  • 분산을 집중으로 되돌리는 역사의 퇴행 AWS 물러가라!
  • 서버는 기본권이다! 집집마다 서버를! 모든 어린이에게 서버를!
  • 내 컴퓨터 없이 내 보안 없다!
  • 내 컴퓨터 없이 내 프라이버시 없다!
  • 내 컴퓨터 없이 내 자유 없다!
  • 1인 1서버는 인권이다!
  • 1인 1서버가 민주주의 주춧돌이다!
  • POWER TO THE PEOPLE!!! REAL FREEDOM FOR ALL!!!
5

규영 shared the below article:

나만의 연합우주 마이크로블로그 만들기

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub

이 튜토리얼은 Fedify를 사용하여 ActivityPub 프로토콜을 구현하는 마이크로블로그를 만드는 과정을 안내합니다. Fedify는 연합 서버 앱 개발의 복잡성을 줄이고, 개발자가 비즈니스 로직에 집중할 수 있도록 돕는 TypeScript 라이브러리입니다. 튜토리얼에서는 Node.js, npm, Hono 등의 개발 환경을 설정하고, SQLite 데이터베이스를 구축하여 계정 생성, 프로필 페이지, 액터 구현, 암호 키 관리, 팔로우 기능, 게시물 작성 및 타임라인 구현 등 마이크로블로그의 핵심 기능을 단계별로 구현합니다. 특히 ActivityPub.Academy 서버를 활용하여 실제 연합우주 환경에서의 연동을 테스트하고, Mastodon과의 호환성을 확인합니다. 마지막으로, 보안 및 기능 개선을 위한 추가 과제를 제시하며, 독자가 프로젝트를 확장할 수 있도록 안내합니다. 이 튜토리얼을 통해 독자는 Fedify를 활용하여 ActivityPub 기반의 분산 소셜 네트워크 서비스를 구축하는 기본적인 이해를 얻을 수 있습니다.

Read more →
13
0
0
1

서버에서 빌드할때 CPU 풀 로드하고 몇분뒤에 응답이 없다가 한참뒤에 OOM으로 죽어버리는 문제가 있음
병렬로 링킹하는 작업 수 제한해서 힘겹게 빌드중..

0

서버에서 빌드할때 CPU 풀 로드하고 몇분뒤에 응답이 없다가 한참뒤에 OOM으로 죽어버리는 문제가 있음
병렬로 링킹하는 작업 수 제한해서 힘겹게 빌드중..

0

얼마 전 웹서핑을 하다가 우연찮게 현재 앤트로픽에서 엔지니어이자 연구원으로 근무하고 있는 Nelson Elhage가 쓴 Computers can be understood(=컴퓨터는 이해가능하다)라는 글을 봤습니다. 다 읽고나니 이 분 마인드가 제가 평소에 CS 공부할 때랑 너무 비슷해서 공감이 가고 아직 CS 뉴비인 저한텐 굉장히 도움이 되는 한편, 이 마인드가 어떠한 단점을 또한 가져다주는지 잘 얘기하는 것 같아 (사실 읽으면서 뜬끔하는 게 많았음) 저만 알기엔 아까워서 이렇게 번역해서 올려봅니다.

번역된 글을 보려면 여기로 이동해주세용.

혹시나 오역 및 CS 용어에 문제가 있다면 언제든 알려주시면 감사하겠습니다.

8

핸드폰 보호필름을 몇달사이 3번이나 깨뜨려서 새로살때마다 아까웠는데 강화할때 파괴방지부적같은거라고 생각하니까 전혀 아깝지않게됨
액정 깨질거 대신 깨져준거라고 생각하니 마음이 편하다

1

알고리즘 문제 열심히 풀게 되는 방법: 깃헙 대문에 BOJ, Leetcode, CodeForce 뱃지 박제해놓고 내 티어를 모두에게 알린다.
아무도 관심없지만 괜히 신경쓰여서 한문제라도 더 풀게됨

0
1
1
0

연휴이후 첫 출근, 한글이름 정렬이 안된다는 오류를 받아서, 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

내 마음속 1등 투표하고 포인트 받아요

시작하며

"두근두근 1등 찍기!"

마치 최애 아이돌 순위 투표 같지만, 사실은 제가 매일 참여하는 토스 앱의 한 혜택 이름입니다. 저는 토스 앱에서 포인트를 줍줍하는, 소위 ‘앱테크’에 꽤 진심인 편인데요. 여느 때처럼 ‘1등 찍기’에 참여하다 문득 이런 생각이 스쳤습니다.

“고기가 선택지에 있으면 무조건 1등이던데. 정말 그럴까? 그래도 한 달은 지켜봐야 유의미한 데이터가 나오지 않을까?”

이 단순한 호기심에서 시작된 작은 실험은 결국 32일간의 관찰과 기록으로 이어졌습니다. 9월 8일부터 10월 9일까지, 저는 매일 자정과 정오에 열리는 ‘1등 찍기’에 참여하며 스크린샷을 남겼습니다.

‘두근두근 1등 찍기’는 주어진 주제에 맞춰 여러 상품 중 하나를 선택만 해도 소소한 포인트를, 내가 고른 상품이 1등이 되면 추가 포인트를 얻는 방식입니다. (31일은 하루 두 번 모두, 하루는 깜빡하고 한 번만 참여했습니다.)


🍖 고기는 언제나 옳다

결론부터 말하자면, 고기는 필승 카드였습니다. 제가 참여한 32일 중 돼지고기나 소고기가 등장한 7일 동안, 단 한 번의 예외도 없이 1등을 차지했습니다.

닭고기 역시 의외의 강자였습니다. 총 3번 1등에 올랐는데, 그중 한 번은 특히 인상적인 대결이 펼쳐졌습니다.

“이번 주말 할인 쿠폰 받고 먹고 싶은 메뉴는?”
(BHC vs BBQ)

스크린샷 2025-10-12 오후 11 15 32

저는 당연히 BBQ일 거라 생각하며 첫 번째 투표를 했지만, 두 번째 투표에서는 혹시나 하는 마음에 BHC를 선택했습니다.
결과는 BHC의 승리.
스크린샷 2025-10-12 오후 11 16 30

이 대결을 통해 요즘 치킨의 대세는 BHC라는 소소한 깨달음도 얻었습니다.


👑 예상 가능한 승부들

데이터가 쌓이자 몇 가지 흥미로운 패턴이 더 보였습니다.

기출 변형도 이겨버린 ‘황금 송편’

추석 연휴에는 유독 송편 관련 문제가 많았습니다. 총 4번 등장했는데, 놀랍게도 모두 ‘황금 송편’이 1등을 차지했습니다.

가장 흥미로웠던 것은 일종의 ‘기출 변형’ 문제였습니다.

“추석에 가장 먹기 싫은 송편은?”

처음에는 질문을 곧이곧대로 해석하고 ‘콩송편’을 골랐습니다.
하지만 두 번째 기회에서 문득 이런 생각이 들었습니다.
‘사람들이 질문은 안 읽고 무지성으로 황금 송편을 누르지 않을까?’

결과는 놀랍게도 제 예상과 정확히 일치했습니다.
사람들은 문제를 읽지 않았고(아마도...), ‘먹기 싫은 송편’ 1등은 황금 송편이었습니다.

스크린샷 2025-10-12 오후 11 20 24

가전제품의 왕, 워시타워

가전제품 문제는 총 5번 등장했는데, 승자는 거의 정해져 있었습니다.
워시타워가 선택지에 있는 날은 어김없이 1등을 차지했습니다.

집에 이미 워시타워가 있어 개인적으로는 스타일러를 원했지만,
1등 예측을 위해 워시타워를 선택했고 결과는 역시나였습니다.
워시타워가 후보에 없던 날에야 비로소 냉장고가 1등을 할 수 있었습니다.


📈 데이터로 증명된 1등의 법칙

총 32일간의 기록 중 제가 1등을 맞춘 날은 29일(성공률 90.6%) 이었습니다.
손수 집계한 전체 데이터는 다음과 같습니다.

항목 횟수 비율(%)
고기(돼지고기·소고기) 7 21.9%
가전제품(워시타워·냉장고 등) 6 18.8%
황금 송편 4 12.5%
닭고기 3 9.4%
프로모션 당첨금 3 9.4%
아이폰 17 프로 할인 쿠폰 2 6.3%
생선 1 3.1%
현금 바우처 1 3.1%
외식비 지원금 1 3.1%
삼성 1 3.1%
황금 동전 1 3.1%
백화점 매장 알바 1 3.1%
신라면 1 3.1%
총합 32 100%

결론적으로 사람들의 선택은 세 가지 키워드로 요약되었습니다.
‘고기, 가장 선호도 높은 고가품(aka. 워시타워), 그리고 현금성 혜택.’
이 세 가지 요소가 포함된 선택지는 다른 후보들을 압도하는 경향이 뚜렷했습니다.


❌ 감이 빗나간 3일

물론 제 감이 항상 맞았던 것은 아닙니다.
32일 중 3일은 예측에 실패했습니다.

아이폰 17 프로 사전예약 혜택?

→ ‘중고 보상’을 골랐지만, 정답은 ‘할인 쿠폰’이었습니다.
아무리 미래 가치가 높아도, 당장 눈앞의 ‘할인’이라는 현실적인 혜택을 이길 수는 없었습니다.

스크린샷 2025-10-12 오후 11 32 48

한가위를 풍성하게 보낼 알바는?

→ 정답은 ‘백화점 매장 알바’였습니다.
‘한가위’라는 키워드에 꽂혀 과일 포장 알바를 골랐지만,
아마 더 높은 시급과 쾌적한 환경이 더 매력적인 선택지였나 봅니다.

스크린샷 2025-10-12 오후 11 33 46

추석에 가장 인기 있는 송편은?

→ 이때만 해도 ‘황금 송편’의 위력을 몰랐습니다.
당연히 가장 맛있어 보이는 ‘꿀 송편’을 골랐지만,
사람들의 선택은 맛보다 는 ‘황금’의 가치였습니다.

스크린샷 2025-10-12 오후 11 34 50

마무리하며

사실 이 데이터를 집계하기 위해 개발자답지 않은 원시적인 방법,
바로 ‘손’으로 한 땀 한 땀 세는 길을 택했습니다.
(ChatGPT에 노션, 구글드라이브 MCP 연동부터 파이썬 스크립트, Colab까지 모두 권한 문제로 실패한 건 비밀입니다. ㅋ)

그래도 꽤 즐거운 관찰의 시간이었습니다.
결국 단순한 앱테크로 시작한 이 작은 실험은,
32일간의 기록을 통해 사람들의 보편적인 욕망과
선택의 패턴을 엿볼 수 있는 흥미로운 실험이 되었습니다.

0

TIL:

Zed로 Xcode Swift 프로젝트 셋팅하기

xcode-build-server와 Swift의 sourcekit-lsp 덕분에 느려터진 Xcode 대신 Zed나 다른 LSP를 이용할 수 있는 에디터에서 Xcode Swift 프로젝트를 셋팅해서 쓸 수 있다. [참고한 문서]

iOS 26의 Slider step 이슈

iOS 26는 버그가 많은데, 26.0.1이 되어서도 SwiftUI Slider에서 step값을 지정했을 때 Slider가 step값을 무시하는 버그가 있다. [Workaround]가 있는데 이렇게 땜빵식으로 해결해야한다는게 참...

LSP 설정을 통해 Swift 프로젝트에서 자동 완성을 띄울 수 있다.
6

뾰족하게 Specialized되면서 평평해지는 다른 부분을 느낄 때마다 총기(그나마 얼마 있지도 않았던)를 잃어가는 기분
스스로 멍청해진걸 자각하는 순간만큼 찜찜한 게 또 없다.

0

뾰족하게 Specialized되면서 평평해지는 다른 부분을 느낄 때마다 총기(그나마 얼마 있지도 않았던)를 잃어가는 기분
스스로 멍청해진걸 자각하는 순간만큼 찜찜한 게 또 없다.

1
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
1
0

이렇게 비싼걸 먹는다, 좋은 호텔에 간다 같은 소비주의적 경쟁보다는 내재적 가치와 자기의 해석을 말하는 대화를 좋아함.
"사유와 감각"이라는 가치가 그 어느때보다도 소중하다. 얼마나 감각하고 어떤걸 사유하는지 알게될때 가장 즐겁게 느낌

0
0
0
0

ChatGPT가 GeoGuessing 잘한대서 영화속 장소 어딘지 물어봤는데 대답을 잘 못함. Florence, Italy라는 힌트를 줘도 못함.
Gemini 2.5Pro에게 물어보니까 흐릿한 표지판 글자 인식해서 정확히 맞춤!
"Costa S. Giorgio"

Costa S. Giorgio, Florence, Italygoogle maps street photo
1

죽은시인의 사회 이제야 봤다. 마지막 장면의 강한 임팩트가 좋았다. 비슷한 환경을 학생때 경험해서 더 이입해서 봄.
불확실성 속에서 순응을 바라는 사회와 에너지 가득한 젊음에 대한 얘기로 보였다.

배우 중에 어디서 본 것 같은 얼굴이 있어서 찾아봤더니...
에단호크는 19살때부터 눈빛이 달랐군
죽은시인의 사회(1989), Before Sunrise(1995), Before Sunset(2004), Before Midnight(2013)

죽은시인의 사회(1989), Before Sunrise(1995), Before Sunset(2004), Before Midnight(2013)

영화 제목은 "죽은" 시인의 사회라는 의미, "죽은 시인"의 사회라는 두가지 의미인 것 같다. "죽은 시인"은 규율에 순응하는 사회에서 자기 안의 시인을 죽인채 사는 사람, 자기만의 시가 없는 사람이라고 느꼈음.
키팅이 죽음과 '카르페디엠'을 말하는 장면, 옛날 사진을 보고 거의 우는 것 같은 표정을 짓는 장면이 학교에 교사로 돌아온 이유를 짐작하게 한다. 전통적인 수업대신 시를 느끼고 책을 찢으라는 수업은 과거 자신의 경험을 학생들이 겪지 않게 하기 위함이었을 것이다. 아마도 친구를 잃은 부채감과 자기가 죽인 내면의 시인에 대한 안타까움이 키팅의 수업에서 표현된다고 느꼈음.
1989년 영화인데 여전히 곱씹을수록 새로운게 느껴지는 재밌는 영화.

2
2