タグ

programmingに関するnetfanのブックマーク (38)

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

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

    プログラマー面接時の技術的な質問事項(アプレッソ版) : 小野和俊のブログ
  • WritingTestableCode - テストできるコードの書きかた

    WritingTestableCode - テストできるコードの書きかた 目次 この文書について まずいのその1: コンストラクタがやりすぎ まずいのその2: 深い仲になってしまっている まずいのその3: 脆いグローバルな状態とかシングルトンとか まずいのその4: クラスがやりすぎ テストできるコードの書きかた この文書について "Guide: Writing Testable Code" の日語訳です http://misko.hevery.com/code-reviewers-guide/ 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... TODO: 各 Flaw のリンク先も訳す Misko Hevery コードをベストな状態に保つために、 我々は Google でソフトウェアエンジニアに以下のようなをガイドを定期的に送っていた。このガイドを共有できてうれしいね。 この

  • プログラムの簡単さと難しさ - 遥か彼方の彼方から

    雑記最近プログラムが簡単だ、という話が賑やかでした。 それには初心者の僕も同意。プログラムは当に簡単だと思う。文法そのものは一週間あれば十分覚えられるし、手広くやらなければ数日で十分です。これは誇張でも何でもなくて、例えば数学英語、論理的思考や集中力の低さに定評があった僕でも、中学生の頃に一週間もしないでHSPという言語の基的なところは覚えました。 オブジェクト指向とかに手を出せば、確かに難しくなる。でも文法だけの理解なら時間は掛からないし、オブジェクト指向が理解できていなくても最低限のプログラムなら問題なく組める。 覚えなきゃいけないことは少ないし、よく使うからすぐに覚えられる。例えば条件分岐なんかで考えてみると、 if(条件式) { 条件式が成立したときの処理 } else { 条件式が不成立のときの処理 } これだけ。どうしても覚えられなくても、構文を神にメモってパソコンの横に

  • そろそろ3つのポイントについて「弾言」しとくか : 404 Blog Not Found

    2008年10月27日18:30 カテゴリLightweight Languages そろそろ3つのポイントについて「弾言」しとくか 熱もやっと引いてきたので。 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場 ちょっと囓っただけの素人が自分を過信して陥る三つの罠? - カレーなる辛口Java転職日記 三つのポイントに行く前に まずはこの台詞から。 うーんと,30点.「もう少しがんばりましょう」レベル. まず、この台詞はプロ2グラマーとしては0点。 なぜなら、プログラムが正しいかどうかを決めるのは、使う人々だから。 この中には、自分自身も含まれる。一行野郎からテストスクリプトまで、おそらくプログラムのほとんどは、自分自身のために書かれる。こういうプログラムまで「スコープがどうの」だの「言語がこうの」などというのはまさに no

    そろそろ3つのポイントについて「弾言」しとくか : 404 Blog Not Found
  • ウノウラボ Unoh Labs: 見ないと損する ソフトウェアテスト関連サイト色々

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: 見ないと損する ソフトウェアテスト関連サイト色々
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
    netfan
    netfan 2008/08/05
    oop, オブジェクト指向
  • プログラミング未経験者が JavaScript でプログラミングを始めるまでに必要なこと - IT戦記

    (執筆中) (文章の練習も兼ねてぐだぐだと執筆中、現時点で読んでも日語になってないと思います。) (執筆途中だけど、こうしたらいい!とか、アドバイスがあれば教えてください><読者みんなが編集者!とか言ってみる) (あ、はてな記法のパッチを送ってくれてもいいです^^) (ちょっと、 Shibuya.JS in Kyoto → PHP カンファレンスがあるので、次の更新はそれ以降になるかも) 自分の知り合いに「まったくのプログラミング未経験だけど、自分のウェブサイトを作ってみたい!」という人がいるので、プログラミングを始める前に必要な知識や心構えや準備などを書いておこうと思います。もちろん、最初に使う言語は JavaScript です。 この文章は、プログラミングまったくの未経験者が読んで分かる文章を目指しています。もし、分からない部分がある場合は指摘してください。聞いてください。自分で調べ

    プログラミング未経験者が JavaScript でプログラミングを始めるまでに必要なこと - IT戦記
    netfan
    netfan 2008/07/17
    『準備オッケー的で、レッツゴー的な何か』(・∀・)ニヤニヤ
  • yak shaving で人生の問題の80%が説明できる問題 - bkブログ

    yak shaving で人生の問題の80%が説明できる問題 つい最近、 yak shaving (ヤクの毛を刈る)、という言葉を知りました (原典)。これは「一見無関係に見えるけど、真の問題を解くのに必要な問題を解くのに必要な(これが何段階も続く)問題を解くのに必要な活動」という意味の言葉です。 yak shaving は、ようするに「ある問題を解こうと思ったら別の問題が出てきて、それを解こうと思ったらさらに別の問題が出てきて…」ということが延々と続く状況を表しています。ちなみに、ヤクとは毛が長い、牛の一種です。 yak shaving は、以前に覚えた bikeshed と同じくらい便利そうな表現です。というもの、プログラムを書いていると yak shaving 的な状況がすぐに発生するためです。 たとえば、「Amazon のほしい物リストを CSV 形式に変換して Excel で読み

    netfan
    netfan 2008/06/27
    あるあうあう
  • ハタさんのブログ : これから開発する人の為のOSSのススメ

    僕は、約2年間に渡って某企業の業務アプリケーションを作っている(出向)んだけども、そこでの経験を元に少し書いてみようと思う。 自分へ(?)向けたメモ。 0.僕を知らない人が読んでも大丈夫なように、前書き 僕はPHPerとしてS2DaoをJavaからPHPに移植しS2Dao.PHP5っていうしがないものを作っています。 これはApache Licenseで公開されています。 また、僕はOSSプログラマとしては何もすごいことやってないぺーぺーです。 今回、僕が今いる現場で作らさせてもらっているのは、Javaで書かれたWebフレームワーク。 フレームワークと言っても、それ自身を一から作っているのではんく、既存のフレームワーク(Strutsとかそういうの)を拡張した、業務フレームワークといったもの(さすがにこっちは一から作りましたが)。 Webフレームワークが持つ豊富な機能を制限したり、

  • 私が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
    netfan
    netfan 2008/02/21
    あざーっす
  • JavaScriptが、プログラムの初心者が勉強するのに適さない理由 - きしだのはてな

    デブサミでid:amachangが、初心者がプログラムを勉強するための言語としてJavaScriptがいいと言っていて、ぼくも同じような理由でいいと思って初心者の勉強にJavaScriptを使ってみたことがあるのだけど、実際にやってみるとかなり難しいと思ったので、そのことをまとめておきます。 id:amachangが言ってたことははっきり覚えていないので、まずは、ぼくがJavaScriptがいいと思った理由。 実行環境がデフォルト どんなパソコンにも最初からJavaScriptを動かす環境が入ってます 実際に動いてるものがみれる JavaScriptで動かしているものにすでに接しています 作ったものをすぐに試せる ブラウザで試せます 言語が難しくない(入り口として) 型の指定をしなくていいのは、初心者には敷居が低い で、JavaScriptを使って初心者にプログラムを教えるのを断念した理由

    JavaScriptが、プログラムの初心者が勉強するのに適さない理由 - きしだのはてな
    netfan
    netfan 2008/02/20
    DOMは確かに初心者には難しい。そういえばこれ→ http://blog.livedoor.jp/dankogai/archives/50939443.html はどうなったんだろう。
  • 眠る開発屋blog|最新オンラインカジノのニューカジノ情報

    もしもこの世から「残業」が完全になくなったら 3年ぐらい前に読んだを思い出した。 1980−90年代の話ですが、残業について、 「時間外・休日労働の弾力的運用が我が国の労使慣行の下で雇用維持の機能をはたしている」(1985年労働基準法研究会報告)とか、「我が国の労働慣行の実情に合うような上限設定が可能かどうか定かでない」(1992年同報告)と、雇用維持の為のコストとして恒常的な長時間労働を是認する考え方が主流でした。 需要の低下に応じて、生産水準を下げなくてはならなくなっても、バッファがあるから解雇せずに大丈夫でしょ、という。。。 まぁ、 ところが、その後、労働法政策が内部労働市場の雇用維持から外部労働市場における移動促進に徐々にシフトしていったにもかかわらず、この長時間労働哲学には疑問が呈されないまま21世紀に至っているのです。 と著者は問題視しているわけだけど。 話変わって、最近友人

  • 眠る開発屋blog|最新オンラインカジノのニューカジノ情報

    もしもこの世から「残業」が完全になくなったら 3年ぐらい前に読んだを思い出した。 1980−90年代の話ですが、残業について、 「時間外・休日労働の弾力的運用が我が国の労使慣行の下で雇用維持の機能をはたしている」(1985年労働基準法研究会報告)とか、「我が国の労働慣行の実情に合うような上限設定が可能かどうか定かでない」(1992年同報告)と、雇用維持の為のコストとして恒常的な長時間労働を是認する考え方が主流でした。 需要の低下に応じて、生産水準を下げなくてはならなくなっても、バッファがあるから解雇せずに大丈夫でしょ、という。。。 まぁ、 ところが、その後、労働法政策が内部労働市場の雇用維持から外部労働市場における移動促進に徐々にシフトしていったにもかかわらず、この長時間労働哲学には疑問が呈されないまま21世紀に至っているのです。 と著者は問題視しているわけだけど。 話変わって、最近友人

  • あなたがプログラミングの初心者なら、友人知人が使っている言語にするといい : akiyan.com

    あなたがプログラミングの初心者なら、友人知人が使っている言語にするといい 2008-02-05 初めてのPC購入(OS選択)相談を持ちかけられたときにこう言ったことがある。 「まわりの人が使っているOSにするといいよ。Windowsの人が多いならWindowsMacが多いならMacね」 多分同じ事を言ったことがある人も多いんじゃないかな。 いい悪いももちろんあるけど、そのジャンルにおける当の初心者にとっては助けてくれる人の存在がかなり大事だと思う。プログラミングもこれと同じ。というか、それなりにハードルがある技術全てに言えるんじゃないか。 個人的に、何かを薦めるという行為は、人的にちょっと責任を感じる行為だと思う。だから、もし僕が親密度の高い人から技術選択の相談を受けたら、良し悪しも含めた上で僕がなるべくサポートできる言語やフレームワークを薦める。でも、その人の周りに他の言語やフレー

    netfan
    netfan 2008/02/06
    結局そういうことなんですよ
  • コメント: PHPは駄目な言語なのか? - スラッシュドット・ジャパン

    趣味でやっている人のことは、まあ、いいとして(踏み台にされる可能性はあるけど)、仕事PHPを使うときの注意を書いておこう。 コーディング規約を守る。組織にコーディング規約がないなら、Zend Framework PHP標準コーディング規約 [zend.com]を使う。オレ流コーディングスタイルは禁止。 内部コードにはEUC-JPかUTF-8を使う。入出力もできるだけShift JISを避ける。Shift JISを使う場合には2byte目に0x5Cを含む文字の動作を忘れずに確認する。 開発環境の警告レベルをE_STRICTにする。番環境ではdisplay_errorsをオフにする。 register_globals、magic_quotesはオフにする。 type hintingを積極的に使う。 スコープの長い配列をクラスでラップする。 プレゼンテーションとロジックを分割すること。プレゼ

  • 開発環境としてのMac OS X Leopard - Blog by Sadayuki Furuhashi

    なかなかrootにならせてくれない、ハードウェアを選ばせてくれない、設定ファイルをviでいじらせてくれないなど、不自由なUNIX : Mac OS Xですが、それ故の自由が何物にも代え難い今日この頃。Leopardになってcron+pdumpfsの仕事まで持って行かれてしまいました。 前回のTiger版カスタマイズメモに引き続いて、Mac OS Xのカスタマイズを書いておこうと思います。 Terminal.app タブ機能が実装されたりssh-agentがKeychainと統合されたりと、Leopardで驚異的なアップデートが行われたターミナル周りですが、まだまだ改善できる余地があります。問題は以下の3点。 HomeキーとEndキーが使えない 色が見にくい ショートカットキーが使いにくい まずHomeキーやEndキーですが、これは環境設定で変更できます。Terminal.appの環境設定の

    開発環境としてのMac OS X Leopard - Blog by Sadayuki Furuhashi
  • Arc Forum | Arc

    install | tutorial | forum This site is about Arc, a new dialect of Lisp. Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software. Arc is unfinished. It's missing things you'd need to solve some

  • WEB+DB PRESS Tech Meeting [資料&動画]|gihyo.jp … 技術評論社

    当日の講演資料と動画を公開です。 動画はニコニコ動画を利用して配信しています。ニコニコ動画のアカウントをお持ちでない方でも,gihyo.jp上で動画を再生できます(コメントの書き込みはできません)。 動画の最後でニコスクリプトを使ったアンケートを行っていますので,ニコニコ動画のアカウントをお持ちの方はご協力いただければ幸いです。動画をクリックすることでニコニコ動画の該当ページへアクセスすることができます(ニコニコ動画のマイリストはこちら)。 今回の動画公開にあたって,gihyo.jp用に新たなニコニコ動画プレーヤーを作っていただきました。この場を借りてニコニコ動画の方にお礼を申し上げます。 JavaScript Tips & Technique IT戦士amachangが最近のJavaScriptのテクニックやTipsについてご紹介します。

    netfan
    netfan 2008/01/22
    dankogai,amachang,
  • 株式会社エス・スリー・フォー » オブジェクト指向設計の基本

    オブジェクト指向設計の基 オブジェクト指向プログラミングの特徴 伝統的な手続き指向プログラミングでは、実行する一連のステップ、すなわちアルゴリズムを記述するものをプログラムと考えます。オブジェクト指向プログラミングでは、プログラムはオブジェクトの相互作用システムをして記述します。一時的に必要となる領域、すなわちテンポラリ・バッファはプログラムのいたるところで用いられます。C++を厳格な手続き型言語として使うこともできますが、オブジェクト指向のアプローチをとることでC++の長所を生かすことができます。 オブジェクト指向プログラミングは、キーとなる概念をいくつか持っています。 ■ 抽象化の概念 最も基的な概念で、大規模なプログラムをより単純に記述できるようにします。 ■ カプセル化の概念 プログラムの変更とメンテナンスを簡単にします。 ■ クラス階層の概念 プログラムを簡単に拡張できるよう

    netfan
    netfan 2007/11/13
    oop、オブジェクト指向
  • HowToWriteAnEffectiveDesignDocument - 設計文書のうまい書き方

    HowToWriteAnEffectiveDesignDocument - 設計文書のうまい書き方 目次 この文書について 設計文書のうまい書き方 なぜ設計文書を書くのか 良い設計とは何か 同僚の開発者に向けて書く 第 1 節に書くこと: プロジェクト/サブシステムの目的を示す 第 2 節に書くこと: 設計に使う高レベルなエンティティを定義する 第 3 節に書くこと: 個々のエンティティに関する低レベルの設計を書く 使い方 設定 モデル 相互作用 第 4 節に書くこと: 利点, 前提, リスク/懸念事項 マネージャ向けに書くこと 最後に 設計文書のうまい書き方 この文書について "How to Write an Effective Design Document" の日語訳です. http://blog.slickedit.com/?p=43 推敲歓迎: 誤訳, タイポ, 訳語の不統一,

    netfan
    netfan 2007/09/27
    設計