<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>cybertramp's DB</title>
    <link>https://cybertramp.tistory.com/</link>
    <description>저의 지식을 보관하는 곳입니다.</description>
    <language>ko</language>
    <pubDate>Wed, 15 Apr 2026 17:42:06 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>cybertramp</managingEditor>
    <image>
      <title>cybertramp's DB</title>
      <url>https://t1.daumcdn.net/cfile/tistory/247D293B5955FCF319</url>
      <link>https://cybertramp.tistory.com</link>
    </image>
    <item>
      <title>github.io로의 전환 준비</title>
      <link>https://cybertramp.tistory.com/209</link>
      <description>&lt;p&gt;티스토리의 불편함과 정적페이지로 만으로도 충분히 블로그를 할수있다고 생각해서.. 근 2년만에 이동을 준비중이다.&lt;/p&gt;&lt;p&gt;내 생각에는 오히려 github.io로 전환하면 깔끔하게 만들수 있을것 같다.&lt;/p&gt;&lt;p&gt;다만 static webpage generator를 사용해서 그걸 익혀야하는데 시간이 좀 걸릴것 같다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;먼저 환경설정을 하고 적응을 한뒤에&lt;/p&gt;&lt;p&gt;현재까지의 포스트를 추려서 markdown 언어로 변환한 후 하나하나 이동할 예정이다.&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;3월 안까지는 마무리하면 괜찮은 나의 DB가 되지 않을까 싶다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Log.txt</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/209</guid>
      <comments>https://cybertramp.tistory.com/209#entry209comment</comments>
      <pubDate>Tue, 19 Feb 2019 16:40:45 +0900</pubDate>
    </item>
    <item>
      <title>GIF 캡처 툴</title>
      <link>https://cybertramp.tistory.com/208</link>
      <description>&lt;p&gt;GIF 파일로 영상을 캡처 할때 필요한 프로그램 중 하나를 소개한다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&quot;Screen To Gif&quot;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;해당 프로그램은 화면/ 웹캡/ 그림판을 영상으로 캡쳐 할때 사용하는 프로그램이다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;지원 운영체제: Windows 7 이상&lt;/span&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: 150px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/994ADC345C6270350C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F994ADC345C6270350C&quot; width=&quot;150&quot; height=&quot;150&quot; filename=&quot;ms-icon-150x150.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&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: 768px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99BBA23D5C62705C27&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99BBA23D5C62705C27&quot; width=&quot;768&quot; height=&quot;650&quot; filename=&quot;Editor.gif&quot; filemime=&quot;image/gif&quot; style=&quot;&quot;/&gt;&lt;/span&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: 860px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99D185445C62739611&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D185445C62739611&quot; width=&quot;860&quot; height=&quot;500&quot; filename=&quot;t.gif&quot; filemime=&quot;image/gif&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&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&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;/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;p&gt;- 크기 조정&lt;/p&gt;&lt;p&gt;- GIF 칠판&lt;/p&gt;&lt;p&gt;- 다양한 저장 방식 지원(GIF, Video, PSD, Apng, 이미지별 저장)&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;다운로드:&amp;nbsp;&lt;a href=&quot;https://www.screentogif.com/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://www.screentogif.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Github:&amp;nbsp;&lt;a href=&quot;https://github.com/NickeManarin/ScreenToGif/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://github.com/NickeManarin/ScreenToGif/&lt;/a&gt;&lt;/p&gt;</description>
      <category>프로그램 팁</category>
      <category>Gif</category>
      <category>GIF 영상</category>
      <category>GIF 캡쳐</category>
      <category>캡쳐</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/208</guid>
      <comments>https://cybertramp.tistory.com/208#entry208comment</comments>
      <pubDate>Tue, 12 Feb 2019 16:22:19 +0900</pubDate>
    </item>
    <item>
      <title>docker-ce 소스코드 컴파일 환경 구축</title>
      <link>https://cybertramp.tistory.com/207</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;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;정확한 자료가 온라인 상에 존재하지 않는게 슬프다...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;19년 2월 11일 현재 기준 테스트를 완료한 내용이다.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;OS환경: xubuntu&amp;nbsp;18.04 LTS 64bit(우분투 환경)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;h1&gt;docker-ce compile 환경 구축하기&lt;/h1&gt;
&lt;h2&gt;1. Golang 설치&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;레포지토리 업데이트&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;sudo apt update -y
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;golang 및 git 설치&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;sudo apt install golang git go-dep -y
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;작업 디렉토리 설정&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;export GOPATH=$HOME/go
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;설치 확인&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;go version
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;2. docker 설치&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;curl 설치&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;sudo apt install curl -y
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;스크립트 가져오고 실행&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;curl -fsSL https://get.docker.com/ | sudo sh
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 사용자 추가&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;명령 실행시 일일이 sudo 권한을 안주게 하기 위함&lt;/li&gt;
&lt;li&gt;docker 그룹에 현재 사용자 추가&lt;/li&gt;

&lt;/ul&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;sudo usermod -aG docker $USER
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;설치 확인&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker -v
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 서비스 확인&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;service docker status
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;서비스 실행&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;service docker start
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;서비스 중지&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;service docker stop
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 디버그 모드 설정&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;해당 모드를 설정하게 되면 DEBU와 관련된 메시지를 콘솔 화면에 띄움&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;vi /etc/docker/daemon.json
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-json&quot; lang=&quot;json&quot;&gt;{
	&quot;debug&quot;: true
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;저장 후 서비스 재시작&lt;/p&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;h2&gt;3. docker-ce 소스 가져오기&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;클론&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;git clone https://github.com/docker/docker-ce.git
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;h2&gt;4. docker-ce 소스 컴파일&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;docker 엔진 컴파일&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;docker 데몬이 실행 중이어야 함&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;cd ~/go/docker-ce/components/engine
sudo make
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;기존 실행된 서비스 종료&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;service docker stop
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 데몬 실행&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;cd ~/go/docker-ce/components/engine/bundles/binary-daemon
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;./dockerd
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 클라이언트 컴파일&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;docker 데몬이 실행 중이어야 함&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;cd ~/go/docker-ce/components/cli
sudo make -f docker.Makefile binary
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;확인&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;cd ~/go/docker-ce/components/cli/build
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;./docker
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 패키징&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;docker 데몬이 실행 중이어야 함&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;설치 시 기존 설치된 패키지에 덮어 씌워짐&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;cd ~/go/docker-ce/components/packaging/deb
sudo make ubuntu-bionic
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;cd debbuild/ubuntu-bionic
sudo apt install docker-ce_0.0.0-20190129010403-e36005021b-0~ubuntu-bionic_amd64.deb
또는
sudo dpkg -i install docker-ce_0.0.0-20190129010403-e36005021b-0~ubuntu-bionic_amd64.deb 
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;h2&gt;8. docker 커맨드&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;docker 모두 제거 시리즈&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;컨테이너&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker system prune
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;이미지&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker image prune -a
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;볼륨&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker volume prune
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;네트워크&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker network prune
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 실행&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker run
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;옵션&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;포트번호: -p xxxx:xxxx&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 컨테이너 &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;모두 보기&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker ps -a
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;컨테이너 삭제&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker rm [컨테이너id]
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker 이미지&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;모두 보기&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker images
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;이미지 삭제&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-shell&quot; lang=&quot;shell&quot;&gt;docker rmi [이미지명|이미지id]
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;

&lt;/ul&gt;
&lt;/li&gt;

&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>docker</category>
      <category>compile docker</category>
      <category>docker-ce compile</category>
      <category>도커 컴파일</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/207</guid>
      <comments>https://cybertramp.tistory.com/207#entry207comment</comments>
      <pubDate>Mon, 11 Feb 2019 00:50:18 +0900</pubDate>
    </item>
    <item>
      <title>다중 반환</title>
      <link>https://cybertramp.tistory.com/206</link>
      <description>&lt;p&gt;go언어는 다중 반환을 지원한다. 쉽게 말해 c언어의 경우 return [변수] 이런 식으로 하나만 가능했지만, 얘는 자료형만 지정해주면 여러개가 가능하다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아래는 단순하게 변수를 교환하는 swap 함수와 main 함수로 구성된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;10&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;package&lt;/span&gt;&amp;nbsp;main&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;import&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;fmt&quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;func&lt;/span&gt;&amp;nbsp;swap(x,&amp;nbsp;y&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;string&lt;/span&gt;)&amp;nbsp;(&lt;span style=&quot;color:#066de2&quot;&gt;string&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#066de2&quot;&gt;string&lt;/span&gt;)&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;return&lt;/span&gt;&amp;nbsp;y,&amp;nbsp;x&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;func&lt;/span&gt;&amp;nbsp;main()&amp;nbsp;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;a,&amp;nbsp;b&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#0086b3&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;swap(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;hello&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;world&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fmt.Println(a,&amp;nbsp;b)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color:#e5e5e5; text-decoration:none&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none; color:white&quot;&gt;&lt;span style=&quot;font-size:9px; word-break:normal; background-color:#e5e5e5; color:white; border-radius:10px; padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;반환을 y, x 두 변수에 대해하며, 해당 변수는 인자를 받는 swap(x,y string) 뒤에 (string, string)으로 미리 자료형을 지정해준 뒤에 return 에서 반환할 변수 명만 지정 해주면된다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;c언어 처럼 포인터로 넘기네 마네 할 필요가 없는 것이다.&lt;/p&gt;</description>
      <category>LANG/golang</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/206</guid>
      <comments>https://cybertramp.tistory.com/206#entry206comment</comments>
      <pubDate>Thu, 7 Feb 2019 17:40:09 +0900</pubDate>
    </item>
    <item>
      <title>인자 체크 부분</title>
      <link>https://cybertramp.tistory.com/205</link>
      <description>&lt;p&gt;처음 커맨드라인을 통해 인자를 받을 때 해당 인자를 입력 안하는 경우 오류에 대한 출력이 필요하다. 그런 경우 사용하는 소스코드이다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;table class=&quot;colorscripter-code-table&quot; style=&quot;margin:0; padding:0; border:none; background-color:#fafafa; border-radius:4px;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:6px; border-right:2px solid #e5e5e5&quot;&gt;&lt;div style=&quot;margin:0; padding:0; word-break:normal; text-align:right; color:#666; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;line-height:130%&quot;&gt;1&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;2&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;3&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;4&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;5&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;6&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;7&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;8&lt;/div&gt;&lt;div style=&quot;line-height:130%&quot;&gt;9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;padding:6px 0&quot;&gt;&lt;div style=&quot;margin:0; padding:0; color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; line-height:130%&quot;&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;func&lt;/span&gt;&amp;nbsp;main(){&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;if&lt;/span&gt;&amp;nbsp;len(os.Args)&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;&amp;nbsp;{&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;arg&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;os.Args[&lt;span style=&quot;color:#0099cc&quot;&gt;1&lt;/span&gt;]&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fileName&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#a71d5d&quot;&gt;=&lt;/span&gt;&amp;nbsp;Keygen(arg)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fmt.Printf(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Pri(%s.key)&amp;nbsp;and&amp;nbsp;Pub(%s.pubkey)&amp;nbsp;key&amp;nbsp;created.\n&quot;&lt;/span&gt;,fileName,fileName)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;span style=&quot;color:#a71d5d&quot;&gt;else&lt;/span&gt;{&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fmt.Printf(&lt;span style=&quot;color:#63a35c&quot;&gt;&quot;Please&amp;nbsp;input&amp;nbsp;keyfile&amp;nbsp;name&amp;nbsp;parameter.\n&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;padding:0 6px; white-space:pre; line-height:130%&quot;&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align:right; margin-top:-13px; margin-right:5px; font-size:9px; font-style:italic&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;color:#e5e5e5; text-decoration:none&quot;&gt;Colored by Color Scripter&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style=&quot;vertical-align:bottom; padding:0 2px 4px 0&quot;&gt;&lt;a href=&quot;http://colorscripter.com/info#e&quot; target=&quot;_blank&quot; style=&quot;text-decoration:none; color:white&quot;&gt;&lt;span style=&quot;font-size:9px; word-break:normal; background-color:#e5e5e5; color:white; border-radius:10px; padding:1px&quot;&gt;cs&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;colorscripter-code&quot; style=&quot;color:#010101; font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace !important; position:relative !important; overflow:auto&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;해당 소스코드는 인자의 개수를 체크하여 인자가 입력되었는지 확인한다. 이상한 값이 들어가도 실행될 것이다.&lt;/p&gt;</description>
      <category>LANG/golang</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/205</guid>
      <comments>https://cybertramp.tistory.com/205#entry205comment</comments>
      <pubDate>Thu, 7 Feb 2019 17:36:12 +0900</pubDate>
    </item>
    <item>
      <title>190207 50~60만원대 가벼움, 오피스용 노트북</title>
      <link>https://cybertramp.tistory.com/204</link>
      <description>&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: 860px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991823425C5BE2362D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991823425C5BE2362D&quot; width=&quot;860&quot; height=&quot;847&quot; filename=&quot;Image_001_20190207.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;아카데미 시즌이라 그런가 생각보다 가격이 비싼것 같기도 한 느낌이 든다.&lt;/p&gt;</description>
      <category>견적</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/204</guid>
      <comments>https://cybertramp.tistory.com/204#entry204comment</comments>
      <pubDate>Thu, 7 Feb 2019 16:47:19 +0900</pubDate>
    </item>
    <item>
      <title>190207 끄아아</title>
      <link>https://cybertramp.tistory.com/203</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;&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&gt;그리고 어플 관련 메일이 계속 오고 있는데 시간이 나는데로 빨리 업데이트를 진행하고 permission 부분도 수정 해야할듯하다. 구글에서도 해당 부분 때문에 메일이 계속 날라온다. 그냥 돈 벌 목적도 아니였고 해보고 싶어서 만들었을 뿐인데 여러군데서 관심 가져주니 참 뿌듯하다.&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;싱숭생숭한 마음 때문에 힘들지만 잘 정리하고 다시 일어서야 겠다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;+)&lt;/p&gt;&lt;p&gt;컴퓨터 만 포맷하고 자야겠다.&lt;/p&gt;</description>
      <category>Log.txt</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/203</guid>
      <comments>https://cybertramp.tistory.com/203#entry203comment</comments>
      <pubDate>Thu, 7 Feb 2019 02:14:06 +0900</pubDate>
    </item>
    <item>
      <title>Profile</title>
      <link>https://cybertramp.tistory.com/pages/profile</link>
      <description>&lt;p&gt;멜: paran_son(at)outlook.com&lt;/p&gt;
&lt;p&gt;깃: https://github.com/cybertramp&lt;/p&gt;
&lt;p&gt;transifex : Cybertramp&lt;/p&gt;
&lt;p&gt;현: 대학교 4학년&lt;/p&gt;
&lt;p&gt;취미: 자전거, 롤, 배그, 멍때리기&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I just like computer and learn computer.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;My goal is to create an operating system for me and completion of automatic secretary system.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;[Certificate]&lt;/h3&gt;
&lt;p&gt;pc_master(2), Linux_master(2), Network_manager(2), ITQ_EXCEL, RHCSA&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;[관심]&lt;/h3&gt;
&lt;p&gt;네트워크, 블록체인, 파이썬, 리눅스&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;[Mentioned]&amp;nbsp;&lt;/h3&gt;
&lt;p&gt;1. [정보통신산업진흥원]주간기술동향(2014. 3. 5) 2p - 모바일 포렌식&amp;nbsp;&lt;br /&gt;2. [한국방송통신전파진흥원]방송통신기술 이슈&amp;amp;전망 2014년 제 42 호 2p - 디지털 포렌식&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;[해온것들]&lt;/h3&gt;
&lt;p&gt;'13~14&lt;/p&gt;
&lt;p&gt;- 대학교 1,2학년&lt;/p&gt;
&lt;p&gt;- C.P.P 동아리&lt;/p&gt;
&lt;p&gt;'15~'16&lt;/p&gt;
&lt;p&gt;- 군 복무&lt;/p&gt;
&lt;p&gt;'17&lt;/p&gt;
&lt;p&gt;- 에스엠솔루션즈 입사/퇴사&lt;/p&gt;
&lt;p&gt;- 제주도 여행&lt;/p&gt;
&lt;p&gt;'18&lt;/p&gt;
&lt;p&gt;- 일본 여행(후쿠오카, 유후인)&lt;/p&gt;
&lt;p&gt;- 대학 복귀&lt;/p&gt;
&lt;p&gt;- SMART CLOUD SHOW 2018 참석&lt;/p&gt;
&lt;p&gt;- PEL 연구실 입성&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;2018 CodeEngn Conference 15 참석&lt;/p&gt;
&lt;p&gt;- ZEPL 인턴십(미국-샌프란시스코)&lt;/p&gt;
&lt;p&gt;- 한국정보보호학회&amp;nbsp;제 3회 CPS 보안 워크숍 참석(제주)&lt;/p&gt;
&lt;p&gt;- IETF 103 참석(태국-방콕)&lt;/p&gt;
&lt;p&gt;'19&lt;/p&gt;
&lt;p&gt;- 한국통신학회 동계종합학술발표회 논문 발표(용평)&lt;/p&gt;</description>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/pages/profile</guid>
      <pubDate>Thu, 7 Feb 2019 02:06:13 +0900</pubDate>
    </item>
    <item>
      <title>스팀링크(steamlink)가 라즈베리파이(RaspberryPi)를 지원</title>
      <link>https://cybertramp.tistory.com/201</link>
      <description>&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: 860px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99AE1E3D5C4489231B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99AE1E3D5C4489231B&quot; width=&quot;860&quot; height=&quot;291&quot; filename=&quot;Hardware_SteamLogo_Banner.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;PC와 떨어진곳에서 스트리밍을 통해 스팀을 즐길수 있게 해주던 스팀링크가 단종된 상태였다.&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;호스트 PC의 요구 사항은 다음과 같다.&lt;/p&gt;&lt;p&gt;- Windows7 이상, Mac OS X 10.10(요세미티) 이상, 스팀OS, 우분투 12.04 이상 스팀을 실행할 수 있는 환경&lt;/p&gt;&lt;p&gt;- 유선 네트워크 환경(5Ghz WIFI도 지원하나 권장하지 않음)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;라즈베리파이의 요구 사항은 다음과 같다.&lt;/p&gt;&lt;p&gt;- 라즈베리파이 3B또는 3B+&lt;/p&gt;&lt;p&gt;- 라즈비안(Stretch)&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;- 유선 Xbox one 컨트롤러&lt;/p&gt;&lt;p&gt;- 유선 Xbox 360 컨트롤러&lt;/p&gt;&lt;p&gt;- 무선 Xbox 360 컨트롤러(Windows)&lt;/p&gt;&lt;p&gt;- Sony 듀얼쇼크 4(유선/블루투스를 사용하는 무선)&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;1. PC를 켜고, 스팀을 실행, 로그인&lt;/p&gt;&lt;p&gt;2. PC와 동일한 네트워크에 라즈베리파이를 연결&lt;/p&gt;&lt;p&gt;3. 라즈베리파이에서 아래의 명령을 통해 스팀링크 설치&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;sudo apt update&lt;/p&gt;&lt;p&gt;sudo apt install steamlink&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;4. &quot;게임&quot; 메뉴에서 스팀링크를 실행하거나 라즈베리파이 터미널에서 &quot;steamlink&quot;를 입력하여 실행&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;아쉽게도 나는 라즈베리파이 B+ 모델..&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;링크)&amp;nbsp;h&lt;a href=&quot;ttps://support.steampowered.com/kb_article.php?ref=6153-IFGH-6589&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;ttps://support.steampowered.com/kb_article.php?ref=6153-IFGH-6589&lt;/a&gt;&lt;/p&gt;</description>
      <category>Games</category>
      <category>RaspberryPi</category>
      <category>steamlink</category>
      <category>라즈베리파이</category>
      <category>라즈베리파이 게임</category>
      <category>라즈베리파이 스팀</category>
      <category>스팀링크</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/201</guid>
      <comments>https://cybertramp.tistory.com/201#entry201comment</comments>
      <pubDate>Sun, 20 Jan 2019 23:44:03 +0900</pubDate>
    </item>
    <item>
      <title>docker-ce callgraph 그리기(안됨)</title>
      <link>https://cybertramp.tistory.com/200</link>
      <description>&lt;p&gt;# Golang과 go-callvis 설치&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1. Golang 설치작업&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;wget&amp;nbsp;https://dl.google.com/go/go1.11.4.linux-amd64.tar.gz&lt;/p&gt;&lt;p&gt;sudo tar -C /usr/local -xzf go1.11.4.linux-amd64.tar.gz&lt;/p&gt;&lt;p&gt;export PATH=/usr/local/go/bin:$PATH&lt;/p&gt;&lt;p&gt;go version&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;* GOROOT는 설치 경로가 /usr/local/go 가 아닐때만 설정 해줄것&lt;/p&gt;&lt;p&gt;(관리자 권한이 없어서 개인 디렉토리에 설치 한 경우에 해당)&lt;/p&gt;&lt;p&gt;export GOROOT =$HOME/go&lt;/p&gt;&lt;p&gt;go env&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2. git 설치작업&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;sudo apt install git -y&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3. 작업 폴더 설정($GOPATH)&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;cd ~&lt;br /&gt;&lt;/p&gt;&lt;p&gt;mkdir go&lt;/p&gt;&lt;p&gt;export GOPATH=$HOME/go&lt;/p&gt;&lt;p&gt;env | grep GOPATH&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4. 의존성 관련 go-dep 설치&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;go get -u github.com/golang/dep/cmd/dep&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;5. 콜그래프 그려주는 go-callvis 설치&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;sudo apt install graphviz -y&lt;/p&gt;&lt;p&gt;go get -u github.com/TrueFurby/go-callvis&lt;/p&gt;&lt;p&gt;cd $GOPATH/src/github.com/TrueFurby/go-callvis &amp;amp;&amp;amp; make&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;6. go-callvis로 테스트&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;cd ~/go/bin&lt;br /&gt;&lt;/p&gt;&lt;p&gt;go-callvis github.com/TrueFurby/go-callvis&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-2&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px solid; border-bottom: black 3px solid; height: 7px&quot;&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: 860px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/999A81355C3B5C7C1A&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F999A81355C3B5C7C1A&quot; width=&quot;860&quot; height=&quot;217&quot; filename=&quot;Image_001_20190114.png&quot; filemime=&quot;image/jpeg&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;/p&gt;&lt;p&gt;에러 발생... 왜 안되는 걸까요 ㅠㅠㅠ&lt;/p&gt;&lt;p&gt;!!절대 GOROOT 주지말 것&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;결론적으로 에러로 인해 docker-ce와 docker/cli는 go-callvis가 동작하지 않습니다.&lt;/p&gt;&lt;p&gt;go-callvis 자체의 문제인것 같은데 간단한 프로그램에서는 잘 동작하지만 docker와 같은 복잡한 프로그램은 동작을 하지 않는것 같습니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;go-callvis의 버전이 올라가면 되는 날이 오지 않을까 싶다. go-callvis 튜토리얼에 docker가 있으나 굉장히 오래됬는지 이미 해당 repo는 없고 moby repo로 변경되어 있다.&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;의존성 그래프는 godepgraph를 받아서 실행하면 된다.&lt;/p&gt;&lt;p&gt;성공했던 명령은 아래와 같다. 다만, 그래프가 이쁘게 그려지지는 않는다.&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: solid; border-width: 1px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p&gt;./godepgraph -d -novendor -maxlevel 3 -horizontal github.com/docker/cli/cmd/docker |dot -Tpng -o out3.png&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;p&gt;하루를 투자했는데... 너무 아쉽다 된게 없어서... ㅠㅠ&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>프로그램 팁</category>
      <author>cybertramp</author>
      <guid isPermaLink="true">https://cybertramp.tistory.com/200</guid>
      <comments>https://cybertramp.tistory.com/200#entry200comment</comments>
      <pubDate>Mon, 14 Jan 2019 00:42:02 +0900</pubDate>
    </item>
  </channel>
</rss>