전체 150

2023/24 겨울학기 교환학생 회고

지난 2023년 9월~ 독일로 교환학생을 다녀왔습니다. 다시 한국에 돌아온 지금 생각해보면 한순간의 꿈 같은 생활인데 정말 얻은 것도 많고 많은 경험과 생각을 할 수 있는 시간이었습니다. 아마 인생에서 가장 기억에 남는 일들 중 하나로 남을 것 같네요. 교환학생을 신청할 때, 가지고 있었던 목표도 있고 생각치 못했던 것들을 얻기도 했는데 이런 이야기들을 기록해보려 합니다. 보통 교환학생 하면 영어실력, 해외경험을 이유로 삼는데 저는 이런 이유도 있었지만 다른 목표들도 있었습니다. 먼저 제가 원래 예상하고 얻어오고 싶었던 것은 크게 자신감, 자립심, 심적 변화, 영어, 해외겨주 경험입니다. 자신감과 자립심입니다. 혼자 있을때는 없지 않았지만 사람들과 함께 있을 땐 매우 소극적이었습니다. 한국에서는 누구나 ..

일상 2024.04.01

블로그 개편

오랜만에 블로그에 들어와서 글을 다시 써보려고 합니다. 전에 블로그를 쓰다가 퀄리티가 부족 + 시간 없음 때문에 그만두었는데 꾸준히 글을 써보고 싶기도 하고 이런저런 주제에 대해 올려보고 싶다는 생각에 다시 들어와서 블로그를 정리했네요. 개편이라고 쓰긴 했지만 사실 테마를 바꾸고 카테고리 통합 및 정리를 했습니다. 그래도 정리 좀 하니까 뭔가 기분은 좋네! 개발은 iOS를 메인으로 하니까 진짜 옛날에 썼던 글들은 그냥 카테고리 하나로 합치고 iOS를 세분화해봤습니다. 처음은 개발블로그로 시작했지만 일상이나 리뷰 처럼 다양하게 글을 써 나가야겠습니다.

일상 2024.03.20

[iOS] SwiftLint 사용

코드 컨벤션을 지키기 위해 추가로 SwiftLint를 사용해보려 합니다. 먼저 SwiftLint github입니다. GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions. A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub. github.com 한국어 버전의 README도 있습니다. GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions. A tool to enforce Swift style ..

iOS/Swift 2022.10.23

[Mac] Blackhole로 OBS studio로 영상 소리 녹화

전에 비슷한 포스팅을 했는데 잘 안될 때도 있어 Blackhole을 이용한 방법으로 개선해서 업로드합니다. (OBS 녹화를 하는데 맥북 마이크 소리 없이 컴퓨터 소리만 녹화하고 싶을 때 사용) https://jrepository.tistory.com/145 [Mac] 녹화 소리 녹음(OBS 스튜디오 녹화) -현재 다른 녹화는 잘 되는데 줌에서 발표자의 목소리는 녹음이 안됩니다.- -> 해당 이슈는 blackhole을 사용하면서 해결했습니다. 적용 방법은 본문과 비슷한데 추후 포스팅하겠습니다. 맥에서 OB jrepository.tistory.com 먼저 제 맥은 M1 Air - Moterey를 사용하고 있습니다. 과정은 OBS는 설치되어 있다는 가정 하에 다음과 같습니다. 1. blackhole 설치 2...

기타 2022.09.06

부스트캠프 웹 모바일 7기(iOS) 챌린지 회고, 멤버십 합격

멤버십 결과가 나오고 회고를 작성하는 게 좋을 것 같아 챌린지가 끝나고 2주 만에 작성하네요. 다행히 멤버십에 붙고 쓰게 되어 기쁩니다. 일단 챌린지부터 정리하고 멤버십 합격 후기로 넘어가 보겠습니다! 1. 주차별 체감 2. 챌린지 기간의 생활 3. 챌린지 소감 4. 멤버십 합격 1. 주차별 체감 먼저 4주간의 시간을 보내면서 힘들었던 주를 정리해보면 제가 느끼는 체감 난이도는 2주 차 < 1주 차 < 3주 차 =< 4주 차였습니다. - 1주 차는 지금 생각해보면 엄청 어려운 미션은 아니지만 챌린지의 스케줄에 적응한다는 점에서 쉽지만은 않았습니다. - 2주 차는 좀 적응은 한 상태고 미션도 나름 재밌게 진행해서 4주 중에선 가장 편안한 주였습니다.(근데 비교적인 거라 힘들긴 합니다.) - 3주 차는 새롭..

기타 2022.08.26

네이버 부스트캠프 iOS 7기 1차, 2차 코딩테스트 및 챌린지 합격 후기

안녕하세요. 2022년 네이버 부스트캠프 웹 모바일 7기 iOS 챌린지에 합격해 후기와 제가 준비한 방법을 써보려 합니다. 사실 오늘이 챌린지 시작 이틀 남은 시점인데 후기를 쓸까 고민하다가 이번 부스트캠프를 준비하면서 이전 기수분들의 글을 찾아보며 도움이 되었기에 저도 써보자고 생각했습니다. ㅎㅎ 모든 내용은 주관적입니다. 물론 부스트캠프 정책상 문제 유형이나 자세한 정보는 언급할 수 없는 점 유의해주세요! 테스트 일정은 다음과 같이 진행되었습니다. 1차 코딩테스트 후기 지원서를 접수하고 응시료를 납부하면 메일을 받게 됩니다. 저는 iOS 파트를 지원한 만큼 Swift로 코딩테스트를 진행했습니다. Swift로 한다고 이득이 있는 건 아닐 거라 생각되지만 결국 쓸 언어로 하는 게 좋을 거라 생각했습니다...

기타 2022.07.16

[Git] Github Gist (깃허브 기스트)

깃허브에 코드를 업로드하고 공유하기 좋은 기능이 있어서 써보려 합니다. Github Gist : https://gist.github.com/ 깃허브 계정이 있으면 해당 계정으로 로그인할 수 있습니다. 먼저 Github Gist에 들어가면 다음과 같은 화면에서 코드를 추가할 수가 있습니다. 코드를 업로드하기 위해 Gist description, Filename, Code 에 각 예시를 쓰고 create secret gist를 누르면 다음 화면이 나옵니다. - Create에는 Secret과 Public이 있는데 Secret은 URL이 있으면 누구나 코드를 확인할 수 있습니다. (개인적으론 Secret을 이용해 다른 사람들과 코드 공유를 많이 할 것 같습니다.) 해당 코드에 코멘트를 달 수가 있어 공유와 의견..

개발/Git 2022.07.15

[iOS-Error] 카메라를 사용하려 할 때 에러 해결 UIImagePickerController()

앱에서 카메라를 통해 사진을 가져오려고 UIImagePickerController()를 사용하는데 에러가 발생했습니다. 애플의 프라이버시 규정 때문인데 권한 문제를 해결해보겠습니다! 에러메세지 [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data. Infoplist에 가서 권한을 설정해 주면 되는데 여기서 에러메세지에 ..

iOS/Errors 2022.07.12

[Swift] protocol에 대하여(개념 정리)

프로토콜을 다시 보면서 제대로 사용해야겠다는 생각이 들어 요점을 정리해보려 합니다. iOS개발을 하면서 프로토콜은 정말 많이 사용됩니다. 특히 delegate 패턴에서도 아주 많이 보이는 유형입니다. 자바를 해보신 분이라면 스위프트의 프로토콜은 자바의 인터페이스와 아주 유사하다고 할 수 있겠습니다. 프로토콜 protocol 프로토콜을 만들고 정의하는 기본 틀입니다. protocol { // 명세들 } 프로토콜을 구현할 수 있는 구현체는 다음과 같습니다. 구조체 2. 클래스 3. 열거형 4. 익스텐션 struct,class,enum,extension 객체:protocol {} 프로토콜 프로퍼티 저장 프로퍼티와 연산 프로퍼티 프로토콜 (차이점 주의) 다음은 프로토콜에서 프로퍼티를 명세하는 부분인데 get과 ..

iOS/Swift 2022.06.30

[Swift] PS에 유용하게 사용할 것들 정리

IDE를 사용하지 않고 PS문제를 푸는 연습을 하는 중입니다. Swift는 parameter 이름도 method에 써줘야해서 조금 까다롭습니다. 물론 구현해서 써도 되지만 너무 기본적인 것도 전부 구현하면 코드 길이와 시간이 비약적으로 늘어나기에.. 정리해보려 합니다. 일단 쭉 써놓고 코테가 끝나면 String, Array 등 확실히 정리해서 구분해보는걸로! pow(_ p1: Double, _p2: Double) - p1의 p2승 - 양쪽을 float이나 double로 써줘야한다. 리터럴은 타입캐스팅 해주는듯 하지만.. 변수는 에러 (숫자라면 소수점 3.0 / 변수라면 Double() 사용) var a: Int = 3 var result: Double = pow(2.0, 3); // 8 var resul..

iOS/Swift 2022.06.23