タグ

programmingに関するmukakenのブックマーク (99)

  • プログラミングファースト開発 - ひがやすを技術ブログ

    プログラミングファースト開発とは、ドキュメントを書いてからソースコードを書くのではなく、動くソースコードを書いてユーザに実際に触ってもらうということを何度も繰り返して、仕様を固める開発手法です。ドキュメントは仕様が固まった後に書きます。 テストサミットでは、極力ユニットテストを書かずに品質を確保する方法ということで、テストに重点を置いて話をしたのですが、今回のクロスコミュニティカンファレンスでは、「プログラミングファースト開発」そのものについて、会場の方々と一緒にディスカッションしました。 熱い(暑い?)ディスカッションになったので、思わず途中で泡のあるスポーツドリンクを飲まないといけなくなったほどです(笑)。 プログラミングファースト開発の開発手順は次のようになります。 実装してユーザに使ってもらうということを仕様が固まるまで繰り返す レビューの結果はその場で反映させる 仕様を決めながら

    プログラミングファースト開発 - ひがやすを技術ブログ
  • 職業訓練所の思ひ出 - マシンがどんどん廻る廻る 

    id:phaさんのとこで職業訓練校についての記事があった。 実は会社を辞めてからのニート期間に僕は職業訓練の学校に通っていたことがありました。職業訓練ってかなり良い制度だと思うんだけど意外と実情が知られてないようなので勿体なく思っているので、ちょっと職業訓練について自分の体験を交えながら書いてみようかと思います。 で、かくいう僕も転職準備中という名目のニート期間に職業訓練校に通い、そこでJavaの勉強をしたのがプログラマになった(ホント直接の)きっかけでもあったので、自分の経験をつらつらと書き記しておきたいと思う。行くのを悩んでる人の検討材料にでもなれば幸い。 無謀な辞職から始まる というわけで職業訓練校にいったきっかけなわけだけど、これはもうものすごくストレートに「失業保険の給付期間を延長したい」がため。その前まで僕は某音楽雑誌の編集部にいたんですね。詳しくは書かないけど、これが超ワーキ

    職業訓練所の思ひ出 - マシンがどんどん廻る廻る 
  • ビューティフルコード

    『プログラミング言語C』のブライアン・カーニハン、『珠玉のプログラミング』のジョン・ベントリー、XMLの父ティム・ブレイ、そしてRubyのまつもとゆきひろ氏ら、一流プログラマたちが「美しいコード」についての思い入れを語る珠玉のエッセイ集です。世界でも指折りのハッカーたちが、優美で表情豊かな美しさに満ちたさまざまなコードをさまざまな角度から紹介しています。超一流の開発者たちの哲学、考え方、ものの見方の一端に触れることができる貴重な一冊です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。 第1刷正誤表

    ビューティフルコード
  • The Backyard - JavaScriptのおもしろさ

    JavaScript(ECMAScript)は、他のプログラミング言語の決まりに慣れ親しんでいると、非常に奇妙な存在です。一見すると、CやJavaから型宣言を省いただけの単純なプログラミング言語に見えます。しかし、prototype.jsやjQueryのような優れたライブラリのソースを眺めると、それが単なる勘違いに過ぎないことに気づくでしょう。 ここでは、prototype.jsのソースファイルを読むのに必要となるJavaScriptの文法のうち、特に重要な3点を説明します。これらは、JavaScriptでプログラムを記述するのに重要な役割を持つ反面、単にHTMLにアクセントを付ける程度の利用方法では出現しません。したがって、ここで説明するJavaScriptの「濃い」部分を知らなければ、prototype.jsのソースファイルを眺めても何が記述されているのか理解することはできないでしょう

  • http://www.shinchosha.co.jp/foresight/web_kikaku/u75.html

  • ブログが続かないわけ | 初心者プログラマーが簡単なフォームを作るときにやりがちな6つのミス

    お問い合わせフォーム、登録フォーム、キャンペーンの申込フォーム。 Webにはいろいろなフォームがある。 Webプログラマーであれば誰もが一度は作ったことがあると思う。 新人プログラマーの初めての実務がフォームであることも多いだろう。 新人が作っているというのにもかかわらず、技術的にも面白い部分がないせいか、正しい知識のある人がレビューすることが少ないと思われる。 単純さゆえにテストが不足しているということもあるかもしれない。 上記の理由は憶測にすぎないが、杜撰なフォームがたくさん出回っているのは事実だ。 もう、CAPTCHAの話とか以前の問題だ。 よく見かける悪い例を簡単にあげておく。新人が初めての実務に当たるときにこれを気にしてくれれば、世の中のフォームがだいぶ良くなると思う。 1. クライアントサイド(JavaScript)でのチェックのみ。 2. 選択肢式の入力欄に対するチェックの漏

    ブログが続かないわけ | 初心者プログラマーが簡単なフォームを作るときにやりがちな6つのミス
  • codepad – ブラウザ上で言語を編集・実行 | 秋元@サイボウズラボ・プログラマー・ブログ

    codepad.orgは、ブラウザ上のフォームから各種プログラミング言語のソースコードを打ち込んで、綺麗に色づけして表示したり、なんと実行して結果を表示させることができるというウェブサイト。 なぜか初心者に優しいと定評のあるあの言語や、10年前はみんなcoolと言っていたあの言語がない。くやしいのう、くやしいのう。 しょうがないのでC++で。 動いた! ちょっとだけやんちゃしてみる。ちゃんと返ってくる。 ついでにppencodeで via del.icio.us/popular この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

    codepad – ブラウザ上で言語を編集・実行 | 秋元@サイボウズラボ・プログラマー・ブログ
    mukaken
    mukaken 2008/03/05
    JavaScriptとJavaのこと!?
  • まつもと直伝 プログラミングのオキテ 第18回 プログラムを高速化する(その2):ITpro

    プログラムの高速化については連載の第13回で紹介しています。プログラム中のどの部分を高速化すべきなのか,どのように効果を測定するのか,そもそも高速化が必要なのかを考察しました。今回は実際に高速化を試みます。 今回はプログラム高速化の実践編として,ある程度の大きさの具体的なプログラムを段階的に高速化しながら,実践的なテクニックを学ぶことにしましょう。 例題はマンデルブロ集合*1の計算プログラムです(図1)。マンデルブロ集合は非常に美しい集合ですから,当はグラフィックス表示が好ましいでしょう*2。しかし,GUIを使うと,特定のGUIライブラリ(グラフィックス・ルーチン)に依存したコードが大量に必要です。今回のテーマは「高速化」ですから,直接関係のないGUIコードはできるだけ省くため,キャラクタ(英文字)で図形を表現することにしました。 1 require 'complex' 2 3 def

    まつもと直伝 プログラミングのオキテ 第18回 プログラムを高速化する(その2):ITpro
  • O'Reilly Village / オラの村: カーニハンが、ベントレーが、「コードの美しさ」を熱く語る珠玉のエッセイ集、『ビューティフルコード』今春刊行予定!サンプルPDFを公開

    カーニハンが、ベントリーが、「コードの美しさ」を熱く語る珠玉のエッセイ集、『ビューティフルコード』今春刊行予定!サンプルPDFを公開 Posted by Editor : 2008-02-03 16:59 「ビューティフルコード」をテーマに、K&R、AWKのブライアン・カーニハン、『珠玉のプログラミング』のジョン・ベントリー、XMLの父ティム・ブレイ、ゲノム解析のジム・ケント、そしてRubyのまつもとゆきひろ氏など、一流プログラマたちが思い入れを語る珠玉のエッセイ集、『ビューティフルコード』(久野禎子、久野靖訳)がいよいよ今春発刊されます。今回、カーニハンの1章とベントリーの3章のPDFを公開いたします。ほかにもSubversion開発者のカール・フォーゲル、『Linuxデバイスドライバ』のグレッグ・クローハートマン、『プログラミング言語SCHEME』のR.ケント・ディヴィグ、『ハッカー

  • ブラウザで Ruby on Rails 開発! Heroku を使ってみよう - WebOS Goodies

    Heroku は現在リミテッドβの状態なので、ユーザー登録を行うにはこちらのページでメールアドレスを登録し、招待メールが来るのを待たなくてはなりません。私が登録したときは 2 週間待ちだったのですが、現在はだいたい 1 日以内に招待が来るようです。ちょっと面倒ですが、ぜひサインアップして、 Heroku の素晴らしい世界を体感してみてください。 ・・・どうでもいいけど、サインアップのページにある看板はいったい。 無事にサインアップできたら、さっそくこちらのページから heroku にログインしましょう。すると、最初に以下のアプリケーション管理画面が表示されます。 heroku では同時に複数の Rails アプリケーションが開発できるので、この画面でそれらを管理するわけです。しかし、現在はひとつもアプリケーションが存在しませんので、新たに作成してみましょう。アプリケーションの作成は「Cre

  • コメント: 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を積極的に使う。 スコープの長い配列をクラスでラップする。 プレゼンテーションとロジックを分割すること。プレゼ

    mukaken
    mukaken 2008/02/03
    「# まあ、それはそれとしても、PHPの言語仕様がいろいろトホホなのは確かだけど。」←いつものオチ。
  • あるSEのつぶやき: フリーで使えるプロジェクト管理ツールまとめ

    フリーで使えるプロジェクト管理ツールをまとめておきます。 ■ガントチャート 開発マイルストーン ガントチャートプロジェクト管理できるExcelツール フリーとは思えないほど高機能 ガントチャートforExcel・・・シェアウェアになりました こちらもガントチャートプロジェクト管理できるExcelツール スケジュールの表示期間を切り替えられるのが便利 OpenProj Java ベースでガントチャートプロジェクト管理ができるツール Microsoft Project のフリーのビューワーとしても利用可能 フリーの高機能プロジェクト管理ソフト「OpenProj」を試してみました TaskLine Excelのアドインとして動作するプロジェクト管理ツール(saramiさん情報) Microsoft Projectのファイル(XML形式)をExcelで表示するProjectViewerもある

  • [JS]MicrosoftからJavaScriptのメモリリーク検出ツール

    MicrosoftのヨーロッパチームからJavaScriptのメモリリークを検出するツール「JavaScript Memory Leak Detector」のベータ版がリリースしました。 JavaScript Memory Leak Detector JavaScript Memory Leak Detectorは、Windows+IE専用のツールで、ダウンロード・インストールは以下の手順になります。 下記の「download link」からファイルをダウンロード。 Installation ファイルを解凍して、「JSLeaksDetector.msi」をダブルクリックして、インストール。 インストール時は、IEは終了しておく。 インストールが完了したら、IEを起動。 IE7の設定方法 [表示] - [エクスプローラ バー」 -[js memory leak detector]をチェック。

  • 「ハッカーと画家」の著者が新しいLisp系言語「Arc」を公開 | エンタープライズ | マイコミジャーナル

    著名なLispハッカーのPaul Graham氏とRobert Morris氏は30日 (米国時間)、新しいLisp系言語「Arc」をリリースした。ライセンスはArtistic License 2.0を適用、オープンソースソフトウェアとして公開される。 新しいLISP方言「Arc」が公開(画面はMac OS X) Arcは、Lispの方言に分類されるプログラミング言語。これまで氏のエッセイなどで開発中であることは知られていたが、実行可能な形で公開されたのは初めて。今回のバージョンは、Scheme処理系の一種である「MzScheme」にオーバーラップする形で実装され、データの読み込みや数値計算などの機能はMzSchemeに依存する。ArcについてGraham氏は、未完成だが実用可能なため成果を公開することにした、と記している。 Arcの動作には、LISPの実装系「MzScheme」が必要。開

  • まつもとゆきひろのハッカーズライフ:第10回 ソースを読もう (1/2) - ITmedia エンタープライズ

    ハッカー能力を高めるのに優れた方法は、実際にコードを書くことと、ほかの人が書いた優れたソースコードを読むことです。今回は、わたしの過去の経験からソースコード読解の秘訣を考えてみます。 ハッカー能力を向上させる方法 『Code Reading*』という書籍があります。わたしが監訳をしているから言うわけではないのですが、結構良いです。今回の「ハッカーズライフ」は、このを読んだ人には当たり前のことかもしれません。 ハッカーとしての能力を身に着けるのに優れた方法は、実際にコードを書くことと、ほかの人の書いた優れたソースコードを読むことだと思います。特にコードを読むことは普段あまり強調されませんが、他人のソースコードはいろんな意味で知恵と知識の源です。考えてみれば、わたし自身も他人のソースコードをたくさん読んで学んだように思います。 「コードを読むのは勉強になる」ということで、世の中には「Lin

    まつもとゆきひろのハッカーズライフ:第10回 ソースを読もう (1/2) - ITmedia エンタープライズ
  • ユメのチカラ: 開発工程を別々に担当してはいけない

    古典的なウォータフォールモデルでは、ソフトウェア開発を要求仕様分析、概要設計、詳細設計、実装(コーディング)、内部テスト、統合テスト、運用、保守みたいな工程にわけ、通常は各工程を別々の人が担当するというような方法がよくおこなわれている。 特に、要求仕様の分析、概要設計などは上流工程などとよばれていて、詳細設計、実装とは別の人ないしは組織が担当する。実装とかテストは下流工程などとよばれている。 よくあるパターンとしては元請けが上流工程を、下請け、孫請けが実装やテストなどを担当し、人月単価も下流の方が安い。 ウォーターフォールモデルでは各工程毎に成果物(仕様書や各種ドキュメント、プログラム)が大量に生産される。各フェーズ毎に定義された成果物がそろってから次のフェーズに移行するというのが建前なので、各フェーズでのドキュメントはどうしても冗長になりがちである。 一度固定した文書は次のフェーズで変更

  • 「選択肢が多すぎると意欲が削がれる」マルチコアの問題点 | WIRED VISION

    「選択肢が多すぎると意欲が削がれる」マルチコアの問題点 2007年10月 9日 経済・ビジネス コメント: トラックバック (1) Bryan Gardiner 2007年10月09日 米Intel社の『Research@Intel』ブログに、Timothy Mattson氏が10月2日(米国時間)、驚くべき投稿を行なった。 「プログラミング言語の開発者にとって最も重要な論文」について紹介し、この論文と、来るべきマルチコア・プロセッサー時代との関係について述べた内容だ。 Mattson氏の投稿の基的な趣旨は、以下のようにまとめられる――2人の社会心理学教授が2000年に書いたそれなりに有名な学術論文「選択が意欲をそぐ場合:良い物があまりに多く用意されている時、人は欲求を抱くことができるのか?」は、今日のハードウェアメーカーにとって、コンピューター科学者や数学者によるいかなる著作よりも重要

  • Pragmatic Bookshelf: By Developers, For Developers

    Network Programming in Elixir and Erlang Write High-Performance, Scalable, and Reliable Apps with TCP and UDP Learn network programming with Erlang and Elixir. Build reliable and scalable network systems, and understand why this platform is a perfect fit for networks. $31.95 ebook, all formats (details)

  • Programming Contests, Software Development, and Employment Services at TopCoder

    No negotiations. No onboarding. Work starts right away with our Talent Network.

    Programming Contests, Software Development, and Employment Services at TopCoder
  • Index - Erlang/OTP

    fact(0) -> 1; %% Pattern matching for control-flow fact(N) -> N * fact(N-1). %% Recursion to create loops > example:fact(10). %% Interactive shell for fast iterations 3628800 > [{I, example:fact(I)} || I <- lists:seq(1,10)]. [{1, 1}, {2, 2}, {3, 6}, {4, 24}, {5, 120}, {6, 720}, {7, 5040}, {8, 40320}, {9, 362880}, {10, 3628800}] > Fruits = ["banana","monkey","jungle"]. %% Immutable variables ["bana

    Index - Erlang/OTP