<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>guileschool 블로그</title>
    <description>To Make Your Life Easier
가일스쿨은 당신의 삶을 쉽게 만들어 줍니다
</description>
    <link>http://guileschool.com/</link>
    <atom:link href="http://guileschool.com/rss" rel="self" type="application/rss+xml"/>
    <pubDate>Wed, 10 Jan 2024 11:04:47 +0900</pubDate>
    <lastBuildDate>Wed, 10 Jan 2024 11:04:47 +0900</lastBuildDate>
    <generator>Jekyll v3.9.3</generator>
    
      <item>
        <title>freertos 하드웨어 인터럽트 우선순위 정리</title>
        <description>&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;&lt;strong&gt;우선순위&lt;/strong&gt;&lt;/th&gt;
      &lt;th&gt;&lt;strong&gt;인터럽트 유형&lt;/strong&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;&lt;strong&gt;설명&lt;/strong&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;&lt;strong&gt;비고&lt;/strong&gt;&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Higher&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;System Excepton Interrupts&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;hardfault(-1), NMI(-2), Reset(-3)&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;NON-RTOS HW Interrupts&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;────────────────&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;configMAX_SYSCALL_INTERRUPT_PRIORITY(5)&lt;/strong&gt;&lt;br /&gt;configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 와 동일&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;RTOS awareness HW Interrupts&lt;/strong&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;이 구간(PRIO 6~15)에서 발생하는 이 인터럽트들은 권리와 의무를 함께 가짐&lt;br /&gt;&lt;strong&gt;권리:&lt;/strong&gt;&lt;br /&gt;1. taskENTER_CRITICAL(), taskEXIT_CRITICAL() 에 대해 인터럽트 활성화 비활성화 가능&lt;br /&gt;2. 각 하드웨어 인터럽트 핸들러 함수의 마지막에서 portYIELD_FROM_ISR()을 호출함으로해서 하드리얼타임의 중요한 요건인 HW_ISR 내에서 선점이 일어날 수 있게 해줌&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;의무:&lt;/strong&gt;&lt;br /&gt;인터럽트 핸들러에서 커널 함수를 호출하고 싶을 경우에는 반드시 xTaskResumeFromISR 와 같은 XXXXXX_FromISR() 형태의 커널 API 만 사용해야 한다&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;15&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;────────────────&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;configKERNEL_INTERRUPT_PRIORITY(15)&lt;/strong&gt;&lt;br /&gt;configLIBRARY_LOWEST_INTERRUPT_PRIORITY 와 동일&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Lower&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Wed, 10 Jan 2024 10:32:00 +0900</pubDate>
        <link>http://guileschool.com/2024/01/10/RTOS-awareness-HW-Interrupts/</link>
        <guid isPermaLink="true">http://guileschool.com/2024/01/10/RTOS-awareness-HW-Interrupts/</guid>
        
        <category>임베디드</category>
        
        <category>RTOS</category>
        
        <category>FREERTOS</category>
        
        
      </item>
    
      <item>
        <title>쉘스크립트에서 IFS=$'\n' 의 의미</title>
        <description>&lt;p&gt;원문 http://guileschool.com/2022/09/01/2022-09-01-Reasons-for-using-IFS-$quotes-in-shell-scripts/&lt;/p&gt;

&lt;p&gt;질문사항
쉘스크립트에서 IFS=$’\n’ 는 어떤 목적을 가지고 있나요?&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# 실제 변수에 저장되는 문자열이 다르다&lt;/span&gt;
bash-5.1&lt;span class=&quot;nv&quot;&gt;$ F&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
bash-5.1&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$F&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | hexdump &lt;span class=&quot;nt&quot;&gt;-C&lt;/span&gt;
00000000  5c 6e                                             |&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;|
00000002
bash-5.1&lt;span class=&quot;nv&quot;&gt;$ F&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'\n'&lt;/span&gt;
bash-5.1&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$F&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | hexdump &lt;span class=&quot;nt&quot;&gt;-C&lt;/span&gt;
00000000  5c 6e                                             |&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;|
00000002
bash-5.1&lt;span class=&quot;nv&quot;&gt;$ F&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;$'&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'&lt;/span&gt;
bash-5.1&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$F&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | hexdump &lt;span class=&quot;nt&quot;&gt;-C&lt;/span&gt;
00000000  0a                                                |.|
00000001
bash-5.1&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Thu, 01 Sep 2022 12:43:00 +0900</pubDate>
        <link>http://guileschool.com/2022/09/01/Reasons-for-using-IFS-$quotes-in-shell-scripts/</link>
        <guid isPermaLink="true">http://guileschool.com/2022/09/01/Reasons-for-using-IFS-$quotes-in-shell-scripts/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        
      </item>
    
      <item>
        <title>xargs 을 이용하여 두가지 이상의 작업을 동시에 처리하기</title>
        <description>&lt;p&gt;원문 http://guileschool.com/2019/12/17/Using-xargs-to-process-two-or-more-jobs-at-the-same-time/&lt;/p&gt;

&lt;p&gt;질문사항
ls * | wc 명령을 실행할 경우 &lt;ls 리스트=&quot;&quot;&gt; 도 화면에 보여주고, &lt;wc&gt; 처리결과도 화면에 보여주고싶어요&lt;/wc&gt;&lt;/ls&gt;&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# &amp;lt;SOL&amp;gt; 로그 화면 캡쳐&lt;/span&gt;
user@linux:~/Desktop/text&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;find &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-iname&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'*.txt'&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-print0&lt;/span&gt; | xargs &lt;span class=&quot;nt&quot;&gt;-0&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n1&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-I&lt;/span&gt; @ bash &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'NAME=&quot;@&quot;; ls $NAME; wc $NAME'&lt;/span&gt;
./thegeekstuff.txt
  8  45 297 ./thegeekstuff.txt
./path.txt
  2   3 162 ./path.txt
./number.txt
 3  3 28 ./number.txt
user@linux:~/Desktop/text&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;
user@linux:~/Desktop/text&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;ls&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; | xargs &lt;span class=&quot;nt&quot;&gt;-0&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n1&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-I&lt;/span&gt; @ bash &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'NAME=&quot;@&quot;; ls $NAME; wc $NAME'&lt;/span&gt;
demo_file  fruits  number.txt  path.txt  thegeekstuff.txt
  7  48 234 demo_file
  3   3  24 fruits
  3   3  28 number.txt
  2   3 162 path.txt
  8  45 297 thegeekstuff.txt
 23 102 745 total
user@linux:~/Desktop/text&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Tue, 17 Dec 2019 20:42:00 +0900</pubDate>
        <link>http://guileschool.com/2019/12/17/Using-xargs-to-process-two-or-more-jobs-at-the-same-time/</link>
        <guid isPermaLink="true">http://guileschool.com/2019/12/17/Using-xargs-to-process-two-or-more-jobs-at-the-same-time/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        
      </item>
    
      <item>
        <title>MacOS TCC 권한 재설정에 관한 이야기</title>
        <description>&lt;p&gt;아래는 원글의 일부만 발췌
자세한 내용은 &lt;strong&gt;MarsEdit 4&lt;/strong&gt; 라는 앱을 개발하기도 한 전직 애플개발자 &lt;strong&gt;Daniel Jalkut&lt;/strong&gt;의 글을 참조
https://bitsplitting.org/2018/07/11/reauthorizing-automation-in-mojave/&lt;/p&gt;

&lt;p&gt;제목: 모하비의 자동화 재 인증
2018 년 7 월 11 일
macOS Mojave 베타에는 자동화 된 작업을 수행 할 수있는 응용 프로그램에 대한 사용자 제어가 크게 향상되었습니다. Mac에서 자동화에 관해 이야기 할 때 AppleScript 또는 Automator에 대해 일반적으로 생각하지만 더 넓은 관점의 자동화는 한 응용 프로그램에서 다른 응용 프로그램으로의 모든 통신으로 볼 수 있습니다.&lt;/p&gt;

&lt;p&gt;이러한 자동화의 유비쿼터스 한 예가 “Finder에서 공개”유형 기능의 보급입니다. 예를 들어 iTunes에서 노래 파일을 마우스 오른쪽 단추로 클릭하면 상황에 맞는 메뉴의 옵션을 사용하여 Finder에서 파일을 표시 할 수 있습니다. 이것은 iTunes에서 Finder로 “Apple Event”를 전송함으로써 수행되는 매우 기본적인 자동화입니다.&lt;/p&gt;

&lt;p&gt;macOS Mojave 베타 버전에서는 응용 프로그램에서 이러한 명령을 호출하면 사용자 권한을 요청하는 패널로 이어질 가능성이 높습니다. 사용되는 용어는 다음과 같습니다.&lt;/p&gt;

&lt;p&gt;“WhateverApp”가 응용 프로그램 “Finder”를 제어하려고합니다.&lt;/p&gt;

&lt;p&gt;… 중략&lt;/p&gt;

&lt;p&gt;TCC 권한 재설정
나는 과거의 경험을 통해 자신의 애플 리케이션에서 연락처 권한을 테스트했다는 것을 알았습니다. 애플은 권한 재설정을위한 메커니즘을 지원합니다. 안타깝게도 이전과 비교해 보았던 애플리케이션의 권한 설정을 변경하려면 특정 서비스를 사용하는 모든 앱의 모든 권한을 완전히 제거해야합니다.&lt;/p&gt;

&lt;p&gt;애플이벤트의 경우 :&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;tccutil reset AppleEvents
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;파인더의 경우 :&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;tccutil reset Finder
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Wed, 13 Feb 2019 18:38:00 +0900</pubDate>
        <link>http://guileschool.com/2019/02/13/About-Resetting-the-MacOS-TCC-Privilege/</link>
        <guid isPermaLink="true">http://guileschool.com/2019/02/13/About-Resetting-the-MacOS-TCC-Privilege/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        
      </item>
    
      <item>
        <title>맥에 위험한 앱(APP)을 강제로 설치하기 위한 조치</title>
        <description>&lt;p&gt;맥에 설치하려는 앱의 제목이 “LockedApp” 라고 가정&lt;/p&gt;

&lt;p&gt;1순위(권장)&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#For a certain application run in Terminal:&lt;/span&gt;
admin☠  &lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;xattr &lt;span class=&quot;nt&quot;&gt;-rd&lt;/span&gt; com.apple.quarantine /Applications/LockedApp.app
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2순위(위의 방법이 안될때)&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#To disable checks globally run in Terminal:&lt;/span&gt;
admin☠  &lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;spctl &lt;span class=&quot;nt&quot;&gt;--master-disable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Wed, 13 Feb 2019 18:29:00 +0900</pubDate>
        <link>http://guileschool.com/2019/02/13/Action-to-push-install-dangerous-apps-APPs-to-the-Mac/</link>
        <guid isPermaLink="true">http://guileschool.com/2019/02/13/Action-to-push-install-dangerous-apps-APPs-to-the-Mac/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        
      </item>
    
      <item>
        <title>사인파(sinewave) 음향 효과 만들기</title>
        <description>&lt;p&gt;원하는 시간 길이(1.0sec), 음량(13/18/20dB)의 사운드를 생성&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  admin☠ ffmpeg &lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; lavfi &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;sine=frequency=10:duration=1.0&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; 1.0 ~/Desktop/wav/sine10Hz.wav
  admin☠ ffmpeg &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; sine10Hz.wav &lt;span class=&quot;nt&quot;&gt;-af&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;volume=20dB&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; 1.0 sine10Hz-20db.mp3
  admin☠ ffmpeg &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; sine10Hz.wav &lt;span class=&quot;nt&quot;&gt;-af&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;volume=18dB&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; 1.0 sine10Hz-18db.mp3
  admin☠ ffmpeg &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; sine10Hz.wav &lt;span class=&quot;nt&quot;&gt;-af&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;volume=13dB&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; 1.0 sine10Hz-13db.mp3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Wed, 13 Feb 2019 18:11:00 +0900</pubDate>
        <link>http://guileschool.com/2019/02/13/Create-sinewave-sound-effects/</link>
        <guid isPermaLink="true">http://guileschool.com/2019/02/13/Create-sinewave-sound-effects/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        
      </item>
    
      <item>
        <title>리눅스에서도 맥의 pbcopy 와 pbpaste 을 사용해 보자</title>
        <description>&lt;p&gt;Pbcopy 및 Pbpaste 명령은 Linux에서 사용할 수 없습니다. 그러나 Xclip을 사용하면 그 것을 할 수 있습니다&lt;/p&gt;

&lt;p&gt;xclip 패키지 설치&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt-get &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;xclip
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;~/.bashrc 파일을 편집&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;alias &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;pbcopy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'xclip -selection clipboard'&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;alias &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;pbpaste&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'xclip -selection clipboard -o'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;테스트&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;admin☠  &lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;Hello world | pbcopy
admin☠  pbpaste
Hello world
admin☠
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Sat, 01 Dec 2018 17:51:00 +0900</pubDate>
        <link>http://guileschool.com/2018/12/01/Use-the-pbcopy-and-pbpaste-of-Mac-on-Linux/</link>
        <guid isPermaLink="true">http://guileschool.com/2018/12/01/Use-the-pbcopy-and-pbpaste-of-Mac-on-Linux/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        
      </item>
    
      <item>
        <title>비주얼 스튜디오 플러그인 구글번역기</title>
        <description>&lt;p&gt;원문 http://guileschool.com/2018/02/20/Visual-Studio-Plug-in-Google-Translator/&lt;/p&gt;

&lt;p&gt;구글번역기가 &lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=benshabatnoam.google-translate-ext#overview&quot;&gt;MS-Visual Studio 용 플러그인&lt;/a&gt; 도 있네요
&lt;!--more--&gt;&lt;/p&gt;

&lt;figure&gt;
&lt;img class=&quot;width-100-height-auto&quot; src=&quot;https://d.pr/i/QspoLv+&quot; /&gt;&lt;figcaption&gt;&lt;font style=&quot;vertical-align: inherit;&quot;&gt;&lt;font style=&quot;vertical-align: inherit;&quot;&gt;&lt;/font&gt;&lt;/font&gt;&lt;/figcaption&gt;&lt;/figure&gt;
</description>
        <pubDate>Tue, 20 Feb 2018 05:42:00 +0900</pubDate>
        <link>http://guileschool.com/2018/02/20/Visual-Studio-Plug-in-Google-Translator/</link>
        <guid isPermaLink="true">http://guileschool.com/2018/02/20/Visual-Studio-Plug-in-Google-Translator/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        <category>GoogleTranslate</category>
        
        
      </item>
    
      <item>
        <title>구글 설문지를 모바일에서도 잘 보이도록 Responsible 하게 만드는 법</title>
        <description>&lt;p&gt;원문 http://guileschool.com/2018/02/19/How-to-make-Google-Forms-visible-to-mobile-users/&lt;/p&gt;

&lt;p&gt;인용 https://www.quora.com/Ive-designed-a-survey-using-Google-Forms-but-it%E2%80%99s-way-too-wide-for-mobile-use-How-do-I-make-a-Google-form-responsive-on-a-mobile&lt;/p&gt;

&lt;p&gt;모바일에서는 가로(Transverse) 보기 하시면 잘 보입니다 😄
&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSf0gYDNW-i6VPCe0XdcYL8GaJ0pmWk2z8dnUfPOgXmzDk448A/viewform&quot;&gt;새 페이지로 열기&lt;/a&gt;&lt;/p&gt;

&lt;style&gt;
@media (max-width: 767px) {
    iframe {
        max-width: calc(100vw + 40px) !important;   
        margin: -11px -25px;}
    .iframe-wrapper { 
        width:100vw; 
        overflow: hidden; 
        margin: 0 -15px;}  
/* you might not the margin property on the wrapper (or you might need to change it to suit your needs); in my case it's used to align the wrapper with the edge of the screen as my site has 15px padding, which isn't needed here because the form already has it's own padding   */
}
&lt;/style&gt;

&lt;div class=&quot;iframe-wrapper&quot;&gt;
    &lt;iframe src=&quot;https://docs.google.com/forms/d/e/1FAIpQLSf0gYDNW-i6VPCe0XdcYL8GaJ0pmWk2z8dnUfPOgXmzDk448A/viewform?embedded=true&quot; width=&quot;760&quot; height=&quot;1800&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot;&gt;Loading...  &lt;/iframe&gt;
&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;관련 HTML 소스&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;@media&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;max-width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;767px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;iframe&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nl&quot;&gt;max-width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;calc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;100vw&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;40px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;cp&quot;&gt;!important&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   
        &lt;span class=&quot;nl&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;-11px&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;-25px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;}&lt;/span&gt;
    &lt;span class=&quot;nc&quot;&gt;.iframe-wrapper&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
        &lt;span class=&quot;nl&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;100vw&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
        &lt;span class=&quot;nl&quot;&gt;overflow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;hidden&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
        &lt;span class=&quot;nl&quot;&gt;margin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;-15px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;}&lt;/span&gt;  
&lt;span class=&quot;c&quot;&gt;/* you might not the margin property on the wrapper (or you might need to change it to suit your needs); in my case it's used to align the wrapper with the edge of the screen as my site has 15px padding, which isn't needed here because the form already has it's own padding   */&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;

&lt;span class=&quot;nt&quot;&gt;&amp;lt;div&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;class=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;iframe-wrapper&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;iframe&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;https://docs.google.com/forms/d/e/1FAIpQLSf0gYDNW-i6VPCe0XdcYL8GaJ0pmWk2z8dnUfPOgXmzDk448A/viewform?embedded=true&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;width=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;760&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;height=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;1800&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;frameborder=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;0&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;marginheight=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;0&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;marginwidth=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;0&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Loading...  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/iframe&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Mon, 19 Feb 2018 14:24:00 +0900</pubDate>
        <link>http://guileschool.com/2018/02/19/How-to-make-Google-Forms-visible-to-mobile-users/</link>
        <guid isPermaLink="true">http://guileschool.com/2018/02/19/How-to-make-Google-Forms-visible-to-mobile-users/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        <category>구글설문지</category>
        
        <category>GoogleForms</category>
        
        
      </item>
    
      <item>
        <title>애플스크립트와 스위프트의 비교</title>
        <description>&lt;p&gt;원문 http://guileschool.com/2018/02/18/Comparing-Apple-Script-with-Swift/&lt;/p&gt;

&lt;p&gt;애플스크립트와 스위프트의 비교글로서 결론은 조화롭게 각 도구의 특성을 이해하고 그에 맞게             쓰자는 말임.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;한줄 요약&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;애플스크립트(Apple Script)&lt;/strong&gt; »&amp;gt; 맥 자동화 툴&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;스위프트(Apple Swift)&lt;/strong&gt; »&amp;gt; 맥 어플리케이션 제작 툴&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;자바스크립트(Java Script)&lt;/strong&gt; »&amp;gt; 인터넷 브라우져 자동화 툴&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;다음은 그 번역본(기계번역). 번역이 매끄럽지 않을 수 있다&lt;/p&gt;

&lt;figure&gt;
&lt;img class=&quot;width-100-height-auto&quot; src=&quot;https://d.pr/i/rKkFkj+&quot; /&gt;&lt;figcaption&gt;&lt;font style=&quot;vertical-align: inherit;&quot;&gt;&lt;font style=&quot;vertical-align: inherit;&quot;&gt;▲ 스위프트(swift)&lt;/font&gt;&lt;/font&gt;&lt;/figcaption&gt;&lt;/figure&gt;

&lt;!--more--&gt;

&lt;p&gt;출처: &amp;gt;&lt;a href=&quot;https://discussions.apple.com/thread/7094367?start=0&amp;amp;tstart=0&quot;&gt;https://discussions.apple.com/thread/7094367?start=0&amp;amp;tstart=0&lt;/a&gt;
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;스크립팅 언어는 컴파일 된 언어가 아닙니다. Swift와 Applescript는 그들이하는 일과 달성하고자하는 목표에서 구별되는 세계입니다.
 
Swift는 처음부터 응용 프로그램을 작성하기위한 것입니다.
 
Applescript는 응용 프로그램과 상호 작용하여 수행하는 작업을 자동화하고 여러 응용 프로그램의 기능을 사용하여 어떤 목표를 수행하는 접착제 역할을합니다.
 
Swift에서이 코드를 작성할 수는 있지만 훨씬 많은 코드가 될 것이며 소프트웨어 프로그래머가되어야합니다. 만약 당신이 소프트웨어 프로그래머라면, 스위프트는 애플 스크립트를 대신 할 수도 있고, 그렇지 않으면 “아니오”, 그렇지 않습니다.
 
살아있는 사람들을 위해 소프트웨어를 작성하는 사람으로 말하면서 (불행하게도 애플 제품에는 그렇지 않다.  )&lt;/p&gt;

&lt;figure&gt;
&lt;img class=&quot;width-100-height-auto&quot; src=&quot;https://d.pr/i/HVUFx8+&quot; /&gt;&lt;figcaption&gt;&lt;font style=&quot;vertical-align: inherit;&quot;&gt;&lt;font style=&quot;vertical-align: inherit;&quot;&gt;▲ 애플스크립트(Applescript)&lt;/font&gt;&lt;/font&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;!--more--&gt;

&lt;p&gt;출처: &amp;gt;&lt;a href=&quot;https://stackoverflow.com/questions/29975684/applescript-to-swift-language-application-control&quot;&gt;https://stackoverflow.com/questions/29975684/applescript-to-swift-language-application-control&lt;/a&gt;
&lt;!--more--&gt;&lt;/p&gt;

&lt;p&gt;Mac 응용 프로그램을 자동화하려면 AppleScript를 배우십시오. Mac 응용 프로그램을 작성하려면 Swift를 배우십시오. 많은 있습니다 책 에 모두 ; 그 중 하나부터 시작하는 것이 좋습니다.&lt;/p&gt;

&lt;p&gt;각 언어마다 특정한 목적이 있습니다. AppleScript의 강점은 AppleEvents를 통한 프로세스 간 스크립팅이며 Swift의 강점은 완전한 기능을 갖춘 대규모 응용 프로그램을 프로그래밍하는 것입니다. AppleScript를 사용하면 JavaScript를 사용하여 Safari에서 웹 페이지의 내용을 가져 와서 쉘 스크립트로 구문 분석 한 다음 Mail을 사용하여 전자 메일로 보낼 수 있습니다. 대부분의 언어는 AppleScript (Swift 포함)에서 할 수있는 것처럼 쉽게 할 수 없습니다. 그들은 보완 적입니다. 두 가지를 모두 배워서 놀라운 일을 할 수는 있지만 각각의 한계와 힘이 있습니다.&lt;/p&gt;

&lt;p&gt;출처: &amp;gt;&lt;a href=&quot;https://forum.keyboardmaestro.com/t/javascript-vs-applescript-now/4063&quot;&gt;https://forum.keyboardmaestro.com/t/javascript-vs-applescript-now/4063&lt;/a&gt;
&lt;!--more--&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;AppleScript는 Mac 자동화를 가장 잘 지원합니다.&lt;/li&gt;
  &lt;li&gt;JavaScript는 핵심 기능을위한 최상의 지원이며, 물론 브라우저 자동화를위한 것입니다.&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Sun, 18 Feb 2018 14:49:00 +0900</pubDate>
        <link>http://guileschool.com/2018/02/18/Comparing-Apple-Script-with-Swift/</link>
        <guid isPermaLink="true">http://guileschool.com/2018/02/18/Comparing-Apple-Script-with-Swift/</guid>
        
        <category>자동제어</category>
        
        <category>자동화</category>
        
        <category>time-saver</category>
        
        <category>리눅스</category>
        
        <category>맥북</category>
        
        <category>스마트홈</category>
        
        
      </item>
    
  </channel>
</rss>