분류 전체보기
[iOS][HIG] Loading (한글 ver.)
Loading When content is loading, a blank or static screen can make it seem like your app is frozen, resulting in confusion and frustration, and potentially causing people to leave your app. 콘텐츠가 로딩 중일 때 빈 화면이나 정적인 화면은 여러분의 앱이 멈춰있는 것처럼 보이게 하여 혼란을 초래하고 사용자가 당신의 앱에서 나가게 됩니다. Make it clear when loading is occurring. At minimum, show an activity spinner that communicates something is happening. Even ..
[Algorithm] 정렬 | 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬
정렬이란 주어진 데이터를 특정 기준에 따라 순서대로 나열하여 재배치하는 것을 말한다. 정렬된 배열에서 원하는 값을 탐색하는 이진 탐색(Binary Search)를 위해서는 정렬 알고리즘을 잘 알아두어야 한다. 1. 선택 정렬 📌 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 교환하는 과정을 반복 swap(리스트에서 두 원소의 위치를 변경하는 작업)을 이용하면 선택정렬을 쉽게 구현할 수 있다. arr = [4,3,1,7,2,8,6,5] for i in range(len(arr)): min_index = i # 우선 가장 작은 원소의 인덱스로 맨 앞의 원소를 지정 for j in range(i+1, len(arr)): # 맨 앞 원소 제외 if arr[min_index] > arr[j]: # 가장 작은 ..
[iOS][HIG] Onboarding (한글 ver.)
Onboarding Onboarding lets you welcome new users and reconnect with returning ones. An optional onboarding experience that’s fast, fun, and educational can help people get the most from your app without getting in their way. 온보딩 기능을 사용하면 여러분은 새 사용자를 환영하고 돌아온 사용자와 다시 연결할 수 있습니다. 빠르고, 재미있고, 교육적인 온보딩 기능을 통해 사람들은 방해받지 않고 앱을 최대한 활용할 수 있습니다. Provide onboarding that helps people enjoy your app, not jus..
[Swift] Optionals
돌다리도 두들겨보고 건너자. Optional: 데이터가 있을 수도 있고 없을 수도 있는 상태를 나타내는 것 Optional을 사용할 때는 2가지 Case가 있다. (1) 어떤 값이 있어서 그 값을 쓸 수 있는 경우 (2) 아예 값이 없어서 접근하지 못하는 경우 - nil: 아직 값이 없다. ※ 필요에 따라서 매개변수를 옵셔널로 받는 함수를 만들 수도 있다. 옵셔널을 정의하는 법 Optional을 정의할 때는 어떤 Type 뒤에 ?를 붙이면 된다. 이 때, Optional을 쓸 때는 어떤 값이 들어올지 모르기에 Type - Inferring이 안되므로 Type을 반드시 넣어줘야한다. Optional에서 값이 있는지 확인하고 값을 사용하는 방법 | Optional Binding let userInputAge..
[Python] 리스트, 2차원 배열 정렬하기 | sort()
파이썬에는 sort()라는 내장 함수가 존재해 간단하게 오름차순, 내림차순으로 리스트 정렬이 가능하다. 1. 리스트 정렬하기 - 오름차순으로 정렬하기 arr = [2,3,4,5,1] arr.sort() print(arr) # [1,2,3,4,5] - 내림차순으로 정렬하기 arr = [2,3,4,5,1] arr.sort(reverse=True) print(arr) # [5,4,3,2,1] 2. 2차원 배열 정렬하기 - 기본 sort() 사용하기 arr[i]를 기준으로 오름차순으로 정렬되는 것을 확인할 수 있다. arr = [[2,3],[1,2],[0,4]] arr.sort() print(arr) # [[0, 4], [1, 2], [2, 3]] - 특정 값 기준으로 정렬하기 Case1. 행 기준으로 정렬하기..
[iOS] Splash Screen(스플래시 스크린) 구현하기 | Lottie Animation
오늘은 Splash Screen을 Animation으로 구현해볼 예정 Splash Screen은 Launch Screen(런치스크린)이라고도 한다. (= 앱을 시작할 때 앱이 로딩되는 동안 빈 페이지만 노출되지 않도록 1~5초 간 떴다가 사라지는 화면) 넷플릭스의 스플래쉬 화면 디자이너 없이 혼자서 어떻게 애니메이션으로 이루어져있는 스플래쉬 화면을 구현할까? Lottie를 이용하면 할 수 있다 ! 에.... Lottie가 뭐임..? Lottie는 Airbnb 에서 제공하는 모바일 애니메이션 라이브러리이다. https://lottiefiles.com에서 여러 모바일용 애니메이션을 확인할 수 있는데, 이렇게 Free Animations도 있다 ㅎㅎ 들어가면 오른쪽 화면처럼 디자이너분들께서 올려주신 다양한 모..
[Python] Collections - deque | 개념, 메소드, list와의 차이
알고리즘 문제를 풀다보면 자주 사용하는 Collections 라이브러리의 deque 클래스에 대해 알아보자 ! 1. Deque란? 양방향에서 큐를 처리할 수 있는 자료구조 queue(큐)는 FIFO(First in, First out), 즉 먼저 들어간 원소가 먼저 나오는 선입선출 자료구조이다. deque는 양방향 큐의 구조이기에 앞, 뒤 양쪽 방향에서 element 추가/제거가 가능한 유용한 자료구조이다. 2. deque의 메소드(Method) - append(x) : deque 오른쪽에 x를 추가 from collections import deque d = deque('abc') # deque 생성 d.append(1) print(list(d)) # list형으로 출력 # ['a','b','c',1]..
[iOS][HIG] Launching (한글 ver.)
HIG를 한글로 읽어보자! Launching The launch experience has a significant impact on the way people feel about your app. Regardless of the device people are using or how long it's been since they last opened your app, the launch experience should be fast and seamless. 런치는 앱에 대한 사람들의 느낌에 큰 영향을 미칩니다. 사람들이 사용하는 기기나 그들이 마지막으로 앱을 연지 얼마나 되었는 지와 관계 없이, 런치 과정은 빠르고 매끄러워야 합니다. The guidelines below can help you desi..