タグ

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

  • いまさらきけない「ドメインモデル」と「トランザクションスクリプト」 - ひがやすを技術ブログ

    このネタは、私自身も何度も書いてきたけど、結局意味のある結論になったためしがありませんが、再度考え直してみたいと思います。 「ドメインモデル」と「トランザクションスクリプト」をすごく簡単に説明すると、トランザクションスクリプトとは「アクションより起動される一連の手続き」、ドメインモデルとは「ドメイン内の名詞によって体系化されたモデル」です。 トランザクションスクリプト派は、「トランザクションスクリプトの方が書くのが簡単だし、業務アプリケーションにオブジェクト指向は、ほとんど必要ない」といいます。 それに対し、ドメインモデル派は、「ドメインモデルはオブジェクト指向を生かすことができるのでメンテナンス性が良い」と主張します。 ずっと平行線のままですね。 私は一番最初に「ユースケースと一対一にサービスクラスを設け、ビジネスロジックはサービスクラスに記述する」という主張をしてました。 記念すべき(

    いまさらきけない「ドメインモデル」と「トランザクションスクリプト」 - ひがやすを技術ブログ
  • 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にきちんと変換する方法 - ひがやすを技術ブログ
  • プログラミングに誇りを持ちたいなら単価を上げること - ひがやすを技術ブログ

    僕は今回の案件で、システムのレスポンスに徹底的にこだわってる。 それには理由がある。 それは、プログラマの誇りを見せ付けたいからだ。 山さんの気持ちは良くわかるけど、プログラマの誇りを見せ付けたいなら、単に良いものを作るだけではだめです。プログラミングの価値を高い金に結びつける必要があります。 だれでも、自分のことを高く評価してほしいと願っているはずです。そして、その評価が、金に結びつかないと、その努力は維持できないのです。 良い仕事をしても、だめな仕事をしても、もらう報酬が同じなら、人は努力しなくなる。努力しないから、良いコードはかけない。 この業界の問題、それはプログラムが、新人?3年目の作業と位置づけられていることだ。 ベテランでも、だめなコードを書く人はいるでしょう。それは、素質だとかの問題ではありません。余り金がもらえないから、人は自然に努力しなくなり、だから、だめなコードにな

    プログラミングに誇りを持ちたいなら単価を上げること - ひがやすを技術ブログ
    tarchan
    tarchan 2012/10/12
    >カンブリア宮殿には、毎週成功した社長が出てきますが、どこも下請けで成功したところはありません。
  • SI業界の老害が若手と下請けを蝕む理由 - ひがやすを技術ブログ

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

    SI業界の老害が若手と下請けを蝕む理由 - ひがやすを技術ブログ
  • AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ

    AppEngineは、万能なプラットフォームではありません。むしろ、かなり使い道は限定されていると言ってもいいでしょう。 向いていないアプリで使うとかなりはまって、アプリが完成しないリスクがあります。 一方、向いているアプリで使うとこれまでよりかなり費用を節約できたりとか、儲けにつなげることができます。 AppEngineにどのようなアプリが向いているかというと、AppEngineがGoogleの既存のインフラをそのまま利用していることをまず知っておく必要があります。 Googleのインフラは、(極端に単純化すると)大量のデータを多くの人に同時に見せるために最適化されています。 AppEngineも同様で、大量のデータに大量にアクセスがあっても大丈夫なように、BigtableというKVSを使っています。また、自動でスケールアウトするWebのFront Endも既存のインフラをそのまま使って

    AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ
  • ソーシャル素人がソーシャル系ビジネスをやりながら学んだこと - ひがやすを技術ブログ

    2010になって、私は感じました。ITの流れが変わった。 これからの主役は、エンタープライズではない、ソーシャル系のビジネスだと。 勘違いしないで欲しいのは、エンタープライズ系のビジネスがだめだと言っているわけではないということです。今という瞬間なら、エンタープライズ系のビジネスは重要でしょう。 しかし、儲からないし、未来はない。 これが下記のエントリにつながってきます。 SI業界からはさっさと抜けだしたほうがいい http://d.hatena.ne.jp/higayasuo/20110111/1294718077 サービスを考える人と、プログラムをする人は、求められているスキルが違うから、両方をやるのは難しいんじゃないというような、眠たいコメントもあったけど、誰もができるようなことをしてたんじゃ、それは金になりません。 誰もができないことができるから金になる。人と差別化できなければ、そ

    ソーシャル素人がソーシャル系ビジネスをやりながら学んだこと - ひがやすを技術ブログ
    tarchan
    tarchan 2011/03/04
    >サービスをデザインするというより、コミュニケーションをデザインすることが本質なんじゃないかと感じました。
  • きれいなソースコードを書くために読んでおくべき本10冊 - ひがやすを技術ブログ

    なんか、プログラマとして必要なをあげるのが流行っているようなので、自分も書いておこう。きれいなソースコードを書くために読んでおくべき10冊。 最初はリファクタリング リファクタリング―プログラムの体質改善テクニック (Object Technology Series) 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史出版社/メーカー: ピアソンエデュケーション発売日: 2000/05メディア: 単行購入: 94人 クリック: 3,091回この商品を含むブログ (312件) を見る 以上。終了。10冊じゃないか(^^; きれいなソースコードを書きたければ、一にも二にもリファクタリング、それしかない。 後は、良いソースコードを読みながら自分でも、実際にプロダクトを作ってみること。OSSとして公開すると、自然と良いコードを書こうというモチベーショ

    きれいなソースコードを書くために読んでおくべき本10冊 - ひがやすを技術ブログ
    tarchan
    tarchan 2011/01/18
    >読んで欲しいと思うソースコードは、JUnitのソースコードとテスト。JUnitのダウンロードサイトに行くと下の方にあるzipのやつ
  • ソフトウェア技術者をやめるのは構わないがどの仕事でも認めてもらいにくいのは同じだと思うよ - ひがやすを技術ブログ

    私の職業プログラマのとしての最大の欠点は、ソースコードに対して強い美意識を持たずにいられなかったところだろう。生来の生真面目な性格が災いし、私の基準で美しいとはいえないソースコードを敵視しすぎた。 ソフトウェア業界(特に受託開発業界)は、基的に正直者が馬鹿を見る世界である。顧客(あるいは経営者)が、保守性というソフトウェアの最も重要な品質を正しく評価できないという、情報の非対称性が存在するからだ。 経営者やお客様は、ソフトウェアの品質を正しく評価できない。なぜなら、その人達は、訓練を受けたプロではないから。 言ってることは、かなりの部分、そのとおりだと思います。しかし、これは、ソフトウェアに限らず、普遍的な真実なんですよ。 あんなだめな仕事をしている人に比べて、自分は、ちゃんとした仕事をしている。でも、上司も経営陣もお客様もそれを認めてくれない。 これは、どんな仕事をしていてもあり得る話

    ソフトウェア技術者をやめるのは構わないがどの仕事でも認めてもらいにくいのは同じだと思うよ - ひがやすを技術ブログ
    tarchan
    tarchan 2010/09/27
    >いい仕事をしていたから、世間に認めてもらえるほど、世の中甘くない。でも、認めてもらうためには、良い仕事を地道にし続けるしかない。
  • 新しいサービスを作るのになぜ今が絶好のチャンスなのか - ひがやすを技術ブログ

    おとといのエントリで新しいサービスを作る側に回ろうよという話をしました。 受託開発に未来はない? - yvsu pron. yas 新しいサービスを作るというのも難しい話ですが、今は、絶好のチャンスなんですよ。 ガラケーがピークを過ぎ、徐々に衰退し始めている。iPhone/AndroidのようなSmart Phone、iPadのようなSmart Bookも広まりつつある。Goole TVのようなSmart TVも出てきます。 広まりつつあるのがポイント、広まってから新しいビジネスを始めても既に手遅れ。 常識的な人は、国内のSmart Phoneのマーケットは1000万台くらい年間売れてからだよねと思っていることでしょう。2010年は300、400万台程度と予想されているので、まだまだマーケットが小さいと思っているわけです。 国内だと確かにそうですが、グローバルなマーケットで考えると国内の1

    新しいサービスを作るのになぜ今が絶好のチャンスなのか - ひがやすを技術ブログ
  • Slim3本予約開始 - ひがやすを技術ブログ

    Slim3の予約が開始されました。屋で実際に買えるようになるのは、7/28(水)からです。 http://www.amazon.co.jp/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8-Slim3-Google-Engine-Java/dp/4798026999/ref=sr_1_2?ie=UTF8&s=books&qid=1280117730&sr=8-2 このは最初、私一人で書いていたのですが、執筆が進まず、出版は暗礁に乗り上げていました。そこに救いの手を述べてくれたのが、@shin1ogawaです。@shin1ogawaが執筆を担当し、私が監修するというスタイルに変えることによって、無事出版にこぎつけることができました。当に

    Slim3本予約開始 - ひがやすを技術ブログ
  • App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ

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

    App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ
  • えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ

    Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある RailsのえせMVC疑惑で盛り上がってますね。Railsが「えせMVCフレームワーク」ではないのは、みんな知っていると思うので、記事、コメントをみて勘違いしている人が多そうな部分に一言書いておきます。 まず、おかしいのはsatoshiさんのこの意見。 PhotoShareは主にRailsで作られているので、ModelはActiveRecordが担当しているわけだが、Modelのレイヤーが非常に薄いために(O/Rマッピングをしているだけ)、データベースの整合性の責任がController側にある。そのため、ちょっとした機能変更のたびにAPIレベルでのテストを大量に走らせなければならないし、それでもどうしてもミスが生じてし

    えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ
  • SIerの解体と再生 - ひがやすを技術ブログ

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

    SIerの解体と再生 - ひがやすを技術ブログ
  • 人間的魅力がない人はリーダーになれないのか - ひがやすを技術ブログ

    小野さんのところでこんなつぶやきがありました。 今九州大学の授業なんだけど、「リーダーになるためには人間的魅力が必要だと思いますが、人間的魅力がない場合にはどうすればいいでしょうか」なんという質問! この後に、清水さんの「だれでも努力次第でリーダーになれる」というのは詭弁だという話に続きます。 「だれでも努力次第でリーダーになれる」 僕はそれを詭弁であり欺瞞だと思う。 優秀な開発者になるのとも、マネージャになるのとも違う。リーダーになるのは、純粋に性格、才能なのだと思う。 この話の詳細は小野さんとこに shi3zさんが私について、「嘘を平気でつける人間」であり、それ故に「欺瞞に満ちた人間」であると言っている理由は、九州大学の授業に参加している生徒達に対して、shi3zさんが「君たちは僕のようには決してなれないから、才能ある人間の邪魔だけはしないようにしてほしい」というスタンスである(彼曰く

    人間的魅力がない人はリーダーになれないのか - ひがやすを技術ブログ
  • 続:本当にHT-03AはGDD Phoneの3倍使いやすいのか - ひがやすを技術ブログ

    HT-03AとGDD Phoneは、ほとんど違いのないことがOKIIZOさんのところで解説されてますね。 http://d.hatena.ne.jp/OKIIZO/20090712/1247409116 では、なぜ私が、HT-03Aのほうが3倍使いやすいと感じたのか。 今から思うとそれはネットワークの違いだと思います。GDDに参加した人はわかると思いますが、GDDの会場で用意されていたネットワークは、みんながいっせいに使っていることもあり、gmailやブラウザは固まるは、最悪の印象でした。 あれでみんな悪いイメージを持ったと思います。 それに対し、HT-03AでBizほうだいに入っていると、ネットワークも快適だし、高速を車で移動していても、電車でも切れることはありません。 私のように、gmailとtwitterとブラウザしか使わないような人にとっては、ネットワークの快適さが、体感のかなりの

    続:本当にHT-03AはGDD Phoneの3倍使いやすいのか - ひがやすを技術ブログ
    tarchan
    tarchan 2009/08/03
    最初の印象が悪くて、かっとなって書いただけかー。
  • Android(HT-03A)に裏切られた - ひがやすを blog

    Google Developer Day(GDD)でHTCのAndroidをもらって使ってみたら、これが使いにくい。特に入力系。正直ありえないと思ったね。 ただし、仕事Androidを使うことになっているから、仕方なく使うことに。ユーザーは使いづらいだろうなぁと思いつつ。 Androidは既に持っているので、DocomoでBizほうだいを契約し、SIMを挿してみました。結果はNG。電話はかけられるんだけど、Docomoの端末じゃないとBizほうだいに接続できないらしい。orz しかたないので、HT-03Aに機種変しました。 最初にGmailのアドレス入れれば設定は終わり。簡単だね。 自分は、Eclipse以外で使っているのは、Gmailとtwitterだけなので、最初にGmailを試してみました。読みやすいし扱いやすい、PCで使うのと遜色ありません。 携帯に番号を移すために、PCのGma

    Android(HT-03A)に裏切られた - ひがやすを blog
    tarchan
    tarchan 2009/07/22
    HT-03Aが3倍使いやすい理由がわからなかった。/Gmailとの連携はGDDフォンでも同じでしょ?
  • そろそろSeasar2のガラパゴス戦略について語っておくか - ひがやすを技術ブログ

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

    そろそろSeasar2のガラパゴス戦略について語っておくか - ひがやすを技術ブログ
  • 梅田望夫にオープンソースを語るなとガツンと申し上げたい - ひがやすを技術ブログ

    例えば、インターネットが社会にもたらしたインパクトのひとつに「オープンソース」という考え方があります。これは元々ソフトウエア開発に端を発した概念なのですが、いまやそれにとどまらず、世の中をより良い方向に導くと思われるテーマがネット上で公開されると、そこに無数の知的資源が集結して課題を次々に克服していくといった可能性を含む、より広い応用範囲での思考や行動原理を意味しています。サブカルチャー領域への応用は少しずつ進んでいるのですが、全体として、こうした動きがいまだに日では根付いていません。政治とか社会変化がテーマとなると特に、陰湿な誹謗・中傷など「揚げ足取り」のような側面の方が前に出てきていて、ウェブのポジティブな可能性──何か知的資産が生まれそうな萌芽がネット上に公開されると、そうしたことに強い情熱を持った「志向性の共同体」が自然発生して、そこに「集合知(ウィズダム・オブ・クラウズ)」が働

    梅田望夫にオープンソースを語るなとガツンと申し上げたい - ひがやすを技術ブログ
    tarchan
    tarchan 2009/06/18
    このもっちーは本物なのかな?
  • ぼくがLLのひとに「ガツン」と申し上げたこと - ひがやすを技術ブログ

    ぼくは水曜日にTokyo Cloud Developerの集まりに出た。 そこで、LLのひとから、「Google App Engineは、Python版以外にJava版も出たけど、サンプル見たけど、たくさんコード書かなければいけなくて、正直どこがいいのか教えて欲しい」という質問があった。 blogに名前を出していいかの了解を得ることを忘れたので、ここには、LLの人としか書けない。 ぼくは、そこで一言申し上げた。あるいはそれは、「申し上げた」というような生やさしいものではないかも知れない。端的な言い方をすれば、ガツンと言ってやった。 客観的に見て、ぼくはガツンと言ってやったと思う。LLな方々を前に、「いまどきのフレームワークは進化しているから、言語による差なんて余りない。仮に、Javaのほうが二倍コードを書く必要があったとしても、開発の中でコードを書いている時間より考えている時間のほうが圧倒

    ぼくがLLのひとに「ガツン」と申し上げたこと - ひがやすを技術ブログ
  • Bigtableの使い方教えます - ひがやすを技術ブログ

    GAE/Jを使うのに一番戸惑うのが、データのストレージがRDBMSではなく、Bigtableなことでしょう。 JOINが使えなかったり、WHERE句でORが使えなかったり、これまで慣れ親しんでいた方法が軒並み使えません。 これらの制限は、Bigtableに限ったことではなく、KVS(Key Value Store)型のクラウド系のデータベースではみんないえることだと思います。 最初、私も戸惑ったんだけど、いろいろ触っているうちに気付きました。昔、AS400でやってたころと一緒ジャンと。AS400とは、IBMから出ているオフコン(?)ですね。今は、System iと呼ばれているようです(最新だとまた違うようですが)。 AS400のファイル(テーブル)は、キーもしくはインデックスでアクセスします。インデックス(論理ファイル)は、ある行の特定のカラムがソートされていて、物理ファイル(テーブル)へ

    Bigtableの使い方教えます - ひがやすを技術ブログ