タグ

ブックマーク / moriyoshi.hatenablog.com (12)

  • InnokoDB storage engine plugin - moriyoshiの日記

    InnoDB Deep Talk #1なのにうっかり casual な話をしてしまったという話です。 InnokoDB is a MySQL storage engine plugin that enables one to fetch the 猪子san's recent tweets in a SQL manner. https://launchpad.net/innokodb 会場で公開デバッグに付き合ってくださった斯波さん初め皆様ありがとうございました。 MySQLがらみの他の作品: ストアドを使って、Webスクレイピングをしよう!

    InnokoDB storage engine plugin - moriyoshiの日記
  • 「ユニコード」で予期せぬ目に遭った話 - moriyoshiの日記

    自分の知らないCJK Ideographのバリエーションがまだあったことに戦慄している pic.twitter.com/kUlyRLDDTM— moriyoshit (@moriyoshit) March 9, 2017 などというツイートをしたところ、思ったより反響があったのでまとめておく。 上記ではあいまいに「バリエーション」などと書いたが、Unicodeとそれを扱う環境においては、バリエーションと一口に言っても次のような状況がある。 意味論的に等価な異なる字形の集合 同じ字形で異なるコードポイントの集合 aは結構なじみ深いと思う。 a-1. 異なるコードポイントにそれぞれ異なる字形が割り当てられているもの 例: 「東」(U+6771) ⇔「东」(U+4E1C) 「斉」(U+6589) ⇔「齊」(U+9F4A) 「高」(U+9AD8) ⇔「髙」(U+9AD9) a-2. 同じコードポイ

    「ユニコード」で予期せぬ目に遭った話 - moriyoshiの日記
  • sendmsg() で送られた fd の持つロックの所有権は保持されるのか - moriyoshiの日記

    いくつかの *nix では sendmsg() / recvmsg() システムコールで他プロセスに fd を送信できたりします。送信元のプロセスでファイルロックを行った場合、送信先で同じ fd にファイルロックを行うとブロックするのでしょうか。出勤途中に猛烈気になったので確かめてみました。 追記: うぎゃー、unix(7) に書いてありました。 SCM_RIGHTS 他のプロセスでオープンされたファイルディスクリプタのセットを送受信する。データ部分にファイルディスクリプタの整数配列が入っている。渡されたファイルディスクリプタは、あたかも dup(2) で生成されたかのように振る舞う。 これを見落としてなければ、こんなくだらないプログラムを書かなくて済んだものを...。 ちなみに、SCM_CREDENTIALSというのもあるようです。Win32でいうとセキュリティトークンを送信できるような

    sendmsg() で送られた fd の持つロックの所有権は保持されるのか - moriyoshiの日記
  • 俺とPHP - moriyoshiの日記

    なんか知らないうちにPHPを全然書いたことがないという噂が広まっていて心外すぎるので弁明しておく。長くなるかもしれない。 PHPを使い始めたのはちょうど10年くらい前のことだと思う。4.0.3 あたりが出た頃だ。当時友人たちとシラバスの情報を共有するサイトをつくろうとしていて、PHP を紹介された。データベースに接続してデータの出し入れをするような仕掛けを簡単に作れるという。 それまでは web で何か作るといったら Perl だったし、テンプレートエンジンとかマルチパートパーサとかをまとめたオレオレ web アプリケーションフレームワークを作ってお茶を濁していた。Perl はかなり好きだった。それでも、PHP の手軽さは輝いて見えた。コードをそのまま HTML に埋め込めることでさえ、「poor-man's ASP」だと思って感激していた。マニュアルを見れば、答えが書いてあったから、動く

    俺とPHP - moriyoshiの日記
    nullpobug
    nullpobug 2011/02/04
    おっぱいおっぱい
  • なんで PHP をつかいつづけるのか - moriyoshiの日記

    PHP を使い続けたいと思うように PHP 自体を変えていくという発想が必要です。 http://wiki.php.net/rfc/builtinwebserver

    なんで PHP をつかいつづけるのか - moriyoshiの日記
    nullpobug
    nullpobug 2011/02/03
    なるほどなー
  • muddy brown thang

    この記事はpyspa Advent Calendarの19日目の記事として書かれました。 昨日はrokujyouhitomaの「アクアリウム始めたいので商品をしらべる。そして始める日は来るのか」でした。私もデスマが終わったらアクアリウムやりたいと思いもう10年くらい経っている気がします。 rokujyouhitoma.hatenablog.com TL;DR 文字化けは人類の進歩の証、人々の営みと企みの間に生まれたグリッチ。 はじめに 「文字化け」という言葉が生まれたのはいつのことなのかはわからない。だが、文字化けというものを、言語の表現に必要な構成要素 (音素など) を符号化し並べたものがあったときに、その符号の並びの解釈が送り手と受け手との間で相異なった状態であると定義するならば、文字化けの誕生はすなわち文字の歴史ということになるだろう。アドベントカレンダーとして当はもっと卑近な話題

    muddy brown thang
  • Python Hack-a-thon で発表してきました!! - moriyoshiの日記

    今回は資料の作成が後手に回ってしまい、運営の方々や発表者の皆様には大変迷惑をおかけしました。 さて、今回は ctypes 拡張モジュールに関する内容を発表させていただきました。 ctypes拡張モジュールView more presentations from Moriyoshi Koizumi. php-in-python の使い方 PHP-in-Pythonには、まだドキュメントがありません。インストール方法を簡潔に説明します。 a. Windowsの場合 windows.php.netよりThread-safe版のPHPのバイナリをダウンロードします。 ダウンロードしたアーカイブを適当なディレクトリに展開します。 展開された中身に含まれているphp5ts.dllの場所がPATH環境変数に含まれるようにします。 b. Linux等Free Unixの場合 php.netよりPHPのソー

    Python Hack-a-thon で発表してきました!! - moriyoshiの日記
  • Linux上で動くSkype用のbotを作る方法 - muddy brown thang

    はじめに 以前、知人のやっているBeProudという会社を手伝ったのですが、BeProudでは、エンジニアの主要なコミュニケーション手段としてSkypeが使われていました。当時、趣味でたまたまSkypeのAPIについて調べていたので、悪戯っ気を出して、開発環境に即席でSkype APIを使ったbotを設置してみたところ、思いのほか好評を博し、いまやインフラと言っても過言ではない存在 *1 *2と化したようです。 まあそんな状況を眺めつつ、自宅のサーバにSkype botを設置して、お気に入りのSkypeチャットにもbotを加えてみたところ、これも結構好評だったので、興味ありそうな人向けに作成方法をまとめることにします。 Skype Public API Skype Public APIとは、Skypeを外部からコントロールするためのインターフェイスです。 Skype Public API

    Linux上で動くSkype用のbotを作る方法 - muddy brown thang
  • Interop サービスを使って CLR 環境から PHP スクリプティングエンジンを呼び出す。 - moriyoshiの日記

  • ストアドを使って、Webスクレイピングをしよう! - moriyoshiの日記

    こんにちは、SQLを愛してやまないmoriyoshiです。 ストアドプロシージャは、一連のSQL文をサブルーチンのようにDBサーバに記録しておき、後からそれを呼び出すことができるようにする仕組みです。近代的なRDBMSには標準的に備わっている機能といえます。 制御構造などもSQL文で記述することができるので、結果的に、あらゆるロジックをSQLのみで記述することができます。手続き型プログラミングにどっぷり浸かった現場の方から愛用されていると言われています。 今回は、ストアドプロシージャの応用として、Webスクレイピングを行なってみましょう。Webスクレイピングとは、特定のWebサイトにアクセスし、そのページの内容 (HTML) を取得、解析し、必要な情報を取り出すという一連の操作を自動化することです。Webスクレイピングを効果的に活用すると、人間がブラウザに向かって単純作業を繰り返す必要がな

    ストアドを使って、Webスクレイピングをしよう! - moriyoshiの日記
  • Google App EngineでPHPが動きました - moriyoshiの日記

    詳しいことは明日書くけども、QuercusのSVN版とResinのソースの一部を使って、あとパッチあてまくって何とか動かせました。キャッシュなどでGAE固有の調整が必要なのでforkしようと思っています。 sample 1 sample 2 This is a quick attempt to run PHP scripts on GAE using Quercus with a bunch of patches applied. I'm thinking of forking the original code as it needs lots of site-specific changes in content cache and a few more parts.

    Google App EngineでPHPが動きました - moriyoshiの日記
    nullpobug
    nullpobug 2009/04/10
    うわ、ほんとにやったのかw
  • Drizzleのプラグインを書いてみた (認証系) - moriyoshiの日記

    DrizzleのSASLプラグインを書いてみた。 Drizzleとは 前坂さんのブログ記事や@ITの記事などを参照してもらえれば。 一言でいうと「Lean and Mean MySQL」。 Drizzleをビルドするには 1次情報の垂れ流し失礼。 まず、Protocol Buffersとlibeventという2大バズワード的コンポーネントと、PCREを利用しているのでこいつらはインストール必須。 あとは非必須コンポーネントとして、 OpenSSL zlib libintl (gettext) readline がある。 ビルドのためのツール類としては以下が必要。 libtool automake autoconf bison g++ (gcc) また、ソースはBazaarを使って引っ張ってくるなどするのがよいと思われるので。これもインストール。 1. ソースのクローン Wikiの説明を見る

    Drizzleのプラグインを書いてみた (認証系) - moriyoshiの日記
  • 1