전체 글
-
[Android] 안드로이드 딥다이브 재시작Daily 2025. 2. 1. 16:24
2025년의 Apple Developer Academy @ POSTECH 보류하기로 결정했다. 탄탄한 준비와 좋은 기회로 다시금 연이 닿을 수 있기를 바라는 마음이다. 이 결정을 내린 이유는 크게 세 가지다. 1. 회사에서의 iOS – 현재 업무에서 iOS 개발을 시작해 진행하고 있는 만큼, 더 깊이 파고들 필요가 있다. 2. 취업 시장 악화 – 내년 시장이 개선될지 불확실한 상황에서, 지금은 성장에 집중하는 것이 우선이다. 3. 나의 뿌리(=안드로이드)를 더 단단히 – 기반을 탄탄히 다진 후, 다음 단계로 나아가고 싶다. 어제 Tomo와의 대화를 통해, 내가 놓치고 있던 것들을 다시금 돌아보게 되었다.“나는 이런 사람이야”라고 단정 짓기보다, 더 넓은 시야로 나 자신을 바라보자. 앞으로 나아갈 방향이 ..
-
[iOS] Swift에서 날짜 기반 채팅 목록 그룹화 개선하기 (Feat. 그룹화 우선순위의 오류, sortWeight)IT Study/iOS 2025. 1. 30. 17:01
ㅡAloneChat의 groupChatRoms() 정렬 문제 해결 과정에 대해 다루고 있습니다. 1. 문제 정의 : 연도별 정렬 오류AloneChat에는 채팅 목록을 날짜별로 그룹화하는 기능이 있습니다. 이 기능은 2024년 연말까지는 문제없는 듯 보였지만, 2025년 새해가 되면서(ㅋㅋ ㅠㅠ 바보...) 2024년 그룹이 2025년 1월보다 위에 표시되는 문제가 발생하였습니다. 내가 기대하는 정렬오늘어제02월 (2025년 2월)01월 (2025년 1월)2024년 (이전 연도는 한 그룹으로 묶음) 현재 코드에서 발생하는 문제2024년이 2025년 1월보다 위에 정렬되는 것이 문제가 됩니다. 2. 문제 원인 분석이전에는 Dictionary 형태로 반환한 뒤, Dictionary의 Key인 문자열(오늘,..
-
[LeetCode] 1071. Greatest Common Divisor of StringsIT Study/LeetCode 2025. 1. 19. 16:02
1. 문제더보기 문제 설명두 문자열 str1과 str2가 주어졌을 때, 두 문자열을 모두 나눌 수 있는 가장 긴 공통 문자열을 구하는 문제입니다.문자열 t가 문자열 s를 나눌 수 있으려면, 다음 조건을 만족해야 합니다.s = t + t + ... + t (t가 반복되어 s를 구성) 예시입력: str1 = "ABCABC", str2 = "ABC" → 출력: "ABC"입력: str1 = "ABABAB", str2 = "ABAB" → 출력: "AB"입력: str1 = "LEET", str2 = "CODE" → 출력: "" 실제 문제For two strings s and t, we say "t divides s" if and only if s = t + t + t + ... + t + t (i.e., t is ..
-
[LeetCode] 1768. Merge Strings AlternatelyIT Study/LeetCode 2025. 1. 18. 17:32
코딩 테스트에 대한 감을 잃었다. 차근히 다시 시작해보자. 1. 문제더보기 문제 설명두 개의 문자열 word1과 word2가 주어졌을 때, 다음 규칙에 따라 문자열을 병합합니다.word1과 word2의 문자를 번갈아가며 추가합니다.두 문자열 중 하나가 더 길다면, 남은 문자를 병합 결과 뒤에 추가합니다. 예시입력: word1 = "abc", word2 = "pqr" → 출력: "apbqcr"입력: word1 = "ab", word2 = "pqrs" → 출력: "apbqrs" 실제 문제You are given two strings word1 and word2. Merge the strings by adding letters in alternating order, starting with word1. If..
-
[iOS] 테스트 플라이트 "수출규정 문서 누락" 한 번에 해결하기 (Feat. 암호화 알고리즘? )IT Study/iOS 2024. 12. 8. 14:53
귀찮은 단계 없애도록 합시다 iOS 앱을 배포하기 위해 테스트 플라이트나 앱 스토어에 업로드하는 과정에서 다음과 같은 에러 메시지를 자주 만납니다.이 에러는 앱에서 암호화(Encryption) 기술을 사용하고 있는 경우, 애플이 미국 수출 규정에 따라 필요한 정보를 요청하기 때문에 발생합니다. 이번 글에서는 이 에러의 원인과 해결 방법을 알아보고, 수출 규정과 암호화 기술의 관계를 간단히 정리하겠습니다. 1. 왜 이 에러가 발생할까?우리가 테스트 플라이트나 앱 스토어로 우리의 서비스를 제출하면, Apple은 미국의 서버로 우리의 서비스를 업로드합니다. 이때, 배포하는 사람의 소재지에 관계없이 우리의 서비스, 즉 앱은 미국 수출법의 적용을 받습니다.미국 법에 따르면, 암호화 기술을 포함한 소프트웨어를 수..
-
[iOS] 상수를 어떻게 관리해야할까 (Feat. struct, enum?)IT Study/iOS 2024. 12. 8. 13:55
상수룩... 조크로 시작합니다... iOS 앱 개발을 하다 보면 화면에 표시할 텍스트, 아이콘 이름, 컬러 값 등 변하지 않는 상수를 코드에서 자주 사용하게 됩니다. 이를 효율적으로 관리하기 위해 Swift에서 자주 사용하는 두 가지 방식이 있습니다. struct와 enum. 이번 글에서는 이 두 가지 방식의 차이점과 각각의 장단점을 비교해 보며, 어떤 상황에서 어떤 방식을 선택하는 것이 적합한지 알아보겠습니다. 1. 상수 관리를 왜 해야 할까?상수를 잘 관리하면 다음과 같은 이점이 있습니다.코드 가독성 향상 : 상수 이름만 보고도 의미를 쉽게 파악할 수 있다.재사용성 증가 : 중복 코드 제거, 수정 시 한 곳만 변경할 수 있다.유지보수 편의성 : 값 변경 시 모든 파일에서 검색하지 않아도 된다."편하..
-
[iOS] 최소 지원 버전 (Feat. arm, CPU 아키텍처, 프레임워크 아키텍처)IT Study/iOS 2024. 11. 10. 18:34
아래 글에서는 iOS의 주요하게 지켜보고 있는 버전들에 대해 정리하고 있습니다. 📱 OS 버전1. iPhone OS2007년 MacWorld 컨퍼런스에서 iPhone 1세대와 함께 공개발표 당시에는 iPhone OS라는 이름도, 소개하지도 않았다.iPhone 프로젝트를 시작할 당시, Apple 내부 iPod vs Mac OS X 대립 구조 중 후자가 선택되었다.iPhone OS 1 (2007-2010) ~ iPhone OS 3 (2009-2012) 2. iOS2010년 iPad 공개와 함께 iPhone OS에서 iOS 로 명칭 변경아래는 지원 종료된 버전iOS 4 (2010-2013)iOS 5 (2011-2014)iOS 6 (2012-2015)iOS 7 (2013-2016)iOS 8 (2014-201..
-
[Native] 기본기에 관하여 (Feat. 2024년 11월 첫째주의 악몽)IT Study 2024. 11. 10. 14:38
저는 iOS를 갑작스럽게 시작하게 되었습니다. 안드로이드 개발자로서 모바일 분야에 관심이 많았던 것은 사실이지만, 안드로이드라는 분야의 전문성을 키워나가고자 하는 것이 주된 목표였습니다. 안드로이드라는 주 분야에 더해 iOS를 사이드 프로젝트를 진행하며 모바일 개발자로서의 두각을 드러내고자 했습니다.그러나 업무를 진행하며, iOS 개발자의 부재로 인해 모바일 파트를 모두 맡게 되었습니다. (여기에서 모바일 파트는 Native의 순기능을 사용할 수 있는 Android, iOS 분야로 한정하도록 하겠습니다.) 처음엔 그닥 두렵지 않았습니다. Swift와 Objective-C는 그저 개발 언어 중 하나일 뿐, 모든 언어는 비슷한 흐름을 가지고 있다고 생각했습니다. 지금까지 여러 언어를 접하며, 처음엔 어색하고..