전체 글 202

[Swift] Python을 이용한 Excel -> Json 맵핑 스크립트 만들기

다국어를위해 로컬라이징을 사용하거나 어떠한 단어 혹은 정책들은 액셀로 관리하는 경우가 많은데요개발자 입장에서는 이파일을 보고복사해서 형식에 맞게 다시 옮겨적어서 전처리 과정을 거쳐서 데이터로 사용해야합니다.물론 이과정에서 누락 혹은 실수가 일어나서 휴먼에러가 도중에 생기기도하죠 이러한 과정을 자동화 시켜서 알아서 파일을 뽑아줄 수 있도록 스크립트를 작성해볼거에요전 파이썬을 잘모르기때문에..기본 코드는 지피티 선생님이 도와주셨습니다! 👏 우선 파이썬을 설치해야겟죠 터미널을 실행시키고 파이썬 라이브러리 설치합니다pip3 install pandas openpyxl 실행은 아래와 같은 명령어로 이뤄집니다(경로 체크해주세요!)python3 # python3 excelToJson.py Keyword.xlsx 액..

iyOmSd/Title: Swift 2024.09.29

[Swift] Vision Framework 비슷한 이미지 찾기

안녕하세요이번에는 2개의 사진을 두고 이 사진들이 서로 얼마나 비슷한지 보여주는 기능을 구현해볼거에요 Vision을 검색하면VisionKit도 보일텐데요 처음에 보면 헷갈릴만한 프레임워크들이네요 Vision컴퓨터 비전 알고리즘을 적용하여 입력 이미지와 동영상에 다양한 작업을 수행합니다. VisionKit디바이스의 카메라를 사용하여 환경 또는 앱이 표시하는 이미지에서 정보를 식별하고 추출합니다. 라고 정의되있네요이미지를 분석해주는게 Vision, 카메라를 써서 스캐너같이 사용하는것이 VisionKit 정도로 간단히 이해하고 넘어가봅시다!  저희가 사용할건 Vision 프레임워크입니다!Core ML을 사용하여 이미지를 분석해주고 그 특성들을 비교해서 얼마나 비슷한지 측정 할 수 있어요  다양한 요청들이 있는..

iyOmSd/Title: Swift 2024.08.27

[Swift] EventKit Reminder 미리알림 데이터 이용하기

안녕하세요~오늘은 미리알림 데이터를 이용한 개발을 하려고합니다! 미리알림은 아이폰 기본앱으로 투두리스트같이 할일을 미리 기록해서 리마인드받을 수 있는 앱이에요 EventKit을 이용하면 사용자의 캘린더 혹은 미리알림 데이터에 접근할 수 있어요 제일 중요한 타입으로EKEventStore가 있어요캘린더나 미리알림 데이터에 접근할때 이객체를 통해서 이뤄집니다 사용자의 데이터에 접근하기때문에 권한을 요쳥해야합니다plist에 NSRemindersFullAccessUsageDescription 값을 추가해주세요!그 다음에 아래와같이 권한요청을 할 수 있습니다.let store = EKEventStore()let allPredicate = store.predicateForReminders(in: nil)store.r..

iyOmSd/Title: Swift 2024.07.26

[SwiftUI] Highlight Text만들기(일치하는 텍스트 강조 뷰)

이런 뷰를 만들어볼거에요검색하는 기능이라던가텍스트를 강조를 하고싶은 뷰에서 많이 사용하죠! 2가지 방법으로 만들어보려고해요AttributedString과 Text의 조합으로 만들어 볼겁니다 어렵지않기때문에 코드로 같이 봐볼게요!  방법1. Text의 조합으로 구현하기핵심코드부터 먼저 봐볼게요private var highlightingText: Text { guard !highlightString.isEmpty, let matchIndex = text.range(of: highlightString) else { return Text(text) .font(font) .foregroundColor(textColor) } ..

[SwiftUI] 테두리 있는 Text 그리기(Outline Text, Stroke Text)

결과물 이미지부터 볼게요SwiftUI로 이런 테두리가 있는 Text를 만들어볼거에요! iOS 17.0기준으로 아직 SwiftUI 모디파이어라던가 뷰 타입에서 Outline에 색을 칠할 수 있는 방법은 따로없어서커스텀으로 만들어줬어요 메커니즘은 텍스트 2개를 중첩을해서 뒷텍스트는 테두리처럼, 앞에꺼는 폰트색처럼 사용하려고해요만약 SwiftUI의 Text를 2개를 중첩한다면 좀더 복잡하고 계산할게 많아져요또한SwiftUI에서 사용가능한  AttributedString는 테두리가 먹히질 않아서 실패했어요 따라서UIKit에 있는 UILabel을 사용할거에요NSAttributedString을 이용해서 테두리를 적용시켜줄건데이때 속성으로 strokeColor와 foregroundColor 둘다 적용할 수 가 없어요..

카테고리 없음 2024.05.25

[SwiftUI] NavigationStack 화면전환 방법 고민정리 (feat. Router 구현)

안녕하세요~iOS16+부터 사용할 수 있는 NavigationStack을 이용한 라우터 로직을 만들었는데요그 과정에서 생각한 방법과 겪은 고민을 정리해보려합니다! 네비게이션 스택이뭐야? 하시는분들은https://nsios.tistory.com/199 [SwiftUI] NavigationStack안녕하세요! SwiftUI에서 항상 느꼇던 불편한점중 하나가 네비게이션이였는데요 이를 해결해주는게 나온지 좀 됐지만 이제 해보려합니다! (진작에 나왔을 녀석이여야 했는데...) iOS16 타겟을 쓸일nsios.tistory.com쓰윽 훑고오셔도 좋을것같습니다!우선 제일 간단한 방법부터 시작해보겠습니다~! 아! 그전에이 모든 라우팅 로직들은 모듈화를 했다는 가정하에 이뤄졌습니다.예제에서는 아주 간단한 구조로 사용했어..

[SwiftUI] ChipView(iOS16+, iOS16-) tag view 구현하기

2023.09.30 - [iyOmSd/Title: Swift] - [Swift] Multi Line Tag View 그리기 [Swift] Multi Line Tag View 그리기SwiftUI만 하다가 UIKit을 하게될 일이 생겼는데 요구사항중하나가 뷰를 크기에 맞게 여러줄로 표현해주는 뷰에요 테그를 표현하는 뷰같은 곳에 많이 쓰이는 UI로 알고있어요 결과물 부터 보시죠!nsios.tistory.comUIKit을 사용하는경우는 여기서 확인가능합니다!!저 글을 쓸땐 이 레이아웃을 chip이라고 부르는지 몰랐어요 ㅎ 간단하게 ChipView란?균등한 너비를 가지는게아니라 컨텐츠의 크기에 fit하게 정렬되고 그 사이즈를 넘어간다면 아래로 이동되는 그러한 뷰입니다! 아래처럼요 이런 뷰가 ChipView입니다~..

[Swift] iMessage 필터링 ILMessageFilterExtension (스팸 차단)

메시지 필터링을 개발할 기회가 생겨서 학습한 것을 기록하려고해요 먼저 프로젝트를 생성하고 file > new > target에서 Message Filter Extension을 클릭하면 이렇게 파일이 생성됩니다! 기본적인 템플릿코드는 작성돼있고 설명도 같이 써져있어요 각 함수의 역할을 알아봅시다! func handle(_ capabilitiesQueryRequest: ILMessageFilterCapabilitiesQueryRequest, context: ILMessageFilterExtensionContext, completion: @escaping (ILMessageFilterCapabilitiesQueryResponse) -> Void) { let response = ILMessageFilterCap..

iyOmSd/Title: Swift 2024.02.27

[Swift] TimeZone과 Locale

여러나라에 배포할 서비스를 개발하면서 헷갈렸던 개념을 정리해보려고해요 TimeZone 특정 지정학적 지역과 관련된 표준 시간법에 대한 정보. 지정학이란 지리적 환경과 정치현상의 관계를 연구하는 학문이라고하네요 다른나라를 여행갈 때 흔히 겪는 시차를 계산할 때와 같아요 국가별로 고유한 TimeZone을 사용하고있어요 문서를 보면.. TimeZone은 시간대의 동작을 정의합니다 TimeZone값은 지정학적 지역을 나타내고 이러한 값에는 해당 지역에대한 이름이 존재합니다. TimeZone값은 그리니치 표준시(Greenwich Mean Time)라고 부르는 GMT에서 더하거나 뺀 시간적 차이 입니다. swift TimeZone타입은 current와 autoupdatingCurrent 2가지 함수를 제공합니다 ..

iyOmSd/Title: Swift 2024.01.30

2023 회고

벌써 23년이 얼마남지않았네요.. 22년 다짐을 잘 지켰는지 돌아보고 23년을 정리하고! 24년을 준비해보려고합니다! 22년에 저는... 올해에도 취미만들기를 시도해보려구요! ㅎㅎ.. 올해에도 경제책 개발책읽기 회사 블로그 쓰기 부수입 만들 활동 알아보기 23년에 작은 목표를 세웠었는데 잘 지켰는지 하나씩 점검해보면 취미만들기 ✅ 23년에 새로운 취미를 만들기위해 노력을 많이한것같네요 춤도 배워보고 배드민턴도 치러가고 스쿼시도 해보고 드럼도 해봤습니다. 드럼은 꾸준히 취미로 하고있고 밴드도 결성해서 같이 합주해봤죠 완곡은 못했지만... ㅎ ㅡㅎ 경제책 읽기 ✅ 가벼운 책으로 한권 읽었습니다! 손이안가서 책상에 두고두고 읽었네요 ㅋㅋㅋㅋㅋ 개발책 읽기 ❎ 책은샀는데 읽다가 말았네요 ㅠ.. 회사 기술블로그 ..

카테고리 없음 2023.12.27