去年からほそぼそと作ってきた、EmacsからDBを操作できるツール Emacs DBI を紹介します。 Emacs DBI の簡単な紹介 このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 データベース画面 e2wmで3ペインの画面 機能概要 以下のような機能があります。 EmacsとDB接続可能なPerlが動けばターミナルでも何処でも動く DB定義、テーブル定義がすぐ見れる auto-complete によるSQL補完 接続先DBにからキーワード、型名、テーブル名、カラム名など
Dartのインストールが簡単になっていたので試してみたところ、Perlよりも高速だった。 なにこれ悔しい。 Dart: void main() { final t = new Stopwatch(); t.start(); final a = new List<int>(); for(var i = 0; i < 1000000; ++i) { a.add(i); } for(var i = 0; i < a.length; ++i) { ++a[i]; } var sum = 0; for(var i = 0; i < a.length; ++i) { sum += a[i]; } print(sum); print(t.elapsedMilliseconds / 1000); } Perl: use 5.12.0; use Time::HiRes qw(gettimeofday tv_
あのmiyagawaさんがjoinし、PerlをサポートするようになったPaaSとして大注目のdotcloudのinvite codeをいただいたので、早速遊んでみました。 http://now.kentarok.org/ ソース: https://github.com/kentaro/now.kentarok.org まあ普通の一行掲示板みたいなものなので特になにもいうことはないのですが、一応メモ。Perlでdotcloudの導入の一般的な話については、以下のエントリを参照ください。 dotCloud でPSGI Hello World - D-6 [相変わらず根無し] 前提 言語: Perl フレームワーク: Dancer ストレージ: Redis(PerlバインディングはRedis) Dancerのconfig use Dancer ':syntax'; config->{foo}{
この3週間を見ても、PythonのPyPIの登録数の方が伸びが大きいですね。この3週間だけ見ても、Pythonの方は1日に10件ほど登録があります。最初の1週間のPythonの伸びはすさまじく、このペースでいくと、1年半で逆転しそうです。後半の区間はそれほど多くなく、このペースのままであれば4年ぐらいですね。archive.orgによれば、2007年末で3200、エキスパートPythonプログラミングの出版時(2010/5/28)前後でPyPIは10000を超えたので、実質的なペースはこれらの間ぐらいになりそうです。まぁ、線形ではなく、「9ヶ月で1.3倍」みたいな感じの伸びであれば、もっと早くに数がひっくりかえるかもしれませんが・・・ Pythonがさらに伸びる余地があるとすれば、PythonではPyPIからダウンロードしてインストールするという、cpanコマンドみたいなものはまだ標準じゃ
(追記あり) How to Identify a Good Perl Programmer (by chromatic) が面白かった*1ので、27の質問を訳してみました。chromatic氏によれば、いずれも単純明快な質問でPerlの哲学や特徴をよく現しており、優れたPerlプログラマであれば少なくとも80%は答えられるべきだそうです*2。あなたは全ての質問に答えられますか? Perl5において変数のシジル*3が示すものは何か 配列のアクセスする際の $items[$index] と @items[$index] の違いは何か == と eq の違いは何か ハッシュをリストコンテキストで評価すると得られるものは何か Perlドキュメントからキーワードを検索するにはどのようにするのか Perl5における関数とメソッドの違いは何か Perl5が変数のメモリを再利用するのはいつか 変数のスコー
スクリプトからWebサービスを利用するときアカウントやパスワード情報をハードコーディングする場合がありますが、コードを公開する際うっかりそのまま公開なんてことにならないよう、Config::Pitを使うと良い。 アカウントやパスワード情報を~/.pit/以下にYAML形式で保存し、スクリプトから読み込みます。 #!/usr/bin/perl use strict; use warnings; use Config::Pit; my $conf = pit_get("example.com", requires => { username => "username on example.com", password => "password on example.com", }); die "pit_get failed." if !%$conf; my $username = $conf-
The sbox program encountered an error while processing this request. Please note the time of the error, anything you might have been doing at the time to trigger the problem, and forward the information to this site's Webmaster (webmaster@www.ac.cyberhome.ne.jp).Stat failed. /usr/local/apache2/cgi-bin/~mattn: No such file or directory sbox version 1.10 $Id: sbox.c,v 1.16 2005/12/05 14:58:01 lstein
せっかくブクマしても、なかなか後で自分のブクマを見返したりってしないじゃないですか。そういう習慣をなんとか直したかったので、Chromeのスタートページを自分のはてなブックマーク一覧のページに上書きしてしまう拡張を書きました。機能としては開いた瞬間、自分の最近のブックマーク一覧を出す検索もできる(これははてブ有料ユーザーのみ)という感じです。*1https://github.com/Cside/StartFromHatebu.crx/How to Use git clone git://github.com/Cside/StartFromHatebu.crx.git # chrome://extensions/ を開く # => デベロッパーモード # => 「パッケージ化されていない拡張を読み込みます」でStartFromHatebu.crx/を選択 cd StartFromHatebu
Jonathan Rockway氏は、いわゆるモダンPerlの旗手の一人です。Catalystの本も書いています。彼は昨年8月に、Why I stick with Perlというエッセイを書いていました。 今何故、それを思い出しているのか言いますと、言語論争があちこちにあり、宗教論争と同じく永遠に終わらないのは誰の目にも明らかなのに、特に日本において(私が日本人だから余計に思うだけかも知れませんが)後発の言語信者が蒸し返すことが多いので、彼のエッセイを思い出した次第です。 今読み返しても、私の言いたいことと全く同じです。以下、私訳を載せて置きます。 何故、私はPerlを続けるのか 2008年8月4日 Jonathan Rockway 私は今朝、discussion about Perl on Hacker Newsに気づいた。その記事は、著者がPerlを好きな理由についてのものである。この
私は以前、Jonathan Rockway氏の"何故、私はPerlを続けるのか"を紹介したことがありました。このエッセイの原題は勿論"Why I stick with Perl"です。ところが、最近Jeffrey Kegler氏がよく似た題名で"Why I stuck with Perl"を書いております。題名の違いは、現在形か過去形の違いだけですが、視点は全然違います。前者はモジュールの再利用の視点からCPANを見ており、後者は総合テスト環境(つまり、cpantestersのこと)の視点からCPANを論じています。 他言語の人が分かっていないのは、CPANをただのモジュール格納庫としてしか見ていないことです。cpantestersのことを全然分かっていないのです。テストするのみならず、モジュール作者がテスターにコンタクトすれば、もっと詳細なデータや、それどころかもうパッチすら用意している
互換性を大事にしているからバージョンアップしてもそのままうごくっていうのはすごくいいですね。バージョンアップするための作業に自分の時間をとられたくないですね。 そういった意味では Python はのりかえの選択肢になりますね。 正規表現リテラルがあるから正規表現リテラルがない言語はいかんせんワンライナーとかでつかえないので、ワンライナー用の言語をもう一個おぼえておく必要がありますね。正規表現つかえるとやっぱり便利ですね。 やりたいことをやれるモジュールがたいがいあるからさっき node.js で SMTPTLS でメールをおくるスクリプトをつくろうとおもったら、SMTP TLS できるライブラリがみあたりませんでした。 ちょっとしたスクリプトをかこうとしたときに、すぐにライブラリがみつかるというのはやはり Perl は便利ですね。Perl だったら Email::Send::SMTP::T
あけましておめでとうございます。今回は新春特別企画ということで、2010年のPerl界を振り返りつつ、2011年のPerl界がどうなっていくかを、予定と期待を織りまぜながら見ていきましょう。 Perl 5.14 2010年のYAPC::Asiaでジェシー・ヴィンセント(Jesse Vincent)氏が紹介されていたように、Perl 5は現在、2011年4月に予定されているPerl 5.14のリリースに向けて最後の仕上げをしているところです。Perl 5.14は2010年の開発成果をまとめた定期リリースなのでPerlの根幹をゆるがす大きな仕様変更はありませんが、Perl本体、コアモジュールともに細かなバグがいくつも修正されているほか、内部的にはさまざまな最適化が行われています。 一例を紹介しますと、Perl 5.14ではkeysやeach、あるいはpushやshiftのような、配列やハッシュ
Perl › データベース › here Perlを使ってデータベースは初級者が学ぶには今までは少し敷居の高いものでした。まずSQLの実行環境を構築する必要がありすぐに勉強したいという需要を満たすことはできていませんでした。 ですが現在はこの状況は変わりました。現在ではActivePerlをダウンロードするとDBD::SQLiteと呼ばれるSQLiteを利用するためのモジュールがパッケージングされています。 またデータベースに接続するためのユーザから見たインターフェイス部分にあたるDBIというモジュールもパッケージングされています。 ですのでActivePerlの最新版をダウンロードするだけで何の環境構築も行わないでデータベースを学習し始めることができます。 DBD::SQLiteとDBIがインストールされていることを確認する まずDBD::SQLiteとDBIがインストールされているかど
naoyaさんのPHP版 List_RubyLikeを見ていて面白いことに気づきました。 $list->push('foo'); $list->push('bar','buz'); 一瞬、「なんて美しい!」と思いました。 と同時に、「なんてPerl的な!」とも思いました。 「これじゃまるでPerlじゃないか」と。 私ならこういうインターフェイスにすると思います。 $list->push('foo'); $list->push(array('foo','bar')); 少し冗長ですが、こっちの方がPHPとしてしっくりきます(私にとっては)。 実際にはpush(array('foo','bar'))などとリテラルを渡すことはあまりなくて、push($hoge)とかpush($this->hoge())などと書くことになるでしょう。 この違いを突き詰めていくと、「PerlとPHPにおけるリストの
最近、社内で初対面の人に自己紹介すると「あ!twitterでfollowしてます。AKB好きな方ですよね?」と辱めを受けてることが多くて色々反省しています。 こんばんは。 先日、会社で新しいMac Book Airを支給されて開発環境を再構築して、せっかくの機会だったので自分の環境をメモりました。 YAPC::Asia 2010でtokuhirom氏の「モダンな Perl5 開発環境について」で大きく取り扱われたり、あちらこちらで散々エントリされていますが毎回ぐぐるのも面倒なのではっときます。 0. 下準備 gccや各種ライブラリが必要なので何はなくともXcodeをインストールします。僕はiOS SDK付きをダウンロードしてインストールしました。 ついでにhomebrewもインストールしておきます。 sudo dscl /Local/Default -append /Groups/staf
バリデーションはどの位置で必要か - サンプルコードによるPerl入門 バリデーションはアクセサメソッドの内部で行うのではなく、バリデーションの専用のモジュールを使用して、データを受け取った入り口で行うのがよいでしょう。 私はこれには反対です。アプリケーションにせよライブラリにせよ、原則としてすべての公開APIの入力値はバリデーションするのが望ましいと考えます。 すなわち、アクセサメソッドもそれがパブリックなAPIであればバリデーションをしたほうがいいと思います。 とはいえ以下の基本的な考え方に異論があるわけではありません。 データのバリデーションを行う主要な目的は、外部から入力されるデータが正しい値かどうかをチェックするためのものです。 問題は、どこまでを「外部からの入力」とみなすかということでしょう。私は、そのプログラム/ライブラリのパブリックなAPIが受け取る値はすべて「外部からの入
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く