- Total
목록오뚝이 개발자 (209)
꿈꾸는리버리
[백준 알고리즘] 1107 리모컨 문제: https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 풀이방법: 1) 현재 번호 100에서 ( +,- 클릭 횟수 ) 2) 가고 싶은 채널 근처에서 가려는 채널로 가기 ( 채널 번호 클릭 횟수 & +,- 클릭 횟수 ) Tips 2)을 구할 때 0 ~ 500000가 아니라 0 ~ 1000000까지 고려해야 함 수빈이가 원하는 최대 채널은 500000이지만, 티비 채널은 무한대로 존재 예를 들어 수..
Settings 몇 app은 유저에게 setup이나 설정을 요구하는데 사실 웬만한 app들은 이걸 피하거나 연기할 수 있다. 잘 만든 app들은 대부분의 사람들이 바로 사용할 수 있게 먼저 디폴트 세팅을 만들어놓고, 추가적으로 기능 조정을 원할시 편리하게 바꿀 수 있도록 제공한다. ( 이때, 디폴트 세팅은 사용자의 needs를 파악해서 다수의 사용자가 편리한 값으로 ! ) 궁극적으로, 우리의 app을 대부분의 사람이 바로 사용할 수 있게 만드려면, 유저가 뭔가 설정해야 한다는 요구를 줄여야 한다. setting 설계법 1️⃣ 시스템에서 정보 추적하기 user, device, or environment에 대한 정보가 필요하다면 가능한 유저에게 묻지 말고 setting에서 가져오라. ex) 우편번호를 사용자..
User Data and Resources 접근의 중요성 유저의 프라이버시는 가장 중요한 문제이다. 사람들이 당신의 app을 믿을 수 있게 하기 위해서 프라이버시 관련 data와 resource를 요구할 때 왜 쓰는지 분명하고 투명하게 알려줘야 한다. 애플은 사용자의 개인정보를 아주 중요하게 여긴다. 그래서 애플 "앱"에서도 개인정보에 접근을 하거나 사용을 해야 할 때 사용자에게 허락을 받고 사용해야 한다. 그리고 허락을 받기 위해서 해당 정보를 어떻게, 어디에, 무엇을 위해 사용하는지 보여주어야 한다. (이를 지키지 않을 시 해당 앱이 리젝될 수 있다.) ex) 유저에게 access를 위한 permission 요청 예시 개인 정보 : 지역, 건강, 금융, 연락처, 기타 개인적인 식별 정보 등 User-..
Navigation 이란? Navigation은 content를 연결해주는 역할이다. 사람들은 기대와 다른 경험을 하기 전에는 navigation의 존재를 알지 못한다. 따라서 App 설계자는 Navigation 자체가 공기처럼 자연스럽게 흘러가게 하면서 interface를 지배하거나 content의 집중을 빼앗지 않고, App의 구조와 목적을 잘 서포트하는 방식으로 구현해야 한다. navigation의 예시 해당 내용들을 HIG 사이트에서 확인할 수 있다. page controls -> 사람은 7 +- 2개 정도의 정보만을 저장하는 밀러의 법칙에 따라 10개 이하의 control이 있어야 한다. -> 테슬러 법칙(복잡성 보존 법칙) : 줄일 수 없는 특정한 복잡성들 tab bars segmented c..
🌷 Xcode 시리즈 목차 1) Custom File Template 만들기2) 함수 설명 주석 달기3) Xcode 여러 버전 다운 받기4) Dev 용 앱 분리하기5) Xcode 단축기 모음 6) 커스텀 자동 완성 만드는 방법 (Code Snippet)7) xcodeproj vs xcworkspace깃허브에서 다운을 받거나 cocoapods를 사용하면 이렇게 두 가지의 헷갈리는... 녀석이 생긴다. 내가 아는 것은 cocoapods 라이브러리를 다운 받고 나면 workspace로 작업을 해야한다는 것 뿐..!오늘은 이 둘의 차이를 알아보려 한다. 1) xcodeproj 와 xcworkspace가 뭘까요 ..? Apple Developer사이트에 정의되어 있는 xcode의 project는 다음과 같..
CocoaPod이란 ? CocoaPods는 Swift 및 Objective-C 코코아 프로젝트의 종속 관리자입니다. 8만 9천 개가 넘는 라이브러리를 가지고 있으며 3백만 개 이상의 앱에 사용되고 있습니다. 코코아 팟은 프로젝트를 우아하게 확장할 수 있도록 도와줍니다. 내가 이해한 바로는 " CocoaPods == Swift 및 Objective-C 라이브러리들의 총 집합 " 이다. Cocoapods 홈페이지에 들어가면 엄청 짧게 사용법이 설명되어져 있었다. 우선 먼저 홈페이지에 들어가서 혼자 해보는 것을 추천한다. CocoaPod 사용법 하지만.. 나는 코딩의 ㅋ도 모르는 사람이기 때문에 첫 시작부터 굉장히.. 버벅거렸다. 본 포스팅은 나 같은 사람을 위해서.. 작성한다! Cocoapods의 라이브러리..
1) Modal란 ? 현재 context 과정에서 다른 context를 가진 임시 모드를 보여주는 방법으로, 시간이 흐른다고 자동으로 없어지지 않고 사용자가 action을 주어야 modal 창이 사라진다. - 공식 문서에서 "context"라는 말이 자주 쓰이는데 이때 "context"란 사용자의 상황/문맥을 말한다. ex) 연락처에 이름과 전화번호를 입력하고 있는 context -> 연락처에 사진을 입력하는 다른 context - "임시 모드"라고 하면 짧고 해야 하는 일이 분명한 모드라고 생각하면 된다. 예를 들어서 전자 시계에서 현재시각을 보여주는 기본에 "날짜"를 확인할 수 있는 모드, "스톱워치"기능이 있는 2가지의 추가 모드가 있는 것처럼, 부가적인 추가 기능이라고 생각하면 쉽다. Modal과..
Kanban board가 뭘까? Kanban board 란 agile 방법론을 실행하는 도구 중에 하나이다. 이때, agile(에자일)이란, 작업 계획을 짧은 단위로 세우고 시제품을 만들어 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론이다. Kanban board는 일의 진행 상황을 시각화해서 확인할 수 있으며, 현재 집중하고 있는 task의 개수를 조절할 수 있다는 장점이 있다. 프로젝트를 진행하는 동안 모든 것을 한 번에 변경하거나 완료하려고 하면 시스템이 작동하지 않을 수 있다. 따라서 Kanban은 지속적인 개선과 점진적인 변화에 집중을 한다. 한 번에 모든 것을 해결하는 대신 팀의 프로세스가 시간이 지남에 따라 점진적으로 발전되어 하나하나의 task에 ..