전체 글

취뽀하고싶다
· iOS
구현 설명 및 사전 작업안녕하세요 노움 입니다. 오늘은 Youtube API를 사용하기 위해서 iOS에서 지원하는 HTTP 통신을 진행해보려고 합니다.우선 HTTP란 HTTP(Hypertext Transfer Protocol)이라는 것의 약어로 웹기반에서 수행되는 서버 - 클라이언트 관계의 통신 프로토콜을 말하는데요.예를 들어서 설명을 드리자면 웹(서버) ↔ 앱(클라이언트) 간의 통신 규약이라고 볼수가 있습니다. Swift에서는 HTTP통신을 지원하는 라이브러리 URLSession API를 지원해주는데 URLSession에 대한 구현 방법에 대하여 간략하게 설명드리자면1: URL Request 객체 생성2: URL Session 객체 생성3: URL Session Task 객체 생성4: Task 실행5:..
· iOS
안녕하세요 노움 입니다.이번에는 Youtube API를 활용해서 제공 받는 data를 CollectionView에 연결하고 검색 기능을 사용해 리스트를 업데이트 하는 작업을 진행하려고 합니다.youtube api는 아래 사이트에 들어가면 상세히 명시되어 있기 때문에 기능 구현시 찾아보시면 도움이 될거 같습니다. https://developers.google.com/youtube/v3?hl=ko 계획 및 정리시작에 앞서 필요한 부분을 정리하자면 1: Google API 콘솔 접근, API 키 요청2: Google Developers Console 프로젝트 생성, 앱에 API 요청을 위한 인정 정보 필요3: 프로젝트 생성 후 Youtube Data API가 애플리케이션에서 등록된 서비스 중 하나인지 확인4:..
· iOS
이전 블로그에서는 가장 기본적인 CompositionalLayout을 설정하고 호출하여 사용하는 방법을 정리했는데 이번에는 제가 만들려고 하는 화면에 맞는 사이즈를 item, group, section에 입력하여 layout을 설정하는 것에 대해서 작성하고자 합니다. 고민한 부분UICollectionViewCell의 적용과 콘텐츠 크기의 동적 크기 변경CompositionalLayout 을 사용하여 화면에 배치 및 설정하기 위해서는UICollectionViewCell에 들어가는 아이템과 하나 이상의 아이템이 포함되는 group, 전체 화면에 배치되게 될 Section의 layout을 세팅 해야 합니다. 그래서 저의 경우 제일 큰 부분인 section부터 배치를 잡고, group, item 순으로 layo..
· iOS
이제 실제로 CompositionalLayout을 적용하려고 하는데 그전에 아주 간단하게 CompositionalLayout이 무엇인가 왜, 언제 사용하는 것인가 설명하고자 합니다. CompositionalLayout이란 CollectionView의 여러 layout 방식 중 하나입니다.구성으로는 item, group, section이라는 구역으로 총 3가지 종류로 나눠져 있어 기본적으로 각각의 size(layout), property를 설정하여 사용합니다. // Compositional Layout 설정func createBasicListLayout() -> UICollectionViewLayout { let itemSize = NSCollectionLayoutSize(widthDimension..
· iOS
안녕하세요 이놈 저놈 그놈의 노움입니다. 최근에 개인 프로젝트로 진행중에 복잡한 홈 화면 개발에 고민했던 점, 어려운 부분, 새롭게 알게된 내용을 정리하는 목적으로 글을 작성하게 되었습니다. 따라서 이 글은 저 개인의 학습을 최우선 목적으로 함을 미리 알립니다 혹시나 CompositionalLayout을 배우려고 들어오셨다면 빨리 도망가시길 바랍니다. 우선 제가 고민했던 부분은 아래와 같은 다양한 화면 구성을 가지고 있는 앱을 어떻게 만들어야 하는지에 대해서 입니다.  위와 같은 화면을 개발하기 위해서는 위 아래 스크롤, 좌우 스크롤이 가능한 스크롤 뷰와 각각의 그룹에 들어가는 이미지, 택스트, 버튼을 배치해야 됩니다. 그래서 CollectionView를 사용해야겠다 라는 생각을 하게 되었습니다.왜 Co..
· iOS
Concurrency 동시성오늘은 동시성 Concurrecny에 대해서 공부해보자기존의 비동기 작업에 대한 handling을 completionHandler라고 불리는 클로저로 해당 시점을 알려주는 방식으로 사용했습니다.그런데 클로저 방식의 단점 몇가지 있는데completion을 호출하기 전에 에러 발생시 종료됨클로저 방식이 중첩적으로 이루어져 콜백 지옥에 빠짐이런 문제를 해결하기 위해서 async & await를 도입하게 되었습니다이 방법을 사용하면 비동기 작업을 하더라도 Completion Handler 없이 호출되는 곳을 보장할 수 있습니다.asyncfunc fetchThumbnail(for index: Int) async throws -> UIImage {함수 이름 뒤에 async가 붙으면 이 함..
· AOS
findViewByid이전 프로젝트#1에서 XML에 대해서 설명을 했는데 이번에는 이런 View를 코드 영역에 가져와 state, action에 대한 처리를 진행하고자 합니다.android studio에서 지원해주는 xml design editor를 사용하게 되면 아래 이미지 처럼 View를 작업할 수 있는데요안드로이드 초기 버전에서는 이런 뷰들을 가져올 때 findViewById를 사용했습니다.findViewById란위 이미지에서 보여지는 화면은 사용자에게 보여지는 레이아웃만을 설정했기 때문에 상태에 대한 변화나 이벤트를 처리하기 위해서는 .java, .kotlin 파일에서 처리를 해줘야 합니다.override fun onCreate(savedInstanceState: Bundle?) { supe..
· AOS
사이드 프로젝트(dogdom #1) Navigation ViewXML 작업(View)안드로이드는 View를 구성하기 위해서 xml이라는 마크업 언어를 사용하는데 여기에는 2가지 방법을 사용한다.(Jetpack Compose 제외)CodeBaseDesign EditorCompose가 아닌 뷰 작업은 xml 파일 생성과 함께 위 2가지 작업을 선택해서 수행해주면 된다.사용 방법에 대한 자세한 설명은 Android 레이아웃 만들기를 확인해주면 될거 같다 Navigation Component(Jetpack)그러면 나는 이제 Navigation이라는 화면 이동 라이브러리를 사용했어요.Navigation에 대한 더욱 자세한 내용은 아래 글을 확인해보면 알 수가 있습니다.[안드로이드] Navigation Compon..
쥐노움
그놈의 이놈 저놈