<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1296856390319012108</id><updated>2026-07-24T15:00:05.674+09:00</updated><category term="no"/><title type='text'>パソコンの前で分からないと叫ぶ</title><subtitle type='html'>日々、学んだことの記録</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>127</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-2038525652314908337</id><published>2014-06-13T22:23:00.000+09:00</published><updated>2014-06-13T22:23:25.091+09:00</updated><title type='text'>Python-Fuで切り抜きスクリプトを作ってみた。</title><content type='html'>&lt;a href=&quot;http://registry.gimp.org/node/25359&quot;&gt;参考ページ&lt;/a&gt;&lt;br /&gt;
&lt;pre&gt;#!/usr/bin/env python&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
# Crop images in GIMP Python&lt;br /&gt;
&lt;br /&gt;
from gimpfu import *&lt;br /&gt;
&lt;br /&gt;
def crop(testfp):&lt;br /&gt;
&amp;nbsp; &amp;nbsp; pngimg = pdb.file_png_load(testfp, testfp)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; pngimg.crop(100, 100, 0, 50) # Xが０、Yが50からX,Yともに100ずつ切り抜く&lt;br /&gt;
&amp;nbsp; &amp;nbsp; pdb.file_png_save_defaults(pngimg, pngimg.active_drawable,&amp;nbsp;testfp, testfp)&lt;br /&gt;
&lt;br /&gt;
register(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;python-fu-crop-sample&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;Crop an image&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;Crops the image.&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;&lt;span style=&quot;background-color: yellow;&quot;&gt;programmm&lt;/span&gt;&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;&lt;span style=&quot;background-color: yellow;&quot;&gt;programmm&lt;/span&gt;&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;2014&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;test crop&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &quot;*&quot;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (PF_STRING, &quot;string&quot;,&quot;Image file path&quot;, None)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ],&lt;br /&gt;
&amp;nbsp; &amp;nbsp; [],&lt;br /&gt;
&amp;nbsp; &amp;nbsp; crop,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; menu=&quot;&amp;lt;Image&amp;gt;/Filters&quot;)&lt;br /&gt;
&lt;br /&gt;
main()&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/2038525652314908337/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/06/python-fu.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2038525652314908337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2038525652314908337'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/06/python-fu.html' title='Python-Fuで切り抜きスクリプトを作ってみた。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-1632383214016774023</id><published>2014-06-13T20:48:00.007+09:00</published><updated>2014-06-13T20:48:57.769+09:00</updated><title type='text'>Ubuntu 14.04 でPython-Fuを使う。</title><content type='html'>&lt;a href=&quot;http://stormsurfrider.blog100.fc2.com/blog-entry-74.html&quot;&gt;参考ページ１&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://yamanare.moko-moko.jp/python_fu/?contents=top&quot;&gt;参考ページ２&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
サンプルをインストールしてみる。
&lt;a href=&quot;http://gimpbook.com/scripting/&quot;&gt;Writing GIMP Scripts and Plug-Ins&lt;/a&gt;から&lt;a href=&quot;http://gimpbook.com/scripting/gimp-script-templates/helloworld.py&quot;&gt;helloworld.py&lt;/a&gt;をダウンロードする。
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;$ cp ~/Downloads/helloworld.py ~/.gimp-2.8/plug-ins
$ chmod a+x ~/.gimp-2.8/plug-ins/helloworld.py&lt;/pre&gt;
&lt;pre class=&quot;code_area&quot;&gt;
&lt;/pre&gt;
gimpを起動→フィルター→Python-Fu→Consoleを選択&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje-k-7nlQC_TQrG-HYr6aBAOBqAU5t3em5rcKXCcLPpTazDychtzFXvnO0iXNfnr59LaYkTbWwuOVMafO_Jt5N8UfcRCECpwGcf2aOSwPQ5QGeEE72sVTbTWWpmLfQNo6gCCCmx8m1HgI6/s1600/Screenshot+from+2014-06-13+20:39:36.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje-k-7nlQC_TQrG-HYr6aBAOBqAU5t3em5rcKXCcLPpTazDychtzFXvnO0iXNfnr59LaYkTbWwuOVMafO_Jt5N8UfcRCECpwGcf2aOSwPQ5QGeEE72sVTbTWWpmLfQNo6gCCCmx8m1HgI6/s400/Screenshot+from+2014-06-13+20:39:36.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Browseをクリック

&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS6IKOpH-thjYYTHwNhbvOfqNfSu8BpbDb9hiUqQnmSFvK0gqv6wtB8vSzof_woA0f0k3GjkOfTLTwyB-vc9rGevUtdoX60TzD67WnvJ7TaKZPcEbnAYOIzgVMEusTOaT7fvxzdyGnPTv_/s1600/Screenshot+from+2014-06-13+20:42:40.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS6IKOpH-thjYYTHwNhbvOfqNfSu8BpbDb9hiUqQnmSFvK0gqv6wtB8vSzof_woA0f0k3GjkOfTLTwyB-vc9rGevUtdoX60TzD67WnvJ7TaKZPcEbnAYOIzgVMEusTOaT7fvxzdyGnPTv_/s400/Screenshot+from+2014-06-13+20:42:40.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
適応をクリック

&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2mFCgMGS5e-V9ri2ALWpaEEFtY1NPLehM4F9GXeW0TFC-T-LRGDEACeHH87MUC1UIlknMhGk1Y-M08LkBuDlVVdQ7A-6rCopcWED5sNsX10Y3A5gJSQffL_CbunX_VeTCmIlvyULc_kvx/s1600/Screenshot+from+2014-06-13+20:45:07.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2mFCgMGS5e-V9ri2ALWpaEEFtY1NPLehM4F9GXeW0TFC-T-LRGDEACeHH87MUC1UIlknMhGk1Y-M08LkBuDlVVdQ7A-6rCopcWED5sNsX10Y3A5gJSQffL_CbunX_VeTCmIlvyULc_kvx/s400/Screenshot+from+2014-06-13+20:45:07.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
こんな感じで引数を入れて実行すると文字入りの画像が作られる。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/1632383214016774023/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/06/ubuntu-1404-python-fu.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/1632383214016774023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/1632383214016774023'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/06/ubuntu-1404-python-fu.html' title='Ubuntu 14.04 でPython-Fuを使う。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje-k-7nlQC_TQrG-HYr6aBAOBqAU5t3em5rcKXCcLPpTazDychtzFXvnO0iXNfnr59LaYkTbWwuOVMafO_Jt5N8UfcRCECpwGcf2aOSwPQ5QGeEE72sVTbTWWpmLfQNo6gCCCmx8m1HgI6/s72-c/Screenshot+from+2014-06-13+20:39:36.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-2525172237995309764</id><published>2014-05-30T00:21:00.000+09:00</published><updated>2014-05-30T00:21:10.042+09:00</updated><title type='text'>SSHでさくらＶＰＳのUbuntu Serverを操作する。</title><content type='html'>まずクライアント・サーバの公開鍵、秘密鍵を作成する
&lt;pre&gt;$ mkdir .ssh
$ cd .ssh
$ ssh-keygen -t rsa&lt;/pre&gt;

id_rsa.pubが公開鍵　id_rsaが秘密鍵

クライアントとサーバーの公開鍵を交換する。
方法は
　scpなりFTPなり何でもOK。

交換した公開鍵をauthorized_keysに登録する。
&lt;pre&gt;$ touch authorized_keys
$ cat 公開鍵をコピーしたパス/id_rsa.pub &gt;&gt; authorized_keys&lt;/pre&gt;

つぎにクライアントでconfigファイルを作成する。
&lt;pre&gt;$ cd .ssh
$ touch config
$ nano config&lt;/pre&gt;

&lt;pre&gt;Host anywhere_vps
  HostName 1.222.333.55
  Port 22
  User anywhere_user
  IdentityFile ~/.ssh/authorized_keys&lt;/pre&gt;

最後にアクセスしてみる
&lt;pre&gt;$ ssh anywhere_vps&lt;/pre&gt;

&lt;pre&gt;アクセスできない場合
 ・ufwの設定を確認してみるか、可能なら一時的に無効にしてみる
 ・/etc/hosts.allowでクライアントからのアクセスが許可されているかを確認
 ・/etc/hosts.denyでアクセス拒否されていないか確認&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/2525172237995309764/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/05/sshubuntu-server.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2525172237995309764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2525172237995309764'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/05/sshubuntu-server.html' title='SSHでさくらＶＰＳのUbuntu Serverを操作する。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-6324324576503982032</id><published>2014-05-27T18:24:00.002+09:00</published><updated>2014-05-27T18:24:50.894+09:00</updated><title type='text'>Ubuntu 14.04で無線LANを接続する</title><content type='html'>&lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=2224982&quot;&gt;参考ページ&lt;/a&gt;

&lt;pre class=&quot;code_area&quot;&gt;$ sudo apt-get install linux-firmware-nonfree&lt;/pre&gt;

で再起動。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/6324324576503982032/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/05/ubuntu-1404lan.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6324324576503982032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6324324576503982032'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/05/ubuntu-1404lan.html' title='Ubuntu 14.04で無線LANを接続する'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-5349504918805594120</id><published>2014-05-20T19:35:00.002+09:00</published><updated>2014-05-20T19:35:44.106+09:00</updated><title type='text'>Ubuntu 14.04で Dartium error on startupに遭遇した場合の対処</title><content type='html'>&lt;a href=&quot;http://askubuntu.com/questions/288821/how-do-i-resolve-a-cannot-open-shared-object-file-libudev-so-0-error&quot;&gt;参考ページ&lt;/a&gt;

&lt;pre class=&quot;code_area&quot;&gt;$ sudo ln -s /lib/i386-linux-gnu/libudo.1 /lib/i386-linux-gnu/libudev.so.0&lt;/pre&gt;

としてシンボリックリンクを作成することで解決された。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/5349504918805594120/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/05/ubuntu-1404-dartium-error-on-startup.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/5349504918805594120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/5349504918805594120'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2014/05/ubuntu-1404-dartium-error-on-startup.html' title='Ubuntu 14.04で Dartium error on startupに遭遇した場合の対処'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-2871193035602098164</id><published>2012-09-12T13:16:00.001+09:00</published><updated>2012-09-12T13:16:52.654+09:00</updated><title type='text'>git cloneをしようとするとPermission deniedになってしまう</title><content type='html'>&lt;pre&gt;
&lt;a href=&quot;http://blog.lllnorikolll.com/archives/286&quot;&gt;参考ページ&lt;/a&gt;

公開鍵何度も作りなおしたり、id_rsa.pubのパーミッション変更したりしたが効果なし

.sshディレクトリにあるconfigを削除すると問題なく動くようになった。

configファイルには
 IdentityFile ~/path/to/something1.pub
 IdentityFile ~/path/to/something2.pub
という感じで複数の公開鍵を列挙していた。

確認はしていないがconfigファイルがあることより、このIdentityFileの列挙に問題がある気がする。
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/2871193035602098164/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2012/09/git-clonepermission-denied.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2871193035602098164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2871193035602098164'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2012/09/git-clonepermission-denied.html' title='git cloneをしようとするとPermission deniedになってしまう'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-2843879769699836483</id><published>2011-12-31T23:16:00.000+09:00</published><updated>2011-12-31T23:16:40.648+09:00</updated><title type='text'>Ubuntu11.10でAlt+Tabのアプリケーション切り替えをワークスペース内で行う方法</title><content type='html'>&lt;a href=&quot;http://blog.kirie.net/linux/ubuntu/457.html&quot;&gt;参考ページ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
1. $ sudo apt-get install compizconfig-settings-manager&lt;br /&gt;
&lt;br /&gt;
2. Unityで「ccsm」と入力、compizconfig-settings-managerを起動する。&lt;br /&gt;
&lt;br /&gt;
3. Ubuntu Unity Pluginを選択&lt;br /&gt;
&lt;br /&gt;
4. タブからSwitcherを選択&lt;br /&gt;
&lt;br /&gt;
5.「Key to start the switcher」と「Key to start the switcher in reverse」を「有効」に変更。&lt;br /&gt;
&lt;br /&gt;
6.「戻る」&lt;br /&gt;
&lt;br /&gt;
7. ウィンドウ・マネジメントからStatic Application Switcherを有効にする。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/2843879769699836483/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2011/12/ubuntu1110alttab.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2843879769699836483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2843879769699836483'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2011/12/ubuntu1110alttab.html' title='Ubuntu11.10でAlt+Tabのアプリケーション切り替えをワークスペース内で行う方法'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-6082209131635174168</id><published>2011-11-03T02:20:00.000+09:00</published><updated>2012-05-09T22:33:27.190+09:00</updated><title type='text'>Ubuntu+apache2+mod_wsgi+Djangoでの開発における初期設定について</title><content type='html'>想像以上に時間がかかったので記録する。&lt;br /&gt;
&lt;br /&gt;
わからなかったところ&lt;br /&gt;
　・必要な環境変数&lt;br /&gt;
　・それぞれのパスの関係性&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ディレクトリ構成&lt;/b&gt;&lt;br /&gt;
　・プロジェクト配置：/home/oooxxx/Projects/prj&lt;br /&gt;
　・アプリケーション配置：/home/oooxxx/Projects/prj/app1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;インストール&lt;/b&gt;&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;$ sudo apt-get install apache2 libapache2-mod-wsgi \
                                               mysql-server python-mysqldb python-django&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Djangoプロジェクトとアプリケーションの作成&lt;/b&gt;&lt;br /&gt;
$cd /home/oooxxx/Projects&lt;br /&gt;
$django-admin.py startproject prj&lt;br /&gt;
$cd prj&lt;br /&gt;
$python manage.py startapp app1&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;設定&lt;/b&gt;&lt;br /&gt;
$sudo emacs /etc/apache2/sites-available/mysite&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;&amp;lt;VirtualHost *:80&amp;gt;
    ServerAdmin your@mail.adress
    ServerName localhost.oooxxx.com
    DocumentRoot /home/oooxxx/Projects/prj

    WSGISCriptAlias / /home/oooxxx/Projects/prj/django.wsgi
    &amp;lt;Directory /home/oooxxx/Projects/prj/&amp;gt;
 Order allow,deny
        Allow from all
    &amp;lt;/Directory&amp;gt;

    &amp;lt;Location /&amp;gt;
 Order allow,deny
 Allow from all
    &amp;lt;/Location&amp;gt;

    LogLevel warn
    ErrorLog /var/log/apache2/www.hashnote.net.error.log
    CustomLog /var/log/apache2/www.hashnote.net.access.log combined
&amp;lt;/VirtualHost&amp;gt;&lt;/pre&gt;&lt;br /&gt;
$sudo a2dissite /etc/apache2/site-available/default&lt;br /&gt;
$sudo a2ensite /etc/apache2/site-available/mysite&lt;br /&gt;
$sudo /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
$emacs /home/oooxxx/Projects/prj/django.wsgi&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;import os
import sys

sys.path.append(&#39;/usr/lib/pymodules/python2.7/django&#39;)
sys.path.append(&#39;/home/oooxxx/Projects&#39;) #これも必要
sys.path.append(&#39;/home/oooxxx/Projects/prj&#39;)
os.environ[&#39;DJANGO_SETTINGS_MODULE&#39;] = &#39;prj.settings&#39;

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()&lt;/pre&gt;&lt;br /&gt;
$emacs /home/oooxxx/Projects/prj/settings.py&lt;br /&gt;
&lt;b&gt;言語とタイムゾーンの設定：&lt;/b&gt;&lt;br /&gt;
TIME_ZONE = &#39;Asia/Tokyo&#39;&lt;br /&gt;
LANGUAGE_CODE = &#39;ja&#39;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;データベースを使用する場合：&lt;/b&gt;&lt;pre class=&quot;code_area&quot;&gt;DATABASES = {
    &#39;default&#39;: {
        &#39;ENGINE&#39;: &#39;mysql&#39;, # 今回はMySQLを使用
        &#39;NAME&#39;: &#39;prj_db&#39;,                      # Or path to database file if using sqlite3.
        &#39;USER&#39;: &#39;root&#39;,                      # Not used with sqlite3.
        &#39;PASSWORD&#39;: &#39;password&#39;,                  # Not used with sqlite3.
        &#39;HOST&#39;: &#39;&#39;,                      # Set to empty string for localhost. Not used with sqlite3.
        &#39;PORT&#39;: &#39;&#39;,                      # Set to empty string for default. Not used with sqlite3.
    }
}&lt;/pre&gt;&lt;b&gt;アプリケーションの追加：&lt;/b&gt;&lt;pre class=&quot;code_area&quot;&gt;INSTALLED_APPS = (
    &#39;django.contrib.auth&#39;,
    &#39;django.contrib.contenttypes&#39;,
    &#39;django.contrib.sessions&#39;,
    &#39;django.contrib.sites&#39;,
    &#39;django.contrib.messages&#39;,
    &#39;django.contrib.staticfiles&#39;,
    &lt;b&gt;&#39;prj.app1&#39;&lt;/b&gt;
)&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;URLのマッピング&lt;/b&gt;&lt;br /&gt;
$emacs /home/oooxxx/Projects/prj/urls.py&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;urlpatterns = patterns(&#39;&#39;,
    # Examples:
    # url(r&#39;^$&#39;, &#39;hanahosp.views.home&#39;, name=&#39;home&#39;),
    # url(r&#39;^hanahosp/&#39;, include(&#39;hanahosp.foo.urls&#39;)),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r&#39;^admin/doc/&#39;, include(&#39;django.contrib.admindocs.urls&#39;)),

    # Uncomment the next line to enable the admin:
    # url(r&#39;^admin/&#39;, include(admin.site.urls)),
    url(r&#39;^app1/&#39;, &#39;app1.views.index&#39;)
)&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;表示するHTMLファイルの作成&lt;/b&gt;&lt;br /&gt;
$emacs /home/oooxxx/Projects/prj/app1/view.py&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;from django.http import HttpResponse
import datetime

def index(request):
    now = datetime.datetime.now()
    html = &quot;&lt;html&gt;&lt;body&gt;It is now %s.&lt;/body&gt;&lt;/html&gt;&quot; % now
    return HttpResponse(html)&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;データベースの作成&lt;/b&gt;&lt;br /&gt;
$emacs /home/constructor/oooxxx/prj/app1/models.py&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;class Person(models.Model):
      name = models.CharField(max_length=30)
      name_katakana = models.CharField(max_length=30)
      is_male = models.BooleanField()&lt;/pre&gt;&lt;br /&gt;
apache2サーバの再起動&lt;br /&gt;
$sudo /etc/init.d/apache2 restart&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;アクセスしてテスト&lt;/b&gt;&lt;/i&gt;&lt;a href=&quot;http://localhost.oooxxx.com/app1&quot;&gt;http://localhost.oooxxx.com/app1&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/6082209131635174168/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2011/11/ubuntuapache2modwsgidjango.html#comment-form' title='4 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6082209131635174168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6082209131635174168'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2011/11/ubuntuapache2modwsgidjango.html' title='Ubuntu+apache2+mod_wsgi+Djangoでの開発における初期設定について'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-2470152304250511831</id><published>2011-09-10T13:50:00.000+09:00</published><updated>2011-09-10T13:50:55.144+09:00</updated><title type='text'>Ubuntuでhulu利用時の文字化けに対する対応</title><content type='html'>&lt;a href=&quot;https://forums.ubuntulinux.jp/viewtopic.php?id=12017&quot;&gt;参考ページ&lt;/a&gt;&lt;pre class=&quot;code_area&quot;&gt;$sudo apt-get install cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2 ttf-kochi-mincho&lt;/pre&gt;でフォントを導入すると解決した。&lt;br /&gt;
ただし、映像はカクカクして見れたもんじゃない。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/2470152304250511831/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2011/09/ubuntuhulu.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2470152304250511831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2470152304250511831'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2011/09/ubuntuhulu.html' title='Ubuntuでhulu利用時の文字化けに対する対応'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-6054386240350057699</id><published>2010-10-14T21:36:00.000+09:00</published><updated>2010-10-14T21:36:13.620+09:00</updated><title type='text'>ターミナルによるandroidアプリ開発の準備</title><content type='html'>hello worldのビルドまで簡単にいけると思ったら尋常じゃないくらいハマったので記録する。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://d.hatena.ne.jp/jitsu102/20090705/1246742349&quot;&gt;参考ページ１&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://d.hatena.ne.jp/isher/20100928/1285616799&quot;&gt;参考ページ２&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
自分の場合は参考ページ１が解決に役立ったが人によっては参考ページ２が役に立つ可能性がある。&lt;br /&gt;
&lt;br /&gt;
必要なパッケージの準備&lt;br /&gt;
$ sudo apt-get install openjdk-6-jdk ant&lt;br /&gt;
&lt;br /&gt;
SDKをダウンロード&lt;br /&gt;
&lt;br /&gt;
解凍&lt;br /&gt;
&lt;br /&gt;
環境変数の設定(PATH, JAVA_HOME, CLASSPATH)&lt;br /&gt;
$ emacs ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk&lt;br /&gt;
export CLASSPATH=${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar&lt;br /&gt;
export PATH=${PATH}:JAVA_HOME/bin:~/Downloads/android-sdk-linux_x86/tools&lt;br /&gt;
&lt;br /&gt;
$ source ~/.bashrc&lt;br /&gt;
&lt;br /&gt;
$ android create project --path ./test-app --target 7 --name testapp --activity TestAppActivity --package android.app.testapp&lt;br /&gt;
&lt;br /&gt;
$ ant debug&lt;br /&gt;
&lt;br /&gt;
この後も色々...</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/6054386240350057699/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/10/android.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6054386240350057699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6054386240350057699'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/10/android.html' title='ターミナルによるandroidアプリ開発の準備'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-6293769796855961907</id><published>2010-09-11T22:39:00.000+09:00</published><updated>2010-09-11T22:39:39.759+09:00</updated><title type='text'>ポインタについて わかりやすく解説してあるページ</title><content type='html'>&lt;a href=&quot;http://homepage3.nifty.com/gomi_doji/pointer.htm&quot;&gt;1ページ目&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://homepage3.nifty.com/gomi_doji/gyaku.htm&quot;&gt;２ページ目&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
特に２ページ目のまとめがわかりやすい。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/6293769796855961907/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6293769796855961907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6293769796855961907'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/blog-post.html' title='ポインタについて わかりやすく解説してあるページ'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-6450065042138644590</id><published>2010-09-09T21:29:00.000+09:00</published><updated>2010-09-09T21:29:19.964+09:00</updated><title type='text'>gtkmmで動的にウィジェットを追加する</title><content type='html'>参考：&lt;br /&gt;
gtkmm-2.4のソースコードのなかにあるexamples/stock&lt;br /&gt;
gtkmm_helloのソースコード（時間短縮のために流用）&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;padding: 5px;&quot;&gt;#ifndef GTKMM_HELLO_H
#define GTKMM_HELLO_H

#include &amp;lt;iostream&amp;gt;
#include &amp;lt;gtkmm.h&amp;gt;

class GtkmmHello : public Gtk::Window
{
public:
  GtkmmHello();
  virtual ~GtkmmHello();
  void on_button_clicked(Gtk::VBox* vb);

};

#endif //GTKMM_HELLO_H


GtkmmHello::GtkmmHello()
{
  set_title(&quot;gtkmm_hello&quot;);
  set_border_width(10);

  //manageを使わないとsegmentation faultになる
&lt;b&gt;  Gtk::Button* m_Button = manage(new Gtk::Button(&quot;click&quot;));
  Gtk::VBox* vb = manage(new Gtk::VBox(false, 0));
&lt;/b&gt;  m_Button-&amp;gt;signal_clicked().connect(sigc::bind(
      sigc::mem_fun(*this, &amp;amp;GtkmmHello::on_button_clicked), vb));
  
  vb-&amp;gt;pack_start(*m_Button, false, false, 0);
  add(*vb);
  show_all();
}

GtkmmHello::~GtkmmHello()
{
}

void GtkmmHello::on_button_clicked(Gtk::VBox* vb)
{
  Gtk::Button* b = new Gtk::Button(&quot;new button&quot;);
  b-&amp;gt;show();
  vb-&amp;gt;pack_start(*b, false, false, 0);
  std::cout &amp;lt;&amp;lt; &quot;test&quot; &amp;lt;&amp;lt; std::endl;
}

int main (int argc, char *argv[])
{
  Gtk::Main kit(argc, argv);
  GtkmmHello window;
  Gtk::Main::run(window);
  return 0;
}&lt;/pre&gt;&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD5MpOAOmf2WZ-TaEEU5JH4uAm5pgwNw5Udw2250mIev06OkuXUYxwYPFfqcVlaV_vgyLobpuOveqjKP9Rseq2VSUGgK9aY4zgRLeKMArO7sPul7-FyTYdi_fZqmvHe8eGylG05DTlOtYw/s1600/Screenshot_before.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD5MpOAOmf2WZ-TaEEU5JH4uAm5pgwNw5Udw2250mIev06OkuXUYxwYPFfqcVlaV_vgyLobpuOveqjKP9Rseq2VSUGgK9aY4zgRLeKMArO7sPul7-FyTYdi_fZqmvHe8eGylG05DTlOtYw/s320/Screenshot_before.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;これが&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7vlZ7odFt39aPpbRMd1izZHy2O8n0PvFalkaFvqn30NG5I7XWZrQbY-7nYZIy4Y5fQ-XgRgbENTY-FtdtKqyjN4v5yyDVkNxULl8dV9biYV502OAP9sW6JYtV97DgLdRkDpzZbuMMGJC2/s1600/Screenshot_after.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7vlZ7odFt39aPpbRMd1izZHy2O8n0PvFalkaFvqn30NG5I7XWZrQbY-7nYZIy4Y5fQ-XgRgbENTY-FtdtKqyjN4v5yyDVkNxULl8dV9biYV502OAP9sW6JYtV97DgLdRkDpzZbuMMGJC2/s320/Screenshot_after.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;こうなる&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/6450065042138644590/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/gtkmm.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6450065042138644590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6450065042138644590'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/gtkmm.html' title='gtkmmで動的にウィジェットを追加する'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD5MpOAOmf2WZ-TaEEU5JH4uAm5pgwNw5Udw2250mIev06OkuXUYxwYPFfqcVlaV_vgyLobpuOveqjKP9Rseq2VSUGgK9aY4zgRLeKMArO7sPul7-FyTYdi_fZqmvHe8eGylG05DTlOtYw/s72-c/Screenshot_before.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-5546217363646116248</id><published>2010-09-06T01:32:00.000+09:00</published><updated>2010-09-06T01:32:41.854+09:00</updated><title type='text'>C++でURLをデコードする</title><content type='html'>&lt;pre style=&quot;border: solid black 1px;&quot;&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstdlib&amp;gt;

int main(){
  char* enc = &quot;40&quot;;//%40は@になる
  char* end;
  unsigned long ascii = 0;
  ascii = std::strtoul(enc, &amp;amp;end, 16);
  char dec = (char)ascii;
  std::cout &amp;lt;&amp;lt; dec &amp;lt;&amp;lt; std::endl;
  
  return 0;
}&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/5546217363646116248/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/curl.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/5546217363646116248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/5546217363646116248'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/curl.html' title='C++でURLをデコードする'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-2594535031562168526</id><published>2010-09-01T17:32:00.000+09:00</published><updated>2010-09-01T17:32:39.460+09:00</updated><title type='text'>HTC desire を買った</title><content type='html'>キャンセルが出てたまたま余った一台を発見し、勢いで買ってしまった。&lt;br /&gt;
&lt;br /&gt;
今年中は忙しくて、androidプログラミングなんてしてる時間ないんだから別に今買う必要は無かった気がしないでもない。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/2594535031562168526/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/htc-desire.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2594535031562168526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2594535031562168526'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/09/htc-desire.html' title='HTC desire を買った'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-1411765757007399936</id><published>2010-08-24T20:32:00.000+09:00</published><updated>2010-08-24T20:32:14.320+09:00</updated><title type='text'>ubuntuでgoogle mockを使う。</title><content type='html'>&lt;a href=&quot;http://d.hatena.ne.jp/kaorun55/20100723/1279810738&quot;&gt;参考ページ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
パッケージとかの準備&lt;br /&gt;
  * Automake version 1.9 or newer&lt;br /&gt;
  * Autoconf version 2.59 or newer&lt;br /&gt;
  * Libtool / Libtoolize&lt;br /&gt;
  * Python version 2.3 or newer (for running some of the tests and&lt;br /&gt;
    re-generating certain source files from templates)&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install automake autoconf libtool python&lt;br /&gt;
&lt;br /&gt;
$ automake --versionでバージョン情報を表示。1.9より古かったら&lt;br /&gt;
$ sudo apt-get install automake1.9&lt;br /&gt;
$ AUTOMAKE=automake-1.9&lt;br /&gt;
$ ACLOCAL=aclocal-1.9&lt;br /&gt;
&lt;br /&gt;
準備が終わったら&lt;br /&gt;
$ autoreconf -fvi&lt;br /&gt;
&lt;br /&gt;
表示された中にerrorがなければ&lt;br /&gt;
$ emacs ~/.bashrc&lt;br /&gt;
ファイルの最後に&lt;br /&gt;
  export GMOCK_DIR=~/GcodeProjects/gmock&lt;br /&gt;
  export GTEST_DIR=${GMOCK_DIR}/gtest&lt;br /&gt;
のように環境変数を追加&lt;br /&gt;
&lt;br /&gt;
$source ~/.bashrcで変更を反映&lt;br /&gt;
&lt;br /&gt;
$ g++ -I${GTEST_DIR}/include -I${GTEST_DIR} -I${GMOCK_DIR}/include \&lt;br /&gt;
            -I${GMOCK_DIR} -c ${GTEST_DIR}/src/gtest-all.cc&lt;br /&gt;
&lt;br /&gt;
$ g++ -I${GTEST_DIR}/include -I${GTEST_DIR} -I${GMOCK_DIR}/include \&lt;br /&gt;
            -I${GMOCK_DIR} -c ${GMOCK_DIR}/src/gmock-all.cc&lt;br /&gt;
&lt;br /&gt;
$ ar -rv libgmock.a gtest-all.o gmock-all.o&lt;br /&gt;
&lt;br /&gt;
出来たlibgmock.aをテストを行うディレクトリに移動。&lt;br /&gt;
(ビルドが成功したかを試すために&lt;b&gt;参考ページ&lt;/b&gt;にあるソースコードを使用した。)&lt;br /&gt;
&lt;br /&gt;
$ g++ -I${GTEST_DIR}/include -I${GMOCK_DIR}/include \&lt;br /&gt;
      your_test.cc libgmock.a -o your_test -lpthread&lt;br /&gt;
&lt;br /&gt;
テストの実行&lt;br /&gt;
$ ./your_test</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/1411765757007399936/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/08/ubuntugoogle-mock.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/1411765757007399936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/1411765757007399936'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/08/ubuntugoogle-mock.html' title='ubuntuでgoogle mockを使う。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-517996883344293443</id><published>2010-08-09T17:20:00.000+09:00</published><updated>2010-08-09T17:20:59.182+09:00</updated><title type='text'>Google C++ Testing Frameworkで述べられているプライベートメンバー関数のテストについて</title><content type='html'>&lt;a href=&quot;http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide#Testing_Private_Code&quot;&gt;参考ページ&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
原文：&lt;br /&gt;
If you change your software&#39;s internal implementation, your tests should not break as long as the change is not observable by users. Therefore, per the black-box testing principle, most of the time you should test your code through its public interfaces.&lt;br /&gt;
&lt;br /&gt;
If you still find yourself needing to test internal implementation code, consider if there&#39;s a better design that wouldn&#39;t require you to do so.....&lt;br /&gt;
&lt;br /&gt;
訳：&lt;br /&gt;
　あなたがソフトウェアの内部の実装を変更したいとして、ユーザに分からないような変更に時間をかけるべきではない。あなたは、他のクラスとのインターフェースとなる関数のテストに時間をかけるべきだ。&lt;br /&gt;
　もし、まだ内部の実装をテストしたいなら、その必要が無いようなデザインをもっと考えたほうがいい。&lt;br /&gt;
&lt;br /&gt;
個人的な意見：&lt;br /&gt;
　そうは言っても、Composedパターンなどで多数のプライベート関数が生まれることは避けられないのだから、プライベート関数をテストすることは、必要なのではないの？</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/517996883344293443/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/08/google-c-testing-framework.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/517996883344293443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/517996883344293443'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/08/google-c-testing-framework.html' title='Google C++ Testing Frameworkで述べられているプライベートメンバー関数のテストについて'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-2399774807276550707</id><published>2010-08-06T23:51:00.000+09:00</published><updated>2010-08-06T23:51:19.052+09:00</updated><title type='text'>C++のクラスを書いていて分かったこと。</title><content type='html'>gcc = C言語のコンパイルに主に使う。&lt;br /&gt;
&lt;br /&gt;
g++ = C++のコンパイルに主に使う。&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;#include &lt;iostream&gt;

using namespace std;

class ClassSpike {
 public:
  void set_int(int i);
  int get_int();
 private:
  int I;

};

void ClassSpike::set_int(int i){
  I = i;
}

int ClassSpike::get_int(){
  return I;
}

int main(){
  ClassSpike cs;
  cs.set_int(1);
  int j = cs.get_int();
  cout &lt;&lt; j &lt;&lt; &quot;です。\n&quot;;

  return 0;
}
&lt;/pre&gt;
&lt;br /&gt;
こんな感じのファイルをコンパイルしようとすると、gccではエラーが出た。&lt;br /&gt;
g++では何事もなくコンパイルに成功した。&lt;br /&gt;
&lt;br /&gt;
gccでもクラスをコンパイルできるが、アクセッサ、ミューテータを実装しようとしたところでエラーが出るようになった。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/2399774807276550707/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/08/c.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2399774807276550707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/2399774807276550707'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/08/c.html' title='C++のクラスを書いていて分かったこと。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-8367107859942501593</id><published>2010-05-24T22:34:00.000+09:00</published><updated>2010-05-24T22:34:43.568+09:00</updated><title type='text'>ubuntuでWEBサイトをまるごとローカルに保存する方法</title><content type='html'>$wget --mirror --html-extension --convert-links 保存したいサイトのURL -P 保存したい場所のパス</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/8367107859942501593/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/05/ubuntuweb.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/8367107859942501593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/8367107859942501593'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/05/ubuntuweb.html' title='ubuntuでWEBサイトをまるごとローカルに保存する方法'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-6572074550861780713</id><published>2010-05-09T11:10:00.000+09:00</published><updated>2010-05-09T11:10:14.360+09:00</updated><title type='text'>gtags, htagsについて</title><content type='html'>ソースコードを読む時、クラスや関数の定義がどこにあるか分からない場合、gtags, htagsを使うと効率が上がる。&lt;br /&gt;
&lt;br /&gt;
インストール：$ sudo apt-get install global&lt;br /&gt;
&lt;br /&gt;
ソースコードのあるフォルダに移動。&lt;br /&gt;
&lt;br /&gt;
$ gtagsを実行&lt;br /&gt;
&lt;br /&gt;
ソースコードに関する情報がまとめられたフォルダが作成される。&lt;br /&gt;
&lt;br /&gt;
$ htags -aを実行&lt;br /&gt;
&lt;br /&gt;
HTMLというフォルダが作成される。&lt;br /&gt;
&lt;br /&gt;
HTMLフォルダに移動し、中にあるindex.htmlなどをWEBブラウザで見る。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/6572074550861780713/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/05/gtags-htags.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6572074550861780713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/6572074550861780713'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/05/gtags-htags.html' title='gtags, htagsについて'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-4050432307503985157</id><published>2010-05-07T01:37:00.000+09:00</published><updated>2010-05-07T01:37:44.415+09:00</updated><title type='text'>ubuntu 10.04でpython2.5をインストールする</title><content type='html'>&lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=1468661&quot;&gt;参考ページ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code_area&quot;&gt;$ sudo gedit /etc/apt/sources.list&lt;/div&gt;開いたファイルの最後に&lt;br /&gt;
&lt;blockquote&gt;deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main&lt;br /&gt;
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main&lt;br /&gt;
&lt;/blockquote&gt;と追加し保存。&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get install update&lt;br /&gt;
&lt;br /&gt;
$sudo apt-get install python2.5&lt;br /&gt;
&lt;br /&gt;
警告がインストールの前に出るので、もしかしたらあんまり安全ではないかも。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/4050432307503985157/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/05/ubuntu-1004python25.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/4050432307503985157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/4050432307503985157'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/05/ubuntu-1004python25.html' title='ubuntu 10.04でpython2.5をインストールする'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-5894168644183108298</id><published>2010-03-19T00:03:00.000+09:00</published><updated>2010-03-19T00:03:44.891+09:00</updated><title type='text'>Javaのインターフェースについて現時点での考え。</title><content type='html'>UMLによるJavaオブジェクト設計第２版を参考。&lt;br /&gt;
&lt;br /&gt;
インターフェースが無い場合、オブジェクトのプロパティ・メソッドを呼び出す場合、そのオブジェクトが何のクラスから作られたかが重要になる。&lt;pre class=&quot;code_area&quot;&gt;class Hello {  
  public static void main(String[] args){    
    &lt;b style=&quot;color: orange&quot;&gt;World&lt;/b&gt; w1;
    &lt;b style=&quot;color: orange&quot;&gt;World2&lt;/b&gt; w2;

    w1 = new World();
    w1.greeding();
    
    w2 = new World2();
    w2.greeding();
    //Hello World.
    //World2.
  }
}

&lt;b style=&quot;color: orange&quot;&gt;class World&lt;/b&gt; {
  public void greeding(){
    System.out.println(&quot;Hello World.&quot;);
  }
}

&lt;b style=&quot;color: orange&quot;&gt;class World2&lt;/b&gt; {
  public void greeding() {
    System.out.println(&quot;World2.&quot;);
  }
}&lt;/pre&gt;&lt;br /&gt;
これに対して、インターフェースを用いると、同じような時、インターフェースを実装しているかどうかが重要となる。&lt;pre class=&quot;code_area&quot;&gt;class Hello {  
  public static void main(String[] args){    
    &lt;b style=&quot;color:orange&quot;&gt;IHello&lt;/b&gt; hello;
    
    hello = new World();
    hello.greeding();
    
    hello = new World2();
    hello.greeding();
    //Hello World.
    //World2.
  }
}

class World implements &lt;b style=&quot;color:orange&quot;&gt;IHello&lt;/b&gt; {
  public void greeding(){
    System.out.println(&quot;Hello World.&quot;);
  }
}

class World2 implements &lt;b style=&quot;color:orange&quot;&gt;IHello&lt;/b&gt; {
  public void greeding() {
    System.out.println(&quot;World2.&quot;);
  }
}&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/5894168644183108298/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/03/java.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/5894168644183108298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/5894168644183108298'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/03/java.html' title='Javaのインターフェースについて現時点での考え。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-4997495784288389108</id><published>2010-03-01T10:21:00.000+09:00</published><updated>2010-03-01T10:21:47.430+09:00</updated><title type='text'>Google Go LanuguageでShellコマンドを実行する。</title><content type='html'>&lt;a href=&quot;http://www.google.co.jp/codesearch/p?hl=ja#baM9oaU8D4s/src/pkg/exec/exec_test.go&amp;q=exec_test.go%20lang:go&amp;sa=N&amp;cd=1&amp;ct=rc&quot;&gt;参考ページ１(Google Code Search)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.phatgocode.com/search?q=shell#execute-a-shell-command&quot;&gt;参考ページ２&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
test_exec.go&lt;pre class=&quot;code_area&quot;&gt;//コピーアンドペーストの産物
package main  

import (  
       &quot;fmt&quot;  
       &quot;exec&quot;  
       &quot;io/ioutil&quot;
)  

func main() {
  //序盤の2つ以外はおまじない？
  cmd, err := exec.Run(&quot;/bin/ls&quot;, []string{&quot;ls&quot;, &quot;/&quot;}, nil, &quot;&quot;, exec.Pipe, exec.Pipe, exec.DevNull)
  
  //例外処理？
  if err != nil {  
    fmt.Printf(&quot;ERROR EXECUTING COMMAND: %d\n&quot;, err)
    os.Exit(1)
  }  
  
  //cmd構造体の中にStdin, Stdoutはあったからexec.Runを実行すると
  //なんか色々起こって、これが可能になるんだと思う。
  cmd.Stdin.Close();
   
  buff, err := ioutil.ReadAll(cmd.Stdout)
  if err != nil {  
    fmt.Printf(&quot;ERROR READING OUTPUT: %d\n&quot;, err)
    os.Exit(1)
  } else {  //改行するとエラーが出る
    fmt.Printf(&quot;COMMAND RESULT: %s\n&quot;, buff)
  }  
}&lt;/pre&gt;そんなに沢山の言語を使ったことないからわからないけど、凄いクセのある書き方をする言語だと感じた。if文の書き方まで厳密に決まってるし。&lt;br /&gt;
&lt;br /&gt;
将来的にC＃みたいに言語仕様がどんどん変わってJavaとかに近づいて行くのか？今のスタンスを維持して独自路線を突き進むのか？&lt;br /&gt;
&lt;br /&gt;
個人的にはGoogleには後者であって欲しい。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/4997495784288389108/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/03/google-go-lanuguageshell.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/4997495784288389108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/4997495784288389108'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/03/google-go-lanuguageshell.html' title='Google Go LanuguageでShellコマンドを実行する。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-8822880323357673919</id><published>2010-02-27T20:13:00.001+09:00</published><updated>2010-02-27T20:15:25.658+09:00</updated><title type='text'>Google Go Languageをgeditでハイライトさせる。</title><content type='html'>&lt;a href=&quot;http://go-lang.cat-v.org/text-editors/gedit/&quot;&gt;参考ページ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
参考ページのgo-jp.langっていうリンクをクリック。&lt;br /&gt;
&lt;br /&gt;
ダウンロードしたファイルを&lt;br /&gt;
$sudo mv Downloads/go-jp.lang /usr/share/gtksourceview-2.0/language-specs&lt;br /&gt;
などで移動する。&lt;br /&gt;
&lt;br /&gt;
geditを起動する。&lt;br /&gt;
&lt;br /&gt;
[表示] -&gt; [強調表示モード] -&gt; [ソース]とたどり、中に「go」があることを確認。&lt;br /&gt;
&lt;br /&gt;
本当にハイライトできるか確認したい場合は、goのところのラジオボタンをクリックして、funcなどの予約語を入力してたしかめる。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/8822880323357673919/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/02/google-go-languagegedit.html#comment-form' title='20 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/8822880323357673919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/8822880323357673919'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/02/google-go-languagegedit.html' title='Google Go Languageをgeditでハイライトさせる。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-9180442090639593751</id><published>2010-02-27T13:30:00.003+09:00</published><updated>2010-03-06T13:52:31.825+09:00</updated><title type='text'>Google Goをスクリプトでインストールする。</title><content type='html'>&lt;a href=&quot;http://golang.org/doc/install.html&quot;&gt;本家サイト(Google Go Language)&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://portablecode.info/install_go_lang_on_ubuntu&quot;&gt;参考ページ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;code_area&quot;&gt;$source install_go.sh&lt;/div&gt;で&lt;b&gt;管理者権限を与えずに&lt;/b&gt;インストールを開始する。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;install_go.sh&lt;/b&gt;&lt;pre class=&quot;code_area&quot;&gt;#!/bin/bash

#make working directory
mkdir -p ~/gcode/go


#set environment variable
GOROOT=$HOME/gcode/go
GOBIN=$GOROOT/local/bin

echo &quot;export GOROOT=$GOROOT&quot; &gt;&gt; ~/.bashrc
echo &quot;export GOOS=linux&quot; &gt;&gt; ~/.bashrc
echo &quot;export GOARCH=386&quot; &gt;&gt; ~/.bashrc
echo &quot;export GOBIN=$GOBIN&quot; &gt;&gt; ~/.bashrc
echo &quot;export PATH=$PATH:$GOBIN&quot; &gt;&gt; ~/.bashrc
source ~/.bashrc


#prepare to build and install Google go 
sudo apt-get install python-setuptools python-dev build-essential mercurial bison gcc libc6-dev ed gawk make


#Download Google Go Sourcecode
hg clone -r release https://go.googlecode.com/hg/ $GOROOT


#build and install go
mkdir -p $GOBIN
cd $GOROOT/src
./all.bash &gt;&gt; install_log.txt


#make &quot;HelloWorld&quot;
echo &quot;package main&quot; &gt;&gt; $GOROOT/hello.go
echo &#39;import &quot;fmt&quot;&#39; &gt;&gt; $GOROOT/hello.go
echo &quot;&quot; &gt;&gt; $GOROOT/hello.go
echo &quot;func main(){&quot; &gt;&gt; $GOROOT/hello.go
echo &#39;  fmt.Printf(&quot;Hello 世界\n&quot;)&#39; &gt;&gt; $GOROOT/hello.go
echo &quot;}&quot; &gt;&gt; $GOROOT/hello.go


#Compile and Execute HelloWorld -&gt; It&#39;s not works in bash
#8g $GOROOT/hello.go
#8l -o $GOROOT/hello $GOROOT/hello.8
#$GOROOT/hello&lt;/pre&gt;&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;&lt;strike&gt;#!/bin/bash

#make working directory
mkdir -p ~/gcode/go


#set environment variable
echo &quot;export GOROOT=$HOME/gcode/go&quot; &gt;&gt; ~/.bashrc
echo &quot;export GOOS=linux&quot; &gt;&gt; ~/.bashrc
echo &quot;export GOARCH=386&quot; &gt;&gt; ~/.bashrc
echo &quot;export GOBIN=$GOROOT/local/bin&quot; &gt;&gt; ~/.bashrc
echo &quot;export PATH=$PATH:$GOBIN&quot; &gt;&gt; ~/.bashrc
source ~/.bashrc


#prepare to build and install Google go 
sudo apt-get install python-setuptools python-dev build-essential mercurial bison gcc libc6-dev ed gawk make


#Download Google Go Sourcecode
hg clone -r release https://go.googlecode.com/hg/ $GOROOT


#build and install go
mkdir -p $GOBIN
cd $GOROOT/src
./all.bash &gt;&gt; install_log.txt


#make &quot;HelloWorld&quot;
echo &quot;package main&quot; &gt;&gt; $GOROOT/hello.go
echo &#39;import &quot;fmt&quot;&#39; &gt;&gt; $GOROOT/hello.go
echo &quot;&quot; &gt;&gt; $GOROOT/hello.go
echo &quot;func main(){&quot; &gt;&gt; $GOROOT/hello.go
echo &#39;  fmt.Printf(&quot;Hello 世界\n&quot;)&#39; &gt;&gt; $GOROOT/hello.go
echo &quot;}&quot; &gt;&gt; $GOROOT/hello.go


#Compile and Execute HelloWorld -&gt; It&#39;s not works in bash
#8g $GOROOT/hello.go
#8l -o $GOROOT/hello $GOROOT/hello.8
#$GOROOT/hello&lt;/strike&gt;&lt;/pre&gt;最初の作業ディレクトリのところと８行目の環境変数GOROOTの定義、環境変数GOBINの定義はお好みでやるとしてそれ以外はほっといてもインストールできる(はず、自分はできた)。&lt;br /&gt;
&lt;br /&gt;
っていうかgccの開発者がそのうちgccにgoのコンパイラ統合するって話だから、こんなことしなくてもよかったのかもしれない。&lt;br /&gt;
&lt;br /&gt;
追記：&lt;br /&gt;
アップデートしたい場合は&lt;pre class=&quot;code_area&quot;&gt;cd $GOROOT/src
hg pull
hg update release
./all.bash&lt;/pre&gt;とする。結構な頻度でソースコードは変更されてるみたい。</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/9180442090639593751/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/02/google-go.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/9180442090639593751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/9180442090639593751'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/02/google-go.html' title='Google Goをスクリプトでインストールする。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1296856390319012108.post-3013442782510312371</id><published>2010-02-26T11:45:00.000+09:00</published><updated>2010-02-26T11:45:05.203+09:00</updated><title type='text'>Ubuntu9.10 Server EditionをUSBにインストールする。</title><content type='html'>&lt;a href=&quot;http://studio-bey.chicappa.jp/dougubako/linux/ubuntu/269&quot;&gt;参考ページ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
途中のパーティションのところでUSBを選択するのが面倒くさいので、HDDを最初に抜いておく。&lt;br /&gt;
後は、手順どおりに進めばインストールされる。&lt;br /&gt;
&lt;br /&gt;
起動後、◆に文字が化ける場合。&lt;blockquote&gt;$ nano .bashrc&lt;br /&gt;
最後の行に&lt;br /&gt;
export LANG=C&lt;br /&gt;
と追加。&lt;br /&gt;
$exit&lt;br /&gt;
で再度ログイン。&lt;/blockquote&gt;&lt;br /&gt;
起動後、インターネットに接続できない場合&lt;blockquote&gt;とりあえず、&lt;br /&gt;
$ifconfig&lt;br /&gt;
表示された中にeth0,1,2...が無く、loだけだったら&lt;br /&gt;
&lt;br /&gt;
$ sudo lshw -C network&lt;br /&gt;
logicalのところに表示されているやつ。ex) eth0とかeth1とか。を確認&lt;br /&gt;
$cat /etc/network/interfaces&lt;br /&gt;
で表示されるやつ&lt;br /&gt;
&lt;pre class=&quot;code_area&quot;&gt;ex)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp&lt;/pre&gt;の中の「eth0,1,2...」がさっき確認したlogicalのところに表示されているやつと同じか確認。&lt;br /&gt;
違っていた場合、&lt;br /&gt;
$ sudo nano /etc/network/interfaces&lt;br /&gt;
でlogicalのところに表示してあるやつにeth0,1,2...を修正。&lt;br /&gt;
$sudo reboot&lt;br /&gt;
か&lt;br /&gt;
$sudo /etc/init.d/networking restart&lt;br /&gt;
&lt;br /&gt;
自分はこれで何とかなった。&lt;br /&gt;
&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://mylibstacktrace.blogspot.com/feeds/3013442782510312371/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/02/ubuntu910-server-editionusb.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/3013442782510312371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1296856390319012108/posts/default/3013442782510312371'/><link rel='alternate' type='text/html' href='http://mylibstacktrace.blogspot.com/2010/02/ubuntu910-server-editionusb.html' title='Ubuntu9.10 Server EditionをUSBにインストールする。'/><author><name>programmm</name><uri>http://www.blogger.com/profile/15033275042732663717</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>