드디어 제 앱이 세상 밖으로 공개 되었습니다. 와아~~ 한 번 리젝 당하고 출시를 하게 되었는데요, 뭔가 기분이 새롭고 왜 사람들이 토이프로젝트를 하는지 알겠고 업데이트 할 것들이 눈에 보이고, 새로운 것도 또 만들어보고 싶고 그러네요! 그래서 오늘은 리젝 경험, 출시 된 앱 그리고 소소하게 받아 본 피드백에 대해 적어보려고 합니다. ## 한 번의 리젝 리젝을 당하는게 어쩌면 당연한 것이었어요. 사용자의 카메라나 사진첩에 접근하려면 권한 요청을 해야하는 것은 여러분들이 모두 아실 것 같아요. 대부분 plist에서 key를 설정하실텐데, 이 때 요청 메세지를 value 값에 써 놓아야 합니다. 요청 메세지에는 어떤 목적으로 사용자의 데이터를 사용할 것인지를 분명하게 명시해 두어야 한다고 HIG 문서에도 나..
오늘은 제 토이 프로젝트 경험을 공유해보고자 글을 쓰려고 앉았답니다~ 처음 기획했던 부분까지는 다 개발을 한 것 같고, 개발자 계정도 만들었고(12만원이라니!), 리젝도 받아보고 다시 제출도 완료한 상태에서 이 글을 쓰고 있는데요, 요 몇 일 (속되게 표현해서) 빡.세.게 개발한 것 같네요. 이 강도로 쭉 했으면 2~3주면 충분했을 것 같은데 이런 저러 핑계로 조금씩 미뤘던게 후회되네요. 간략하지만 차례로 살펴볼게요! 기획 : 어쩌다 Pixel Palette를 만들게 되었나 친구와 홍대에서 신나게 놀고 퇴근 시간 즈음에 2호선을 타고 집으로 돌아가던 길이었어요. 퇴근 시간이라 사람도 많고, 뒤에 아저씨가 밀어서 짜증도 나는 상태였는데 순간 환해진 창 밖을 바라보는데 해가 지고 있는 한강이 보고 있더라구요..
버그 리포트 #11 에 올렸던 내용으로, NSAttributedString이 문제인 줄 알았으나 결국은 (아니나 다를까) collection view의 잘못이었던 문제에요. 간단히 살펴보면 아래와 같습니다. (Bug Report Issue #11 https://github.com/Sueaty/PixelPalette/issues/11 ) ## 문제상황 오른쪽과 왼쪽이 다른 것 보이시나요? 첫번째, 두번째 cell을 자세히 보면 보이실 것 같아요~! 두 상황 모두 비정상이에요. 언제나 하나의 레이블만 highlight 되어야 하거든요. cell의 배경색에 따라, 밝으면 아래 label에 어두우면 위 label에 highlight가 됩니다. 전 highlight를 위해 NSAttributedString을 사용..
현재 주요 기능에 대한 개발은 끝 마친 상태지만 다양한 use case를 토대로 실험을 해보니 고려하지 못한 부분들에서 버그들이 속출하네요. 아차차 아차차! 속.출. 까지는 아니고, 좀 거슬리게 눈에 보이네요ㅎㅎ 버그가 아니더라도 사용성을 조금 헤치는 것 같은 것들도 있고 해서 고치고 있어요. 깃헙에서 이슈 리포트 템플릿을 만들어서 지금 계속 활용하고 있어요. 효과적으로 버그 리포팅을 할 수 있는 양식들이 다양하지만 저는 깃헙 양식을 조금 수정해서 따르고 있네용! 직접 사용해보니 Description, How to Reproduce, Expected Behavior 는 필수로 작성을 하게 되고 Screenshot이나 Additional Context는 필요에 따라 쓰고 있어요! 위의 예시에는 Screen..
가끔 의도하지 않은 결과물이 웃음을 주는 경우가 있는 것 같다ㅋㅋ 작업하던 프로젝트의 디자인(?)을 바꾸기로 결심했다. 뭔가 키노트로 직접 그려보니까 바꾸는게 더 이뻐 보일 것 같아서. 바보같은 오뱅미니를 이렇게 확대해서 보는게 더 좋을 듯 하여 기존에는 aspect fit 으로 작업하며 사진 크기만큼만 받게 하였으나 꽉 채운 다음 pan gesture와 pinch gesture로 확대와 이동을 가능하게 하는게 더 좋을 것 같았다. 그래서 image view에 gesture recognizer 걸고 했는뎈ㅋㅋㅋㅋㅋ 이미지 뷰 전체가 움직여버리네ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 진짴ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 스크롤 뷰에 넣어보면 되려나? 다시 작업하러 총총ㅋㅋ
로컬에서 작업하며 커밋만 쌓아두다 "오늘은 푸시해야겠다~" 라고 마음을 딱 먹었는데 아니 이런?! Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. 사실 별 건 아니고 그냥 시키는대로 하면 되는 일이라 간단하게 방법만 살펴보겠습니다. 급하신 분들은~ 1. github.com → Settings → Developer Settings → Personal Access Tokens 생성 2. Keychain에 암호로 지정 안급하신 분들은 아래 사진으로 함께 보세요!
제목에서 진심이 느껴지는지 모르겠네요... 몇 주 전 어김없이 전 개인 프로젝트를 위해 집 앞 카페로 나왔어요. 당시 테이블 세팅 상황을 그려봤어요. 왜 멍청하게 저렇게 두고 있었는지, 지금 제가 그린 그림을 다시봐도 이해가 되지 않네요 😡 1. 무엇을 왜 쏟았는가? 제 유선 이어폰 줄 보이시나요? 맥북과 컵 사이에 있죠? 저거를 컵 뒤로 놓고 싶어서 이어폰 줄의 위치를 옮기자마자 손목에 걸리면서 컵을 그대로 넘어뜨렸어요. 띠로리~... 불행 중 불행인 것은 순수한 물이 아니라 커피(불순물 존재)라는 것, 그러나 불행 중 다행인 것은 설탕이 들지 않은(바닐라 라떼, 모카 라떼, 프라푸치노 등) 아이스 아메리카노 였다는 것. 2. 어디로 쏟아졌는가? 사실 확실하진 않지만 커피가 있는 우측 방향에서 키패드 ..
여러분 혹시 스토리보드를 사용하지 않고 코드를 통해 뷰를 작성 해보신 적 있으세요? private lazy var titleLabel: UILabel = { let label = UILabel() return label }() UI Component를 만들 때 주로 lazy 키워드를 사용하게 되는데요, 어떤 이유로 사용하는걸까요? Lazy Stored Property Lazy 키워드를 통해 변수를 선언하면 변수를 사용하기 전까지 값을 할당하지 않습니다. 다음과 같은 경우에 lazy property를 유용하게 사용할 수 있습니다. 1. Property의 초기값이 외부에 의존 되어 있어서 객체의 초기화가 끝나기 전까지 확실치 않을 때 2. Property의 초기값이 복잡한 계산을 요해서 사용 전까지는 계산하..
저는 언제나 비동기 작업들이 골치 아픈데 hoxy... 여러분도 그러신가요? 비단 통신단에서 뿐만 아니라 앱 곳곳에서 발생하는 이벤트들도 모두 비동기적으로 발새합니다. RxSwift와 Combine을 통해 비동기 프로그래밍을 한다면 수월하게 해격할 수 있겠지만 오늘은 더 베이직한 방법 중 하나를 골라 이야기를 해보려고 합니다. 서로 다른 객체 간 소통이 이루어질 때 3가지 패턴 중 하나를 주로 사용합니다. •Notification •Delegation •KVO 오늘은 이 중에서도 Notification을 골라봤습니다! 글을 시작하기 전에... Swift3 이전까진 NSNotificationCenter라고 불렸습니다. 그래서 StackOverflow나 Medium 등 예전 글에서는 NSNotificatio..
iOS 개발을 하면서 매일 뷰와 사용자와 interaction이 가능한 다양한 UI Components를 만들지만 "View Rendnering" 에 대한 이해가 부족함을 느꼈습니다. View에 대한 이해가 부족하니 문제 해결도 잘 안됐던 것 같아요. 에러나 버그가 생기면 무작정 뷰 디버거를 열고 이리저리 돌려보고 view hierarchy를 봐도 해답을 못 찾기 일쑤였죠. 그래서 Layout, Display 그리고 Constraint를 관장하는 Update Cycle에 대해 정리해보겠습니다. Main Run Loop와 Update Cycle Main run loop와 Update Cycle에 대해 공부를 해보셨다면 아래 두 다이어그램을 한 번 쯤은 보셨을 것 같아요. 좌측에는 앱이 실행된 후 사용자가 ..
- Total
- Today
- Yesterday
- 삼성
- 데이터분석
- 삼성소프트웨어아카데미
- 부스트캠프2020
- 컴퓨터공학
- C++
- 개발자인턴
- ios
- 프로그래머스
- TableView
- 코테
- 컴공졸작
- 커넥트재단
- 알고리즘
- 소프트웨어역량시험
- swacademy
- 부캠
- 소프트웨어아카데미
- 졸업작품
- 운영체제
- 부스트캠프
- 인턴
- RxSwift
- 컴과졸작
- nosql
- OS
- 코딩테스트
- 보안
- firebase
- SWIFT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |