タグ

programmingとProgrammingに関するS0R5のブックマーク (358)

  • 人工無能の作り方

    書いた人 INA 人工無能とは? 人間っぽく話すプログラムのこと。会話を理解しているというよりは、なんかそれっぽいことを話すだけのものが多い。 今回は「日語のようなものを話す人工無能」を作ってみたので、その簡単な仕組みと工夫した点について少し書いてみることにする。 動機 うちのサークルのメンバーがよく集まってるチャット。とてもマニアックな どうしようもない 会話が繰り広げられているわけだが、ちょっと物足りない。 そうだ! 萌キャラがいないじゃないか! 「ないなら作ればいいじゃない?」 材料 MeCab 形態素解析エンジン 難しいことは知らなくても問題ない。 「私は変な人ではない」 ↓ 私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ は 助詞,係助詞,*,*,*,*,は,ハ,ワ 変 名詞,形容動詞語幹,*,*,*,*,変,ヘン,ヘン な 助動詞,*,*,*,特殊・ダ,体言接続,だ,

  • http://blogs.sun.com/katakai/entry/netbeans_dvd_kit

  • 各種言語に対応したソース整形ソフトウェア·UniversalIndentGUI MOONGIFT

    インデントがあまり深いソースコードは何ともしがたいが、同時にワンライナーにこだわり過ぎるのも問題だ。そのため、多人数で行うプロジェクトや、オープンソース・ソフトウェアのプロジェクトではソースコードのフォーマットが定義されている場合が多い。 うーん、これは読みづらい。問題があっても分かりづらそうだ。 だが慣れるまではインデントの数や改行の入れ方などで間違えてしまうことが多いかもしれない。そうした時に便利なのがソースコードを整形してくれるソフトウェアだ。Webであればサーバサイドのプログラミング言語の他にもCSSHTMLJavaScriptなど多数の技術が関わってくる。そのような時にはUniversalIndentGUIが便利だ。 今回紹介するオープンソース・ソフトウェアはUniversalIndentGUI、多数の言語に対応したソースコードフォーマッターだ。 UniversalInden

    各種言語に対応したソース整形ソフトウェア·UniversalIndentGUI MOONGIFT
  • 「プログラミング言語Ruby」を読まなくてもよいのは誰か : \ay diary

    一昨日になってようやく入手できたプログラミング言語Ruby[rakuten]を、Ruby 1.9.1RC2とそのNEWSファイルを手元に置きながら読んだ。 少々乱暴な言い方になるかもしれないが、このは以下のような人には用のないものだと思う。 Ruby 1.9.xもRuby 1.8.xも十分に理解できている Ruby 1.9.xをしばらくは使うつもりがなく、自分が使う範囲においてRuby 1.8.xに不明なところはない Rubyの経験がなく、その他のオブジェクト指向言語の経験および知識もない プログラミング経験がなく、これからプログラミングの学習を始める このRubyそのもののかなり詳しい解説書である。入門書ではない。一応は簡単なところから入る形になっているのだが、大部分はすでにRubyを使っていて、ちょっとしたことなら困らない程度の知識があることを前提としている。つまり、

  • 未来の言語は「APL」? Rubyのまつもと氏が講演 - @IT

    2009/02/13 「今日はRubyの話はしません」。プログラミング言語「Ruby」の生みの親で開発コアメンバーでもある、まつもとゆきひろ氏は冒頭でそう話すと、自身のプログラミング経歴や半世紀に及ぶプログラミング言語の歴史を外観しつつ、未来のプログラミング言語へ向けた構想について語った。 書籍だけでPascalを習得した高校生 2009年2月12日、翔泳社主催で東京・目黒で行われた「Developers Summit 2009」でまつもと氏は「未来へつながる言語~ある言語おたくの視点から」と題した講演を行った。立ち見が出るほど詰めかけた観衆に向かって、“最も有名なプログラミング言語オタク”として自身のプログラミング言語観を披露した。 1980年代の高校生時代からプログラミング言語が好きだったというまつもと氏だが、一番最初に使った言語はBASICだったという。ところが、ローカル変数や構造化

  • 分散バージョン管理システムGitの使い方入門 | OSDN Magazine

    バージョン管理システムと言うとSubversionやCVSが有名だが、近年急速にユーザーを増やしているバージョン管理システムに「Git」 がある。GitLinuxカーネルの開発リーダーとして知られるLinus Torvalds氏が中心となって、Linuxカーネルの開発に使用する目的で開発した分散型バージョン管理システムである。2005年に開発が開始されて以来さまざまなプロジェクトでの採用が進み、現在ではPerl 5やRuby on RailsAndroid、Wine、X.orgなど、有名な大規模プロジェクトで採用されるに至っている。 記事では、このGitを使用するのに必要な「分散型バージョン管理システム」の基的な考え方を紹介するとともに、Gitの導入方法や基的なGitの使い方について解説する。 分散バージョン管理システムとは? GitLinuxカーネル開発で用いられることを前提

    分散バージョン管理システムGitの使い方入門 | OSDN Magazine
  • アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found

    2009年01月31日01:00 カテゴリLightweight LanguagesMath アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 これなのですが.... 同じ文字列のn回繰り返しを作る最速の方法を探求してみた - muddy brown thang ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(), Perlで言うところの「"..." x n」、RubyPythonで言うところの「"..." * n」) を高速に実装しなければならない状況に遭遇したのでベンチマークをとってみたところ、その結果がとても新鮮で驚いたので、これを共有しつつもダメ出ししてもらえないかなーと思って晒してみることに。 なぜかもっとシンプルな奴がなかったので。 以下、比較。初期値はIEにあわせてあります。Firefox/Saf

    アルゴリズム - 同じ文字列のn回繰り返しをlog n回で作る方法 : 404 Blog Not Found
  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software
  • 正規表現に見切りをつけるとき

    Perl, Rubyなど手軽に使えるプログラミング言語に慣れてくると、あらゆるテキストデータの処理に正規表現(regular expression)を使ってしまいがちです。 けれど実は、正規表現の処理能力を超えるフォーマットというのが存在します。その典型的な例が、XMLやJSONのように、入れ子になったデータフォーマットです。

  • DBMによるテーブルデータベース その弐 - mixi engineer blog

    インフルエンザで休んだ影響で仕事が鬼のように溜まって消化不良のmikioです(こんな記事を書いている場合じゃない)。さて今回は、Tokyo Cabinetでリレーショナル風データベースを実現したテーブルデータベース(TCTDB)の実装について説明します。 SQLiteとの違いは? SQLiteはアプリケーション組み込み型のSQL対応リレーショナルデータベースのライブラリです。TCのテーブルデータベースよりもはるかに高機能で、それでいて性能も大変優れています。いわゆるデスクトップアプリケーションに組み込むデータベースをお探しであれば、TCなんかではなく、断然SQLiteがおすすめです。 一方で、TCなどのDBMは、より単純なデータ操作をより高速に実行できるように設計および実装されています。典型的なユースケースとして、大規模Webサイトのアカウント管理や、データマイニングに伴う集計操作が挙げら

    DBMによるテーブルデータベース その弐 - mixi engineer blog
  • Google Codeライクなソフトウェア開発管理システム·InDefero MOONGIFT

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

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

    Linking is the process of combining various pieces of code and data together to form a single executable that can be loaded in memory. Linking can be done at compile time, at load time (by loaders) and also at run time (by application programs). The process of linking dates back to late 1940s, when it was done manually. Now, we have linkers that support complex features, such as dynamically linked

  • [O] これから15分で Remedie を始めるための資料

    « ぎんなんの封筒チン | トップページ これから15分で Remedie を始めるための資料 [Perl] Remedieを使い始めたので、さっそく手順をまとめました。 この資料を15分くらいかけて上から下まで読み、 Mac OSX やDebian Linuxにインストールすると、 割とあっさり、Remedieが動かせると思います。 Remedieとは Remedie は Perl で書かれたプラガブルな メディアセンターアプリケーションです。 Plaggerを生んだ、miyagawaさんによるアプリです。 - Plagger - Trac -- http://plagger.org/trac Remedieに、さまざまな動画ファイルの更新情報を登録することで Remedieは、自分のお気に入り動画で埋め尽くされた 自分専用の動画閲覧インターフェイスになってくれま

  • チェック必須!GUIインタフェースを作るようにWebインタフェースを作成できる·Sigma Visual Ajax GUI Builder MOONGIFT

    Visual StudioやMS Accessの良い所は画面のデザインが誰でも簡単に作成できることだろう。そのため、整ったデザインにはならないこともあるが、それでも誰でも作成できてしまうというのは大きな利点だ。 ドラッグアンドドロップでWebアプリケーションの画面を設計できる Webの場合はHTMLを色々と修正する分、インタフェースの作成が面倒だった。そう、それは過去の話になるかも知れない。 今回紹介するオープンソース・ソフトウェアはSigma Visual Ajax GUI Builder、GUi並みの操作性でWebインタフェースを作成できるソフトウェアだ。 Sigma Visual Ajax GUI BuilderはWebアプリケーションを容易に開発することができるIDEライクなソフトウェアだ。多数のコンポーネントをドラッグアンドドロップで配置し、キャプションや値、アクションを指定でき

    チェック必須!GUIインタフェースを作るようにWebインタフェースを作成できる·Sigma Visual Ajax GUI Builder MOONGIFT
  • 絵をプログラムする言語「Processing 1.0」が正式リリース | パソコン | マイコミジャーナル

    絵をプログラムする言語「Processing」が正式リリース Processing開発プロジェクトは24日 (米国時間)、グラフィックデザイン用プログラミング言語「Processing 1.0」をリリースした。動作環境はWindowsMac OS X、およびLinux。ライセンスにはGNU GPL / LGPLを適用、オープンソースソフトウェアとして無償公開される。 Processingは、電子アートおよびグラフィックデザインを目的としたプログラミング言語。Ben Fry氏とCasey Reas氏が在籍していたMITメディアラボで2001年に開発を開始、Javaベースの実行環境と簡易IDE (sketchbook) によるプログラミング環境として整備された。変数や制御構造など言語としての基礎はJavaに準じるが、プログラミング言語の文法やAPIの用法に精通していなくても、高機能かつ高速な

  • 日時表記のフォーマットの名前とperl/PHP/javascriptでのつくりかた - bits and bytes

    毎回毎回日時を出力する時にどうすればいいのか思い出せなくて毎回毎回調べていてばかみたいなのできちんとまとめてみます。 日時のフォーマット名 まず、よく使われる日時表記の名前を把握することが大切です。名前がわからないと検索のしようがありません。 ISO8601 ISO8601はたぶん一番なじみが深いものだと思います。 MySQLのdatetime型の表記 2008-08-06 19:38:56 はISO8601です。 ISO8601は日時を表すだけでなく、年だけや時刻だけを表せるほか、期間を表すことができます。また、多様な書き方を許していて、間にある記号を省略して20080806 193856というのもISO8601として正しい日時になります。英語wikipediaのISO 8601が詳しいです。 W3CDTF W3CDTFはatomのフィードで使われている 2003-12-13T18:3

  • 力試しにナベアツのような判定をするプログラムを作ろうとしたところ、問題が発生しました。…

    力試しにナベアツのような判定をするプログラムを作ろうとしたところ、問題が発生しました。 3の倍数や5の倍数は考えるまでもないんですが、3のつく数字をどう判定したらいいのかわかりません。 どのように判定させればよいのでしょうか?

    S0R5
    S0R5 2008/04/09
    世界のナベアツ問題
  • Ada@WCIMH

    ../index.html Ada95の四方山話 挑戦は続く… 昔の挑戦 スレッドで遊ぶ dllを作る A#! D言語ユーザー向け紹介文 Samples 特設!テキストシューティングの作り方 Windows APIのごく一部だけ手書きインポート MT19937 嘘正規表現 嘘YAML 貴重な情報収集先 (無断リンク) 英語 MinGW コンパイラはここで RM95 言語仕様 Martin Dowie's Web Page Ada0Y for Ada95 The Big Online Book of Linux Ada Programming テキスト Borland C++BuilderX デバッガが使えます! 日語 Ada, Pascal and Macintosh 「やっと見つけた素敵な言語、誰にも教えてあげないよ」…しびれる! Ada95への招待 必読!既に消えていてこれはWebア

  • Ada95 Lovelace Tutorial Home Page

    S0R5
    S0R5 2008/02/27
    Ada95のチュートリアルなど
  • CodeRepos::Share – Trac

    What are u coding? old title = 個人レポジトリを共有しよう!計画。 みんながそれぞれ作って公開してる公開レポジトリを一緒くたにしちゃいたい。参加してる全員がどのファイルもみたり変更したりできるような。 パッチ送られてくる代わりに「後で見とくからコミットしといて」とかいえたりとか、つくりかけで放置したもので他の人が興味もったら続き作ってもらうとか、メンテするのめんどくなったのだれかにやってもらうとか、突発的に誰かと一緒にプロジェクト始めたりとか、できる! 詳しくは unknownplace.org - 2007/08/29 - 個人レポジトリを共有しよう! YappoLogs: CodeRepos - 個人レポジトリを共有しよう!計画 Development We have a Subversion repository and you can check it