<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>理系の創作メモ</title>
<link>https://ameblo.jp/ftnihil329/</link>
<atom:link href="https://rssblog.ameba.jp/ftnihil329/rss20.xml" rel="self" type="application/rss+xml" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<description>情報科学を専攻する大学生の勉強した事をメモとして紹介したいと思います。色々なプログラミング言語に興味があり，アプリケーションを作るのが好きですが，まだ成果は少ないです。Webサイトも作っています。絵や音楽などのアートに興味あり。</description>
<language>ja</language>
<item>
<title>UbuntuでJavaが動作しなかった。</title>
<description>
<![CDATA[ <p>UbuntuでJavaのプログラムを実行しようとすると，エラーが出てきて実行できなかった。</p><br><div>javac -version; java -version</div><br><p>とすると，1.7と1.6だったので，バージョンが違うせいで実行できなかったらしい。</p><br><p>どうすれば良いのかわからなかったが，バージョンを切り替えるコマンドがあった！</p><br><div>sudo update-alternatives --config java</div><br><p>installされていれば選択肢が出るはずなので，番号を選んで切り替えで完了。無事動作した！</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11562213215.html</link>
<pubDate>Fri, 28 Jun 2013 08:51:21 +0900</pubDate>
</item>
<item>
<title>Macのsafariでソースコードを見る。</title>
<description>
<![CDATA[ <p>Macのsafariでhtmlのソースを見ようとして，ショートカットキーを知らなかったので，メニューバーから探してみる。</p><br><p>無いぞ・・・とか思ってたら，どうやらメニューに「開発」というものが隠蔽されているらしく，safariの環境設定の詳細から，開発メニューを表示というチェックボックスにチェックを入れると，ソースコードを表示というものがでてきた。</p><br><p>ショートカットキーはCommand+Option+Uで，ちょっと面倒くさい。</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11491658991.html</link>
<pubDate>Sat, 16 Mar 2013 17:16:52 +0900</pubDate>
</item>
<item>
<title>UbuntuでRubyのHpricotを使いたかった。</title>
<description>
<![CDATA[ <p>Macでhpricotを使ってHTMLを解析していたRubyのコードをUbuntuで動かそうと思って，いざやってみると，requireでエラーがあった。</p><br><p>hpricotが無かったようなので，sudo gem installでhpricotを入れようとすると，</p><br><div>ERROR:  Error installing hpricot:<br><br>ERROR: Failed to build gem native extension.</div><br><p>というエラーで，さらに読んでみると，</p><br><div>/usr/bin/ruby1.9.1 extconf.rb<br>&lt;internal:lib/rubygems/custom_require&gt;:29:in `require': no such file to load -- mkmf (LoadError)</div><br><p>とあったので，mkmfがいるっぽい。だからgem install mkmfとすると，そんなものは無いといわれてしまった。</p><br><p>仕方ないのでsudo apt-cache search mkmfとすると，</p><br><div>ruby1.9.1-dev<br>ruby1.8-dev</div><br><p>というのがヒット。mkmfはこれの中に入っているのか？と思いインストールすることに，</p><br><div>sudo apt-get install ruby1.9.1-dev</div><br><p>すると，mkmfが入ったらしく，gem install hpricotで入れる事が出来た。</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11486900932.html</link>
<pubDate>Sat, 09 Mar 2013 21:12:41 +0900</pubDate>
</item>
<item>
<title>jarファイルの指定で色々と手こずった。</title>
<description>
<![CDATA[ <p>外部のjarファイルを指定して，コンパイル，実行するときに，少しハマってしまったのでメモ。</p><br><p>まず，jarファイルを指定してコンパイルするときは次のようにする。</p><br><div align="center"><p>javac -classpath a.jar A.java</p></div><br><p>これでa.jarというファイルを読み込みA.javaをコンパイルできる。これは大丈夫。</p><br><p>完成したファイルを実行するときもjarファイルを指定しないといけなくて，これは知らなかった。同じ要領で，java -classpath a.jar Aとする。</p><br><p>しかし，これでもダメ。javaで-classpathを指定すると，指定したものだけが参照されるようで，カレントディレクトリすら見なくなるらしい。</p><br><p>つまり，カレントディレクトリも追加しないといけない。</p><br><p>しかも，ここでさらに落とし穴。それを調べていると，Windowsではjava -classpath .;a.jar AとすればOKだけど，unixだと，;でコマンドが区切られてしまう。（例えば，ls;mkdir aってやると，lsとmkdirを順に実行する。）ので，セミコロンの代わりにコロンを使う。</p><br><p>もう忘れないようにしよう...</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11482731089.html</link>
<pubDate>Sun, 03 Mar 2013 19:33:51 +0900</pubDate>
</item>
<item>
<title>Emacsの覚え書き</title>
<description>
<![CDATA[ <p>Emacsで，頻繁には使わないコマンドは忘れてしまうので，今回使ったものを記録しておこうと思う。</p><br><p>.emacs/init.elで変更を加えて再度読み込みをしたいとき，M-x eval-bufferとする。</p><br><p>ファイル名の変更をしたいときは，C-x dなどでファイル一覧を表示したあと，Rとすると良い。</p><br>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11477990289.html</link>
<pubDate>Mon, 25 Feb 2013 03:07:04 +0900</pubDate>
</item>
<item>
<title>ターミナルのタブ幅を変更</title>
<description>
<![CDATA[ <p>MacやUbuntuのターミナルでは，初期状態ではタブ幅が8で出力されるので，これを変更しようと思った。</p><br><p>tabs -4として，タブ幅を4にした。</p><br><p>.bashrcや.bash_profileに書いておけば快適。</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11476001164.html</link>
<pubDate>Fri, 22 Feb 2013 14:10:27 +0900</pubDate>
</item>
<item>
<title>各OSの画面ロックのショートカットキー</title>
<description>
<![CDATA[ <p>パソコンを長らく触っておきながら，画面ロックのショートカットキーを知らなかったので，とりあえずまとめてみる。</p><br><p>WindowsはWinキー + L</p><br><p>Macはcontrol + shift + 電源キー</p><br><p>Ubuntuはcontrol + alt + L</p><br><p>人に弄られないようにする為にも，すぐロックできるのは重要ですよね。</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11473623920.html</link>
<pubDate>Tue, 19 Feb 2013 00:14:17 +0900</pubDate>
</item>
<item>
<title>Ubuntu:RubyでHTTPSに接続する。</title>
<description>
<![CDATA[ <p>Rubyを使ってHTTPSに接続するとき，Macで接続できてUbuntuで接続できないことがあったので，メモっておこう。</p><br><p>まず，ひな形はこんな感じ。net/httpsをrequireしておいて，</p><br><pre><br>hostとportを，URI.parseで取ってくる。<br>https = Net::HTTP.new(host, port)<br>https.use_ssl = true<br>https.ca_file = 証明書のパス<br>https.verify_mode = OpenSSL::SSL::VERIFY_PEER<br>https.verify_depth = 数<br></pre><br><p>こんな感じで設定してhttps.startすると，Macだと普通に接続できたが，Ubuntuだとできなかった。</p><br><p>調べてみると，https.ca_pathというのを設定する必要があるらしい。"/etc/ssl/certs/"という所を設定する。</p><br><p>そうすると，Ubuntuでも動作するようになった。Ubuntuで動かしたいプログラムだったので良かった。</p><br>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11473619907.html</link>
<pubDate>Mon, 18 Feb 2013 23:59:55 +0900</pubDate>
</item>
<item>
<title>RubyでASCIIコードと文字の変換など</title>
<description>
<![CDATA[ <p>Ruby1.8と1.9で仕様が違い，文字列にインデクス指定して値を取り出すと，1.8の場合はASCIIコード，1.9では文字が返り値になる。</p><br><p>1.8でASCIIコードが返されるのは知っていたけど，1.9でASCIIコードを取り出す方法が分からなかったので調べてみると，まず文字列にbytesメソッドを使い，さらにto_aで配列にする。するとASCIIコード列が生成されるので，インデクス指定して取り出せば良い。</p><br><p>数字を文字に変える方法は，chrメソッドを使うらしい。</p><br><p>経緯は，Twitterのbotを作成していて，同じ文字列のツイートが0.5~1日くらいは制限されるので，後ろに時間を付加してそれを回避していたが，Time.now.to_iの下5桁とTime.now.usecが6桁はちょっと長くてツイートできる長さが短くなるなと思い，0-9a-zA-Zの62進数に圧縮してみた。</p><br><pre><br>def shorten(n)<br>  res = ""<br>  sign = false<br>  if n &lt; 0<br>    n = -n<br>    sign = true<br>  end<br>  a,b,c = "0aA".bytes.to_a<br><br>  begin<br>    tmp = n % 62<br>    if tmp &lt; 10<br>      res += (a + tmp).chr<br>    elsif tmp &lt; 36<br>      res += (b + tmp - 10).chr<br>    else<br>      res += (c + tmp - 36).chr<br>    end<br>    n /= 62<br>  end while n &gt; 0<br>  <br>  res.reverse!<br>  <br>  if sign<br>    res = "-" + res<br>  end<br><br>  res<br>end<br></pre><br><p>t = Time.now, n = t.to_i % 100000 * 100000 + t.usecとすると，nは大体11桁（上位のくらいが0になることがあるので必ずしも11桁ではない）になるので，62進数で表すと，次のようになる。</p><br><p>10 &lt;= log_{10}{n} &lt; 11のとき，log_{62}{10}を各辺にかけ，10 log_{62}{10} &lt;= log_{62}{n} &lt; 11 log_{62}{10}ゆえに5.6 &lt; log_{62}{n} &lt; 6.1である。</p><br><p>つまり6桁から7桁くらいになる。他の記号も使うともっと圧縮できるけど，今回はそこまでの必要性を感じなかったのでとりあえずこれだけ。</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11472649003.html</link>
<pubDate>Sun, 17 Feb 2013 17:50:55 +0900</pubDate>
</item>
<item>
<title>javacによるコンパイル時の，出力の文字化け</title>
<description>
<![CDATA[ <p>javaプログラミングをして，Macのターミナルでjavacを用いてコンパイルすると，エラー出力が文字化けする。</p><br><p>MacのターミナルがUTF-8であるのに対し，javacはShift_JISらしい。</p><br><p>何行目でエラーが出ているか分かればよいので放置していたが，この度設定を変更する事にした。</p><br><p>~/.bash_profileに以下のようにエイリアスを書き，jcで文字化けしないjavacを実行できるようにした。alias A=Bというのは，Aというコマンドを打ったとき，Bに変換してくれる。</p><br><p>alias jc="javac -J-Dfile.encoding=UTF8"</p><br><p>jcというコマンドは無かったので，jcで実行できるようにした。割と便利！</p>
]]>
</description>
<link>https://ameblo.jp/ftnihil329/entry-11462493876.html</link>
<pubDate>Sun, 03 Feb 2013 02:09:15 +0900</pubDate>
</item>
</channel>
</rss>
