Profile img

lionhairdino

@lionhairdino@hackers.pub · 75 following · 81 followers

여행 기분내며, 여기 저기 낙서하는 https://yearit.com 을 운영 중입니다.

지금까지 다루어 봤던 언어는 아래와 같습니다. MSX Basic Z80 Assembly Pascal GW-Basic C Macromedia Director Visual Basic PHP Flash Actionscript C++ Javascript

그리고 지금은, 하스켈을 비즈니스에 쓰려고 몇 년간 노력하고 있습니다. 지금 상태는, 하스켈 자체를 연구하는 게 아니라, 하스켈 (혹은 함수형 언어) 이해가 어려운 이유를 연구하는 아마추어 연구가쯤 되어버렸습니다. 하스켈 주제로 블로그를 운영 중이지만, 아직은 하스켈 프로그래머라고 자신 있게 말하진 못하고 있습니다. 가끔 이해에 도움이 될만한 측면이 보이면, 가볍게 아이디어를 여러 SNS에 올려보곤 하는데, 그다지 프로그래머에게 쓸모 있는 내용이 포함되진 않는 것 같습니다.

Blog
lionhairdino.github.io
YearIt
yearit.com

윤슬, 볕뉘
들어 보셨나요?
윤슬은, 찰랑이는 물(바다)에 햇빛이나 달빛이 비치면서 부서지는 모습을 말하며,
볕뉘는, 나뭇가지 사이로 (작은 틈으로) 들어오는 햇빛이라 합니다.

윤슬은 노래 가사로 들어 알고 있었는데, 볕뉘는 처음 들어 봤습니다.
잘 안쓰이는 이쁜 말들이 사라지는 걸 아쉬워하는 사람들이 있어, 살다 보면 한 번쯤은 어디선가 들어 보는데, 볕뉘는 전혀 들어 보지 못했습니다.

4
1
1
1
1
0
  • 출근할 때 새로 산 키보드 가지고 하면 기분이 좋다 유효 시간: 1시간
0

말씀을 뒤집어서 보면, 만일 고정점 a = f a 라는 정의에 있는 =을 약?화시켜 동형사상쯤으로 바꿔 놓는다면, 그제서야 모나드도 고정점이 된다.. 란 말씀이지요? "고정점 처럼 볼 수 있다"란 문장을 좀 더 포멀하게 바꿔주신 거지요?

1

현재까지는 마치 원칙처럼 머리를 지배하고 있는 생각이 있는데요.

함수형 프로그래밍을 차지하는 큰 줄기중 하나로,

조금 다르게 생긴 AB에 모두 대응하는 코드를 만들기 위해
**"인수 분해"**를 잘 해서,
A{ a, b, c, d }B{ a, b, c', d } 로 보고, 이 중에서 다른 c, c'을 골라 내고
또, 이 걸 잘 인수 분해해서
c{ e }c'{ f }를 찾아 내고, 둘이 결국 닮은 구석이 없으면, 우겨서
c{ e, _ }c'{ _, f }로 자리를 만들고,
_에 적절한 id를 집어 넣어 결국, AB같은 류로 만든다

란 생각에서 맴돌고 있습니다.

누가 누가 그럴싸하게 잘 우기나, 포멀하게 우기나!

1

a = f a 일 때, af의 고정점이라 하니
m a = m (m a) 가 된다면, m am의 고정점이라 할 수 있다.
모나드는 m a = m (m a)가 안되는 것을 join, return의 도움을 받아 성립하게 만든다.
그래서 m의 고정점을 바로 m a라 할 순 없지만, join, return의 도움으로 고정점처럼 동작하게 할 수 있다.
처럼 설명해도 되나 싶습니다.

여러 번 작업 한 걸, 한 번의 작업으로 표현한다.
반대에서 출발해서 보면, 한 번의 작업을 여러 번의 작업으로 인수 분해한다.

이런 목적 측면에서 보면, 고정점도 모나드도 하나의 궤로 설명할 수 있지 않을까 싶습니다.

그냥 상상입니다.

1

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

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

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

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

람다 함수로 만들어,

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

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

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

4

하스켈 모임할 때도 해도사가 적극 후원해 주셨었는데, 닉스 모임할 때도 또 적극 후원해 주시고, 후원 감사합니다. 너무 한 회사만 달리고 있어, 다른 스폰서를 적극적으로 찾아봐야 하지 않을까요. 하스켈, 닉스 사용 중인, 혹은 도입을 염두하고 있는 회사 또 없나요?

3

0차 닉스 모임을 다녀왔습니다. 공식 중대형 컨퍼런스도 좋지만, 커뮤니티의 소수 인원이 모이는 자리만의 재미가 있네요. 간만에 목쉬게 수다 떨다 왔습니다. 회사 소속 모든 인원이 닉스를 쓰는 회사가 있다니...

3
0
0
2

혹시 이 후 글 타래(쓰레드) 표현에 대한 계획이 예정되어 있는지 모르겠네요. 지금, 상위 글이 흐릿하게 나오긴 하지만, 시선 분산이 되는 건 막지 못하는 것 같습니다. 상위 글의 폰트 크기까지 줄이든가, 디폴트로 폴딩 되어 있다거나 하면 어떨까요?

글 타래

상위글 작성자 아이디는 그대로 노출이 되고, 현재 글과 이어지는 선도 그대로 두고, 본문만 폴딩해두면 어떨까요. 다른 분들 의견도 합쳐지면 좋겠다 싶어, 공식 리포에 안 올리고 바로 여기에 올립니다.

0

혹시 이 후 글 타래(쓰레드) 표현에 대한 계획이 예정되어 있는지 모르겠네요. 지금, 상위 글이 흐릿하게 나오긴 하지만, 시선 분산이 되는 건 막지 못하는 것 같습니다. 상위 글의 폰트 크기까지 줄이든가, 디폴트로 폴딩 되어 있다거나 하면 어떨까요?

글 타래
1

페인트, 도배 공구 중에 스크레이퍼고 있는데요. 기존 페인트나 종이를 긁어서 떼어내는 도구입니다. "모으다/버리다" 뉘앙스보다는, "어딘가에 붙은 신문(사극에서 흔히 보이는 방榜)을 긁어서 떼어 내다" 뉘앙스가 들어 있어서 그렇게 쓰인게 아닌가 싶어요.

0

많은 언어에서 배열이 primitive로 주어지기 때문에 간과하기 쉬운데, 실제로 배열은 Binary Trie이다. 인덱스 0b01101010로 어떤 배열을 접근한다는건 왼오오왼오왼오왼으로 트리를 타고 내려가는 것이다. 실제로 칩에서 어떻게 동작할지를 상상해보면 좋다.

1
0

Intel 쓰고 있는 데스크탑 시스템의 메인보드가 고장이 나서, CPU, 메인보드만 AMD로 갈아 탔습니다. 그러고, 원래 쓰던 nixos 설치된 nvme로 부팅을 하니, 아무런 군소리 없이 부팅이 됩니다?! os 재설치 안해도 되어 한 숨 돌렸지만, 한 편으론 왜? 군소리가 없는지 아주 살짝 불안하네요. 각 종 칩셋들 드라이버 다 제대로 잡힌 건지...

1

같은 얘기 한 적 있는데, 유전자 발현(expression)을 계산(evaluation)하거나 평가(evaluation)하지 않듯이, 표현(expression)을 평가(evaluation)는 해도 계산(evaluation) 또는 (표현의) "값을 구한다(evaluate)"고 하지 않듯이, 식(expression)도 평가(evaluation)하지 않고, '값을 구한다(evaluate)'거나 계산(evaluation)했으면 좋겠다고 생각해 봅니다.

5
2
1

우연히 클릭되어, 모니터 사진을 풀 사이즈 이미지로 봤는데요. 모니터 먼지 제거엔, 여자분들 토너 묻혀서 닦는 솜?이 딱이더라고요. 여자 친구나 와이프, 혹은 딸이 한 번 사용한 것 재활용 하시면 됩니다. ;-) @perlmint

0

우연히 클릭되어, 모니터 사진을 풀 사이즈 이미지로 봤는데요. 모니터 먼지 제거엔, 여자분들 토너 묻혀서 닦는 솜?이 딱이더라고요. 여자 친구나 와이프, 혹은 딸이 한 번 사용한 것 재활용 하시면 됩니다. ;-) @perlmint

0
0
2
3
0
1
2
1

Compile 이 대충 com (with의 뜻) pile 쌓다 느낌 아닐까 했는데요. 어원 찾아 보니, compile과 compress가 비슷한 뜻이군요. compile은 이 것 저 것 모아서 패키징하는 느낌이고, compress는 여기에 눌러 담다란 느낌이 추가되는 것쯤으로 보입니다.

1

꼿꼿한 자세에 모니터(32인치, 모니터암 사용중)를 눈높이까지 올려 보는게 대부분 추천 자세로 알고 있는데요. 이렇게 맞춰 놓으면, 항상 몸이 의자에서 흘러내려, 높은 모니터를 보려면 눈을 치켜 뜨면서 보게 되는 안 좋은 습관이 생겨 버렸습니다. 남들한테 다 좋아도, 저한테는 안좋은 건가 봅니다. 그래서, 권장되는 모니터 셋팅을 과감히 무시하고, 가장 낮춰서 썼습니다. 그랬더니, 이 번엔 아래 쪽을 볼 때 불편함이 생겼습니다. 까다롭지요.
그런데, 우연히 노트북 모니터마냥 비스듬히 눕혀 놓고 2~3주째 사용 중인데, 이 거 편합니다. 32인치에 기계식 키보드 달린 노트북 느낌 납니다.

1

꼿꼿한 자세에 모니터(32인치, 모니터암 사용중)를 눈높이까지 올려 보는게 대부분 추천 자세로 알고 있는데요. 이렇게 맞춰 놓으면, 항상 몸이 의자에서 흘러내려, 높은 모니터를 보려면 눈을 치켜 뜨면서 보게 되는 안 좋은 습관이 생겨 버렸습니다. 남들한테 다 좋아도, 저한테는 안좋은 건가 봅니다. 그래서, 권장되는 모니터 셋팅을 과감히 무시하고, 가장 낮춰서 썼습니다. 그랬더니, 이 번엔 아래 쪽을 볼 때 불편함이 생겼습니다. 까다롭지요.
그런데, 우연히 노트북 모니터마냥 비스듬히 눕혀 놓고 2~3주째 사용 중인데, 이 거 편합니다. 32인치에 기계식 키보드 달린 노트북 느낌 납니다.

2

안녕하세요, 업으로 프로그래밍을 하고 있는 컴퓨터 학부생 김무훈입니다.
현재 3년차 웹 프론트엔드 개발자로서, 다가오는 7월부터 함께할 정규직 포지션을 적극적으로 찾고 있습니다.

최근 학과 사무실에서 졸업 요건을 확인한 결과, 전공 필수 한 과목전공 선택 2학점(총 5학점)이 남아있음을 확인했습니다.
본래는 다음 2학기까지 수료 후 내년 2월에 졸업할 예정이었으나, 교수진과 상의한 결과 취업 및 재직이 확정된다면 수업 이수 방식을 보다 유연하게 결정할 수 있다는 긍정적인 답변을 받아 적극적으로 조기 취업을 추진하게 되었습니다.

이는 전공 필수 과목의 경우에만 해당이 되는 문제이고, 전공 선택 2학점의 경우 앞으로의 여름 학기 현장 실습 또는 다음 학기에 개설되는 하나의 원격 강의로 대체하여 문제가 없는 상태입니다.

지금까지의 업무 경험과 프로젝트는 아래의 포트폴리오에서 확인하실 수 있습니다.
📌 경력기술서 겸 포트폴리오 페이지: https://www.frontend.moe/portfolio/

좋은 인연을 찾을 수 있도록, 많은 관심과 연락 부탁드립니다!

8

뉴럴넷을 설계할수 있는 GUI를 프로토타이핑 해야하는데 좋은 방향이 생각이 안난다. 첨에 착수할땐 자명하다고 생각했는데, 막상 시작하고나니 의외로 참고할 물건도 적고 난감한 상태다.

3
0

올 해 2025년은 음력 6월이 두 번 있습니다. 지금까지 "윤"은 4년에 한 번씩 있겠거니 했는데, 19년에 7번 윤달(閏月)이 들어간다네요. 똑 떨어지지 않는 수로 주기가 도는 느낌입니다.

컴퓨터 부동소수점 계산도 그렇고, 이가 칼같이 맞아서 정확할 것 같은 것들이 그러지 않는 걸 보면, 세상이 원래 부정확해야 살 맛이 나지 않을까 하는 개똥 철학으로 연결되네요.

1

올 해 2025년은 음력 6월이 두 번 있습니다. 지금까지 "윤"은 4년에 한 번씩 있겠거니 했는데, 19년에 7번 윤달(閏月)이 들어간다네요. 똑 떨어지지 않는 수로 주기가 도는 느낌입니다.

2
2
0
0

@lionhairdino 자바에서도 기본적인 것은 다 됩니다. 객체지향 프로그래밍을 가능하게 하는 최소 요건을 맞추는 것은 어렵지 않아요. ‘잘‘ 갖추는 것과 사용자들이 그것을 적절히 쓰게 만드는 게 어려운 거고 많은 자바 레거시는…후략

0
0

이론적으론 자바는 반쪽짜리 OOP인가 봅니다. 모든 건 객체고, 객체들끼리 함수 호출이 아닌 메시지 패싱을 해야되고, 이 메시지들 처리 방식을 객체가 능동적으로 결정해야 Pure OOP라 부르나 봅니다. 어디까지나 이론적인 얘기입니다. 스몰토크나, 아니면 얼랭등을 만져봤으면 더 쉽게 이해할 것 같은데요. 낮에 객체 지향 얘기가 보여 교양 공부 해봤습니다.

1