전체 글 29

PNG vs JPEG vs HEIC

안녕하세요, 하노입니다 :D 얼마 전 image를 서버에 업로드하는 기능을 구현 중,원본 이미지 크기가 약 5MB임에도 불구하고 서버에서 image 10MB 용량 제한에 걸려 에러가 나는 상황이 있었습니다!확인해 보니 image를 처리해 주는 모듈에서 UIImage Type을 Data Type으로 변환 시pngData()를 사용하고 있더라구요. 여기서 엄청난 용량 뻥튀기(?)가 된다는 사실을 알고,jpegData(compressionQuality:) 를 사용하여 에러를 처리하였는데요, 이번 기회로 UIImage Type에서 Data Type으로 변환할 때image 파일 형식을 비교하면서 어떤 차이점이 있는지 알아보려고 합니다!  그럼 시작하겠습니다!   1. Method우선 각 메서드별로 어떻게 동작하는..

iOS/Swift 2024.09.18

[Swift] STOMP 톺아보기

안녕하세요, 하노입니다 :D 오늘은 Websocket에서 사용할 수 있는 Protocol 중 하나인 STOMP (Simple Text Oriented messaging protocol) 에 대해서 간단하게 알아보려고 합니다! 사실 회사에서 STOMP 기술을 채택하면서 저도 처음 알게 된 기술인데요, 문서와 함께 간단하게 톺아보는 시간을 가져보려고 합니다! (Stomp 문서 링크: https://stomp.github.io) 그럼 시작하겠습니다!! 1. STOMP 란? What is it? STOMP is the Simple (or Streaming) Text Orientated Messaging Protocol. 네. STOMP는 단순한 텍스트 지향 메세징 프로토콜입니다. 참 쉽죠? 실제로 사용하는데 클..

iOS 2024.04.22

2023년 회고 & 2024년 다짐

2022년 회고 & 2023년 다짐 참 많은 일들이 있었던 2023년을 정리하며 보내고 오는 2024년에 대한 다짐을 하려 한다. iOS 개발자로 첫 취업 iOS를 공부한 지 약 1년 만에 취업에 성공했다! 처음 다니는 회사를 퇴사하고 나는 무조건 할 수 있다!! 라고 생각하며 iOS 개발자로 전직했는데 결과는 다행히 성공적이었다. 개발자로 취업하기 위해 무작정 회사를 퇴사한 나 무식하면 용감한것이야... 하지만 결과는 좋으니 칭찬해..!! iOS 컨퍼런스를 다니며 얻은 것들 iOS 개발자로 전직 후 컨퍼런스를 많이 다니려 노력했는데, 그 이유는 가장 첫번째로 남들과 많이 만나면서 개발에 대한 열정을 많이 얻어가려고 했던 것이 가장 컸다. 그리고 개발하면서 내가 했던 기술적인 고민들, 아키텍처에 대한 생..

일상/회고 2024.01.03

메모리 누수(Memory Leak) 점검 • 해결 방법 및 회고

안녕하세요, 하노입니다 :D 오늘은 제가 겪었던 메모리 누수에 대한 점검 및 해결 방법과 짤막한 회고를 해보려고 합니다! 특정 화면에 대하여 리팩토링을 하던 중 약 1.5~6MB의 메모리가 계속 쌓이는 것을 확인하였습니다. 이에 대해 제가 어떤 방법으로 해결하려 했는지, 방법과 회고에 대해서 다뤄보겠습니다! 1. 메모리 누수(Memory Leak) 이란? 프로그램(앱)에서 사용한 메모리를 정상적인 방법으로 해제하지 못한 경우, 해당 메모리가 계속해서 남아있는 현상. 2. 메모리 누수의 주요 원인. 메모리 누수의 주요 원인은 메모리 영역과 큰 관련이 있습니다. 메모리 영역 중 Heap 영역에 해당되는 객체들에 한하여 메모리 누수 현상이 발생하는데요, 이 메모리 영역을 생각하면서 원인을 크게 2가지로 나누어..

iOS 2023.07.29

새싹(SeSAC) iOS 앱개발자 데뷔 과정 2기 합격 및 수료 후기

안녕하세요, 하노입니다! 오늘은 제가 취업하기 전 들었던 마지막 부트캠프인 SeSAC 합격 및 수료 후기를 남기려고 합니다. 이제 3기를 모집한다고 해서 2기였던 제가 조금이나마 도움이 될 수 있을까 해서 올리기도 하고, 또 수강했던 기억을 되짚어보면서 나름대로 회고할 수 있는 기회인 것 같아 글을 작성합니다! 0. 새싹 신청 전 저의 상태 새싹을 신청하기 전 저는 Swift 문법은 나름 잘 안다고 생각했지만, iOS 앱 개발에 대해선 무지했었습니다. 심지어 회사도 다니고 있었고 야근도 있었던지라 퇴근하고 공부하기엔 나름 체력적으로 힘들었어요 ㅠ 그래서 정말 큰맘 먹고 될대로 돼라!!라고 생각하면서 퇴사 후 새싹을 지원했었습니다. 새싹을 지원했을 때 저의 상태를 살펴보자면, 펌웨어 개발로 회사에서 근무하..

iOS/캠프 2023.05.01

UIKit과 SwiftUI 사용 (WWDC 2022)

안녕하세요 하노입니다 :) 이제 슬슬 SwiftUI을 도입하려는 회사가 많아짐에 따라 더 이상 SwiftUI 공부를 미룰 수 없겠더라구요...ㅎㅎ 그래서 SwiftUI에 대해 알아보던 중 WWDC 자료는 필수로 봐야겠다는 생각이 들어서 정리할 겸 글을 쓰려고 합니다! 그럼 시작하겠습니다! 1. UIHostingController UIHostingController란 UIViewController와 구조적으로 같다고 보시면 됩니다. 다만, UIViewController는 UIView 객체를 사용하지만, UIHostingController는 SwiftUI View를 사용합니다. 그래서 WWDC에선 건강 관리 앱을 예로 들면서 설명해 주는데요, HeartRateView가 SwiftUI로 짠 View일 때 이렇..

iOS/WWDC 2023.03.20

2022년 회고 & 2023년 다짐

다사다난했던 2022년을 보내고 오는 2023년에 대한 다짐을 하려고 한다. 2년간 일했던 곳에서 퇴사하다 대학 졸업 후, 2년간 사회 초년생으로, 펌웨어 연구원으로 일했던 곳에서 퇴사를 했다. 6월 즈음에 퇴사했는데 퇴사한 이유가 무엇이냐면, 펌웨어 개발보다 iOS 개발을 하고 싶었다. 사실 갑작스럽게 퇴사한 건 아니고,, 2021년 말부터 iOS 개발자를 찬찬히 준비하다가 내일 채움 공제가 끝나는 시점에 마침 iOS 부트캠프가 열려서 이 시점에 퇴사했다. 그 부트캠프가 무엇이냐???? 새싹 iOS 과정 2기 수료 바로 새싹이다!!!! 후기가 너무 좋아서 너무 듣고 싶었는데, 운 좋게 합격하여 iOS 과정을 들을 수 있었다. (다음 글에서 후기로 더 자세하게 다룰 예정!!) 멘토분들도 상상 이상으로 너..

일상/회고 2023.01.05

[RxSwift] Observable 뿌시기

안녕하세요 하노입니다 :) 갑자기 오늘 날씨가 추워졌네요! 오늘 영하 2도까지 내려가던데 다들 건강 챙기세요~!!! 요새 RxSwift를 공부하면서, RxSwift 로고를 맥북에 붙이고 다니면 이쁘겠는데???? 생각해서 스티커를 100장이나 뽑아버렸습니다....ㅎㅎ 오늘은 RxSwift 3요소 중 Observable에 대해서 알아보려 합니다! 그럼 시작하겠습니다!! 1. Observable이란? 여러 이벤트들을 생성하고 방출(Emit)할 수 있는 대상. (Observable = Observable Sequence = Sequence 모두 같은 단어이다.) Observable에서 가장 중요한 것은 이벤트를 비동기적으로 생성, 방출할 수 있습니다. 2. Observable의 생명 주기 Observable은 ..

iOS/Swift 2022.11.04

[RxSwift] RxSwift 개념 뿌시기

안녕하세요 하노입니다 :) 요새 완연한 가을의 날씨를 잘 즐기고 계신가요?? 저는 요새 집에서 안나간지 좀 됐습니다...ㅎㅎ 여러분들이라도 저 대신 가을을 즐겨주세요,,, 여튼 오늘은 RxSwift의 개념에 대해서 알아보겠습니다. 1. RxSwift란? RxSwift is a library for composing asynchronous and event-based code by using observable sequences and functional style operators, allowing for parameterized execution via schedulers. RxSwift는 관찰 가능한 시퀀스와 기능적 스타일 연산자를 사용하여 비동기식 및 이벤트 기반 코드를 구성하기 위한 라이브러리로,..

iOS/Swift 2022.11.02

[iOS + Firebase] Analytics, Crashlytics, Messaging 사용하기

안녕하세요 하노입니다 :) 얼마 전 앱을 출시하고 Firebase를 이용해서 실제로 사용자들이 얼마나 앱을 사용하는지 확인해보려고 합니다! 물론 App Store Connect에서 확인할 수 도 있지만, 실시간으로 집계가 되지 않기 때문에, Firebase를 이용하여 실시간으로 확인해보겠습니다! 1. 사전 준비 실제 iOS 기기 - 시뮬레이터에서는 기본적으로 푸시 알림 테스트가 불가능하기 때문에 실제 iOS 기기가 필요합니다. 애플 개발자 계정 - 애플 공식 개발자 계정이 있어야 합니다. ( 연 129,000원 결제를 해야 합니다! ) 2. Firebase 등록하기 처음 Firebase에 등록하기 위해선 해당 앱의 Bundle identifier를 알아야 합니다. Bundle identifier는 Pro..

iOS 2022.10.11