본문으로 건너뛰기

2024년 11월 일지

202411 일지

월간 회고

새 프로젝트 시작을 위해 준비하느라 바빴던 한 달. 18년 만에 자바 공부를 했지만 결국 자바를 쓸 일은 없게 되었다. 곧 다시 다 까먹을 것 같다. Python, Next.js 15, React 19, Tailwind를 쓸 것 같다. 프로젝트 관련하여 수산업국제무역도 조금 공부했다.

일지

2024-11-30

수산업 계속 공부 중. 수험서 두 권을 훑어 읽었다.

2024-11-27

React Server Component에 대해 좀 더 알아보려고 RFC #0188 - React Server ComponentTwo ways to the two Reacts | bobae kang를 읽었다.

눈이 엄청 많이 왔다. 기상 관측 이래 11월 기준 최고 기록이라고.

2024-11-21

Bridget Jones’s diary 다 읽었다 :) 다음 책은 From the mixed-up files of Mrs. Basil E. Frankweiler

2024-11-16

Perplexity AI환각 사례를 직접 겪었다. “한국에서 가장 많이 수입하는 수산물”을 질의하자 엉뚱하게 일본 정보를 출처로 가져와서 환각을 일으켰다. “2022년 기준 수산가공품 중 새우의 수입 규모가 약 744700만 달러로, 전체 수산물 수입의 50.5%를 차지하며 1위를 기록했습니다”라고 답하며 출처를 제시했지만 해당 출처는 한국이 아닌 일본 사례였다.

Perplexity AI는 출처를 보여주기 때문에 더 신뢰감(trustful)을 주지만 실제로 신뢰할 수 있는(trustworthy) 시스템은 아니다. LLM만으로는 RAG를 하더라도 환각을 제거할 수 없고 반드시 기호주의적 시스템과 연결되어야 한다.

한 연구(Generative echo chamber: Effects of LLM-powered search systems on diverse information seeking)에 따르면 LLM 기반 대화형 검색 엔진이 출처 링크 제공해도 사람들은 링크를 거의 누르지 않았다(세션 당 링크 클릭수: mean=0.43, sd=1.13). 즉, LLM은 꾸준히 헛소리를 하고 출처를 줘봤자 사람들은 검증을 안 한다.

2024-11-13

영국의 보수 정치평론가이자 언론인인 더글라스 머레이2017년 저서 유럽의 기이한 죽음: 이민, 정체성, 이슬람을 읽고 있다. 소위 ‘이슬람 이민자 문제’ 때문에 유럽이 죽어가고 있다는 내용이다. 내 생각이랑 너무나 달라서 흥미롭다.

위 책을 읽다가 영국 영어에서는 구두점을 인용부호 밖에 찍는다는 걸 알게 됐다. 예를 들어 미국 영어에서는 이렇게 쓰는데

He identified himself as ‘white British.’

영국 영어에서는 이렇게 쓴다.

He identified himself as ‘white British’.

쉼표 등도 마찬가지.

그리고 옥스퍼드 컴마(Oxford comma)도 (이름만 보면) 영국에선 다들 쓸 것 같은데 그렇지 않더라. 옥스퍼드 컴마란 “A, B, and C”에서 B와 and C 사이에 찍는 쉼표를 말한다. 옥스퍼드 컴마 없이 “A, B and C”라고 쓰면 “A & (B, C)”를 말하는지, “A & B & C”를 말하는지 모호할 수 있다.

2024-11-11

Microsoft에서 GenAIScript라는 걸 내놨다. GPTScript랑 비슷한데 더 좋아 보인다.


어쩌다보니 수산업국제무역을 공부하고 있다. 지난달에 공부했던 물류 용어랑 연결되는 지점들이 있어서 좋다.

완전 생소한 분야를 처음 접할 때 관련 법령을 찾아보면 각종 정의가 잘 내려져 있고 어떤 이해관계자들과 어떤 관심사들이 있는지 아주 대략적으로 파악할 수 있어서 좋다. 그 다음 단계로는 “for Dummies” 같은 시리즈를 훑어 읽으면 좋다. 이 정도를 준비하면 해당 분야 실무자들이 하는 말을 어느 정도 이해할 수 있게 되는 것 같다.

2024-11-09

React 19Next.js 15를 공부하고 있다.

React2014년에 처음 써 봤고 첫 인상이 좋았으나 첫 인상만 좋았다. Next.js 2021년에 처음 써봤고 React의 마음에 안 드는 점을 커버하고 남을 만큼 좋았는데 점점 더 마음에 안 드는 방향으로 바뀌는 것 같다. 내 프로젝트라면 SvelteKit을 쓸 텐데, 개발하고 넘겨줘야 하는 프로젝트라서 남들이 많이 쓰는 걸 쓰는 게 좋을 것 같다. 그런 의미에서 정말 쓰기 싫은 Tailwind도 쓸 생각이다.

이 조합(React/Next/Tailwind)의 장점은 AI가 상대적으로 더 잘 도와준다는 점인 것 같다.

2024-11-05

RFC 6648을 공부했다. HTTP에 비표준 헤더 쓸 때 “X-” prefix 붙이지 말라고. 2012년부터 있었는데 모르고 있었다.

2024-11-02

인간-AI 협업이 어떤 상황에서 더 나은 결과를 보이는지에 대한 연구(When combinations of humans and AI are useful - A systematic review and meta-analysis)를 읽었는데. 결과가 미묘해서 Discussion 섹션이 재밌다. 특히 흥미로운 부분:

  • 인간이 AI보다 잘하는 일에 AI를 붙여주면 인간 혼자 할 때보다 결과가 더 좋음
  • AI가 인간보다 잘하는 일에 인간을 붙여주면 AI 혼자 할 때보다 결과가 더 나쁨

저자들은 인간이 AI보다 전반적으로 잘하는 경우에라야, AI의 제안을 수용할지 여부도 더 잘 판단할 수 있기 때문일 것으로 추측한다. 그러니까 인간이 AI보다 못하는 상황에선 AI를 의심할 타이밍에 의심 안 하거나(overreliance), AI의 제안을 수용할 타이밍에 고집을 부리거나(underreliance) 한다는 얘기.

또 다른 흥미로운 점은 인간이 AI보다 잘하는 일이건 못하는 일이건 간에, 인간이 혼자 하는 것보다는 AI랑 같이하는 게 대체로 더 나았다는 점. 특히 유한한 선택지 중 고르는 종류의 일이 아니라 열린 상황(콘텐츠 생산 등)에서는 더욱 그러함.

2024-11-01

자바 프로젝트를 하게 됐다. 18년 만이다. Java 5를 마지막으로 손에서 놨는데 지금 최신 버전은 Java 23라고 한다. Learning Java 6판을 읽었다. Java 21까지 다루는데 그리 잘 쓰인 책은 아닌 것 같다.

관심이 가는 변화 몇 가지는 이렇다.

  • 타입 추론 개선
  • 람다식 지원
  • 메서드 레퍼런스
  • switch 식과 패턴 매칭 (옛날엔 C 스타일의 switch 문만 있었다)
  • 이름 없는 변수 (_)
  • Optional 지원
  • Record 클래스
  • Stream API
  • Vector API
  • 인터페이스의 default 메서드
  • 가상 스레드
  • 모듈 개념 추가

이제 Spring Boot 공부해야지.