전체 글 280

[Flutter] Sliver TabBarView hide 이슈

위에 컨텐츠들이 있고 하단에 탭이 있다고 가정하자. 스크롤 시에는 탭이 상단에 고정되어 있어야 한다. 이 경우, 위젯을 어떻게 구성할 수 있을까? Flutter 공식문서에서는 위와 같은 뷰는 NestedScrollView 클래스 를 통해 구성하라고 한다. NestedScrollView 클래스 The most common use case for this widget is a scrollable view with a flexible SliverAppBar containing a TabBar in the header (built by headerSliverBuilder, and with a TabBarView in the body, such that the scrollable view's contents va..

🐦 Flutter 2024.03.31

2023 회고록

키워드 🌱- 아침 스터디- 노션 스터디- 학교 스터디- 글또 8, 9기- 이직 💼- iOS 만보기 이슈 수정 🏃- 첫 해외여행- 요리 시작- 블로그 일일 방문자수 500명 달성!- iOS 공부  2월에 쓰는 늦은 회고이지만 2023 회고록을 쓸 생각을 하고 있어서 핸드폰 메모장에 2023년에 한 것들을 생각나면 늘 하나씩 키워드를 적어나갔다.2023년에 무얼 했는지 키워드를 먼저 살펴 보니 생각보다 많은 것을 이룬 해였으며, 1년은 길었다는 것을 느낀 해였다.늘 한 것도 없이 시간은 빨리 지나간다고 생각했었는데 이번 년도엔 다른 생각이 든 것을 보니 나름 바쁘게 살았음을 느낀다.  2023년은 내가 개발자로의 직업을 시작한지 1년차이다. (0년차부터 셈)그래서 2022년과 비교해보면 2022년은 출..

⏳ 회고 2024.02.11

Flutter NavigationController 에서 iOS 로 이동(push)해보기

Flutter 로 개발하면서 어려웠던 점은 Native SDK 연동을 해야했던 부분인데 보통 SDK 연동 문서를 보면 안드로이드, iOS 연동 방법만 적혀 있고 React native 나 Flutter 개발자를 위한 연동 방법은 적혀있지 않다. (따라서 일단 SDK 를 호출하는 부분까지는 업체의 문서를 보며 네이티브 코드를 작성해야 하고, Flutter 에서는 MethodChannel 메서드를 써서 이를 연결시켜줘야 한다.) 그래서 문서를 보고 연동하려면 네이티브 지식을 어느 정도 갖고 있으면 수월한 편인데 6개월 전에 나는 iOS 공부를 하지 않았던 상태였다. 어느 날, 회사 업무에서 다른 업체의 iOS SDK 를 연동하며 아래 메시지를 받았고 이게 무슨 뜻인지 이해하지 못했다. *****View.Ge..

🐦 Flutter 2024.01.13

광고 모듈화했던 경험

운좋게 2023년 송도에서 열리는 마지막 devfest 에 참여하였다. 나는 여러가지 세션을 들었는데 그 중 하나의 세션이 정말 감명 깊었다. 그 세션은 바로 '플러터 모듈화 - git submodule 를 이용한 프로젝트 코드 재사용 전략' 이었는데 아마도 내가 그때 당시 '중복 코드를 어떻게 패키지 코드처럼 나눌 수 있을까?' 에 대한 고민이 많아서 감명 깊지 않았을까 생각한다. 또한 이것이 모듈화라고 불린다라는 사실을 몰랐어서 듣고 나서 더 충격적으로 다가옴(?)도 있었던 것 같다. 모듈화를 적용해 볼 기회가 오다 개념을 알고 나서 그런가 모듈화를 적용해 볼 기회가 빨리 왔다. 요즘 회사에서 한창 겪고 있는 이슈가 광고 관련인데 그 이유는 애드몹의 엄격한 제한 사항이 원인이었다. 그래서 애드몹 광고..

⏳ 회고 2023.12.29

Debounce, Throttle

오늘은 프론트 개발자라면 중요한 개념인 Debounce, Throttle 에 대해서 좀 더 파헤쳐 보려고 한다. 서버에 사용자의 요청을 적절히 전달하는 것은 프론트엔드 개발자의 중요한 역할 중 하나라고 생각한다. 실제 상황에서 많이 발생하는 일 중 하나가 있는데 사용자가 버튼을 누를 때 단 한 번의 요청을 의도했음에도 불구하고, 그 요청을 실행 중이었는데 사용자는 실행 중인지 몰라 버튼을 또 누르게 되는 경우가 있다. (이거 왜 반응을 안 하는거야..?! 이러면서..) 이때 모든 요청을 곧이 곧대로 서버에 보내게 되면 서버는 이 요청을 모두 처리해 사용자는 예상치 못한 문제를 겪게 된다. 개발하면서 생각보다 이런 일들이 많이 발생하는데 그 중 하나의 방어책이 바로 로딩 표시를 버튼 위에 덮어씌워 사용자가..

🐦 Flutter 2023.12.09

[Flutter] InheritedWidget 에 대한 고찰 1 - BuildContext.dependentOnInhheritedWidgetOfExactType

Flutter 의 InheritedWidget 에 대해 알아보기 전에 BuildContext.dependentOnInhheritedWidgetOfExactType 에 대해 이해하는 것이 중요하다. 플러터 공식 문서에도 InheritedWidget 의 설명을 보면 BuildContext.dependentOnInheritedWidgetOfExactType 에 대한 설명이 먼저 표기되어 있다. 참고로 우리 프로젝트에서는 주 고객층이 연령대 높으신 분들이 많은데 이 분들은 폰 설정에서 텍스트 크기를 크게 설정하시는 분들이 많았다. 그래서 UI 가 일부 안 보이거나 UI overflow 가 되는 현상이 많은데 사실 이러면 안되지만, 폰 설정에서 텍스트 크기를 크게 설정하여도 우리는 텍스트 크기를 고정시켜 커지지 ..

🐦 Flutter 2023.10.14

[Flutter] 만보기 개발 기록

※ 본 글은 정보 공유성의 글이 아니라 개인 회고글에 가까우니 참고 바랍니다. 우선 Flutter 로 초보 개발자가 만보기 서비스를 런칭한다고 하면 어려울 수도 있을 것 같다는 생각이 든다. 단순히 걸음수만 표시해주는 간단한 기능이라면 그나마 낫겠으나 추가적으로 기능이 더 붙는다면 힘들 수 있을 것 같다는 내 개인적인 의견이다. 물론 사람마다 개발 실력이 다르다 아쉽게도 코드 공유 없이 설명을 이어나가야 할 것 같다. 나야 물론 코드를 공유하고 싶은 마음이 크지만 내가 개발한 서비스는 회사 소유이기에 코드를 공개할 수 없다. 하지만 헤맸던 과정을 블로그에 남겨 두는 것은 괜찮지 않을까 문제는 iOS 우선 우리 서비스는 안드로이드는 크게 문제가 없었다. 문제는 iOS 였다. 꽤나 많은 이슈가 있었고 테스트..

⏳ 회고 2023.09.24

x86, x64, x86_64, arm

ISA 란? 하드웨어와 소프트웨어 사이의 Interface를 정의하는 것. 하드웨어와 프로그램 사이의 매개체 역할을 하는 것이다. 세상에는 많은 ISA가 있다. 칩을 만드는 회사마다 ISA의 종류가 다르다. 회사마다 자신만의 ISA를 가지고 있는 것이다. 흔히 쓰이는 랩탑, 데스크탑, 심지어 서버 컴퓨터까지 전부 Intel, AMD 프로세서를 쓰는 아키텍처를 쓰고 있는데, 이 회사에서는 x86 ISA를 가지고 있다고 얘기를 한다. 그 외에 스마트폰에 쓰이는 ARM 프로세서가 있다. 이 x86과 ARM은 서로 다른 ISA라고 말할 수 있다. 즉, 데스크탑과 스마트폰은 다른 ISA를 가지고 있다고 말할 수 있다. 이것은 이렇게 말할 수 있다. 데스크탑에서 만든 소프트웨어를 바로 ARM 프로세서(모바일)에서 ..

[안드로이드] compileSdkVersion, targetSdkVersion, buildToolsVersion

안드로이드 OS API 나는 아이폰을 쓰고 있기 때문에 안드로이드 OS API 가 뭔지 정확히 몰랐다. 또한 티라미수, 롤리팝..? 들었을 때 이게 뭔소린지 싶었다. 티라미수, 롤리팝..? 안드로이드 운영 체제 버전을 의미한다. 안드로이드 운영 체제 버전은 주로 디저트 이름으로 알려져 있다. 이는 구글에서 안드로이드 버전 코드 네임을 디저트 이름으로 명명하여 사용하는 관행이다. 디저트 이름은 해당 버전의 알파벳 순서에 따라서 지정되며, 알파벳 순서대로 칠러(Cupcake), 도넛(Donut), 이클레어(Eclair), 퓨오리아(Froyo), 진저브레드(Gingerbread) 등 다양한 디저트 이름이 사용되었다. 다음은 안드로이드 버전 순서와 디저트 네임이다. 버전 디저트 명 출시일자 안드로이드 1.0 -..

👩🏻‍💻 TIL 2023.06.25

IP

IP 란?IP(Internet Protocol) 란 인터넷에 연결되어 있는 모든 장치(컴퓨터, 서버 장비, 스마트폰 등.. HOST 로 칭한다)를 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다.뉴스를 보면 IP 를 추적해서 범인을 잡는다는 등 소식을 접할 수 있다. 이렇게 IP 는 고유 주소인 것이다.HOST 가 사람이라고 한다면 IP 는 주민등록번호로 비유할 수가 있다.    IP 는 두가지 버전이 있다. Ipv4 , Ipv6 가 있는데 각각 32bit, 128bit 를 가지고 있고 이 둘은 외워주는게 좋다.ipv6 는 ipv4 의 자원의 한계 (2^32 = 약 43억개) 로 인해 생겨난 주소 체계인데, 아직까진 ipv4 가 널리 쓰이고 있다. 왜 그런지 궁금해서 찾아보았는데 ipv6 를 구..