본문 바로가기

분류 전체보기

(340)
너도 알고 나도 아는 iOS 팁 04 : 왜 아이폰은 사진의 이름을 '날짜'와 '시간'으로 표현하지 않을까? 서론 나야 아이클라우드를 기반으로 모든 사진을 업로드하고, 이를 관리하므로 신경 쓴 적이 없지만, 대부분의 사람들은 아이폰을 직접 연결하거나 파일 자체를 다뤄야 할 일이 반드시 생긴다. 아마도 이런 상황일 테고, 심하면 미리 보기 없이 이름만 주르륵 나열된 상황일지도 모른다. 그럼 이제 슬슬 혈압이 오르기 시작한다. 언제 찍은 사진인지 '이름'만 보고 알 수 있다면 얼마나 좋을까? 우린 언제부터 이런 요행을 기대하기 시작했는지, 왜 사용자들이 원하는데 애플은 'IMG_0002' 같은 코드 방식의 이름을 고집하는지 파헤쳐 보자. 본론 우선 결론만 말 하자면 이건 애플의 똥고집 과는 거리가 조금 멀다는 점이다. 77D로 촬영했던 사진도, GR 3x로 촬영했던 사진도 너무도 당연하게 'IMG_0112' 혹은 ..
어디 우산 놓고 오듯 ‘일말상초’라고 하던가, 한참 심난했을 그 시기에 읽은 시다. 소중했던 사람에게 가졌던 미안한 감정이 느껴져 좋아하는 시라 펜을 잡는 동안에는 심심치 않게 적을 것 같다. ​'ㄷ'과 'ㄹ'의 구분은 원 글을 썼던 2019년에도 그랬고 여전히 어렵고, 일부러 구분 되게 쓰자니 비율이 망가지는 대참사가 일어나곤 한다. 당시 사용하던 Pilot Super 60은 빈티지로 구매했던 펜인데, 애용하던 도중 색(Sack)이 찢어져 더이상 사용할 수 없게 됐다. 마음에 들었던 펜이라 훗날 고쳐 쓸 수 있는 날이 오길... Log 2022.05.06. 블로그 이전으로 인한 글 수정
선형 데이터 구조와 탐색 서론 선형 데이터 구조 자료의 순서를 유일하게 결정할 수 이쓴 구조를 말 한다. 수학적으로 n 번째 자료를 탐색한 다음 n + 1 번째로 탐색할 자료가 유일한 구조다. 시각적으로는 위와 같다. 왼쪽이 n 다음 n + 1 이 유일하므로 선형구조이고, 오른쪽이 n 다음 n + 1 이 복수이므로 비선형구조이다. 형태에서 느껴지듯 주로 리스트와 배열이 이에 해당하고, 조금 더 확장하면 위와 같이 다차원의 배열과 리스트도 선형구조에 포함된다. 본론 선형 데이터의 탐색 이러한 선형구조의 데이터를 탐색하는 방법에는 크게 두 가지 방식이 있다. 순차탐색 (Linear Search) 첫번째 자료부터 마지막 자료까지 순차적으로 탐색하는 방식으로, 최종적으로 자료의 수 만큼 탐색하게 된다. 따라서 계산량은 O(n) 이 된다..
Q1. 방 배정 하기 서론 파이썬 문법을 마무리 한 날 남은 시간 동안 문제를 한 번 풀어보기로 했다. 문제는 군 복무 중이던 시절 남는 시간에 공부라도 해보자 해서 구해뒀던 한국정보올림피아드 초등부 문제로, 지금은 주관이 바뀐 탓인지 홈페이지에서 구할 수가 없다. C언어는 1학년때 배웠었고, 입대한 건 2학년이 끝난 후였고, 공부를 시작한 건 상병이 다 돼서였으니 이미 기억의 저편으로 사라져 버린 언어에 대한 지식과 손 코딩의 한계로 딱히 제대로 건드려 볼 수가 없었다. 실제 문제 풀이는 Python으로 작성할 생각이고, 적당한 코드 리뷰 후에는 Swift로 옮겨볼 생각이다. 본론 문제 답 Egg's import math import datetime as date #initial data tot_num = 0 max_for..
Python #3 서론 이전 시간에 풀다 남은 276번 부터 290번 까지. 파일 입출력을 건너 뛰고 에러 처리에 해당하는 4문제 가량을 진행했다. 본론 276번 부터 280번 까지는 이전의 271번 부터 275번 까지 문제의 연장선이다. 따라서 이전의 코드를 개선하는 방향으로 진행했다. 문제와 조건은 다음과 같다. Account 인스턴스에 저장된 정보를 충역하는 display_info 메서드 추가할 것. 단, 잔고는 세자리마다 쉼표를 출력할 것. 입금 횟수가 5회가 될 때 잔고 기준 1%의 이자가 발생 되도록 할 것. 생성된 Account 인스턴스를 리스트에 저장할 것. 반복문을 사용해 100만원 이상인 고객의 정보를 출력할 것. 입금과 출금 내역이 기록되도록 코드를 업데이트 할 것. 각각을 출력하는 deposit_hi..
Python #2 서론 이전 시간에 각자의 페이스에 맞겨 진행했더니 Egg > Whale > Rabbit 순서대로 진도의 차이가 났다. 큰 차이는 아니었지만 이는 각자가 제대로 된 페이스 메이커의 역할을 해 주지 못한다는 이야기로. 먼저 진행하고 있던 사람이 후위의 사람의 진행을 도와줄 수는 있으나. 이 또한 선행자의 학습 흐름을 끊은 행위기에 비효율적이라 판단했다. 따라서 문제는 한 화면을 통해 공유하여 선행고 후위의 간격을 질정 수준으로 조율하고, 너무 오래 걸리는 경우 함께 답을 확인하고 코드리뷰를 하는 방식으로 진행했다. 본론 이번에 진행한 부분은 이전 시간에 이은 131번 부터로, 어차피 모든 모듈을 알 수 없으니 이후 실습하면서 하나씩 알아 가는 것으로, 함수도 유지보수 및 코드의 효율화를 위해 필요하며 이후에..
쌩뚱맞은 'SyntaxError: invalid character in identifier' 해결하기 서론 최근 친구들과 함께 알고리즘 공부를 위해 파이썬을 복습하고 있다. 서로 작성한 코드를 채팅을 통해 주고받는데 유독 한 녀석의 코드만 문제가 생겼다. 본론 SyntaxError: invalid character in identifier 위와 같은 이름의 에러로 문제가 없는 코드지만 문법 오류라며 발광한다. 조금 특이했던 점은 위와 같이 같은 문장을 다시 작성하면 에러가 사라진다는 점이다. 위와 같은 문제는 코드를 복사, 붙여넣기 하다 보면 자주 발생하는 문제로, 육안으로는 문제가 없어 보이지만 내부적으로는 다른 문자가 사용된 경우 발생한다. 주로 발생하는 부분은 다음과 같다. 코드 내의 공백 (Tab, Space) '.'와 ',' ';'와 ';' '-'와 '—' '''와 '`' 따라서 위의 문자들을 ..
MS Universal Foldable Keyboard 서론 아직 학번이 존재하던 시절, 입학 때 샀던 30만 원짜리 펜티엄 랩탑 대신 교재와 노트 대용으로 큰 맘 먹고 샀던 아이패드 프로를 어떻게든 알차게 쓰려는 노력을 했었다. iPad Pro 11(3세대) 및 iPad Air(5세대)용 Smart Keyboard Folio - 한국어 iPad Pro용 Smart Keyboard Folio는 편안하고 조용한 타이핑 경험과 기기 앞뒷면을 감싸주는 보호 기능을 모두 선사합니다. www.apple.com 이렇게 폴리오와 일체형인 케이스들이 막 나오기 시작하던 때로, 눈길이 가지 않았던 건 아니지만 22.9만 원이라는 대단한 가격과 주 목적인 필기 시에는 어쨌든 케이스를 제거해야 한다는 점 때문에 쉽게 구매로 이어지진 않았다. Magic Keyboard - 한국어..
[~ 2022.03.31] 일상 (Ricoh GR 3x, iPhone 13 mini) 서론 RICOH GR 3x / 포지티브 필름, 커스텀 대부분 보정 없음(못함) 가장 기억에 남을 통곡의 3월이다. 큰 일들이 휘몰아쳤고, 그런 와중에도 애써 밝게 지내야 했다. 아, 어머니. 제가 '괜찮은 척'에 능통하다고 하셨나요. 예전에도 느꼈지만 꽤 정확히 보신 것 같습니다. 보정이나 손을 댄 사진은 본문에 언급 했습니다. 본론 전 날 친구 아버님의 장례식에 다녀온 지 고작 하루가 채 되지 않았었다. 잊을만하면 한 번씩 겪는 일이라 죽음에는 익숙해졌다는 잠깐 착각을 했었다. 하지만 떠날 사람을 보내는 일 보다 남은 사람들을 견디는 일이 더 안쓰럽고, 가엽고, 그렇더라. 너의 시계는 멈췄지만 우린 계속 걸어가야겠지. 그 끝에서 항상 앞서있던 내게 이제야 왔냐며 잔뜩 놀림받는 걸로 가슴을 뭉개는 짐이 ..
193. Fetched Result Controller Fetched Result Controller FetchedResultController는 영구 저장소에서 가져온 내용을 관리하고 표시한다. 주로 TableView와 연동할 때 사용한다. Delegate 구현을 사용해 데이터를 모니터링하고 업데이트하며, Caching을 사용해 읽기 성능을 향상할 수 있다. 이 둘의 사용 여부에 따라 3가지 모드를 사용할 수 있다. Delegate Caching No Tracking Mode ❌ ❌ Memory-Only Tracking Mode ⭕️ ❌ Full Persistent Tracking Mode ⭕️ ⭕️ No Tracking Mode 가져온 데이터를 관리하는 최소한의 역할만 수행한다. Memory-Only Tracking Mode 가져온 데이터를 관리하며, M..