タグ

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

  • 良いエンジニアの育て方 - ひがやすを技術ブログ

    人を育てるというのは、とても難しい。 なぜなら、育てる方も未完成な人間だから。 ちょっと経験値のある未完成な人が、経験値の少ない未完成な人と、ともに冒険をし、ともにレベルをあげていくことが、人を育てるってことだと思う。 人を育てようと思うと、どうしても上から目線になってしまう。上から目線だと気持ちも相手に伝わりにくい。気持ちが伝わらないと相手もうまく成長してくれない。 だから、人を育てる機会があったら、ともに冒険をする仲間を持ったと考えよう。きっとその方がうまくいく。 それでは、自分の話をしよう。自分というよりは自分たちの話かな。 2010年、自分は、昼間、ブラ三をやりながら、新規ビジネスの企画を考えたり、プロトタイプを作っていたりしていた。ブラ三をやっていたのは、当然ソーシャルアプリというものを学ぶためだ。ブラ三の能力はかなり向上したけど、仕事ではたいした結果が出せなかった。特に企画考え

    良いエンジニアの育て方 - ひがやすを技術ブログ
  • 2007-10-25 - ひがやすを blog

    っていうか、Hibernateにも昔からcriteriaあるよね? http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#querycriteria List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "Fritz%") ) .add( Restrictions.between("weight", minWeight, maxWeight) ) .list(); 流れるようなインターフェースとメソッドチェーンは違うものだよヨシオリ。ぱっとみは似ているかもしれないけど。 流れるようなインターフェースでは、ソースコードを書いている人が、中断することなく流れるようにコーディングできなければいけない。 HibernateのCrit

    2007-10-25 - ひがやすを blog
  • ソーシャル素人がソーシャル系ビジネスをやりながら学んだこと - ひがやすを技術ブログ

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

    ソーシャル素人がソーシャル系ビジネスをやりながら学んだこと - ひがやすを技術ブログ
  • SI業界からはさっさと抜けだしたほうがいい - ひがやすを技術ブログ

    SI業界(日)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して http://d.hatena.ne.jp/ryoasai/20110109/1294581985 をうけて自分の考えを書いておきます。 二年前なら、自分もどうしたらSI業界をよく出来るか真剣に考えていたし、NTTデータの人達と実際に話し合いもしています。 NTTデータとの真昼の対決シリーズ http://d.hatena.ne.jp/higayasuo/20080612/1213241779 http://d.hatena.ne.jp/higayasuo/20080828/1219901392 でも、ソーシャル、クラウド、スマフォの時代になって、考えが変わりました。 今は、世の中の動きがかなり速くなっているので、その中で素早くチャンスを捕まえたものだけが生き残ります。受

    SI業界からはさっさと抜けだしたほうがいい - ひがやすを技術ブログ
  • きれいなソースコードを書くために読んでおくべき本10冊 - ひがやすを技術ブログ

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

    きれいなソースコードを書くために読んでおくべき本10冊 - ひがやすを技術ブログ
  • AppEngine/Jのspin-upを劇的に改善する方法 - ひがやすを技術ブログ

    AppEngineは、アクセスがあったときにアプリケーションを起動し、しばらくアクセスが無ければアプリケーションを終了させ、また次のリクエストで再起動するという仕組みを導入しています。 そのため、アプリケーションを起動(spin-up)する時間がとても重要になってきます。このspin-upの時間はpython(webapp)で60cpu_ms以下。(cpu_msはcpuが使う仮想的な時間ですがmsと同じ感じで捉えてもらってもとりあえずは大丈夫です)JavaのServletだと600cpu_msくらいです。PythonでもDjangoような大きなフレームワークだと1000cpu_msくらい(アプリによる)かかりますが、許容範囲内。JavaだとSlim3で1300cpu_ms、Springだと早くて7000cpu_msという感じで、Slim3がギリギリ許容範囲内でしょうか。ほんとうは、1000

    AppEngine/Jのspin-upを劇的に改善する方法 - ひがやすを技術ブログ
    Akineko
    Akineko 2010/11/10
  • AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ

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

    AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ
    Akineko
    Akineko 2010/11/08
  • ある程度の年齢を迎えたプログラマが生き残るには - ひがやすを技術ブログ

    ある程度の年齢を迎えたプログラマが抱える悩みに、「若手のプログラマと比べて、どうやって価値を出していくか」という問題があります。これは言い換えれば「同じような生産性であれば、相対的に給料の低い若手のプログラマに置き換えられてしまうのではないか」という悩みです。 35才(2004年)でプログラマとしてオープンソースを始め、今年で42才になる俺が通りますよ。 35才までは、SIerの中でSEをやってたので、そんなにプログラムは書いたことがないです。 上記のエントリには、いろんな戦略が書いていますが、ぶっちゃけ戦略は一番重要なことではなく、一番重要なのは、常に自分の価値を高めるために努力し続けることです。 努力や挑戦をやめたら、自分の価値はどんどん陳腐化して下がっていくのは当たり前なのです。 自分がどんなことに挑戦してきたのかちょっと書いてみますね。 2004年1月、プログラマとして何か新しいこ

    ある程度の年齢を迎えたプログラマが生き残るには - ひがやすを技術ブログ
  • Seasar3開発中止 - ひがやすを技術ブログ

    Seasar3の開発を担当する予定だった小林さんが、Seasar3開発のモチベーションが萎えちゃったようなので、開発を一旦中止します。 http://d.hatena.ne.jp/koichik/20100806#1281070800 お前がやればいいじゃないかと言われそうですが、今、丸山先生が、Spring/Rooをとても熱心に追っかけているんです。 http://maruyama.cloud-market.com/cloud-doc/Roo.pdf http://www.ustream.tv/recorded/8600913 丸山先生が熱心に追っかける技術は流行らないというジンクス(先生ごめんなさい)を私は真面目に信じているので、小林さんがヤル気をなくしたのもあり、Seasar3の開発は中止したいと思います。 ちなみに、去年PDCというマイクロソフトの大きなイベントに行って、Azure

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

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

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

    Google AppEngineではBigtableの上にDatastore Serviceが構築されていて、開発者は、このDatastore Serviceを利用してBigtableにアクセスすることになります。このDatastore ServiceはPython版もJava版も機能はほとんど同じです。もしかすると、全く同じものかもしれません。 GAE/Jの場合、JDOを通じて、Datastore Serviceを利用するのが推奨されていますが、実はこれが嵌りポイント。 JDOは汎用的なインターフェースなので、Datastore Serviceを理解するのには向いていません。Datastore ServiceがRDBMSのような高機能なら、JDOを通じて抽象化し、Datastore Serviceのことは知らなくても済すのもぜんぜんありなのですが、残念ながら、そうなってはいません。 Da

    AppEngineのDatastoreの学び方 - ひがやすを技術ブログ
  • App EngineのEntityGroupを理解しよう - ひがやすを技術ブログ

    App EngineのEntitiGroupは、Keyの親子関係を利用して組み立てられたEntityの集まりです。 Entityとは、Bigtable上の1つの行で、ユニークに識別するためのKeyを持っています。 Keyは、種類をあらわすkindとAppEngineから自動的に採番されるidもしくはアプリケーション側で自由に決めることのできるnameで構成されます。 通常は、AppEngineの自動採番に任せますが、Emailのアドレスをキーに使いたい場合などは、nameを使います。kindはテーブル名のようなものだと思ってください。 Keyの親子関係は次のようにして作ります。 Key grandparentKey = KeyFactory.createKey("Grandparent", "しげお"); Key parentKey = KeyFactory.createKey(grand

    App EngineのEntityGroupを理解しよう - ひがやすを技術ブログ
    Akineko
    Akineko 2009/11/11
  • Slim3入門 - ひがやすを技術ブログ

    Slim3 Container、略してS3ContainerのDI部分は出来上がったので、機能を軽く紹介します。 まだ、サイトのデザインが決まってないので、サイト自体がないのですが、興味のある方は、https://www.slim3.org/svnのリポジトリにアクセスすることで最新のソースを見ることができます。 はしもとさん、はやくSlim3のサイトの打ち合わせをしましょう。 S3Containerを動かすには、以下のjarファイルが必要です。 slim3-commons-xxx.jar slim3-container-xxx.jar geronimo-annotation_1.0_spec-1.0.jar geronimo-ejb_3.0_spec-1.0.jar geronimo-interceptor_3.0_spec-1.0.jar javassist-3.4.ga.jar ge

    Slim3入門 - ひがやすを技術ブログ
  • Slim3 for Google App Engine/Java - ひがやすを技術ブログ

    Slim3をGAE/Jに対応させました。 デモサイトはこちら。 http://higayasuo.appspot.com/ ソースコードをチェックアウトしたい場合はこちら。 http://code.google.com/p/slim3/source/checkout https://slim3.googlecode.com/svn/を指定してチェックアウトできます。デモ用のプロジェクトは、slim3-demoです。 SAStrutsのチュートリアルをやったことのある人なら、デモサイトが、そっくりだということがわかるでしょう。Slim3 Struts(SAStruts相当)がGAE/Jで動くわけです。 素のStrutsだとGAEではファイルアップロードに失敗しますが、Slim3 Strutsはその辺も対応してます。 やってみて感じたのは、GAE/Jは、制限が結構厳しいので、高度なフレームワー

    Slim3 for Google App Engine/Java - ひがやすを技術ブログ
  • えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ

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

    えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ
  • 1