전체 글 372

<독서> 거의 모든 IT의 역사 - 정지훈

📖 IT 거인들의 인간적인 면모 구글, 애플, MS와 같은 현재의 거대한 IT 기업들도 처음에는 규모가 작았을 것입니다. 이것은 당연한 사실이지만, 이 책을 읽으며 당시 상황을 조금 더 구체적으로 알 수 있었습니다. 그리고 각 회사들의 시작이 꽤나 인간적으로 느껴졌습니다. 기업의 비전을 유지하더라도 주요 제품, 서비스 등이 시대의 흐름에 맞게 변화하는 모습과 기업의 비전조차 바꾸면서 진화해 나가는 모습이 인상적이었습니다. 원래 회사가 설립할 때 하려고 했던 프로젝트가 아니라 중간에 사이드 프로젝트로 시작한 것들이 성공했다. 몸담고 있는 회사의 캐시카우를 가져가면서 미래의 주력 아이템을 어떻게 개발하면 좋을 지 고민하는 시간을 가져야 겠습니다. http://www.yes24.com/Product/Goods..

클래스/모험가 2022.07.24

<TIL> 플러터: overflowed by x.x pixels

🧭 OVERFLOWED BY x.x PIXELS 플러터로 개발중에 화면을 초과하는 에러를 종종 마주하게 됩니다. 오늘은 2번이나 해당 경우를 마주했기 때문에 TIL로 기록해 둡니다. SafeArea 첫번째 경우는 SafeArea로 Scaffold 전체를 감싸지 않고, Scaffold 내 body만 SafeArea로 감싸서 하단 네브바가 overflow 하는 에러가 발생했습니다. SafeArea를 사용하는 경우 당장 차일드 위젯이 하나 뿐이더라도 최상단에서 감싸도록 해야 겠습니다. overflowed by 1.0 pixel 두번째로 divider 위젯의 두께로 인해 1 pixel을 초과하였습니다. 에러가 발생한 곳은 네모 박스 안에서 텍스트 위젯과 디바이더, 그리고 텍스트 위젯까지 총 3개의 위젯이 컬럼 ..

클래스/└ TIL 2022.07.21

<Flutter> ListView 내 Stack 위젯의 child가 다음 ListViewItem에 가려질 때

🧭 어떤 경우에? ListView 내 ListViewItem이 Stack 위젯을 가지고 Stack 위젯에 사용자 이벤트가 발생했을 때 숨겨둔 Positioned 위젯 등을 노출시킬 수 있습니다. 이 때 노출된 위젯의 높이가 부모 위젯의 높이를 초과하는 경우 다음번 나오는 ListViewItem에 가리게 됩니다. 높이를 초과하는 부분을 가리지 않고 그대로 드러내려면 어떻게 해야 할까요? 어떻게? OverlayEntry, CompositedTransformFollower 등을 조합하여 이를 구현할 수 있습니다. 📌 https://blog.logrocket.com/complete-guide-implementing-overlays-flutter/ Implementing overlays in Flutter - L..

<독서> 타이탄의 도구들 - 팀 페리스

📖 성공하는 사람들의 공통된 습관 성공하기 위해서는 성공한 사람들 곁에서 그들의 행동을 배우는 것이 전부일지도 모릅니다. 하지만 성공하지 않은 나의 곁에 성공한 사람을 두는 것은 쉬운 일은 아닐 것입니다. 타이탄의 도구들이라는 책을 통해서 우리는 성공한 사람들의 모습을 간접적으로 접할 수 있습니다. 글을 쓰다 보면 아이디어가 나온다 블로그와 인스타그램을 꾸준히 하면서 별다른 성과는 없습니다. 그럼에도 글쓰기를 이어나가는 이유는 쓰다보면 늘겠지라는 희망 때문입니다. 하지만 막연히 늘겠지라는 생각때문에 실력이 잘 늘지 않는 것 같습니다. 부족한 점이 무엇인지 성과를 이루기 위해서는 무엇을 보충해야 할지 고민하는 습관을 길러야 겠습니다. 물론 쉬운 일은 아닙니다. 글쓰기를 지속하는 것만으로도 에너지가 필요하고..

클래스/모험가 2022.07.17

<Flutter> ListViewItem 내 버튼을 누르는 경우 특정 위젯 보이기/숨기기

🧭 어떤 경우에? ListView 내 ListViewItem에서 버튼을 누르는 경우 별도의 위젯을 보였다가 숨겼다가 하고 싶은 경우가 있습니다. 가령 인스타그램, 트위터 같이 피드들을 리스트 형식으로 보여주는 앱에서 점 3개짜리 버튼을 누르면, 메뉴 선택 창이 화면위의 특정 위치를 차지하는 경우가 있을 것입니다. 어떻게? isVisible 같은 bool 타입의 변수를 만들어서 값을 저장해 두면 될 것 같습니다. 이 변수를 어디에서 정의해야 할까요? 상태가 변해야 하니까 StatefulWidget을 활용해야 겠습니다. ListView를 포함하는 부모 위젯을 StatefulWidget으로 정의하고 싶겠지만 그렇게 했다간 상태가 변할 때마다 부모 위젯도 매번 다시 그려지면서 상태가 초기화되는 안타까운 경험을 ..

<Flutter> font_awesome_flutter 패키지 - 아이콘 팩

🧭 Font Awesome 플러터의 기본 제공 아이콘 말고 새로운 아이콘을 적용해 보고 싶지 않으신가요? font_awesome_flutter 패키지를 설치하면 됩니다! 패키지를 설치하면 아이콘 아카이브(?)로 유명한 fontawesome.com 사이트에서 제공하는 무료 아이콘을 활용할 수 있습니다. 📌 https://pub.dev/packages/font_awesome_flutter font_awesome_flutter | Flutter Package The Font Awesome Icon pack available as Flutter Icons. Provides 1600 additional icons to use in your apps. pub.dev

<독서> 작별인사 - 김영하

📖 나는 앞으로도 인간일까 인간이 무엇인지 물어보면 선뜻 대답하기 어렵습니다. 하지만 지구에서 인간을 찾아보라고 한다면 쉽게 찾을 수 있습니다. 먼 미래에, 어쩌면 가까운 미래에 인간과 쏙닮은 로봇이 생산된다면 인간을 어떻게 찾을 수 있을까요? 인간은 자연발생하였고, 로봇은 인위적으로 생산된 차이가 있는 것일까요? 그렇다면 복제인간은 어떤가요? 인간인가요? 인간은 무엇일까요... http://www.yes24.com/Product/Goods/108887930 작별인사 - YES24 누구도 도와줄 수 없는 상황, 혼자 헤쳐나가야 한다지켜야 할 약속, 붙잡고 싶은 온기김영하가 『살인자의 기억법』 이후 9 년 만에 내놓는 장편소설 『작별인사』는 그리 멀지 않은 미래를 배 www.yes24.com

클래스/모험가 2022.07.09

<TIL> Flutter: SizedBox, ClipRRect, whitespace

🧭 Container vs SizedBox 단순 whitespace를 위해서는 상대적으로 무거운 Container 보다 SizedBox를 사용하는 것이 효율적입니다. (whitespace는 화면 구성 요소 사이의 여백을 말함, 무겁다는 것은 기능을 많이 포함하고 있다는 것) 또한 SizedBox는 const 생성자를 사용할 수 있다는 것은 덤입니다. ClipRRect 이미지 주변을 둥글게 깎기 위해서는 이미지를 ClipRRect로 감싸고, borderRadius 프로퍼티에 원하는 만큼의 반지름을 설정합니다. behavior: HitTestBehavior.opaque GestureDetector 내부에서 패딩을 가진 위젯의 경우, 패딩 부위를 클릭하면 인식을 하지 않습니다. 이때, behavior 프로퍼티..

클래스/└ TIL 2022.07.07