300x250 전체 글241 동시성 프로그래밍 (2) - GCD/Operation에 앞서 그렇다면 동시성 프로그래밍이 필요한 이유는 무엇일까?예를 들어 테이블뷰에 다운로드 받은 이미지들을 보여주어야 할 때하나를 다운 받고 그 다음 것을 다운 받고 끝나면 또 다음 것을 받고..이런식으로 이미지를 받아와 테이블뷰에 보여주도록 처리 한다면, 한참 시간이 지나야만 모든 데이터들을 테이블뷰에서 볼 수 있게 된다. 바로 이럴 때!처리해야하는 task들을 스레드를 사용하여 빠르게 처리하기 위함이다.이미지들을 동시 다발적으로 다운로드 작업을 처리 하도록 한다면 훨씬 빠르게 테이블 뷰를 완성 시킬 수 있을 것이다. task를 스레드로 분산시키는 방법은task를 queue(대기행렬)에 보내 놓기만 하면된다.이렇게 하면 iOS는 알아서 여러 스레드로 분산시켜 동시에 일을 처리 할 수 있게 해준다. 대기열로 작업.. 2024. 7. 24. 객체지향의 사실과 오해 처음 이 책을 알게된건 개발 학원에서였다.다들 유명한 책이고 객체에 대해 잘 알려준다는 평이 많아서 읽기 시작했는데.이제 막 개발을 시작한 나에게는 무슨 말인지 도저히 이해할 수가 없더라.그래서 2장 정도까지 읽고 더 이상 읽지 않았다.그렇게 몇 년이 지나고 나서야 다시 읽어보게 되었다. 이 책에서 가장 유명한 것은 객체의 역할, 책임, 협력에 대해 '이상한 나라의 엘리스'의 등장 인물들의 관점에서 설명 해주는 부분이다.각 캐릭터들은 자신들의 역할과 책임을 가지고 있고 이들이 소통하면서 답을 얻는 과정을 객체간의 협력이라 말한다.SOLID원칙이라던지 캡슐화, 다향성 등 객체의 중요한 특징들도 함께 설명해주어서 객체지향의 장점들의 특징을 함께 이해할 수 있었다. 처음 개발을 시작했을 때 읽었을 때에는 이.. 2024. 7. 20. 동시성 프로그래밍 (1) - GCD/Operation에 앞서 미루고 미루던 동시성에 대해 공부를 시작했다.사실 그동안 아무 생각 없이 써오던 DispatchQueue...대강 그때그때 필요에 의해, 조금씩. 스레드는 뭐구나 동기 비동기는 이런거구나~ 감으로만 알았달까...이제와서야 동시성 처리에 대한 깊이있는 처리를 해보게 되면서, 진작에 좀 공부할 걸 후회를 시작으로 인강을 먼저 찾아보았다.몇 년 전 나온 async await에 대한 내용도 좋지만, 기본기 먼저 다져야겠다는 생각으로 GCD와 Operation을 선택했고.앨런님의 강의를 결재했다. iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션앨런(Allen) | 동시성(Concurrency)프로그래밍 - iOS프로그래밍에서 필요한 동.. 2024. 7. 16. 디버그, 릴리즈 용 사용 값 구분하기 SDK 사용할 때 Key 값들을 아무생각 없이 static let debugKey = 1static let releaseKey = 2이렇게 작성했다가 뒤늦게 아차 싶었다.그래서 디버그와 릴리즈 빌드시 사용하는 값들을 분리하여 읽어 올 수 있는 방법에 대해 찾아보았는데,info.plist에 변수를 작성하여 구분 하는 방법과 클래스를 작성하여 구분하는 방법이 있는 것 같았다.그러나 결국 info.plist를 사용하더라도 파일을 생성하고 값을 불러오는 코드를 작성해야 해서 클래스를 만들어 사용해보기로 했다! protocol APIKey { var aKey: String { get } var bKey: String { get }}디버그와 릴리즈용 클래스 모두 동일한 프로퍼티를 갖도록 프로토콜로 선언해준 뒤 .. 2024. 7. 8. 네이버 로그인 연동 - 3 / 3 2024.04.08 - [iOS/iOS] - 네이버 로그인 연동 - 1 / 3 2024.04.08 - [iOS/iOS] - 네이버 로그인 연동 - 2 / 3 네이버 앱도 등록 했고! 프로젝트에 환경 설정도 마무리 했다면! 이제 네이버 로그인을 해봅시다. 여기서 주의 할 점은 제가 겪은 바로는 이 로그인 동작 코드는 ViewController타입의 파일에서만 실행이 되더라구요? 사실 귀찮아서 이래저래 .. 안해봤어여 우린 일단 방법을 아는게 중요하니까! 시작해봅시다. 로그인 화면 파일로 이동해볼게요 import NaverThirdPartyLogin class LoginVC: UIViewController { private let naverInstance = NaverThirdPartyLoginConnect.. 2024. 4. 8. 네이버 로그인 연동 - 2 / 3 2024.04.08 - [iOS/iOS] - 네이버 로그인 연동 - 1 / 2 네이버 개발자 사이트에 내 애플리케이션이 등록이 되어 있으니 이제 프로젝트 설정을 해볼게요. 프로젝트 TARGETS - Info에 key-value를 등록해줍니다. 그리고 밑에 URL Types에 네이버 로그인을 추가해줄게요 identifier를 저는 naverLogin으로 설정해주었고 이전 글에서 URL Schemes를 프로젝트에도 등록 해준다고 했었죠?! 네이버 개발자 사이트에 내 애플리케이션 - API 설정에 보면 그때 적어줬던 URL Schemes와 동일하게 적어줄게요 그리고 네이버 로그인은 Objective-c로 작성되어 있다고 해여. 그래서 환경설정 파일에 직접 저희 애플리케이션 환경을 반영해주어야 합니다. 프로젝트.. 2024. 4. 8. 네이버 로그인 연동 - 1 / 3 앱에서 소셜로그인을 하기 위해 많이 사용되는 카카오와 더불어 네이버 로그인 연동에 대한 방법을 기록해봅니다. 먼저, 네이버 개발자 사이트로 접속해줍니다. https://developers.naver.com/main/ NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com 로그인을 하고 메뉴에 Application - 애플리케이션 등록으로 들어가 줍시다. 앱의 이름을 입력해주고 사용 API는 '네이버 로그인'으로 설정해주면 이렇게 로그인을 통해 제공 받고 싶은 유저의 정보를 선택해주면됩니다... 2024. 4. 8. 피그마 유료 플랜 피그마는 다른 툴 들에 비해 뭔가 복잡쓰.. 잘 모르겠지만 알게된 내용들 정리! Professional Organization Enterprise 월구독료(month) $15 불가능 별도 문의필요 월구독료(year) $12 $45 (개발자모드 only -> $25) $75 (개발자모드 only -> $35) 팀원 추가 같은 플랜 계정 플랜 상관 없음 플랜 상관 없음 * 팀 계정에 팀원 추가 시, 인원 추가에 제한은 없지만 추가 되는 팀원의 계정은 플랜 구매 상태여야 한다. 하지만, 생성되어 있는 프로젝트에서 editor 권한을 받으면 무료 계정이어도 개발자 모드가 사용가능하다. (경우에 따라 다를 수 있으니 이 부분은 각자 확인을 해보는게 좋을듯!) 주의해야할 점!! 피그마는 환불을 안해줌! 구독을 취소.. 2024. 2. 22. SwiftUI의 기본 swiftUI Apple Tutorial애플 튜토리얼애플 튜토리얼을 바탕으로 작성되었습니다. SelectableSelectable 기능을 사용하면 preview에 보이는 컴포넌트들을 하나하나 눌러서 수정이 가능해진다!원하는 컴포넌트 위에서 'control+commant+click'을 하게 되면 팝업 창이 뜨고 'Show SwiftUI Inspector'를 누르면위와 같이 해당 컴포넌트의 스타일이나 사이즈 등을 빠르게 설정할 수 있다.SpacerStack 내의 컴포넌트들이 디바이스 전체 너비를 사용하도록 레이아웃을 수정하려면 뷰 사이에 'Spacer()'를 넣어주면 된다.위와 같이 뷰들이 양쪽으로 분리 되었따~Embed코드 내의 컴포넌트 위에 마우스 포인터를 두고 'comman+click' 하게 되면 해당.. 2024. 2. 7. 이전 1 2 3 4 5 ··· 27 다음 300x250