- Total
목록오뚝이 개발자 (178)
꿈꾸는리버리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sd8eO/btryxIsm5Om/WY7QwQlQYKkGDvKfw3qluK/img.png)
Kanban board가 뭘까? Kanban board 란 agile 방법론을 실행하는 도구 중에 하나이다. 이때, agile(에자일)이란, 작업 계획을 짧은 단위로 세우고 시제품을 만들어 나가는 사이클을 반복함으로써 고객의 요구 변화에 유연하고도 신속하게 대응하는 개발 방법론이다. Kanban board는 일의 진행 상황을 시각화해서 확인할 수 있으며, 현재 집중하고 있는 task의 개수를 조절할 수 있다는 장점이 있다. 프로젝트를 진행하는 동안 모든 것을 한 번에 변경하거나 완료하려고 하면 시스템이 작동하지 않을 수 있다. 따라서 Kanban은 지속적인 개선과 점진적인 변화에 집중을 한다. 한 번에 모든 것을 해결하는 대신 팀의 프로세스가 시간이 지남에 따라 점진적으로 발전되어 하나하나의 task에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lbZqz/btryp5awcgM/dwoIkZiupgjzoW5I0Fw1g0/img.png)
콘텐츠들을 불러올 때 로딩되고 있음을 알려주지 않으면 사용자가 로딩되고 있는지 혼란스러워 하고, 앱을 나갈지도 모른다. 경험담으로,, 온라인 장부 만들었을 때 로딩화면 안 만들었다가 사용자들이 엥 뭐지 하는 것을 본 적이 있다... 중요하다.. 로딩화면... 특히, 서버랑 통신을 할 때 꼭 ! 만들어야 한다!! 1️⃣ 현 상확을 명백하게 알려라. 현재 뭔가가 진행되고 있음을 spinner나 게이지 바를 통해 현재 몇 % 로드가 되었는지 알려줘야 한다. 2️⃣ 콘텐츠를 빨리 보여줘라. 사람들이 예상하는 화면을 보기 전에 콘텐츠가 모두 로드되기를 기다리게 하지마라. 화면을 placeholder text, graphics, animation 등으로 표시 해주는 것이 좋다. 애니메이션이 재생되는 동안이나 사용자..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/44sYR/btryk1ZCNoV/WmhjbciarTACXOr17Yunb0/img.png)
1) Onboarding이란 ? 사용자들은 앱의 유익함을 배울 기회를 원하면서도, 그냥 설명을 듣지 않아도 앱을 잘 사용할 수 있기를 원한다. 이러한 needs를 충족시키기 위해서 Onboarding는 앱의 새로운 테마, 기능, 메뉴얼들을 소개한다. 온보딩에서는 튜토리얼( 사용 가능한 기능 미리 보여주기 ), 사용자의 불편함 나열하기, 사용자의 리뷰 보여주기, 개인화된 경험 제공하기(duolingo) 등을 통해 사용자가 이 앱을 좀 더 잘 사용할 수 있도록 하는 가이드 역할을 한다. 2) Onboarding 주요내용 1️⃣ 사용자들이 앱을 설정하는 것 뿐만 아니라 재밌게 onboarding을 제공 ! Onboarding에서는 "재밌게", "유익한" 정보를 "빨리" 전달하는 데에 집중해야 하기 때문에 앱의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kAXqZ/btrymiNvn6b/FuvjfScY1UF025eZ4o0QvK/img.png)
정리 Launching에서는 사용자가 앱을 Launching시에 준수해야 할 것들에 대해서 정리가 되어 있다. 이때 Launching이란, App이 시작될 때 특정 Screen을 잠깐 보여줬다가 App의 첫 화면으로 이동하는 과정을 말한다. 즉, 사용자가 앱을 사용하기 전에 데이터를 불러오거나, 앱을 사용하기 위한 설정이 요구되는 등의 앱의 실질적인 사용 이전 단계라고 생각하면 된다. 1) Launching의 중요성과 핵심 word Launching의 중요성 앱을 사용하는 사람의 입장에서 launching은 중요한 역할을 한다는 것은 누구나 짐작할 수 있다. 사용자들은 앱을 처음 사용할 때 launching화면을 보며 앞으로의 앱 사용에 대한 기대를 하기도 하고, 개발자는 launching 화면을 이용해..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dauzdD/btryg4b03pf/K3Xk2DkNFoigb3J19aFssk/img.png)
1) Human Interface Guidelines를 공부해야 하는 이유 대부분의 iOS 앱은 공통 인터페이스 요소를 정의하는 프로그래밍 framework인 UIKit/ SwiftUI의 구성 요소를 사용한다. 이 프레임워크는 높은 수준의 custiom을 가능하게 함과 동시에 시스템 전체에서 앱이 일관된 모습을 나타낼 수 있도록 한다. 사용자들에게는 UIKit 요소는 유연하고 친숙하다. 어떤 iOS 기기에서나 화면이 깨지지 않도록 도와주며, 시스템이 외관 변화를 도입하면 자동으로 업데이트된다. 대부분의 iOS 앱은 UIKit/ SwiftUI의 components를 사용하게 되는데, 이 framework를 통해서 일관된 디자인과 함께 사용자의 흐름을 이끌어낼 수 있다. UIKit 요소는 사용자에게 친숙하면..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kSWxS/btrynifvS9y/sYOxlM8kC7DKgFHVOUKyd1/img.png)
TextView 와 TextField 차이 UIKit의 요소는 크게 View, Controls, Bars로 이루어져 있다. TextView는 View에 해당하고 TextField는 Controls에 해당한다. 즉, TextView는 사용자의 메인 활동을 책임지는 주요콘텐즈로 여러줄이 입력 가능하고, TextField는 사용자의 정보를 전달받는데에 사용되고 한 줄만을 입력받을 수 있다. TextViews 여러줄 가능한 View 지정 높이 초과시 스크롤링 가능 사용자가 클릭 시 키보드 나오고 입력을 받는 필드 input의 특성에 맞게 적절한 키보드가 나와야 함 TextFields 이름과 전화번호 같이 짧은 정보를 한 줄만 입력을 받을 수 있는 control 별도의 레이블 보다는 placeholder로 입력해..
Lo-Fi Prototype 우선 Lo-Fi Prototype은 Low-fidelity의 약자로, ‘충실도가 낮은’, ‘완성도가 낮은’ 프로토타입을 의미한다. 이 과정에서는 말로 풀었던 아이디어들을 시각화 시키는 것이 목적이다. 따라서 이전에 나왔던 아이디어들을 만들고자 하는 앱의 컨셉에 맞게 화면에 배치하고 표현하는 과정이라고 생각하면 된다. 대략적으로 스케치를 하는 과정을 의미하기 때문에 펜과 종이만 있다면 팀원들과 함께 의논을 하면서 컨텐츠, 화면 흐름 등을 구성할 수 있다. 그렇기 때문에 디자이너가 아니더라도 누구나 이 과정을 함께 참여할 수 있다는 장점이 있다. 또한 빨리 그리고 빨리 수정이 가능하다는 점이 있다. 중간 중간에 수정을 하는데에도 오랜시간이 걸리지 않을 뿐만이 아니라, Lo-fi ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/k9smx/btrm5z0MfTo/5DhHt0NFDGGX8yo0Gmhyk0/img.png)
문제: https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이방법: 1) 버블 정렬 void bubblesort(int array[],int N){ for(int i = 0; i array[j+1]){ int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } } 2) 선택정렬 void se..