"One of the nice things about getting older is that you come to understand that you can integrate multiple aspects of your life together. When you're young, you think everything has to be binary, as that's exactly how you feel at that age".
- Min Jin Lee

"Some Engineering Tough Sells"


https://posco.dev/blog/2022-04-23_draft_some-engineering-tough-sells/

…공감이 가는 부분들은:

  1. dynamic serialization isn’t worth it, use statically defined serialization
  2. untested code is virtually always somewhat wrong
  3. doing things right pays off sooner than we usually imagine
  4. an ounce of design is worth a pound of implementation
  5. in data engineering, the data very often violates your beliefs about the shape
  6. thinking about, and minimizing edges in your code’s dependency graph is a win
  7. a good (i.e. programmable, fast, reliable, reproducible) build system solves a lot of practical software engineering problems

…많은것들을 경험하되, 숙고와 자기객관화는 중요. 아니라면, 경험과 시간은 그저 흘러가게 되니.

Ping 11/06/2022



Jekyll –> Hugo

…Jekyll에서, 결국 다시 가볍고 그냥 잘 동작하는 Hugo으로 블로그 변경.1

생각

남들이 뭐래도 별 관심 없이. 실은 그냥 포장지와 리본장식만 변해가는거고,

반면. 그 포장지, 리본장식과 그 의미와 가치를 제대로 분간해내지 못하니까.

도구를 도구로 보면 안되고, 도구가 나를 쓴다는것을 이해해야 하는데. 그래서 도구를 이용해 자유로워질거라 착각하면, 도구에 얽메여 끌려만 가면…, 그런데 도구에 이용당해 복종할수록 자유로워진다면 …이겠지.

끌려가며, 내가 생각치 않은곳에 끌려와 진짜 성장을 얻기도 하는 이도 있고, 끌려가며 원치 않는 방향으로 가며 그게 성장이라고 허울로 하기도 하는 이도 있고.

pytest fixtures와 의존성관리, 그리고 복잡도관리


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# ...tests/conftest.py

import pytest

@pytest.fixture
def name(): return 'Pokemon'

@pytest.fixture(scope='function')
def monster(name): ...



# ...tests/foo_test.py :

def test_beast(monster): ...
    # <--- `def monster(..)`의 결과를 주입 받음.

https://docs.pytest.org/en/6.2.x/fixture.html

…파이썬에 다른 의존성주입 컨테이너들도 있지만, 흥미롭고 실용적이어서 자주 쓰게됨. 내가 소프트웨어 프로젝트에서 가장 중요하다고 생각하는 부분을 잘 캐치해주고, 편안하게 해주는 방식 같아.

(HN) "asshole test"


Some years back I applied to join IBM’s grad scheme, there was a peculiar stage to the process I’ve not seen elsewhere. It was during the onsite day, where a batch of 20 or so applicants were put through various tests in an IBM office. They called it the “group test”; around 8 of us were led to a room and asked to solve a puzzle together. Each of us was given an information pack, there was a white board, and a timer ticking down from 60 minutes. At first there was silence as we looked at our packs, then the first voice: “Let’s pool our information”, someone stands up by the whiteboard, grasping a marker. Silence, it’s not clear how this information should be parsed. One person starts reading theirs out word for word. This is not going to scale. Someone interrupts. Before long the whiteboard leader has been deposed and another is wielding the marker. Then another fights for control. The 60 minutes has run out, the puzzle is unsolved. Confused and drained we head off to the next test.

Hotwired 재밌다.


Hotwired 재밌다.

Stimulus, Turbo + Rails 7 갖고 이것저것 패턴별로 생각해보고 만드는게 즐겁네.

딱, 이렇게 문제 그자체를 이해하고 설계해놓은 것들은 익히고 사용하는게 너무 즐겁다. rails도 그랬었고, …처음 볼때에는 뭐 이렇게 단순해? 싶을 정도로.

너무 거창하거나, 실제로는 그 문제를 깊이 생각해서 푼게 아니라, 너무 범용적이고 범우주적인 해법(예: 상태관리, 컴포넌트 모델)만으로 퉁치려는것보다는. …이제 그런것들에 혹하거나 끌리지 않게 되었다.

그리고 또 한편으로는, 모든 해법은 단순하고 우아해야만 한다고 믿고 싶어서 믿는 fanboy가 되고 싶지도 않고.