タグ

programmingとdevに関するgymnoのブックマーク (35)

  • 「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演 - @IT

    2009/04/10 ソフトウェアは工業製品ではない――。Rubyの生みの親としてしられるまつもとゆきひろ氏は2009年4月9日、InfoQ主催のイベント「QCon Tokyo 2009」の基調講演で、ソフトウェアと何であり、何でないのか、それはどういう性質のものであるのかを雄弁に語った。 コードとは設計である 「ビューティフルコード」と題した基調講演を行ったまつもと氏は、2007年に共著者の1人として出版した同名の書籍に書いたエッセイに込めた思いを、次のように語る。 「世界に冠たる日の製造業のノウハウを適用することで生産性を上げることができるに違いないという発想がありますが、ソフトウェアは工業製品ではない。そうした誤解を正していきたい」。 ソフトウェア産業界では、よくエンジニアが何十万人足りないということが言われる。しかし、まつもと氏は、これは工業生産と同じ方法論を当てはめることから来

  • Mercurialでバージョン管理

    [ Topページへ戻る ] Mercurialでバージョン管理 概要 「分散リポジトリ方式」なる言葉によって興味をひかれたバージョン管理ツールがこのMercurialです。 今までのバージョン管理ツールへの不満 オフラインでもバージョン管理したい いままで、職場や自宅において、CVSやSubversionを使うときは、1台のマシン上にリポジトリを置き、そのリポジトリに対してチェックアウトやコミットといった変更の払い出し・登録を行っています。 したがって、リポジトリのあるマシンと作業マシンがネットワークで接続できないときは、チェックアウトした作業ディレクトリの変更をコミットできませんし、過去の変更履歴も調べられません。ネットワークに接続できない期間が短時間ならいいのですが、長期間になるとこれはバージョン管理ができないに等しい状態です。 気軽なリポジトリ作成ができたらいい ちょっと作ったプログ

  • Linux上で稼働するオープンソースの開発ツール--見過ごせないもの10選 - builder by ZDNet Japan

    Linux開発環境の利点を活かすには、適切なツールが必要となる。記事では、優れたツールを選び、その概要や機能を紹介する。 Linuxは素晴らしい開発環境である。しかし、適切な開発ツールが無ければ、そのような開発環境も宝の持ち腐れとなる。幸いなことに、Linux上で稼働するオープンソース開発ツールは数多くあるのだ。あなたがLinuxに不慣れである場合、どういったツールが利用可能であるのか判らないかもしれない。だが、心配は無用だ。以下に、あなたの開発をぐっとレベルアップさせる素晴らしいツールを10個紹介するので参考にしてもらいたい。 #1:Bluefish 「Bluefish」は、Web開発を行うための統合開発環境(IDE)として最も人気の高いものの1つである。Bluefishはさまざまなプログラミング言語やマークアップ言語を取り扱えるものの、動的で対話的なWebサイトの作成がその主たる目的

    Linux上で稼働するオープンソースの開発ツール--見過ごせないもの10選 - builder by ZDNet Japan
  • 【ハウツー】Cアプリを高速化せよ! - 正式リリースされたgoogle-perftoolsを試す (1) google-perftoolsとは | エンタープライズ | マイコミジャーナル

    google-perftoolsはGoogleによって提供されている、C/C++アプリケーションのパフォーマンスを改善するための開発ツールキットである。2005年3月に初めて公開され、およそ4年を経て7日に正式版がリリースされた。The BSD Licenseの下で提供されており、LinuxをはじめとしてFreeBSD、Mac OS X、Solaris 10、Windows XPなど、各種プラットフォームでの動作が確認されている(ただし、Linux以外については一部機能を除く)。 google-perftoolsには次に挙げる4つのツールが含まれている。 高速メモリアロケータTCMalloc ヒープチェッカー ヒーププロファイラ CPUプロファイラ TCMalloc(Thread-Caching Malloc)は通常のmallocよりも高速なメモリ割り当てを実現するライブラリであり、テスト

  • C言語: 実行時間測定の方法

    C言語において実行時間を測定する為の方法はいくつかある。gettimeofday, clock, getrusage, timesを利用する方法である。ここではこれらの方法について検証してみる。これは2005/12/30時点での情報であり、古い亊が考えられるので注意して頂きたい。さらに、内容のほとんどはmanを移しただけなので、正確な情報を得るためにそれぞれの関数のmanを見ることを強く推奨する。 System: Linux 2.6.12 glibc: glibc 2.3.5-1ubuntu12 gettimeofdayを使用する方法 通常はこの関数を使用するのをお勧めする。 gettimeofdayはSVr4, BSD 4.3準拠である。返り値の型はsys/time.hに定義されるstruct timevalで有る。

  • 分散バージョン管理Git/Mercurial/Bazaar徹底比較

    分散バージョン管理Git/Mercurial/Bazaar徹底比較:ユカイ、ツーカイ、カイハツ環境!(3)(1/5 ページ) Subversionとは一味違う「分散バージョン管理」とは? 最近、Linuxをはじめ、Ruby on RailsMySQL、OpenSolarisなどのオープンソースプロダクトが次々と分散バージョン管理システムを導入し始め、「Git」「Mercurial」「Bazaar」といった、分散バージョン管理システムが注目を浴びています。 稿では、バージョン管理ツールのデファクトスタンダードであるSubversion(以下、SVN)と分散バージョン管理システムを比較しながら、メジャーな分散バージョン管理システムであるGit、Mercurial、Bazaarについて紹介していきます。 集中型と分散型 最初に、集中管理方式(または、集中型)のバージョン管理システムと分散管理

    分散バージョン管理Git/Mercurial/Bazaar徹底比較
  • マルチコア、マルチスレッド時代に果たすOSの役割 - builder by ZDNet Japan

    SECCON2020レポート第二弾! 名実ともに世界標準に! 次の10年に向けたリファクタリング進行中 特集:IT最適化への道 成功の秘訣をその道のプロが解説 カギとなるのはシステムの「見える化」 Identityマスターへの道(5回目) ID一元管理のメリットをライフサイクルから 考えてみよう! SoRとSoEをつなぐDX推進の要 新しい時代の顧客とのデジタル接点管理 クラウド型商品管理基盤(PIM)の重要性 デジタルを当たり前と言えるか? 現状を非効率を変える機会と捉え行動する これが今、成長できる企業の共通項 使い慣れたUIのままクラウド化 オンプレミス運用のVDIをクラウド基盤に VMware Horizon on Azure VMware Solution ひとり情シスの在宅環境を公開! 理想の働き方を実現するための テレワーク環境構築術 リモート、オフィス、オンサイト 働く場所

    マルチコア、マルチスレッド時代に果たすOSの役割 - builder by ZDNet Japan
  • ウノウラボ Unoh Labs: 見ないと損する ソフトウェアテスト関連サイト色々

    こんにちは!やまもと@テスト番長です。 今回は自分が普段チェックしている、ソフトウェアテスト系のサイトを色々ご紹介してみようと思います。既にご存知のサイトもあるかと思いますが、宜しくお付き合いください。 swtest.jp/wiki http://www.swtest.jp/wiki/index.php?swtest.jp/wiki 最近wiki化され、情報更新が活発になっています。必見です。 StickyMinds.com http://www.stickyminds.com/ コラムなどの読み物が充実しています。 Google Testing Blog http://googletesting.blogspot.com/ グーグルのテストチームのブログです。面白くないはずがありません。 Open source software testing tools http://www.

  • Objective-Cは特殊な言語? - @IT

    Objective-Cは特殊な言語?:Cocoaの素、Objective-Cを知ろう(1)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) 唐突ですが、皆さんは新たに1つのプログラミング言語を修得しようと思い立ったとき、最初に何をしますか。その言語の入門用サイトを見て回る、関連書籍を立ち読みする、サンプルを入手して取りあえず動かしてみる、といったところでしょうか。ちなみに私は書籍が好きで、しかも立ち読みではなく購入派です。 いずれにしても、まずはその言語のコードを目で見て、「いったいどんな言語なのか」というイメージをつかむのが最初の一歩となるでしょう。何かしらのプログラミング経験がある人なら、コードを眺めて、「ああ、あの言語に似ているな」とか「うわ、これはとっつきに

    Objective-Cは特殊な言語? - @IT
  • bookshelf.jp

    This domain may be for sale!

  • ウノウラボ Unoh Labs: Mercurialでバージョン管理

    stoplightで最大化したターミナル上でzshとscreenとEmacsを立ち上げ、 明朝体フォントでプログラミングするbokkoです。 今回はバージョン管理システムの1つであるMercurialについて紹介します。 ウノウではSubversionとTracを組み合わせて開発を行っていますが、 僕個人では今年の春ぐらいからEmacsやzsh、screenなどの各種設定ファイルをMercurialでバージョン管理しています。 Mercurialとは? Mercurialは分散型のバージョン管理システムです。 これに対して、CVSやSubversion(以下SVN)は集中型のバージョン管理システムにあたります。 分散型と聞くと難しそうなイメージがわくかもしれませんが、 CVSやSVNに比べてると、より手軽にバージョン管理を行うことができるというのが、 Mercurialに対する僕の印象です

  • 具体例で説明するデザインパターン - てっく煮ブログ

    JavaScriptデザインパターンってなんだかたいそうなものに考えられがちだけど、実は、そこかしこのライブラリや仕様に取り込まれていることが多い。「デザインパターン分からん」とか「で、どうやって使うのよ」と悶々としている人には、「どういうところで使わているのか」を知っておけばイメージも沸きやすいし、意外にたいしたことないんだな、ということが分かるんじゃないだろうか。そこで、JavaScript やその周辺の技術で、デザインパターンがどのように使われているかを紹介してみることにする。ここでは、GoFの順番に沿って、以下の11個のパターンを取り上げる。生成に関するパターン Factory MethodAbstract FactoryBuilderPrototypeSingleton構造に関するパターン AdapterComposite振る舞いに関するパターン Chain Of Respon

  • 森崎修司の「どうやってはかるの?」 > Googleのコードレビュー : ITmedia オルタナティブ・ブログ

    Googleコードレビューのプロセス、ツールの紹介がここ(Youtube)にある。55分と長いのでなかなか全部をみる時間がなかったが、休日に時間がとれたので観た。このエントリはそのときのメモだ。 Googleコードレビューのプロセスはオープンソースのものと似ている。オープンソースのものより若干強制力のあるプロセスとそれをサポートするツール(Mondrian)があるそうだ。ビデオでプレゼンされているのは、Guido van Rossum氏、Pythonの作者でGoogleに就職して最初の仕事がMondrianの開発だったそうだ。定着しているプロセスの実行を支援するツールは非常に頼もしいだろうなぁと思う。 詳細はビデオをみていただきたいが、プレゼンの概要は以下のとおり。 プロセスはオープンソースのレビューのやり方がベースとなっている。 (前のバージョンとの差分をMLに投げるとレビュアがその

    森崎修司の「どうやってはかるの?」 > Googleのコードレビュー : ITmedia オルタナティブ・ブログ
  • 第1回 Tracをオススメする,これだけの理由:ITpro

    Tracの便利さに惹かれるが,インストールに煩わしさを感じ,Tracを簡単にインストールできるTrac Lightning(旧Trac月)の開発を行う。また,日のTracコミュニティであるShibuya.tracにてユーザー補完プラグインなどのプラグイン開発にも携わる。 チーム内のタスクや分散開発におけるタスク管理の手段として,プロジェクト管理ツールのTracが注目を集めています。Tracは,Ruby on RailsやSpring IDEなどでも利用されています。連載では,開発現場を交通整理するために,Tracを利用したプロジェクト管理の効率化を,Tracの基礎から紹介していきます。 ソフトウエア開発において,プロジェクト管理はガントチャート・ベースで行われることが多いでしょう。しかし,ガントチャート・ベースの管理では,詳細を報告するために作業報告書を別途作成する必要があります。 ま

    第1回 Tracをオススメする,これだけの理由:ITpro
  • 必修講座100 < ITpro SkillUP : ITpro

    ITエンジニア必修講座100は,ITpro会員の皆様向けにお届けしています。 講座の全文をお読みいただくためには,無料のITpro会員登録が必要です。

  • テストを金額にするといくら? ― @IT

    テスト駆動開発(Test Driven Development:TDD)。最近この言葉を聞く機会が多いと思いますが、実際のプロジェクトでTDDを取り入れているというケースはあまり聞きません。稿は、テスト駆動開発に興味はあるけれど、いまだ導入に踏み切れないという開発者のために、その効用や実際の運用方法について、具体例を交えながら述べたいと思います。前半はテスト駆動開発の意義と、導入に当たっての説得材料について検討します。後半では実際にテスト駆動開発を進めるに当たって具体的にやるべきことについて、事例を踏まえながら説明していきます。 テスト駆動開発(TDD)とは テスト駆動開発は一般にエクストリーム・プログラミング(XP)の1プラクティスとして紹介されることが多いと思います。しかし、テスト駆動開発自体は決してXPの開発手法に特化したものではなく、さまざまな開発手法とともに有効利用が可能なもの

    テストを金額にするといくら? ― @IT
  • livedoor Developers Blog:Subversionで攻めの開発を (いまさらだけど) - livedoor Blog(ブログ)

    こんにちは。ブログ担当のnabokov7です。 さてみなさん、ここのところ、livedoor Blog の新機能リリースのペースが上がっていることにお気づきでしょうか。 12月だけでこれだけの新規リリースのお知らせを出しました。 2007年12月27日 プライベートモードで記事を投稿できるようになりました 2007年12月25日 タグクラウド とタグ別ページを表示できるようになりました 2007年12月20日 カテゴリ別モブログ機能リリースのお知らせ 2007年12月18日 「話題のブログ」が新しくなりました 2007年12月18日 プレビュー機能強化と新リスログプラグインのお知らせ 2007年12月13日 投稿・編集を便利にするブックマークレットのご紹介 2007年12月11日 バリューコマースの商品をカンタンに紹介できるようになりました。 2007年12月11日 アップロードしたファイ

  • Matzにっき(2005-07-09)

    << 2005/07/ 1 1. [論文] 不採録 2. [Ruby] ブロックパラメータの新文法 3. [Hack] 今日のハック 2 1. 降れば土砂降り 2. お片付け 3 1. [教会] 断日曜日 4 1. [言語] プログラミング言語 citron 2. [OSS] ESR: "We Don't Need the GPL Anymore" 5 1. バグトラッキングシステムへの不満 6 1. [Hack] WikiNameのないWiki 2. [OSS] 究極の俺オープンソース 7 1. [原稿] UNIX USER 9月号 2. [OSS] 北海道 3. まつもとゆきひろの写真 4. [言語] kmyacc 8 1. [OSS] 北海道へ 2. [Hack]今日のハック 9 1. [OSS] オープンソースカンファレンス2005 in Hokkaido 2. [OSS] 懇親

  • へ〜たのめも:Google のソフトウェア・エンジニアリング - livedoor Blog(ブログ)

    2007年06月07日 Google のソフトウェア・エンジニアリング Google Developer Day Tokyo の鵜飼さんのプレゼンより、「Googleエンジニアはどうやって開発しているのか?」 Google の研修 入社して最初の 3ヶ月は社(Mountain View)で研修 研修中は、メンターがついて「Google での開発の仕方」を学ぶ 内部ウェブ・サイトで社内共有ライブラリの使い方などを説明する動画があるので、それで自習 Googleプロジェクト・チーム 開発拠点は米国、スイス、オーストラリア、インド、日など 場所とプロジェクト・チームは関係なく、プロジェクト・チームが拠点をまたがることは普通。世界中の拠点全部合わせて、一つの Google エンジニアリング・チーム 開発はデザイン、コーディング、テスト、改善、デモの運用まで上流から下流まで同じチーム(同

  • PythonMatrix:C++開発統合環境の決定版!

    【1.1】   特徴 オープンソース GPL2ライセンスによる公開です。 クロスプラットフォーム wxWidgetsを使って開発されており、LinuxWindowsで動作確認済み。 MacPPCへのサポートが始まっているようです。 GNUコンパイラによるビルド プロプライエタリなライブラリへの依存がありません。 コンパイラーをバンドル Windows版はMinGWをバンドルしたリリースパッケージを用意 リリース版はインストーラ一発で開発環境のセッティングが完了する。 サポートコンパイラが豊富 GCC (MingW / Linux GCC) MSVC++(2003 2005) Digital Mars C++ Borland C++ 5.5 Intel C/C++ Open Watcom SDCC(ワンチップマイコン向け!) Digital Mars