タグ

ブックマーク / nowokay.hatenablog.com (18)

  • Struts1職人の朝は早い - きしだのHatena

    Struts1職人の朝は早い。 「毎日毎日DBとアプリサーバーが違う。機械ではできない」 「このstruts-config.xmlはダメだ。ほら、すぐ裂けてしまう」 ここ数年はLLとScalaに押されているという。 下町Struts1の灯火は弱い。だが、まだ輝いている。 「やっぱりアレですね、たいていの若い人はすぐやめちゃうんですよ」 「それを乗り越える奴もたまにいますよ。そういう奴が、これからのStruts1界を引っ張っていくと思うんですね」 今日も彼は、日が昇るよりも早くstruts-config.xmlの整形を始めた。明日も、明後日もその姿は変わらないだろう。 そう、Struts1職人の朝は早い。 夜も遅い。

    Struts1職人の朝は早い - きしだのHatena
    H_Yamaguchi
    H_Yamaguchi 2013/06/26
    最近はLLしか書いてませんが、それでも夜は遅い。。。。。。
  • 書評:Twitter API ポケットリファレンス - きしだのHatena

    ずいぶん昔に献いただいてたんだけど、つい書評書きそびれてて、なんだかyusukeが書評を書いてほしそうにこちらを見ていたので、書きます。 Twitter API ポケットリファレンス (POCKET REFERENCE) 作者: 山 裕介出版社/メーカー: 技術評論社発売日: 2011/07/15メディア: 単行(ソフトカバー)購入: 3人 クリック: 247回この商品を含むブログ (43件) を見る 書評を書きそびれてたのには言い訳があって、こういうリファレンス、頭から読むでもないし、かといって掻いつまんで見てオフィシャルサイトの説明どおりだねって確認したところで、それじゃ書評になんないし、って思ってたら、つい月日がたっちゃってた。 んで、最近ひさしぶりにTwitter APIを叩くプログラムを書いてみて、で、今回はJSONでそのまま扱いたかったのでTwitter4J使わずに処理

    書評:Twitter API ポケットリファレンス - きしだのHatena
    H_Yamaguchi
    H_Yamaguchi 2012/09/04
    「今話題のTwitter APIがこれ一冊で」みたいな・・・。タイムリーといえばタイムリー・・
  • トランザクションの分離レベルを実装する - きしだのHatena

    データベースの勉強に、最初はかわいかったけどだいぶゴツくなったデータベースを作っています。 http://d.hatena.ne.jp/nowokay/20120817#1345197962 前回で、なんとなくトランザクションがちゃんと動いたんですけど、 id:kiwanami に「隔離レベルとかの検討とか。」と言われて、そのときはちょっと難しいから後回しかなーと思ったんだけど、案外簡単に実装できそうだったので、ちょっとやってみました。 トランザクションの分離レベルというのは、他のトランザクション内での変更がどのように見えるかというレベルです。 次のような4つのレベルがあります。 READ UNCOMMITTED 未コミットの操作も見えちゃう READ COMMITTED コミットした操作は見えちゃう REPEATABLE READ コミットした追加・削除は見えちゃう。更新は見えない SE

    トランザクションの分離レベルを実装する - きしだのHatena
    H_Yamaguchi
    H_Yamaguchi 2012/08/29
    ゴツカワイイ
  • Windows64bitでJNAでJavaからC++コード呼び出そうとしてハマった話 - きしだのHatena

    Javaからネイティブコード呼び出そうと思ったんです。 で、あんまりやる気もないんで、JNIじゃなくてJNAでやろうと思ったんです。 Windows7 64bitで。 ということで、まずMinGWインストールしたんです。 http://www.mingw.org/ んで、NetBeans7.1で「オプション」の「C/C++」のところの「ツールコレクション」で「ベースディレクトリ」に「MinGW\bin」を指定したんです。 それから「C/C++動的ライブラリ」プロジェクト作って、「newfile.c」って名前でこんなコード書きました。 #include <stdio.h> void hello(){ printf("test\n"); } それから「構築」ってやるとDLLができたんです。 あとはJavaからの呼び出しコード書こうと思って、まずはJNAのサイトからjna.jarをダウンロードし

    Windows64bitでJNAでJavaからC++コード呼び出そうとしてハマった話 - きしだのHatena
    H_Yamaguchi
    H_Yamaguchi 2012/06/19
    途中まで読んで、「インドの青鬼」って何?って気になってしょうがなかったけど、最後に解決できたので、とっても良い記事だと思いました。あと、WindowsとかJNAとかCとかはよくわからないです。
  • MapReduceのパターン、アルゴリズム、そしてユースケース - きしだのHatena

    Ilya Katsov氏による「MapReduce Patterns, Algorithms, and Use Cases」の翻訳 http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/ (下書きに入れて推敲するつもりが、なんか公開されてしまっていたので、あとでいろいろ修正すると思います) February 1, 2012 この記事では、Webや科学論文で見られる異なるテクニックの体系的な視点を与えるために、数々のMapReduceパターンとアルゴリズムをまとめた。 いくつかの実用的なケーススタディも提供している。 すべての説明とコードスニペットでは、Mapper、Reducer、Combiner、Partitionaer、ソーティングにおいてHadoopの標準的なMapReduceモデルを利用します。このフレー

    MapReduceのパターン、アルゴリズム、そしてユースケース - きしだのHatena
    H_Yamaguchi
    H_Yamaguchi 2012/02/24
    昼ご飯食べながら読もう。
  • 九州大学医学部のほうから来たKさんの開発した「ゴーストfor文」がものすごい - きしだのはてな

    九州大学医学部のほうから来たKさん*1が開発した「ゴーストfor文」がものすごい。 普通の大人なら、1分で指定回数繰り返すfor文が書けるようになる。 やりかたは下の図を見てね。 変数iを使って5回繰り返す場合 ・iを①、②、④に入れる ・5を③に入れる ・答えは for(i = 0; i < 5; i++) これでインド人に勝てます! なお、普通に書いてるだけじゃないかという批判にKさんは Cなどでfor文の書き方を知っている人はいっぱいいます。でも、Cをやってこなかった文系学生だって一杯いるのです。そういう人がお魚のイラストで簡単にfor文が書けるようになればそれでいいじゃないですか。 などと反論しているようです。 参考:東大医学部現役合格生の開発した「ゴースト暗算」がものすごい - Togetter *1:東京からみた場合

    九州大学医学部のほうから来たKさんの開発した「ゴーストfor文」がものすごい - きしだのはてな
    H_Yamaguchi
    H_Yamaguchi 2011/12/28
    長めの魚を用意しないといけない。
  • アルゴリズムの勉強のしかた - きしだのHatena

    この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういうで勉強すればいいか、ぼくの知ってるからまとめてみました。

    アルゴリズムの勉強のしかた - きしだのHatena
  • テスト駆動開発が嫌いだ - きしだのHatena

    テスト駆動開発が嫌いだ。 ただし、ここでの「テスト駆動開発」は日で今TDDと呼ばれてる多義的なものじゃなく、「テスト駆動開発入門」にかかれている「テスト駆動開発」。 もっと正確にいうと「テスト駆動開発入門」がミスリーディングをわざと誘ってて有害で嫌い。 テストは、プログラムが正しく動くことは検証できるけど、プログラムが正しいことは検証できない。そのようなテストに設計を依存してしまうと、正しく動くプログラムは作れるけど正しいプログラムは作れない。 設計も含めてテストによって駆動しましょうという「テスト駆動開発入門」のやり方では正しいプログラムが作れない。プログラムの正しさを別のやり方で担保しつつ、そちらを中心に開発を駆動して、あくまでも開発作業だけをテストで駆動するという考え方のほうが、正しいプログラムに近づける。 そして、TDDをいまがんばってる人たちも、それは当たり前にわかってると思う

    テスト駆動開発が嫌いだ - きしだのHatena
    H_Yamaguchi
    H_Yamaguchi 2011/08/27
    タイトルは釣り!?
  • 2010-11-25 - きしだのはてな - 技術力をあげたいプログラマが読んでおかないと話にならない本10冊

    ここにあげたじゃなくてもいいので、同じ分野でなにか読むとか、に書いてあるほど詳しくなくてもそれなりに知識をもっておくべき。 アルゴリズムクイックリファレンス 作者: George T. Heineman,Gary Pollice,Stanley Selkow,黒川利明,黒川洋出版社/メーカー: オライリージャパン発売日: 2010/04/26メディア: 単行(ソフトカバー)購入: 11人 クリック: 656回この商品を含むブログ (72件) を見る まずはアルゴリズム。クイックって書いてあるけどぜんぜんクイックじゃないw。各言語で書かれた入門書を読んでもいいと思う。 実際のプログラムにアルゴリズムの知識を活かすということを知りたいならプログラミングコンテストチャレンジブックがおすすめ。 プログラミングの基礎 ((Computer Science Library)) 作者: 浅井健一

    2010-11-25 - きしだのはてな - 技術力をあげたいプログラマが読んでおかないと話にならない本10冊
    H_Yamaguchi
    H_Yamaguchi 2010/11/25
    最後の2冊以外は読む。
  • 「はじめてのGoogle App Engine for Java」出ます - きしだのはてな

    工学社から、Google App Engine for Javaが出ます。 はじめてのGoogle App Engine for Java―巨大サーバを利用したWebアプリ開発の基! (I/O BOOKS) 作者: きしだなおき出版社/メーカー: 工学社発売日: 2010/09メディア: 単行 クリック: 168回この商品を含むブログ (6件) を見る 目次はこちらの工学社のサイトで http://www.kohgakusha.co.jp/books/detail/978-4-7775-1548-6 版形もA5と小さく240ページとコンパクトなので、読みやすいと思います。 データストアに関しては、JDOとかJPAとかはばっさり切り捨てて、低レベルAPIだけで説明してます。 あとは、適当に基的なサービスの説明を。 版形もA5と小さく240ページとコンパクトなので、読みやすいと思いま

    「はじめてのGoogle App Engine for Java」出ます - きしだのはてな
    H_Yamaguchi
    H_Yamaguchi 2010/09/16
    ぽちる
  • Google App EngineでのDatastore使用量見積もりは注意が必要 - 2010-02-17 - きしだのはてな

    先日セッションデータを消したかったのは、Datastore使用量が1GBを超えて一日0.01$の課金がかかってたからなのです。日曜日くらいに無事消えました。 Google App Engine/Javaでセッション情報を定期的に消す処理 130万件を消す処理に5日以上かかった計算に。もちろん、もう少しちゃんと組めばもっと早く終わると思うのですが、それはつまり、130万件を消去する処理を書くには単純なコードでは無理ということです。※急いでなかったので30分に13回程度の処理しか行ったためで、ちゃんと処理をすると3時間かからないくらいにはなりそうです。(23:08追記) まあ、日数がかかるのはいいとして。 セッション情報がたまってるときのエンティティサイズはこのように360MB程度になっていました。 ただ、このときデータストア使用量は1GBを超えて、0.01$の課金がかかっています。 これが、

    Google App EngineでのDatastore使用量見積もりは注意が必要 - 2010-02-17 - きしだのはてな
  • JavaでFlashファイルを生成する - きしだのはてな

    JavaSWFを使ってSWFファイルを生成してみました。 JavaSWFは、名前のとおりJavaからSWFファイルを読み書きできるライブラリです。 http://sourceforge.net/projects/javaswf/ ソースはこんな感じ import com.anotherbigidea.flash.movie.*; import com.anotherbigidea.flash.structs.*; import java.io.IOException; public class NewClass { public static void main(String[] args) throws IOException{ //枠線 Shape sh = new Shape(); sh.defineLineStyle(3, new Color(0, 255, 0)); sh.set

    JavaでFlashファイルを生成する - きしだのはてな
  • データベースのスキーマレス化も静的型付けを復権させるかも - 2010-01-06 - きしだのはてな

    最近Google App Engineのプログラムを組んでて、そうすると当然データベースはスキーマレスです。データベースの設定としてテーブルやフィールドを定義するという作業は必要ありません。そして、JDOなどを使ってデータの定義としてJavaのクラスを書いたりするわけです。 で、これを、まったく苦のない当たり前の作業としてやっています。 ORマッピングのときは、データベースのスキーマとJavaのクラスを定義する必要があり、そのどちらかが自動的に同期されるにしても、同期させるときにやっぱりどうしても気持ち悪さがあったものでした。 たとえばデータベースのスキーマからJavaのクラスを自動生成する場合は、どのようなJavaのクラスになるかを考えながらデータベースのスキーマを考える必要がありました。必要はなかったかもしれないけど、データベースのスキーマを考えるときに自然にJavaのクラスを考えてし

    データベースのスキーマレス化も静的型付けを復権させるかも - 2010-01-06 - きしだのはてな
  • Google App Engineでコードを書くと、処理のひとつひとつが課金に見える

    先週末、ちょっとしたプログラムをGAE/Jで動かして実際に使ってもらってみたのですが、そうすると、いままでテストでちょこちょこやってたときには全部のDaily Quotaが0%だったものが、数%の数字を示すようになります。 これを、ちゃんとプロモーションして多くの人に使ってもらおうとすると、課金が発生したり制限にひっかかったりしそうです。 で、たとえばDatastore APIの呼び出し回数がヤバいとして、API呼び出しを減らすためにキャッシュしようとすると、MemcacheのほうのAPI呼び出し回数がヤバくなってきます。 で、じゃあということでデータストアにデータを置くようにすると、保存量の制約で課金がかかってきます。で、それならと、データストアに置くのはシリアライズしたデータにしてデータ量が最低限になるようにすると、今度はその処理をするためのCPU時間で課金がかかってきます。 コードを

    Google App Engineでコードを書くと、処理のひとつひとつが課金に見える
    H_Yamaguchi
    H_Yamaguchi 2009/12/16
    これからはプログラマの時代ということか。
  • Ext GWTとSmart GWTの比較 - きしだのHatena

    GWTのウィジェットライブラリであるExt GWTとSmart GWTの比較。 id:shinさんとは意見が違うので、書いておきます。 http://d.hatena.ne.jp/shin/20091127/p2 Smart GWT Ext GWT ひとつ、最初にお断り。Ext GWTではプログラム組んだことがあるけど、Smart GWTはAPIやサンプルコードを追っただけなのと、Ext GWTはもうライセンス料払ってるので、おそらくExt GWTよりの評価になっています。 まず、IE6の対応について。IE6の場合、JavaScriptが重すぎて処理が書けないので、ブラウザでフルアプリケーションは組まないほうがいいと思います。 つまり、Ext GWTもSmart GWTもIE6にとっては重いので、やめたほうがいい。普通に苦情が出るレベル。IE6をサポート範囲にしないといけない場合は、普通の

    Ext GWTとSmart GWTの比較 - きしだのHatena
  • NetBeans6.7RC2でServlet3.0を試す 2009-06-11 - きしだのはてな

    NetBeans6.7RC2とGlassfish v3 previewを使ってServlet3.0を試してみます。 NetBeansのダウンロード NetBeans6.7RC2は、ここから「Java」対応版をダウンロードします。 http://download.netbeans.org/netbeans/6.7/rc2/ RC2なので、インストーラーを使わず、プラットフォームに「OSに依存しないZIP」を使うことをおすすめします。 以降、NetBeansをインストール・解凍したフォルダをNETBEANS_HOMEとします。 Glassfishのダウンロード Glassfish v3 previewはここから。たぶんフルサポート版でもWeb Profileでも大丈夫。 https://glassfish.dev.java.net/downloads/v3-preview.html これもNe

    NetBeans6.7RC2でServlet3.0を試す 2009-06-11 - きしだのはてな
  • 1台のマシンで並列実行するためのMapReduceフレームワークを作ってみた - きしだのHatena

    ブックマークのコメントに 1台でもGbyte単位のデータを処理可能なプログラムを簡単に書けるのは十分なメリットだと思う。 とあったので、ついカッとなって作ってみた。 サンプルは前と同じく、クラスがJavaソース中でimportされている回数を数えるもの。 mapreduceメソッドを適当に呼び出せばおっけーです。 こんな感じの結果ファイルが生成されました。 java.io.FileOutputStream 1 java.io.FileReader 1 java.awt.Graphics 1 java.io.Reader 1 java.awt.event.* 3 java.io.BufferedReader 3 書いてみたら動いたというレベルなので、実際に使うにはちゃんと例外処理とかをやってください。 ソースはこんな感じ import java.io.*; import java.lang.

    1台のマシンで並列実行するためのMapReduceフレームワークを作ってみた - きしだのHatena
    H_Yamaguchi
    H_Yamaguchi 2009/02/23
    後で読む
  • Hadoopのドキュメントは最新版がいい - きしだのHatena

    ダウンロードサイトを見るとHadoopの安定版は0.17.2.1なんだけど、ドキュメントの量が0.19.0ではかなり増えているし間違いも修正されているようなので、実際に使うのが0.17.2.1だとしてもドキュメントは0.19.0を見たほうがいいと思った

    Hadoopのドキュメントは最新版がいい - きしだのHatena
  • 1