타임머신 백업을 일부 혹은 전부 삭제하는 방법 | macOS

이미지
macOS를 모하비(Majave)로 올리고 난 뒤 얼마 후 타임머신 백업이 계속 실패하는 현상이 발생 했습니다. 당시 2TB 외장하드를 타임머신 백업용으로 세팅해서 수 년 간 아무 문제 없이 잘 써 왔었기 때문에 좀 이상하다는 점을 느꼈습니다. 이 글은 이 문제를 해결하기 위한 내용을 다룹니다.

Python 의 Filter / Map / Reduce 그리고 Comprehension

이미지
파이썬(Python)은 잘 쓰지 않다보니 이 함수형프로그래밍 함수의 대명사 3종의 사용법이 영 익숙해지지 않는다. 그래서 오랜만에 본 블로그 취지(?)로 돌아와서 이 함수들에 대해 간략히 메모한다. 더불어, 이제는 Python 3 로 넘어갈 시점이라 생각해서 모든 정보를 Python 3.7 기준으로 찾아봤다. 글자만 있으면 썰렁해서 넣어보는 이미지 -_-

문자열을 문자 단위로 다루기 | Swift

스위프트(Swift) 의 문자열(String) 타입은 다년 간의 다듬질(?)을 거쳐 완성될 대로 완성된 말 그대로 완성체의 문자열을 표현하기 위한 방법을 이미 제공합니다. 그런데 C 나 Python 등 다른 언어와 비교할 때는 좀 까다로운 녀석이라고 느낄 때도 있습니다.

Range, 범위에 대한 이야기 | Swift

Swift 의 Range 기능은 1.0 이라는 초창기 버전 부터 존재했으며 Swift 버전이 올라감에 따라 여러 가지 기능이 붙거나 세분화 되었습니다. 그런데 제 블로그에서는 별도로 정리를 한 글이 없어서 이 범위(Range)에 대한 것을 정리해 봅니다. 참고로 이 글은 Swift 4.0 을 기준으로 쓰여 졌습니다.

Result of call to ... is unused | Swift

이미지
언제 부터인지 기억나지는 않지만 스위프트(Swift)에서 값을 반환(return)하는 함수나 메소드 등을 그냥 호출하면, 즉 리턴값을 받지 않고 그냥 호출하는 코드에서는 아래와 같은 경고가 뜹니다. Result of call to (Some Function or Method) is unused 메시지만 봐서는 별거 아닌 것일지도 모릅니다. 당연히 내용도 간단하고 해결법도 단순해 보입니다.

연산형 지역 변수 (Local Computed Variables) | Swift

이미지
우연찮게 미디엄 뉴스레터에서 보게 된 글에서 약간의 충격(?)을 받게 된 것이 있는데 바로 제목의 연산형 지역 변수입니다. 말이 잘 이해가 안 될 수도 있는데 영문 표현인 Local Computed Variables 의미를 거의 직역한 것이라서 애매하긴 합니다. 적당한 한국어 표현이 떠오르지 않네요. 하여간 매우 단순한 기능이지만 어떤 면에서 아주 유용하기에 간단하게 소개해 봅니다.

[Objective-C] Block implicitly retains 'self' 경고 해결하기

이미지
Xcode 를 9.3 으로 업데이트 하기 전만 해도 별 문제 없던 프로젝트가 갑자기 아래와 같은 경고를 내뿜기 시작 했습니다. Block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior 블록이 self 를 잡아 물고 가버릴 수도 있는데 명확하지 않다는 식으로 이해가 됩니다. 그런데 경고가 발생한 위치를 보면 위 경고 메시지가 뭘 원하는 것인지 도통 이해 할 수가 없었습니다. 경고라 가볍게 넘어 갈 수도 있겠지만 일단 해결하는 방법을 알아봅시다.