Profile img

leetekwoo

@leetekwoo@hackers.pub · 118 following · 47 followers

leetekwoo.com
leetekwoo.com

leetekwoo replied to the below article:

2020년의 하스켈에 대한 내 생각

박준규 @curry@hackers.pub

이 글은 하스켈이 30주년을 맞이한 2020년, 하스켈의 발전 방향에 대한 개인적인 생각을 담고 있습니다. 저자는 하스켈이 프로그래밍 언어 연구와 실제 애플리케이션 개발이라는 두 가지 목표를 동시에 추구해왔지만, 이제는 소프트웨어 개발자에게 유용한 기능에 집중해야 한다고 주장합니다. 특히 복잡한 타입 시스템보다는 사용자 편의성을 높이는 방향으로 개선되어야 한다고 강조하며, 제네릭스 활용과 유용한 확장 기능 활성화를 예시로 제시합니다. 또한, 애플리케이션 아키텍처 측면에서 의존성 주입 컨테이너를 활용한 단순한 구조를 제안하며, 타입 안정성을 약간 희생하더라도 테스트를 통해 충분히 보완할 수 있다고 말합니다. 결국, 저자는 "심플 하스켈" 또는 "지루한 하스켈"을 통해 얻을 수 있는 코드의 명확성과 개발의 즐거움을 강조하며, 하스켈 커뮤니티가 초보자에게 더 쉽게 다가갈 수 있도록 노력해야 한다고 역설합니다. 이 글은 복잡한 이론적 탐구보다는 실용적인 개발에 초점을 맞춘 하스켈의 미래를 제시하며, 독자에게 균형 잡힌 시각을 제공합니다.

Read more →
15
2

스캠 케이스 스터디

leetekwoo @leetekwoo@hackers.pub

이 글은 인터넷에서 흔히 발생하는 스캠 시도에 대한 개인적인 경험을 공유하며, 특히 창작 활동을 하는 사람들에게 경각심을 일깨우는 것을 목표로 합니다. 작성자는 SNS를 통해 받은 "협업 제안"이 가짜 LinkedIn 프로필을 이용한 사칭임을 인지하고, 그 과정을 상세히 설명합니다. 팔로워가 없는 점, 메시지의 말투 등 수상한 점을 발견하고 스팸 신고를 한 경험을 통해, 인터넷 상의 제안에 대한 신중한 접근이 필요함을 강조합니다. 특히 A&R, 기획자, 스카우터 등을 사칭하여 기회를 미끼로 접근하는 사기에 주의해야 함을 당부하며, 창작 활동을 생계로 하는 사람들에게 이러한 스캠이 더욱 위험할 수 있다는 점을 지적합니다. 인터넷 제안 시 투명한 신분과 의사소통 채널의 중요성을 강조하며, 독자들에게 주의를 환기시키는 글입니다.

Read more →
5

저는 고민할 정도의 중요성이 있다면, 만나서 판단합니다. 믿을만한 회사같은 상대라도 다른 능동적인 루트(직접 전화 같은 것)로 한 번 더 확인합니다. 다른 확인 방법이 없다면, 믿지 않는 편입니다. 누구냐에 따른 예외는 있겠습니다. @leetekwoo

2
4

@leetekwoo 첫걸음이 어렵죠… 저도 일본 문화에는 아주 어릴 때부터 관심 있었는데, 일본어 학습을 시작한 건 서른 넘어서예요! 왜 더 일찍 배우지 않을까 후회가 많았답니다. ㅎㅎㅎ

한국어 화자 입장에서 일본어는 문법도 비슷하고 발음도 비교적 쉬운 편이라 노력에 비해 실력이 금방 느는 언어라고 생각합니다. 그래서 한국어 화자가 일본어를 안 배우면 좀 아깝다(?)는 생각도 들어요.

1
0

일본인 친구가 있어 일본어를 배우고 싶습니다. 일본 문화는 항상 관심이 많았지만, 요즘은 일본 음악을 많이 듣고 있습니다. 공부가 되길 바라는 마음에 가사도 찾아보고 있습니다.

3

leetekwoo replied to the below article:

How to pass the invisible

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

This post explores the enduring challenge in software programming of how to pass invisible contextual information, such as loggers or request contexts, through applications without cumbersome explicit parameter passing. It examines various approaches throughout history, including dynamic scoping, aspect-oriented programming (AOP), context variables, monads, and effect systems. Each method offers a unique solution, from the simplicity of dynamic scoping in early Lisp to the modularity of AOP and the type-safe encoding of effects in modern functional programming. The post highlights the trade-offs of each approach, such as the unpredictability of dynamic scoping or the complexity of monad transformers. It also touches on how context variables are used in modern asynchronous and parallel programming, as well as in UI frameworks like React. The author concludes by noting that the art of passing the invisible is an eternal theme in software programming, and this post provides valuable insights into the evolution and future directions of this critical aspect of software architecture.

Read more →
11
1
0
1
4

해킹뿐만 아니라 온라인에서의 사생활 침해 가능성에도 주의를 기울이고 있습니다. 구체적인 문제가 있는 것은 아니지만, 때때로 누군가의 시선을 느끼는 듯한 불편함이 있습니다. 그저 과한 우려이길 바라고 있습니다. 저는 타인의 사생활을 존중하고, 알지 않아도 될 일에 대해 함부로 개입하지 않으려 합니다.

0
2
1

@hollo @leetekwoo 제가 알고 있기로도 아직은 x86계열이 OS들의 지원이 가장 잘 되고, arm계열도 많이 지원하지만, 많은 부분의 하드웨어가 독점적이기도 한 애플 실리콘 맥(M시리즈)은 문제가 있습니다. 애플 실리콘 맥미니는 기본 가격이 애플답게 높은 편임에도 성능, 전력 소모면에서 장점이 크지만, 앞서 말한 부분의 제약을 감수 해야 합니다. 그래서 그냥 macOS를 그대로 쓰는 편이 많은걸로 압니다. 인텔 맥은 성능도 가격에 비해 별로 추천 할 만하지 못 하다고 생각하구요. 이야기 하신 목적을 주로 생각하면, 아직은 x86계열 CPU가 장착된 장비가 쉽고 저렴한 선택일 것이라고 생각합니다. 불과 몇년 전만 해도 rpi4(arm64)도 리눅스에서 제대로 지원이 안되어서, beta버전 배포판에 하드웨어 제어 SW도 누락되어서 직접 빌드하고 그랬거든요.

@perlmint @hollo 사실 가격도 중요한 요소이지요. 저렴한 서버용 컴퓨터들을 사서 직접 모든 과정을 한다면.. 과연 제가 할 수 있을까 싶습니다. 말씀해주신 실리콘 맥 미니 실용성이 인상 깊습니다. 상세히 알려주셔서 감사합니다 ☺️

3

주의: 프로그래머에게도 수학도에게도 쓸모 있지 않은 그저 생각 놀이로, 어제 모임에서 제가 떠들었던 잡담입니다.

튜링 완전한 프로그램은 따로 메모리를 두어 관리하며 돌아가는데, 람다 산법은 이런 메모리가 없는데도 불구하고, 튜링 완전이 할 수 있는 일은 모두 할 수 있다고 합니다. 왜 그럴 수 있는지, 시작 아이디어가 뭘까 생각해 봤습니다. (슬쩍 보기엔, 학문적으로 긴 여정이 있는데, 그 걸 모두 따라가기엔 벅찬 일이라, 절대 따라가고 싶진 않고, 그저 아이디어 정도만 알고 싶습니다.)

함수형에선, 정보를 "기억memory"하는 역할도 역시 함수가 담당합니다. 기억이 필요할 땐 함수 구조를 주어, 기억 공간을 만든다고 볼 수 있습니다. 함수 합성에서 다음 함수의 인자로 새로 바인딩하며 기억의 역할을 합니다. 애초 메모리 모델이 없는 게 아니라, 다른 구조로 메모리 모델을 구현했다고 볼 수 있는 것 아닌가 싶습니다. (이렇게 말하는 곳은 없습니다.)

람다 함수는, "따로 호출할 일이 없어 이름 없는 함수로 정의한다" 쯤으로 넘어가기엔, 숨어 있는 의미가 너무 큽니다. 분명, 이렇게 넘어갈 일이 아닌데, 역시나 친절히 설명해주는 자료를 아직은 못봤습니다. (많이 찾아 보 거나, 깊게 공부한 건 아니라서, 어딘가에는 있지 않을까 싶어요)

람다 함수로 만들어,

  • 실행 시점 제어
  • 함수 합성 체인 참여
  • 필요한 정보들을 모아 두는 단위
  • 외부와 소통하는 길을 만들어 둘 수 있고, ...

여기에 기억이라는 중요한 역할도 담당하게 합니다.

람다 산법은 매개 변수, 함수 몸체, 적용, 이렇게 3가지 요소만으로 모든 걸 해결합니다. 알론조 처치 아저씨는 어찌 이런 구조를 떠올렸을까 싶습니다. 애초에 위와 같은 식으로 볼 수 있는 함수 통찰의 눈이 먼저 있었던 상태에서 만든 거겠지요?

2
1
1
0
0
2
3
4
0
5
1