일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 야곰아카데미
- View Life Cycle
- SWIFTUI
- xcode
- 스타트업주니어로살아남기
- Mock
- Failed to register bundle identifier
- human interface guidelines
- 독서후기
- contentInset
- roundingMode
- 독후감
- @available
- SWIFT
- UIResponder
- 부트캠프
- Codegen
- NotificationCenter
- Modality
- 아이폰
- 스위프트
- IOS
- mvvm
- Navigation
- NumberFormatter
- delegation
- Info.plist
- Structures and Classes
- 책후기
- viewcontroller
- Today
- Total
목록분류 전체보기 (144)
호댕의 iOS 개발

개발을 하다가 버튼을 누르는 이벤트를 일정 시간 동안 여러 번 누르더라도 한 번만 인식이 되도록 하고 싶었다. 버튼을 누르면 view를 띄웠는데 버튼을 여러 번 반복해서 누르는 경우 view가 왕창 떴기 때문이다. 이전에 쓰로틀링(Throttling)을 어디선가 봤기 때문에 Rx에서도 분명 해당 Operator가 있을거란 생각이 들었다. 일단 쓰로틀링이란 단어는 테크 유튜브나 이런 것들을 봤다면 뭔지는 몰라도 어디선가 들어본 사람들이 있을 것이다. 사전적 정의를 살펴보면 다음과 같다. 성능을 위한 오버클럭(overclock)이 디바이스에 무리를 주는 것을 방지하기 위해 고의로 성능을 낮추는 조절 방식 물론 하드웨어적으로 클럭과 전압을 강제로 낮추거나 전원을 끄는 방식으로 발열을 줄이는 등에도 사용이 가능..

단순히 규모가 작은 개인 앱을 만들 때에는 크게 AB테스트가 필요하지 않았다. 일단 테스트의 모수가 되는 사용자의 수도 많지 않았고, 다양한 아이디어를 수행해볼 만큼 앱이 고도화가 되지 않았기 때문이다. 하지만 회사에서 직접 업무를 하며, 성과를 비교하고 앱의 기능을 어떤 식으로 추가할 지 판단하기 위해 AB 테스트를 사용하는 경우가 생겼다. 물론 단순히 User ID를 홀짝으로 나눠서 AB테스트를 수행할 수도 있다. 그러나 이 경우 특정 UserID를 가진 사용자만 특정 실험에 노출되거나 할 수 있어 제대로 된 판단이 불가능할 수도 있다. 그래서 이렇게 분류하는 것이 그렇게 좋지 못한 AB 테스트 분류라는 것을 알게 됐다. (이 경우 실험에 경향성이 생긴다고 한다) 그래서 이번에 회사에선 Hackle이..

회사에서 업무를 하면서 git rebase는 이제 어느정도 익숙해졌지만, 아직 Git의 세계는 훨씬 방대한 것 같다... 아직 제대로 모르는 것들이 많은데 이번에 배포 전략을 수정하면서 git fetch와 git remote update를 사용할 일이 생겼다. 그런데 이 둘의 기능은 비슷한 것 같은데 무슨 차이점이 있는지 궁금해졌다. 그래서 간단하게나마 정리를 해보고자 한다. 이 외에도 Git에 대해 조금 더 공부를 해야겠다는 생각이 든다. git remote update 일단 로컬 브랜치에 있는 변경 사항을 리모트 브랜치에도 생성을 하려 한다면 commit -> push의 과정을 하게 된다. 이는 Git을 써본 사람이라면 누구든 사용해본 기능일 것이다. 여기서 git branch를 사용하면 현재 로컬에..

10월 8일부터 2년 전부터 하고 싶었던 테니스를 시작했다. 요새 테니스가 엄청 붐이다 보니 레슨을 구하는 것도 정말 오래 걸렸다. 진짜 해야지 마음먹고 테니스장에 문의 넣은 건 2달 전이었는데 바보같이 전화번호를 잘못 적어서 레슨이 뒤로 밀렸다... 😱 그래서 거의 2달을 기다리다가 동네에 새로 생긴 펀테니스 아카데미에서 배우게 됐다. 네이버 지도 펀테니스아카데미 광교수지점 map.naver.com 위치가 좀 외진 곳에 있어서 다른 곳을 고민했었는데, 그래도 실내 / 실외 코트에서 전부 연습할 수 있어서 좋은 것 같다. (사실 태어나서 테니스를 처음 쳐본 테린이 그 자체라 좋고 나쁜 건 잘 모르긴 한다... ㅎ) 이렇게 3주 정도 다니며 포핸드, 백핸드, 서브까지 배우게 됐다. 물론 배웠다이지 배웠던 ..

이전 푸쉬 알림을 진행하며 원링크의 푸쉬 알림에 유니버셜 링크를 전달받아 이를 통해 앱의 특정 컨텐츠를 여는 작업을 했었다. 푸쉬 알림을 받을 때의 처리는 직접 했지만 유니버셜 링크에 대한 처리는 직접 하진 못했었다. 그래서 UniversalLinks에 대해 공부해보고자 마음먹었고, WWDC 2019 What's New in Universal Links를 보며 Universal Links에 대해 정리해보고자 한다. (아래 글은 WWDC 2019 What's New in Universal Links를 보고 정리한 글입니다) + 2019년, 2020년 모두 What's New in Universal Links라는 이름의 WWDC 영상이 있는데, 2019년 영상이 좀 더 제너럴한 유니버셜 링크에 대한 설명이고..

사이드 프로젝트를 하면서 화면의 특정 이미지를 인스타그램 스토리에 공유할 수 있는 기능을 구현해야했다. 인스타 공유 기능을 왜 추가했을까? 현재 만들고 있는 사이드 프로젝트의 경우 `클라이밍`을 즐기는 사람들을 대상으로 모임을 생성하고 모임에 참석할 수 있도록 해주는 서비스이다. 그런데 우리 팀에서 클라이밍을 하는 사람들 모두 클라이밍 계정을 따로 가지고 있을 정도로 본인들이 푼 문제에 대해 기록을 남기고 싶어하는 니즈가 있다고 파악을 했다. 따라서 앱 내 모임을 참석했을 때 보상으로 주는 홀드 이미지를 인스타에 공유할 수 있도록 하는 기능을 붙이게 됐다. 홀드 이미지를 스토리에 공유할 수 있는 것도 나름의 기록을 남기는 것이기 때문이다. 그럼 어떻게 인스타 공유를 할 수 있을까? Meta for Dev..

회사에서 푸쉬 알림 관련 작업을 맡게 되었다. 이전부터 푸쉬 알림은 어떻게 하나 궁금했었는데 때마침 관련 작업을 맡게 되면서 새롭게 알게 된 내용을 정리해보고자 한다. 특히 푸쉬 알림은 사용자들이 꾸준하게 앱을 사용할 수 있도록 유도하는 중요한 툴인 만큼 중요한 기능이라 생각된다. (해당 글은 처음부터 푸쉬 알림을 등록하는 방법보다는 푸쉬 알림과 세부적인 커스텀?에 대해 다루고 있습니다. 푸쉬 알림을 처음부터 등록하는 것은 추후 정리해보겠습니다) iOS에서의 푸쉬 알림 일단 기본적으로 iOS에서 푸쉬 알림이 어떤 식으로 동작하는지를 살펴보자. 먼저 푸쉬 알림은 우리가 잠금 화면에서도 특정 앱의 이벤트를 알 수 있도록 전달되는 알림을 의미한다. 이런 식으로 푸쉬 알림이 오는 것은 iOS를 한 번이라도 사용..

오랜만에 Swift 관련 컨퍼런스를 참여했다. 4개의 Session으로 구성이 되어 있었고 주제는 다음과 같았다. RIBs를 통한 상태 관리 why MVVM PR과 코드 리뷰 Mock 데이터를 통한 항상 성공하는 테스트 코드 짜기 RIBs를 통한 상태 관리 - 김남현님 | VCNC 사실 RIBs에 대한 이해도가 거의 없다시피 해서 발표 내용에 대해 완전히 이해하진 못했다. RIBs는 Uber에서 만든 크로스 플랫폼 아키텍처 프레임워크로 iOS 뿐만 아니라 안드로이드에서도 사용 가능한 아키텍처이다. (아직 공부해본 적이 없는 아키텍처라 잘못된 내용이 있을 수 있습니다) Interactor : 비즈니스 로직이 포함되어 있다. Rx 구독을 수행하고 상태 변경 결정을 한다. 또한 child로 연결할 다른 RIB..