안녕하세요 Pingu입니다!🐧 지난 글에서는 FFS(Fast File System)에 대해 알아보며 파일 시스템의 성능을 어떻게 좋게 만들지에 대해 알아봤었는데요, 이번 글에서는 파일 시스템의 신뢰성을 위한 FSCK(File System ChecK)와 journaling에 대해 알아보려고 합니다. 제가 공부할 때 참고하고 있는 책인 OSTEP에서는 Chapter 42 - FSCK And Journaling 부분입니다! Crash Consistency: FSCK and Journaling 지금까지 알아본 파일 시스템은 추상화를 지원하기 위해 파일, 디렉터리, 이들의 정보를 담은 메타 데이터로 구성된다고 배웠습니다. 메모리와는 다르게 디스크나 SSD와 같은 저장 장치는 전원이 차단된 상태에서도 데이터를 유지..
안녕하세요 Pingu입니다.🐧 오늘은 Swift에서 중요한 ARC에 대해서 알아볼 건데요, ARC에 대한 자세한 내용은 여기를 참고해주세요. ARC는 Automatic Reference Counting이라고 해서 클래스와 같은 참조 타입에서 사용되는 메모리 관리 방법인데요, 간단하게 말하면 클래스의 인스턴스가 있을 때 인스턴스를 참조하는 곳을 계속 카운트하다가 언젠가 0이 되면 인스턴스를 메모리에서 할당 해제하는 아이디어입니다. 이 말은 바꿔말하면 참조 카운트가 1 이상이라면 메모리에서 할당 해제되지 않는다는 것을 말합니다. 때문에 아무곳에서 사용하지 않고 있음에도 불구하고 메모리를 유지하는 문제가 발생할 수 있고 오늘은 이러한 참조 사이클이 발생하는 상황과 해결 방법을 알아보려고 합니다. Strong ..
문제 링크 Binary Tree Inorder Traversal - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 Given the root of a binary tree, return the inorder traversal of its nodes' values. Example 1: Input: root = [1,null,2,3] Output: [1,3,2] Example 2: Input: root = [] Output: [] Example 3: Input..
안녕하세요 Pingu입니다! 🐧 저번 글에서는 VSFS(Very Simple File System)으로 알려진 파일 시스템을 구현하는 방법을 알아봤습니다. 그로 인해 아무런 정책 없이 파일 시스템을 구현하면 디스크 I/O가 너무 많이 발생하여 성능을 저하시킨다는 것을 알게 되었습니다. 이번 글에서는 이러한 성능 저하를 줄이는 정책들을 적용한 Fast File System에 대해 알아보려고 합니다. 이름에서부터 Fast라고 하니 얼마나 빠른지 기대가 됩니다.😆 제가 공부할 때 참고하고 있는 책인 OSTEP에서는 Chapter 41 - Fast File System 부분 입니다! Locality and The Fast File System UNIX 운영 체제가 처음 도입되었을 때 첫 번째 파일 시스템은 아래..
3일차 일기 [iOS 앱개발 일기] 설날 개인 해커톤 3일차 일기 - 메신저 만들기 2일차 일기 [iOS 앱개발 일기] 설날 개인 해커톤 2일차 일기 - LINE 메신저 만들기 1일차 일기 [iOS 앱개발 일기] 설날 개인 해커톤 1일차 일기 - LINE 메신저 만들기 설날에 개인 해커톤을 해보자고 계 icksw.tistory.com 일단 당장의 결과물은 아래와 같다. 이런식으로 소켓 통신을 통해 실시간으로 대화를 할 수 있는 메신저를 만들었다. 하지만 실제 메신저는 저러한 메시지가 저장도 되고 친구 추가 기능 등 다양한 기능들을 제공한다. 그런데 이걸 구현하려니 한참을 쓰지 않은 MySQL과 같은 데이터베이스를 사용해야했고 생각보다 Vapor로 이를 처리하는 것에 익숙하지 않아 시간이 많이 걸렸다. 일..
2일차 일기 [iOS 앱개발 일기] 설날 개인 해커톤 2일차 일기 - LINE 메신저 만들기 1일차 일기 [iOS 앱개발 일기] 설날 개인 해커톤 1일차 일기 - LINE 메신저 만들기 설날에 개인 해커톤을 해보자고 계획했고 현재 진행중인데 어려운 점이 많은 것 같다. ㅜ.ㅜ 일단 LINE의 메신저와 icksw.tistory.com 오늘은 설날 마지막 날이라 친구들도 만나고 해서 코딩에 많은 시간을 할애하진 못했지만 몇 시간의 삽질 끝에 드디어 Vapor를 사용하여 MySQL 연동 방법, 쿼리문 사용방법을 알아냈다. 역시 모든 것은 공식문서에 존재했다. docs.vapor.codes/4.0/fluent/overview/ Vapor: Fluent → Overview Fluent Fluent is an OR..
1일차 일기 [iOS 앱개발 일기] 설날 개인 해커톤 1일차 일기 - LINE 메신저 만들기 설날에 개인 해커톤을 해보자고 계획했고 현재 진행중인데 어려운 점이 많은 것 같다. ㅜ.ㅜ 일단 LINE의 메신저와 동일한 디자인으로 만들고 있는데, 어제계획은 서버 통신을 하기 위한 간단한 icksw.tistory.com 첫 번째 날엔 기본적인 UI 구성과 소켓 통신에 대해 간단하게 구현했었다. 글은 셋째 날에 쓰지만 둘째날인 어제는 소켓 통신을 성공했고 1인용 채팅방을 만들었다. Swift에서 소켓통신을 지원하는 오픈소스도 있지만 나는 그냥 애플에서 제공하는 URLSession을 사용해서 했다. 많은 삽질 끝에 성공했기 때문에 뿌듯해서 한 번 올려야겠다. ^^ 이렇게 서버엔 내가 만든 메시지 구조체의 형태를 ..
설날에 개인 해커톤을 해보자고 계획했고 현재 진행중인데 어려운 점이 많은 것 같다. ㅜ.ㅜ 일단 LINE의 메신저와 동일한 디자인으로 만들고 있는데, 어제계획은 서버 통신을 하기 위한 간단한 서버 구축을 하고 UI작업을 마무리 하는 것 이었는데, 얼추 목표는 달성 했다. UI 작업에 있어 어려웠던 부분은 채팅방을 UICollectionView로 만들었는데, 메시지의 길이에 따라 셀의 높이를 동적으로 변화해줘야하는 부분이 어려웠던 것 같다. UITableView로 만들면 이러한 작업이 없어 편하게 만들 수 있었지만 굳이 UICollectionView를 선택한이유는 실제 LINE에서 UICollectionView를 사용한다는 아래의 글 때문이었다. engineering.linecorp.com/ko/blog/..
- Total
- Today
- Yesterday
- 문법
- 동시성
- 스위프트
- System
- dfs
- operator
- 프로그래밍
- IOS
- Publisher
- OSTEP
- Combine
- 아이폰
- OS
- document
- 코딩테스트
- mac
- 자료구조
- 테이블뷰
- DP
- 백준
- 알고리즘
- Xcode
- pattern
- operating
- Apple
- design
- 코테
- BFS
- 앱개발
- Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |