분류 전체보기

    OOP정복⛳️ (2) 객체지향프로그래밍이란

    OOP정복⛳️ (2) 객체지향프로그래밍이란

    1편을 보고 오시면 더욱 좋아요! https://chanhee-jeong.tistory.com/29 OOP정복⛳️ (1) 객체지향프로그래밍의 등장 (객체지향 VS 절차지향) 어쩌다가 객지프 공부할일이 생겨서 작성하게 되본 새로운 시리즈 OOP정복 출발 ✨✨✨ (물론 완전한정복🥲은 어려운걸 알고 있음) 🕖 등장배경 아니,, 그래서 왜 객체지향프로그래밍이 나왔는 chanhee-jeong.tistory.com 🐣 요약 Chat GPT! 객체지향프로그래밍을 좀 인상적인 문장으로 요약 좀 해줘 저보다.. .글을 잘쓰는 chat gpt 가 써준 요약입니다. 객체지향프로그래밍에 대한 다양한 정의가 있지만 정말 매우 깔끔하게 정리를 해줬습니다. 지난시간에 짚고 넘어간 "데이터와 데이터를 조작하는 코드를 가진 객체" 를..

    OOP정복⛳️ (1) 객체지향프로그래밍의 등장 (객체지향 VS 절차지향)

    OOP정복⛳️ (1) 객체지향프로그래밍의 등장 (객체지향 VS 절차지향)

    어쩌다가 객지프 공부할일이 생겨서 작성하게 되본 새로운 시리즈 OOP정복 출발 ✨✨✨ (물론 완전한정복🥲은 어려운걸 알고 있음) 🕖 등장배경 아니,, 그래서 왜 객체지향프로그래밍이 나왔는데? 기술이 급속도로 발전에 따라 하드웨어는 성장했고 이에 맞춰 SW도 복잡해지고 거대해졌습니다. feat. 무어의 법칙 : 마이크로칩 기술의 발전 속도에 관한 일종의 법칙으로 마이크로칩에 저장할 수 있는 데이터 분량이 18-24개월 마다 두 배씩 증가한다 이렇게 되면서 기존의 flow 즉, 순서 중심의 절차지향 개발방식의 한계가 대두되었습니다. 👉 절차지향프로그래밍의 한계 👈 절차지향프로그래밍 방식의 경우 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임으로 데이터를 처리하는 부분은 구조화가 되어있으나 데이..

    [iOS/하루하나] Localization 적용기 2탄 : 앱이름, 사진, 날짜 지역화

    [iOS/하루하나] Localization 적용기 2탄 : 앱이름, 사진, 날짜 지역화

    [하루하나] Localization 적용기 2편 : 앱이름, 사진, 날짜 지역화 지난편에서 텍스트 지역화를 다루었으니 이번편에서는 그외 지역화를 다뤄볼게요! 1편에서는 깔끔하게 텍스트 지역화해보기를 다루고 있습니다 [하루하나] Localization 적용기 1탄 : 깔끔하게 텍스트 지역화해보기 하루하나 Localization 적용기 1탄 : 깔끔하게 텍스트 지역화해보기 이번편은 매우 간단한 이야기를 담고 있어 가볍게 시작해봅니다! 인스타에 앱 만든다고 or 다운좀! 하고 올리면 외국 친한 친구들 chanhee-jeong.tistory.com 1. 앱이름 앱이름 지역화는 너무 쉬운데요! InfoPlist.string 을 만들어주고 각 국가별 앱 이름으로 "CFBundleDisplayName" 키를 설정해주..

    [iOS/하루하나] Localization 적용기 1편 : 깔끔하게 텍스트 지역화해보기

    [iOS/하루하나] Localization 적용기 1편 : 깔끔하게 텍스트 지역화해보기

    하루하나 Localization 적용기 1편 : 깔끔하게 텍스트 지역화해보기 이번편은 매우 간단한 이야기를 담고 있어 가볍게 시작해봅니다! 인스타에 앱 만든다고 or 다운좀! 하고 올리면 외국 친한 친구들이 항상 영어버전도 달라고 dm 이 오곤 하는데요 😂 22년 12월에 친구한테 내년에 해줄게... 하고 약속을 했고 또 현재 출시한 앱에 외국 사용자들이 늘어나고 있어 추진력 100000%인 저는 23년이 된 지금 미루던 localization 을 바로 시도하게 되었습니다. 하루하나라는 앱을 현재 기획리딩 + 간단한 디자인 하면서 개발중에 있어요! (with 안드 / 디자인하는 iOS개발자) 제가 외국회사를 다닐때 가장 좋았던 것 중 하나가 프로젝트에 별칭을 붙여주는거라 사용중인데 1.0.1 별칭이 바로..

    debounce 와 throttle

    debounce 와 throttle

    debounce 공식문서는 debounce가 이벤트 간 특정한 시간간격이 지난 후 elements를 publish 한다고 설명합니다. 공식문서에서는 다음과 같이 debounce 에 대해 설명하고 있습니다! debounce operator를 사용하면 업스트림 publisher 로부터 value의 전송 간격과 value 의 개수를 제어할 수 있다. 이 operator 는 다운스트림에 전달되는 값의 수를 지정한 속도로 줄여야하는 bursty 혹은 대량 이벤트 스트림을 처리하는데 유용하다. 저는 이번에 검색기능을 구현하면서 요 기능을 찾아보게 되었어요! textfield 에 값을 입력할때마다 api call 을 하면 불필요하고 너무 많은 api 를 요청하게 되기 때문에 일정 시간을 두고 검색을 하려고 해요! 성..

    UITableView Header 동적으로 만들기

    UITableView Header 동적으로 만들기

    깃헙 스터디로그에서도 확인가능 : https://github.com/chaneeii/iOS-Study-Log/issues/53 내가 보려고, 정리하면서 쓰는 동적 헤더가 있는 tableview 🔥 불꽃 이모지가 있는 곳을 집중적으로 보면됩니다 1. 테이블뷰 만들어주기 -> 헤더도 같이 스크롤 하려고 그룹 스타일을 선택 private let tableView = UITableView(frame: CGRect.zero, style: .grouped) 2. 테이블뷰 속성 설정해주기 🔥🔥 매일 넣는 delegate, datasource 뿐만아니라 sectionHeight 속성을 아래와 같이 지정해주고 만들어둔 헤더뷰도 register 해줄게요! (UITableViewHeaderFooterView 을 이용했습니다..

    🚀 iOS 네트워킹 정복하기 (5) ATS (App Transport Security)

    🚀 iOS 네트워킹 정복하기 (5) ATS (App Transport Security)

    원문(블로그이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io App Transport Security 📔 관련 공식문서 NSAppTransportSecurity Preventing Insecure Network Connections ATS란? ATS는 애플리케이션과 웹 서비스 사이에 통신 시 보안 향상을 위한 기능으로 iOS 9.0, macOS 10.11 이상의 앱에서 모든 인터넷 통신 시 안전한 프로토콜을 사용하도록 보장하는 것으로 사용자의 민감한 정보가 유출되..

    🚀 iOS 네트워킹 정복하기 (4) CodingKeys / Custom 인코딩과 디코딩

    🚀 iOS 네트워킹 정복하기 (4) CodingKeys / Custom 인코딩과 디코딩

    원문(블로그 이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io 이번 시간에는 key 이름을 커스텀할때 사용할 수 있는 Coding Key 와 직접 인코딩과 디코딩을 구현하는 방법에 대해 알아보겠습니다. 그전에 왜? 커스텀 할일이 생길까요? api 응답 데이터가 Camel Case 가 아니라 snake case 라던가 다른 형식을 사용하는 경우 swift 의 컨벤션에 맞지 않는데 요러한 경우에 사용할 수 있습니다. 다시한번 자세히 설명하면! 일반적으로 데이터 통신을..

    🚀 iOS 네트워킹 정복하기 (3) Codable Protocol ( JSON Encoding / Decoding)

    🚀 iOS 네트워킹 정복하기 (3) Codable Protocol ( JSON Encoding / Decoding)

    원문 (블로그이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io Codable typealias Codable = Decodable & Encodable 자신을 "외부표현"으로 변환하거나 변활할 수 있는 타입 Codable 은 Encodable 과 Decodable protocol로 구성된 유니온 타입(union type)으로 정의할 수 있다. "외부표현" : 보통 JSON이나, property-list... 프로토콜로 Class, Enum, Struct 모두에서 ..

    🚀 iOS 네트워킹 정복하기 (2) URLSession

    🚀 iOS 네트워킹 정복하기 (2) URLSession

    원문 시리즈 (블로그 이전) 시리즈 | 🚀 iOS 네트워킹 정복하기 - averycode.log 요즘은 블로그대신 github 에 학습내용을 정리를 하게 되었는데,오랜만에 velog로 돌아와 iOS 네트워킹을 정복 시리즈를 작성해봅니다.iOS를 공부한지 몇개월이 지났는데 바쁘다는 핑계(?)로 네트워 velog.io URLLoadingSystem URL Loading System - 공식문서 The URL Loading System provides access to resources identified by URLs, using standard protocols like https or custom protocols you create. Loading is performed asynchronously, s..