programmingに関するtoy2doneのブックマーク (241)

  • 平凡なエンジニアが未踏ソフトウェア創造事業をやったらどうなるのか書いてみた - Akasata's Page(あかさたのページ)

    2007-11-01 14:29 : 平凡なエンジニアが未踏ソフトウェア創造事業をやったらどうなるのか書いてみた 最近、八角研究所で技術記事を書いているのですが、私が参加した 2006 年度下期未踏ソフトウェア事業(2006 年 11 月 ~ 2007 年 8 月末まで)の体験談を書いてみました。 未踏の体験談を書こうと思った動機について書きます。 私がお世話になった PM は東工大の千葉先生だったのですが、同じ PM 配下でも他の方は凄腕のエンジニアであり、能力的にも住む世界が異なるという感じでした。そういうエンジニアは目立つので、私は未踏のエンジニアというともの凄い凄腕ばかりを思い浮かべてしまうのですが、未踏ソフトウェア創造事業そのものは、適切な提案ができれば平凡なエンジニアにも門戸が開かれています。 というか、普通のエンジニアこそ挑戦すべき制度です。とはいえ、

  • CVSユーザのためのSubversion TIPS:Geekなぺーじ

    「The Top Ten Subversion Tips for CVS Users」という記事がありました。 Subversionの開発を行っているGoogle社のBrian Fitzpatrick氏が書いているブログ記事のようです。 元々は2004年にONLampで発表されたものだそうです。 以下、要約です。 誤訳などの可能性があるので原文もご覧下さい。 1. ステータスを見るにはstatusを利用しよう CVSでは、手元のコピーと最新レポジトリとの違いを見たい場合、 cvs updateを使いますが、cvs updateをしてしまうと、違いを知ると同時に手元のコピーが最新の状態にupdateされてしまいます。 (-nを使わない場合。また、statusコマンドもありますがあまり使い勝手は良くありません。) Subversionでは、updateを行わずに状態だけを知る事ができます。 $

  • 404 Blog Not Found:アマグラマーのすすめ - 目次

    2007年11月24日20:00 カテゴリアマグラマーのすすめ アマグラマーのすすめ - 目次 完成まで毎日更新予定 - なかなか毎日更新とは行かないのはスルーしていただく方向で。 はじめのはじめ はじめに プログラムって何さ? 世界は言葉で出来ている 下ごしらえ プログラムの言の葉 美徳その1:怠慢 美徳その2:短気 美徳その3:傲慢 「アマグラマーのすすめ」カテゴリの最新記事

    404 Blog Not Found:アマグラマーのすすめ - 目次
  • 改札トラブルは境界処理のミスでハングアップ | スラド

    asahi.comの記事によると、12日に起きた自動改札機の障害は、無効カードデータの情報送信時に、境界バイト処理に失敗することが原因だったそうだ。 よくわからないのは記者の解説。意訳が入っているらしく数字が理解できないのだが、「85件増すごとに5件の割合で、余った2バイトの処理を忘れる」という引用があるので、ここの数字だけは表現が正しいと思われる。ちなみに、開発(納品?)元の日信号からは、10月15日付けで簡単な報告が公開されおり、朝日新聞の記事はその詳細をインタビューしたものと思われる。 このバグ、どういう話だと思われますか?

    toy2done
    toy2done 2007/10/30
    一般人向けの障害報告って難しい…
  • 404 Blog Not Found:惰訳 - 建築士がプログラマーのごとく働かねばならぬとしたら

    2007年10月26日01:45 カテゴリ翻訳/紹介Art 惰訳 - 建築士がプログラマーのごとく働かねばならぬとしたら 全プログラマーが泣いた。 If architects had to work like programmers... 実は一つだけ「ローカライズ」にあたって変えた前提があります。日ではこちらの方が実情に沿っているでしょう:) 建築士様、 家を一つ設計施行してくださいな。まだ何が必要か具体的なことはわからないので、そこはよきに計らう方向で。 寝室の数は、2から45までの間。寝室の追加と削除は簡単に出来るようにしといて下さいね。青写真が出来次第あたしが何が気に入ったかを最終判断します。それぞれの青写真について明細書を付けるのをお忘れなく。後で気に入ったのをピックアップできるように。 完成後の家の費用は、今住んでいる家よりも安上がりでないと駄目なことを留意してくださいな。そ

    404 Blog Not Found:惰訳 - 建築士がプログラマーのごとく働かねばならぬとしたら
  • ユメのチカラ: 開発工程を別々に担当してはいけない

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

  • Eclipse入門

    オープンソースの統合開発環境(IDE)である Eclipse の使い方を学習します。 Eclipse のインストール方法や日語化の方法、プラグインの導入、 Java アプリケーションの開発方法を勉強していきます。

    Eclipse入門
  • ブラウザから誰でも簡単にSubversionが使える『Beanstalk』 | 100SHIKI

    ブラウザから誰でも簡単にSubversionが使える『Beanstalk』 October 23rd, 2007 Posted in その他 Write comment 激しく使えそうな予感がして、朝からテストしまくりの開発者向けサービスのご紹介。こ、これは使える! Beanstalkはバージョン管理アプリのSubversionをASPで提供してくれる。 ブラウザ上で簡単にリポジトリをつくってソースをコミットしていけるのだ。 もちろんバージョンごとにブラウザ上でコードを見ることもできる。複数ユーザーでもコミットも楽々だ。 こうした機能を実現するにはtracがあるが、インストールがとっても面倒である(苦労するよね、あれ)。そこで苦労した人にとってBeanstalkの手軽さは大きな魅力ではなかろうか。 現在のところ1リポジトリ、2ユーザー、10MBの容量の無料プランしか用意されていないが、近い

    ブラウザから誰でも簡単にSubversionが使える『Beanstalk』 | 100SHIKI
  • void GraphicWizardsLair( void ); // シェルで使う「*.jpg」みたいなglobと、PerlやJavaScript等で使う「.+\.jpg$」という正規表現は全く別物だけど、混同されている

  • 「刑務作業でRuby」はどうなったのか――秋の夜の幻

    今年5月、当時開所前だった日初のPFI刑務所「美祢社会復帰促進センター」の刑務作業として、Rubyを用いたソフトウェア開発が行われるという発表があった。あれから半年、実際はといえば……。 今年5月、当時開所前だった日初のPFI刑務所「美祢社会復帰促進センター」の刑務作業として、ソフトウェア開発アウトソーシング業務が実施され、その開発言語はRubyが用いられるというニュースをお届けした。 PFI(Private Finance Initiative)という聞き慣れない言葉は、民間資金を利用して民間に施設整備と公共サービスの提供をゆだねる手法を意味している。つまりPFI刑務所とは、民間ノウハウを活用した刑務所のことである。 当時、このソフトウェア開発関連の刑務作業案件を担当する企業であると称するプリズニーズからリリースが配信され、それを受けてITmediaを含む多くのメディアで「刑務作業で

    「刑務作業でRuby」はどうなったのか――秋の夜の幻
  • すごい人たちに追いつきたい──MagicSketch・浜本階生さん

    「ひとりでつくるネットサービス」──第17回目は、グルメ情報を独特のインタフェースで検索できる「EatSpot」、英文構成に便利なツール「NativeChecker」、Wikipediaをもっと便利に検索できる「Sensr」、アイデアを手書き感覚で投稿・共有できる「MagicSketch」などを作っている浜階生さん(25)にお話を伺った。次々とWebサービスをつくりだす浜さんは、どのようにサービス開発をしているのだろうか。 尊敬する先輩に出会い、QuickC、Delphiへ 「Webの世界にはすごい人がたくさんいます。今はとにかく勉強してその人たちに追いつきたい」。そう話す浜さんはまだ25歳。現在は、学生時代からアルバイトしていた会社に就職、Webシステムの企画、運営をしている。 尊敬するエンジニアは、Javaのフレームワーク、Seasarを開発しているひがやすをさん、Plagger

    すごい人たちに追いつきたい──MagicSketch・浜本階生さん
  • 長文日記

  • CodeZine:signalについて(後篇)(signal, Linux, Unix, シグナル)

    はじめに シグナルについての解説最終回です。今回はシグナルを扱う上での注意点や、よりよい実装方法の提案、シグナルの未来等について説明します。過去の記事signalについて(前篇)signalについて(中篇) 5. 実装上の注意点 前回まで説明してきたとおり、シグナルは気軽に使うことができる便利なプロセス間通信です。しかしシグナルには、やってはいけないことや気をつけるべき点が多く存在します。以下、代表的な注意点を挙げます。5.1 最適化問題 volatileはそれほど使われない宣言修飾子ですが、これは最適化を制御する修飾子です。なぜこの修飾子がシグナルと関係あるのかについてですが、先にソースコードを示します。 /* 1. gcc -g -W -Wall signal_test_volatile.c -o signal_test_volatile 2. gcc -g -W -Wall sign

  • 難読化手法(Software Obfuscation):Geekなぺーじ

    ソフトウェアの難読化に興味を持ったので、どういう手法があるのか調べてみました。 結構面白かったです。 この分野は勉強していくと非常に面白そうですね。 (メチャメチャ奥が深そうですね) 以下に、簡単な手法をいくつかピックアップしてみました。 様々な手法を組み合わせて、ぐちゃぐちゃの読みにくい出力を生成できるそうです。 また、自動的に出力をぐちゃぐちゃにするツールも色々あるようです。 名前マングリング 何をするかバレバレの名前をバイナリ中に残してしまうと、すぐに解析されてしまいます。 それを防ぐために関数名などをマングリングしてしまいます。 例えば、以下のようなコードがあったとします。 secret_key_funcという秘密鍵を扱う関数があるとします。 例えば、これをdefineでhogera()に変えてしまうと、何をしたい関数なのかが多少わかりにくくなります。 #include <stdi

  • 「渡された仕様書を実装するサラリーマンプログラマ」の悲哀

    @ITの「業務用途でRubyを使う上での課題 」を読んでなんだか悲しくなった。 チーム開発でRubyを使ったときに今後起こりえる問題として、サン・マイクロシステムズ システム技術統括部 チーフテクノロジストの下道高志氏は、こう指摘する。「他人の書いたPHPコードのメンテナンスはできない。Rubyはどうかといえば、現状はいい。しかし今後“職業プログラマ”ではなく、渡された仕様書を実装する“サラリーマンプログラマ”が増えてくると、コードのスパゲッティ化は避けられないだろう」。 【業務用途でRubyを使う上での課題 − @ITより引用】 これは言語の問題ではなく、日のソフトウェア産業全体が抱える問題。以前にも「ソフトウェアの仕様書は料理レシピに似ている」というエントリーで書いたが、来のソフトウェア作りとは、絵を描いたり、音楽を作ったり、建物をデザインするのと同じ「創作活動」である。ドラッ

  • 回転と脱線 - vimでjavaの開発を行う その1

    まあ前々から考えてた事なんだけどできるのかなあと。 インスコ時はXみてーなのとか立ち上がってないといかんっぽいけどインスコが 終わればterminalだけで動くはずです。 まあちょっとやってみたいひとは参考にしてみてください。 使用するもの JDK1.5 Eclipse3.3 Vim7 eclim1.3.1 1. JDKをインスコ まあ普通にインスコします。 1.5以上じゃないとあかんらしい。 2. Eclipse3.3をインスコ Enabling Open Innovation & Collaboration | The Eclipse Foundationから3.3をダウンロードします。 解凍して適当な場所に置きます。 一度起動してworkspaceの場所、あと自動ビルドの指定をしておきます。 WTPとかインスコしておくといいらしいのでupdateから入れておきます。 emfとかもいる

    回転と脱線 - vimでjavaの開発を行う その1
  • signalについて(前篇):CodeZine

    はじめに シグナルはUNIXなどのOSにおける非同期イベントを通知する仕組みですが、「最古のプロセス間通信」「SysV系とBSD系で動きが違う」「昔のシグナルを使うと汎用性が無くなってしまう」「スレッドと相性悪し」といった理由からか、私の経験上、業務系アプリケーションではあまり使われていません。たまに使っているものを見ると、誤った使い方をしているものが多かったりします。 ところがこのシグナル、いろいろ調べていくと意外と奥が深く、有用に使えるのに、以外と情報が少ないことがわかりました。 今さらな感もありますが、ここでは私が知っている事や、調べた結果、今までの経験から得た知識などをまとめてみたいと思います。 ただし、環境によって動作が違うことが想定され、また一部のプログラムは環境に対し重大な影響を与えてしまうものもあります。プログラム等の使用に際しては十分に注意して頂き、ご自身の責任の範囲で行

  • Google Maps 入門

    Google マップはグーグルが提供している地図サービスです。この Google マップをカスタマイズして独自のマーカーを表示させたり、指定した区間のルート検索を行ったりすることができるように色々な API が提供されています。ここでは Google マップで提供されている API の中でもウェブサイトで利用者が操作可能な地図をカスタマイズして表示することができる Google Maps JavaScript API の使い方の解説します。 ※ Google マップを利用者として使う場合の使い方については「Googleマップの使い方」を参照されて下さい。 なお JavaScript の基的な使い方については「JavaScript入門」を参照されてください。

    Google Maps 入門
  • U-20プログラミング・コンテスト,最終審査結果発表:ITpro

    経済産業省は「第28回 U-20プログラミング・コンテスト」の最終審査結果を発表した。同コンテストは,経済産業省や文部科学省などが共催する情報化月間推進会議が主催する,20歳以下の学生に限定したプログラミング・コンテスト。財団法人 日情報処理開発協会が事務局を担当している。今年は全国から108作品の応募があった。 審査委員のまつもとゆきひろ氏は「私が年齢を詐称して応募しても入賞できないかもしれない」と粒のそろった作品の完成度を賞賛。「様々な分野のバラエティに富んだ作品で,選ぶのに苦労した」(石田晴久審査委員長)という審査の結果,最優秀賞には東濃実業高校コンピュータ部の図書館管理Webシステム「の司書さん」,優秀賞には大阪府立工業高等専門学校のプログラミング・コンテストWebシステムOPCT(Open Programing ContesT)と,新潟コンピュータ専門学校のチーム「マイケルソ

    U-20プログラミング・コンテスト,最終審査結果発表:ITpro
  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き

    未だに半年前のエントリにブクマされるみたいなので、もう少しjavascriptについて書いてみる。 今回は大規模化開発におけるJavascriptの注意点とかそういうの。当てはまらない環境の方もいます。(しかも基的な事だらけで大したことは書いてないです) ほぼリッチクライアントを主目的としたjavascripterとコードを対象とします。 どちらかというと、ライブラリを提供する側の視点から 1.ログを出力せよ あなたが書いたコードは遅い、と必ず言われます。なので言われる前から、自分の書いたコードの処理時間をログするようにしましょう。 次のような処理時間を計測するロガーを作ります。 var TraceLog = function (){ this.startTime = -1; var outer = document.getElementById('_outer'); if(oute