본문 바로가기

전체 글75

[Mac] 영어 연속입력 설정 터미널에 아래 명령어를 입력하면 영어 연속입력이 가능해집니다. defaults write -g ApplePressAndHoldEnabled -bool false 입력하고 로그아웃하고 다시 로그인 or 재부팅을 하면 그때부터 적용됩니다. 2024. 3. 29.
[Mac] 숨김 파일 보이게 하기 맥에서 숨김파일을  보는방법은 `shift + cmd + .`입니다.하지만 이렇게하면 매번 숨김파일을 보고 싶을 때마다 매번 눌러줘야 하는데요, 그래서 아예 숨김파일을 기본적으로 볼수 있게 해봅시다.우선 터미널을 키고 아래 명령을 입력해봅시다.defaults write com.apple.finder AppleShowAllFiles TRUEFinder 응용프로그램에서 모든파일을 보여지도록 하는 것을  디폴트로 설정한다라는 명령어입니다. 반대로 하고싶으면 마지막에 `TRUE`대신 `FALSE`를 입력해주면 됩니다.간단하죠? 2024. 3. 6.
[Mac] iTerm2, oh my zsh 설치 및 삭제, agnoster테마 설정 저도 이곳을 참고해서 설치했습니다~ 우리는 agnoster 테마를 설치하기 위해 아래 작업들을 해줄겁니다. agnoster 테마를 쓰면 터미널에서 git을 쓸때 매우 편리해진다고 합니다. 그전에 앞서 일단 iterm2랑 oh my zsh랑 뭐가 다른건지, 뭔 역할인지, 이걸 설치하면 뭘 할수 있는건지 건너뛰고 그냥 냅다 설치하는것만 알려줘서 우선 구글 Geminai에서는 아래와 같다고 해요. iTerm2 vs oh my zsh iTerm2는 기본 터미널 에뮬레이터를 대체하는 강력한 터미널 프로그램입니다. 탭 기능: 여러 터미널 세션을 쉽게 관리 분할 창: 한 창에서 여러 터미널 세션 동시 실행 드래그 앤 드롭: 텍스트 및 파일 쉽게 이동 스크롤백: 과거 명령어 및 출력 확인 커스터마이징: 테마, 폰트, .. 2024. 3. 4.
[스위프트] Some 이번에는 Some에 대해서 알아봅시다! some은 Swift 5.1에서 등장한 키워드로 연산프로퍼티인 body안에 불투명한 타입이 있음을 나타낸다고 합니다. 그럼 우선 불투명한 타입이 뭔지 알아야겠죠? 불투명한 타입 불투명한 타입이란 말그대로 뭐가 반환될지 모르는 타입을 의미합니다. 다음 예시를 볼까요 protocol Car { func showSpeed() -> String } struct Morning: Car { func showSpeed() -> String { return "Avg Speed is 60km" } } struct Ferrari: Car { func showSpeed() -> String { return "Avg Speed is 150km" } } 위처럼 Car프로토콜을 따르는 구조.. 2024. 2. 9.
[스위프트] SwiftUI - @Binding 이전에 @State에 이어 이번엔 @Binding을 알아보려 합니다. 앞서 @State는 해당 뷰안에 속해있는 프로퍼티와 뷰를 엮어주기 위한(바인딩을 위한) 프로퍼티 래퍼라고 했죠? 그렇다면 @Binding은 무엇이냐... @Binding @Binding은 @State와 비슷하지만 다릅니다. 바로 현재 뷰에서 하위뷰에 있는 데이터를 가져오기 위해서 사용합니다. 나머지는 똑같아요. 그 값을 가져와서 현재 뷰의 상태를 업데이트하기위함이죠. 물론 @Binding은 하위뷰의 데이터를 가져오기 위함이니 당연히 private을 쓰면 안됩니다. 그리고 이미 있는값을 연동해서 받아오는거라 초기값도 설정하면 안됩니다. 선언과 호출은 아래와 같습니다. // 선언 @Binding var name: String // 호출 T.. 2024. 2. 8.
[스위프트] SwiftUI - @State 이번에는 SwiftUI의 @State에 대해 알아보려 합니다. 일단은 SwiftUI가 어떤 식의 개발을 장려하는지부터 알아봅시다. Data Driven(데이터 주도) SwiftUI는 Data Driven, 데이터 주도적입니다. 데이터 주도란 앱 데이터(Data)와 앱의 사용자 인터페이스(UI) 및 로직 사이의 관계에서 본 것인데, 말 그대로 특정 변수가 UI에 영향을 주는 경우에 데이터가 변함에 따라 UI에 표현되는 내용이 달라지는 것을 말하는 것이죠. @State 앞서 말했듯 SwiftUI는 데이터 주도적 개발을 위해 몇가지 장치를 갖고 있는데요, @State는 데이터 주도적인 개발을 위한 프로퍼티 래퍼입니다. 얘는 프로퍼티에 붙여서 뷰의 현 상황을 저장하려고 할 때 사용합니다. 프로퍼티와 뷰를 묶었다.. 2024. 2. 7.
[스위프트] SwiftUI - AsyncImage 이번시간에는 SwiftUI의 AsyncImage를 알아보려 합니다. SwiftUI에는 이미지를 그려주기에 매우 좋은 구조체가 있습니다. 바로 AsyncImage 입니다. AsyncImage는 구조체이기 때문에 init하는데, 이때 파라메터로 반드시 URL을 받아옵니다. 그럼 해당 URL을 가져와서 바로 이미지가 들어간 View를 반환합니다. AsyncImage(url: URL(string: "이미지가 있는 URL")) 또한 placeholder도 넣어줄수있어 ProgressView()를 넣어주면 이미지가 넘어오기까지 로딩되는것으로 보이게 할 수 있습니다. AsyncImage(url: URL(string: "이미지 경로 URL")) { image in image.resizable() // 이렇게 하면 이미.. 2024. 2. 5.
[스위프트] Deep Link 이번에는 Deep Link기술인 URL Scheme과 Universal Link에 대해서 알아보고자 합니다. 딥링크(Deep Link)딥링크는 웹에서 우리가 뭔가 검색하고 앱으로 연결되는 링크를 누르라고 유도하죠?그겁니다, 그거. 그걸 앱에서 하는 거라고 보면 되죠.예를 들자면, 네이버앱에서 네이버 지도를 띄우게 한다거나? 그런걸 말하는겁니다.iOS에는 두 가지 종류가 있는데 URL Scheme과 Universal Link 두 가지가 있습니다. URL Scheme(Custom Scheme)URL Scheme 혹은 Custom Scheme이라고도 하는 이건 말이죠...웹의 하이퍼링크랑 똑~같습니다.앱에서도 마찬가지로 특정 버튼이던 아이콘이던 뭔가 누르는 게 있겠죠?그럼 해당 버튼을 눌렀을 때 연결된 URL.. 2024. 2. 3.
[스위프트] UIKit 스크린 사이즈 구하는 우회 방법 // SafeArea를 쓰기편하게 상수로 저장한다. let safeArea = self.view.safeAreaLayoutGuide // safeArea를 기준으로 크기를 정한다. let screenWidth = safeArea.layoutFrame.width let screenHeight = safeArea.layoutFrame.height 앞서 썼던 스크린사이즈를 구하는 방법은 deprecated된 방법이라 더이상 쓰지 않는게 좋다.(언제 없어질지 모른다.) 그래서 일반적인 경우엔 SafeArea안에 다 들어가게 만들어야되니까 아예 safearea안에 넣어버리는게 좋은것 같기도 하다. 1. 우선 safeArea를 매번 쓰려면 너무 길어지니까 상수를 지정한다. 2. safeArea의 프레임 너비와 높이.. 2024. 2. 1.
728x90