[TIL / 25.05.11] RxSwift.. 처음 공부해볼게요 2
·
iOS/Swift
https://subkyu-ios.tistory.com/45 [TIL / 25.05.08] RxSwift.. 처음 공부해볼게요 1RxSwift란?RxSwift는 Swift에서 비동기 이벤트를 선언형으로 처리할 수 있게 해주는 프레임워크.쉽게 말해, 값의 변화와 비동기 흐름을 스트림처럼 다룰 수 있게 해준다. RxSwift Github에선 Reactive Programmisubkyu-ios.tistory.com 이어서 공부한 내용,,RxSwift의 Operator(연산자)Observable은 데이터가 흘러가는 강물이고, 연산자는 그 흐름을 가공하는 정수처리기라고 생각하면 됨여기서 데이터는 언제 들어올지 모르는 데이터(비동기)고, 그렇다 보니 개수도 얼마나 될지 모르면서 이들을 우리는 매번 그대로 가져다 써..
[TIL / 25.05.08] RxSwift.. 처음 공부해볼게요 1
·
iOS/Swift
RxSwift란?RxSwift는 Swift에서 비동기 이벤트를 선언형으로 처리할 수 있게 해주는 프레임워크.쉽게 말해, 값의 변화와 비동기 흐름을 스트림처럼 다룰 수 있게 해준다. RxSwift Github에선 Reactive Programming in Swift라고 나와 있는데,, 그게 뭐신디요; 반응형 프로그래밍 (Reactive Programming) 반응형 프로그래밍이란, 데이터의 흐름 및 변경사항을 전파하는 데 중점을 둔 프로그래밍 패러다임.이 패러다임을 사용할 경우, 주변 환경 / 데이터에 변화가 생길 때 연결된 실행 모델들이 이 이벤트를 받아 동작하도록 설계하는 방식 a = 10, b = 20이고, c = a + b일 때 c는 30이 될테고 그 뒤에 a를 20을 하던 100000을 하던 c..
[WIL / 25.05.06] 8~9주차 회고 및 To-do
·
iOS/Swift
🦖 Keep일정 고려해 개발 일정을 꼼꼼히 수립했다리베이스 방식을 잘 활용하여 깃 충돌 문제가 없었다업무 분담이 잘 이루어졌다개인 일정 공유가 잘되었다서로 도우면서 하는 모습이 좋았다.🐬 Problem여전히 알고리즘에 소홀했다개발 일정을 잘 못지켰다(….)기획이 조금 꼼꼼하지 못했다 (모델, CoreData 설계, 에러 처리)과제 요구사항을 정확히 인지하지 못하고 개발을 시작했다🦜 Try알고리즘에 신경쓰기과제 요구사항을 자세하게 분석하여 디테일하게 기획하고 개발 시작하기 주제 선정 시, 지도라는 기능이 눈에 들어와 도전해보고 싶어 도전했다. 공식 sdk 문서에서 찾기 어려운 부분이 조금 있었는데 일정 로직과 구현법에 대해선 AI를 활용해 쓰면서 학습했다. 이 과정 속에서 데이터 처리 능력이 아직 부..
[TIL / 25.04.17] URLSession으로.. 네트워크 통신을 어떻게 하는지.. 보여줄래요
·
iOS/Swift
URLSessionAn object that coordinates a group of related, network data transfer tasks.네트워크 데이터 전송 작업과 관련된 그룹을 조정하는 객체. 라고 공식문서에 나와있듯이 이제 API를 통해 데이터를 주고 받으려면 서버와 통신할 수 있어야 합니다. 이를 가능토록 하는 게 URLSession이라고 할 수 있습니다 ! 이 URLSession을 통해서 어떻게 앱과 데이터를 주고받는지에 대한 방식은 일단 두가지. 비교적 전에 쓰던 Completion Handler 패턴, 그리고 이보다 최근에 나온 Swift Concurrency를 이용한 방식이 있는데... 일단 이것들을 다루기 전에 이 안에선 어떻게 해야 URLSession을 가지고 데이터들을 ..
[TIL / 25.04.16] Lv3 서치바 관련 트러블슈팅 기록
·
iOS/Swift
기존엔 navigationBar.searchController = searchController하는 식으로 직접 넣어서 했는데검색 시 아무리 설정해줘도 상단 라지타이틀이 보여야하는데 올라가는 점이 맘에 들지 않았다. 그럼.. navigationBar 내부 설정에 searchController와 관련된 일정한 동작이 이미 구현되어있다면..!?SearchController를 navigationBar 밖으로 빼서 고정하게 된다면 largeTitle에 문제가 없지 않을까!import UIKitclass MainViewController: UIViewController { private let mainView = MainView() private let viewModel = MainViewModel(..
[TIL / 25.04.11] UICollectionView Compositional Layout 1
·
iOS/Swift
기존 UICollectionView를 씀에 있어서 보통 레이아웃 잡을땐 FlowLayout을 주로 써왔고 Compositional Layout의 존재는 솔직히 몰랐는데 이번 플젝을 진행하면서 암것도 모르고 컬렉션뷰 세개를 붙히려 하던 내역이 담긴 PR을 보던 유스승님과 이스승님께서 가르침을 주셨다.  FlowLayout으로 여러개 말고 Compositional Layout을 써보는게 어떨까요? (그걸 들은 나... 그게 뭐예요..?)이번 플젝에선 키오스크 앱이 컨셉이라 첫번째 섹션과 두번째 섹션은 수평, 세번째 섹션은 수직으로 축을 가집니다또 세 섹션 모두 셀의 레이아웃이 많이 다르다. 1행의 형태를 가지는 첫번째 섹션 그리고 2행의 형태를 가지는 두번째 섹션, 1열의 형태를 가지는 세번째 섹션. 각자 ..
[WIL / 25.04.04] 4~5주차 KPT 회고
·
내일배움캠프
3.24(월) ~ 4.4(금) 4~5주차 KPT 회고🦖 Keep팀원들간의 인사이트 공유하는 문화 유지하기주기적인 스크럼을 통해 진행 상황 공유하기코드 리뷰를 활발하게 하여 코드의 퀄리티 높이기Rebase 방식을 채택함으로써 브랜치를 깔끔하게 관리하고, Git 숙련도 향상프로퍼티, 메서드 네이밍 신경쓰기🐬 ProblemLevel 단위 due date를 너무 타이트하게 잡았다.issue에 대해 커뮤니케이션으로 해결하지 않고, 혼자서만 해결하려 했다. (스스로 해결하는 것도 좋지만, 너무 오래 붙들고 있으면 안됨)알고리즘 스터디에 비교적 시간을 덜 썼다데이터 바인딩에 대한 학습이 부족했다🦜 Trydue date 산정을 좀 더 신중하게 하기issue 처리가 1시간 이상 지연되는 경우 공유하고, 팀 단위로 ..
[Algorithm / 25.04.04] 프로그래머스 - 피로도
·
Algorithm
문제 설명XX게임에는 피로도 시스템(피로도가 0 이상이어야 던전을 탐험할 수 있음)이 있으며, 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러 개 있습니다. 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다.예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상이어야 하며, 던전을 탐험한 후에는 피로도가 20 소모됩니다.이 게임에서 던전들을 최대한 많이 탐험하려고 합니다. 유저의 현재 피로도 k와 각 던전별 "최소 필요 피로도", "소모 피로도"가 담긴 2차원 배열 dungeons가 매개변수로 주어질 때, 유저가 탐험할 수 있는 최대 던전 수를 ret..
[TIL / 25.03.31] 앨범에서 사진 고르고 잘라서 쓸 수 있도록! (feat. PHPickerViewController, TOCropViewController)
·
iOS/Swift
1. 오늘 진행한 부분프로필 수정에 있어서 프로필 이미지 수정 부분을 건드리도록 했다. 우선 모하지 블로그에서 프로필 이미지는 1:1 비율을 가져가도록 하며, 이를 스토리지에 잠시 올리도록 api 요청 후에 UUID를 받아 업데이트할 타 정보들과 함께 프로필 수정 요청을 보내도록 한다. 그럼 로직이 사진을 선택 후 바로 UUID를 받아오도록 요청하기엔 다시 다른 사진으로 바꿀 수도 있고 그렇게 되면 너무 낭비가 되어 프로필 수정 버튼을 탭하면 프로필 이미지 업데이트 여부를 확인 후 새 이미지를 미디어 파일 업로드 api를 통해 UUID를 받아내 수정 api에 body로 함께 실어보내는 로직이 되겠다. 오늘은 조금 집중이 안됐어서 라이브러리 선택 후 기초 구현까지만 했다. 일단 PHPickerViewCon..
[Algorithm / 25.03.31] 프로그래머스 - 카펫
·
Algorithm
문제 설명Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 내 풀이import Foundationfunc solution(_ brown:Int, _ yellow:Int) -> [Int] { var allCases = [Int: Int]() var result =..