タグ

ブックマーク / higayasuo.hatenablog.com (12)

  • 僕がRubyをやめたわけ - ひがやすを blog

    私は気が付いてしまいました。Ruby の動的型付けは多くのエラーを引きおこすことに。そして、安心してデプロイするためには 95% ものテストカバレッジを達成しなければいけないことに。95% のテストカバレッジを得ることの代償として、私の書いたコードは(テストコードも含めて) Java で書いたものと同等のサイズにまでふくれあがってしまいました。その上、Rails では動的なコードの変更が可能なため、開発・テスト・デプロイ中にトラブルが続出するようになりました。高いテストカバレッジを確保しているにも関わらずです。これらの問題にくわえて、MRI(Matz Ruby Implementation: まつもとゆきひろ氏による Rubyの実装)は速度が遅く、言語仕様も安定していません。それなのに開発コミュニティはそのことに見向きもしません。 liftを開発した人へのインタビューなんだけど、ちょっとひ

    僕がRubyをやめたわけ - ひがやすを blog
    koroharo
    koroharo 2013/03/03
    『自分のスキルのなさを言語のせいにする人にろくなやつはいないということです。』言語に限らない。
  • java.util.Dateをjava.sql.Dateにきちんと変換する方法 - ひがやすを技術ブログ

    多くの人はこうやればいいと思っているかもしれません。 java.util.Date d = new java.util.Date(); java.sql.Date d2 = new java.sql.Date(d.getTime());確かにこれでも一応変換はできますが、きちんと変換してはいません。java.sql.DateのJavadocを見るとこう書いてあります。 SQL DATE の定義に対応させるために、java.sql.Date のインスタンスでラップされたミリ秒の値は、インスタンスが関連した特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定することで、「標準化」する必要があります。 つまり、java.util.Date#getTime()をjava.sql.Dateにただ渡すだけでは不十分で、「特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定しなければいけない」のです。そ

    java.util.Dateをjava.sql.Dateにきちんと変換する方法 - ひがやすを技術ブログ
  • 受託開発に未来はない? - ひがやすを技術ブログ

    私は1年以上、エンタープライズの世界(企業向けSIとか)から離れ、ずっとGoogle App Engineをやっています。今は、Google App Engine + Webkitベースのブラウザで動くHTML5を使ったグローバルな新サービスを提供しようとしていて、新規事業立ち上げのために日々奮闘しているので、エンタープライズな世界に戻ってくることは、基無いでしょう。 私は、受託開発に未来はないと思っているので、自分でサービスを提供する側に回ろうとしているわけです。受託開発に未来はないといっても、文字通り未来はないという意味で、すぐになくなるわけではないし、生きてくために必要な部分も多々あると思います(うちの会社もSIerだし)が、今後は撤退すべきだろうという判断です。 受託開発になぜ未来がないかというと、世の中の動きがかなり速くなっているので、その中で素早くチャンスを捕まえたものが生き

    受託開発に未来はない? - ひがやすを技術ブログ
    koroharo
    koroharo 2010/08/25
    全面的に同意なのに、行動に起こせない自分が情けない。
  • Seasar3がやってくる - ひがやすを技術ブログ

    Seasar2は、機能を枯れさせることに徹し、機能追加は行わないと宣言してから、二年以上たちます。 で、Seasar2が冒険しないことによって、適切な大きさの問題は生まれなくなり、開発者が離れ、Seasar関連プロダクトが生まれなくなり、Seasarユーザも離れていく。使われないSeasarからさらに開発者が離れていく。 こういうスパイラルが発生するかもしれないことについては、どう考えますか? このような声もありました。「機能を枯れさせることに徹する」というのは、かなりの冒険でしたが、今のところ、うまく行っていると思っています。 「RubyやSeasar2、OpenPNEが“定番”に、Linux Foundationが活用動向調査」という記事も出てましたね。 http://itpro.nikkeibp.co.jp/article/NEWS/20100527/348514/ しかし、二年の間

    Seasar3がやってくる - ひがやすを技術ブログ
    koroharo
    koroharo 2010/06/03
    Springマンセーの状態になるはどうにも頂けない。
  • App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ

    App Engineで使える言語は基的にはPythonJavaです。それでは、どちらを選ぶのが良いのでしょうか。 それ以外の言語の人向けの話は後から出てくるのでしばらくこのままお読みください。 趣味ならば単に好きなものを選ぶだけでいいのですが、仕事で使うためには、長所と短所をきちんと把握した上で選ぶ必要があります。また、ここでの話は言語としての一般的な話ではなくApp Engineで使うとき限定の話としてお読みください。 まず安定度ですが、インフラ部分の安定度は、どちらも基的に同じです。もしかすると、まったく同じものを使っているのかもしれません。 その上で動くAPIの部分は、インフラと直接結びついている低レベルな部分と低レベルなAPIの上に構築された高レベルな部分とに分けて考える必要があります。 低レベルなAPIはLLAPIと呼ばれたりしますが、安定度は、PythonJavaも同じ

    App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ
  • App Engineのユニーク制限を正しく理解しよう - ひがやすを技術ブログ

    Google App EngineではRDBMSのようなUnique Indexをサポートしていません。ユニーク制限を実現する場合は、トランザクション中でKeyを使ったgetとputを組み合わせる必要があります。 ここでは、email addressがユニークだったらそれを確定してtrueを返し、そうでない場合にはfalseを返すコードを考えます。 最初にトランザクションを使わないコードを見てみましょう。KeyFactory.createKeyの最初に引数は、kindといってテーブル名みたいなものです。 public boolean putUniqueEmailAddress(String value) { DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); Key key = KeyFactory.cr

    App Engineのユニーク制限を正しく理解しよう - ひがやすを技術ブログ
    koroharo
    koroharo 2009/11/25
  • SIerの解体と再生 - ひがやすを技術ブログ

    ござ先輩のところで、SIer涙目な状態が解説されてますね。 最近SIerがだいぶヤバくなっている件 - GoTheDistance 書いていることはだいたいあっているんじゃないかと思います。 じゃ、SIerは、どうやれば生き残ることができるのか。 「今の体制のまま生き残る必要はないんじゃないの」というのが私の考えです。多重下請け構造こそ、SI業界の最大の問題点なわけだから、「ゼネコン型SIビジネスが崩壊する」のは、悪い話じゃない。 もちろん、会社がなくなったりすると職がなくなり困る人も出てくるわけですが、問題のある業界を残しておくより、一度解体し、新たにやり直したほうがいいと思います。 だって、実際に物を作れないような人たちが設計するなんて、おかしいし、効率悪いもの。 効率の悪いことをしている人が淘汰されるのは当然の話です。 だったら、なぜこれまでゼネコン型SIビジネスが生き延びてこれたの

    SIerの解体と再生 - ひがやすを技術ブログ
  • そろそろSeasar2のガラパゴス戦略について語っておくか - ひがやすを技術ブログ

    Slim3のファーストリリース(今月中)の前に、Seasar2の開発で、どのような戦略をとったのか話しておきます。 2005/11/8、Seasar2.3のバージョンをリリースしました。このバージョンから搭載されたのが、コンポーネントの自動登録機能です。設定ファイル無しで開発できるようにする機能ですね。Springだと2.5から搭載されたcomponent-scan。 Spring2.5のリリースは、2007/11/19なので、実に2年以上差があります。オープンソースの世界では、みんなが手の内を見せ合っているので、誰かが新しい機能を実装した場合、それが良いものであれば、ライバルも直ぐにそれを取り入れ、それほど機能差がつくことはありません。 なぜ、従来のXML地獄を解消する「コンポーネントの自動登録機能」を実装するまでの期間にこれほど差が出たのか、それはガラパゴス戦略のせいなのです。 Sea

    そろそろSeasar2のガラパゴス戦略について語っておくか - ひがやすを技術ブログ
    koroharo
    koroharo 2009/07/09
    今になってみれば確かにそうだねという感じ。初期のころから、S2を使ってきた身としては、世界に羽ばたく姿も見たかった(笑)
  • 10年間泥のように働いて花が咲きました - ひがやすを技術ブログ

    蓮の素晴らしさを語りたかったら、まずは花を見せるべきなのだ。花がわかってはじめて泥の重要さがわかってくるんだから。 2008-05-29 - ひがやすを blog 小飼弾のアルファギークに逢ってきたのメンバーと学生会の討論会を開くのだ。 もちろん、司会は、ダンコーガイ。いいよね、弾さん。 もちろんOK。というよりもすでに同様の話がいくつも来ているので、この通りになるかとにかく、ちゃんと「花」がある討論会はできるだろうし実現するだろうしすでにいくつか実現している。 しかし、これはこれでどうしても偏りが出る。10年も泥の中にいた人というのはさすがにこのメンバーの中から見つけるのは難しい。そしてIT業界の広さを考えれば、当にそういう人がいてもおかしくないはずなのだ。 10年間SIerで泥のように働いたおいらが通りますよ。 おいらが、最初に就職したのは、電通国際システムという会社で、今のうちの会

    10年間泥のように働いて花が咲きました - ひがやすを技術ブログ
    koroharo
    koroharo 2008/06/02
  • SI業界の老害が若手と下請けを蝕む理由 - ひがやすを技術ブログ

    10年間泥のように働いて花が咲きましたのぶくまのコメントにこういうのがありました。 経営層がプログラムの品質を度が越えたほどに軽視する理由の 一つが説明されてます。目から鱗です。意外とみんな知らないようなので、「SI業界の経営層の考えが古い理由」をきちんと説明したいと思います。 汎用機あるいはオフコンの時代は、COBOLRPGなど(他にもありますが私が経験したものをあげています)の言語が使われていました。 昔の言語は、誰が書いても同じようなコードになると思われていました。もっというと、コピペしてちょっと書き換えるという開発スタイルが多かったのです。もちろん現場によって開発スタイルは違うと思いますが、コピペが横行してたんじゃないかなぁ。 コピペでの開発なら、そりゃ誰が書いても同じようなコードになるよね。 再利用性、保守性より「最初にとりあえず動かすこと」が重要視された。コピペでちょろっと変

    SI業界の老害が若手と下請けを蝕む理由 - ひがやすを技術ブログ
    koroharo
    koroharo 2008/06/02
  • ひがやすを blog - Javaを古くしたやつとRubyを煽っているやつ

    その正体はわかったよ。正体わかった瞬間からだが震えたよ。まじで。 まずは、羽生さんのこのエントリを見て欲しい。 http://d.hatena.ne.jp/habuakihiro/20070922#1190464426 その後によしおりのこの有名なエントリも復習して欲しい。 http://d.hatena.ne.jp/jYoshiori/20070826/1188150596 もうさぁ、変わってないよねぇ。昔からのこの構図。歴史は繰り返すっていうの。 あからさまにいうとさぁ。賢いスーツな奴らと、頭の固くてあわれで保守的なおやじの歴史だよ。 最初は、EJBだよ。EJB。これからは、ビジネスコンポーネントが流通して、もうプログラミングはいらなくなる。コンポーネントの組み合わせを考えるだけでOKみたいな。最初にね、キャッチーな言葉とともに、あらたなテクノロジーを広めようとするのは、賢いスーツな奴

    ひがやすを blog - Javaを古くしたやつとRubyを煽っているやつ
  • DIのメリット - ひがやすを技術ブログ

    今日、DIについて社内でセミナーをやったのですが、CEOも聞きに来るということなので、経営者から見たDIのメリットについても話しました。技術的な話はできないので難しかったのですが、こんな感じ。 DIのメリット 特定のフレームワークに依存しない開発が可能 フレームワークを理解するためのコストがほとんどかからない。 開発者の調達が容易。 フレームワークを使わない開発と何が違うの? AOPを利用できる AOPとは業務に関係のない汎用的な機能をソースコードに記述することなく利用できる魔法。 業務に関係のない汎用的な機能をソースコードに記述しないので実装やテストの工数が減る。 業務に関係のない汎用的な機能は再利用性が高い。 はやい あらかじめ教育しておく必要が無いので直ぐにプロジェクトをはじめられる。 汎用的な機能をみんなが実装・テストする必要が無い。 やすい 教育コストがほとんどかからない。 優秀

    DIのメリット - ひがやすを技術ブログ
    koroharo
    koroharo 2005/06/30
    DIのメリット 18:
  • 1