タグ

ブックマーク / www.mwsoft.jp (8)

  • Python使いをJuliaに引き込むサンプル集 | mwSoft

    前書き Juliaという言語をご存知ですか? Pythonと同じ動的型付け言語ですが、実行時にコンパイルされることでC並の速度で動くこともあるとかないとか言われている話題のプログラミング言語です。比較される言語としてよくRやPythonが挙げられることからもわかる通り、統計や機械学習などの分野で力を発揮します。 2012年生まれとまだ若く、RやPythonが持つ多様なライブラリの力には及ばないところはありますが、CやPythonのコードを手軽に呼べる機能が用意されていたり、iPython NotebookやPyLabを呼ぶ為のインターフェースが用意されていたりと、既存の資産へのアクセス方法を用意することでその弱点をカバーしようとしています。 記事では、Juliaのサンプルコードを紹介しながら、PythonユーザがJuliaに移った際に得られるメリットを紹介していきます。 Pythonの実

  • いろんなプログラミング言語で1582年10月5日を扱ってみる| mwSoft

    概要 1582年10月5日〜1582年10月14日までの10日間は、何らかの自然現象(ゴゴゴゴゴ)によって時間が消し去れてた期間として知られています。プログラミング言語を使ってこの日を取り扱おうとすると、いろんな結果が出力されます。 今日はそんな素敵な日付である1582年10月5日と戯れて、貴重な1日を無駄にしてみたいと思います。 Java とりあえずJavaから。バージョンは7。 // 1582/10/05をパース Date dt1 = new SimpleDateFormat("yyyy/MM/dd").parse("1582/10/05"); System.out.println(dt1); // 1582/10/04をパース Date dt2 = new SimpleDateFormat("yyyy/MM/dd").parse("1582/10/04"); System.out.p

  • Java使いをScalaに引き込むサンプル集(その2) | mwSoft

    前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルするとclassファイルになり、出来上がったclassファイルをJadなどで逆コンパイルするとJavaのソースを生成できてしまうという、かなりJavaに近いプログラミング言語です。 JDKの機能やJavaのライブラリをそのまま利用することができるので、Javaプログラマが既存の知識を活用できる言語でもあります。 今回はJavaを利用している際に発症しがちな様々な症例を題材として、Scalaを利用した際に得られるメリットを紹介していきたいと思います。 興味のある方はその1も併せてご覧ください。 CPUの遊んでいるコアを死ぬほど働かせてみたいあなたに 最近のパソコンはCPUのコア数も増えてきて、4コアとか6コアのマシンも割と手頃な価格で手に入るようになってきました。 でも、そういったマシンのCPU使用率を見てみると、たいて

  • 日本テレビ東京で学ぶMeCabのコスト計算 | mwSoft

    今回はこの言葉の解析をMeCab+NAIST辞書にお願いして、結果を分析することで、MeCabが行っているコスト計算について勉強してみたいと思います。 とりあえず実行してみる さっそくMeCabに「日テレビ東京」を解析してもらいましょう。 $ echo 日テレビ東京 | mecab 日 名詞,固有名詞,地域,国,*,*,日,ニッポン,ニッポン,, テレビ東京 名詞,固有名詞,組織,*,*,*,テレビ東京,テレビトウキョウ,テレビトーキョー,, EOS 「日 | テレビ東京」と分けていますね。視聴率的には負けていますが、NAIST辞書的には日テレビよりもテレビ東京が優先されたようです。 ちなみに「フジテレビ東京」ではどうなるでしょうか。 $ echo フジテレビ東京 | mecab フジテレビ 名詞,固有名詞,組織,*,*,*,フジテレビ,フジテレビ,フジテレビ,, 東京 名詞,

  • Joda-Timeを使ってみる

    Javaのイケてない日付関連の機能に頭を抱えた時、手を出したくなるライブラリ、Joda-Time。 Joda Time http://joda-time.sourceforge.net/ java.util.Calendarなんかよりも表現力豊かで多機能。そして何よりマルチスレッド下で走らせるとあっさり壊れるSimpleDateFormatとは違いimmutableでthread-safeな作りになっている安心の一品。 JSR310が仕事で使えるようになるのは2〜3年後とかいう割と先の話になりそうなので、今日は諦めてJoda-Timeの使い方を勉強してみた。 @Author mwSoft @Date 2011/12/23 @Env Joda-Time2.0 日時はDateTimeというクラスで扱える。 import org.joda.time.DateTime; // 引数なしの場合は現在

  • Lucene/SolrのCJKAnalyzerをカスタマイズして遊んでみる

    概要 全文検索エンジンとして有名なLucene/Solr。 この子を使って日語文書のインデックスを作成したい場合、形態素解析かNgramを用いるのが一般的。 Ngramを選択した場合に良く利用されるのがCJKAnalyzer。日語や英語なんかが混ざった文章を解析する時にはそこそこに便利。 ただ、その仕様や作成されるインデックスのサイズが必ずしも要件に合うとは限らない。これを自前で改変できるようになれば、用途に合った、よりコンパクトなインデックスが作成されるんじゃないだろうか。 そんなことを思ったので、気の向くままに「1文字をインデックスに入れない」とか「カタカナはBi-gramでなくまとめて登録する」とか「顔文字の検索を考慮する」などを試してみた。

  • Javaのhello worldの読み方 | mwSoft

    前書き お馴染み、hello worldのソース。 class Hello { public static void main(String[] args) { System.out.println("hello world"); } } このコードはコンパイルされると、こんなバイトコードになります。 ca fe ba be 00 00 00 32 00 22 07 00 02 01 00 05 48 65 6c 6c 6f 07 00 04 01 00 10 6a 61 76 61 2f 6c 61 6e 67 2f 4f 62 6a 65 63 74 01 00 06 3c 69 6e 69 74 3e 01 00 03 28 29 56 01 00 04 43 6f 64 65 0a 00 03 00 09 0c 00 05 00 06 01 00 0f 4c 69 6e 65 4e

  • Java使いをScalaに引き込むサンプル集 | mwSoft

    前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルされるとclassファイルになり、実行時はJVM上で動作する、オブジェクト指向+関数型のプログラミング言語です。 Scalaを開発したのはJavaのgenericsの設計を手がけたり、javacの開発をしていた経歴も持つMartin Odersky氏。 Scalaは後発の言語ということもあって、Javaを書いている時に感じる冗長さに対する様々な解が用意されています。 記事では、ScalaJavaのコードを比較しながら、JavaユーザがScalaに移った際に得られるメリットを提示していきます。 尚、序盤のサンプルコードはJavaユーザに伝わりやすいように、returnを明記したり、メソッドは必ず{ }で囲むなど、極力Javaっぽい記述をしています。 だいたいJavaと同じような書き方ができます ScalaJava

  • 1