サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
ctrlshift.hatenadiary.org
軽量なMarkup Languageとして、Movable TypeやGitHubなど、いくつかのコンテンツ管理システムでも利用されている「Markdown」を、Pythonから使ってみました。 Python版の「Markdown」は、PyPI内の以下のリンクからダウンロードできます。 Python Package Index : Markdown 2.0.3 プロジェクト自体のページは、以下のリンクをたどって行くことができます。 Markdown in Python: Overview このライブラリを自分のスクリプトから使う方法には、以下のようにします。 #!/usr/bin/env python # -*- coding: utf-8 -*- import markdown def main(): md = markdown.Markdown() md.convertFile(inp
Twitter API「ChirpUserStreams」 Twitterが新しいAPI「ChirpUserStreams」を発表しました。 このAPIを使うことで、Twitterの自分のメインページで流れてくるようなつぶやき情報が、リアルタイムにストリーミングとして取得できるようになりました。 普通、TwitterのAPIは使用回数に制限があるため、つぶやき情報やユーザーの情報を得ようとして何度もAPIを使っているうちに、制限に引っかかることがしばしばありました。 しかしながら、このストリーミングAPIは基本的にTwitterのサーバにつなぎっぱなしです。 つなぎっぱなしで、次から次へとフォロワーのつぶやき情報、Retweet情報、ダイレクト・メッセージ情報、Favorite情報などが流れてきます。 まるでこのAPIは、情報の波が次から次へと押し寄せてくるかの如くで、何か新しい可能性を感
いつも自分はソフトウェアで世の中を良くしたいとは思いつつも、実際に多くの人々の役に立つソフトウェアを作成することは、なかなか難しいものだと痛感しています。 でも、実際に「人を助けるソフトウェア」を作れる人っていうのは存在するわけで、時折、そんな人たちの話を聞くと、いつも体に衝撃が走ります。 今日、見かけたソフトウェアも、そんな「人を助けるソフトウェア」を作った人の話です。 そのソフトはiPhoneやAndroidなどで動作する手軽なモバイル・アプリで、名前は「Voice4u」というものです。 Voice4u JP - 自閉症のコミュニケーションをサポートするiPhone, iPod Touch & iPad専用AACアプリ | スペクトラムビジョンズ 自閉症のお子さんを持つ日本人の主婦が、同じ症状を持つ世界中の子供のために作成した会話補助ソフトだそうです。 iPhoneやAndroid上で
Python 3.x系では、まぎらわしいライブラリが整理され、名前変更や統合が行われました。 そして、それは「urllib」と「urllib2」にも行われたようで、これらのライブラリは「urllib」として新しく生まれ変わりました。 正直、これまでの「urllib」と使い方も変わってしまったので、ここで記しておこうかと思います。 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib.request def open(url, proxy=None): opener = urllib.request.build_opener() if proxy: proxy_dict = {'http':proxy} proxy_handler = urllib.request.ProxyHandler(proxy_dict) opener
モジュールをインポートするときの問題点 Pythonで同名の別ファイルをインポートしようとすると、あとにインポートしたファイルがきちんとインポートされません。 なぜなら、 Python側がすでにインポートしているファイルだと勘違いしてしまうからです。 この問題を解決するために、先にインポートしているモジュールをアンインポートして、別の場所にある同名ファイルをインポートできるようにしましょう。 問題の検証 ここからは、問題の検証をしようと思うので、結論を急ぐ方は「アンインポートの解決策」を見てください。 まず例えば、以下のような2種類のスクリプトを用意しましょう。 以下のスクリプトは「Test.py」というタイトルのファイル。 このファイルは「A」というフォルダと、「B」というフォルダの2つに入れておきましょう。 ちなみに、Python 3.x系を使っているので、2.x系を使っている人は、p
Googleで検索したときに検索候補を表示してくれる「Google Suggest」、大変便利ですよね。 この機能は、現在入力したキーワードを元に、javascriptを使って別の候補を取得しています。 実はこの機能は、特定のURLにクエリを投げることで、検索候補を取得できるようになっています。 この機能をPythonから利用できるように、スクリプトを組んでみました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib import urllib2 import re class GoogleSuggestAPI: def __init__(self): self.base_url = 'http://www.google.co.jp/complete/search?output=toolbar&q=' self.xml_
最近、Google App Engineの話題性に乗っかって、人気上昇中のスクリプト言語「Python」ですが、USBで持ち運べる便利なポータブル版が開発されているようです。 その名も「Portable Python」です。 Portable Python 「Portable Python」のパッケージをダウンロードして、USBやHDDに解凍すれば、ものの10分で持ち運び可能な開発環境が用意できるという優れものです。 しかも、本家のパッケージにはなかった軽快な開発環境「PyScripter」まで付いており、入力文字の補完機能も速くて、大変便利です。 現在、この「Portable Python」は2.5.4、2.6.1、3.0.1という3つのバージョンが用意されているため、自分が実行したいバージョンを選択することができます。(2009年12月2日現在) 個人的には今でもPython 2.6系
Novellから、AppleのiPhoneアプリを「C#」などの「.NET Framework」で開発できるツール「MonoTouch」が販売開始されました。 Main Page - MonoTouch from Novell もともとは.NET Framework互換環境を様々なプラットフォームに提供するプロジェクトである「Mono Project」の成果が、この製品に受け継がれています。 通常の.NET Frameworkのソフトというのは、ソースコードを共通の中間言語にコンパイルしてできあがっており、実際に実行する段階で、中間言語をJITコンパイラがネイティブコードにすることで動作するようになっています。 「MonoTouch」は、.NET Frameworkをソースコードから一気にiPhone用のネイティブコードにコンパイルする仕組みになっているそうです。 ちなみに気になるお値段は
スクリプト言語「Ruby」で構成される開発プラットフォーム「Ruby on Rails」に脆弱性の問題が発見されました。 「Ruby on Rails」を使って、Webアプリケーションを作成している方は要注意です。 この問題を扱っている記事を、以下に挙げておきます。 RubyOnRailsのXSS脆弱性がTwitterとBasecampとぼくの魂を殺した Ruby on rails flaw is found and fixed - The Inquirer Ruby on Rails XSS vulnerability patched - Update - News - The H Security: News and features XSS vulnerability in Ruby on Rails 情報によりますと、発見したのはBrian Mastenbrook氏で、彼のブログに
以前、こちらの記事で「PythonでTinyURLを作成するスクリプト」を作成したので、最近人気の「bit.ly」でも短いURLを作成するスクリプトを作成しました。 bit.ly, a simple url shortener 「TinyURL」から短いURLを手に入れる場合は、特定のURLにパラメータを付けるだけで良かったのですが、「bit.ly」の場合はAPIを使うためのアカウントとAPI Keyが必要なようです。 また、送信した後のデータ・フォーマットとしては、XML形式とJSON形式を選べまして、今回の例はXML形式を返すようにした場合のスクリプトになります。 #!/usr/bin/evn python # coding: utf-8 import urllib2 import re class Bitly: def __init__(self): self.re_node = r
「2ちゃんねる」のデータを使う時、どこからデータを取得したらいいのか、まとめてみました。 2ちゃんねる掲示板へようこそ 様々なBBSが記述されたメニューデータ まずは、どのBBSへ進むか決めるために、BBSのメニューを取得します http://menu.2ch.net/bbsmenu.html ここから各BBSのURLを取得します。 様々なスレッドが記述されたメニューデータ BBSが決まったら次は見たいスレッドを決めるため、スレッドのメニューを取得します。 先ほど取得したBBSのURLに「subject.txt」を追加すると、スレッド情報を取得できます。 例えば、「プログラム技術(http://pc11.2ch.net/tech/)」でしたら、以下のURL。 http://pc11.2ch.net/tech/subject.txt スレッドのdatファイル 次はスレッドの中身のデータを取得
文字コードの変換に使われるプログラム「nkf」が、バージョンアップして2.0.9になったそうです。 nkf Network Kanji Filter: 概要 - SourceForge.JP そもそも「nkf」って、「Network Kanji Filter」の略だったんですね。知らなかった……。 このバージョンアップに伴って、「-Z4」オプションを付けることで、全角カナから半角カナへの変換ができるようになったそうです。 文字コードの変換で随分お世話になっているので、これからもこのプロジェクトには頑張っていただきたいところです。 nkf Network Kanji Filter: 概要 - SourceForge.JP
いつも参加させていただいている1981sの若手技術者のコミュニティーで、今年も忘年会が開かれていたので、初参加させていただきました。 「ゆーすけーべー」ことid:kamawadaさんの呼びかけのおかげで、いろいろな人たちと話ができて、大変有意義な時間を過ごすことができました。ありがとう!! 忘年会を仕切っていただいていたメンバーの方々も、本当にありがとう!! この忘年会に参加できたおかげで、あのブログを書いていた人はこのお方だったのか!!とか、あのWebサービスを作った人がこんなところにいるなんて!!とか、年齢の近い人たちのコミュニティーではありますが、まさに十人十色で、すごく良い刺激を得ることができました。 もうすぐ今年も終わりますが、来年も良いもの作ろうね♪ id:nyon2さん、どこに座って良いものか迷っていたときに、テーブルで快くお話してくれてありがとうございました!!内心、かなり
はてなダイアリーの中には、とても注目されているユーザーさんがたくさんいます。 注目されるユーザさんというのはそもそも、はてなのソーシャルブックマーク・サービスである「はてなブックマーク」によってブックマークされ、さらに多くの人たちの目に届くような仕組みになっています。 そのため、はてなダイアリーで活躍しているユーザさんを調査するには、はてなブックマークを調査することで、その実態を調べることができそうですよね。 今回、私は「はてな」というコミュニティの実態を調査するべく、はてなダイアリーで記事を書いているユーザーさんたちの中でも、多くのはてなブックマークを獲得されているユーザーさんを調査しました。 はてなの提供する「はてなブックマーク件数取得API」によって、ユーザ別の総ブックマーク数を調べ、上位2000人を対象にグラフを作成しました。 はてなダイアリーのユーザ別ブックマーク数グラフ 縦軸が
Cybozu Labsから発信しているWebサービス「Pathtraq」では、サイトの視聴率や、人気サイトのランキング情報などを扱っていますが、こちらのサイトからいくつかの開発者向けAPIが公開されたようです。 開発者向け情報 - パストラック(Pathtraq) 今回、公開されたAPIは以下のような情報を提供してくれるようです。 ニュースランキング取得API カテゴリランキング取得API キーワード・URL検索API URL正規化API ページカウンタAPI ページチャートAPI データ形式にはJSONとRSSを指定できるようなので、PerlやPythonでいろいろやりたい方でも、Javascriptでいろいろやりたい方でも、両方嬉しい仕様になっています。 提供されるAPIの中でも気になるのが、そのサイトを見ている前に見ていたサイトの情報を取得できることです。 http://api.pa
海外のサイトで、「Python: 50 modules for all needs」という記事がありましたので、ちょっと注目してみました。 Pythonでプログラミングを行うときに大変重宝するモジュールを、50個もリストアップしています。 便利なライブラリやモジュールは、ソフトウェア完成の後押しをしてくれるので、たくさん使って効率良くプログラミングできるといいですね。 知らないモジュールがあったなら、一つ一つ見てみても楽しいですね。 Graphical interface - wxPython Graphical interface - pyGtk Graphical interface - pyQT Graphical interface - Pmw Graphical interface - Tkinter 3000 Graphical interface - Tix Database
先日、6月10日のGoogle Developer Day 2008 Japanの開催に合わせて、Googleが多くの技術ドキュメントを日本語化したようです。 Google Japan Blog: 日本のデベロッパーの要望に応え、多くの技術ドキュメントを日本語化しました これによって、英語に躊躇していた日本のディベロッパーも、少しGoogleのドキュメントが読みやすくなりました。 日本語化したドキュメントは以下のサービスになります。 OpenSocial YouTube Data API Google Gadgets API Google Themes API Google AJAX APIs Google AJAX Search API Google AJAX Feed API orkut デベロッパーホーム Google Chart API Google Code Talks ビデオ
先日、「自分の技術をさらけだす場」を提供することを目的としたプロジェクト「1000人スピーカ プロジェクト」に参加してきました。 エロと風俗情報満載 どう抜く? いろいろな方が思い思いのプレゼンテーションを用意し、技術を披露していました。 xakyさん iKnowについて user:songmu HTMLと漢字 user:henkma 組み込み系開発(DRP) user:fd0 「Cygwinのこともわすれないであげてください」 user:takke WindowsMobile用アプリケーション user:Yuhshi 「DoCoMoとTwitterとCookieと」 user:tokoroten 「WiiでGreasemonkeyを使う方法。俺様ニコニコブックマーク」 user:suzu みんな気軽にゲーム作ろうぜ!的な。 user:naoya_t PICでSchemeを動かす話 use
YAPC::Asia 2008でMichael Schwernは「SEOに有効な独自ドメインを取って、もっとPerl初心者が集まりやすいniceなPerlの情報を集めたサイトを作れ!」というコメントを残していったため、急に多くのスクリプト言語ユーザのためのハブサイトが、有志によって作られたようです。 Perl-users.jp - 日本のPerlユーザのためのハブサイト AS-users.jp - 日本の ActionScript ユーザのためのハブサイト PHP-users.jp - 日本のPHPユーザのためのハブサイト Python-users.jp - 日本のPythonユーザのためのハブサイト Ruby-users.jp - 日本のRubyユーザのためのハブサイト js-users.jp - 日本の JavaScript ユーザのためのハブサイト AIR-users.jp - 日本
素敵な面白い画像ジェネレーターを紹介いたします。 誕生日のお祝いに贈る誕生日ケーキの画像を生成できる「誕生日ケーキ・ジェネレーター」です。 Cake With Number - ImageChef あなたが指定した年齢のロウソクをケーキに刺して、好きなコメントを入れられることができます。 なかなかリアルな誕生日ケーキの画像ができるので、友達の誕生日に画像を贈ってあげれば、喜んでくれるかもしれませんね。 Cake With Number - ImageChef
ここのところ多くの企業も進出してきているソーシャルニュースサイト。 日本でも最近ではたくさんのソーシャルニュースサイトが存在するようになりました。 ソーシャルニュースサイトとは、たくさんの一般ユーザーたちが新しいニュースやネタを集め、サイトで掲載しているニュースサイトのことです。 プロフェッショナルな専門記者がニュースを集めてくるわけではないので、多くの一般ユーザーたちが活躍できる場となっています。 一般的なソーシャルニュースサイトでは、ユーザーたちに投票権を持たせて、面白い記事・重要な記事に投票することができ、最も注目される記事はランキング上位にくるような仕組みを取っています。 実際にはソーシャルブックマークサイトと密接に関わってくるため、詳細な分類は難しいのですが、今回はソーシャルニュースサイトだと思われるサイトをリストアップしてみました。 日本国内サイト newsing Choix
私が1981sグループに入ったのが忘年会以後ということもあって、皆さんがどんなことをしている方たちなのか非常に気になっていました。 なので、かなり時間をかけて、1981sグループで自己紹介をしてくれているメンバーのサイトを読んで、皆さんの作ってきたモノや、主催・管理しているコミュニティなどを読ませていただきました。 メンバーみんなのサイトを読ませてもらって思ったことは、同い年でも様々なスゴイ経験をしている人がいるところですね。 「未踏ソフトウェア経験者って、こんなにいるの?」とか、「このソフト、サービスの管理者ですか!?(敬礼!)」とか、「社長? 首謀者? チームメンバー? コミュニティってステキ!!」とか、見ているだけでいろいろ考えさせられます。 で、そんな皆さんの作品やコミュニティをリストにさせていただきました。 でも、あまりにもメンバーが多かったので、作品を見つけられなかったり、見逃
プログラミング言語、特にLispやSchemeを勉強していると、たまに「ファーストクラスのオブジェクト」や「第一級の関数」などを目にすることがあります。 しかし、「ファーストクラス」とか「第一級」というのは、いったい何なのでしょう。 その答えは、『Structure and Interpretation of Computer Programs(計算機プログラムの構造と解釈)』の1.3.4にある「Procedures as Returned Values」に記述がありました。 In general, programming languages impose restrictions on the ways in which computational elements can be manipulated. Elements with the fewest restrictions are
UNIXの代表的なダウンローダにwgetとcurlがあります。 たいていの場合どんなOSでも、どちらかのソフトがインストールされているのではないかと思います。 しかし、この2つのダウンローダの機能は、一見似ているようにも見えますが、実はそれぞれに特徴が見られるので、今日はそれについて解説してみます。 wgetの特徴 wgetのスペルは「片手でもコマンドできる」ということもあって、多くの人から気に入られています。 そんなwgetの特徴として、最も際立っているのが、クローラとして動作可能という点です。 オプションで-rを付加してやることで再帰的に動作し、-lでその深さを指定することができます。 また、-Aや-Rを利用すれば、ダウンロードする拡張子のホワイトリストとブラックリストを指定することも可能です。 つまり、特定のサイト内に散らばって存在するファイルを、拡張子によって指定ダウンロードできる
久々にPythonで遊んでみようと思い、urllib2を使ってネットワーク・プログラミングをしてみました。 内容は、Wikipediaの中にある単語をすべて調べ上げるというものです。 当然、すべての単語を調べるためには、Wikipediaのサーバに負荷をかけてしまうことになるので、迷惑がかからないよう、途中にos.sleep()関数を挟みながら、長時間にわたって処理し続けました。 それで、すべて調べ上げるだけでは面白くないので、その読み込んだ結果から、「Wikipediaに登録されいる最も長い言葉ランキング」を作りました。 以下にランキングを記します。 日本国とアメリカ合衆国との間の相互協力及び安全保障条約第六条に基づく施設及び区域並びに日本国における合衆国軍隊の地位に関する協定の実施に伴う刑事特別法 226 日本国とアメリカ合衆国との間の相互協力及び安全保障条約第六条に基づく施設及び区域
このページを最初にブックマークしてみませんか?
『ctrlshiftの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く