タグ

2009年2月12日のブックマーク (25件)

  • Perl Magicは意外と簡単に使える - Islands in the byte stream (legacy)

    PerlのC APIにはMagicという考え方があって,任意のSVにフックとプライベートデータを付けることができる。このAPIはXSからでも利用できるのだが,難しそうで敬遠していた。しかし,試してみると意外と簡単に使えることが分かったのでメモしておく WeakRef::Auto http://search.cpan.org/dist/WeakRef-Auto/ 使い方は意外と簡単で,フックしたい操作のためのメソッドを入れたVirtual Tableを用意して,sv_magicext()を呼び出すだけ。 まずVirtual Tableと識別のためのユーティリティをCセクションに置く: #define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" #include "XSUB.h" typedef SV* SVREF; st

    Perl Magicは意外と簡単に使える - Islands in the byte stream (legacy)
    kamipo
    kamipo 2009/02/12
  • FieldHashを使ったInside-Outクラスあれこれ - Islands in the byte stream (legacy)

    Hash::Util::FieldHashを使うとInside-Outクラスを簡単に作ることができる。といっても,これはクラスビルダーではないのであくまでも「何も使わずにクラスを書くのと同じくらい簡単に」という程度でしかないが。 # Book.pm package Book; use strict; use Hash::Util::FieldHash qw(fieldhashes); fieldhashes \my(%title_of, %author_of); sub new{ my($class, $title, $author) = @_; my $self = bless {}, $class; $title_of{$self} = $title; $author_of{$self} = $author; return $self; } sub title{ my $self =

    FieldHashを使ったInside-Outクラスあれこれ - Islands in the byte stream (legacy)
    kamipo
    kamipo 2009/02/12
  • FieldHashの使い道 - Islands in the byte stream (legacy)

    FieldHashを使ったInside-Outクラスあれこれの続き。 結局のところ,FieldHashによるInside-Outクラスはハッシュリファレンスを用いたものより遅い。しかしそれにもかかわらず,FieldHashが非常に有効なケースがある。それは,Mixinクラスを作るときに来のオブジェクトの実装に影響を与えずにプロパティを設定したいときである。 たとえば,DBIx::Classで使われているClass::Accessor::Grouped(v0.08002)には以下のような箇所がある: sub get_inherited { my $class; if (Scalar::Util::blessed $_[0]) { my $reftype = Scalar::Util::reftype $_[0]; $class = ref $_[0]; if ($reftype eq 'H

    FieldHashの使い道 - Islands in the byte stream (legacy)
    kamipo
    kamipo 2009/02/12
  • モジュールをロードする方法がありすぎる - Islands in the byte stream (legacy)

    Module::LoadやらUNIVERSAL::requireやら,モジュールをロードする方法がありすぎる。純粋にロードするだけではないモジュールまで含めるとClass::Inspector,Class::C3::Componentised,Class::MOP,base.pm,parent.pmなどなど,数え切れないほどある。 もともとPerl組み込み関数のrequire()がモジュール名を引数として受け付けるならこんなことにはならなかったに違いない。 そこで,PL_checkハックでrequire()を拡張してみた。 Acme::RequireModule use Acme::RequireModule; my $mod = 'DBIx::Class'; require $mod;

    モジュールをロードする方法がありすぎる - Islands in the byte stream (legacy)
    kamipo
    kamipo 2009/02/12
  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 9.7 コメント

    #文字から行末まで。 -- シーケンスから行末まで。 MySQL では、-- (二重ダッシュ) のコメントスタイルは、2 番目のダッシュに少なくとも 1 つの空白または制御文字 (空白、タブ、改行など) を続ける必要があります。 セクション1.7.2.4「コメントの先頭としての「--」」で述べているように、この構文は標準 SQL のコメントの構文とは少し異なります。 C プログラミング言語のように、/* シーケンスから次の */ シーケンスまで。 この構文では、開始と終了のシーケンスは同じ行にある必要はないので、複数の行にわたってコメントを記すことができます。 次の例には、3 つのコメントスタイルがすべて示されています。 mysql> SELECT 1+1; # This comment continues to the end of line mysql> SELECT 1+1; --

    kamipo
    kamipo 2009/02/12
  • jQuery.opensocial_simple Pluginを作成しました。 - KAYAC Engineers' Blog

    昨日OpenSocial Hackathonに参加させていただきました。agoです。 Hackathonは終わってしまいましたが、jQueryからOpenSocialを簡単に扱うためのPluginを作成したので、jQuery.opensocial_simpleとして公開したいと思います。 opensocial、gadgetsのすべての機能を実装したわけではないですが、owner、viewerの情報取得、外部サイトへの接続はかなり簡単に実装できるようになったと思います。 使い方はjQuery読み込み後、jquery.opensocial_simple.jsを読み込み、$.opensocial_simpleからmethodを呼び出すだけ。 MySpaceアプリの場合以下の形で使用できます。 <script type=" text/javascript"http://api.msappspace

    jQuery.opensocial_simple Pluginを作成しました。 - KAYAC Engineers' Blog
  • MySQLによるデータウェアハウス構築

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、オークション事業部のWangです。 データウェアハウス(以下DWH)という言葉になじみのない方は検索していただいたほうがよいかもしれません。 検索するのがめんどい、という方は、かみ砕いた表現ができなくて恐縮ですが、 基幹系システムから抽出したデータを目的をもって再構成し、 使用可能な状態に保管されたデータの集合体、とお考えください。 オークションでは、具体的には出品、入札、落札などのトランザクションデータや、 それをいろいろな単位で集計したデータなどが該当します。 ここでいう単位というのはたとえば、日ごと、週ごと、月ごとや、以前の記事でも紹介されている カテゴリといったものになります。 こういったデータは、運用、運営、

    MySQLによるデータウェアハウス構築
    kamipo
    kamipo 2009/02/12
    DWHに使用するのであれば、MyISAMの右に出るものはないでしょう。
  • 「しまった」という時のためのext3undel

    ファイルやディレクトリを誤って削除してしまってもあきらめることはない。ext3undelには、できるだけ効率良くデータを復旧させるための素晴らしいツールがそろっている。 rmコマンドはデータを削除するためのパワフルなツールだ――が、ファイルやディレクトリを誤って削除してしまった場合にはそうとも言っていられない。しかしありがたいことにext3undelユーティリティを使えば、ext3ファイルシステム上で誤って削除してしまったデータを復旧することができる。ext3undelを使えば、ファイル名で指定したファイルを復旧させることもできるし、削除されたという印がつけられている全ファイルを復旧することもできる(ただしこの場合ファイル名は復旧できないため目的のファイルを見つけるためにファイルの内容を確認する必要がある)。 ext3ファイルシステム上の各ファイルは、2つの部分から構成されている。1つは、

    「しまった」という時のためのext3undel
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

  • Perlゼミ(サンプルコードPerl入門)

    Perl入学式 全6回のPerl入門講座。東京、大阪、沖縄、札幌で開催。(東京は4月と10月スタート、それ以外は5月スタート) YAPC::Japan Perlを軸としたITに関わる全ての人のためのカンファレンス。 東京 吉祥寺.pm 五反田.pm 大阪 なにわPerl 沖縄 沖縄.pm

  • プラグマを import すると use したクラスにもプラグマが効くようになる - 僕ト云フ事@はてな出張版

    知らなかった! id:dann に教えてもらった。 package Hoge::Base; use strict; use warnings; use utf8; sub import { strict->import; warnings->import; utf8->import; } このクラスを use すると strict, warnings, utf8 が効く package Hoge; use Hoge::Base; # ここは strict, warnings, utf8 Moose, Mouse はこういう仕組みらしい。

    プラグマを import すると use したクラスにもプラグマが効くようになる - 僕ト云フ事@はてな出張版
    kamipo
    kamipo 2009/02/12
  • Perl Monger の質問 - AUTOLOADって他でどうやるの? : 404 Blog Not Found

    2006年05月12日17:00 カテゴリLightweight Languages Perl Monger の質問 - AUTOLOADって他でどうやるの? PerlのOOにおける強力な機構の一つに、AUTOLOADがあります。 Advanced Perl Programming, 2nd Ed. Simon Cozens [邦訳:実用Perlプログラミング第2版] 具体的に他の言語でAUTOLOADを実現する方法にはどんなものがあるでしょうか? たとえば、こんなことをしてほしいClassを考えます。 use strict; use warnings; use Unicode::Char; my $u = Unicode::Char->new; binmode STDOUT, ":utf8"; # 小飼弾と表示 print $u->u5c0f, $u->u98fc, $u->u5f3e,

    Perl Monger の質問 - AUTOLOADって他でどうやるの? : 404 Blog Not Found
  • 不確定性を受け入れ突出した人材の力を引き出せるのが良い組織 - アンカテ

    見積もり2億円のIP電話を820万円で構築した秋田県大館市から学べること:ITpro この例のAsteriskのように、十分業務に使えるレベルのオープンソースソフトウエアは他にもたくさんあります。 システム構築に数億円の見積りを出しているベンダーで、「このシステムは大館市のような方法で820万円で構築することは絶対に不可能だ」と言い切れるベンダーはいないと思います。つまり、820万円のシステムが2億円で売られているケースは、たくさんあると思います。 では、その2億円と820万円の差はどこから生じるかと言えば、「組織の中にノウハウを蓄積するコスト」です。 意欲的な個人が自分の興味のある分野で趣味として一つのことを勉強するのと、組織が属人性を排除して、つまり、誰がやめても業務を継続できるような形でノウハウを継続的に保持することの間には、それくらいの違いがあります。 組織が責任を持って業務を引き

    不確定性を受け入れ突出した人材の力を引き出せるのが良い組織 - アンカテ
    kamipo
    kamipo 2009/02/12
  • DebianでGit1.5.5をソースから入れる - satoko's blog - s21g

    現状etchのgit-coreバイナリーpackageの最新は1.4.4系です。ただ1.5系ではコマンド体系が変わっているのでソースから入れることにしました。 →DebianでGitバイナリーpackageインストールについてはここ。 git-coreパッケージを探す http://packages.debian.org/search?searchon=names&keywords=git-core http://packages.debian.org/lenny/git-core 現状ではlenny(testing:次期stable)のgit-coreが一番良さそうですね:1.5系。 /usr/local/srcにパッケージをダウンロード、解凍、インストール 1  # wget http://ftp.de.debian.org/debian/pool/main/g/git-core/gi

  • https://blog.8-p.info/2009/02/class-sniff

    kamipo
    kamipo 2009/02/12
  • 「Dropbox」のキャッシュが23GBもあった件 - ネタフル

    データ共有・同期をしてくれる「Dropbox」大変、便利に使わせて頂いております。が、なんか知らない間にキャッシュが23GBもできて、ハードディスクを圧迫していました。ちょっとびっくり。 「MacBook Air」のハードディスクの残量が数GBになって久しく、1TBのNASを購入したので、いよいよiTunesのライブラリを移すか! と思いつつ、しかし何がそんなに消費しているんだ? という疑問がわいて調べてみました。 もともといろいろ調べてみると、ライブラリの中の「Application Support」において、ectoだとかJingだとか、愛用のツールのキャッシュがけっこう溜まっていたりする訳です。 普通に使っている分には恐らく気にならないのでしょうが、事態が切迫してくると、こういう細かいところに気づく訳ですね。 ということで、それらも削除したけれど、いったい何がハードディスクを消費して

    「Dropbox」のキャッシュが23GBもあった件 - ネタフル
  • tarのexcludeオプションを知った夜 (それなりブログ)

    それなりブログ 20台後半からWebエンジニアに転生した人が書く、プログラム・無駄口とかのそれなりのブログ 管理人: kjirou  座右の銘: 「三度の飯より、四度の飯」 例えば、.svnディレクトリを除いて固めたい時とかに tar zcvf filename.tar.gz ./dirname --exclude ".svn" こう書けることを知った。 一回調べて無かった気がしてたんですが、もろでした。 当に昔の記憶はアテにならんす。 【追記】 grepも--exclude-dirというので.svnを弾けるというコメントをいただいたけど 自分のメイン開発環境(CentOS-5.0)では出来なかったので、代替方法を・・・ grep -r exclude="*svn-base*" "pattern" . これでほぼ弾けます。 ・・・書くのがかったるいですけどね!

  • DOCTYPE宣言|CSSレイアウト|HTMLタグ講座

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • ubuntuでlocaleがない場合 (Jetspeed Blog)

    Jetspeed Blog about networking, music, motorbike and some stuff... また忘れて探してしまった。 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "ja_JP:ja:en_GB:en", LC_ALL = (unset), LANG = "ja_JP.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). などとエラーが出る場合の対処。特にdebootstrapなんかでインストールするとよく出る

  • perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found

    2009年02月10日01:00 カテゴリLightweight Languages perl - open my $fh, "comand |"; # はモダンじゃない モダンPerl入門 牧大輔 「モダンPerl入門」発売記念ということで、同書を補足するentryを。 同書でちょっと残念だったのが、[5.2 外部コマンドの実行]。あまりモダンではないのだ。 P. 141 system("/sbin/wget", "http://example.com"); これはいいのだが、以下がちょっとまずい。 my $output = `/bin/ls tmp`; open(my $fh, '| cat -v'); これ、何がまずいか、というと、コマンド実行の際に/bin/shを使ってしまうのだ。そのおかげでcommand < from > to 2&>1のようなリダイレクトも使えるなどの利点もあ

    perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found
    kamipo
    kamipo 2009/02/12
    open my $fh, '|-', qw/cat -v/ or die $!;
  • perlembed - C プログラムに perl を埋め込む

    名前 perlembed - C プログラムに perl を埋め込む 説明 前書き あなたの欲しいのはどれ? Perl から C を使う perlxstut, perlxs, h2xs, perlguts, perlapi を読みましょう. Perl から Unix プログラムを使う バッククオート及び perlfunc にある system と exec を読みましょう. Perl から Perl を使う "do" in perlfunc 及び "eval" in perlfunc, "require" in perlfunc, "use" in perlfunc を読みましょう. C から C を使う 構成を考え直してみましょう. "><C から Perl を使う> このままどうぞ... 道のり C プログラムのコンパイル C プログラムに Perl インタプリタを追加 C プログラ

    kamipo
    kamipo 2009/02/12
  • Loading...

  • 旧・Macの手書き説明書 - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.