전체 글

Swift, iOS&macOS, Spring Boot
·iOS(macOS)
SVG 활용과 “clip: empty path.” 경고 해결하기 Xcode 프로젝트에서 사용할 수 있는 벡터 이미지는 PDF와 SVG가 있다. 종류 사용조건 파일 크기 PDF Xcode 6, iOS 8, Mac OS 10.9 이후 작음 SVG Xcode 12, iOS 13, iPad OS 13, Mac OS 10.15 가장 작음 출처 : https://kka7.tistory.com/381 그리고 프로젝트의 Assets에 벡터 이미지(SVG파일)를 추가해서 사용할 때, 함께 확인해 주면 좋은 설정들이 있다. 1️⃣ Attributes inspector의 [Resizing - Preserve Vector Data] 옵션 해당 옵션은 벡터 이미지를 생성하는 시점을 “빌드 타임”으로 할 것인지, “런타임”으로 ..
·iOS(macOS)/SwiftUI
SwiftUI의 NavigationView (또는 NavigationStack)를 사용할 때,Destination View에서 보이는 Back Button을 지우거나 커스텀하는 방법을 알아봤다. 📎 지우는 방법View에 .navigationBarBackButtonHidden(true) modifier를 추가해 준다.주의할 점은, 상위의 NavigationView가 아닌 Destination View에 적용해주어야 한다는 것이다.UIKit에서는 반대로 상위의 ViewController에서 UIBarButton을 덮어씌워야 했었는데,SwiftUI에서는 Destination View에서 이를 처리하도록 하고 있다.내 생각에는 훨씬 직관적으로 이해할 수 있게 바뀐 것 같아서 좋은 것 같다.처음 UIKit을 공..
·CS & Engineering
개발을 혼자서 할 때 가장 막막한 부분은 아무래도 설계에 대한 부분인 것 같다. "~~ 하는 기능을 만드는 방법"은 구글링이나 GPT 선생님에게 질문을 통해서 충분히 해답을 얻어낼 수 있지만, 그 해답들을 내 코드에 어떻게 녹여내는 것이 가장 좋은 방법인가에 대한 해답을 구하는 것은 구글에 대고 물어본다고 될 일이 아니니, 오롯이 내 몫이다. 설계에 대한 고민을 많이 하면 할수록 나는 객체 지향 프로그래밍에 대한 기본 지식이나 소프트웨어 공학적인 기반이 너무 약하다는 생각이 계속 든다. 클린 아키텍쳐, MVC, MVVM 같은 유명한 키워드로 검색하여 나오는 글들을 제대로 이해하는 것이 너무 어렵거나, 훑듯이 짚고 넘어가는 데에도 시간이 정말 오래 걸린다. 그래서 좀 더 근본적인 내용부터 자세하게 천천히 ..
·iOS(macOS)/SwiftUI
SwiftUI로 로그인 화면이나 채팅 화면같이 키보드 입력이 필요한 화면을 개발하다 보면,키보드가 올라올 때 이를 감지하고 키보드가 화면을 가리지 않도록 처리를 해주는 일이 많다.키보드가 화면을 가리지 않도록 구현하는 방법은 여러 가지가 있는 것으로 알고 있는데,나는 그중에서도 ScrollView와 ScrollViewReader 를 이용해서 이를 구현해 보았다.  @Namespace 선언SwiftUI의 @Namespace 는 View처럼 속성을 갖고 있는 객체에 ID를 부여하고, 부여한 ID를 통해 접근을 할 수 있게 만들어주는 Property Wrapper이다.다시 말하면,@Namespace를 선언하고, 접근하려는 View 객체에 ID를 부여해 주면 된다는 말이다.아래는 간단한 예시이다.import S..
·일기
학교 개강해서 공부할 게 넘쳐난다. 말해보카 캡쳐해놓은게 110개가 넘어갔다. 쉽지않다. E : I really don't think that's worth it. K : 난 그게 정말로 그만한 가치가 있는지 모르겠어. (팝송중에 give it to me I'm worth it~ 어쩌구~ 하는 노래가 생각났다. 그게 이 뜻인줄 지금 알았다.) E : My dad's firm is hiring, if you still need a job. K : 아직 일자리 찾고 있다면 우리 아빠 회사 채용 중이야. (아빠 회사 다니면 장학금이 안나온다.) E : Taxis kept passing us but none of them stopped. K : 택시가 계속 우리를 지나갔는데, 한 대도 멈춰서지 않았어. (택시비..
·일기
어휘력을 기르기 위해서는 필사를 하는것이 도움이 된다는 글을 봤다. 아무래도 따라 쓰면서 외워지는 말들이 있기 마련일테니 그럴듯 하다고 생각했다. 책을 필사하는건 아니지만 이 짓도 제발 효과가 있었으면 좋겠다. E : Trish and I differ in our oppinion of Picasso. K : 트리쉬와 나는 피카소에 대한 의견이 달라. (different 와 differ를 구분해서 쓸 줄 알아야 할텐데.) E : Relax! It was only a joke. K : 진정해! 그건 그냥 농담일 뿐이었어. (just 말고 only를 쓰기도 하는구나.) E : Almost there! Just stretch a little bit more! K : 거의 다 됐어! 조금만 더 뻗어! (이럴 땐 ..
·iOS(macOS)/SwiftUI
SwiftUI 프로젝트를 만들고 Run 시키면, 최초 실행할 때 위와 같은 경고 문구가 콘솔에 여러 번씩 표출되는 경우가 있다.내용은 Info.plist 파일에 UIScene configuration dictinary.. 어쨌든 설정값 하나가 없다는 말 같다. 에러 키워드로 찾아보니, 간단하게 해결할 수 있는 방법들이 바로 나왔다. https://developer.apple.com/forums/thread/721912 Info.plist contained no UIScene co… | Apple Developer ForumsThis seems to be related to something in iOS 16.2. Try switching to a simulator running iOS 16.0; the ..
·일기
전치사를 잘 쓰면 영작을 잘할 수 있을 것만 같다. 근데 나는 in, on, of 말고는 아는 게 없다. 라고, 지난주까지는 생각했는데, 영어공부 일주일 해보니 이마저도 똑바로 쓰고 있었던 게 아닌 것 같다. 더 열심히 하자... 도대체 동사에 ing를 붙일 때/안 붙일 때 분간이 잘 안 간다. 개발하다가 막히는 게 있을 때 구글링 하면서 구멍 난 지식을 하나씩 메꿔나가듯이 영문법도 검색해 가면서 공부 중인데, 아무래도 머리에 들어오지도 않고 이해가 안 된다. 진짜 문법책을 사던가 해야겠다. E : He was driving at 90 miles an hour. K : 그는 시속 90마일로 운전하고 있었다. (at이라는 전치사가 바로 안 떠오른다.) E : That's not the issue we're..
·iOS(macOS)/SwiftUI
[SwiftUI] 하나의 View에서 Alert을 여러 개 사용할 때 주의할 점.  SwiftUI에서 Alert 을 사용하는 기본적인 방법은 다음과 같다.@State public var isShow1: Bool = falsevar body: some View { VStack(spacing: 30.0) { Button { self.isShow1.toggle() } label: { Text("Alert 1") } .alert(isPresented: $isShow1) { return Alert(title: Text("Alert1 show.")) } } .padding()} ..
·일기
주호민 님의 유튜브를 보고 말해보카 앱 1년 치를 결제해 버렸다. 무료 체험으로 몇 문장정도 공부해 보고 느낀 점이, 1. 그냥 앱을 잘 만들었다. iOS 개발자로서 "어케했지" 싶은 부분들이 느껴지는.. 그래서 그냥 첫인상부터가 좋았음. 2. 공부할 단어와 문장들을 계속 떠먹여 주고, 틀린 건 알아서 며칠 뒤에 복습도 시켜준다. 3. 음성인식 기술이 좋아져서 그런가, 앱에다 대고 직접 발음해 보면 인식도 해주고, 평가도 해주는데 꽤나 정확하다. 4. 출퇴근할 때 전철을 35분 정도 타는데, 그 시간에 하기 딱 좋다. 하루치 학습을 정말 천천히 해도 25분 정도 걸리는 것 같은데, 공부하고 남는 몇 분 동안 뉴스 좀 보다 보면 내려야 함 ㅎ. 그래서 깊게 생각 안 하고 1년 치를 결제해버렸다. 89,00..
CloverLaun
Clover