전체 글

⚡️ 짧은 회고문득 이렇게 하다가 너무 하루에 많은 것을 꾹꾹 눌러 담지 말고, 적당한 휴식과 운동이 필요하다는 것을 느끼게 되었다. 계획을 세워서 하루를 지내고 있지만, 문득 더 집중하기 위한 휴식시간과 체력을 기르기 위한 운동시간이 없다는 것을 깨달았다. 휴식시간과 운동시간을 포함한 제대로 된 루틴을 만들어야겠다고 생각했다. 뭔가를 하려는 욕심이 많이 앞선거 같다. 어떻게 보면 약간 두서없이 이것저것 닥치는 대로 하는 느낌...? 이러한 방식을 좀 지양해야겠다.📚 내가 모르는 걸 공부하자어느 순간 내가 아는걸 계속 공부하고 있는 것 같다. 모르는걸 알아가야 하는데... 물론 아는 것도 탄탄하게 다져야 하지만 모르는 것도 계속 알아가는 하루하루를 보내야겠다는 생각을 했다.
💻 이전 글이전에는 SSD를 알아보았는데, 결국 DRAM 까지 왔다. [CS] SSD의 구조💻 이전 글이전에는 HDD의 구조와 스케줄링을 알아보았는데, 이번에는 SSD, DRAM 까지 살펴보려고 한다. [CS] HDD의 구조 및 스케줄링HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게swift-library.tistory.com📏 DRAM아래의 유튜브를 참고하여 정리하였다.Dynamic Random Access Memory인 DRAM은 SSD보다 약 3000배 이상 빠르다고 한다.DRAM은 겹겹이 쌓인 SSD와 달리 2차원 배열이고 메모리 셀당 한 비트를 일시적으로 저장한다. 또한 보관된 데이터를 지속적으로 저장하기 위해 전력이 필요하다. 이렇게 저장된 값을 계속 새로 고쳐줘..
🫠 String은 왜 index가 까다로울까?항상 String을 사용하다 보면 아래와 같이 반복문은 쓸 수 있는데 index로 접근하지 못할까?라는 생각을 많이 해봤다.아래와 같이 특별한 index로 접근해야 접근이 가능하다. 왜 굳이 복잡하게 이렇게 되어있을까? 궁금했다.🔤 가변길이 인코딩우선 이것을 생각해보기 전에 문자의 용량에 대해서 알아보고자 한다. "Hello, 👋" 의 길이(용량)는 얼마일까? 아래처럼 프린트해 보면 11이 나온다. 엇 잠깐? 일단 "Hello, 👋" 의 길이는 8인데 왜 11이라는 숫자가 나온걸까?하나하나 출력해 보면 마지막 손바닥이 4이다. 여기서 숫자는 16진수 두 자리로 된 byte라고 볼 수 있다.하나의 String에 여러 용량을 가진 요소들이 저장되어 있구나를..
· → UIKit
♻️ 앱의 라이프 사이클Swift에서 가장 중요하게 다루는 내용 중 하나인 앱의 Life Cycle에 대해서 알아보자! Managing your app’s life cycle | Apple Developer DocumentationRespond to system notifications when your app is in the foreground or background, and handle other significant system-related events.developer.apple.com앱의 라이프 사이클을 표현하는데 가장 좋은 그림은 아래이지 않을까 싶다. 앱은 크게 Not Running, Foreground, Background로 나뉘게 된다. 내 눈앞에 있으면 Foreground, 내 눈..
어느새 일주일이 지나버렸고, 하루가 늦어버렸다!🗓️ 지난주 한일자소서 제출 및 네트워크, 메모리 공부, 알고리즘 풀기, 프로젝트... 한 건 그래도 꽤 있었지만 뭔가 두서없이 한 것 같은 한 주였다.🌱 Keep개발 오류노트, UI노트를 만들었다. 항상 개발하면서 이거를 해결했을 때 기록을 남기지 않으니 똑같은 문제가 발생하면 이전 레포지토리에서 찾아보고 있는 내 모습을 발견해서 이것을 차라리 노션에 짤막하게라도 문제와 해결과정을 담아놓자는 생각이 들어서 작성을 시작했는데 꾸준히 작성해야겠다는 생각이 들었다.😈 Problem이것저것 하다 보니 해야 할 일들의 밸런스가 깨졌다. 결국 뭘 했는지 정확하게 이야기하기도 힘든 느낌이다. 회고가 하루 늦었다. 매주 일요일에는 회고를 하리라 생각했는데, 역시 일..
· → Problems
🧐 문제🧙 문제풀이만만하게 봤지만(?) 생각할 거리가 꽤 있는 문제였다. 첫번째는 일단 무식하게 풀어보자였다. Array를 내 위치부터 잘라서 그 뒤로 해당 숫자보다 큰 숫자를 찾아서 반환해줬다. 하지만 당연하게도 시간초과가 났다. numbers의 길이가 최대 1,000,000이기 때문에 아래와 같은 풀이 방법은 결국 O(n^2)으로 시간초과가 나게 된다.func solution(_ numbers: [Int]) -> [Int] { var answer: [Int] = [] for i in numbers.indices { let first = numbers[i...].first { $0 > numbers[i] } ?? -1 answer.append(first) ..
💻 이전 글이전에는 HDD의 구조와 스케줄링을 알아보았는데, 이번에는 SSD를 살펴보려고 한다. [CS] HDD의 구조 및 스케줄링HDD, SSD, DRAM에 대해서 학습하고 기록하고자 포스팅을 작성하게 되었다. 첫 번째 글은 HDD이다!💻 컴퓨터 구조시작하기에 앞서 컴퓨터 구조를 간단하게 훑고 시작하려고 한다.위키피디아에 의하swift-library.tistory.com💾 ROM, RAMSSD는 플래시 메모리로 만든 저장장치인데, ROM과 RAM이라는 키워드가 많이 보여 이것부터 간단하게 살펴보기로 했다.메모리는 크게 휘발성, 비휘발성으로 나뉘는데 ROM은 비휘발성 메모리, RAM은 일반적으로 휘발성 메모리이다. Read-Only Memory의 약자인 ROM은 전원을 꺼도 데이터가 지워지지 않기 ..
이제부터 회고록은 간단하게 날짜로 할 예정이다. 지난번에 최소 주 1회는 작성할 예정이긴 하지만 주 2회 정도 작성하려고 했는데, 벌써 정신 차리니 일주일이 지나있고, 심지어 작성하는 시간 기준 11시 23분! 😱 원래 일기도 꾸준히 썼는데 가장 최근 일기가 3월 15일이다. 시간이 참 야속한 것 같다. 일주일정도는 우습게 가버리는 것 같다.📆 이번주에 한일이번 주에 나는 무얼 했을까? 우선 묵혀두었던 스벅 다이어리를 사용하기로 했다. 프리퀀시 적립으로 받은 건데 속지를 보면 하루하루 시간대별로 기록할 수 있게 나온다. 여기에 간단하게 하루에 뭘 했는지 적고 있다. 8시부터 20시까지 나와있는데, 백수가 제일 바쁘다고(?) 그 뒤에도 숫자를 써넣어가면서 일과를 정리하고 있다. 주말에는 시간대별로 나와..