2025-01-21

걱정스러운 트럼프 대통령 2기의 시작

트럼프가 드디어 미국 대통령 2기 인생을 시작했다. 뭐 굳이 언급하지 않아도 많은 부분에서 한숨이 나올 것 같은 대통령이다. 물론 덕분에 미장에 투자하기에는 좋은 기회일 지도 모르겠지만 말이다.

다만 취임사 등의 소식을 보니 기존의 걱정 투성이 행보와는 조금 다른 늬앙스가 읽힌다. 정리하면 '약간 특이하다'고 해야 할 것 같다.

국경에 대한 행정명령은 상당히 민감한 문제일 거라 생각했다. 트럼프 취임 전 가장 마지막에 화제가 되던 파나마 운하나 그린란드 이슈가 있었으니 말이다. 그런데 그게 아니라 그동안 아주 지겹게 제기한 이민자 문제 그리고 함께 거론되는 멕시코 국경과 관련된 이야기가 주인 모양이다.

에너지도 비상사태라고 언급되며 행정명령의 대상이 되었다. 자립도를 높이고 가격을 낮추기 위한 목적이고 특히 가격 인하는 관세로 인한 인플레이션 충격을 막기 위한 방패로도 언급된 모양이다. 하지만 에너지 가격을 낮춰봤자 근원 물가에는 큰 영향이 없을 텐데 과연 얼마나 효과가 있을까? 다만 함께 AI가 언급된 것은 관심을 가져볼 만하다. 어쨌든 불행히도 그리고 예상대로 친황경 정책을 폐기할 것이고 또 파리기후협약 탈퇴를 공언하기도 한 모양인데 이건 이미 겪었던 지라 별로 놀랍지는 않다. 전기차에 비우호적인 것도 예상되고 말이다.

관세가 약간 뒷전으로 밀린 모양새인 것이 가장 예상 외였던 것 같다. 관세청 설치에 관한 이야기는 있었지만 당장의 행정명령은 없을 것 같고 아예 '관세 보류' 같은 기사도 전해지면서 걱정하던 것에 비해 관세는 점진적 인상 쪽으로 무게가 기우는 듯하다. 이 부분이 가장 큰 호재가 되어서 달러 약세를 일으켰고 따라서 주식시장에도 호재가 될 조짐이 보인다. 어쨌거나 기존에는 가장 먼저 할 것처럼 떠들었지만 현실의 벽을 의식한 듯한 느낌이다.

그런데 정작 비트코인 이야기가 없었다. 덕분에 비트코인은 폭락은 아니지만 그날 오르던 거 다 토해내는 어지러운 상황이 나타났다. 하지만 그동안 공언해 온 만큼 관련된 정책은 분명 나올 거라고 생각하는 게 좋을 것 같다.

어쨌거나 트럼프는 이제 취임했다. 이후에 벌어질 일들을 알 수가 없다. 정말 미지수다. 당장 걱정을 좀 덜었을 뿐이지 이후의 걱정 투성이는 산적해있다. 심지어 취임 전후로 앞뒤가 다른 모습까지 보였으니 말이다. 한국에겐 관세와 방위비 인상 혹은 주한미군 철수나 FTA 폐기도 큰 걱정거리인데 이걸 또 어떻게 뒤흔들지 알 수가 없게 되었다.

일론 머스크의 '그' 행동에 대한 지지자들의 태도 (Bluesky)

그나저나 일론 머스크는 여기서도 망나니 짓을 한 모양이다. 일론 머스크는 트럼프 수준의 미지수 또라이인 만큼 걱정거리가 트럼프 1기 때의 두 배다. 트럼프 뿐만 아니라 일론 머스크도 적당히 설치기 만을 바래야 하는 두 배의 수고가 들 것 같은 미국 대통령의 새 임기의 시작이다.

정작 트럼프 글에 일론 머스크 사진만 올라간 건 좀 이상하긴 한데 뭐 아무렴 어떠...모르겠다.

2025-01-20

투싼에 생애 첫 상처를 입혔다

구글 인덱싱 문제가 해결되지 않아 이 글은 기존 개인 GitHub Pages 블로그로 옮겨집니다. 이 글 자체는 당장은 삭제되지 않지만 더이상 수정되지 않습니다.

어떤 겨울 날, 좁은 골목길 삼거리 근처에서 주차했던 차를 빼고 있었다. 당시 빠져나가야 될 길의 조수석 방향에 전신주가 있었다. 운전석에선 딱히 다른 장애물은 보이지 않았기에 전신주를 잘 피해서 차를 살살 빼기 시작했다. 

그런데 잘 가나 싶었는데 누가 차 문을 조금 강하게 똑똑 노크하는 소리가 들렸다. 밖에는 아무도 없는데 도대체 누구일까? 혹시 키 작은 아이가 있었던 걸까? 급한 마음에 차에서 내려 조수석 방향으로 가봤다.

투싼에 생애 첫 상처를 입혔다

나가보니 사람은 안 보였다. 다행이다...라고 생각하는 순간, 차 옆에 무릎 정도 높이의 파란색 재설용 모래 상자가 보였다. 작아서 사이드미러에도 안 보일 정도였지만 무겁고 묵직했던 장애물이었다. 불안한 마음이 강하게 들었다. 설마...?

차량 조수석 도어를 불안한 마음으로 처다봤다. 예상대로 도어 아랫쪽에 파랗게 잔뜩 긁힌 자국이 보였다.

"... 아 ... 아아 ... 아아아아!!!"

처참했다. 순간 눈 앞에 하얘지더니 이내 속이 쓰리기 시작했다. 당시 찍은 사진이 없다는 것만 봐도 얼마나 정신이 없었는지 알 수 있다.

이후 어떻게든 무사히 좁은 길은 빠져나갔지만 귀가할 때까지 머리 속에 이 씁쓸함으로 가득 찼었다. 그나마 안전하게 도착한 것이 어디일까 싶을 정도였다.

주차를 한 뒤 세척용 물티슈로 닦아보니 다행히도 어느 정도는 닦였다. 이대로 다 닦이나 싶었지만 일부는 닦이지 않았다. 

완전히 닦이지 않은 자국과 찌그러진 흔적

하지만 더 큰 문제가 있었으니 바로 긁힌 부분이 찌그러졌다는 점이다. 무거운 모래상자를 차 옆면으로 밀다시피 지나갔으니 찌그러질 수밖에 없었을 거다. 더더욱 속이 쓰리기 시작했다. 밤에는 이런저런 생각으로 잠까지 설칠 정도였다.

이런 마음고생이 수 일 간 이어졌다.

이대로 놔둘 순 없었다

이 상처를 어떻게 해야 하나 고민하다 시간이 좀 흘러갔다. 그런데 주변 사람들에게서 도장면이 훼손된 걸 방치하면 녹이 슬어서 더 크게 망가질 수도 있다는 것을 들었다. 

그래서 바로 주변 판금이나 도장하는 곳을 찾아봤다. 이런 곳을 덴트(dent)라고 하나 보다. 

원칙적으로 덴트(dent, PDR - Paintless Dent Repair)는 찌그러진 것을 복원(덴트복원 혹은 덴트리페어)하는 것을 의미한다고 한다. 도색까지 포함할 경우 판금도색이라고 하는 것이 정확하다고 한다.

네이버 지도에서는 가까운 곳 근처에서 덴트 매장을 단 하나만 발견했는데 자동차 수리나 점검 관련 매장이 잔뜩 모여 있는 곳임에도 하나 밖에 안 보이는 것은 약간 이상하긴 했다.

어쨌든 그 가까운 덴트 매장에 연락도 예약도 없이 들이닥쳤다. 생각보단 작은 가게였는데 작업 중이던 차 한 대가 들어가니 가득 찰 정도로 작았다. 

기사분께 문제의 상처를 보여주니 다행히도 도장이 벗겨진 것은 아니고 페인트가 묻은 것 같다는 판단을 들을 수 있었고 견적은 10만 원 정도가 나왔다. 다만 대기가 좀 있어서 오래 걸릴 수 있다고 한다. 물론 그대로 해달라고 했다. 굳이 돌아다니며 견적을 비교하는 건 그 시간이 더 아깝다고 생각하는 사람이라 그렇다.

근처에서 식사를 하고 카페에서 잠깐 시간을 보냈다. 블루링크에서 주차 중 충격이니 시동이 꺼졌는데 차 문이 열렸니 창문이 열렸니 알림이 계속 왔다. 열심히 수리 중이라는 걸 알려주는 것 같았다.

어쨌거나 수리를 맡겼다는 것에서 약간의 안도가 드는 것은 좋은 사이드이펙트 같았다.

그 결과

커피를 절반 가량 거의 다 마셔갈 무렵, 예상보다 빠르게 조치가 되었다고 연락이 왔다. 여유롭게 커피를 즐길 생각이었는데 너무 빨라서 약간 허탈했다.

바로 매장을 다시 방문하여 어떻게 되었나 살펴봤다.

솔직히 어디가 찌그러졌었는지 모르겠다

멀리서 확인해보니 뭔가 다 안 펴진 것처럼 보였지만 가까이서 보니 정말 기적과도 같이 깔끔하게 펴져 있고 별 자국도 보이지 않았다. 정말 다행이다. 이 정도로 끝난 것에 감사해야 할 지도 모르겠다.

요금을 견적대로 지불하고 집으로 돌아왔다. 사고가 났을 땐 어떻게 해야하나 답답한 하루하루가 지나가고 있었는데 순식간에 해결이 되니 왜 그렇게 마음고생을 했나 한심을 정도였다. 덕분에 그날 밤은 기분 좋엔 잘 수 있었다.

이제는 좀 더 조심해서 운전해야겠다. 기껏 어라운드 뷰 까지 옵션으로 넣었으니 좁은 길에서는 자만하지 말고 꼭 활용해야겠다.

2025-01-19

안정버전 및 신규 개발자베타 소프트웨어 릴리즈 소식 등 한 주간의 애플 소식들 25-01-19

소프트웨어 관련 소식들

안정버전 릴리즈: 아래의 소프트웨어 안정버전이 공식 릴리즈 되었다.

  • tvOS 18.2.1

개발자베타 릴리즈: 개발 중인 OS들의 새로운 개발자 베타도 릴리즈 되었다.

  • macOS 15.3 beta 3
  • iOS 18.3 beta 3
  • iPadOS 18.3 beta 3
  • watchOS 11.3 beta 3
  • tvOS 18.3 beta 3

watchOS 및 tvOS가 우선 릴리즈 된 뒤따라 다른 OS들도 릴리즈 되었다. 참고로 HomePod 18.3 beta 3도 함께 공개 되었다는 소식을 접할 수는 있었지만 애플이 공식적으로 목록화 하지는 않는 이름이라 일단은 생략했다.

iOS 18.2 서명 중단: 애플은 iOS 18.2의 서명을 중단했다. 이제 iOS 18.2.1에서 iOS 18.2로의 다운그레이드가 불가능해졌다. 이 말을 다르게 보면 iOS 18.2.1이 충분히 안정적이라는 말로도 읽혀진다.

CarPlay 2: 새롭게 개발 중인 커스텀 위젯 UI가 공개되며 애플이 여전히 차세대 CarPlay를 개발 중임을 확인시켜 주었다. 이 위젯 시스템은 이미 iOS에서 익히 알려져있는 스타일과 비슷한 것 같다.

기타 릴리즈: 그 외에 아래와 같은 릴리즈 소식들이 있었다.

  • MagSafe Charger Firmware 2A143

일반적인 소식들

Face ID 센서 숨기기 가능: 애플이 디스플레이 아래에 Face ID 적외선 센서를 배치하기 위한 새로운 특허를 출원한 듯하다. 이 특허가 현실화 된다면 조만간 아이폰에서 Dynamic Island가 좀 더 작아질 것 같다.

루머 소식들

macOS: macOS 15.4에서 새로 디자인 된 Mail App이 업데이트 될 것으로 추정된다. 해당 버전의 정식 릴리즈는 4월 경이 될 것으로 보인다. 솔직히 현재의 Mail App은 이제는 좀 낡아 보이기도 하는 것 같다.

iOS: iOS 19에는 visionOS의 인터페이스를 근간으로 한 새로운 카메라 앱이 도입될 가능성이 있나 보다.

Mac: OLED Macbook Air의 출시는 2029년으로 기존 추측보다 무려 2년이나 더 늦어질 것으로 보이는데 이는 OLED iPad Pro의 판매 저조 때문인 듯하다.

iPhone: iPhone SE 4에는 iPhone 14 처럼 액션 버튼이나 카메라 컨트롤 버튼 없이 출시될 가능성이 있는 모양이다. iPhone 17 라인업에는 열 관리를 위한 증기 챔버 히트싱크가 적용된다는 소문이 있는데 이는 Apple Intelligence 성능 향상에도 영향이 있을 가능성이 있다. 애플 스토어에서 iPhone SE의 재고가 빠르게 소진되고 있는 것으로 보아 iPhone SE 4 출시가 머지 않은 듯한데 루머로는 4월 경이 될 것 같다.

iPad: 11세대 iPad는 A17 Pro 칩을 채용할 것으로 추측된다.

Apple Watch: 올해 말 소재나 디자인 등의 뭔가가 새롭게 바뀐 Apple Watch SE 3의 출시가 예상된다고 한다.

홈 기기들: HomePod mini 2와 신형 Apple TV는 올해 말 출시가 좀 더 유력해진 모양이다. 반면 신규 제품으로 추정되는 스마트 홈 허브 기기 출시는 내년 봄 보다는 더 뒤로 밀릴 것으로 추측되는 듯하다.

신규 서비스: 올해 말 Apple One에 새로운 건강 코칭과 관련된 새로운 서비스가 추가될 가능성이 알려졌다. 구독 서비스와 함께 별도의 독립 앱이 구성될 가능성도 있는 모양이다.

AAPL

계속되는 반독점 규제: 영국에서 앱 판매 경로를 강제하는 애플의 행위가 독점에 해당한다며 애플이 18억 달러 규모의 새로운 소송에 직면한 모양이다.

골드만삭스 엑싯: 골드만삭스의 CEO가 최근 IR을 통해 Apple Card 파트너십 종료가 계획보다 더 빠르게 진행될 것이라고 밝혔다고 한다. 한편 Apple Card의 새 파트너로 바클레이즈와 싱크로니 그리고 JP모건이 협상 대상인 것으로 알려졌다. 특히 싱크로니의 경우 Apple Pay의 월별 결제 플랜을 제공하며 가능성을 더욱 높이는 모양새다.

트럼프 대비: 팀 쿡은 트럼프 미국 대통령 취임식에 참석한다고 한다. 앞서 팀 쿡은 취임식에 100만 달러를 기부하기도 했다. 바이든 때는 기부하지 않았던 것을 생각해보면 트럼프 리스크는 미국 내 기업에게도 민감한 문제인 것 같다.

중국 점유율 하락: 4분기 중국 아이폰 출하량이 25% 가량 감소했으며 2024년 중국 아이폰 판매 점유율 또한 3위로의 추락이 전망된다고 한다. Apple Intelligence 출시에 장애물을 겪으며 부진이 더해지고 있는 모양이다.

틱톡 밴: 애플은 미국 앱스토어에서 틱톡을 제거했다. 뿐만 아니라 Testflight를 통한 베타 테스팅 또한 막았다고 한다. 이유야 당연하게도 1월 19일부터 발효되는 미국의 틱톡 금지법에 의한 것이다.

2025-01-18

적립식 BTC 투기 195주 차 😳

매주 토요일 오후 늦은 시각, 로또 대신 비트코인을 시장가로 만 원어치 무지성으로 지르는 프로젝트의 195주 차 기분 좋은 기록이다.

188.20 -> 212.82%

딱히 무슨 일이 있었는지 잘 기억나지 않는다. 아마도 CPI가 예상을 넘치 않는 선에서 잘 나와줘서 미장이 좋은 분위기로 흘러가는 것 같았는데 그것과 비슷한 것일까? 아니면 트럼프 취임이 곧이라서 그런 걸까? 모르겠다. 모르지만 어쨌든 올랐으니 무조건 좋다. 안 그래도 수익률 1xx%와 2xx%는 느낌이 정말 천지차이다.

BTC/KRW 주봉

신고가를 뚫었다는 것은 지지라인을 저 위치에 그을 수도 있다는 의미가 될 수 있는데 과연 그렇게 될까? 되길 바랄 뿐이지만 당분한 좋은 기세는 이어질 것 같아서 기대가 된다. 어쨌든 이번 한 주는 기분 좋게 마무리가 될 것 같다.

기분 좋게 따끈따근하다 (인터넷 밈)

2025-01-17

7월 부터 해외주식형 TR ETF가 막힌다고 한다

이 글은 새로운 위치로 옮겨지며 이곳에서는 더이상 유지보수 되지 않습니다.

작년 부터 TR ETF가 막히니 뭐니 이야기를 들은 적은 있다. 하지만 언론 기사에서는 그다지 구경할 기회가 없었기에 그냥 설만 나오는 건가 하고 넘어갔었다.

그런데 최근 갑자기 국내 언론에서 TR ETF가 막힌다는 소식이 들리기 시작했다.

올해 7월부터 TR(Total Return, 배당 자동 재투자)이 붙은 해외주식형 상장지수펀드(ETF)에 대해 이자·배당수익 분배가 의무화된다. - 해외주식 ETF, 7월부터 'TR형' 운영 못 한다…국내 ETF는 허용

개인연금을 기존 커버드콜 배당 방식에서 S&P500 TR 상품으로 옮겨타고 있던 중이었는데 무슨 날벼락인가 싶다. 그냥 일반 상품으로 갈아타야 할까 아니면 배당 위주로 포트를 새로 짜야 할까 고민이 갑자기 생겼다.

그런데 정말 이대로 TR은 막히는 걸까?

정부에선 왜 TR 상품이 존재하고 왜 여기에 투자하나에 대해서는 생각이 없는 것 같다. 안 그래도 국내주식형을 제외한 모든 ETF는 애초에 시세차익 자체에도 배당소득세를 메기고 있는 마당에, 배당소득세가 종합소득세로 합쳐져 세금이 괴랄하게 폭증하는 것도 문제고 건보료에도 영향을 줘서 더 큰 문제를 만들어 내고 있는 마당이다. 결국 TR을 막는다는 건 어떻게든 여러 번에 나갈 세금을 한 번으로 조정해서 조금이라도 아끼려고 노력하는 사람들 등 처먹는 일 아닐까?

국내주식형 ETF에는 TR을 허용할 거라는 것도 참 허무맹랑한 이야기다. 국내주식형 ETF는 시세차익이 비과세인데 TR형 상품은 배당소득세가 붙기 때문에 굳이 TR로 투자하는 바보짓을 할 이유가 없기 때문이다.

TR을 막을거면 배당소득세 분리과세나 좀 하고 했으면 좋겠다. 적어도 개인사업자들 덤터기 쓰는 건 막아줘야 하지 않을까. 아니면 시세차익에는 배당소득세 말고 차라리 양도소득세를 메겨서 걱정 좀 덜하게 만들어 주던가 말이다. 세율은 두 번째 문제일 뿐 종합소득세 가중 처벌(?)이라는 가장 큰 문제라도 좀 해결해 줬으면 좋겠다.

물론 이 이야기들은 정부는 물론 국회에도 하고 있는 소리다. 제발 과세저항을 높이지 말아줬으면 좋겠다. 

2025-01-16

금통위 금리 동결: 다행인가 불행인가

윤 대통령 체포 소식에 신경이 쏠려 다른 이슈를 깜빡 잊고 있는 사이 한국은행 금통위가 열렸었나 보다. 핵심은 이미 제목으로도 정리했다시피 1월 금통위에서 기준금리를 3.00%로 동결 결정했다.

한국 금리결정 추이 (Investing.com)

이번 금리 결정에는 환율이 큰 영향을 끼친 것 같다. 최근의 정치적 불안과 트럼플레이션 불안이 겹쳐진 고환율 문제 그리고 지나친 한미 금리차를 한은이 무시하기는 거의 불가능한 일이었을 거다. 그나마 체포 이벤트 덕분에 정치적 불안이 조금씩 덜어지고 환율도 약간 나아진 것처럼 보인다는 점은 다행스럽긴 하지만 결론이 나기엔 아직 멀기도 했다.

개인적으론 이번 동결 결정은 지지하는 입장이다. 환율이 빨리 안정화되지 않으면 아무리 금리를 낮춰 돈을 풀어도 불경기가 해소되긴 힘들다. 고통스럽더라도 시간은 좀 벌어두는 편이 좋을 테니 말이다.

하지만 이 경기 순환이 꽉 막힌 상황이 해소되려면 어떤 일이 있어야 하는 걸까? 안타깝지만 한국이 자체적으로 문제를 해결할 수 있는 방법은 금리와 탄핵 빼면 뭔가가 없는 것 같다. 결국 미국의 금리 인하를 기다릴 수밖에 없을 것 같은데... 트럼플레이션을 극복할 수 있을까? 아니면 트럼프가 이성적으로 행동하길 빌 수밖에 없는 걸까? 어려운 일이다.

2025-01-15

미국 12월 CPI: 잔뜩 긴장했는데 잘 풀린 듯

주식시장에 이런저런 물린 종목이 많다. 국장 이야기인가 싶지만 사실 미장에도 제법 많다. 단지 미장에 물린 종목은 그다지 걱정이 없는 게 '기다리면 올라오겠지'라는 기대가 있는 점이 다르겠지만 말이다. 국장은 한숨만 나올 뿐이지만 말이다.

굳이 물린 종목 이야기로 시작한 건 역시나 오늘의 지표와 관련이 있기 때문이다. 오늘은 미국 12월 CPI가 발표되는 날이니 말이다.

미국 12월 CPI 등 (Investing.com)

갑자기 인베스팅닷컴의 번역이 뒤죽박죽이 되었는지 모르겠다. 그래도 의미 전달에는 전혀 무리는 없을 것 같다.

세부 내역을 까보면 이번에는 에너지가 발목을 잡은 느낌이긴 한데 최근에 유가가 많이 하락했었던 부분과 겨울이 다가오면서 난방수요가 생겨서 더해진 기저효과의 폭은 제법 클 것 같다. 이 정도면 다행이겠지만 말이다.

어쨌든 이 정도면 2025년 금리 인하 기대를 조금은 더해줘도 되지 않나 생각되기는 하는데 물론 여기서 더 후퇴만 하지 않으면 만족할 따름이다. 

물린 종목 중 적은 시드에서나마 제법 비중이 있는 종목이 TLT인데 최근 금리 인하 기대감이 팍 꺾이며 여기에 트럼플레이션이 찬물을 끼얹는 바람에 제대로 딱딱하게 얼어붙어버린 종목이다. 그런데 이렇게 예상 수준을 넘어서지 않은 무난한 CPI라면 여기서 선은 하나 그어줄 수 있을 것 같다. '바닥'이라고 말이다. 물론 희망론일 뿐이지만 말이다.

Blogger 테마에서 날짜를 한국식으로 표시하기

블로거(blogger 혹은 blogspot)의 단점으로 발전이 없는 테마(스킨) 기능이 있겠지만 그밖에 한국 환경에 좀 안 맞는 부분들이 있다는 점도 꼽을 수 있을 것 같다. 예를 들어 날짜 표시가 한국과는 반대로 표기되는 서양식 표기 투성이다.

이를 해결하기 위해 설정에 가보면 날짜 형식을 선택할 수 있게 되어있다. 이런 부분은 오히려 국내 블로그 서비스에 비해 잘 되어 있는 것 같다.

블로거 설정의 날짜 선택 팝업

블로거 서식 설정에서 날짜 헤더 형식을 고를 수 있긴 있다

불행히도 문제는 여기서도 서양식 날짜 표기법들 투성이라는 점이다. 일부 ISO 형식과 비슷한 표기도 보이긴 하지만 이 외의 다른 항목의 날짜 서식에서는 이조차도 보이지 않는 등 뭔가 미묘하고 이상하다.

그렇다면 구글 불로거에서 '2024년 12월 25일'처럼 한국식으로 날짜를 표시하는 것은 불가능할까?

날짜 포매팅 방법

다행히도 방법은 있다. 다만 테마 내부에서 쓰는 문법을 다뤄야 해서 좀 귀찮을 수 있다. 

테마의 HTML 수정 화면에서는 저수준(low-level) 테마 수정이 가능한데, 여기서 아래 코드가 날짜를 표시하는 부분이다. 따라서 이 부분을 찾아야 한다.

<data:post.date/>

다만 이 코드가 여러 군데에 위치하고 있다면 크롬의 인스펙터(개발자 도구) 등을 사용해서라도 수작업으로 찾아야 한다. 어쨌든 찾았다면 이 부분을 아래와 같이 바꿔주자.

<b:eval expr='data:post.date format &quot;YYYY년 M월 d일&quot; '/>

이렇게 하면 이 코드가 있던 부분이 'YYYY년 M월 d일'과 같은 한국식 날짜로 대체되어 표시된다.

간단히 설명하자면 format이라는 명령을 통해 post.date의 값을 특정하게 변환하려는 의도의 코드다. 실제 포맷은 format 이후 '&quot;'로 둘러싸인 내용이며 차례대로 YYYY는 네 자리의 년도, M은 '월'의 숫자, d는 '일'의 숫자를 의미한다. 특히 M과 d는 두 자리수를 채우기 위해 앞에 0을 채워넣지 않는 식으로 동작한다. 프로그래밍 언어에 익숙하다면 아주 익숙한 표현이라고 생각될 수도 있다.

실제 적용된 것은 이 글의 상단에 표시된 날짜를 보면 알 수 있으니 참고하자.

이외의 각종 변환 단위에 대해 알고 싶다면 이곳을 참고해보자.

2025-01-12

iOS 18.2.1 릴리즈 등 한 주간의 애플 소식들 25-01-12

소프트웨어 릴리즈

애플은 미국 시각 1월 6일 아래의 버그 픽스 릴리즈를 정식 공개했다.

  • iOS 18.2.1
  • iPadOS 18.2.1

버그 픽스 릴리즈인 만큼 보안 결함이나 사소한 버그를 수정하며 기능적 변화는 없을 것 같다.

그리고 미국 시각 1월 7일 아래의 애플 플랫폼 OS들의 차기 마이너 업데이트의 두 번째 베타 버전들이 공개되었다.

  • macOS 15.3 beta 2
  • iOS 18.3 beta 2
  • iPadOS 18.3 beta 2
  • visionOS 2.3 beta 2
  • watchOS 11.3 beta 2
  • tvOS 18.3 beta 2
이들 베타에서는 Home 앱에 로봇 청소기 추가 기능이나 계산기의 일부 퇴보된 기능의 복구 등 몇몇 업데이트가 알려졌다. 

일반적인 소식들

애플 뉴스 확장: 애플은 미국, 캐나다, 영국, 호주 외의 국가에 Apple News 서비스를 확장할 계획이라고 한다. 한국은 포탈 규제를 볼 때 진출하긴 좀 힘들 지도 모르겠지만 말이다.

비전프로는 진행형: 애플이 Vision Pro에서 Safari를 통해 NVidia의 GeForce NOW 클라우드 게임 서비스를 지원한다고 한다.

신한카드 애플페이 연동: 빠르면 오는 2월 부터 Apple Pay에서 신한카드를 결제 수단으로 사용할 수 있게 된다고 한다.

애플페이 교통카드는 언제: 일단 애플페이가 티머니 연동 등을 포함한 교통카드 지원에 적극적인 것 같고 기술적인 문제도 모두 해결된 것 같지만 수수료 협상에서 발목이 잡혀 있는 모양이다. 여러 곳의 이권이 걸린 데다 수수료 또한 여러 곳에서 나가다보니 자칫 적자운영에 빠질 수 있어 쉽지는 않아 보이기도 한다.

루머 소식 모음

아이폰 루머들: iPhone 17의 소재가 바뀌면서 가장자리에서 후면까지 이어지는 라인이 더 매끈해질 가능성이 있는 모양이다. iPhone 17 Pro 라인업의 후면 카메라는 테트라프리즘 카메라 시스템과 함께 모든 렌즈에 4800만 화소 센서가 채택될 가능성이 있는 모양이며 이들 센서는 전작에 비해 크기가 더 작아질 지도 모른다. iPhone 18에는 많은 이점을 가진 삼성의 신형 카메라 센서 탑재 소문이 또 돌고 있다. 초박형 iPhone 17 Air(가)는 가장 얇은 부분은 5.5mm 두께가 될 것 같은데 물리 심카드 트레이는 제외될 가능성이 높은 듯하다. 폴더블 아이폰은 올해 중 양산 루머는 가능성은 낮아 보이며 아직 계획 단계인 것으로 유추된다.

비전프로: Vision Pro 2는 2025년 내로 출시될 가능성은 매우 낮아 보인다. 저가형 제품 개발에 좀 더 역량을 집중하고 있는 것일 지도 모른다.

새로운 가정용 신제품: 신형 Apple TV 및 HomePod Mini는 올해 출시될 것으로 보인다. 이들 제품에는 공통적으로 A 시리즈 칩 및 자체 와이파이/블루투스 칩 등을 탑재할 가능성이 알려졌다.

AAPL

인도 공급망의 가격 경쟁: 인도가 글로벌 전자제품 공급망의 허브가 되기 위한 노력의 일환으로 애플 등의 제조업체 생산 비용을 낮추기 위한 보조금이나 관세 인하를 시행할 것이라고 한다. 당연하겠지만 애플에겐 좋은 소식이다.

Siri 녹음 프라이버시: 애플은 Siri 불법 녹음 합의와 관련해 녹음된 데이터는 어떤 목적으로든 누군가에게 판매된 적이 없다고 밝혔다.

CarPlay 2는 소외되지 않음: 2024년 마지막 날 까지도 애플은 CarPlay 2의 개발 상황에 대해 언급을 하지 않았지만 최근 공개된 OS 베타에서 관련된 코드를 발견하게 되면서 차세대 CarPlay는 아직 개발 중이라고 유추되는 것 같다. 물론 공식적인 코멘트는 아직 없는 상태다.

인도네시아 아이폰 판매 재개는 아직: 애플 측의 10억 달러 규모의 AirTag 제조 투자안 제안에도 불구하고 인도네시아 정부는 여전히 iPhone 16 시리즈 판매를 금지하고 있는 모양이다. 인도네시아에서 iPhone 부품 생산 등 납득하기 어려운 요구를 하는 모양이다.

이상한 벌금: 브라질에서 FaceApp의 부적절한 데이터 수집 행위를 제대로 막지 않았다는 사유로 애플이 약 310만 달러의 벌금을 부과 받았다.

사건사고: Apple Cash 서비스가 일정 시간 중단되는 사고가 있었던 모양이다.

LA 산불 여파: 애플은 산불과 관련하여 기부와 함께 산불 피해자의 Apple Card의 결제 연기를 지원한다고 한다.

2025-01-11

적립식 BTC 투기 194주 차 😥

블로그를 네이버 및 티스토리에서 구글 블로거로 완전히 이주하기로 시작한 뒤의 첫 투기기록 글이다. 어쨌든 매주 토요일 오후 늦은 시각, 로또 대신 비트코인을 시장가로 만 원어치 무지성으로 지르는 프로젝트의 194주 차 기록이다.

194.95% -> 188.20%

지난주 194.95%에서 이번주 188.20%로 꽤나 크게 떨어졌다. 아마도 막판에 금리 인하 기대를 팍 꺽어버리는 무지막지한 고용지표들이 나온게 주요한 원인이지 않았을까 추측만 하는데 세상에 일봉 차트를 열어보지도 않고 그냥 막 추측 해버리는 무시무시한 배짱이다.

BTC/KRW 주봉 (업비트)

주 단위로 이 프로젝트를 시작한 이래로 주봉 이하의 차트를 열어본 기억이 거의 없다. 아마도 이후에도 그럴 것 같다. 덕분에 느끼는 체감은 일반적인 트레이더들과는 다를 것 같다. 적어도 호들갑을 떨 수준의 하락은 아닌 것처럼 느껴진다는 말이다.

어쨌거나 약간은 구식의 환경에서 글을 쓰고 있어서 약간 버벅이고 스타일도 이상한 점이 있을 수 있는데 바로잡아 나갈 예정이다.

참고로 예전 글들은 아래의 링크들에서 이어서 확인할 수 있다:

2025-01-10

이게 정말 독감이 맞는 건가?

첫째가 다니고 있는 어린이집이 초토화되고 있다. 독감 때문이다. 한 반의 60% 가량의 원아가 독감으로 등원하고 있지 않다고 하니 사태가 심각하다.

물론 여기서 말하는 독감은 그 인플루엔자가 맞다. 독한 감기를 말하는 게 아니다.

이런 이야기는 굳이 어린이집에 가지 않아도 여러 곳에서 들을 수 있다. 대표적인 예로 소아과가 있다. 소아과에 가보면 독감으로 방문한 환자들과 부모들이 넘쳐나고 있다. 미어터지는 소아과에서 잠깐 대기하다 보면 A형 독감 판정 이야기를 계속 들을 수 있을 정도다. 이러다 소아과가 독감 전파의 허브가 되는 것 아닐까 하는 생각이 들 정도다. 왜 병원에서의 마스크 착용 의무를 해제했는지 이해가 안 되기도 했다.

첫째는 그래도 안 걸리고 어린이집을 잘 다니고 있었다. 단지 아침에 콧물만 흘리고 있는데 좀 오래 되었기에 독감과는 관계가 없다고 생각했다. 다만 첫째가 갑자기 열이 나기 시작했는데 그날 해열제를 한 번 먹은 뒤로는 안정화되어 더이상 해열제를 먹이지는 않고 있다. 이 정도면 가벼운 열감기 정도로 판단할 수밖에 없는 증상이다.

그런데 증상이 약하다면 독감이 아닌 걸까?

둘째를 진찰하러 소아과에 갔다가 간혹 증상이 심하지 않은 독감 환자도 있다는 이야기를 들었다. 쉽게 넘길 수는 없는 이야기다. 어쩔 수 없이 첫째를 데리고 독감 검사를 하러 갔다. 

독감 검사 방법은 코로나 검사 방법을 생각하면 된다. 긴 면봉으로 코 속을 찔러 넣어야 한다. 안 그래도 어린아이라 검사 통증이 안쓰러울 수밖에 없는 데다 이 검사를 받을 때마다 코피가 나니 분명 편한 검사는 아니다.

검사 초기에는 진단키트에 별 다른 흔적이 나오지 않아서 독감은 아니거니 생각했다. 하지만 독감은 A, B, C 형의 세 가지가 있는 데다 코로나 검사까지 겸하는 키트라 좀 더 확실하게 확인하기 위해 기다려 보기로 했다.

그리고 불운에 당첨되었다.

첫째의 진단키트에서 미약한 A형 독감 라인을 확인했다. 아닐 거라 생각했건만 결국 첫째가 독감에 걸린 것이다.

이제서야 아이가 고열이 나기 전부터 밤만 되면 왜 이렇게 내 몸이 심하게 피곤해지나 이해가 되기 시작했다. 첫째가 독감 판정을 받은 날 난 콧물과 기관지염, 열과 오환 그리고 두통을 겪기 시작했다. 굉장히 빠른 속도로 증상이 나타났다. 단순한 감기는 아닐 거다. 

확률적으로 보자면 첫째에게서 독감이 옮았다고 보는 게 합리적이다. 어쩔 수 없는 게 첫째가 집에 있을 때는 거의 붙어 지내다 시피 했으니 말이다. 밥을 먹을 때도, 씻을 때도, 잠을 잘 때도 늘 함께였다. 그리고 아이가 고열이 났을 때부터 취침 시간에 열을 계속 체크하느라 제대로 쉬지도 못 했으니 더욱 전염될 확률은 높았을 거다.

이제 배우자와 함께 갓 어린이집을 다니기 시작한 둘째는 어떻게 될 것인지가 또다른 걱정 거리가 되었다. 그리고 배우자는 목이 간지럽고 두통을 이야기 하고 있다. 둘째는 갑자기 열이 높아지고 있고 기침을 하기 시작했다.

둘째가 다니던 어린이집은 그나마 청정구역 같은 느낌이었는데 이번에 독감 판정을 받은 원아 소식이 전해졌다. 여기도 시작이라는 말이다.

어쨌든 나는 독감 백신을 맞았다!

무려 독감 4가 백신을 지난 가을에 이미 맞아뒀다. 나는 무적이다! 무적일 것이다!

이렇게 생각했던 지난 날을 반성할 수밖에 없다. 당해보니 생각보다 꽤나 고통스럽다. 38.5도가 넘는 고열이 이틀 이상 이어지니 답이 없다. 물론 여러 증상이 한 번에 나타난 좀 독한 감기 수준의 증상이긴 하지만 그래도 힘들고 힘든 데다 아이들의 투정과 요구를 받아주는 스트레스를 더욱 증폭시켜서 참으로 고통 속의 나날이 될 것 같다.

사실 첫째도 둘째도 독감 백신은 모두 맞았다. 그래서 첫째의 증상이 약했던 걸지도 모르겠다. 그 덕분에 속은 느낌이 드는 것도 어쩔 수 없고 말이다.

여담

독감이 코로나 보다 무서운 건 증상 발현 전에도 전파시킬 수 있다는 점 같다. 그 다음으로 무서운 건 증상 발현 후 12~24시간이 지나야 진단키트로 진단될 확률이 높다는 점 같다. 이러니 누가 독감에 걸렸다고 하면 손도 못 쓰고 그대로 확산될 수밖에 없을 것 같다.

솔직히 코로나보다 무섭다. 지난 집안 코로나 침범은 절반만 희생(?)되고 무사히 막아냈었기에 좀 안일했었던 것일지도 모르겠지만 말이다. 어쨌든 코로나 예방과 독감 예방은 방법은 같지만 좀 더 세밀하게 해야 되는 것 같다는 점을 아주 잘 알게 된 것 같다.

이 글의 이후 상황도 있으니 궁금하면 읽어보자.

2024-08-26

항복 (취소)

테마랑 싸우는 거 너무 귀찮다.

CSS랑 싸우는 거 너무 귀찮다.

기껏 조금 마음에 들게 고쳤더니 이젠 자동광고가 깨진다.

어쩌라고. 어쩌라구. 어쩌라는 건지. 왜 때문에. 어째서!

...

항복한다.

그냥 기본 테마 쓸래.

대신 블로거(블로그스팟)에는 이 글이 당분간 마지막 글이 될 것 같다.

일단 깃헙페이지 저장소 1기가 채우고 티스토리 좀 써보고 생각하련다.

...

이래놓고 다시 돌아왔다.

알고보니 블로거는 테마에 조금이라도 손만 대면 자동광고가 적용되지 않을 수 있다는 문구를 띄우는 것으로 확인되었다. 그냥 글을 더 열심히 쓰는 게 더 중요할 것 같다는 느낌이다.

2024-08-25

2024-08-23

엠폭스는 왜 또 난리지?

한동안 잠잠하다 최근 엠폭스인지 원숭이두창인지가 급속도로 퍼지고 있다는 듯하다. 한국에선 조용한 것 같지만 어쨌든 WHO가 비상사태를 선포할 정도니 일단 보통은 아닌 것 같은게 코로나보다는 민첩하게 대응하는 것 같다. 설마 '중국이 진원지가 아니라서'는 아니겠지?

2024-08-21

2024-08-18

2018-12-28

NSTabViewController Cheatsheet

이 글은 NSTabViewController 혹은 NSTabView 에 관련된 몇 가지 팁을 정리하기 위한 목적으로 별 다른 규칙 없이 무작위(?)로 업데이트 될 수 있는 글입니다.

2018-10-10

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

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

2018-08-07

Python 의 Filter / Map / Reduce 그리고 Comprehension

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

글자만 있으면 썰렁해서 넣어보는 이미지 -_-

2018-05-15

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

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

2018-05-08

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

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

참고로 이 글은 Swift 4.0 을 기준으로 쓰여 졌습니다.

2018-05-01

Result of call to ... is unused | Swift

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

2018-04-23

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

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

하여간 매우 단순한 기능이지만 어떤 면에서 아주 유용하기에 간단하게 소개해 봅니다.

2018-04-09

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

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

2018-02-28

소수점 제거 함수 삼총사 ceil(), floor(), round()

이번 글은 굉장히 유명한 수학 함수 3가지를 적어보는 글입니다. 그리고 오랜만에 구어체가 아닌 존대말(?)로 쓰는 글이기도 하겠네요.

이번에 언급하는 함수 세 가지, 즉 ceil(), floor(), round() 함수는 C 언어 시절부터 쓰이던 수학 함수 중 일부입니다. 이 함수 들은 현대의 거의 대부분의 언어에서도 대부분 동일한 이름으로 제공될 정도로 필수 함수이지요.

이 함수들의 용도 및 활용법을 Swift 기준으로 정리해 보겠습니다. 물론 다른 언어에서도 거의 동일하니 언어가 의미가 있는지는 잘 모르겠지만요.

2018-02-20

NSButton Cheatsheet

이 글은 NSButton 을 사용하면서 필요로 했던 체감형 팁을 정리하는 글이다. 상황(?)에 따라 추가 업데이트가 될 수 있다.

NSTextField Cheatsheet

이 글은 NSTextField 에 관한 여러 체감형(?) 팁을 모은 것이며 관련된 지식 습득 시 업데이트 될 가능성이 있다. ;-)

2018-01-26

Swift struct 값의 프로토콜을 제대로 판단하지 못 하는 문제

아직 세상은 넓고도 험하다. 코딩을 하던 도중 아래 오류의 문제가 제법 골머리를 썩였다.
Could not cast value of type ‘_SwiftValue’ to ‘SomeProtocolName’
이 글은 위의 오류와 관련된(?) 문제를 해결하던 과정에서 나온 오랜만의 삽질을 정리한 내용이다.

2017-10-11

어느날 @objc Inference 와 관련된 경고를 보았다

Xcode 9 이전에 개발했던 프로젝트를 Xcode 9 에서 Swift 4 기반으로 변경한 적이 있다. 이 과정에서 단 한줄의 코드 변경도 없었고, 당연하게도 해당 프로젝트는 별 문제는 없이 잘 동작하였다.

다만 약간 찝찝하게도 빌드 도중 아래와 같은 색다른(?) 경고를 보게 되었다.
The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build setting to "Default" for the "TARGET NAME" target.
해석하자면 뭐라고 할까... 그냥 구버전 방식의 @objc 를 사용하는 것이 Swift 4 에선 호환이 안되니 무슨무슨 설정을 바꿔라 이런 의미로 해석된다. 하여간, 이 글은 이 경고를 해결하는 방법을 설명한다.

2017-08-01

Xcode 9 눈에 띄는 신기능들 (영상)

Xcode 9 을 제대로 찝적거릴(?) 기회가 생겨서 신기능을 조금씩 느껴보고 있다. 이왕 이렇게 된거 이런 기능들을 영상으로 한번 찍어보자 해서 녹화해서 편집해 봤다.

2017-07-26

2017-07-25

KVO (Key-Value Observing) 소개

KVO 는 Key-Value Observing 의 약자, 즉 특정 키의 값의 변화를 감지하기 위한 기능이다. Objective-C 를 위해 만들어진 기능이라 등장한지는 제법 되었지만, 현재의 앱 개발 패러다임에 있어서 - 모델(Model)의 변화를 뷰(View)에 반영하기 위함 등 - 값 변화를 인식하는 것은 굉장히 중요하기 때문에 무시할 수는 없는 기능인 것 같다.

2017-06-13

눈에 띄는 Swift 4 변경점들 (Xcode 9 첫 Beta 기준)

최근에는 좀 게으르게(?) 지내고 있다가 WWDC가 온줄도 모르고 Xcode 9 의 베타가 나오는 줄도 모르고 허송세월 보내고 있었다. 잠깐 정신을 차리고 Swift 4 에 관련된 내용을 간단히 정리해 볼까 한다.

Swift 4 - Codable / JSONDecoder / JSONEncoder

개인적으로 꼽는 Swift 4의 가장 유용한 업데이트 중 하나로 Codable 프로토콜 및 JSONDecoder / JSONEncoder 를 꼽고 싶다. JSON 이라는 이름이 가지는 의미야 유명하니 무슨 말인지는 다들 알 것인데, Codable 이라는 프로토콜은 타입과 JSON을 언어 차원에서 묶어주는 방법을 제공해 준다는 점에서 파격적(?)이다.

이 글은 이 새로운 기능에 대해 겉(?)만 핥으려는 내용이다.

2017-05-10

[iOS] 기묘한 에러메시지 "Unable to insert COPY_SEND"

오랫만에 옛날에 만들어 둔 iOS용 앱 프로젝트를 수정할 일이 생겼다. 그런데 문제를 수정하고 디버그 모드로 디바이스에 넣어서 실행시켜보니 괴상한 오류메시지가 로그 창에 찍히기 시작했다.

2017-04-12

CALayer 와 CAAction

Implicit Animation

이전에 CALayer 애니메이션에서 언급한 방법들은 Explicit Animation 즉 명시적인 애니메이션이라고 불린다. 이와 반대 개념으로 암시적인(Implicit) 애니메이션도 있을 터인데 이 암시적 애니메이션은 레이어의 동작(Behavior)에 의해 발동되는 애니메이션이다. 쉽게 말해서 프로퍼티 등에 값을 넣으면 애니메이션이 발동하면서 변화되는 모습을 보여준다. 프로그래머가 직접 애니메이션을 명령하지 않았지만 자동으로 애니메이션이 동작하였기에 암시적이라고 부르는 것이다.
view.layer.contents = UIImage(named: "flower").cgImage
위 코드는 뷰 레이어에 이미지를 표시하는 기초적인 코드이다. 그런데 이 코드 이전에 이미 contents 에 이미지가 올라가 있는 상태라면 다른 이미지로 바로 바뀌지 않고 페이드 애니메이션, 즉 이미지가 서서히 나타나는 듯한 효과로 변경(transition)된다. 물로 OS나 기타 조건에 의해 바뀔 수는 있으니 절대적인 것은 아니다. 중요한 점은 그저 레이어의 프로퍼티를 바꿨는데 애니메이션이 발동된다는 것이다. 이게 바로 암시적 애니메이션이다.

2017-03-28

Swift 3.1 릴리즈

오늘 Xcode 8.3 이 정식으로 릴리즈 되면서 Swift 3.1 도 함께 정식 릴리즈 되었다. 그래서 변화점을 간략히 정리해 보려고 한다. 주관적(?)으로 정리할 것이기 때문에 정확한 내용은 영어 울렁증(?)이 없다면 공식 사이트의 릴리즈 노트 를 보는 것이 좋을지도 모른다.

2017-03-21

Notification Snippets

복잡한 뷰 컨트롤러들을 다루면서 여기 저기 소속된 데이터를 다루려고 할 때 소유권 때문에 곤란함을 느낄 때가 많았다. 이럴 때 NotificationCenter 를 이용해 알림(Notification)을 던지는 방식으로 컨트롤러 객체들끼리 통신을 하기도 하는데, 뭐 하여간 이런 저런 여러 사유로 노티피케이션(Notification 혹은 NSNotification)을 사용할 일이 종종 있다.

하지만 항상 쓸 때 마다 느끼는데, 이 알림(Notification)의 이름(Name)을 찾는데 곤혹을 느끼곤 한다. 왜나하면 한군데에 정리된 것이 아닌 전역 상수 형태로 선언된 것이 대부분이기 때문이다.

물론 개인이 구현하는 프로젝트에서 쓸 Notification 은 굳이 이런 전통을 따를 필요는 없다. 누구나 한번 쯤은 해 볼 만한 Notification Snippets 를 한번 만들어 보자.

2017-02-28

CATransition Animation (Core Animation)

레이어 이야기를 쓰다가 계속 삼천포로 살짝 빠지는 느낌이 들지만, 이번 글은 레이어 트랜지션(Transition), 즉 장면전환 애니메이션에 관한 글이다.

2017-02-21

CALayer Animation (Core Animation)

CALayer 에 관한 글을 적으면서 애니메이션에 대해 언급할 필요가 생겼는데 간략히 하기에는 양이 너무 많은 것 같다. 그래서 이번엔 CALayer 애니메이션에 관한 것을 별도로 정리하려고 한다.

CALayer 의 이름에서 볼 수 있는 머릿글자 CA 는 Core Animation 의 약자이다. Quartzcore 라는 거대한 시스템의 일부이기도 한 이 Core Animation 은 레이어 애니메이션을 위한 기능들로 구성되어 있다.

전체를 설명하기에는 양의 방대함도 그렇고 개인적인 지식도 문제가 되기 때문에 애니메이션과 관련된 Quartzcore 의 몇 클래스만을 정리해 본다.

2017-02-15

CALayer - CAShapeLayer

CAShapeLayer 는 Shape 를 그리기 위한 CALayer 기반 클래스이다. 다르게 말하면 다각형 혹은 폴리곤을 그리기 위한 용도라고 볼 수 있다.

2017-02-13

CALayer - CAGradientLayer

CAGradientLayer 는 CALayer 기반 클래스로 그라디언트를 그리는 기능을 제공하는 특수 레이어다.

2017-02-08

CALayer - CATextLayer

CATextLayer 는 그 이름처럼 화면에 글자를 그리기 위한 용도의 CALayer 기반 레이어 클래스이다. UILabel 이나 NSTextField 등에 비해 기능적인 면에서 부실하기는 하지만 아무래도 퍼포먼스 면에서는 우위일 것이다.

2017-02-07

CALayer 시작하기

지금까지 iOS 및 macOS 용 앱을 여럿 만들어 왔지만 레이어에 대해서는 자세히 공부해 본 적이 없었다. 블로그에 글 쓸 주제도 적어지고 마침 필요도 하기에 레이어에 대해 공부해 보면서 알게 된 것들을 정리해 보려고 한다.

2017-02-01

NSScrollView Cheatsheet

개인적으로 NSScrollView 를 이용하면서 알게된 팁을 모아본 글이다. 이 글은 계속 업데이트 될 수 있다.

2017-01-20

Swift 속의 C Pointer 이야기 - UnsafeBufferPointer, UnsafeMutableBufferPointer

버퍼(Buffer)라는 용어는 대체로 연속적인 메모리 공간을 의미한다. 메모리를 할당해서 구한 포인터는 이 버퍼의 시작 주소를 담고 있다고 볼 수 있다. 버퍼는 메모리 덩어리 그 자체다.

하지만 스위프트(Swift)는 포인터를 쓸 수 있는 언어가 아니기 때문에 연속적인 메모리를 액세스 하는 것이 불가능하다. 그래서 위의 버퍼 개념이 맞지 않는다.

Swift 에서는 버퍼를 대체하기 위해 배열(Array)을 대신 사용한다. 랜덤 액세스도 되고 이터레이션도 되는 그 배열 말이다.

UnsafeBufferPointer 와 UnsafeMutableBufferPointer 는 이런 Swift 버퍼와 C 버퍼 사이의 상호호환을 위해 제공되는 특수한 컨테이너다.

Swift 속의 C Pointer 이야기 - UnsafeRawPointer, UnsafeMutableRawPointer

이번 이야기는 Raw Pointer 대충 번역하면 생포인터에 대한 이야기다. 쉽게 표현하자면 이 생포인터는 타입이 지정되지 않은(Untyped) 포인터이다. 포인터 시작편에서 언급했지만 이 생포인터는 타입이 명시되지 않았다는 점 때문에 Swift 에서 배척(?)받을 지도 모르는 존재일지도 모르겠다. (뇌내망상)

이 생짜포인터를 액세스 하기 위해 Swift 에서는 UnsafeRawPointer 와 UnsafeMutableRawPointer 등의 컨테이너를 제공한다.

Swift 속의 C Pointer 이야기 - 시작

Swift 에서 C 포인터(Pointer)는 왜 쓰는가. 모호할 때도 있고 쓰기도 귀찮고 문제도 자주 일으키는 그 개념을 말이다.

그런데 답은 C 포인터 라는 이름에서 이미 나와있다. 당연히 C로 구현된 함수가 포인터를 사용하게 되니 이 함수를 쓰려면 포인터를 다뤄야 한다는 것이다.

C 가 점점 대중(?)들에게 잊혀져 가는 현재로썬 포인터는 거의 쓸 일이 없어졌다고 볼 수도 있다. 하지만 동일개념을 사용하는 C++도 아직 현역이고 암호화 등 바이너리 연산 계통에선 여전히 C가 현역이다. 거기에 포인터도 거의 따라나니다 보니 아직은 땔 수 없는 애증(?)의 관계인 것 같다.

이번 글은 예전에 썼던 포인터 글이 오래된 것 같아 새롭게 Swift 3 기준으로 C 포인터에 대해서 작성해 본다.