본문 바로가기

전체 글

[주접 iOS] YPImagePicker : 여러 개의 영상과 사진을 자유 자재로 불러오기( ft. 코코아팟 설치 에러 해결 ) 0. 써드 파티 - 오픈 소스 github.com/Yummypets/YPImagePicker Yummypets/YPImagePicker 📸 Instagram-like image picker & filters for iOS. Contribute to Yummypets/YPImagePicker development by creating an account on GitHub. github.com 이번에 사용해볼 써드 파티 API는 "YPImagePicker" 입니다. 그전에, 귀찮을 일이 또 있습니다. 애플에서 공식적으로 제작한 API가 아니기 때문에, 바로 import할 수는 없습니다. 써드 파티 API를 사용하려면, cocoa pod 이라는 툴을 사용해서 할 수 있어요 !! 1. 코코아팟을 이용해 써드 파.. 더보기
[쉬운 설명] 백준 1912번 연속합(파이썬, dp) www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 사실 이 문제는 여느 동적프로그래밍 문제에 비해서 너무 너무 쉬운 편이에요. 그렇다고 해도, 제 딴의 풀이를 공유해볼게요. 베이스 아이디어 1. 주어진 정수 리스트에 대한 리스트를 만든다( 흔히 말하는 dp list ) 2. dp의 의미는 이 인덱스 입장에서 취할 수 있는 최대입니다. * 여기가 중요한데요. * 만약, 이 번 인덱스에 주어진 수에 의해서, 이전 인덱스까지의 dp를 감소하게 한다면, 그 이전 인덱스까지의 결.. 더보기
[주접 iOS] UIImagePickerController ( 쉬운 설명, easy-explained ft. cocoapods ) 1. UI Image Picker Controller 1. 이 놈의 능력 이 객체는 뭘 할 수 있는 놈일까요? 공식 문서에 답이 있죠 항상 ... 1. 사진을 직접 찍어서 불러오기 2. 동영상을 직접 찍어서 불러오기 3. 사진 또는 영상을 앨범에서 가져오기 크게 이 세 가지를 하는 놈입니다. 2. 사람들이 보통하고 싶어하는 것들 그럼 보통 저희가 저놈의 저 능력을 어떻게 이용하려고 하죠? 보통의 경우 : 1. 유저가 원하는 사진 또는 영상을 찍어서 업로드 하기 2. 사진, 영상이 있는 갤러리에서 자유 자재로 골라서 하나 또는 여러개를 업로드 하기가 대부분의 경우 위 두 가지 경우로 나눌 수 있겠네요 !! 그렇쥬? 1에 도전해 봅시다 그러면. 이거 하면 반은 정복하는 거에요. 매우 간단하니 레츠고~ 항상 .. 더보기
[꾸준i-OS] alignment rectangle( 쉬운 설명, easy-explained ) 0. 설명 전 판깔기 우선 오토레이아웃을 쓰는 이유가 뭐였죠? 절대적인 좌표계를 사용하는 것은, 마치 스크린의 사이즈를 미리 알고 있다고 가정하고 쓰는 것입니다. 그래서 만약, 아이폰7의 좌표를 기준으로 만든 앱이 아이폰 11프로 또는 랜드스케이프 모드의 아이패드에서 사용된다면, 당연히 매우 작게 보일 거고, 화면에 레이아웃이 이상하게 잡히겠죠. 저런 문제를 방지하기 위해, UIView의 frame이 런타임 동안에 계산되면서 실시간으로 사용되고 있는 스크린 사이즈를 고려해서 결정될 수 있게 해주는 것이 autolayout입니다. 뜬긊없이 오토레이아웃이 왜 나오냐구요? 오토레이아웃이 바로 오늘 다룰 주제인 Alignment Rectangle을 기준으로 작동하기 때문입니다. 1. 도대체 Alignment R.. 더보기
[쉬운 설명] 백준 9251 : LCS( Longest Common Substring ) 길이 찾기 www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 전체적인 이 문제 감상평 : DP문제는 진짜 문제를 많이 풀어봐야겠네요. 솔직히 말해서, 테이블을 만들어서, dp를 진행하는 아이디어를 쌩으로 떠올리기에는 어려움이 많죠. 많이 풀어보면서 감을 익혀야할 것 같아요. 이번 하반기에 코테를 9 ~ 10개를 보면서 느낀 거지만, 변별력을 만드는 문제로 꼭, 이 디피 문제가 나왔어요. 백준에 있는 단계별 풀어보기에 동적 프로.. 더보기
[꾸준i-OS] unwind segue (쉬운 설명, easy-explained) # 단어 뜻 영어 단어의 뜻을 먼저 살펴보니, '풀다'네요. 또한, 이 단어는, 비디오에 대한 맥락에서 보면, 되감다의 의미도 됩니다. 즉, 세그웨이를 통해, 하위 스크린으로 이동한 것을 "되감는", "돌아가는" 세그웨이 입니다. # 스크린 되감기의 여러 방법 1. delegate가 되어, 상위 스크린을 네비게이션 컨트롤러 레퍼런스를 이용해 pop하기. * 이 방법 많이 쓰죠. * delegate protocol을 정의하고, * 상위 스크린은 그 프로토콜을 채택하고, * 델리게이트 메소드를 구현하고, * 세그웨이 prepare할 때 다음 스크린의 델리게이트가 되고 * 그 다음 스크린에서 '완료' 버튼에 대한 액션 메소드로서, delegate의 메소드를 호출합니다. * 이 시점에, 그 다음 스크린에서 생성.. 더보기
Handling low-memory situations 한 앱에 배정된 메모리 양이 얼마 남지 않았을 때, UIKIT는 "LOW MEMORY WARNING"을 보낸다. 그 때는, 메모리에서, 현재 들고있지 않아도 되는 것들을 해제시킬 필요가 있다. > 특히 다음과 같은 상황에 경고를 받기 쉽다 : 1. 다른 앱들이 백그라운드에 있는 상황. 2. 이미지 픽커를 통해, 갤러리에서 사진을 가져오고 있는 상황. > Action : 다음의 메소드를 오버라이드 하여, 현재 필요없는 것 떨구기 : override didReceiveMemoryWarning( ) { } * 여기서, 현재 당장 필요없거나, 쉽게 다시 만들고 다시 불러올 수 있는 것들을 해제한다. * 예를 들어, 메모리가 부족하다면, thumb-nail들을 메모리에서 해제해도 되고, 캐시된 객체들을 해제해도 .. 더보기
[꾸준i-os] ios extension : 타입을 정의를 확장하기 주요 사용 목적 1. 관련된 기능들을 그룹화 2. 클래스, 스트럭트, 이뉴머레이션에 희망하는 기능을 추가 != 상속과는 다른 점 추가 가능한 것 > 메서드 > computed property > 다른 속성과 메서드를 결합한 새로운 편의 속성 만들기 가능 추가 불가능한 것 > instance variable > 객체의 템플릿 자체를 재정의할 수는 없다. 더보기