タグ

programmingに関するandalusiaのブックマーク (15)

  • プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ

    技術者・SE・プログラマ面接時の技術的な質問事項というエントリをはてブで見かけたのだが、私もjavaプログラマーの面接を割とよくやっているので、よく質問する内容をまとめてみた。 (ちなみに、基的にコーディング面接の形態を取っている) プロジェクトの性質にもよると思うが、私の場合には、情報処理技術者試験的に基礎が満遍なく抑えられているかどうかよりも、 すぐ答えが見つからないような課題に対して、きちんと自分でやり方を考え、対応することができるか 「変な」コードをコミットしたりしないか(見つけにくいバグを混入させるとか、汚いとか、遅いとか)といった点を重視している。 まず、何を知っているかよりも、どんなものを作れるか、どんなことができるか、という質問。 ここで強烈な回答が来る人は、たいていここより下の質問は「あー、はいはい」という感じでサラッと答えてくることが多い。 これまでに携わってきた開発

    プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ
    andalusia
    andalusia 2009/02/25
    こんな人に来て欲しいわ。/ id:yukung もしかして: 偽装請負
  • DRYについてのよくある誤解 - ひがやすを技術ブログ

    WEB+DB PRESS vol.49で、「現場で役立つDRYの基礎知識」が特集されています。とても、良い記事だと思うので、ぜひみなさん、読んでください。 ただ、ちょっと補足をしておきます。 記事の中で、DRYは、「達人プログラマー」の中で、とりあげられ、Railsによって広まったとされています。確かに、Rubyの世界ではそうかもしれないけど、DRY原則というのは、ERモデリング(DOA)の世界では、ずっと「One Fact In One Place」という言葉で知られてきました。 ERモデリングにおける正規化は、「One Fact In One Place」を具体的に実現するための手段です。 DRYという言葉そのものを広めたのは、間違いなくRailsです。しかし、DRYの考え方そのものは、昔からあったし、「One Fact In One Place」という言葉も、昔から有名だったというこ

    DRYについてのよくある誤解 - ひがやすを技術ブログ
    andalusia
    andalusia 2009/02/23
    "One Fact In One Place" → へー、in が入るんだ・・・と思った。ぐぐってみたら、日本語ページでは inあり:inなし=85:41 全言語では635:2540。どっちでもいいということらしい。
  • もうこれで十分。HTML上でテーブルを表示するなら·Sigma Grid MOONGIFT

    業務システムを構築する際に、一覧表を表示するという処理は多い。そしてそのデータを並べ替えたり、チェックボックスを入れたりしたいというニーズも多く発生する。場合によってはカラムを並べ替えたり、一括更新したいなんて言われることもある。 ソートも並べ替えもページネーションも全部こみこみ それを一つ一つ実装していては非常に工数がかかってしまう。そこで使いたいのがこのSigma Gridだ。 Sigma Gridはテーブルの表示とソート、データ編集などを可能にする超豪華ライブラリだ。LGPLライセンスの下に公開されているオープンソース・ソフトウェアだ。 Sigma Gridはデータの表示に際してJSONでデータを渡す必要がある。そのため既存のシステムにそのまま組み込むのは難しいかもしれない。だがその変更してもあまりあるメリットを享受できるに違いない。 画像表示とクリックアクションの例 まずカラムごと

    もうこれで十分。HTML上でテーブルを表示するなら·Sigma Grid MOONGIFT
    andalusia
    andalusia 2008/11/26
    便利そうではあるが・・・こと業務アプリケーションではIE5.5の切り捨ては難しいんだよな。
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
    andalusia
    andalusia 2008/10/27
    こういうのあるね。細かい話では 『ViewにLogic書くな』 とか 『goto文使うな』 とか 『ループはイテレータで』 とか、大きな話では 『設計書FIXさせてからコード書け』 とか。↓に守破離ってコメあるけどその通りだと思う。
  • Railsを辞めてSeasar2を採用した理由 - ひがやすを技術ブログ

    最初はRailsでいこうかと思っていましたが、SAStrutsとS2JDBCを試してみてこちらの方が良いと判断したためS2で作成することに決めました。 Railsを辞めた理由、S2を採用した理由 ・自分自身Rubyに慣れていない。なので、リリースまでに時間がかかる ・自分自身Javaにはかなり慣れている ・Seasarもたくさん使ったことがあるので、DIやAOPに関する部分も問題ない ・検証していないがパフォーマンスはJavaの方が良いと多くの人が言っている 今までのJavaは設定ファイルは多いしWASの起動時間を修正毎に待たなくてはいけないなど開発効率が悪すぎました。SAStruts+S2JDBCはその部分は全て解決されていました。当にいい感じです。 最初に言っておくと、Railsは良いフレームワークだし、Rubyは生産性の高い言語だと思います。ただし、Seasar2(Java)も生産

    Railsを辞めてSeasar2を採用した理由 - ひがやすを技術ブログ
    andalusia
    andalusia 2008/06/01
    じゃあ、『COBOLでRails並みの生産性を実現するフレームワーク』があれば、COBOLしか知らないおっさんプログラマー(特にユーザ企業内の、オープン化の波に取り残されちゃった人)はハッピーになれるのかな?と思ったり。
  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
    andalusia
    andalusia 2008/05/12
    TangoSol (現Oracle Coherence)の Data Grid みたいなかんじ? あとで調べる。
  • Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi

    上を行くかどうかは知りませんが :-p Ajaxはクライアントの都合でサーバーに通信を仕掛けるpull型の通信ができ、Cometはサーバーが好きなタイミングでクライアントへデータを送りつけるpush型の通信ができるわけですが、新たに双方向の通信ができる技術を開発しました。 具体的には、JavaScriptとサーバーの間で双方向のRPCができます。すなわち、サーバーからクライアント側のJavaScriptのメソッドが呼べるし、逆にクライアント側からサーバー側のメソッドを呼ぶこともできます。 サーバー側で call("addMessage", "Hello!") とやると、JavaScript側の function addMessage(msg) { ... } という関数が呼ばれたりします。 この技術を使って、試しにチャットシステムを作ってみました > デモ (ソースコード)*1 リアルタイ

    Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi
    andalusia
    andalusia 2008/05/06
    HTTPじゃなくていいのなら、NetWareの時代からVisualBasic等で既に実現していますが…
  • 一般人よりプログラマが優れている10の理由 - あと味

    私は常日頃、「プログラマって絶対優秀だよなぁ」と感じています。そう思っている理由を10個にまとめてみました。 ちなみに、私はプログラマではありません。一般人です。現場を知らないので、理想論に近い話になっていると思いますがご了承ください。どうやらおもいっきり理想論っぽいです。 抽象化・具体化ができる オブジェクト指向限定かもしれません。一般人よりもものごとの質を見極める目を持っています。また、その訓練をしています。多くの偉人たちは、このスキルを持って、人々を導いてきました。 適材適所ができる どの言語を使うべきか、どのライブラリを使うべきかということの最適解を常に模索しています。一般人よりも適材適所に対する感度が高いと思います。 MECEなグルーピングができる 関数やクラスなど、漏れ・重複が極力ない設計を心がけています。一般人は、グルーピングしても漏れも重複も発生してしまうことが多いです。

    一般人よりプログラマが優れている10の理由 - あと味
    andalusia
    andalusia 2008/04/07
    うん。これ全部満たしているプログラマには人月200万払える。n個満たしているプログラマには人月20n万払える。でも残念ながら(以下略)
  • 2008-04-02

    主人公は高校生、クラスで目立たないが、実はLispハッカー。 明治時代から代々続くプログラマの家系。 ご先祖様は、チャールズ・バベッジと競いあったり、フォン・ノイマンに「やつは天才だった」と言わしめたり。 彼の家系は、その類まれなハッキング能力から、時の権力者や、軍や、国際大企業や、秘密結社から狙われている。 彼の祖父は、戦時中に、現代でいう楕円曲線暗号を、時代に先駆け50年早く編み出していたが、その秘密を守るため軍に殺された。 彼の父親は、2000年問題で核ミサイルを発射しかけた国防総省のメインコンピュータのプログラムを修正したが、放射線に晒されて、命を落とした。 プログラミングの秘伝を記した巻物は一子相伝。 幼少のころから父親にプログラミングを叩き込まれる。 第1話 高校の文化祭で開かれた、タイピングコンテスト。 彼は決勝戦に進出。 「こんなヘンピな高校でも、なかなかのやつがいるもんじ

    2008-04-02
    andalusia
    andalusia 2008/04/04
    少女漫画版もほしいな。天沢「俺、中学卒業したらシリコンバレーで修行したいんだ」 月島「だったら私もウェブデザインやってみる!」 西老人「このCSSは荒々しくて、率直で、未完成で、まるで聖司のコードのようじゃ」
  • 私がJavaScriptを初心者用の言語として選んだわけ : 404 Blog Not Found

    2008年02月20日16:00 カテゴリLightweight Languagesアマグラマーのすすめ 私がJavaScriptを初心者用の言語として選んだわけ アマグラマーのすすめが止まっていて一部の読者を絶望させて申し訳ありません。他のを先に出さないといけないというのがその理由なのだけど、いい機会なので、 2008-02-20 - きしだのはてな デブサミでid:amachangが、初心者がプログラムを勉強するための言語としてJavaScriptがいいと言っていて、ぼくも同じような理由でいいと思って初心者の勉強にJavaScriptを使ってみたことがあるのだけど、実際にやってみるとかなり難しいと思ったので、そのことをまとめておきます。 への返答の形で、なぜ私がJavaScriptを選んだのかをまとめておくことにします。 まず比較的明らかな理由。 インストール不要の開発環境 ブラウザ

    私がJavaScriptを初心者用の言語として選んだわけ : 404 Blog Not Found
    andalusia
    andalusia 2008/02/21
    VisualBasic世代が後で苦労して来たの見てるから、教育用は型の概念のしっかりした言語のほうがいいんじゃないかなと思ってる。
  • 260万人の朝の足を直撃 プログラムに潜んだ“魔物”

    週末の朝、260万人の足を直撃したのはプログラムに潜む“魔物”だった──10月12日朝、JR東日や東京メトロなどの8都県662駅で自動改札機が起動しなかった原因は、「レアケース」という改札機の不具合だった。 同日早朝、SuicaとPASMOに対応した16事業者662駅で、日信号が製造した自動改札機4378台(PASMO 470駅3050台、Suica192駅1328台)が起動しない不具合が発生。通常は駅構内のサーバから集中的に起動する仕組みだが、これが不可能に。各駅はサーバから改札機を切り離し、単体起動に切り替えるなどして対応。午前11時までに全面復旧したが、PASMOで約160万人、Suicaで約100万人の客に影響が出た。 日信号によると、現時点で判明しているのはこうだ。原因は自動改札機のICカード判定部の不具合。判定部には毎朝、サーバから起動用データの1つとして、「ネガデータ」

    260万人の朝の足を直撃 プログラムに潜んだ“魔物”
    andalusia
    andalusia 2007/10/13
    これが『世界を変えるコード』ってやつか・・・
  • マシン語ってどんな感じか知りたくなった方へ - shi3zの日記

    andalusia
    andalusia 2007/09/13
    一流のプログラマーはマシン語と数学と会計と品質管理と物理学と経営学と経済学と心理学と社会学と法律と統計と論理学とプレゼン手法とデザインと色彩感覚とライフハックとペン字を習得しなければいけないのだ!
  • マシン語を知らない子ども達 - shi3zの日記

    andalusia
    andalusia 2007/09/12
    それよりも、『プログラミングを知らないSE・システムコンサル達』をなんとかしてください!
  • プログラマ1年生に、先輩がアドバイス:アルファルファモザイク

    「ゼリーのみ規制…モチはいいのか?」→野田聖子氏「モチは喉に詰まるものというのが常識」…消費者庁構想に暗い影

    andalusia
    andalusia 2007/08/30
    おい小僧! 残業は月15時間しか『つけちゃダメ』だ。あと、年間6日は有給を『使ったことに』しろ。わかったな!
  • [Java]正しい無限ループの書き方 - きしだのはてな

    boolean д = true; for(;д;){ System.out.println("でれません"); } boolean ω = true; for(;ω;){ System.out.println("ぬけれません"); } boolean ェ = true; for( ;(ェ); ){ System.out.println("終わりません"); } boolean TдT = true; while(TдT){ System.out.println("帰れません"); } 参考 while(1)をfor(;;)って書くやつ(2ch)

    [Java]正しい無限ループの書き方 - きしだのはてな
    andalusia
    andalusia 2007/07/11
    Have a break!
  • 1