WWDC 2020

WWDC 2020의 Swift 카테고리 중 SwiftUI를 이용한 앱 작성의 기본 구조를 설명하는 세션입니다. 인상적인 부분이 두 가지 있어 정리해 보았습니다.

첫번째는 Scene 모델입니다. 앱 내에서 공존할 수 있는 여러 작업의 컨텍스트를 Scene이라는 개념 모델로 정립하였습니다. 일반적으로 이는 앱 내에서 다중 윈도우나 탭으로 다루어 지는데 이를 프레임워크화 시켜 다중 윈도우를 한 윈도우의 여러 탭으로 자동 병합 가능한 수준까지 SwiftUI 프레임워크에서 제공하는 것으로 보입니다.

두 번째는 앱의 코드 구조입니다. 앱/웹 프레임워크들의 프론트엔드 코드가 점점 비슷한 구조를 띄어가는 것이 보입니다. 단위 뷰와 기능들이 …


디자이너들의 디자이너 디터 람스의 다큐멘터리 입니다.

디터 람스의 디자인 원칙은 물성이 있는 제품이나 그래픽 디자인 등 전통적인 디자인 영역에서 뿐만 아니라, 서비스나 프로그램 코드의 구조를 디자인(구성이나 구조를 설계한다는 의미의 디자인) 할 때도 충분히 그 가치를 발휘 합니다.

https://youtu.be/ib4AA4Crfkk


사실 파이썬의 멀티 스레딩은 진정한 의미의 멀티 스레딩이 아닙니다. 스레드를 아무리 늘려도 한 프로세스 내에서 특정 순간에 한 스레드만 실행이 됩니다. 아무리 코어가 많은 머신이라도 이 상황은 동일 합니다. 파이썬 웹 프레임워크가 성능 벤치에서 항상 하위권을 면치 못하는 이유 이기도 합니다. 같은 인터프리터인 node.js에 비해서도 느리죠. 이 문제에 대한 해답으로 비교적 최근에 추가된 asyncio(coroutine)으로 시간을 효율적으로 분배하여 성능을 최대한 끌어 올리고는 있지만 진정한 멀티 스레딩이라 하긴 힘듭니다. 그래서 파이썬 앱을 설계/배포 할때는 일반적으로 멀티 스레딩 보다 멀티 프로세싱으로 하드웨어 …


고민, 고민, 고민

회사를 그만두고 생각을 정리하기 시작한지 1개월 정도가 지났다. 그간 쉬면서, 아이를 돌보면서 많은 차원에서 다양한 고민을 했다. 창업과 취업 사이의 고민, 프론트엔드와 백엔드 사이의 고민, 앱과 웹 사이의 고민, 데이터 시각화와 ML 사이의 고민, 하고 싶은 것과 할 수 있는 것 사이의 고민 등 앞으로 어떤 사람, 어떤 개발자, 어떤 창작자가 될 것 인지에 대한 생각을 정리하는 시간을 갖고 있다.

앞으로 나아갈 방향에 대한 여러 생각들을 정리 하면서 내가 무엇을 해왔고, 무엇을 잘하고, 무엇을 하고 싶어 하는지, 자연스럽게 현재의 나에 대한 정리의 필요성을 느끼게 되었다. 그래서 그간 해왔던 일들에 대해서 차근차근 나 …


본 포스팅은 @hpolatyuruk의 원문을 번역/요약한 글입니다.

팀을 몰아 부치거나 일정을 강제 하지 말자.

  • 스트레스와 중압감 속에서는 생산적일 수 없다. 평온함 속에 있을 때 집중 할 수 있고, 이는 더 나은 선택을 할 수 있게 한다.

우리의 예측은 -(삐) 하다.

  • 데드라인을 지키기 위해서 가장 중요한 것은 일정 산정인데, 사실 우리의 예측은 엉망진창이다. 인정하고 쪼개고 또 쪼개라. 작은 태스크는 그 만큼 일정을 예측하기 쉽다.

‘괜찮나?’ 정도면 괜찮다.

  • 완벽은 일정을 지연 시킨다. 주어진 일정 내에서 ‘괜찮네~’ 정도면 충분하다.

낙관하지 말고 예측 가능한 현실을 보자.

  • ‘이때 쯤이면 될거야, 충분히 할 수 있어’라며 낙관적인 데드라인을 잡는 관리자들이 있지만, 이는 옳지 않다. 발생 가능한 지연을 예측하고 주의를 기울여 일정을 산출해야 한다. 다른 부서 …


주변이 나에게 호의적인 사람들로 가득 차 있다는 것은 안정적인 느낌을 준다. 하지만 사실 이러한 상황은 사적인 공간에서는 즐겁지만, 일을 하는 상황에서는 굉장히 위험 할 수 있다. 나에게 호의적인 사람들은 내 의견에 대해서 긍정 할 가능성이 높기 때문이다. 그렇게 되면 나의 생각은 다른 가능성을 배제하게 되고 내 생각에 대한 긍정의 가능성만을 키우게 된다. 주변의 사람들과 관계가 좋다는 것은 좋은 일이지만 그들이 항상 나에게 가림 없이 이야기 할 수 있는 열린 마음 가짐을 함께 갖는 다는 것은 어려운 일이다. 마음이 불편 해지는 이야기를 누군가 나에게 지탄 없이 한다고 생각해보라. 서로 어느 정도 선을 지켜서 쓴소리도 …


끓는 냄비 속의 개구리

찬물이 담긴 냄비 속에 개구리를 넣고 서서히 물의 온도를 높이면 개구리는 높아져가는 물의 온도에 적응하게 되어 자신이 끓는 물 속에 있다는 것도 알지 못한채 결국 삶아져 죽게 된다는 이야기다. 본래 끓는 물의 개구리 처럼 서서히 물들면 자신도 모르게 안좋은 방향으로 향하게 된다는 부정적인 의미로 주로 사용되는 말이다. 하지만 실험 정신이 투철한 최근의 과학자들은 이를 검증하기 위해서 실제 개구리로 실험을 하였는데 그 결과 이 말은 틀렸다는 것이 증명 되었다. 물의 온도가 25를 지날 즈음이 되면 개구리는 물을 뛰쳐 나온다는 결과를 얻게 된다. ‘끓는 냄비 속의 개구리’의 재해석이 필요한 시점이다.

가랑비 …


코드도 인생과 다르지 않다.

인생을 살다보면 내가 지금 잘 살고 있는 것일까 의문이 들때가 있다. 이 의문은 그 범위를 개발자란 직업으로 좁혀도 다르지 않다. 내가 하고 있는 개발이 맞게 되고 있는지 궁금할 때가 있다. 그럴 때 우리는 어떤 기준으로 코드와 자아를 성찰 해볼 수 있을까?

1. Done, 목적대로 잘 동작하는 코드

– 아무리 쓰여진 코드가 깔끔하고 구조적이라도 목적대로 동작하지 않는다면 좋은 코드라 할 수 없다. 우리가 언제, 어디서, 무엇을 하며 살아가든 가장 중요한 것은 그 일을 하는 목적이다. 내가 하고 있는 이것이 어떤 의미를 갖는지 항상 그 목적을 스스로 상기해야 한다. 상업 개발자는 정해진 시간내에 목표한 기능을 목적에 맞게 구현해 내야 한다.

2. Better, 적절한 추상화, 모듈화로 잘 구조화된 코드

– 원하는 기능대로 동작 …


일상을 살다 보면 가끔 뛰어야 할 때가 있다. 회사나 학교에 늦었거나 중요한 면접이나 약속에 늦었을 때 우리는 뛰게 된다. 뜀으로 늦은 시간을 만회할 수 있다.

인생을 살다 보면 가끔 뛰고 싶을 때가 있다. 진학이나 취직, 결혼을 할 시기가 지났다는 생각이 들거나 무엇인가 이루고 싶은 목표가 생겼을 때 우리는 뛰고 싶어진다. 하지만 일상에서의 뜀 처럼 늦은 인생은 뛰어 만회하기 어렵다.

뜀은 확실하다. 누구라도 뛰면 걷는 것 보다 빨리 나아간다. 하지만 인생은 그렇게 쉽게 뛸 수 없다. 다리만 열심히 움직인다고 빨리 나아가지지 않는다. 내 인생에는 영향을 주는 변수가 너무 많다. 오지 않는 택시를 기다리고 있어 봐야 더 늦기만 …

KANG SANG MIN

강상민입니다.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store