<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발 안하는 프로그래머</title>
    <link>https://psytech.tistory.com/</link>
    <description>개발자였는데 어쩌다보니 지금은 다른 일 하고 있음.</description>
    <language>ko</language>
    <pubDate>Sun, 7 Jun 2026 02:42:57 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Asteroids</managingEditor>
    <image>
      <title>개발 안하는 프로그래머</title>
      <url>https://t1.daumcdn.net/cfile/tistory/236DA53758A1FA2B12</url>
      <link>https://psytech.tistory.com</link>
    </image>
    <item>
      <title>Alfred 우편번호 검색 Workflow</title>
      <link>https://psytech.tistory.com/105</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a title=&quot;알프레드 epost 우편번호 검색입니다.&quot; href=&quot;https://www.clien.net/service/board/cm_mac/9930713&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;클리앙의 동그리a 님이 만드신 우편번호 검색 workflow&lt;/a&gt;를 오랫동안 잘 쓰고 있었는데, 어느 순간부터 동작하지 않는 것을 발견했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드를 분석해보니 MacOS에 기본으로 탑재되어 있던 python2 버전으로 작성되어 있었는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MacOS Venture로 업그레이드하면서 OS에 기본 탑재 버전이 python3 으로 변경되면서 생긴 호환 문제였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;동그리a님의 코드를 기본으로, Ventura에서도 사용 가능하도록 코드를 일부 수정했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알프레드에 직접 코드를 입력하여 사용할 경우 아래 코드를 참조하면 된다.&lt;/p&gt;
&lt;pre id=&quot;code_1675835371890&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# epost, v2.0
#

import sys
from unicodedata import normalize
import urllib, urllib.parse, urllib.request
import json
import xml.etree.ElementTree as ET

def send_request(q):
    params = {
        &quot;ServiceKey&quot;: &quot;ePOST API KEY&quot;, # 코드를 복사해서 사용하실 분은 이곳에 ePOST API Key를 발급받아 넣으면 됩니다.
        &quot;srchwrd&quot;: q
    }
    url = &quot;http://openapi.epost.go.kr/postal/retrieveNewAdressAreaCdSearchAllService/retrieveNewAdressAreaCdSearchAllService/getNewAddressListAreaCdSearchAll&quot;
    url += &quot;?&quot;+urllib.parse.urlencode(params)

    return urllib.request.urlopen(url).read()

if __name__ == '__main__':
    try:        
        query = normalize('NFC', '{query}').encode('utf-8')
    except:
        query = &quot;&quot;

    data = send_request(query)

    output = []
    tree = ET.fromstring(data)
    success = tree.findtext('.//successYN')
    if success == 'Y':
        for item in tree.findall('newAddressListAreaCdSearchAll'):
            zipNo = item.findtext('.//zipNo')
            lnmAdres = item.findtext('.//lnmAdres')
            rnAdres = item.findtext('.//rnAdres')
            output.append({
                &quot;title&quot;: '(' + zipNo + ') ' + lnmAdres,
                &quot;subtitle&quot;: rnAdres,
                &quot;valid&quot;: True,
                &quot;arg&quot;: zipNo
            })
    else:
        output.append({
            'title': tree.findtext('.//errMsg'),
            'valid': False
        });

    rObj = {&quot;items&quot;:output}

    print(json.dumps(rObj))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;다운로드&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;워크플로우만 다운받아 사용하고 싶을 경우 아래 파일을 다운받아 실행해서 알프레드에 추가하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bkBqR7/btrYrnxuImY/wkCdBuTNq8HxFoH70iAPl1/%EC%9A%B0%ED%8E%B8%EB%B2%88%ED%98%B8%20%EA%B2%80%EC%83%89.alfredworkflow?attach=1&amp;amp;knm=tfile.alfredworkflow&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;우편번호 검색.alfredworkflow&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.12MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;사용하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알프레드 검색창에 'post 검색할주소' 라고 입력하면 아래에 검색결과가 출력된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-02-08 오후 2.55.02.png&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rIP2P/btrYzaKirQN/SECkoUJDmjeKEHCASe1eB0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rIP2P/btrYzaKirQN/SECkoUJDmjeKEHCASe1eB0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rIP2P/btrYzaKirQN/SECkoUJDmjeKEHCASe1eB0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrIP2P%2FbtrYzaKirQN%2FSECkoUJDmjeKEHCASe1eB0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;623&quot; height=&quot;534&quot; data-filename=&quot;스크린샷 2023-02-08 오후 2.55.02.png&quot; data-origin-width=&quot;623&quot; data-origin-height=&quot;534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>컴퓨터 - 기타</category>
      <category>Alfred4</category>
      <category>Alfred5</category>
      <category>macos</category>
      <category>macOS Ventura</category>
      <category>python</category>
      <category>workflow</category>
      <category>알프레드</category>
      <category>우편번호</category>
      <category>워크플로우</category>
      <category>클리앙</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/105</guid>
      <comments>https://psytech.tistory.com/105#entry105comment</comments>
      <pubDate>Wed, 8 Feb 2023 14:57:15 +0900</pubDate>
    </item>
    <item>
      <title>맥에서 일정시간 간격으로 자동 스크린샷 찍기</title>
      <link>https://psytech.tistory.com/106</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;맥에서 스크린샷을 찍기 위해서는 Ctrl + Shift + 3 (전체화면 캡처) 단축키를 사용하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;터미널에서 명령어를 이용해서 스크린샷을 찍으려면 screencapture 명령어를 사용하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를들어, 전체화면을 캡처하여 바탕화면에 저장하고 싶다면, 터미널에서 아래의 명령어를 사용하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1675752423539&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;screencapture /Users/사용자명/Desktop/파일명.png&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기까지는 아주 심플. 하지만 일정간격을 두고 자동으로 스크린샷을 찍으려고 하면 몇가지 문제가 있다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;1. screencapture 명령어를 사용하면, 단축키로 캡처할때와 동일하게 &quot;찰칵&quot; 하는 효과음이 발생한다.&lt;br /&gt;2. 터미널에서 직접 명령어를 실행하면 화면이 정상적으로 캡처되지만, 스크립트를 만들어 실행할 경우 배경화면만 캡처된다.&lt;br /&gt;3. 파일명을 직접 지정해주어야 하기 때문에, 차례대로 저장하려면 스크립트를 만들어 주어야 한다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 문제를 해결하기 위해서 다음과 같이 진행해 본다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 스크린샷 스크립트 만들기&lt;/h2&gt;
&lt;pre id=&quot;code_1675752905485&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#!/bin/bash
PATH=/bin:/usr/bin:/usr/sbin  # screencapture 명령을 실행하기 위한 기본경로 설정
NOW=`date +%F_%H-%M-%S`       # 파일명으로 사용할 현재날짜-시간 텍스트를 NOW 변수에 저장

# 스크린샷 실행
screencapture -x -D 1 -C /경로명/$NOW.png

# screencapture 옵션 설명
# -x   : 스크린샷 할 때 소리 없이 실행
# -D 1 : 첫번째 디스플레이만 캡처
# -C   : 경로 지정&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 내용을 원하는 위치에 저장해 둔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나는 &lt;u&gt;/Users/사용자명/apps/screencapture.sh&lt;/u&gt; 로 저장했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저장한 후 터미널에서 아래의 명령어를 입력하여 실행 권한을 부여한다.&lt;/p&gt;
&lt;pre id=&quot;code_1675753182668&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;chmod +x /Users/사용자명/apps/screencapture.sh&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 자동실행 설정하기 (crontab 이용)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맥은 유닉스 기반이므로 crontab을 사용할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;terminal에서 &lt;u&gt;crontab -e&lt;/u&gt; 명령을 실행시킨 후 아래와 같이 자동실행을 설정한다.&lt;/p&gt;
&lt;pre id=&quot;code_1675753126283&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;*/5  *  *  *  *  /Users/사용자명/apps/screencapture.sh # 5분 간격으로 실행&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. cron의 화면기록 권한 부여&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위처럼 자동실행을 세팅해놓고 나면, 지정한 디렉토리에 스크린샷이 하나하나 쌓이게 되는데, 기대하는 것과 달리 실제 화면이 아니라 배경화면만 캡처되고 있는 것을 확인할 수 있을 것이다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style16&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-02-07_11-40-00.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RrB6Q/btrYquvB7sE/2MpAPtAKkKwXskiLKKbQqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RrB6Q/btrYquvB7sE/2MpAPtAKkKwXskiLKKbQqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RrB6Q/btrYquvB7sE/2MpAPtAKkKwXskiLKKbQqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRrB6Q%2FbtrYquvB7sE%2F2MpAPtAKkKwXskiLKKbQqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-filename=&quot;2023-02-07_11-40-00.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;br /&gt;&lt;span&gt;기대하는 결과&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; text-align: center;&quot;&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;2023-02-07_16-15-00.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FUQU3/btrYrTOG5yt/g7Yja51a1UQxPm0tJpJ4vk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FUQU3/btrYrTOG5yt/g7Yja51a1UQxPm0tJpJ4vk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FUQU3/btrYrTOG5yt/g7Yja51a1UQxPm0tJpJ4vk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFUQU3%2FbtrYrTOG5yt%2Fg7Yja51a1UQxPm0tJpJ4vk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-filename=&quot;2023-02-07_16-15-00.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;span&gt;실제 결과&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 되는 이유는 cron 프로세스가 실제 사용자 화면에 접근할 수 있는 권한이 없기 때문이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래와 같이 &lt;u&gt;설정 &amp;gt; 개인정보 보호 및 보안 &amp;gt; 화면 기록&lt;/u&gt; 메뉴에서&amp;nbsp;cron의 화면 기록 권한을 허용해 준다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-02-07 오후 4.08.27.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;582&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/W7WON/btrYpmR3Uex/W90arveWaQ38g6XGnH0UxK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/W7WON/btrYpmR3Uex/W90arveWaQ38g6XGnH0UxK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/W7WON/btrYpmR3Uex/W90arveWaQ38g6XGnH0UxK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FW7WON%2FbtrYpmR3Uex%2FW90arveWaQ38g6XGnH0UxK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;827&quot; height=&quot;582&quot; data-filename=&quot;스크린샷 2023-02-07 오후 4.08.27.png&quot; data-origin-width=&quot;827&quot; data-origin-height=&quot;582&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기까지 설정을 마치고 나면, 지정한 폴더에 정상적으로 차곡차곡 저장되는 스크린샷을 확인할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-02-07 오후 4.08.43.png&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;576&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJJDP7/btrYkLkSHtV/xsm3fIhgXwNP3LfeFcAhDK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJJDP7/btrYkLkSHtV/xsm3fIhgXwNP3LfeFcAhDK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJJDP7/btrYkLkSHtV/xsm3fIhgXwNP3LfeFcAhDK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJJDP7%2FbtrYkLkSHtV%2Fxsm3fIhgXwNP3LfeFcAhDK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1047&quot; height=&quot;576&quot; data-filename=&quot;스크린샷 2023-02-07 오후 4.08.43.png&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;576&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>컴퓨터 - 기타</category>
      <category>cron</category>
      <category>macos</category>
      <category>ventura</category>
      <category>매킨토시</category>
      <category>맥북</category>
      <category>쉘스크립트</category>
      <category>스크린샷</category>
      <category>크론탭</category>
      <category>화면캡처</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/106</guid>
      <comments>https://psytech.tistory.com/106#entry106comment</comments>
      <pubDate>Tue, 7 Feb 2023 16:28:03 +0900</pubDate>
    </item>
    <item>
      <title>Webhook 테스트 사이트</title>
      <link>https://psytech.tistory.com/101</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Webhook 테스트용 사이트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://webhook.site/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://webhook.site/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1649211141518&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Webhook.site - Test, process and transform emails and HTTP requests&quot; data-og-description=&quot;This URL received over {{ appConfig.MaxRequests }} requests and can't accept more webhooks. New requests sent to this URL will return HTTP status code 410 Gone or 429 Too Many Requests and won't be logged. Also note that it is against our terms of service &quot; data-og-host=&quot;webhook.site&quot; data-og-source-url=&quot;https://webhook.site/&quot; data-og-url=&quot;https://webhook.site/&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://webhook.site/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://webhook.site/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Webhook.site - Test, process and transform emails and HTTP requests&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;This URL received over {{ appConfig.MaxRequests }} requests and can't accept more webhooks. New requests sent to this URL will return HTTP status code 410 Gone or 429 Too Many Requests and won't be logged. Also note that it is against our terms of service&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;webhook.site&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개발/참고자료</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/101</guid>
      <comments>https://psytech.tistory.com/101#entry101comment</comments>
      <pubDate>Wed, 6 Apr 2022 11:12:36 +0900</pubDate>
    </item>
    <item>
      <title>맥에서 알림센터 알림 한번에 없애기 (+ Big Sur 업데이트)</title>
      <link>https://psytech.tistory.com/86</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;+ Big Sur 업데이트 (2021.08.21.)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Big Sur에서는 알림 메시지의 형태가 일부 변경되어 위의 코드를 사용할 수 없게 되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래의 Applescript 코드를 이용하면 다시 정상적으로 사용할 수 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1629530050892&quot; class=&quot;swift&quot; data-ke-language=&quot;swift&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;activate application &quot;NotificationCenter&quot;
tell application &quot;System Events&quot;
    tell process &quot;NotificationCenter&quot;
        set theWindow to group 1 of UI element 1 of scroll area 1 of window &quot;Notification Center&quot;
        # click theWindow
        set theActions to actions of theWindow
        repeat with theAction in theActions
            if description of theAction is in {&quot;닫기&quot;, &quot;모두 지우기&quot;, &quot;Close&quot;, &quot;Close All&quot;} then
                tell theWindow
                    perform theAction
                end tell
                exit repeat
            end if
        end repeat
    end tell
end tell&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시나 바로 다운로드하고 싶은 분은 아래 링크에서.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/bLyPy4/btrcNMo2Ugr/vkYG8skbTjQQxkbSxt9fnK/CloseAllNotifications%28BigSur%29.alfredworkflow?attach=1&amp;amp;knm=tfile.alfredworkflow&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;CloseAllNotifications(BigSur).alfredworkflow&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.03MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://blog.kakaocdn.net/dn/b9e7R4/btrcLBIP4rO/EEKpmj6vmtebm3yyFHpDk0/CloseAllNotifications%28BigSur%29.scpt?attach=1&amp;amp;knm=tfile.scpt&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;CloseAllNotifications(BigSur).scpt&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;0.00MB&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;원본 글 (2017년)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;컴퓨터를 사용하고 있을 때에는 보통 카카오톡 클라이언트를 함께 켜 두게 된다. 그러면 휴대폰으로는 알림이 가지 않고 맥 화면에만 알림이 발생하게 되는데, 문제는 내가 컴퓨터 화면만 들여다보고 있지 않고 딴짓을 자주 한다는 거다. 잠깐만 한눈팔고 있으면 카카오톡 알림은 옆으로 사라져 버리고 나는 메시지가 온 지 안온 지도 모르는 사태가...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 문제를 방지하기 위해서 카카오톡에서 알림이 오면 자동으로 사라지지 않고, 확인 버튼을 눌러야만 사라지도록 환경설정-알림 메뉴에서 설정을 변경해 두었다.&lt;/p&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;780&quot; height=&quot;640&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;640&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/212C984758B66DA52D?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/212C984758B66DA52D?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/212C984758B66DA52D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F212C984758B66DA52D&quot; width=&quot;780&quot; height=&quot;640&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;640&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그랬더니 이번에는 다른 문제가 발생,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가끔 단체 채팅방에서 확인을 하지 않아도 되거나 나중에 해도 되는 메시지들이 수십통 오게 되면, 일일이 다 '닫기' 버튼을 눌러서 알림을 없애야 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한두 개면 괜찮지만 열개 이상쯤 되면 짜증이 나서 카카오톡을 아예 꺼버리곤 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러다 좀 더 근본적으로, 알림을 한꺼번에 없애는 방법을 찾아보기로 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/256DFB4758B66FA93A?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/256DFB4758B66FA93A?original&quot; data-alt=&quot;이런 사태가 생긴다.&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/256DFB4758B66FA93A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F256DFB4758B66FA93A&quot; width=&quot;900&quot; height=&quot;506&quot; data-origin-width=&quot;900&quot; data-origin-height=&quot;506&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;이런 사태가 생긴다.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 찾아낸 것이 아래의 자바스크립트 코드 (원본 코드는 영어 OS 기준이어서, 버튼의 '닫기' 버튼을 인식하지 못했다. 그래서 이름을 '닫기', '확인'으로 변경함.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플스크립트 애플리케이션을 통해서 서비스로 등록하거나, 알프레드 워크플로우로 만들어 사용하면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;var app = Application(&quot;System Events&quot;)

notificationCenter = app.processes.byName('NotificationCenter')

function closeWindow(window){
    window.buttons.whose({
        _or: [
            {name: &quot;닫기&quot;},
            {name: &quot;확인&quot;}
        ]
    })().forEach(function(button){button.click()})
	delay(0.1)
	return
}

notificationCenter.windows().reverse().forEach(closeWindow)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다 귀찮고 그냥 다운로드 하고 싶으신 분은 아래에서.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/250A954F58B670D747?original&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;ClearNotifications.alfredworkflow&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;다운로드&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;figure class=&quot;fileblock&quot; data-ke-align=&quot;alignCenter&quot;&gt;&lt;a href=&quot;https://t1.daumcdn.net/cfile/tistory/250FD24458B670FE07?original&quot; class=&quot;&quot;&gt;
    &lt;div class=&quot;image&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;desc&quot;&gt;&lt;div class=&quot;filename&quot;&gt;&lt;span class=&quot;name&quot;&gt;CloseAllNotifications.scpt&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;size&quot;&gt;다운로드&lt;/div&gt;
&lt;/div&gt;
  &lt;/a&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;알프레드 스크립트는 그냥 더블클릭하면 적용되고, 알프레드 창에서 &lt;code&gt;cnoti라고&lt;/code&gt; 입력하면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;593&quot; height=&quot;149&quot; data-origin-width=&quot;593&quot; data-origin-height=&quot;149&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/2631174558B671FB1C?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/2631174558B671FB1C?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2631174558B671FB1C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2631174558B671FB1C&quot; width=&quot;593&quot; height=&quot;149&quot; data-origin-width=&quot;593&quot; data-origin-height=&quot;149&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플스크립트 파일은 서비스로 등록하든, 그냥 실행할 수 있는 앱으로 만들든 해서 사용하면 된다. 방법은 &lt;a class=&quot;tx-link&quot; href=&quot;http://macnews.tistory.com/537&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;백투더맥 블로그&lt;/a&gt;를 참고하면 된다. 거의 같은 과정이지만 중간에 코드만 바꾸면 된다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;font-size: 1.44em;&quot;&gt;문제점&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;애플스크립트를 실행했는데도, 워크플로우를 제대로 설치했는데도 동작하지 않는 경우가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;맥의 보안정책 때문에 스크립트를 실행할 수 없어서 생기는 문제다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자동으로 뜨는 &lt;code&gt;개인 정보 보호 - 손쉬운 사용&lt;/code&gt; 창에서 해당 어플을 체크해 주면 정상적으로 동작한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; width=&quot;780&quot; height=&quot;654&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;654&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://t1.daumcdn.net/cfile/tistory/2765314858B672AC29?original&quot; data-phocus=&quot;https://t1.daumcdn.net/cfile/tistory/2765314858B672AC29?original&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2765314858B672AC29&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2765314858B672AC29&quot; width=&quot;780&quot; height=&quot;654&quot; data-origin-width=&quot;780&quot; data-origin-height=&quot;654&quot; data-ke-mobilestyle=&quot;widthOrigin&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>컴퓨터 - 기타</category>
      <category>빅서</category>
      <category>시에라</category>
      <category>알림센터</category>
      <category>알프레드</category>
      <category>애플스크립트</category>
      <category>엘캐피탄</category>
      <category>요세미티</category>
      <category>워크플로우</category>
      <category>카탈리나</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/86</guid>
      <comments>https://psytech.tistory.com/86#entry86comment</comments>
      <pubDate>Sat, 21 Aug 2021 16:11:05 +0900</pubDate>
    </item>
    <item>
      <title>BOSE Soundtouch API 는 외부에서 사용할 수 없다</title>
      <link>https://psytech.tistory.com/99</link>
      <description>&lt;p&gt;BOSE Soundtouch 10 이라는 괜찮은 블루투스 스피커(라고 쓰고 장난감이라 읽는다)를 구입했다.&lt;/p&gt;
&lt;p&gt;휴대용이 아니라는 유일한 단점(사실 단점도 아닌데..) 빼고, 음질도 좋고 wifi, line-in, bluetooth 다 잘 되는게 장점이다.&lt;/p&gt;
&lt;p&gt;심지어 얼마전 펌웨어 업데이트 이후에는 AirPlay도 지원된다! 겁나좋군?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;스크린샷 2020-03-18 오전 12.23.48.png&quot; data-origin-width=&quot;1214&quot; data-origin-height=&quot;896&quot; width=&quot;605&quot; height=&quot;447&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ctpCNI/btqCMocEjLa/tPx6oObdS1Bd3EkwsmmSu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ctpCNI/btqCMocEjLa/tPx6oObdS1Bd3EkwsmmSu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ctpCNI/btqCMocEjLa/tPx6oObdS1Bd3EkwsmmSu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctpCNI%2FbtqCMocEjLa%2FtPx6oObdS1Bd3EkwsmmSu1%2Fimg.png&quot; data-filename=&quot;스크린샷 2020-03-18 오전 12.23.48.png&quot; data-origin-width=&quot;1214&quot; data-origin-height=&quot;896&quot; width=&quot;605&quot; height=&quot;447&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;블랙프라이데이 시즌에 싼 가격에 나와서 혹하기도 했지만, 그것보다도 API를 제공해서 그걸 가지고 놀 수 있다는 점이 아주 매력적이었다.&lt;/p&gt;
&lt;p&gt;API를 가지고 뭘 해볼 수 있을지 머리를 굴려보다가 이왕 좋은 스피커를 샀으니 알람으로도 활용하면 좋겠다는 생각이 들었다.&lt;/p&gt;
&lt;p&gt;음악파일 URL을 스피커에서 로드해서 틀어주는 API + 개인서버의 crontab 을 활용해보기로 했다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. 알람으로 사용할 음원 정하기&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - 1안 : 그냥 좋아하는 노래 하나를 웹 계정에 올려서 사용한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - 2안 : 좋아하는 음악 여러개를 한 폴더에 몰아놓고 랜덤하게 재생한다 (서버 처리 필요)&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - 3안 : FM라디오 스트리밍 URL을 찾아서 재생한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 서버에서 정해진 시간에 스피커 URL로 API 명령을 보내서 음원을 재생한다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - 1안 : 내 방에 있는 NAS의 예약 작업 기능에 쉘스크립트를 등록해서 재생&lt;/p&gt;
&lt;p&gt;&amp;nbsp; - 2안 : NAS를 굳이 계속 켜둘 필요 없도록 AWS 등 외부 서버에서 명령 날려서 재생&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;결과적으로 1,2번 전부 만만치 않았다.&lt;/p&gt;
&lt;p&gt;[1번]&lt;/p&gt;
&lt;p&gt;1안/2안은 쉽게 구현 가능하다. 사실 구현이랄것도 거의 없긴 하다.&lt;/p&gt;
&lt;p&gt;3안은 만만치 않았다. 요즘은 url이 공개되어 있는 라디오 채널이 거의 없어서, 내가 원하는 MBC FM4U라든가 YTN Radio는 연결할 수가 없다. 게다가 스피커에서 지원하는 url은 http나 https 프로토콜로 시작해야 하고, 재생 가능한 파일 타입도 한정되어 있다. 머리를 쓴 끝에 성공하기는 했으나 복잡하니까 간단하게 요약해둔다.&lt;/p&gt;
&lt;p&gt;1) 라디오 온에어 사이트를 샅샅이 뒤져서 rtmp 프로토콜의 onair stream url을 찾아낸다. 동적으로 변화하는 경우는 원하는 시점에 자동으로 스트림 url을 추출해주는 파싱 스크립트가 따로 필요하다.&lt;/p&gt;
&lt;p&gt;2) 정해진 시각에 정해진 기간동안 스트림을 녹음해서 (rtmpdump 사용) mp3로 변환(ffmpeg사용) 한다.&lt;/p&gt;
&lt;p&gt;3) 저장된 파일을 재생하면 됨. 실시간이 아니라는 단점이 있지만.... 그런대로 만족스럽다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[2번]&lt;/p&gt;
&lt;p&gt;사실 NAS를 굳이 계속 켜두고 싶지 않아서 aws에서 crontab으로 일정 시간에 명령을 던지려고 했는데........&lt;/p&gt;
&lt;p&gt;안된다. 완전히 똑같은 코드로 집 네트워크에서 명령을 보내면 잘 동작하는데 외부에서 보내면 아무리 해도 안된다.&lt;/p&gt;
&lt;p&gt;잘못 구현했는 줄 알고 포트포워딩도 다시 확인해보고 했었는데 결과는 허탕!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;그제서야 인터넷을 뒤지다가 BOSE Developer Forum에서 아래의 링크를 찾았다.&lt;/p&gt;
&lt;figure id=&quot;og_1584459255603&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Bose Developer Portal | Remote acces to API&quot; data-og-description=&quot;Hello, Despite what seems to be adequate port forwarding, all my GET requests do not return an answer when fired from outside the LAN. Is this by design? if yes, does a workaround exist? Why blocking so many interesting use cases? Thanks&quot; data-og-host=&quot;developer.bose.com&quot; data-og-source-url=&quot;https://developer.bose.com/content/remote-acces-api&quot; data-og-url=&quot;https://developer.bose.com/content/remote-acces-api&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://developer.bose.com/content/remote-acces-api&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://developer.bose.com/content/remote-acces-api&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot;&gt;Bose Developer Portal | Remote acces to API&lt;/p&gt;
&lt;p class=&quot;og-desc&quot;&gt;Hello, Despite what seems to be adequate port forwarding, all my GET requests do not return an answer when fired from outside the LAN. Is this by design? if yes, does a workaround exist? Why blocking so many interesting use cases? Thanks&lt;/p&gt;
&lt;p class=&quot;og-host&quot;&gt;developer.bose.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;&lt;span style=&quot;color: #333333;&quot;&gt;한줄요약 : 보안 문제로 일부러 API Remote Access를 차단함. 외부 접속 API를 구현할지는 생각중임&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;뭐 꼭 해야되는것도 아니고 귀찮아서 여기서 일단은 포기하지만....(일단 NAS 스케쥴러를 사용하는 것으로 타협..)&lt;/p&gt;
&lt;p&gt;해결할 방법을 찾아내고 말겠다.&lt;/p&gt;</description>
      <category>컴퓨터 - 기타</category>
      <category>airplay</category>
      <category>API</category>
      <category>AWS</category>
      <category>bose</category>
      <category>crontab</category>
      <category>NAS</category>
      <category>Soundtouch</category>
      <category>스피커</category>
      <category>알람</category>
      <category>프로그래밍</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/99</guid>
      <comments>https://psytech.tistory.com/99#entry99comment</comments>
      <pubDate>Wed, 18 Mar 2020 00:02:43 +0900</pubDate>
    </item>
    <item>
      <title>지진 알림 텔레그램으로 받아보기 (글 갱신)</title>
      <link>https://psytech.tistory.com/58</link>
      <description>&lt;p&gt;'지진희 알림' 같은 참신한 지진알림 서비스가 이미 개발되긴 했지만 기상청의 지도 이미지를 함께 볼 수 없다는 것이 조금 아쉬웠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;대강 살펴보니 그렇게 구현이 어렵지는 않을 것 같아서 간단하게 텔레그램 알림을 만들어 보았다.&lt;/p&gt;&lt;p&gt;1분단위로 기상청 사이트를 모니터링하다가 새 지진 정보가 올라오면 바로 알림을 보내도록 구현되어 있고, 함께 올라오는 지도 이미지도 함께 보내준다.&lt;/p&gt;&lt;p&gt;자세한 것은 아래 이미지 참고.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;단 기상청 사이트를&amp;nbsp;모니터링하는 방법이기때문에 당연하지만 기상청이 늦으면 알림도 늦게 감 ㅋ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;혹시라도 사용하실 분은 아래 링크를 통해 등록하거나 텔레그램 앱에서 채널 아이디 earthquake_kor 를 검색해서 채널에 들어오면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;+추가&lt;/span&gt;&lt;/p&gt;&lt;p&gt;지진희 알림이 클리앙의 글 뿐만 아니라 트위터의 자료도 이용하도록 개선되었다. 트위터에 지진이라는 단어가 들어간 트윗이 갑자기 많이 올라오면 일단 경보를 제공하고, 그다음 기상청에 자료가 올라오면 그 자료도 이어서 보내주는 방식.&lt;/p&gt;&lt;p&gt;물론 지진이 난 위치를 정확하게 특정할 수는 없는 알고리즘이지만 지진 발생 즉시 알림을 알려주는 기능은&amp;nbsp;기상청이 전혀 못따라가는 듯 싶다.&lt;/p&gt;&lt;p&gt;지진희 알림의 위대함에 새삼 놀랐음.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;+추가&lt;/span&gt;&lt;/p&gt;&lt;p&gt;기존 로직에서 기상청의 지도 이미지를 받아오지 못하는 문제가 있었다. 지금은 개선되었음. 지진 알림과 지도 이미지 모두 정상적으로 전송된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;+추가 (2017/11/18)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;기상청이 7월부터 OpenAPI로 제공하기 시작한 지진 정보를 이용하도록 하여 기상청 페이지에서 테이블 내용이 바뀔 때 내용이 정상적으로 보내지지 않던 문제 해결.&lt;/p&gt;&lt;p&gt;지도는 구글 지도 API를 이용하여 국내지진일 경우 기상청 제공 이미지 대신 구글 지도에 위치를 표시하도록 개선.&lt;/p&gt;&lt;p&gt;진도-&amp;gt;규모 용어 수정&lt;/p&gt;&lt;p&gt;규모 4.0 이상의 지진이 국내에서 발생한 경우 지진 대피 요령을 함께 보내주도록 개선&lt;/p&gt;&lt;p&gt;기존 1분에 한번씩 모니터링 하던 것에서 5초에 한번씩 모니터링 하도록 개선. (향후 1초에 한번으로 변경할 예정)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h5&gt;텔레그램 알림 등록하기&lt;/h5&gt;&lt;div&gt;https://telegram.me/링크삭제&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;+추가 (2018/10/27) 더이상 동작하지 않고 관리하지 않고 있으므로 삭제&lt;/span&gt;&lt;/div&gt;&lt;h5&gt;스크린샷&lt;/h5&gt;
&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 320px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2624713C57E68C7B24&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2624713C57E68C7B24&quot; width=&quot;320&quot; height=&quot;568&quot; filename=&quot;IMG_0185.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>개발/개발내용</category>
      <category>경주지진</category>
      <category>기상청</category>
      <category>알리미</category>
      <category>지진</category>
      <category>지진알리미</category>
      <category>채널</category>
      <category>텔레그램</category>
      <category>포항지진</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/58</guid>
      <comments>https://psytech.tistory.com/58#entry58comment</comments>
      <pubDate>Sat, 18 Nov 2017 15:13:52 +0900</pubDate>
    </item>
    <item>
      <title>냐아나 호스팅 서버 랜섬웨어 감염</title>
      <link>https://psytech.tistory.com/96</link>
      <description>&lt;p&gt;작년에 다니고 있는 교회의 재정 프로그램을 웹 기반으로 개발했다.&lt;/p&gt;&lt;p&gt;만들고 난 뒤 프로그램을 돌릴 서버가 가장 문제였는데, 개인서버에 올리자니 아무래도 불안해서 교회 홈페이지가 올라가 있는 나야나 호스팅에 공간을 마련해서 올리기로 했다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;1년이 지나고 걱정했던 내 개인서버는 정작 아무 문제없이 자알 돌아가고 있는데 생뚱맞게 나야나 호스팅 서버가 랜섬웨어에 감염됐다.&lt;/p&gt;&lt;p&gt;데이터베이스고 이미지고 웹페이지고 할 것 없이 다 날아가고 돈내라는 페이지 링크만 떡하니 메인에 뜨고 있다.&lt;/p&gt;&lt;p&gt;재정 프로그램은 다행히 내 SVN서버에 백업되어 있고 DB도 일주일에 한번씩 내 PC로 백업해둬서&amp;nbsp;복구가 가능했는데 교회 홈페이지가 완벽하게 날아갔다.&lt;/p&gt;&lt;p&gt;호스팅 하는 회사에서 도대체 뭐하는 짓인지 모르겠다.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;지금 나야나 고객센터는 혼돈의 카오스. 하지만 별다른 대책 발표 없음.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;아 홈페이지는 어떡하지..... ㅠㅠ&lt;/p&gt;&lt;p&gt;큰일이다 큰일&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;FLOAT: none; TEXT-ALIGN: center; CLEAR: none&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px; HEIGHT: 671px; WIDTH: 500px; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2477DA3C593CB7CA21&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2477DA3C593CB7CA21&quot; width=&quot;500&quot; height=&quot;671&quot; filename=&quot;Cap 2017-06-11 12-11-52-546.png&quot; filemime=&quot;image/png&quot; style=&quot;HEIGHT: 671px; WIDTH: 500px&quot; original=&quot;yes&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;+ 홈페이지에 올라온 2차, 3차 공지. 결국 백업서버까지 모두 감염되어 별도의 백업이 없을 경우 복구는 불가능한 상황.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;내 데이터를 날린건 짜증나지만 오랫동안 함께 했으니 안타까운 마음도 크다.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;좋은 방향으로 잘 해결되기를..&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;상세공지가 늦어진 점 대단히 죄송합니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;(주)인터넷나야나에서는 보안 부분과 이중 백업을 철저히 시행하였으나 해커의 공격으로 인해서 해당 서버들의 데이터가 랜섬웨어에 감염되었습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;저희는 2017년 6월 10일 01시 30분 경 랜섬웨어 공격을 최초 확인하였고&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;랜섬웨어 공격 발견 즉시 저희는 인터넷진흥원 및 사이버수사대에 신고 조치하였으며 현재 조사 및 수사 중에 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;감염상황은 Erebus 랜섬웨어에 해킹 되었으며 대상은 리눅스 서버이고, 감염대수 153대 입니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;복구를 위한 해커의 최초 요구사항은 각 리눅스 서버 당 10비트코인(한화 32,710,000원) 입니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;2017년 6월 11일 현재 해커의 최종 요구사항은 2017년 6월 14일 23시 59분까지 각 리눅스 서버 당 5.4비트코인(한화 17,550,000원) 입니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;저희는 랜섬웨어에 감염된 파일로 확인 후 백업된 자료로 복구하려고 하였으나&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;원본 파일을 포함한 내부 백업 및 외부 백업 모두 랜섬웨어에 감염되어 모두 암호화 되었다는 사실을 확인하였습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;현재 시점에서 내부회의를 통해서 정리해 본 정상화를 위한 방법은 다음과 같습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;보유하고 있는 원본 데이터 제공 시 복원 지원&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;저희는 (주)인터넷나야나에서 관리하는 웹 호스팅, 서버 호스팅, 도메인, 위탁관리 및 인계가 가능한 업체를 논의하는 등 고객님들의 이익을 보호하기 위해서 저희가 할 수 있는 최선을 다하고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;랜섬웨어 자료 복구 가능 여부는 현재 인터넷진흥원의 조사와 사이버수사대의 수사가 진행 중이어서 당장 복구가 어려운 상황이지만&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;저희는 빠른 시간내에 복구를 할 수 있는 방안들도 찾아 보고 있습니다. 다시 한번 이런 상황이 생기게 되어서 죄송한 마음입니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;정상적인 서비스를 이용하시는 고객님의 경우 인터넷진흥원 및 사이버수사대와 공조하여&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;고객님의 지적재산권과 이익을 보호하기 위해 최선을 다하고 있으므로 동요없이 믿고 기다려주시기 바랍니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;현재 진행되는 상황에 대해서 수시로 공지를 올리도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;현재상황에 대한 상세공지 안내드립니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;현재 (주)인터넷나야나 전 직원은 방문하여 상담을 요청하신 고객님들의 응대를 진행하고 있으며&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;고객님들께서 보내주시는 백업 파일을 이용하여&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;랜섬웨어가 걸리지 않은 신규 서버에 복원 세팅을 진행하고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;또한 랜섬웨어를 통해 변조된 인덱스 페이지를 파킹 페이지로 변경하고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;랜섬웨어 복구 비용 마련을 위해 대출 및 자금확보에 힘쓰고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;랜섬웨어에 감염되지 않은 웹 호스팅, 서버 호스팅의 위탁관리 및 인계가 가능한 업체를 (사)한국호스팅도메인협회를 통해 논의하고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;고객님들의 이익을 보호하기 위해서 저희가 할 수 있는 최선을 다하고 있습니다.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;​&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;그리고 해커쪽과 지속적으로 협상 진행 중이며 회신 내용 전문을 공지합니다.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;My boss tell me, your buy many machine, give you good price&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;550 BTC&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;If you do not havce enough money, you need make a loan&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;You company have 40+ employees,&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;every employees's annual salary $30,000&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;all employees 30,000*40 = $1,200,000&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;all server 550BTC = $1,620,000&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;If you can't pay that, you should go bankrupt.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;But you need to face your childs, wife, customers and employees.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;Also your will lost your reputation, business.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;You will get many more lawsuits.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;br style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: rgb(104, 100, 90); font-family: 돋움, Dotum, 굴림, Gulim, Verdana, AppleGothic, sans-serif; font-size: 12px;&quot;&gt;현재 진행되는 상황에 대해서 수시로 공지를 올리도록 하겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>나야나</category>
      <category>랜섬웨어</category>
      <category>망했다</category>
      <category>복호화</category>
      <category>암호화</category>
      <category>웹서비스</category>
      <category>웹호스팅</category>
      <category>홈페이지</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/96</guid>
      <comments>https://psytech.tistory.com/96#entry96comment</comments>
      <pubDate>Sun, 11 Jun 2017 12:27:22 +0900</pubDate>
    </item>
    <item>
      <title>2017년 3월 애드센스 수익 공개</title>
      <link>https://psytech.tistory.com/95</link>
      <description>&lt;p&gt;애드센스를 달아놓고, 존재를 완벽하게 잊고 있었다.&lt;/p&gt;&lt;p&gt;블로그를 열심히 하는 것도 아니고, 사실 나도 잘 안들어오는데 관심이 있을리가... ㅋㅋㅋㅋㅋ&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;그러다 문득 생각이 나서 수익을 조회해 보았다.&lt;/p&gt;&lt;p&gt;2017년 3월 애드센스 수익 대공개!!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 625px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2323064058E485B70B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2323064058E485B70B&quot; width=&quot;625&quot; height=&quot;217&quot; filename=&quot;IMG_0225.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ&lt;/p&gt;&lt;p&gt;와아아 한달동안 690원이나 벌었어!!!!!!&lt;/p&gt;&lt;p&gt;은행 이자보다 낫네 후후후후&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여기서 깨알같은 사실은 2달전에 비해 500%이상 성장한 수치라는 사실.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;뿌듯하다. 이렇게 24154년만 열심히 하면 2억짜리 전세는 하나 얻을 수 있을 것 같다. 열심히 해야지.&lt;/p&gt;</description>
      <category>기타</category>
      <category>광고</category>
      <category>구글 애드센스</category>
      <category>블로그</category>
      <category>수익공개</category>
      <category>애드센스</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/95</guid>
      <comments>https://psytech.tistory.com/95#entry95comment</comments>
      <pubDate>Wed, 5 Apr 2017 14:53:08 +0900</pubDate>
    </item>
    <item>
      <title>맥 사용자들이 의외로 잘 모르는 활용 팁</title>
      <link>https://psytech.tistory.com/94</link>
      <description>&lt;p&gt;혹은 나만 몰랐던&amp;nbsp;활용 팁. 최소한 내 주변에는 아는 사람이 없없음.&lt;/p&gt;&lt;p&gt;맥을 본격적으로 사용한게 벌써 3년전인데 왜 아직도 이걸 몰랐었는지 모르겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;맥을 사용하면서 가장 자주 사용하게 되는 기능은 데스크탑 전환 기능인데, 화면을 넓게 쓸 수 있어 좋지만 불편한 점이 간혹 있다.&lt;/p&gt;&lt;p&gt;메모 하나를 띄워놓고 참고하면서 작업해야 할 때나, 유튜브 영상을 띄워놓고 뭔가 다른 작업을 하고 싶을 때가 있는데, 다른 데스크탑으로 넘어가면 창이 사라지기 때문이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;간단한 방법으로 원하는 앱을 모든 데스크탑에서 보이게 할 수 있다. 이렇게 편할수가....&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래의 이미지를 참고해 독에서 원하는 앱의 옵션을 변경하면 된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 800px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/242FBF4D58DCD0EB2E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F242FBF4D58DCD0EB2E&quot; width=&quot;800&quot; height=&quot;356&quot; filename=&quot;스크린샷 2017-03-30 오후 6.31.39.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>컴퓨터 - 기타</category>
      <category>El Capitan</category>
      <category>Macintosh</category>
      <category>데스크탑</category>
      <category>매킨토시</category>
      <category>맥</category>
      <category>맥북프로</category>
      <category>앨캐피탄</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/94</guid>
      <comments>https://psytech.tistory.com/94#entry94comment</comments>
      <pubDate>Thu, 30 Mar 2017 18:28:18 +0900</pubDate>
    </item>
    <item>
      <title>2013년 8월, 프랑스 샤를드골 공항</title>
      <link>https://psytech.tistory.com/87</link>
      <description>&lt;p&gt;첫번째 해외여행은 아니었지만&lt;/p&gt;&lt;p&gt;돈부터 일정, 숙소까지 오롯이 혼자 내 힘으로 떠났던 배낭여행.&lt;/p&gt;&lt;p&gt;뭔가 특별한 경험을 하고 싶다는 생각에 겁도 없이 카우치서핑도 해봤고, 말도 안되게 무리한 일정으로 돌아다녀보기도 했고, 도둑질도 당해봤고..&lt;/p&gt;&lt;p&gt;좋은 쪽으로도 나쁜 쪽으로도 개인적으로 터닝포인트가 되었던 여행이어서 기억이 많이 난다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;무엇보다도 이 여행을 통해서 내가 정말 좁은 시야를 가지고 있었다는 사실을 처음 알게 되었었다.&lt;/p&gt;&lt;p&gt;혼자 돈벌고 혼자 준비하고 혼자 여행왔다고 내심 자부심 가지고 떠난 여행이었는데, 나보다 한참 어린 애들도 다들 이미 그렇게 살고 있었다.&lt;/p&gt;&lt;p&gt;한달동안 많이 배웠다 이것저것.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;여튼 무려 16시간의 경유 끝에 도착한 샤를드골 공항에서의 첫 사진.&lt;/p&gt;&lt;p&gt;이 장면이 종종 생각이 난다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 1000px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/2136453A58B9436E2E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F2136453A58B9436E2E&quot; width=&quot;1000&quot; height=&quot;667&quot; filename=&quot;DSC01113 [KST-07, 파리].jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>여행</category>
      <category>공항</category>
      <category>배낭여행</category>
      <category>샤를드골</category>
      <category>유럽여행</category>
      <category>프랑스</category>
      <author>Asteroids</author>
      <guid isPermaLink="true">https://psytech.tistory.com/87</guid>
      <comments>https://psytech.tistory.com/87#entry87comment</comments>
      <pubDate>Fri, 3 Mar 2017 19:21:04 +0900</pubDate>
    </item>
  </channel>
</rss>