ScalaでSHIFT_JISのファイルを読み込む(その他もろもろ)

最近Scalaの勉強を初めまして、試しに手元のSJISのファイルを読み込んだところエラーになりまして。
ちょっと調べたら次のブログに解決法があったので、参考にさせていただきました。

scala.io.Sourceとscala.xml.parsing.XhtmlParser – ゆろよろ日記

コードとしては以下の通り。

import scala.io.Source
Source.fromFile(”D:/hoge/moge.txt”, “Shift_JIS”).getLines.foreach(println)

SourceオブジェクトはRubyでのopenに該当する感じです。
fromFileメソッドで読み込むファイルのパスと、次に文字でエンコードを指定するだけです。
エンコードの指定は、SHIFT_JISでもSJISでも問題なく動きました。

しかしこのSource.fromFile、こんなに便利だけどclose処理は行ってくれないらしい・・・。
次のバージョンでなんとかしてもらえる事を祈ります。

また、Scalaは通常のクラスの他に、staticな部分だけを抜き出したようなオブジェクトがあるのですが、
これがAPIドキュメントでは完全に分かれていて、調べていてはまりました。
fromFileメソッドはSourceオブジェクトに属するメソッドなので、調べる場合はそちらのドキュメントを
見る必要がありますが、うっかりクラスの方を見ていても、該当するメソッドの名前も無いし、
オブジェクト側へのリンクもヒントもありません。

■Sourceオブジェクトのドキュメント
https://www.scala-lang.org/docu/files/api/scala/io/Source$object.html

■Sourceクラスのドキュメント
https://www.scala-lang.org/docu/files/api/scala/io/Source.html

やっかいですな。

PS3にUbuntu9.10(Karmic Koala)をインストールときの注意点

PS3にUbuntu9.10入れてネットラジオを垂れ流してやろうと思いインストールしたものの、
予想外に苦労しましたが、ようやく解決しました。

「PS3にUbuntu入れるときはHDDのフォーマットでext4選んじゃダメ!」

今回インストールした際、インストール自体には成功するものの、
その後のUbuntuの起動で、rootfsが無いとかいうエラーが出る現象に悩まされました。
CDの焼きミスか、などと思い何度やり直してもだめで、いろいろ検索した結果、

KBOOT no root fs was found after install PS3 UBUTU 9.04 alternate powerpc Jaunty release
こちらの10番目の発言

The only reason for the PS3 to show that error is because PS3 can’t read ext4.
Format your drive to ext3 and reinstall ubuntu.

で、ついに原因が分かりました。
Ubuntu9.10からはext4が標準になってるので、インストール時に手動で設定変えない限り、
このエラーが出ることになります。
気づくまで時間かかった…。

ついにgoogleお断りなサイトが出てきそうな件

たまには技術ネタ以外でも。

【Financial Times報道】マイクロソフト、ニューズと提携交渉か : M&A/組織改編 – Computerworld.jp

googleのヘビーユーザーとしては検索結果に出なくなるのは残念ですが、
これはこれでありではないでしょうか。
出来事を取材して記事にするのには、金も人手もかかるわけで、
それを無料で公開されてはたまらないでしょう。

こんな事言うのも思うところがあるからで、最近、「Yahooニュースを見た!」って
言い方する人が増えているんですが、Yahooは基本的に新聞社の記事を載せているだけなのに、
本気でYahooがニュースを配信しているんだと思っている風潮があるようで、
さすがにそれはいかんのではないか、と。

もっとひどいのになると、新聞の社説に対しての論評を書かれているブログのコメント欄で、
「このブログで社説を解説してくれるから、新聞なんていらないですね!」
って感じのコメントがあって、ギャグなのか皮肉なのか散々悩んだものの、
どうも本気らしいってのもあったり。
新聞無かったら、どうやって社説に対して論評書くのかと。

マスコミに関しては個人的な体験からも色々不満はあるものの、
さすがに今のネット側が消費するだけの関係は改善されるべきだと考えていたので、
今回の件を機に、いくらか正常な状態になればいいな、と思います。

Apacheのアクセスログから画像やcssのログを削除する

httpd.confに以下を記述。これでスッキリした。

#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
SetEnvIf Request_URI “\.(gif)|(jpg)|(png)|(css)|(js)$” nolog
CustomLog logs/access_log combined env=!nolog

こちらを参考にさせていただきました。
Apache のログをカスタマイズ

Railsでメール送信ができない場合のデバッグ方法

development環境でメール送信機能を作成していて、
動かしてみると何のエラーも無く送信できているように見えるのに、
実際には送られなくてはまった。

原因が分からなくて、何気なくconfig/environments/development.rbを覗いていると、
こんなセッティングが!

# Don't care if the mailer can't send
config.action_mailer.raise_delivery_errors = false

デフォルトではメール送信時にエラーが起きても無視する設定らしい・・・。
これをtrueにして再度送信してみたら、例外が発生して原因がすぐ分かりました。
根本的な原因は、
ActionMailer::Base.delivery_method = :smtp
とすべきところを、
ActionMailer::Base.delivery_method = :smtpd (←なぜか最後にdつけてた)
としていただけなんですが、ずいぶんはまってしまいました・・・。

manコマンドのセクション指定方法

忘れそうなのでメモ。
Linuxのmanコマンドでセクション指定してマニュアルを見たい場合。

man セクション 名前

例えばcrontabだとコマンド:crontab(1)と設定ファイル:crontab(5)の二つあるので、
設定ファイルの方を見たい場合、次のようにする。

man 5 crontab

UbuntuをMacBookProにインストールしてみた

注文していたこれが届いたので

さっそくUbuntu入れてみた

さきのエントリで書いたUbuntuオフラインミーティングに持っていったノートはこれでした。
オフラインミーティングで入れたときはすんなり入って普通に動いたので拍子抜けしましたが、
そのときはなぜか2GBの領域にインストールされてしまったので、
今日はUbuntuだけいれてみたりMacOSとのデュアルブートにしてみたり色々試しつつ入れ直してました。
手順などはそのうちまとめてみます。

一旦起動してしまえばかなりいい感じで動くのですが、起動関連が問題ありです。
再起動できない、サスペンド無理っぽい、電源オンからの起動時にoptionボタン押しっぱなしにしとかないと、
問答無用でMacOSが起動してしまうなど、なかなかの難物です。
カーネルが2.8.30だとマシになってるみたいな情報も見ましたが、まだまだ調査中です。

そうそう、追記ですがAppleさんにとってはMacOS以外のOSはすべてwindowsのようです。

見づらいので大きめの写真にしましたが、windowsとなっているのが、
ブート時に選択するUbuntuの入っているパーティションです。
ひどいよ・・・

このブログについて

ぐりです。プログラムの仕事をしているので、 その関係の事とか、関係ない事とか、 適当に脈絡なく書き綴っています。

カレンダー

2010年2月
« 1月    
1234567
891011121314
15161718192021
22232425262728

カテゴリー

friends