似非プログラマのうんちく

「似非プログラマの覚え書き」出張版

お詫びと補足

お詫び 昨日の記事ですが、IntStream の状態で一度 count をかますと、コメントに残していた一覧表示(forEach の部分)が不可能になります。お詫びして修正します。今回は個数だけを求めるプログラムに特化する形にさせていただきました。一覧も表示させる場…

エラトステネスの篩はもう古い !?

タイトルは親父ギャグじゃねーです !ゆっちさんがこんな記事を書いていたようで。 ゆっちのBlog » Java8 時代の素数の求め方最初はそのままパクらせていただいて動かしていました(それでもなかなかに早い)が、地味に無駄な処理があることに気がつきました。b…

エイプリルフールを満喫できる休日はいつ訪れるか

今日は 4 月 1 日です。新年度の始まり、そしてエイプリルフールですね。いろんな人がよってこぞってエイプリルフールネタを投下してくるので、どれが本当の記事かわかりません(苦笑)。しかし今日はあいにくの平日とあって、エイプリルフールを満喫している…

やっぱり Rails を選択しない 3 つの理由

それでもRailsを選択する3つの理由 - pblog を読んで、敢えて反論を書いてみたくなった天の邪鬼の戯言と思ってください。 まず反論 業務レベルで Rails の導入を検討した場合、概ね以下のような感じになるんじゃなかろうか。 「規約縛りの哲学」への反論 言…

JPA + EJB + JSF による Web アプリケーション(その 6)

∧,,∧ (;`・ω・) 。・゚・⌒) View 作るよ!! / o━ヽニニフ)) しー-JFacelets 群 + α。 MajorCityJavaEE/list.xhtml at master · akaneko3/MajorCityJavaEE · GitHub MajorCityJavaEE/detail.xhtml at master · akaneko3/MajorCityJavaEE · GitHub MajorCity…

JPA + EJB + JSF による Web アプリケーション(その 5)

長らくお待たせいたしました。今回は Java のソースコードを書いていきます。 下準備 前回作った JSF のプロジェクトのビルド・パスに、以前に作った EJB のプロジェクトを含めること。これをしないと EJB 側のパッケージを参照できずエラーになります。 管…

JPA + EJB + JSF による Web アプリケーション(その 4)

今回は JSF 側のプロジェクトを作っていきます。まずは JSF のプロジェクトを作ります。ファイル構成はこんな感じ。 WebContent/WEB-INF/faces-config.xml や WebContent/lib 内に初期に配置される各種 jar は必要ないので削除します。代わりに WebContent/l…

JPA + EJB + JSF による Web アプリケーション(その 3)

そろそろ現実に帰って Java EE の記事を書きます(汗)。Model の Entity を JPA で、Business logic を EJB で実装します。JPA は前にも説明した通り永続化と O/R マッピングですが、EJB をことさらに使う理由としては、WildFly (やその他 Java EE アプリケー…

jQuery と Sass で FizzBuzz を作ったよ(改良)

前回の記事で作ったものは FizzBuzz をやっているのは実質 jQuery 側、ということで、全部 Sass にやらせるバージョンを作ってみた。akaneko3/FizzBuzz · GitHubmixin にデフォルト値付きの引数を持たせている。mixin を呼び出すときに引数を適当に引数を与…

jQuery と Sass で FizzBuzz を作ったよ

いろんな人がやってるから何番煎じかわからんけど HTML はベタ打ちせずに jQuery を利用した DOM で生成する Sass を利用してスタイル(文字色の変更)を適用する 3 と 5 はリテラルとして使って良いが、 15 (= 3 * 5)*1 はリテラルとして直に使ってはいけない…

JPA + EJB + JSF による Web アプリケーション(その 2)

前回の続きで下準備編。 PostgreSQL の下準備 PostgreSQL のインストールとデータベースの作成 ごっそりと割愛。他の人が解説してくれてるよ、きっと(丸投げ)。 データの投入 SQL をぶん投げる。長くなるので折りたたみ。

JPA + EJB + JSF による Web アプリケーション(その 1)

そろそろ本腰入れて Java EE 7 について書こうか。うん、そうしよう。随分と長いこと WildFly には嫌われてきた*1が、ようやく動かせる状態になったので、簡単なサンプルを元に解説なんぞできればよろしいかと。Java EE に含まれているいくつかの API のうち…

独自のカウンタースタイルを定義する

まだ CSS3 の草案の段階ではあるが、独自のカウンタースタイルを定義することができる。そのサンプルがこちら。 全角数字カウンタスタイル通常の decimal だと半角数字になるが、この em-decimal では全角数字になる。それに意味があるかと言われると微妙*1…

Rust 始めました

Rust という 変態 プログラミング言語を始めてみますた。とりあえずさくっと階乗でも書いてみるかー、で作ったもの。 Factorial with Rustもうちょっとスマートに書きたい。 fold(1, |a, b| a * b) の第二引数は Haskell っぽく演算子をそのまま関数っぽくし…

MyBatis + Guice でカンタン DAO 実装(その 4)

View の作成 Velocity で作る。list.vm <html> <head> <title>日本の政令指定都市一覧</title> <link rel="stylesheet" href="css/list.css" type="text/css"> </head> <body> <table> <caption>日本の政令指定都市一覧</caption> <colgroup> <col id="no"> <col id="pref"> <col id="name"> <col id="button"> </colgroup> <thead> <tr>…</tr></thead></table></body></html>

MyBatis + Guice でカンタン DAO 実装(その 3)

Servlet の作成 DAO の使い方の例として。 package jp.mydns.akanekodou; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servl…

MyBatis + Guice でカンタン DAO 実装(その 2)

前回の続き。 DAO 層の実装(続き) まずは DAO クラスであることを明示するためのインターフェースを用意*1する。 package jp.mydns.akanekodou.dao.util; import java.util.List; /** * DAO クラス共通インターフェース * * @author Red cat * @param <T> DAO </t>…

MyBatis + Guice でカンタン DAO 実装(その 1)

O/R マッパーである MyBatis と軽量 DI コンテナ Guice による DAO 実装について、今回から数回に分けて書きます。 MyBatis とは MyBatis は iBatis の後継となる O/R マッパー。マッピングファイルに SQL を記述し、インターフェースを用意することで、マッ…

JUnit4 による例外発生時のメッセージのテスト

JUnit 4.7 からの機能で、例外が throw されたときのメッセージ(getMessage で取得できる文字列)をチェックすることが出来るようになったらしい。具体的には、同じ例外クラスを throw するが、ケースによってメッセージが変わるような場合に、@Test(expected…

JUnit による単体テストの自動化

JUnit は Java における単体テストの自動化をサポートするサードパーティー製のライブラリ(フレームワーク)である。が、これだけの説明では何のことかわからないと思うので、もう少し詳しく説明する。 単体テストの定義と意義 単体テストとは ? 単体テストと…

Sass はプログラマの三大美徳を満たす

このブログの究極の目標は、皆さんにプログラマの三大美徳、短気・怠惰・傲慢を身につけていただくことである。今回は、Sass を例にとってプログラマの三大美徳を見ていただこう。Sass とは ? : Sass: Syntactically Awesome Style Sheetsある CSS で以下の…

Scala で階乗

非負整数 n に対して n の階乗を出力するプログラムはいわゆる「再帰呼び出し」の教材として良く用いられるが、言語によっては再帰を使わなくても書けることがある。で、関数型の要素を持つ Scala で上手いこと書けないか、とまず試作したのがこれ。 def fac…

文字列のリストの各要素を一行ごとに改行させて表示する

文字列のリスト([String] 型)の最初の n 個を取り出して 1 行ごとに表示する関数。意外と使い勝手あるんじゃないかと思うので Gist に上げてある。utf8-string を使ってマルチバイト文字対応してますので utf8-string がないと動きません。あしからず。 gist…

某ドワンゴ社員の発言への所感

今日は料理のお話をします。ある料理店でコックたちが新しいメニューを考案しました。しかしそのメニューはお客さんには評判が悪く、口々に「昔のメニューに戻してよ」と言われる始末。仕方なく店主は新しいメニューを諦め、昔のメニューで出直すことにしま…

よくわかるかどうかわからない現代魔法(その 4)

C

今回はまとめです。今までプログラミング言語の話を「魔法」にまつわる言い回しを用いて書いてきましたが、改めてプログラミング言語(C 言語)の言葉に置き換えるとだいたい以下のようになります。 「魔法」用語 C 言語の用語 魔法 プログラム本体 魔導書 ヘ…

よくわかるかどうかわからない現代魔法(その 3)

C

今回は「二つの『ルーン文字』の効力を入れ替える『呪文』」を作ってみたいと思う。 第一の失敗 まずは「呪文」を作る前に、どうすれば「二つの『ルーン文字』の効力を入れ替える」ことができるか考えてみよう。素朴に書くとしたらこうだろうか。 #include <stdio.h> </stdio.h>…

よくわかるかどうかわからない現代魔法(その 2)

C

前回の続き。 自分で「呪文」を作る 古代魔法でもいくつかの呪文を組み合わせて新しい呪文を作り出すことはあったであろうが、現代魔法でももちろん可能である。今回は「税抜き価格を書き添えたら、税込み価格を教えてくれる『呪文』」を作ってみよう。 #inc…

よくわかるかどうかわからない現代魔法(その 1)

C

ライトノベル「よくわかる現代魔法」で扱われるところの「現代魔法」が「プログラミング」のことであるのは、読んだことがある方ならご存じかと思う。今回は C のプログラムを題材に、いかにも魔法を解説するかのごとく、どうやってプログラミングを進めるか…

運用方針

徐々にはてなダイアリー「似非プログラマの覚え書き」を本当に覚え書きなどに、はてなブログ「似非プログラマのうんちく」を講座的な内容にしていく予定。講座なんてご大層な内容は書けませんが。

まずはテスト

はてなブログでも syntax highlight が使えると聞いて。 class Hello { public static void main(String args[]){ System.out.println("Hello, World!"); } } class Integer def ! (1..self).inject(1, :*) end end puts 3.! # => 6 puts 0.! # => 1