나는 보통 사용자의 full name을 작성해야 할 때 아래와 같이 string interpolation을 사용했다. struct User { var firstName: String var lastName: String } extension User { var fullName: String { "\(firstName) \(lastName)" } } 그런데 생각해보면 모든 나라에서 full name을 표기할 때 한국처럼 성 + 이름의 표기법을 따르지 않는다. 미국의 경우 일반적으로 이름(first name || given name) + middle name + 성(last name || family name)의 순서에 따라 표기한다. 그럼 여러 국가를 대상으로 서비스하는 앱을 개발중이라면 어떻게 현지화해야..
10월은 엄청나게 바쁜 한달이었다. 10월 13일에는 레츠스위프트가 있었고, 그 다음주 주말이 21일에는 AsyncSwift가 있었다. 그리고 그 다음주인 27일에는 11/11에 예정된 대전의 iOS 커뮤니티인 iDC(iOS Daejeon Club)의 3번째 세미나가 있다. 나는 1회차 iDC 세미나는 참가자로, 2회차에는 스피커로 참여했었다. 작지만 지방에서의 iOS 끈이 잘 이어지기 바라는 마음에 3회차에는 오가나이저로 참여하게 되었다. 그래서 레츠스위프트와 싱크스위프트에 참여하는 의미가 조금 더 컸다. 나는 어느 커뮤니티에 소속된적도, 행사를 간접적으로도 운영해본 적이 없기 때문에 어떻게 해야하는지 보고 배우고 싶다는 마음이 컸기 때문이다. # Let'Swift 2023 짧게 회고하자면 레츠스위프트..
지난 9월 22일(금) ~ 9월 24(일) 2박 3일간 연합 IT 커뮤니티 구성원들이 참가하는 해커톤에 참가했다. 유니톤은 지원서를 작성할 때 소속된 커뮤니티가 있는지 답변하는 칸이 있다. 아무래도 IT 커뮤니티 활동 이력이 있다는 것은 최소한의 개발 능력이 검증되었다고 보는 것 같다. 유니톤에 가보면 실제로는 소속된 커뮤니티가 없는 분들도 많다. 커뮤니티 구성원이 필수 조건은 아니었다. 개인으로만 신청가능하고 지원서에 작성한 관심사를 바탕으로 팀 매칭이 이루어진다. 떨어지지 않을거라고 생각했었는데, 선발 예정 시간 후에도 한참 연락이 없어서 떨어진 줄 알았다.🥶 그냥 연기된 것이었음!! 그리고 원래 네이버메일을 쓰는데 구글폼으로 지원서 쓸 때 구글 계정으로 자동으로 제출된 것 같다. 발표되었다고 문자왔..
이 궁금증의 발단은 백준의 한 알고리즘 문제를 풀면서 시작됐다. BOJ 2812번이다. 이 포스트에서 문제는 별로 중요하지 않아서 설명하지 않는다. 다만 문제를 해결하는 방식에서 [String 배열을 한 문자열로 합친다]를 코드로 작성해야 했다. 하...😂 평소같았으면 2번을 joined() 함수를 사용해서 한 문자열로 합쳐줘서 간단히 해결됐을 것 같은데, 머리를 너무 써서 더 바보같은 방법을 사용했다! 그건 바로 reduce()! 이미지에서 시간초과가 난 것들은 모두 reduce를 사용해준 풀이이다. 처음 맞았을 때는 joined()도 아니고 반복문을 돌려 print해서 맞춘거다. reduce도 O(n), for문도 O(n)이라 생각한 나는 믿기지 않아서 reduce 풀이로 다시 제출했다가 또 틀려줬음..
SwiftUI Animations: Why is the container view moving? I'm struggling to understand this behavior I'm building a simple rotating circle loading animation. I've got the circle rotating but the container view is also moving downward for the duration of the animation. I can't figure out what could... stackoverflow.com 이것도 이전 포스트와 같은 프로젝트라 네 달 전에 해결한 문제였다. 팀원이 원인을 모르겠다고 같이 해결하려고 보내준 문제였는데 나도 원인을 바로 ..
푸핫 ... 아는 개발자라면 이 제목이 한심할지도 😂 약 네 달 전에 발생했던 이슈다. 상황은 이러했다. 1. 백그라운드에 진입한 후 수행할 태스크를 BGTaskScheduler에 submit하여 주기적으로 해당 함수를 실행 2. 수행할 태스크는 파이어베이스에 진입해서 특정 도큐먼트의 값이 있는지 확인 3. 이 값이 있으면 등록되어 있는 이미지가 있고 해당 url이 반환 4. 해당 url의 이미지를 dataTask()를 통해 Data로 받아와서 UserDefaults에 저장 그런데 직면한 문제는 이러했다. 2번에서 등록되어 있는 이미지가 있는데도 3번으로 진입하지 못하고 함수를 종료한다. 웃긴게 디버깅해보면 2-30번에 한 번꼴로 성공한다. 하면서도 내가 나를 가장 의심했던 부분은 async 함수를 쓰는..
현대자동차그룹에서 두번째로 진행하는 소프티어 테크 밋업에 아카데미 소속으로 다녀왔다. 이번 밋업은 안드로이드/iOS 개발자 대상으로 진행됐다. 나는 링크드인에서 아카데미 멘토이신 데이지가 공유해주신 것을 보고 알게되어 신청했었다. 같이 신청한 러너도 있었는데 아카데미에서 참가하는 사람이 없었다. 이곳에서 얘기하고 보니 신청자가 많아서 추첨으로 뽑으셨고, 참가한 사람들이 주변에 널리 알려주길 바라면서 일부러 소속당 한 명씩 추첨하셨다고 하셨다. 그래서 써보는 회고글! 세션은 총 세 개로 구성되어 있었는데 앞뒤로는 네트워킹/채용상담으로 진행됐다. 나는 최근 채용을 알아보고 있다보니 채용상담을 먼저 받아보려 했는데 들어오면서 네트워킹 자리로 안내받아서 현차 직원분들과 다른 참가자분들이 모여있는 곳으로 안내받았..
https://festa.io/events/3629 iOS : Toy Project | Festa! Festa에서 당신이 찾는 이벤트를 만나보세요. festa.io 대전의 소규모 iOS 커뮤니티인 iDC: iOS Daejeon Club의 iOS 정기 세미나가 지난 6월 24일 배재대학교에서 진행됐다. 1회차는 내가 다녔던 충대에서 열리기도 했고 대전에 이런 iOS 커뮤니티가 대전 지방에서 열린 것은 처음이라 갔었는데, 사실 2회차는 집에서도 학교에서도 반대쪽에 위치한 곳에 열리면서 참가하지 않으려고 했다. 그런데 1회차에 같이 참가했던 학교 선배가 발표자로 올랐고 응원 겸 가볼까하고 페스타에서 두번째로 티켓을 구매하게 되었다. 이게 이 회고의 발단이 되었따 ... 하루는 아침일찍부터 아카데미 내 나의 개..
정보 전달이 아닌 과정을 회고하기 위한 글입니다 Fastlane은 fastlane is a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application. 한마디로 이거다. 스크린샷 생성, 프로비저닝 프로파일 처리, 앱 배포 등의 과정을 알아서 처리해준다. 최근 진행하고 있던 프로젝트가 끝났는데, 누군가 앱의 번들 id를 앱스토어에 등록하면서부터 프로비저닝 프로파일의 필요성을 알게되었다. 개발자 사이트에 App Identifier를 등록하고 보니 다른 팀원들이 해당 identifier를 ..
내 2023 한 해 가장 큰 목표였던 Swift Student Challenge(스스챌)의 2023 위너로 선정되었다. 🥳 1. Swift Student Challenge란 스스챌은 iOS에 조금만 관심있다면 누구나 아는 WWDC에서 주관하는 공모전이다. .swiftpm 파일로 제출하게 되는데, Xcode에서 프로젝트 형태를 iOS App이 아닌 Swift Playgrounds App으로 만들면 된다. 이렇게 만들면 플레이그라운드에서 작업할 수도 있고 Xcode로 열어서 평소처럼 작업할 수도 있다! 스스챌의 목적 자체는 내 개인적인 견해로는 학생들에게 코딩? 겁먹지 말고 일단 스위프트를 맛봐라!하는 느낌이다. 그래서 이전 선정작들을 보면 코드나 디자인이 완벽하지 않아도 된다는 느낌을 많이 받는다. 표현하..