タグ

プログラミングに関するshidhoのブックマーク (294)

  • 一行野郎(one-liner)はperlにおまかせ

    序文 もしもプログラミング言語が宗教だったら……(全訳版)[絵文録ことのは]2008/12/21 によると、ブードゥー教徒らしい dankogai です。 ブードゥー教徒らしく、「上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる」呪文をここでまとめておくことにします。 基中の基 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e'print "Hello, World!\n"' Hello, world! % ちなみに、perlとコマンド名だけで起動すると、標準入力をスクリプトとして返します。 %

    shidho
    shidho 2008/12/22
    perl-usersでrubyではrubyでは連呼しなくても。
  • 酔っぱらった勢いでコードを書く際に大切なこと

    プライベートでコードを書く時は、たいていビールを飲みながらってな毎日のkentaro a.k.a. id:antipopです。こんにちは。 そんなわけで、ただでさえtypoが多いのに加えて、酔いにより手元はボロボロ。調子良く書いていても、つまらないtypoをいちいち修正してまわっていると、せっかくの気分のいい酔いも覚めてしまうというものです。そこで、コードを書く時には酒を飲まない、という以外の対策を考えてみました。 とにかく全部ぶっつぶす ひとはどうしたところで間違いを犯すものです。酔っぱらっていても酔っぱらってなくても、それは同じ。ならば、あり得る名前をあらかじめ定義してはどうか、と考えました。 たとえば以下のようなクラスを定義したとします。 package Hoge::Fuga::Piyo; use strict; use warnings; # ... (snip) ... 1; こ

  • 無限あたし彼女 - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥

    参考資料:「あたし状態遷移図」、あるいは「あたし約5.2MB」 - とある理系男子の書斎には、どうしても小説が少ない。っていうか無い。 - ファック文芸部,あたしオートマトン - とある理系男子の書斎には、どうしても小説が少ない。っていうか無い。 - ファック文芸部 require 'open-uri' URI_TEMPLATE='http://nkst.jp/vote/novel.php?auther=20080001&page=%d' $KCODE='s' def get_page(n) page=nil open(URI_TEMPLATE % n){|f|page=f.read} return page end def parse(page) return page.split('<br />')[1..-2].map{|l|l.strip}.reject{|l|l.empty?}

    無限あたし彼女 - &lt;s&gt;gnarl,&lt;/s&gt;技術メモ”’&lt;marquee&gt;&lt;textarea&gt;¥
    shidho
    shidho 2008/12/18
    ポスト構造主義による、かどうかは別として。
  • 新はてなブックマークでも使われてる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を解説するよ - 射撃しつつ前転 改
    shidho
    shidho 2008/12/17
    ちょっと面白かった。
  • RDBMSの時代の終わりが見えてきた - きしだのはてな

    クラウドと一緒にやってきたもの 最近、クラウドが流行ってます。 GoogleMapResuceから始まって、MicrosoftのAzureまで、大手のクラウド製品が出揃った感じ。 で、そこで、こんなクラウド製品が出ましたというときに、必ずといっていいほどそのクラウド用のデータベースの説明があります。そして、それはRDBMSではありません。 GoogleだとBigTable、MicrosoftだとSQL Data Services、あとはAmazonSimpleDB。どれも、基的にはひとつのテーブルにハッシュコードでアクセスするようになっています。 ほかのクラウド製品も、Oracle Coherenceだったり、楽天のRomaだったり、非RDBMSのデータストレージを提供します。 クラウドというわけではないけど、mixiのTokyo TyrantやApache CouchDBも、RDB

    RDBMSの時代の終わりが見えてきた - きしだのはてな
    shidho
    shidho 2008/12/14
    言葉の意味はわからないがすごい自信だ。
  • Flash制作を簡単にするActionScriptライブラリとは?(1/3) - @IT

    Flash制作を簡単にする ActionScriptライブラリとは? 特集:Flasherに便利なオープンソース「Spark project」 Spark project コミッタ 新藤 愛大 2008/12/10 「ActionScriptライブラリ」って何? 読者の方は、Flashを使った複雑なアニメーションの制作をどのように行っているのでしょうか。ActionScriptコードを勉強して一から制作していますか? そんな人にこそ知っておいてほしいことがあります。実は、オープンソースの「ActionScriptライブラリ」を使うと、無料で簡単に複雑な機能・動きが実現できるのです。 ActionScriptライブラリとは、一言でいうと、「みんなが使えるように公開されているActionScriptコード」のことです。 イマイチピンと来ませんか? そんな人でも、「Tweener」「Paperv

  • Firefox 3ではじめる拡張機能開発 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Firefox 3ではじめる拡張機能開発 記事一覧 | gihyo.jp
  • エキスパートPerl - 変態モジュール総覧

    Perl の世界には、「変態モジュール」と呼ばれるモジュールがたくさん存在します。 これらは、モジュールの形態をとりながら、Perl の内部に踏み込み、蹂躙しているという恐ろしい存在です。 しかしながら、これらのモジュールは使いどころを間違えなければ非常に有用であり、あなたのプログラムに無限の可能性をもたらすことでしょう。 自分の足をどうやって撃ちぬくか、よく考えてからつかってください。 下記のモジュールたちは、それ自体が変態的なものもあれば、変態的なことをするときに使うモジュールもあります。 PadWalker PadWalker は変態モジュールの筆頭です。レキシカルスコープの変数を、レキシカルスコープの外から見たり書き換えたりできます。 peek_my peek_our peek_sub closed_over という4つの関数をサポートしています。 下記のようなありえない操作を可能

    shidho
    shidho 2008/12/09
    なんかすごい。
  • HisasAnn.com is for sale | HugeDomains

    Make 24 monthly payments Pay 0% interest Start using the domain today. See details

    HisasAnn.com is for sale | HugeDomains
    shidho
    shidho 2008/12/09
    そのうち試してみる。
  • 単純で正しそうなものが正しいとは限らない - Radium Software

    Coding Horror: The Danger of Naïveté 配列の中身をランダムな順序にシャッフルするコードを書きたい。単純でいいから分かりやすくて間違いの無いコードを書こう。例えば,こんな感じに…… for (int i = 0; i < cards.Length; i++) { int n = rand.Next(cards.Length); Swap(ref cards[i], ref cards[n]); } これは単純で分かりやすい! でも残念! このコードは間違っている。シャッフル後の順序に偏りが出てしまう。正解はこちら。 for (int i = cards.Length - 1; i > 0; i--) { int n = rand.Next(i + 1); Swap(ref cards[i], ref cards[n]); } ぱっと見て違いが分かる? イン

    単純で正しそうなものが正しいとは限らない - Radium Software
    shidho
    shidho 2008/12/04
    VC++5のStandard Template Libraryのシャッフルは前者らしい。
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • Webサービスを公開し、運用するために - 今日とは違う明日

    会社でプログラミングはしてるけど、プライベートでWebサービスを作って公開するには、どうすればいいんだか・・・という過去の私みたいな人のために。 とりあえず、前提として。 Webサービスを構築するためのある程度のスキルはある 何を作りたいかも決まっている でも、自分でゼロからスタートして公開までの段取りがよく分からん 1.開発言語、フレームワーク、データベースを決める 何はともあれ。持ってるスキルにあっているものが良いと思うけど、新しい言語やフレームワークにチャレンジするのも楽しいかも。お好きなものをどうぞ。ただ、all in oneなフレームワークだと、色々揃えなくてもいいから楽。 言語を決めたら、それに合わせた開発環境を用意して、Hello Worldが動く程度には動作を確認しておく。 私の場合は 言語はruby フレームワークはRuby on Rails データベースはpostgre

    Webサービスを公開し、運用するために - 今日とは違う明日
    shidho
    shidho 2008/11/28
    そのうちこういうことを考えないといけないのだろうなあと思いつつ。
  • trick7/TeraClock - Spark project

    TeraClock?とは 時計が作れます。下記リンクでデジタル時計の作り方をビデオ解説: http://www.trick7.com/blog/2008/09/02-074335.php アナログ針時計の作り方のビデオ解説は以下(ビデオ撮った時からライブラリの仕様変更で初期角度が90→0度に変更されていることに注意してね): http://www.trick7.com/blog/2008/09/19-073201.php ライブラリファイルのダウンロード・取得 ZIP 形式: http://www.libspark.org/svn/as3/TeraClock/release/TeraClock.zip AS ファイル: http://www.libspark.org/svn/as3/TeraClock/src/com/trick7/utils/TeraClock.as 使用例 出力ウィンド

  • 本物そっくり「疑似個人情報」を無償提供

    People to People Communications(川崎市)は11月25日、統計データを元に作成した「疑似個人情報」の無償提供を始めた。非営利目的に限り、1人3000件まで無料でダウンロードできる。 架空の名前や住所、生年月日などで構成した個人情報リストを提供する。自治体などが公開している統計データの分布を正確に反映させており、実在の情報ではないものの「物と区別することができないほど」そっくりだとしている。 物の個人情報のダミーとして保管したり、システム開発でテストデータとして使ったりするのに利用されている。2月から有料で販売していたが、非営利に限って無償で提供する。

    本物そっくり「疑似個人情報」を無償提供
    shidho
    shidho 2008/11/26
    これをwinnyとかで流出させた事件が起きたらどう確認すればいいのかと思った。
  • 絵をプログラムする言語「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の用法に精通していなくても、高機能かつ高速な

  • ActionScript3 最適化・高速化Tips 簡易まとめ - actionscriptグループ - ConquestArrow.addEventListener( LifeEvent.WORK, this.studyActionScript);

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    ActionScript3 最適化・高速化Tips 簡易まとめ - actionscriptグループ - ConquestArrow.addEventListener( LifeEvent.WORK, this.studyActionScript);
    shidho
    shidho 2008/11/15
    使い回せるものは使い回す、決めうち出来るものは決めうちしておく。
  • Roguelike Restoration Project - mizuno_takaakiの日記

    Rogueのソースコードを無くしてしまったので、もう一度ダウンロードしようとして検索をかけたら、「Roguelike Restoration Project」っていうサイトを見つけた。今のOSで動作するようRogueをメンテし続けてる模様。

    Roguelike Restoration Project - mizuno_takaakiの日記
    shidho
    shidho 2008/10/31
    少し追いかけてみる。
  • サイボウズ株式会社

    サイボウズはクラウドベースのグループウェアや業務改善サービスを軸に、社会のチームワーク向上を支援しています。

    サイボウズ株式会社
  • 私のプログラム

    初めは小学生の頃か。 実物のスペースインベーダーの記憶はない。 しかし、それを皮切りにアーケードゲームのみならず、ゲームウォッチ、ケームセンター嵐などを経て、ファミコンが登場する「ゲーム」の時代だった。 「ゲーム」がコンピューターゲームの意味になった時代だった。小学生も「コンピューター」にワクワクした。 21世紀はコンピューターにより人工知能ができる。そんな時代だった。 でも、アルファベットを知らない小学生にBASICは難しかった。ぴゅう太がせいぜいだった。 中学生。学校にPC-9801があった。後のパソコンである。 「PRINT」で文字を表示する。「GOTO」で行き先を変える。それは分かった。でも何をすればよいか分からなかった。 だから「ベーマガ」で16進数を打った。でも動かなかった。何度も調べ、直し、試した。デバッグした。 そしてようやくゲームが動いた。ゲームはつまらなかった。 でも動

    私のプログラム
  • 10 なら 10、 11 なら 20 になる関数を作りたい - IT戦記

    以下のエントリで質問を頂いたので http://d.hatena.ne.jp/amachang/20080827/1219815788 以下のコード x + a - (x % a || a) やりたいこと a で x を丸めること こんな感じ function round(a) { return function(x) { return x + a - (x % a || a); } } var round10 = round(10); round10(10); // 10 round10(15); // 20 round10(20); // 20 round10(25); // 30 もっといい方法あるかなあ (function(b) { return b ? x - b : x; })(x % a) うーん どっちにしろ奇麗には書けないなあ

    10 なら 10、 11 なら 20 になる関数を作りたい - IT戦記
    shidho
    shidho 2008/09/11
    a<>0 x>0 で、int(x/a)*a+(x%a==0?0:a)くらいで済ませるかなあ。/a,xが自然数なら、int((x+a-1)/a)*aで済むか。