Categories
Development

Declarative UI 찬양

Flutter 쓰기 시작한지 1년이 되간다. 초반 두세달은 Declarative UI 적응하고 Dart 적응하고 Flutter 적응하느라 러닝커브가 심했지만 익숙해질수록 고통없이 빠르게 화면을 찍어낼 수 있게됐다. 곰곰히 생각해보니 이건 숙련도의 문제라기보다 선언적 UI의 긍정적 부수효과인 거였다.

Kotlin Anko 쓸때도 왜 이렇게 기분이 좋은지 잘 몰랐다. 그저 이름과 발음이 내 취향이라 그런줄로만 알았는데 지나고나서 생각해보니 비슷한 효과였다.

이름을 짓느라 시간을 허비하지 않아도 된다!

대충 지은 이름은 그 존재를 인식하는 것만으로도 굉장히 불쾌한데, 요즘처럼 가져다 써야하는 라이브러리가 백만개쯤 되면 얘네들 때문에라도 자꾸 이름 짓기를 강요받게 되고, 그러다보면 서로 어울리지 않는 애들이 모여 collocation 엉망진창 되고 코드를 읽는자도 그에 동화되서 머리속이 더러워진다. 이름 지은 애들끼리 하이러키 똥망되고 족보 꼬이면 코드 볼 때마다 고통받는 것이다. 논리적으로 서로 딱히 연결될 이유가 없음에도 불구하고 레퍼런스가 필요하다는 이유로 불필요한 이름 짓느라 얼마나 괴로웠는지 말도 못한다.

불필요한 참조를 만들지 않아도 되는 모든 것들에게 감사한다. 파이썬의 list comprehension 도 그래서 행복하고, Rx도 구독 핸들러만 들고 있으면 독립된 다른 공간에서 복작복작해서 최종 결과물만 콜백으로 주니까 나는 이름을 안지어도 되는 거다. 백앤드면 하나하나 다 의미있는 경우가 많겠지만 내가 왜 padding wrapper 따위한테 이름을 지어줘야하냔말이다. 키스토로크 하나하나가 아깝다.

선언적 UI 트리내에 동적으로 변경해야하는 부분이 있으면 React.createRef 같은 것을 쓰거나 잦은 화면갱신를 피하기 위해 별도 state를 가지는 컴포넌트를 새로 만들어야하는데 아니 변수명 짓기도 싫다는데 클래스명을 지으란 말입니까. 물론 어떤 화면에서 잦게 변경되는 부분이 있다면 논리적으로 별개의 것일 확률이 높고 그렇다면 분리하는게 맞지만 살다보면 안그런 경우도 많은 것이다. 이런 상황에서 이름 안짓고 성능도 떨어지지 말라며 BLoC 가 또 나를 구원해줬다.

추적해야할 레퍼런스가 적고 생존주기가 짧을수록 행복해진다. 다음 글에서는 이 글을 까는 글을 써야겠다.

Categories
Daily

5년만에 쓰는 글

흥미를 잃어버렸던 프로그래밍에 관심이 다시 생겨 자연스레 블로그로 돌아왔다. 나는 개발이 대단히 비인간적인 일이라고 생각한다. 그동안 일을 하면서 자연스러운 점은 별로 찾아볼 수 없었다. 그나마 이제는 개발자의 총량이 늘어나서, 개발을 어떤 매개체나 소재로만 쓰며 깨작거려도 남들에게 부끄러움이 없을 뿐이다.

이렇게 말을 하면서도 다시 블로그에 글을 쓰고 있는 것은 비인간적이 되었기 때문이다. 지난 5년동안은 개발과 무관한 것들에 집중하며 어렸을 때 놓친 것들을 복구하는 시간이었다. 이제 그만 복구해도 될 것 같으니 다시 평소대로 살아볼까 한다.

2017.4 부터 2019.10 까지는 내 캐릭터와 전혀 어울려보이지 않는 카카오를 다녔다. 평소와 다르게 2년반이나 다녔다고 놀랄 것 같아 미리 말씀드리면 그동안 팀을 두번이나 이동한거라 한 회사 오래 다니지 못하는 고질병이 없어진 것은 아니다. 내가 성질이 급해서 그렇지 그래도 다녀봤던 회사 중에는 제일 괜찮았다. 사람수가 하도 많으니 괴상한 놈 한두명쯤 있어도 눈에 거슬리지 않는 게 가장 좋았다. 그리고 편견이겠지만 큰 회사 다니는 애들은 극한 경험이 별로 없어서 그런지 뭔지 대체적으로 사람들이 평범하고 해롭지 않아서 사람 구경하는 재미가 솔솔했다. 거대한 유치원 같았다. 매우 인간적인 회사였고 그래서 개발과는 거리가 좀 멀어보이는 회사라고 느꼈다. 하지만 영리회사는 돈을 버는 일을 하며 개발을 도구로만 써야만 한다. 그런면에서 골수개발자에게는 안맞을지 몰라도 올바르게 경영하고 있는 회사라고 생각한다. 나는 그 회사 경영진이 돈을 버는데 필요하다고 주장하는 노동력을 제공하면 그만이다.

오랜만에 블로그에 접속하니 https 아니라고 크롬이 주소창 앞에 “안전하지 않음” 표시를 했다. 기분이 나빠 인증서를 사서 달고보니 TLS 1.2 이상을 지원하지 않으면 요즘 브라우저들이 “안전하지 않음” 이라는 것이다. 해서 nginx 다시 빌드 하다보니 http2 지원도 넣고 싶어져서 그것도 넣었다. 그러고나니 워드프레스 테마가 맘에 안들어서 테마도 바꿨는데 한글 서체가 맘에 안들어서 나눔바른고딕 woff, woff2 뽑아서 서체도 바꿨다. 수많은 스패머들 덕에 더럽혀진 디비도 스크립트 하나 만들어 깨끗히 청소했다.

이렇게까지 하고나니 블로그에 글을 쓰기가 쉬워졌다. 앞으로 이곳에는 다양한 주제에 대해 평소처럼 두서없이 글을 쓸텐데 요새 개발에 빠져있으니 개발에 대한 이야기가 많을 것 같다.