タグ

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

  • 続Seasar2から卒業しよう - ひがやすを技術ブログ

    前回のエントリは、OSSとしての説明が抜けていたので、今回、きちんと説明させてください。 Seasar2、S2JDBC(元々Seasar2の一部)、SAStrutsは、これまでも、これからもOSSであり、githubでずっと公開されるので、フォークでも何でも好きにしてください。 Mavenリポジトリ、ドキュメント、MLなどがどうなるのかは、現在話し合っている最中です。方向性としては、現在、Seasar2を利用している人々に、最も影響の少ない選択肢が選ばれるはずです。 Seasar Foundation、Seasar Projectsのクローズの提案をしましたが、これは、取り下げます。 あくまでも、お願いという形でしたが、私がお願いするとかなり強制力を持ってしまうことに対する配慮がかけてました。 2016/9/26にSeasar2、S2JDBC、SAStrutsのメンテナンスを現在のコミッタ

    続Seasar2から卒業しよう - ひがやすを技術ブログ
  • Seasar2から卒業しよう - ひがやすを技術ブログ

    人は、新たな環境で経験を積んでいくと、少しずついろんなことが出来るようになり、そのうち、その環境では、何でも自分の思った通りに出来るようになります。 「おら、強ぇ」状態。 これは、素晴らしいことなのですが、一つ問題があります。成長が止まってしまうことです。 人は、知らないことを経験したり、つまずきを乗り越えたときに、成長します。知らないことがほとんどなくなったり、つまずくことがなくなったりすると、成長が止まってしまうのです。 Seasar2.4、S2JDBC、SAStrutsと開発してきて、通常のサーバーサイドJavaは、十分にやりきった感がありました。このままこの場所にいるのは、心地いいんだけど、成長が止まってしまうのが不安でした。 人って不思議なもので、一定の能力でとどまるってことが出来ないんだよね。成長が止まると、能力は落ちていく。 自分はどこか、ドラゴンボールの悟空に似ているところ

    Seasar2から卒業しよう - ひがやすを技術ブログ
  • ソーシャル素人がソーシャル系ビジネスをやりながら学んだこと - ひがやすを技術ブログ

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

    ソーシャル素人がソーシャル系ビジネスをやりながら学んだこと - ひがやすを技術ブログ
    bojovs
    bojovs 2011/03/04
  • きれいなソースコードを書くために読んでおくべき本10冊 - ひがやすを技術ブログ

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

    きれいなソースコードを書くために読んでおくべき本10冊 - ひがやすを技術ブログ
  • google appengine に関してふた言 - ひがやすを技術ブログ

    AppEngineでJavaPythonどっち使ったほうがいいのかはみんな気になるよね。 根拠なしに、Javaがいいとか、Pythonがいいというのは、聞いて(読んで)くれている人に対して、ちょっと不親切。聞いている人も、自信を持って選ぶためには、その根拠をきちんと納得しておきたいでしょう。 では、どちらがいいか根拠つきで答えましょう。 AppEngine上のJavaPythonは、生産性/パフォーマンスの違いがホトンドないので、好きな方を使うとよいでしょう。他に好きな言語があって、JavaPythonと特に好きではないという方は、LL使いならPython、硬い言語が好きならJavaを選ぶといいでしょう。使い心地は似ているのでそれほど違和感を感じないはずです。 「AppEngine上のJavaPythonは、生産性/パフォーマンスの違いがホトンドない」の根拠を知りたいと今あなた思い

    google appengine に関してふた言 - ひがやすを技術ブログ
  • 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を劇的に改善する方法 - ひがやすを技術ブログ
  • AppEngineにどんなアプリが向いているのかを知ろう - ひがやすを技術ブログ

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

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

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

    ある程度の年齢を迎えたプログラマが生き残るには - ひがやすを技術ブログ
  • 新しいサービスを作るのになぜ今が絶好のチャンスなのか - ひがやすを技術ブログ

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

    新しいサービスを作るのになぜ今が絶好のチャンスなのか - ひがやすを技術ブログ
  • 受託開発に未来はない? - ひがやすを技術ブログ

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

    受託開発に未来はない? - ひがやすを技術ブログ
  • 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開発中止 - ひがやすを技術ブログ
  • 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本予約開始 - ひがやすを技術ブログ
  • Seasar3がやってくる - ひがやすを技術ブログ

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

    Seasar3がやってくる - ひがやすを技術ブログ
  • プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか - ひがやすを技術ブログ

    App Engineではどの言語を使えばいいのか - yvsu pron. yasで書いたとおり、App Engineで使う言語は、素のSDKで比べるとPythonの方がJavaより断然出来がいい。 ただ、仕事で使う場合は、素のSDKで開発することはなく、何らかのフレームワークを使うことが普通です。App Engineに特化したKay frameworkやSlim3のレベルで比べるとそんなに違いはありません。 これは、単純なリクエストの処理だと、Javaの方が10倍速いが、実際に行われている処理で比べるとそんなに違いはないのと似ています。 私は、Javaを使っているので、Javaへの評価が良くなりすぎないように、意識的にJavaのデメリットを強調し、Pythonのメリットを強調していますが、実際の仕事で使うレベルにおいては、差はほとんどないということです。 んんーーーー。 たまには音を書

    プロが仕事で使う場合にApp Engineでどの言語を選べばいいのか - ひがやすを技術ブログ
  • DIコンテナの必要性 - ひがやすを技術ブログ

    DI コンテナの起動が遅いなら、起動が速いのを作ればいいじゃない 何度か書いているとおり、DIはテストをしやすくすることが一番のメリットであり、オンプレミスの世界では、今でもある程度有効です。ただ、appengineの世界では、テストする環境が整えられているので、DIを使う必要はないということです。 http://d.hatena.ne.jp/higayasuo/20091115/1258245284 DIを使ったことがある人はわかると思うけど、DIには、ある程度のめんどくささがあります。appengineの世界では、DIがなくてもテストが簡単にかけるので、わざわざめんどくさいことをする必要はないでしょう。 appengineの世界でテストがどれくらい書きやすいのかは、次のustをみればわかります。 http://www.ustream.tv/recorded/6377235 技術的には、

    DIコンテナの必要性 - ひがやすを技術ブログ
  • よしおりが結婚できた本当の理由 - ひがやすを技術ブログ

    よしおりがドラ娘と婚約したことがtwitterで話題になっていたんだけど、TLで各界の識者が「よしおりが結婚できた当の理由」について分析している。だけど、このTLを読んで一つ大きく疑問に思うのは、「なぜ各界の識者は、ぼくのところに話を聞きにこないのだろうか?」ということだ。 よしおりが結婚できた当の理由を、ぼく以上に分析するのにふさわしい人物はいるだろうか? いやいない。 なにしろ、200?年の?(よく覚えていない)に、飲み会で『Javaをやってる人がかたいなんて、ごちゃごちゃいってないで、自分でなんかはじめたらいいじゃん』といったことばをよしおりが真に受けてJava-jaを作って以来、無類のよしおりウオッチャーとしてその観察・研究に生きている時間のほとんど全てを費やすようになり、Java-jaの集まりは、ゲーム大会と飲み会以外は、出たことがないというのに…… でもいいのです。ぼくはそ

    よしおりが結婚できた本当の理由 - ひがやすを技術ブログ
  • App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ

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

    App Engineではどの言語を使えばいいのか - ひがやすを技術ブログ
  • Slim3 1.0.0 Released - ひがやすを技術ブログ

    Slim3 1.0.0をリリースしました。 リリースノートはこちら http://sites.google.com/site/slim3appengine/release-notes ダウンロードはこちら http://code.google.com/p/slim3/downloads/list Slim3の主な特徴は次のとおりです。 Global Transactions Faster than JDO/JPA Fast spin-up HOT reloading Type safe query 詳しくはこちらをどうぞ http://slim3.org Seasar2譲りのHOT reloadingやS2JDBC譲りのType safe queryなどもありますが、最大の特徴は、Global Transactionsを実装していること。 http://d.hatena.ne.jp/hig

    Slim3 1.0.0 Released - ひがやすを技術ブログ
    bojovs
    bojovs 2010/03/18
  • Google App EngineでGlobal Transaction - ひがやすを技術ブログ

    Google App EngineにはTransactionは1つのEntity Group内でしかできないという制限があります。詳しくは、App EngineのEntityGroupを理解しよう - yvsu pron. yasを参照してください。 そうするとある口座から別の口座にお金を振込むような送金のパターンで、Transactionを利用することができません(すべての口座を1Entity Groupに押し込むと更新がぶつかって現実的ではないから)。送金パターンで整合性を保つためには、理論的には次のようになります。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 実装するとこんな感じ。 http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engi

    Google App EngineでGlobal Transaction - ひがやすを技術ブログ
  • 興味のある言語にJavaと書いておいたら面接で爆笑された - ひがやすを技術ブログ

    Inspired by http://d.hatena.ne.jp/moriyoshi/20100204/1265242273 Javaエンジニアを募集してる会社の採用面接を受けた時の話。 転職エージェントに作れと言われて作ったシートに、「興味のある技術/言語」という欄があったんです。 「女の子ウケするコードの書き方」とか色々書いたけど、プログラミング言語の中で興味があるのはJavaだったので、Javaと書いておいたのですが、それを見た髭面サスペンダーの面接官のリアクションが酷かった。 面接官「Java・・・ふははっ!Java!」 面接官「Javaやってるんですか?wwwww」 俺「(唖然)は、はい・・まだ AppEngine にデプロイしたぐらいですが。。」 面接官「Javaはもう古い。大きめのiPhoneがむしろ日でこそブレイクする」 比べてるのが違うだろうと思ったが、強引な話の展開

    bojovs
    bojovs 2010/02/04