[Swift] Hashable 안녕하세요. 오늘은 제너릭을 공부할 때도 딕셔너리를 공부할 때도 언급되는 Hashable 프로토콜에 대해 공부해보려 합니다. 사실은 제너릭에 관한 내용을 정리하려 했으나 그 이전에 앞서 Hashable을 먼저 정리해야 할 것 같아서 이렇게 글을 작성하게 되었습니다. 그럼 바로 시작해보도록 하겠습니다. Overview 스위프트에서 딕셔너리의 키와 세트로 사용되기 위해서는 해당 타입은 반드시 Hashable 프로토콜을 준수해야 합니다. 그렇기 때문에 String, Integer, Floating-point 그리고 Boolean 타입과 같은 Standard library에 속한 많은 타입들은 Hashable 프로토콜을 준수합니다. 심지어는 세트 타입도 기본적으로는 해시값을 제공합..
[iOS BoostCourse] JSONEncoding & JSONDecoding 학습에 대한 내용은 Edwith에서 제공하는 iOS 부스트코스를 공부하면서 참고한 것입니다. [관련 강의] JSONEncoder과 JSONDecoder에 대해서는 익히 많이 들어봤습니다. 서버로부터 데이터를 받아올 때 json을 필히 다루게 되는데 사실 지금까지 저는 다음과 같은 방식으로 데이터를 파싱해왔습니다. 다음은 졸업 작품으로 진행중인 비콘을 활용한 프로젝트 코드의 일부입니다. 서버로부터 매장들의 비콘 식별 값들을 받아올 때 Alamofire를 이용해서 json 데이터를 받아오는 상황입니다. 단순하다면 단순할 수 있는 코드이지만 만일 받아오는 값이 많아진다면 상당히 귀찮은 작업이 될 것입니다. 그럼에도 불구하고 저는..
iBeacon - basic 안녕하세요. 저는 현재 졸업 작품으로 "비콘을 활용한 실내 측위 마케팅 솔루션"이라는 주제로 프로젝트를 진행하고 있습니다. 평소에 비콘에 관심이 많았고 졸업 작품을 계기로 이를 직접 구현해보게 되었습니다. 간단하게 주제를 설명드리자면 코엑스나 스타필드 같이 대형 복합 상업 시설에서 비콘을 활용해 사용자가 선호하는 브랜드들을 바탕으로 할인 정보나 각종 이벤트 정보를 전달해주는 동시에 비콘의 영역 내/외부 판단과 매장 비콘으로부터의 거리 정보, 영역안에 머문 시간등의 데이터들을 실시간으로 서버에 전송하여 사업자로 하여금 마케팅에 활용할 수 있게끔 이러한 데이터들을 제공하는 솔루션입니다. 이를 위해서는 iOS에서의 비콘 프로그래밍에 대해 공부를 하였고 이를 통해 알게 된 사실들을 ..
네이버 핵데이 후기 핵데이를 다녀왔습니다! 춘천 네이버 커넥트원에서 핵데이가 진행되었습니다. 엄청난 크기와 멋진 인테리어를 갖추고 있었습니다. 건물이라기보단 건축물이라고 부르는 것이 더욱 잘 어울리는 그런 곳이었습니다. 이런 멋진 건축물을 즐길 틈도 없이 바로 자리를 배정 받고 개발에 들어갔습니다. 저녁, 아침, 점심 이렇게 총 세번의 식사와 야식 시간을 제외하곤 모든 시간을 개발에 집중했던 것 같습니다. 밥이 정말 소문대로 엄청나게 맛있었습니다! ( 야식은 조금 아쉽네요 허허 ) 엄청난 멘토분과 엄청난 멘티분들! 그 분들에게서 정말 많은 것들을 배울 수 있었습니다. 그리고 제가 아직 정말 많이 부족하다는 것 또한 깨달았습니다. 일단 저는 개발 시야의 폭이 좁고 편협했습니다. 구조, 유지보수, 컨벤션 등..
[ios] 네아로 사용법 (네이버 아이디로 로그인) 안녕하세요. 오늘은 네이버 API를 활용한 네이버 소셜 로그인 기능이 필요하여 이를 구현해보았습니다. 하지만 Pod으로 배포되었음에도 불구하고 Pod을 통한 사용법과 정보를 얻어오는 과정까지 자세히 설명된 글이 없어 정리해보고자 이렇게 글을 작성하게 되었습니다. 그럼 바로 시작해보도록 하겠습니다. 애플리케이션 등록 애플리케이션 등록에 앞서 먼저 Xcode를 통해 프로젝트를 생성해주세요. 그 다음 네이버 개발자 센터에 로그인을 하시고 링크를 통해 애플리케이션을 등록을 진행합니다. 입력의 예는 다음과 같습니다. 애플리케이션 이름 : 사용자 정보를 요구할 때 사용자에게 보여지는 서비스 및 애플리케이션의 이름을 명시해줍니다. 저는 프로젝트 이름과 동일하게 작성..
[iOS] AVFoundation & Media Playback Programming Guide AVFoundation Programming Guide 와 Media Playback Programming Guide 보면서 공부한 내용을 제가 이해한 것을 바탕으로 정리한 내용입니다. 올바르지 않은 정보가 있다면 피드백 부탁드리겠습니다. 몇몇 단어와 용어는 영어 단어를 통해 이해하는 것이 더욱 직관적이므로 굳이 한글로 바꾸어 설명하지는 않았습니다. 이점 참고하여 읽어주시기 바랍니다. About Media Playback AVKit와 AVFoundation은 음원이나 영상을 처리할 때 사용할 수 있는 프레임워크입니다. 이 가이드에서는 이러한 프레임워크의 강력한 기능을 활용하여 미디어 재생 응용 프로그램을 만드..
[알고리즘] 백준 9095번 문제 1,2,3 더하기 풀이 N을 1,2,3의 조합으로 만들 수 있는 개수를 구하는 문제다. 그렇기 때문에 N이 3일 때까지는 Default 값으로 배열을 채워주었다. 만약 N이 4라면 3을 만든 조합들에 1을 추가해주는 방법으로 4를 만들 수 있고, 2를 만든 조합들에 2를 추가해서 4를 만들 수 있고, 1을 만든 조합에 3을 추가하여 4를 만들 수 있다. 즉 이전에 만든 값을 통해 현재의 값을 구할 수 있는 것. 그렇기 때문에 점화식은 다음과 같이 나온다. dp[N] = dp[N-1] + dp[N-2] + dp[N-3] 코드
[알고리즘] Longest Common Subsequence - Length 안녕하세요. 오늘은 학교 수업 중 알고리즘 강의를 굉장히 재밌게 들었고 내용을 보다 확실히 이해하기 위해 기록을 통해 다시 한번 생각해보려 글을 작성하게 되었습니다. 오늘 배운 알고리즘 다이나믹 프로그래밍 (DP) 중 유명한 알고리즘 문제중 하나인 Longest Common Subsequence, 줄여서 LCS 문제를 분석해보는 시간이였습니다. 그 중에서도 문자열의 LCS에 대해 공부를 해보았습니다. LCS란 두 문자열에서 서로 공통되는 가장 긴 부분 문자열을 말합니다. LCS 문제는 이 부분 문자열을 구하는 문제가 되는 것입니다. 그럼 바로 시작해보도록 하겠습니다. LCS 먼저 단순히 뜻만으로는 와닿지 않을 수 있으니 몇 가지..
- Total
- Today
- Yesterday
- 백준
- iPhone
- boostcourse
- UIControl
- nodejs
- 클로저
- Operating System
- auto layout
- segue
- 프로토콜
- IOS
- 오토레이아웃
- oauth2.0
- 테이블뷰
- edwith
- CRUD
- Xcode
- storyboard
- 스위프트
- 알고리즘
- 부스트코스
- Codable
- 운영체제
- Swift
- notificationcenter
- Algorithm
- 아이폰
- TableView
- UIResponder
- Protocol
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |