IT

Apache: 변경된 호스트로 리다이렉트 설정

Google Adsense를 붙이기 위해 블로그의 주소를 blog.reshout.com에서 reshout.com으로 변경했다.

네이버, 구글 등에는 이미 blog.reshout.com으로 색인이 되어 있어 Host가 변경되었음을 알려 줄 필요가 있다.

Apache 설정을 통해 blog.reshout.com 또는 www.reshout.com으로 요청이 들어온 경우, Path, Query Parameters를 유지한 상태로 Host만 reshout.com으로 Redirect 되도록 설정했다.

<VirtualHost *:80>
        ServerName reshout.com
        ServerAlias blog.reshout.com
        ServerAlias www.reshout.com
        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^reshout.com$
        RewriteRule ^.*$ https://reshout.com%{REQUEST_URI} [R=301,L]
</VirtualHost>

HTTP 응답 상태 코드 301은 Moved Permanently를 의미한다.

맥프레 13인치 2017 키보드 교체

오래전에 방향키에서 이상한 소리가 나서 키캡을 반복하여 분리, 결합하다가 플라스틱 고정부를 부러뜨렸다. 만용을 부린 결과는 참혹했다. 아래, 위 방향키는 한쪽이 고정되지 않아 나풀거리고, 입력도 2~3번에 한 번은 안 먹었다. 이상한 소리도 그대로 였으니 혹 떼려다 혹 붙인격이었다.

그러다 최근에 N키가 중복 입력되는 현상이 지속적으로 발생하여 속으로 쾌재를 불렀다. ‘드디어 공짜로 고칠 수 있겠구나!’

유베이스 수원센터에 가서 간단히 증상을 재현하고 수리를 맡겼다. MacBook, MacBook Air 및 MacBook Pro용 키보드 서비스 프로그램을 이용하여 수리비는 0원.

아내의 맥북에어

수리기간에는 자린고비 아내의 (화면 중앙에 금이 간) 맥북에어 13인치 2013에 기생했다. 계정을 만들고 필수 프로그램을 몇 가지 설치했는데, 대부분의 데이터가 클라우드에 있으니 짧은 시간에 작업 환경을 마련할 수 있었다. 레티나 화면이 아니라는 것을 빼면 불편함을 느끼지 못할 정도여서 맥북의 긴 수명에 감탄했다. 오랜만에 가위식 키보드의 안정감 있는 키감도 맛볼 수 있었다.

키보드 교체는 3일만에 끝났지만, 구정 연휴에 부산에 다녀와서 9일만에 찾아왔다.

키보드 교체로 다시 태어난 맥프레

부품 번호는 661-07950, 가격은 502,000원, 키보드, 배터리 일체형이라 86~88%를 오가던 배터리까지 새것으로 교체되었다.

새 배터리

기존 키보드보다 키감도 소리도 깊고 무거워졌다. 개인적으로 아주 마음에 든다. 가위식 키보드보다 나은 것 같다.

즐거운 마음으로 3년은 무난히 더 쓸 수 있을 것 같다.

워드프레스 한글 웹폰트 적용

가장 깔끔한 방법은 테마 디자인 > CSS 편집 메뉴에서 아래와 같이 폰트를 강제로 변경하는 CSS 코드를 추가하는 것이다.

@import url('//cdn.jsdelivr.net/font-iropke-batang/1.2/font-iropke-batang.css');
* { font-family: 'Iropke Batang', serif !important; }
pre, code { font-family: 'monofur', 'PT Mono', monospace !important;} 

!important를 적용하여 워드프레스 테마의 style.css에 의해 개별 요소에 대하여 별도로 정의된 폰트를 무시하는 것이 키 포인트다.

소스코드는 고정폭 폰트가 적용되도록 pre, code 태그에 대해서는 추가로 정의해줘야 한다.

Confluence에서 Notion으로 이사

현충일 연휴를 이용하여 Confluence에 정리한 개인 자료를 모두 Notion으로 옮겼다.

단돈 $10를 내고 Confluence를 개인 서버에 설치하여 사용해왔는데, 처음의 계획만큼 잘 활용하지 못했다. 이유는 크게 2가지:

  • 어쩌다 한 번 쓰려고 하면 길고 긴 콜드 부트 시간을 기다려야한다.
  • 모바일에서 읽기, 쓰기 불편하다.

Notion이 좋았던 이유 5가지:

  • 예쁘다.
  • Block 단위 편집
  • 모바일 접근성이 좋다.
  • 직접 관리 안하고 마음 편하게 쓰고싶다.
  • 마크다운 형식으로 내보내기 가능

Confluence에서 가져오기 도구를 제공하지 않아서 개인 자료를 옮기는데 적잖은 시간을 사용해야했지만, 앞으로 개인자료를 잘 정리하여 활용할 것을 생각하면 좋은 투자였다고 생각한다.

Cloudflare Update DNS Record Python Script

DNSEver를 떠나 Cloudflare에 정착. 서버의 변경 된 IP 주소를 주기적으로 DNS 레코드에 반영하기 위해 간단한 Python 스크립트를 작성해보았다.

API documentation: https://api.cloudflare.com/

import requests
import json

zone_id = '...'
email = '...'
api_key = '...'

ip_addr = requests.get('https://api.ipify.org').text

headers = {
  'X-Auth-Email': email,
  'X-Auth-Key': api_key,
  'Content-Type': 'application/json',
}

list_dns_record_url = 'https://api.cloudflare.com/client/v4/zones/{}/dns_records'
update_dns_record_url = 'https://api.cloudflare.com/client/v4/zones/{}/dns_records/{}'

response = requests.get(list_dns_record_url.format(zone_id), headers=headers)
for record in response.json()['result']:
  if record['type'] == 'A':
    data = {
      'type': 'A',
      'name': record['name'],
      'content': ip_addr,
      'ttl': 1,
      'proxied': True,
    }
    response = requests.put(update_dns_record_url.format(zone_id, record['id']), headers=headers, data=json.dumps(data))
    print(response.json())