Today I Learned
개발자로서 성장하는 하루하루를 기록하기위해 만든 공간입니다.
2단계를 통해 학습, 복습하고 있습니다 ✨ 1단계. GitHub에 메모 ✨ 2단계. 블로그에 정리해서 게시 ✨
446 TILs and counting...
👇 각 항목별 상세 콘텐츠로 이동하세요.
앱 개발에서 공통적으로 필요한 기능들을 정리합니다.
(예: Splash 화면, UserDefaults, 퍼미션 처리 등)
- 📦 UIKit 기반 앱
- 📦 UIKit - 앱의 구조와 실행 흐름 : 어떻게 실행되는가
- 🎨 UIKit - UI 구성 요소 설계 : 어떤 뷰로 구성되는가
- 🎨 UIKit - 레이아웃과 배치 전략 : 어떻게 배치할까
- 🕹 UIKit - 이벤트 & 입력 처리 흐름 : 어떤 입력을 어떻게 처리할까
- 🔀 UIKit - 화면 전환 흐름 : 어떤 흐름으로 이동할까
- 🧠 UIKit - 데이터의 흐름과 상태 관리 : 데이터는 어떻게 전달되고, 상태는 어떻게 UI에 반영되는가
- 🎨 UIKit - 애니메이션 & 뷰 효과 구성 : 어떻게 그려지는가
- 🧠 UIKit - 메모리 관리
- 📦 SwiftUI 기반 앱
- 📦 SwiftUI - 앱의 구조와 실행 흐름 : 어떻게 실행되는가
- 🎨 SwiftUI - UI 구성 요소 설계 : 어떤 뷰로 구성되는가
- 🎨 SwiftUI - 레이아웃과 배치 전략 : 어떻게 배치할까
- 🕹 SwiftUI - 이벤트 & 입력 처리 흐름 : 어떤 입력을 어떻게 처리할까
- 🔀 SwiftUI - 화면 전환 흐름 : 어떤 흐름으로 이동할까
- 🧠 SwiftUI - 데이터의 흐름과 상태 관리 : 데이터는 어떻게 전달되고, 상태는 어떻게 UI에 반영되는가
- 🎨 SwiftUI - 애니메이션 & 뷰 효과 구성 : 어떻게 그려지는가
- 🧠 SwiftUI - 메모리 관리
- 📦 View 기반 앱
- 📦 View - 앱의 구조와 실행 흐름 : 어떻게 실행되는가
- 🎨 View - UI 구성 요소 설계 : 어떤 뷰로 구성되는가
- 🎨 View - 레이아웃과 배치 전략 : 어떻게 배치할까
- 🕹 View - 이벤트 & 입력 처리 흐름 : 어떤 입력을 어떻게 처리할까
- 🔀 View - 화면 전환 흐름 : 어떤 흐름으로 이동할까
- 🧠 View - 데이터의 흐름과 상태 관리 : 데이터는 어떻게 전달되고, 상태는 어떻게 UI에 반영되는가
- 🎨 View - 애니메이션 & 뷰 효과 구성 : 어떻게 그려지는가
- 🧠 View - 메모리 관리
- 📦 Compose 기반 앱
- 📦 Compose - 앱의 구조와 실행 흐름 : 어떻게 실행되는가
- 🎨 Compose - UI 구성 요소 설계 : 어떤 뷰로 구성되는가
- 🎨 Compose - 레이아웃과 배치 전략 : 어떻게 배치할까
- 🕹 Compose - 이벤트 & 입력 처리 흐름 : 어떤 입력을 어떻게 처리할까
- 🔀 Compose - 화면 전환 흐름 : 어떤 흐름으로 이동할까
- 🧠 Compose - 데이터의 흐름과 상태 관리 : 데이터는 어떻게 전달되고, 상태는 어떻게 UI에 반영되는가
- 🎨 Compose - 애니메이션 & 뷰 효과 구성 : 어떻게 그려지는가
- 🧠 Compose - 메모리 관리
- Android - 그래픽 렌더링 & 시각 효과
- 🖼 Android - Canvas & Paint : 직접 드로잉 처리
- 💫 Android - Animator / MotionLayout : 애니메이션 처리
- 🎮 Android - OpenGL / Vulkan : 고성능 그래픽
- 🌈 Android - BlendMode / RenderScript : 이미지 필터 및 색상 효과
- 🕹 Android - ARCore / Sceneform : AR 및 3D 렌더링
-
- Basic Widgets : 가장 기초적인 위젯 구성 요소들 (Text, Button 등)
- Layout Widgets : 레이아웃 구성용 위젯 (Row, Column, Stack 등)
- Text Widgets : 텍스트 표시 및 스타일링 관련 위젯
- Input Widgets : 사용자 입력을 위한 위젯 (TextField, Button, Form 등)
- Assets, Images, and Icons : 이미지, 아이콘, 에셋 관련 구성 요소
- Scrolling Widgets : 스크롤 가능한 콘텐츠를 구성하는 위젯
- Interaction Models : 제스처 및 터치 반응 처리 위젯
- Styling Widgets : 테마, 반응형 구성, 패딩 등 스타일링 위젯
- Painting and Effects : 시각적 효과 및 그리기 관련 위젯
- Animation and Motion : 애니메이션 효과와 트랜지션 처리
- Async Widgets : 비동기 상태를 다루기 위한 위젯 (Future, Stream 등)
- Accessibility Widgets : 앱의 접근성을 향상시키는 도구 제공
- [🎨 Flutter - 그래픽 렌더링 & 시각 효과 목차]
- 🖼 CustomPainter : drawLine, drawRect 등으로 직접 도형을 그리는 방법
- [💫 AnimationController & Tween] : 커스텀 애니메이션 처리
- [🎮 Flutter + OpenGL / Unity 통합] : 고성능 그래픽 또는 3D 렌더링이 필요한 경우 외부 엔진 연동 방법
- [🌈 ImageFilter & BlendMode] : 이미지 필터와 색상 효과 등 이미지 시각 효과 적용
- [🕹 Flutter AR & 3D 시도 사례] : ARKit, SceneKit처럼 AR 기능은 외부 플러그인 기반 접근 정리
⸻
- 🖥️ Computer Science
- 📚 Basics : 컴퓨터 과학의 기초 개념, 비트와 바이트, 논리 게이트 등
- ⚙️ Hardware : CPU, 메모리, 저장장치 등 하드웨어 구성 요소
- 🧩 Software : 운영체제, 컴파일러, 소프트웨어 개발의 기반
- 📐 Algorithms : 문제 해결을 위한 알고리즘과 패턴
- 📦 Data Structure : 배열, 리스트, 트리 등 자료 구조
- 🌐 Networking : 인터넷, TCP/IP, OSI 7계층 등 네트워크 원리
- 🧮 Programming Paradigms : 명령형, 함수형, 객체지향 등 프로그래밍 방식
- 🎯 Design Patterns : 재사용 가능한 소프트웨어 설계 패턴 (싱글턴, 팩토리, 옵저버 등)
- 🏛 Architecture Patterns : 앱의 구조를 구성하는 고수준 설계 패턴 (MVC, MVVM 등)
- 🛡 Security & Cryptography : 인증, 암호화, 보안 위협 대응 방법
- 🗄 Database : 데이터베이스 기본 개념과 SQL 활용
- 🧠 AI / Machine Learning : 인공지능의 기본 개념과 머신러닝 모델
세부 Topic들이 입력되는곳
- Design Pattern - Command 패턴(작성예정)
- Design Pattern - Composite 패턴(작성예정)
- Design Pattern - Factory method 패턴(작성예정)
- Design Pattern - Mediator 패턴(작성예정)
- Design Pattern - Strategy 패턴(작성예정)
- [Apple Documentation Archive] Auto Layout Guide(작성중)
- [Apple Documentation Archive] Coordinate System : View의 좌표계(작성중)
- Integrity - App Attest (앱 증명)
- Integrity - KeyChain
- Integrity - Secure Enclave
- 소켓이란
- [StoryBoard] - Unknown class ViewControllerC in Interface Builder file
- Git Error - command line tools are already installed (사실 git 에러 아님)
- Git Error - RPC failed; curl 18 transfer closed with...
- GitLab Error - You won't be able to pull or push project code via SSH until ...
- SourceTree Error - 시도때도 없이 꺼지는 현상
- Terminal Error - xcrun: error: active developer path...
- Xcode Error - Presenting view controllers on detached view controllers is discouraged.
- Xcode Error - Build input file cannot be found:
- Xcode Error - The CFBundleShortVersionString of an app extension (‘1.0’) must match that of its containing parent app
- Xcode Error - Command PhaseScriptExecution failed with a nonzero exit code
- Xcode Error - Launching AppName is taking longer than expected
- Xcode Error - Unable to process request - PLA Update available
- Xcode Error - Unknown class @@ in Interface Builder file.
- Xcode Error - Assistant가 작동하지 않을때 체크해야할 것
- Xcode Error - Cannot be opened because it is in a future Xcode project file format.
- Xcode Error - iPhone is busy: Making Apple Watch ready for development
- Xcode Error - maximumViewportInset cannot be larger than frame
- Xcode Error - warning: libobjc.A.dylib is being read from process memory...
- Xcode Error - xcode-select: error: tool 'xcodebuild' requires Xcode
- sample App - 투두리스트
- sample App - 그림판앱
- Sample App : 설정앱 - SwiftUI
- Sample App : 설정앱 - UIKit(Code)
- Sample App : 네트워킹과정 앱 - SwiftUI [Data parse, URLSession, completion, Singleton, Error, Result, Generic]
- Block6 앱 만들기
- Data Structure - 다양한 데이터 구조, iOS에서 사용하는 데이터 구조
- iOS에서 메모리구조 : Code / Data / Heap / Stack
- 터미널 - 커스텀 함수 및 환경변수 설정하기
- Terminal 기초 사용법
- iOS의 Virtual Memory에 대하여
- Data Structure - Stack과 Queue
- Dynamic Programming (DP): 동적프로그래밍
아래와 같이 매칭합니다.
📁 Mobile_00_Common/
├── MobileCommon_000.Splash.md
├── MobileCommon_001.LocalMemory.md
└── ...
📁 Mobile_01_iOS/
├── iosCommon_000.Splash.md
├── iosCommon_001.UserDefault.md
└── ...
📁 Mobile_02_Android/
├── androidCommon_000.Splash.md
├── androidCommon_001.SharedPreference.md
└── ...
📁 Mobile_03_Flutter/
├── flutterCommon_000.Splash.md
├── flutterCommon_001.SharedPreference.md
└── ...
- App 공통 구성 요소 - Intro
- App 공통 구성 요소 - Splash
- App 공통 구성 요소 - Local Storage
- App 공통 구성 요소 - DeepLink
- App 공통 구성 요소 - WebView–Native 통신
- [Apple Document] - UIApplicationMain(::::)
- [Apple Document] - UIApplication 싱글턴 객체
- [Apple Document] - AppDelegate, UIApplicationDelegate 프로토콜
- [Apple Document] - Managing your app’s life cycle : 앱의 생명주기 관리
- [Apple Document] - Responding to the launch of your app : 앱 실행에 대한 응답
- [Apple Document] - About the app launch sequence : 앱의 실행되는 순서에 관하여
- 앱의 구동에 관하여
- UIApplication_AppDelegate - 헷갈릴수 있는 두 함수(didReceive형제)
- UIApplication_AppDelegate - userNotificationCenter
- UIApplication_AppDelegate - UIApplicationDelegate : 앱의 상태 / 생명주기(Life-Cycle)
-
UIKit 기반 화면에서 어떤 UI 컴포넌트를 배치하고 구성하는지에 초점을 맞춘 문서들입니다.
-
[iOS App Dev Tutorials] UIKit - Today앱 만들기(1) : Creating a list View
-
[iOS App Dev Tutorials] UIKit - Today앱 만들기(2) : Adopting collection views
-
[iOS App Dev Tutorials] UIKit - Today앱 만들기(3) : Displaying cell info
-
UIView 기반 컴포넌트
-
UIScrollView 기반 컴포넌트
- UIScrollView 소개
- UICollectionView - 프로퍼티 옵저버 didSet과 isSelected
- UICollectionView 사용법
- UICollectionView with DiffableDataSource
- UICellAccessory 정리
- UITableView - 템플릿
- UITableView - 기본 생성
- UITableView - 커스텀 셀
- UITableView - Section 구현
- UITableView - 셀 선택, 삭제, 상호작용
- UITableView - 동적 셀 높이
- UITableView - editingStyle
- [Apple Document] UITableViewCell
- UITableViewCell - accessoryType
- UITableView - 경계선 없는 셀
- UITableView - 확장/접기 셀
- UITableView - SwiftUI 구성
-
UIControl 기반 컴포넌트
-
UIViewController 기반 구성 요소
-
시스템 & 유틸리티
- Layout - 오토레이아웃의 개념
- UIKit - UIStoryboard
- Layout - CGRectMake는 뭘까
- Layout - Hierarchy of UIView (feat. addSubView)
- CGPoint, CGSize, CGRect
- 정리 : iOS에서의 화면관리 및 전환
- 기본적인 iOS 앱의 구조 / 탭바컨트롤러 / 네비게이션컨트롤러
- 화면전환 - UINavigationController 이해하기
- present - CodeUI to StoryBoard
- present - UIKit to SwiftUI
- Segue를 이용한 화면이동
- Show는 push와 present의 추상화 메서드
- 화면전환 - UITabBarController 이해하기
- Layout - SwiftUI: Text
- Layout - SwiftUI: Image
- Layout - SwiftUI: Button
- Layout - SwiftUI: Spacer
- Layout - SwiftUI: Padding
- Layout - SwiftUI: HStack, VStack, ZStack
- Layout - SwiftUI: NavigationView
- Layout - SwiftUI: TabView
- SwiftUI - Control에 대하여
- SwiftUI - View 프로토콜
- Layout - SwiftUI: Color
- Layout - SwiftUI: List
- Layout - SwiftUI: ScrollView
- UIKit으로 구현된 화면에 SwiftUI View를 추가하기 : UIHostingController
- UIKit에서 SwiftUI의 Preview 사용하기
- UIKit에서 SwiftUI의 Preview관련 함수 만들어 사용하기
- SwiftUI에서 UIKit 사용하기 : UIViewRepresentable, UILabel, WebView
- 네트워크 통신의 이해
- NSObject - URLSession
- Network Programming - RESTful APIs 사용하기
- Notifications - IOS에서 사용하는 알림의 종류
- 개념 - 페이로드(Payload)
- Cookie란
- Cookie - cookieAcceptPolicy (쿠키수락정책)
- 네트워킹 - 각종 URL의 유효성 검사
- 웹뷰 구현
- WKWebView 사용하기, 구성 요소 살펴보기
- WebView - 웹뷰에 스크립트를 적용시키는 방법
- WebView - Delegate method
- WebView - App에서 웹페이지를 여는 3가지 방법
- WebView - 네비게이션컨트롤러 목록으로 웹뷰 관리하는 방법
- WebView - Safari로 웹뷰 디버깅하는 방법
- WebView - createWebViewWith : blank로 새창열기
- WebView - 자주 사용하는 메서드
- WebView - 스와이프로 리프레시 세팅
- webview - 바운스 효과 제거하기
- WebView - WKWebsiteDataStore 사용하여 웹뷰의 데이터관리하기
- Cookie - 현재 웹뷰로 쿠키 가져오기
- Cookie - ios에서 쿠키 다루기
- Cookie - WKProcessPool를 사용해 여러 웹뷰에서 쿠키 공유하기
- 웹뷰 디버깅
- 시간 관련
- CLLocation
- BLE
- AVFoundation
- Foundation
- Core Animation
- Photo
- 색상관련
- External Link (외부링크) - 커스텀 앱스키마 만들기, 사용하기
- iOS - 패키지 의존성 관리 도구: CocoaPods, Carthage, SPM
- About Swift PackageManager
- CocoaPods 사용하기
- About CocoaPods Error 방지하기
- Convention
- 라이브러리 - 카카오 SDK 사용하기
- 라이브러리 - swiftSoup
- ReactiveX: RxSwift Introduce
- Analytics
- Push
- UI/UX
- SNS
-
디자인패턴
-
아키텍쳐패턴
- 아키텍쳐패턴이란, 디자인패턴과 아키텍쳐의 차이
- MVC -> MVP -> MVVM : Caculator
- MVC -> MVP -> MVVM : ColorSelectApp
- MVC to MVVM : 01. UTC 오늘, 현재, 내일 시간보기
- MVC to MVVM : 02. TableVC 클릭시 텍스트 변경
- VC -> MVC : Custom UICollectionView
- Architecture - IOS MVC의 한계
- Architecture - MVC: 전통적인 MVC구조로 HTTP사용하기
- Architecture - 간단한 MVVM구조 예제
- 단방향 데이터 플로우(Unidirectial Data Flow, UDF)
- ReactorKit - 예제: CountApp
- Clean Architecture(클린 아키텍쳐)
- 데이터 바인딩이란
- Architecture - 비즈니스 로직이란
-
동시성 개념 이해
-
GCD 기반 API (Grand Central Dispatch)
-
Operation 기반 API (Foundation 계열)
-
Swift Concurrency (언어 기반 동시성)
-
Objective-C 기반 비동기 호출
※ 현재는 거의 사용하지 않음- performSelector를 이용한 비동기 작업
- UIAlertView Deprecated in iOS 9, Replaced by UIAlertController in iOS 10.0
- MPMoviePlayerController Deprecated in iOS 10, Replaced by AVPlayerViewController in iOS 7
- NSURLConnection Deprecated in iOS 9, Replaced by URLSession in iOS 7
- 'setVolume:' is deprecated: first deprecated in iOS 7.0 - Use MPVolumeView for volume control.
- Info.plist : (값 가져오기, 권한)
- Info.plist - App Version 가져오기
- Privacy - 여러가지 접근권한요청
- Framework란 무엇인가
- XCFramework 생성하기
- 로컬라이징
- App Store Connect - 배포된 앱을 삭제하는 2가지 방법
- AppStore - 앱 생성하기
- AppStore - 수출 규정 준수 정보
- AppStore - 버전정보 수정하기
- AppStore - 긴급 심사 요청(Request Expedited Review)
- 앱심사 - 수출 규정 관련 문서가 누락됨(Missing Compliance) / 우회처리
- 리젝사유 - 2. Performance(성능)
- 리젝사유 - 4. Design(디자인)
- 리젝사유 - 5. Legal(법률)
- 테스트플라잇 - 외부 테스팅 (External Testing)
- appStoreReceiptURL
- .ipa 파일 만들기
- How to Set - 세로모드 고정 (Potrait)
- Xcode 주석사용법
- XCode - 전처리문 사용하기
- Scheme - Debug / Release 빌드 분리하기
- iOS DeviceSupport - 테스트 디바이스 iOS 수동 업데이트
- Xcode - 빌드된 app파일은 어디에 있을까
-
UI가 어떻게 그려지고 표현되는가에 대한 개념과 Core Animation, 마스크 등 렌더링 중심 자료를 모았습니다.
-
UIKit 레이어 & 시각 효과
- 저장
- 보안
- Integrity - 앱 설치환경 체크
- Integrity - 인증서(.p8, .p12 / Development, Distribution / Producation SSL, Development SSL)
- Integrity - 인증서와 프로비저닝 프로파일 (Certificate & Provisioning Profile) 관리하기
- Integrity - DeviceCheck
- Integrity_개인정보 보호 매니페스트 PrivacyInfo.xcprivacy 만들기
- Integrity - UUID / UDID / IDFA / IDFV
- Integrity - APN 인증키(.p8) 발급받기
- Integrity - 중간자 공격(man-in-the-middle attack)
- Integrity - 리플레이 공격(Replay attack)
- 라이브러리 연동 샘플
- 기능 구현 단위 샘플
- 연구
- 앱 개발
- 언제나 가지
- 맷대맷
- 기억나데어
- 스트레치업
- Rythmic Word
직접 드로잉 처리
애니메이션 처리
고성능 그래픽
이미지 필터 및 색상 효과
AR 및 3D 렌더링
⸻
- Flutter - Splash 구현
가장 기초적인 위젯 구성 요소들
- Flutter - 기본 위젯 4종 (Text, Icon, Image, Box)
- Flutter - Drawer : GNB / 사이드바
- Flutter - ElevatedButton
- Flutter - Scaffold & AppBar
- Flutter - Toggle Switch
텍스트 표시 및 스타일링 관련 위젯
레이아웃 구성용 위젯
-
Single-child
- Flutter - Layout : Center
- Flutter - Layout : Container
- 포함된 내용
- SizedBox
- ColoredBox
- Padding
- Align
- 포함된 내용
-
Multi-child
텍스트 표시 및 스타일링 관련 위젯
스크롤 가능한 콘텐츠를 구성하는 위젯
제스처 및 터치 반응 처리 위젯
테마, 반응형 구성, 패딩 등 스타일링 위젯
시각적 효과 및 그리기 관련 위젯
애니메이션 효과와 트랜지션 처리
비동기 상태를 다루기 위한 위젯
앱의 접근성을 향상시키는 도구 위젯
- Flutter - 레이아웃의 이해
- 레이아웃 구현전략
- 케이스 스터디
- Flutter - 상태관리 개요
- Flutter - 상태관리 기본 구조 이해 : Stateless와 Stateful
- Flutter - 상태관리 : setState 기본 개념과 활용법
- Flutter - 상태관리 : Listenables 활용법
- Flutter - 상태관리 : InheritedWidget 활용법
- Flutter - 네트워크 통신 기초 (RESTful API 중심)
- Flutter - 네트워크 통신 : Dio를 이용한 모듈 구현)
- Flutter - 웹뷰구현 : inappwebview 세팅(권장)
- Flutter - 웹뷰구현 : webview_flutter 세팅
- Flutter Error - Trouble Shooting Template
- Flutter Error - WebView_PlatformNotSet : WebViewPlatform.instance 오류
- Flutter Error - WebView_NDKVersionMismatch : Android NDK 버전 불일치
- Flutter Error - Entrypoint doesn't contain...
drawLine, drawRect 등으로 직접 도형을 그리는 방법
커스텀 애니메이션 처리
고성능 그래픽 또는 3D 렌더링이 필요한 경우 외부 엔진 연동 방법
이미지 필터와 색상 효과 등 이미지 시각 효과 적용
ARKit, SceneKit처럼 AR 기능은 외부 플러그인 기반 접근 정리
- Swift에 대한 소개
- Swift문법 기초
- Swift - 변수와 상수
- Swift - 기본 타입
- Swift - 조건문과 반복문
- Swift - 함수
- Swift - 옵셔널
- Swift - 저장 프로퍼티와 연산 프로퍼티
- Swift - Getter와 Setter
- Swift - 프로퍼티 옵저버 (willSet, didSet)
- Swift - 접근 제어자 (private, internal, public 등)
- Swift - Class와 Struct
- Swift - Initialization에 대해 알아보기
- Playground에서 UIView를 그려보자
- Swift - Array 모아보기
- Swift_Sequence Protocol
- Attribute - @frozen
- Swift - Codable 다루기
- Do - Try - Catch
- Swift - Collection_Array : prefix()
안전한 사용 - random함수를 이용해 Random한 숫자 뽑아내기
- Swift - Subscript(작성중)
- 안전하게 배열에 접근하는 방법
- [Common Method] 로그 관련 함수
- # 여러개의 Action을 한번에 추가하기
- mutating 과 구조체
- 텍스트인코딩에 관하여
- 배열안에 담긴 url 유효성 검사
- 이미지의 형태
- Xcode 디버깅으로 변수변화 캐치하기
- Understanding Closures in Swift : 클로저 톺아보기
- enum 사용법
- 저장프로퍼티 - 프로퍼티(1)
- 연산프로퍼티 - 프로퍼티(2)
- 프로퍼티 옵저버(willSet / didSet) - 프로퍼티(2.5)
- 타입프로퍼티(static) - 프로퍼티(3)
- 타입메서드, 클래스메서드, 인스턴스 메서드
- 파일경로 String으로에서 확장자 추출하기
- 고차함수 - Higher Order Function : Map, Filter, Reduce, Sort, FlatMap
- Special Literal
- Splite과 Component
- Swift - 스위프트에서 사용하는 패턴들
- case let : for case let 익숙해지기
- Switch case let, If case let, guard case let
- Swift - Collection_Int : signum()
- Closure 톺아보기
- 1급 객체
- Swift - 키워드 defer
- Swift - 키워드 inout
- Swift - Mirror 사용하기
- Swift - Range 함수 사용하기
- Swift - 참조(Strong, weak, unowned)
- Array - 특정값이 동일하거나 포함한 경우 찾기 : firstIndex()
- Objc - Objc 프로젝트에서 Swift 라이브러리 사용하기
- ObjC - Control Flow : Switch문
- Objc - 라이브러리 : 직접 파일삽입된 라이브러리 제거작업
- ObjC - NSDictionary to NSString
- ObjC - 로그찍기
- Objc - c언어와 objective-c의 차이, 발전
- Dart - Intro
- Dart - 변수와 상수 / 컴파일과 런타임
- Dart - 콜렉션 타입
- Dart - 함수정의 및 호출 / 1급 객체
- Dart - Flow Control
- Dart - 싱글턴 패턴
- Dart - 팩토리 패턴
- 마크다운 - HTML사용하기
- 마크다운에서 Toggle(Expander control) 기능 사용하기
- 마크다운 - 이미지 사이즈 세팅하기
- 마크다운 - TOC기능 만들기 (Table Of Contents)
- 마크다운 - 표 만들기 (Table)
- 여러가지 버전관리정책
- 애자일 방법론 이해하기
- MVP: Minimum Viable Product
- 직렬화(Serialization)
- Virtual Memory - Page File Swap
- 문제풀이 인사이트
- 복잡도 정리
- 필수 알고리즘 - 그리디 (Greedy)
- 구현 정리
- 그래프 정리 (stack, queue, 재귀, bfs, dfs)
- 기본 자료 구조 - 배열
- 기본 자료 구조 - 연결 리스트 (Linked List)
- 기본 자료 구조 - 스택 (Stack)
- 기본 자료 구조 - 큐 (Queue)
- 알고리즘이란
- 자료구조를 왜 공부해야하는지
- 알고리즘 - 선택정렬 : Selection Sort
- 알고리즘 - 버블정렬 : Bubble Sort(작성중)
- 알고리즘 템플릿
- 필수 알고리즘 - BFS: 너비 우선 탐색(Breath-first search)
- 필수 알고리즘 - 백트래킹
- 필수 알고리즘 - 시뮬레이션
- 필수 알고리즘 - 투 포인터
- 필수 알고리즘 - 이진탐색 (Binary Search)
- 필수 알고리즘 - DP (Dynamic programming)
- 필수 알고리즘 - MST (Minimum Spanning Tree)
- 필수 알고리즘 - 플로이드 (Floyd)
- 필수 알고리즘 - 다익스트라 (Dijkstra)
- HTTP/2에 대하여(feat.ios)
- 네트워킹 - 호스트파일이란, 내부망 설정하기
- OSI 7 Layer
- OSI 7 Layer - 1. Physical Layer(물리계층)
- OSI 7 Layer - 1.5 여러 컴퓨터간 통신
- OSI 7 Layer - 2. Data Link Layer(데이터 링크 계층)
- OSI 7 Layer - 3. Network Layer(네트워크 계층)
- CI/CD - GitHub Action 사용하기 : 초기 구현하기
- CI/CD - GitHub Action 사용하기2 : on 섹션 수정하기
- CI/CD - GitHub Action 사용하기3 : 실행할 스크립트 짜보기
- Git 브랜치 전략 3종 요약 (Git Flow / GitHub Flow / GitLab Flow)
- Git Actions - Permission to ....git denied to github-actions
- Git - 튜토리얼(1) : 브랜치 생성하기. 리스트 확인, 브랜치 체크아웃
- Git - 튜토리얼(2) : pull, fetch
- Git - 튜토리얼(3) : status, add, restore, reset
- Git - 튜토리얼(4) : commit, push
- Git - 푸시한 커밋의 Author 변경하기(username과 user email 수정하기)
- GitHub - Various APIs
- GitLab SSH키 생성하기
- Git - 브랜치 삭제하기
- 브랜치 이름 변경하기
- 푸시 에러 : 원격 저장소와 커밋 기록이 다른 경우
- Git - 현재 깃폴더에 연동한 username 확인하고 변경하기
- 공동작업을 위한 Git 버전관리
- git ignore를 사용하여 불필요한 업로드 줄이기
- Git - Fork한 레포지토리 최신화 하기
- Git - 갑자기 터미널이 한글로 나온다면
- Git - 깃 리모트 변경 하기
- Commit Template - 소스트리
- XcodeError - UserInterfaceState.xcuserState가 자꾸 뜰 때
- 어떻게 리뷰할 것인가
- 22년 5월 회고 / 6월 목표
- 22년 7월 회고 / 8월 목표
- 23년 4월 회고 / 5월 목표
- 23년 5월 회고 / 6월 목표
- 23년 6월 회고 / 7월 목표
- 23년 7월 회고 / 8월 목표
- 23년 8월 회고 / 9월 목표
- 23년 9월 회고 / 10월 목표
- 23년 10월 회고 / 11월 목표
- 23년 11월 회고 / 12월 목표
- 23년 12월 회고 / 1월 목표
- 24년 4월 회고 / 5월 목표
- 24년 5월 회고 / 6월 목표
- 220314 : First Commit
- 250703 : 모바일 전체 구조 통일