タグ

programmingに関するlabduckのブックマーク (55)

  • Google Codeライクなソフトウェア開発管理システム·InDefero MOONGIFT

    個人的には最近、GitHubGoogle Codeを使ってソフトウェアを管理することが多くなっている。今までのソフトウェア管理環境はどうも重厚で、はじめるまでのステップが面倒だった。その点、これらのリポジトリサービスは手軽にはじめられるのが良い。 プロジェクトを作成してソフトウェアを開発管理する この雰囲気をローカルやオフィスでも使いたいと思っていた人には朗報だ。ぴったりのソフトウェア開発管理システムがInDeferoだ。 今回紹介するオープンソース・ソフトウェアはInDefero、PHPで作られたソフトウェア管理システムだ。 InDeferoはプロジェクトホーム、ダウンロード、ドキュメント、問題管理、ソース、コードレビューといった機能がベースになっている。もちろん複数人でコミットし、ソフトウェアを管理することも可能だ。 ソースの取得法なども表示される リポジトリはGit、Subvers

    Google Codeライクなソフトウェア開発管理システム·InDefero MOONGIFT
  • PHPでWordのdocファイルやPDFをテキストとして読み取る方法:phpspot開発日誌

    Read PDF and Word DOC Files Using PHP PHPでWordのdocファイルやPDFをテキストとして読み取る方法が紹介されていました。 XPDF package、Antiword というプログラムをshell_execで外部起動するだけなのですが、WordやPDF用の検索のインデックスを作成する時など、なかなかこれは便利そうです。 PDFの場合は、XPDFパッケージをインストールして入るコマンドのpdftotext にファイル名を渡します。最後の - も必要みたい。 $content = shell_exec('/usr/local/bin/pdftotext '.$filename.' -'); //dash at the end to output content これで $content にpdfのテキストが入る Wordの場合も同様に、Antiwor

  • wonderfl build flash online

    wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい

    wonderfl build flash online
  • 新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改

    新はてブ正式リリース記念ということで。もうリリースから何週間も経っちゃったけど。 新はてなブックマークではブックマークエントリをカテゴリへと自動で分類しているが、このカテゴリ分類に使われているアルゴリズムはComplement Naive Bayesらしい。今日はこのアルゴリズムについて紹介してみる。 Complement Naive Bayesは2003年のICMLでJ. Rennieらが提案した手法である。ICMLというのは、機械学習に関する(たぶん)最難関の学会で、採択率はここ数年は30%を切っている。2003は119/371で、32.1%の採択率だったようだ。 Complement Naive Bayesの位置づけは 実装が簡単 学習時間が短い 性能もそこそこよい という感じで、2003年段階にあっても、絶対的な性能ではSVMに負けていた。しかし、学習が早いというのは実アプリケーシ

    新はてなブックマークでも使われてるComplement Naive Bayesを解説するよ - 射撃しつつ前転 改
  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
  • こどものもうそうblog | Processing入門

    「バロック」「キングオブワンズ」「ぷよぷよ」「トレジャーハンターG」「魔導物語」等のゲームを監督/脚/企画した米光一成のSite 立命館大学のインタラクションデザイン企画実習で講義中に話題に出しいる「Processing」「openFrameworks」等についてさくっと解説。 (2008年8月14日:以後随時追記2015年2月12日追記) Processingである。以前から凄いという噂は聞いていて、次の画像を観て、わーすげぇと思っていた。 音と連動した映像を生成するのにProcessingを使っているもの。 Magnetic Ink, Process video from flight404 on Vimeo 立命館大学で「使ってみたけど凄いすよ」と興奮しながら教えてくれた学生がいて、90分授業で、学生が先生になり、先生が学生になって「Processing入門講座」をやってもらった。

  • 第1回 YAMLライブラリのしくみ | gihyo.jp

    はじめに YAMLYAML Ain't Markup Language)とは、データを構造化して表現するためのフォーマットです。目的はXMLと似ていますが、インデントを主体とした記法のため、XMLより読みやすく、書きやすく、わかりやすくなっています。 またデータシリアライゼーション[1]に使えるように設計されているため、任意のデータ構造が表現できるだけの記述力を持っています。これは、基的に木構造しか記述できないXMLと比べて、YAMLの大きな利点です。YAMLの文法については、WEB+DB PRESS Vol.43「最新[データ交換フォーマット]攻略ガイド JSON/YAML実践入門」の第3章「YAML実践リファレンス」に解説がありますので、併せて参照してください。 特集では、YAMLをさまざまなプログラミング言語で利用するためのYAML用ライブラリの使い方を、各言語ごとに紹介してい

    第1回 YAMLライブラリのしくみ | gihyo.jp
  • 統計解析用フリーソフト・R-Tips

    R は有名な統計言語『 S 言語』をオープンソースとして実装し直した統計解析ソフトです.さまざまなプラットフォーム(OS)に対応しており,誰でも自由にダウンロードすることができます.それにも関わらず,世界中の専門家が開発に携わっており,日々新しい手法・アルゴリズムが付け加えられています.とにかく計算が速い上にグラフィックも充実しているので数値計算などにも持ってこいです.このドキュメントは Windows 版 R と Mac OS X 版 R(と一部 Linux 版 R )でコマンドを調べた足跡です. ちなみに,この頁の内容を新しくした書籍は こちら ,電子書籍版は こちら で販売されております.

  • 特集:プログラマのためのFlash遊び方|gihyo.jp … 技術評論社

    第3回お絵かきしながら学ぶ ActionScript 3.0(後編) 最田健一 2008-03-27

    特集:プログラマのためのFlash遊び方|gihyo.jp … 技術評論社
  • ActivePerlの開発元、ActiveState製エディタがオープンソース化·ActiveState Komodo Edit MOONGIFT

    プログラマにとって、エディタは生産性に大きく関わる重要な要素だ。Windows向けのキーバインドのエディタを使っていても良いが、サーバにつないで修正を行おうと思うとviやEmacsなどでキーバインドが慣れない、なんてこともある。 特にviやEmacsが良い、という訳ではないがマルチプラットフォームで動作するエディタを選ぶのは大事だと思う。そこでこれを試してみてはいかがだろう。 今回紹介するオープンソース・ソフトウェアはActiveState Komodo Edit、ActiveState社製のプログラマ向けエディタだ。 ActiveState Komodo Editは元々シェアウェアだったようだが、最近オープンソース化された。ActivePerlの開発もとだけあって、相当に優秀なソフトウェアだ。WindowsMac OSXLinux版が提供されている。 各種言語(Perl/PHP/Ru

    ActivePerlの開発元、ActiveState製エディタがオープンソース化·ActiveState Komodo Edit MOONGIFT
  • プログラミングのスピードを上げる方法 - teruyastarはかく語りき

    http://q.hatena.ne.jp/1203667934 ソフトウェア開発やプログラミングのスピードを上げる方法はありませんか? プログラマーとして生きていこうと決めたのですが、いつも見積もりの3倍時間がかかってしまいます。 そのため いつもつらい思いをしています。 環境を良くしようとHHKLite2を使い、カスタマイズソフトでホームポジションから離さずにプログラミングしています。 マウスもゲーム用の高精度のものを使っています。 調べ物にもタブブラウザを使い、拡張し続けて効率化をしています。 DualCoreマシンを使いメモリもたくさん積み、障害がないように心がけがけています。 出始めのころから効率化のためにエクストリームプログラミングも取り入れていました。 単体テスト、リファクタリングも当然行いますが、余計に開発速度が落ちています。 しかし開発速度は効率化とは無縁だとすら感じてい

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

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

    ブログが続かないわけ | 初心者プログラマーが簡単なフォームを作るときにやりがちな6つのミス
  • 第2回 Comet---プッシュ型のWebアプリケーションを作る

    この記事は,日経ソフトウエア2007年1月号,連載「簡単実装で学ぶWeb技術2006」の第7回「Comet――プッシュ型のWebアプリケーションを作る」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。 今回は,サーバーからデータをプッシュするタイプのWebアプリケーションを作成する技法の「Comet」を紹介します。簡単なチャット・プログラムを通してCometの仕組みを学びましょう。 Cometとは 通常のWebアプリケーションは,クライアント(Webブラウザ)から送られてくるリクエストを受け取って動作します。つまり,WebアプリケーションはユーザーがWeb上のリンクをたどったり,ボタンを押したりすることをきっかけに動くのです。ここで,動きの主導権はクライアント側にあります。クライアントがサーバーから情報を「引き出す」ことによって動作する

    第2回 Comet---プッシュ型のWebアプリケーションを作る
  • Site Under Maintenance

    We'll be back soon! Our site is currently undergoing maintenance. Please check back later.

    Site Under Maintenance
  • ソフトウェア開発やプログラミングのスピードを上げる方法はありませんか?…

    ソフトウェア開発やプログラミングのスピードを上げる方法はありませんか? プログラマーとして生きていこうと決めたのですが、いつも見積もりの3倍時間がかかってしまいます。 そのため いつもつらい思いをしています。 環境を良くしようとHHKLite2を使い、カスタマイズソフトでホームポジションから離さずにプログラミングしています。 マウスもゲーム用の高精度のものを使っています。 調べ物にもタブブラウザを使い、拡張し続けて効率化をしています。 DualCoreマシンを使いメモリもたくさん積み、障害がないように心がけがけています。 出始めのころから効率化のためにエクストリームプログラミングも取り入れていました。 単体テスト、リファクタリングも当然行いますが、余計に開発速度が落ちています。 しかし開発速度は効率化とは無縁だとすら感じています。 仕事を減らすことが優先ではないか?と。 昔から創作活動は好

    labduck
    labduck 2008/02/28
    銀の弾丸はないだろうから、回答から自分にあったものを見つけて地道に積み上げていくしかないかなと。
  • 新しい統合開発環境 Visual Studio 2008ってなんだ!?:CodeZine

    はじめに 2007年12月、Visual Studioの最新バージョンであるVisual Studio 2008(以下、VS2008)日語版が発表されました。2008年2月8日にはパッケージ版の販売も開始され、店頭での購入も可能となります。 VS2008では、ツールとしてのさまざまな新機能の追加や既存機能の強化が図られると共にWindows Vista世代の新しいテクノロジーを利用した開発(WPF、WCF、WFやOffice 2007)や、.NET Framework 3.5で追加されたLINQ、ASP.NET AJAXを利用した開発など、さまざまなアプリケーションの開発がサポートされます。また、VS2005から登場したTeam Systemも機能強化され、エンタープライズレベルのチーム開発も強力にサポートされます。 この連載「Visual Studio 2008入門」では、これらのポイ

  • 子どもたちがOSS活動、プログラミング言語「Scratch」が開く未来 - @IT

    2008/01/17 当の意味でコンピュータリテラシーがあるというのは、つまりプログラミングができるということだ――。“パーソナル・コンピュータ”という概念の生みの親で、先進的なプログラミング言語「Smalltalk」やGUIというインターフェイスの開発者としても知られるコンピュータ科学者のアラン・ケイ博士は、そう言い切る。コンピュータに囲まれて育ったわれわれの子どもたちは、コンピュータリテラシーを持つ初めての世代になるだろう、と。 ケイ博士の議論は、“リテラシー”という言葉がもともと指していた文字の読み書き能力の歴史を振り返れば説得力を持つ。今では小中学生でもケータイで文字を書き送っているが、文字の歴史のほとんどの期間、非専門家が文字を読み書きする時代が来るとは、誰も想像すらできなかった。文字は、一部の特別な訓練を受けた人々だけが扱いうるものだった。グーテンベルクの活版印刷技術の発明か

  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GCアルゴリズム詳細解説 日語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 × GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992)

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • ハタさんのブログ(復刻版) : javascriptを初めて学ぶ人についてのおさらい。その1

    僕にも教える人ができた(? というか人にモノを教える立場)になったので、とりあえず、最近はもっぱらjavascriptを教えています。 もともとCやJavaなどについてはある程度の知識がある人なので、それを少しjs的な意味で、関数言語的な教えをやっている最中のメモ 変数って何ですか?変数って値もしくは式そのものに利便的な名前をつけているものです 次のhogeとfooは値をいれる箱ではなく、値そのものに別名(もしくは分かりやすい名称)を割り当てているだけに過ぎませんよ。 var hoge = 1; var foo = [1, 2, 3]; alert(hoge + 1); // 2 alert(foo[0]); // 1 alert(1 + 1); // 2 alert([1, 2, 3][0]); // 1 つまり、関数自体を変数に代入する事ができます。(functionとは特別な呼び名