분류 전체보기 (29) 썸네일형 리스트형 네이버 부스트캠프 8기 iOS 1차 2차 코딩테스트 후기 작년에 네이버 부스트캠프를 알아서 기존에 코테 준비는 하고 있었지만 11월부터 구현 문제 위주로 코딩테스트를 준비했었다. 백준에서 구현과 브루트포스을 실버 상위 ~ 골드 하위 난이도의 문제를 풀었고, 프로그래머스 Lv2를 거의 다 풀었다. 확인해보니깐 11월부터 지금까지 구현 문제 위주로 252문제를 풀었다;; 뭐지 - 1차 코딩테스트 후기 팀네이버 코딩테스트를 봤었을 때 구현 문제에서 기능 로직을 구상해놓지 않고 막 코딩을 해서 시간이 상당히 지체되고 코드가 꼬여서 어디를 수정해야될지 해매던 상황이 있었다. 그래서 이번에는 공부할 때 따로 A4에 로직 구상을 해놓고 짜는 연습을 꾸준히 했다. 그리고 당시에 꾸준히해서 그런지 프로그래머스 Lv2, Lv3와 백준 골드5 구현문제를 40 ~ 50분안에 풀어서.. [swift/iOS] 애플 로그인 & 로그아웃 구현까지의 과정 이번에는 어떻게 애플 로그인 & 로그아웃을 프로젝트에 적용했는지 정리해보려고한다! 서버분도 나도 처음 애플 로그인을 구현하시는거라 서로 많이 애를 먹었다.... 먼저, 애플 로그인을 구현하기 위해서는 애플 개발자 계정이 필요한데 해당과정은 이미 다른 분들이 포스트를 많이 해놓으셨기 때문에 나는 코드적인 부분만 다뤄 볼 예정이다. 1. 로그인 버튼을 눌렀을 때 2. 로그인이 성공적으로 되었을 때 or 실패했을 때 3. 앱이 실행되었을 때 3-1 앱이 백그라운드에서 다시 넘어왔을 때 4. 자동 로그인 5. 로그아웃 1. 로그인 버튼을 눌렀을 때 먼저 애플 로그인을 구현하기 위해서는 AuthenticationServices 라이브러리를 사용해줘야한다. @objc private func didTapAppleLo.. Android Studio를 활용한 안드로이드 프로그래밍 - 4장 정리 (기본 위젯) * 본 포스트는 (Android Studio를 활용한) 안드로이드 프로그래밍 - 4장을 개인적으로 정리한 내용입니다! id 속성 id 속성은 모든 위젯의 아이디를 나타냄 위젯에 접근할 때 id 속성에 지정한 아이디로 접근 일반적으로 동작이 필요한 위젯들만 id속성 지정 Button button1; button1 = (Button) findViewById(R.id.buttion1); android:id="@+id/button1" // 먼저 XML에 작성하고 java 파일에 위젯 선언 XML 속성 layout_width, layout_height: 레이아웃의 너비와 높이 match_parent: 자신의 부모(대개는 레이아웃)에 폭이나 높이를 맞춤 wrap_content: 자신의 폭이나 높이를 자신 안의 글자.. 파이어베이스에 p12 APN 인증서 등록하기 - iOS 이번에 파이어베이스 푸쉬 알림을 사용할 일이 있어서 파이어베이스에 프로젝트의 인증키(p8)이나 인증서(p12)를 등록해야 됐었다. 앱센터 개발자 계정에 p8인증키의 다운로드파일이 어디 있는지 모르는 관계로 p12 인증서로 등록했는데 상당히 해매서 다음을 위해 정리하는 느낌으로 글을 쓰려고한다. 먼저, 애플 개발자 사이트에 들어가서 파이어베이스에 등록하고 싶은 프로젝트를 Identifiers에 추가해준다. App IDs를 체크해주고 Continue를 눌러준다. App을 선택해주고 Continue를 눌러준다. Bundle ID는 해당 xcode 프로젝트파일의 번들 아이디를 입력해준다. Description은 해당 프로젝트의 이름을 적어주면 나중에 구별하기 쉽다. (아무거나 작성해도 됨) 그 다음 푸쉬 알림을.. 클로저(Closure)를 알아보자 사실상 이번에 앱센터에서 팀 프로젝트를 진행하면서 가장 유용하게 사용했던게 클로저인 것 같다. 그동안 클로저를 공부하고 도대체 어디다가 써먹는거지하고 그냥 클로저말고 함수를 사용하면 된다고 생각했지만 이번에 네트워킹 작업과 view들간의 이동에서 원하는 위치에서 함수를 실행해야하는 경우에 정말 유용하게 사용했다. 특히 completion Handlers를 유용하게 사용해서 오늘 정리하고자 한다. 클로저에 대한 설명은 swift 공식 문서에 잘 나와있으니깐 해당 문서를 참고하길... https://devxoul.gitbooks.io/ios-with-swift-in-40-hours/content/Chapter-3/functions-and-closures.html 함수와 클로저 (Closure) · 40시간만.. UICollectionViewCompositionalLayout에 대해서 알아보자 이번에 앱센터에서 Netflix 스타일의 앱을 프로젝트로 진행했다. 해당 화면같이 다양한 구조의 화면 배열을 구현하기 위해서 기존의 CollectionView의 UICollectionViewFlowLayout객체로만으로는 구현하기가 불가능하다. 따로 ScrollView와 ContainerView, collectionView등 다양한 View들을 사용해야 구현이 가능하지만 UICollectionViewFlowLayout을 통해 해당 화면과 비슷한 구성을 CollectionView만으로 구현할 수 있다. UICollectionViewCompositionalLayout이란? 별개의 구조로 나뉘는 섹션들마다의 레이아웃을 지정해준다. Section, Group, item으로 구성되어있으며 의도대로 배치할 수 있다.. Map 함수 이번에 앱센터 과제를 하다가 Map함수가 나와서 좀 알아보았다. Map 함수는 스위프트 라이브러리에서 제공하는 유용한 고차함수에 포함된다. (map말고 filter, reduce도 있다.) 그럼 고차함수란 무엇일까. 고차함수는 다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수를 뜻한다. 즉, 함수를 전달인자로 받거나, 함수의 반환값이 함수인 함수를 고차함수라 한다. map(_:) 시퀀스의 요소에 대해 주어진 클로저를 매핑한 결과를 포함하는 배열을 반환합니다. Declaration func map(_ transform: (Self.Element) throws -> T) rethrows -> [T] Parameters 변환 매핑 클로저. 변환은 이 시퀀스의 요소를 매개변수로 받아들이고 동.. 앱센터 스터디 1주차 정리 왼쪽화면은 TaskViewController, 오른쪽화면은 SettingViewController입니다. 먼저 TaskVC에 대해서 어떤식으로 구성했는지 설명해드리겠습니다! 강의에서는 컬렉션 뷰를 이용해서 구성했던데 저는 강의를 좀 나중에 들어서 TableView로 구현했습니다... 일단 커스텀 Cell을 이용해주기 위해 UITableViewCell과 xib(Identity: "todocell")를 생성해서 디자인을 해줬습니다. 왼쪽에는 체크 버튼, 가운데에는 label, 오른쪽에는 삭제버튼으로 구성했습니다. 먼저 TasksViewController는 UITableViewController가 아니기때문에 Table View 객체를 만들어서 화면에 놧뒀습니다. 그리고 아까 만든 커스텀 셀과 TabelVie.. 이전 1 2 3 4 다음