なんじゃくにっき

プログラミングの話題中心。

2013-01-01から1年間の記事一覧

年賀状はチケットショップで買うとお得

年賀状はチケットショップで買うとお得です。 1枚47円とか48円で買えます。割と有名な話ですが、 なぜチケットショップに大量に出回っているというと、 郵便局員の人が大量に持ち込むからですね。ノルマが厳しくて親戚・知人に買ってもらっても達成できない…

Ruby 2.1.0にアップデート[Mac][CentOS]

【rvm使っている場合】 前提としてrvmは入っているものとするhttp://d.hatena.ne.jp/nanjakkun/20121110 http://d.hatena.ne.jp/nanjakkun/20130715まずはrvm自体の更新 $ rvm get stableインストールできるバージョン確認して $ rvm list knownインストール…

ScalaからLuceneを使ってみる

Java製全文検索エンジンのLuceneをScalaから使ってみます http://lucene.apache.org/ まずはプロジェクト定義 build.sbt name := "lucene_sample"version := "1.0"scalaVersion := "2.10.2"scalacOptions ++= Seq("-feature")libraryDependencies ++= Seq( "…

R言語 クロージャーで簡易OOP

Wikipediaのクロージャーの項のカウンターのプログラムをRで書いてみます。 http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3 counterGenerator function() { count count } }counter = counterGenerator()cat(counter()) # 1 c…

R言語のクロージャー(Closure)と変数のスコープ

Wikipedia: クロージャ http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3 【1】 x func1 cat(x) # 10と出力される }関数内から外の変数にアクセスできます。 【2】 x func1 x cat(x) # 20と出力される } func1() cat(x) # 10と…

R言語におけるオブジェクト指向プログラミング(OOP)

R言語は統計用のプログラミング言語で、言語としてはオブジェクト指向言語と言われているわけではありません。 では多くのプログラマが慣れ親しんだオブジェクト指向プログラミング(OOP)が出来ないのか? 答えは勿論Noで、OOPのための仕組みがあります。 R…

EMOBILE 機種変更

イーモバイルのGS02を使っていたのですが、調子が悪いのでGS01に機種変更しました。 一応型番ではGS01の方が前ですが、発売日はGS02の方が先です。 と言ってもどちらもOSのバージョンはAndroid 2.3.xなので大差ありませんが。あと、イーモバイルのスマートフ…

Rを3.0にアップデート

Rのバージョンを3.0にあげました(正確には3.0.1)。 CentOSの場合はepelのリポジトリに登録されていたのでyumで一発。 新機能は↓参照 http://www.r-statistics.com/2013/04/r-3-0-0-is-released-whats-new-and-how-to-upgrade/

Mac Book AirにRVM使ってRubyインストール

MBAにRVM入れました。下の記事そのまま実行しただけです。感謝。他力本願です。http://blog.erratasec.com/2013/02/ruby-193-on-osx-mountain-lion-with-mac.html#.UeOkqVPv1Uo CentOSならこっち http://d.hatena.ne.jp/nanjakkun/20121110

Android / iOS共用プロジェクトを作る

AndroidとiOSで同じ内容のアプリを作るのに別々にコードを書くとめんどくさいので、 write onceで済ませたい、といったときに取る方法。 1. WebViewを使って共通のHTML/JavaScriptをそれぞれから読み込む。 特にフレームワークを使わないやり方。 JavaScript…

三値論理と群論

以前書いた二値論理を三値論理に拡張します。 二値論理の場合は、演算子は2^(2^2) = 16種類で済みましたが、 三値論理の場合は、演算子は3^(3^3) = 19683種類もあるので全てを書くと大変な量になるので対称性の高い物だけ。 三値論理については体系がいくつ…

Scalaでデータマイニングするためのライブラリ

メモ。 Scalaでデータマイニングするためのライブラリ。 Javaのも含みます。 【ScalaLab】 http://code.google.com/p/scalalab/ MATLABを意識して作られた科学計算環境(?) 実行可能jarで配布されている。 けどプロジェクトがsbtプロジェクトじゃない。 ス…

【受験記】セキュリティスペシャリスト

試験科目:セキュリティスペシャリスト【実施日】 2013年4月28日 【結果】 2回目の受験 1年前に受けて撃沈したのでリベンジ。◎合格 午前I :免除(2011年度春季特別 データベーススペシャリスト 合格のため) 午前II:92点 (23/25) 午後I :68点(選択:問1、…

Unityはじめました

UnityのiOS/Android向け出力アドオンが無料になったのでUnityを始めてみました。 無料っても年商10万ドル以下で、次のメジャーアップデートまでですが。 まあ個人で細々とやるには当面大丈夫そう。http://japan.unity3d.com/blog/?p=1075ダウンロードは↓ htt…

二値論理と群論

前回の続き 前回挙げた16種類の論理演算と、 {True, False}の2つの値からなる集合とがなす16種類の代数構造のうち、 どれがモノイドや群なのかを調べた。 以下S = {True, False}とする1. 全てはマグマである 演算の結果がやはりSに属するので16種類全てがマ…

16種類の論理演算

↓に乗っている2値論理の16種類の論理演算の2項演算子をScalaで書いてみた。http://ja.wikipedia.org/wiki/%E8%AB%96%E7%90%86%E6%BC%94%E7%AE%97ただ単純に実装するとつまらないので、真偽表を使う(= case文を使う)のは NANDだけにして、あとはNANDから導…

自分でよく使うsbtの設定雛形

・Eclipseプロジェクトにする ・/src/main/javaはいらない ・テストはScalatest %PROJECT_ROOT%/build.sbt name := "xxx"version := "1.0"scalaVersion := "2.10.0"scalacOptions ++= Seq("-feature")libraryDependencies += "org.scalatest" % "scalatest_2…

Skypeインストール on Centos 6.2

Skype公式から入手できるrpmだと依存ライブラリのバージョンが古くてうまくいかなかったので、 ↓の記事参考にしたhttp://wiki.centos.org/HowTos/Skype # 依存ライブラリインストール yum install glibc.i686 nss-softokn-freebl.i686 alsa-lib.i686 libXv.i…

getOrElseUpdateOpt?

scala.collection.mutable.MapLike[A,B]のgetOrElseUpdateは戻り値の型がBだけど、 Option[B]で返すgetOrElseUpdateOptみたいなのが欲しくなった。 こんなの。 なんか他にいい方法があるきもする・・ trait MyMap[A, B] extends Map[A, B] { def getOrElseUp…

Ruina 廃都の物語 5周

「Ruina 廃都の物語」を5周した。2周目以降は1周3時間ちょっとでクリアできるので楽。 主人公とPTを周回毎に入れ替えて大体イベントは見終わった筈。 ランダムダンジョンのレアアイテムは集まらなかったけどかなり確率低そうなので諦める。全主人公試してみ…

Ruina 廃都の物語 クリア

Ruina 廃都の物語というフリーゲームをクリアした。実は今回が初プレイではなくて、数年前に一度少しプレイしたのだが、 序盤でバグにひっかかって詰まってやめたという過去がある。 世界観自体は中世ヨーロッパ+古代ローマで珍しいものでもないが、 マップ…

【読了】コンピュータサイエンスのための離散数学 & マグロウヒル大学演習 離散数学

コンピュータサイエンスのための離散数学 と マグロウヒル大学演習 離散数学を最後まで進めた。双方とも、離散数学というとても幅広い分野を広く浅く抑えてある。 扱う内容は・集合 ・関係 ・オートマトン ・グラフ理論 ・数理論理学 とにかく一分野の説明に…

Scalaで集合論・代数 マグマ(Magma)

まとめはこっち前置き半群の前にマグマ(Magma)をやっておくのを忘れていました。 代数的構造まず、代数的構造というのは集合と演算の組です。 例としては【整数と整数上の加法の組】などです。 参考: http://ja.wikipedia.org/wiki/%E4%BB%A3%E6%95%B0%E7%9…

Scala勉強会 第100回に参加

昨日(3/20)はScala勉強会の記念すべき(?)第100回でした。 チームラボさんにお邪魔してきました! 内装が面白かったです。祝日ということでハッカソンでした。 折角5時間くらいコードを書いていたので、一応成果発表してきました(グダグダだったけど)…

Package Object と同階層にObjectを作ってstatic importしようとするとコンパイルエラー

Package Object と同階層にObjectを作ってstatic importしようとするとコンパイルエラーが発生。 再現コードは↓ package object hoge {} package hoge { object Hoge { type Piyo = Int } package huga { import hoge._ import hoge.Hoge._ } }hoge.hoge.Hog…

Scalaで集合論・代数 半群(SemiGroup)【2】

まとめはこっち前回のおさらい半群とは以下の条件を満たす集合Sと演算*の組のこと。 条件1. 集合Sが演算*に対して閉じている すなわち、S上の任意の元a, b に対して、演算結果 a * b は再び S に属する。 条件2. 集合S上の演算*は結合法則を満たす。 すなわ…

Scalaで集合論・代数 半群(SemiGroup)【1】

まとめはこっち 半群とは? Scalaで集合論・代数、ということで第一回は半群(SemiGroup)について勉強します。 そもそも半群とは何か・・というと、 群とか束とか環とかいった代数的構造から共通する性質を抜き出したものです。 先ず代数的構造ってナニ? …

Scalaで集合論・代数

代数を勉強する傍ら、プログラミングの世界ではその代数の表現がどう表せるかを Scalaで実装してみようと思います。 そもそも代数とは何か、とかいうようなことがあまり分かっていないレベルなので、 間違いがあったりするはずなので鵜呑み厳禁。 訂正・助言…

CentosでDVD再生できるプレイヤー

DVDを見ようと思ったらCentos標準搭載の動画プレイヤーで再生できないやつが出てきた。 簡単にインストールできるやつを探してきたらKaffeineってのがあった。 yum install kaffeine (caffeine ではなくkaffeine) でインストールでけた。 (事前にrpmforgeの…

SATソルバとは

SATソルバとは・・CNF(乗法標準系)で表された論理式が充足可能(SAT)か充足不能(UNSAT)か調べるプログラムのこと。 CNFとは・・変数もしくは変数の否定(NOT)の和(OR)の積(AND)で表される論理式のこと例1) (P1∨P2)∧(¬P1∨P4) 充足可能(SAT)とは・・論理…