タグ

2009年3月18日のブックマーク (51件)

  • オトコのソートテクニック2008

    今日は仕事納めだったので、一年の締めくくりとしてMySQLにおけるソートの話でもしようと思う。 インデックスを利用しないクエリで最もよく見かけるもののひとつは、ORDER BYを用いたソート処理だろう。もし、ソート処理においてインデックスを用いることが出来れば、MySQLは結果を抽出してから結果行をソートするのではなく、インデックス順に行を取り出せば良いので高速にソート処理することが可能になる。特に、LIMIT句やWHERE句を用いて行の絞り込みを行う場合は効果が絶大である。しかし、ひとたびインデックスを利用できない状況に直面すると、たちまちテーブルスキャンが発生して性能が劣化してしまう。 例えば、100万行のレコードを格納したt1というテーブルがあるとする。そのテーブルに対して以下のようなクエリを実行した場合を考えよう。 mysql> SELECT col1, col2 ... colx

    オトコのソートテクニック2008
  • 巨大なSJISのCSVファイルをfgetcsv関数で処理する - hnwの日記

    さて、前回記事「PHPでメモリ上に一時ファイルを作る」では、file_get_contents関数でCSVファイル全体を取得して文字エンコーディングの変換を行い、変換結果に対してfgetcsv関数を利用しました。しかし、CSVファイルが巨大な場合にはfile_get_contentsを使うとメモリ上限に引っかかってPHPが停止してしまいます。 もちろん、UTF-8CSVファイルに対してfgetcsvを利用するのであれば、どんな大きなCSVファイルだろうと処理することが可能です。なぜなら、fgetcsvはファイルを1行単位で読み込む関数ですから、1行分のメモリ消費だけでファイル全体を読み込み続けられるからです(正確にはストリーム上のデータはバッファリングされるので、バッファサイズ分のメモリは消費しますが)。 それでは、巨大なSJISのCSVファイルをfgetcsvで処理したい場合はどうすれ

    巨大なSJISのCSVファイルをfgetcsv関数で処理する - hnwの日記
    kamipo
    kamipo 2009/03/18
  • firefox 3が遅くなった→ SQLite reindexで解決&高速化 - しおそると

    Firefox 3を使っていて、起動が異様に遅くなっていて困っていました。 今回、どうやら解決した模様なので備忘録までに記載します。 Firefox 3にバージョンアップしてから、メインで利用しているPCで Firefox の起動が遅くて仕方がない、ipv6検索を無効にするとか試してみたけどもかわず、という状態でした。 だいたい同じAdd-onを 他のPCにも入れて利用していますが、そちらははそう遅くはないので、プロファイル系かあ、までは切り分けしてそのまま利用しておりました。 プロファイル再作成、面倒ですしね。 で、ふと思い立って Firefox 3 で利用している、SQLite データ群をかたっぱしから Reindex したら、 昔のスピードが再現しました。はやい! 改善:2つ 1)起動が速くなった(起動に1-2分かかる→すぐ起動。劇的に改善。) 2)サイト表示もはやい。 cookie

  • めも - places.sqliteはvacuumしてreindexする

    _ [Firefox] places.sqliteはvacuumしてreindexする Vimperatorでwildoptions=autoにしていると、ロケーションバーのように文字入力の度に補完候補を更新してくれる。 んが、少し前からこの動作が妙にもっさりしていたのでこの設定を止めていた。 firefox 3が遅くなった→ SQLite reindexで解決&高速化 - しおそると 以前、SQLiteなファイルを小さくして高速化を図るというのが流行って(?)いたときに、vacuumを試してほとんど効果がなかったのであまり期待はしていなかったのだが、reindexはやってなかったなと思いダメ元で試してみた。 一応、vacuumしてからreindexすることに。 補完候補の表示に一番影響するのは多分places.sqliteだと思うので、Firefoxのプロファイルフォルダに移動して、

  • JavaScriptの再帰処理の限界 - hagino3000's blog

    JavaScriptの再帰処理をarguments.calleeを使って書くか、関数リテラル名指定で自分を呼び出すかでエラーになった時の挙動が違ったのでメモ。 arguments.calleeの場合 ブラウザ エラーになる回数 エラーメッセージ メモ IE6 438 スタック領域が不足しています catchできない IE7 1747 stack over flow at line XX. catchできない window.onerrorでハンドルしようとするとIEがクラッシュ Firefox 3.0 2999 too much recursion catchできない Safari 4 Beta 40326 Maximum call stack size exceeded. catchできない 関数リテラル名指定の場合 ブラウザ エラーになる回数 エラーメッセージ メモ IE6 462 スタ

    JavaScriptの再帰処理の限界 - hagino3000's blog
  • Hatena::Favicon

  • 産総研:人間に近い外観と動作性能を備えたロボットの開発に成功

    リアルな頭部と日人青年女性の平均体型を持つ人間型ロボットを開発 人間に近い動作や音声認識にもとづく応答を実現 エンターテインメント分野や人間シミュレーターとして機器評価への応用に期待 独立行政法人 産業技術総合研究所【理事長 吉川 弘之】(以下「産総研」という)知能システム研究部門【研究部門長 平井 成興】ヒューマノイド研究グループ 梶田 秀司 研究グループ長らは、人間に近い外観・形態を持ち、人間に極めて近い歩行や動作ができ、音声認識などを用いて人間とインタラクションできるヒューマノイドロボット(サイバネティックヒューマン、以下「HRP-4C」という)を開発した。 HRP-4Cは、身長158cm、体重43kg(バッテリー含む)で、関節位置や寸法は日人青年女性の平均値を参考に、人間に近い外観を実現した。歩行動作や全身動作はモーションキャプチャーで計測した人間の歩行動作や全身動作を参考にし

  • Bread::Board

    Stevan Little Alex Balhatchet André Walker ben hengst Brad Bowman Caleb Cushing Daisuke Maki Dave Rolsky Florian Ragwitz Gabor Szabo Gianni Ceccarelli Graham Knop Jason Galea Jason May Jay Hannah Jesse Luehrs Jonathan Rockway Kip Hampton Mohammad S Anwar Neil Bowers Philippe Bruhat (BooK) Sterling Hanenkamp Tomas Doran Yanick Champoux zdk NAME Bread::Board - A solderless way to wire up your applic

    Bread::Board
    kamipo
    kamipo 2009/03/18
  • 呼び出し元のコンテキストで eval する方法 - kazuhoのメモ置き場

    String::TT なんかがそうですけど、呼び出し元の変数を使いたい、ということがときどきあります。たとえば、 sub hello_to_alice { my $user = "Alice"; say_hello(); # "Hello to Alice!" と言ってほしい } って書きたいとか、そういうケースですね。結論から言うと、以下のように say_hello 関数を定義すれば可能です。こんな感じ。 sub say_hello { @_ = ('print "Hello to $user!\n"', undef); goto &DB::eval_in_parent_and_return; } package DB; sub DB::eval_in_parent_and_return { my ($expr, $retvar) = @_; eval("package " . (cal

    呼び出し元のコンテキストで eval する方法 - kazuhoのメモ置き場
    kamipo
    kamipo 2009/03/18
    perl デバッガを実装するために、DB パッケージ内での eval は呼び出し元のコンテキストで実行されるようになっている
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 坪・平米・畳 換算値

    坪単価とは 新築で家を建てる際、建物体を坪あたりの単価で比べるために利用します。ただし、建築基準法などで定められた単位ではなく、メーカー・工務店によって計算方法が違う場合があります。あくまで、おおよその目安として使います。 A)坪単価(建物部分)= 建物体価格 ÷ 延べ床面積 B) 坪単価(建物部分)= 建物体価格 ÷ 施工床面積 AとBのパターンがあります。これに、もろもろの諸経費が足されて、最終的な建物価格が決まります。実際に建てると、広告などで表示されている坪単価よりも割高になるのはそのためです。 新築で家を建てる際に注意したいのは、坪や面積の扱いが複数あることです。混乱しないよう、計算方法を確認しておきましょう。 延べ床面積の計算 各階の床面積の合計です。玄関やクローゼット・ベランダ・屋外の階段などは含めません。 施工床面積の計算 各階の床面積の合計です。その名の通り、施工す

  • MacのSecurity Update 2009-001でperlが動かんくなった

    You should update (sometimes force install) AT LEAST: IO (getting tar.gz from search.cpan.org or anywhere; because your CPAN shell doesn’t work!) Storable Scalar::Util Cwd (your Cwd is now pure perl!!) Encode (reload index and install it again if the test fails) This post may help you. details are below ( written in LANG=ja_JP, but you will understand it!) [danjou@sylvia] $ perl -MIO IO object ver

  • YAML中の重複箇所をまとめる方法(アンカーとエイリアス) (BLOG) - RED-MOUNT.COM

    Railsで開発してる時、config/database.ymlの内容をまとめて書きたいな、と思う事がたまにあります。あまりYAMLについてきちんと知らなかったので、勉強がてらアンカーとエイリアスについて調べてみました。 ぐだぐだ文章で書くよりも、実際のYAMLを見てもらった方が早いと思うので、まずは下記を見て下さい。 development: database: hoge_test adapter: mysql host: localhost socket: /var/lib/mysql/mysql.sock username: fuga password: encoding: utf8 test: database: hoge_test adapter: mysql host: localhost socket: /var/lib/mysql/mysql.s

    kamipo
    kamipo 2009/03/18
  • $c->user_existsと$c->userについて*[CPAN][Catalyst] - Web newbie

    (途中) Catalyst::Plugin::Authenticationの設定値として、 use_sessionというものがあります。 use_session Whether or not to store the user's logged in state in the session, if the application is also using the Catalyst::Plugin::Session plugin. This value is set to true per default. と、CPANには書かれているのですが、設定することでどのフローが変わるのか、よくわかりません。 で、調べてみて、一言で言うと、 (※Catalyst::Plugin::Authentication::Store::DBICを使う場合) 『もしセッションがあれば、認証チェック[$c->

    $c->user_existsと$c->userについて*[CPAN][Catalyst] - Web newbie
  • CGMを運営するときに意識する「リラスプ」というフレームワーク : LINE Corporation ディレクターブログ

    こんにちは、佐々木です。 最近、WebディレクターというよりもWebプロデューサーとしての立場でサービスに関わることが増えてきました。そこでよく利用するようになったのが、「リラスプ」というフレームワーク(考え方)です。 このフレームワークを使うと、これまで無意識に使ってきた「お客さま」という言葉を明確に定義して使い分けられるようになります。それによって、立場の異なるお客さまのメリットの最大化について、想像力を働かせやすくなりました。とても便利な考え方ですので、ぜひ一度お試しください。 ■「リラスプ」とは? まず「リラスプ」という言葉の定義について、こちらの記事をご覧ください。 CGMサービスにおける4種類のお客さま「リラスプ」 [リ] Reader(読み手) サービスを利用する人。閲覧したりダウンロードしたり、ネット上のコンテンツを楽しむお客さま。 [ラ] Writer(書き手) サービス

    CGMを運営するときに意識する「リラスプ」というフレームワーク : LINE Corporation ディレクターブログ
  • なぜPHPのfgetcsv()はロカール依存という糞仕様なのか - moriyoshiの日記

    前から言われてる、これ。 (id:hnw さんも、もしかしたらこれは私が実装したということを知っていて自粛してるのかもしれないけど、そういう気遣いは不要です!) まあつまりですね、もともとfgetcsv()は「\」(0x5c) で次の文字をエスケープできるという割と不便な仕様になっていて、Shift_JISのようなエンコーディングは利用に難ありだったわけで。 で、一応 Shift_JIS が通らないという苦情は来ていて (特に Windows 版で) 、でも標準関数だから mbstring への依存を作るわけにいかない。というわけで C99 になっちゃうんだけど mbrlen(3) (か mblen(3)) を使うということにしたので、結果的にロカールに依存するということになったというわけですよ。 なので、Shift_JIS 使いたければ、libc の設定で利用可能ロカールの一覧に Shi

    なぜPHPのfgetcsv()はロカール依存という糞仕様なのか - moriyoshiの日記
    kamipo
    kamipo 2009/03/18
  • 内装はオフィスデザイン設計をすべき理由|こだわりたい!オフィスデザイン

    企業にとってオフィスデザインは重要な要素で、あらゆる部分に影響を及ぼします。適切なデザイン設計すれば、仕事効率をアップすることができます。 さらに家具を搬入するときも楽になるのでメリットは多いです。ただやみくもにデザインをしても、うまくいきません。また素材なども考慮しないといけないので、計画的にデザインを練る必要があります。 そこでどのようなデザインをすれば使いやすいオフィスになるのかを紹介しましょう。 オフィスデザインをすれば仕事効率をアップできます。例えば動線を確保することができるので、他のスタッフの通行の邪魔にならずスムーズな行き来をすることが可能です。 また家具を搬入するときも、すでに設置している家具の邪魔をせず置くことができるので便利です。オフィスデザインはやみくもにするのではなく、業態に合った設計をする必要があります。 例えば打ち合わせの多い会社なら、社員のデスクはつくらず自由

  • JOHO.BOO.JP 〜 Labs | MySQLで年齢計算

  • MySQL :: MySQL 8.0 リファレンスマニュアル :: 3.3.4.5 日付の計算

    MySQL には、年齢の計算や日付の一部の抽出など、日付の計算に使用できる関数がいくつか用意されています。 それぞれのペットが何歳なのかを判別するには、TIMESTAMPDIFF() 関数を使用します。 引数は、結果を表す単位と、差異を取る 2 つの日付です。 次のクエリーでは、各ペットの生年月日、現在の日付、および年齢が表示されます。 出力の最後のカラムラベルに意味を持たせるために、エイリアス (age) が使用されています。 mysql> SELECT name, birth, CURDATE(), TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age FROM pet; +----------+------------+------------+------+ | name | birth | CURDATE() | age | +----------

  • HTML でオートコンプリートをオフにする方法

    私は地方に住んでいる中年です。自然と酒精をこよなく愛していますが、最近は歳のためか酒に呑まれることが多いように感じます。 体調に気をつけながら、人生を楽しみたいものです。 今日はこんなへんぴなブログを覗いてくださり、ありがとうございます。少しでも楽しめる記事がありましたでしょうか? せめて暇つぶしにでもなれば幸いです。:-) ► 2017 ( 10 ) ► 7月 ( 1 ) ► 4月 ( 3 ) ► 3月 ( 2 ) ► 2月 ( 3 ) ► 1月 ( 1 ) ► 2016 ( 29 ) ► 8月 ( 2 ) ► 7月 ( 8 ) ► 5月 ( 4 ) ► 4月 ( 2 ) ► 3月 ( 4 ) ► 2月 ( 5 ) ► 1月 ( 4 ) ► 2015 ( 50 ) ► 12月 ( 1 ) ► 11月 ( 5 ) ► 10月 ( 2 ) ► 9月 ( 5 ) ► 8月 ( 5 ) ► 7月

    HTML でオートコンプリートをオフにする方法
  • FormのAutocomplete(オートコンプリート)無効化方法 - blog

    セキュリティを考慮したサイトでは、何らかのサービスにログインさせる時などに、テキスト入力フォームで、オートコンプリート機能をオフにしたい場合があると思う。 たとえば、共用利用されるようなPCでオートコンプリート機能により、自分のIDやパスワードがPCに保存され、個人情報が盗み見られたりするような事を、未然に防ぐことが可能だ。 企業サイトなんかでも、対応が分かれるところだが、大概はブラウザのオートコンプリート機能をOFFにする方法を示しているサイトが多いようだ。 実際の対応方法は、サイト運営側のセキュリティポリシーに依るところが大きいと思うのだが、いずれの方法をとる場合でも、ユーザーにセキュリティ上の課題があることを提示した上で、オートコンプリート機能をOFFにするように指定することを促したり、オートコンプリート機能が使えない旨を明示する必要がある。 つい先日、このオートコンプリート機能を無

  • にひりずむ::しんぷる - PerlからGmailで簡単にCCとかBCCとか添付ファイルメール送信するラッパー書いた

    最新版はgithubにありますのでそちらをどうぞ。(モジュール名かわってますが。。。) xaicron's send-gmail-simple at master - GitHub メールの送信 - モダンなPerl入門 - モダンなPerl入門 を見ながらEmail::Send::Gmailを使ってGmailからメール送信しようとしてみたけど、なんかようわからなかった。 CCが送れない Bccが送れない 添付ファイルがめんどくさい 添付ファイル送れたと思ったら壊れてた 下記みたいなコードを書いてみたけどCC入れると「Error sending email: Email::Send::Gmail: no valid recipients」とか。 CC入れなかったり、添付ファイル送らなかった場合はちゃんといける。 #!/usr/bin/perl use strict; use warning

  • git svnでsvn:externalなリポジトリの取得 - ちなみに

    は基的には出来ないそうです。 なんか昔のマニュアルにはそれらしきものがあるのだけれど、現在はgit svn show-externalsが残っているだけで、確認はできるものの自動でガガーっと取って来れて、submoduleになるなんてのは夢物語なのです。 # 実は出来たりするのかもしれないけれど、良く分からなかったし、 # Git使っている人の大半がSubversionも使えるので需要がないらしい。 # 新人類には厳しい現実だ。 ということでいろいろ調べていたのですが、結論としてexternalな部分に編集が必要ない場合は、個別にgit svn cloneしてきて、.gitignoreに加えておくのが良いみたい。 でもRailsプロジェクトなんかでプラグインが大量にexternalになっている場合は面倒だよ! ということを考えるのは僕だけではないようで、 http://github.c

    git svnでsvn:externalなリポジトリの取得 - ちなみに
  • ヤフーの日本語係り受け解析APIとサンプルプログラム「なんちゃって文章要約」

    ヤフーの日語係り受け解析APIとサンプルプログラム「なんちゃって文章要約」 2008-08-21-1 [WebTool][NLP][Programming][Algorithm] Yahoo!デベロッパーネットワーク(YDN)に 「日語係り受け解析Webサービス」が登場しました。 Yahoo!デベロッパーネットワーク - テキスト解析 - 日語係り受け解析 http://developer.yahoo.co.jp/jlp/DAService/V1/parse.html 「係り受けってなに?」という方もいると思うので、 以下、まったくもって厳密ではない、適当な解説を試みます。 (1) 日語をコンピューターで処理するには、 まず形態素解析というのをやって、 文を形態素(≒単語)単位に分割します。 YDN の「日形態素解析Webサービス」[2007-06-18-1] で試すことができ

    ヤフーの日本語係り受け解析APIとサンプルプログラム「なんちゃって文章要約」
  • Gitを使いこなすための20のコマンド | OSDN Magazine

    LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 LinuxカーネルやRuby on RailsPerlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。記事では、Gitを使いこなすために覚えるべき20個のGitコマンドを紹介する。 なお、Gitの基的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。

    Gitを使いこなすための20のコマンド | OSDN Magazine
    kamipo
    kamipo 2009/03/18
  • Macのlaunchdについて - おもしろwebサービス開発日記

    Macでatコマンドを使ったらなぜかうまくいかなくて、原因を調べたら、どうやらdaemonが起動していない模様。 atコマンドが使いたくなった。launchctl - fu7mu4の日記 設定は上記の記事の通りやったら動いたのですが、そもそもMac特有のlaunchdについてよく知らないことに気づいたのでざっくり調べてみました。 launchdの基礎 他のUNIXで使われているinitの代わり init, inetd, cron等の設定を共通化するために作られた*1 サービスごとに個別の設定ファイル(launchd.plist)に記述される。 initの代わりとして、PID1で動くlaunchdの他に、必要に応じて、ログインしているユーザごとにそれぞれユーザ向けlaunchdが動作する。 launchdの起動するサービス DaemonとAgentがある。 Daemon root権限での動作

    Macのlaunchdについて - おもしろwebサービス開発日記
    kamipo
    kamipo 2009/03/18
    init, inetd, cron等の設定を共通化するために作られた
  • RubyからPythonに移行した開発者の残尿感を下げる最良の方法 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー

  • 64ビットCPU(AMD64+EM64T)でアセンブラ

    プログラミングメモ 以下の記述はすべて、当方が学習する際の備忘録として書いているものです。 記述には間違いがあるものとお考えください。 内容に対する保証は行いませんし、内容についていかなる責任も負いませんので、 その旨をご了承いただいた上で、お読みください。 IEで表示させた時に画面レイアウトが崩れ、横方向のスクロールバーが出る場合があります。 こうなった時はリロード(更新)してください。

    kamipo
    kamipo 2009/03/18
  • はてなブログ | 無料ブログを作成しよう

    ベルギーに行った 先日、ベルギーに行きました。 マグリットの絵とルーベンスの絵を見るのが目的。 あまり時間もなく、ブリュッセルとアントワープを駆け足気味で巡ることに。 ミュンヘンから車で10時間近くかかり、なんでこんな無茶をしてしまったのかとも思いましたが、ヨーロッパの方…

    はてなブログ | 無料ブログを作成しよう
  • wordpress に memcached を使う手順

    手順を簡単に説明すると memcached をインストール memcached を起動 php に memcached のクライアントをインストール apache 再起動 object-cache.php を配置 こんな感じで出来ます。 というわけで順をおって詳細をば。 (下記はFedora8 x86_64 にインンストールしたのを説明しています) memcached をインストール 必要なライブラリ : libevent

    wordpress に memcached を使う手順
  • myfinder's blog: Q4Mを使うときにやってはいけない一つのこと

    ある日Q4Mを利用したシステムを運用していたところ、プログラマの方から 「Q4Mのテーブルが壊れたっぽいのだけども。。。」 との報告があり、状況を聞いてみた。 どうも、Queueに突っ込んだけども処理したくないデータがあったという理由で一部の行をDELETEしたとのこと。 で、早速DBを調べてみると、全部queue_waitで取り出したにも関わらず行数が0にならなかったり、 発行しているqueue_endが実行されずにずっとプロセスが残っていたりして大変カオスな状態になっていた。 (insertも止まっていた) その場ではMySQLを強制的に再起動して、tableやschemaをdropして再作成してもらうことでことなきを得た。 が、今日帰ってきてQ4Mのページを見て謎が解決。 Q4Mの「Limitations and Known Issues」に removal of multiple

    kamipo
    kamipo 2009/03/18
  • myfinder's blog: 人生に役立つかもしれないTokyo Tyrantについての知識

    タイトルはホッテントリメーカーから頂戴しました。 お仕事でmemcachedとかその周辺プロダクトを利用することとなり、memcached、Tokyo Tyrant、Flareのパフォーマンスを測ってみたときに発覚したことを書いておきます。 (前提条件:memcached client for Javaからmemcachedとかその互換プロダクトを利用する場合) まずはパフォーマンスの手っ取り早い指標として処理速度があげられるので、上記3プロダクトをセットアップして、下記のようなテストプログラムをそそくさとこさえました。 public static void main(String[] args) { // memcacheのインスタンス取得 SockIOPool pool = SockIOPool.getInstance(); pool.setServers(new String[] {

  • IEでメモリリークしてる箇所を検出しまくる方法 - hagino3000's blog

    JavaScript Memory Leak Detectorのver. 2が出てたのでリンク修正 前から気になっていたツールを実際に使ってみたのでメモ。 javascriptでメモリリークしている箇所の検出はJavaScript Memory Leak Detector、IEの使用メモリのチェックはProcess Explorerを使う。インストールはそれぞれ次のリンクを参照。どちらもwindowsの再起動はいらないって書いてあるけど、私は再起動しないと使えませんでした。 GPDE Team Blog : JavaScript Memory Leak Detector (v2) http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector_v2.aspx GPDE Team Blog : JavaScript Memor

    IEでメモリリークしてる箇所を検出しまくる方法 - hagino3000's blog
  • 大量に同じ画像を表示したいとき - os0x.blog

    画像周りの速度メモ - #生存戦略 、それは - subtechの件。 最終手段として、CSSを使う。 .hatenastar{ display:inline-block; width:11px; height:10px; background:url('http://s.hatena.ne.jp/images/star.gif'); } (function(){ var now = new Date*1; for (var i = 0; i < count; i++) { var span = document.createElement('span'); span.className = 'hatenastar'; container.appendChild(span); } document.title += ' css:' + ((new Date*1) - now); })();

    大量に同じ画像を表示したいとき - os0x.blog
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Re URLを扱うテーブルを作るときにどうすべきか - kazuhoのメモ置き場

    数日前、 pathtraqの事例を詳しく知りたい URLを扱うテーブルを作るときにどうすべきか - 金利0無利息キャッシング – キャッシングできます - subtech に対し、 pathtraq は前方一致検索が必要だから算術系圧縮して varbinary(767) だけど、順序の維持が不要ならハッシュのが速いはず はてなブックマーク - kazuhookuのブックマーク / 2009年3月11日 と書いた件について。 ハッシュ値を使えるべきケースでは使うべきってのは、まあ間違いではないけれども、常にそうかというと微妙だなと思わないわけでもないわけであり。mala さんに対しては今更言うまでもないような気がするけど、なんか自分の頭の中がもやもやしてるので、まとめてみる。 気になる点としては、まず、disk I/O の回数。RSS リーダーのようなケースでは、「あるフィードの、特定時点以

    Re URLを扱うテーブルを作るときにどうすべきか - kazuhoのメモ置き場
    kamipo
    kamipo 2009/03/18
  • MySQLのプロンプトを変更する。

    MySQLのCLI(コマンドラインインターフェイス)を利用しているとおなじみの mysql> というプロンプトがあるが、実はこれは変更が可能である。MySQL CLIを利用している最中なら、promptコマンドを実行すれば良い。例えば次のように。 mysql> prompt \U [\d] >\_ PROMPT set to '\U [\d] >\_' mikiya@localhost [test] > \Uや\dはそれぞれ意味が決まっていて、それらを組み合わせることで任意の情報をプロンプトに表示できるわけである。見易いように > やスペース、括弧などを組み合わせるといいだろう。例えば何かの作業をするときには mysql> prompt 作業1 [\D]>\_ PROMPT set to '作業1 [\D]>\_' 作業1 [Tue Mar 17 07:39:28 2009]> などとする

    MySQLのプロンプトを変更する。
    kamipo
    kamipo 2009/03/18
    毎回プロンプトを指定するのが面倒だ!という人は$HOME/.my.cnfなどの設定ファイルにお気に入りのプロンプトを書いておくといいだろう。
  • vimで矩形選択範囲の操作がわからん。 - あんにんにっき。

    vimでCtrl-vとやると、矩形の範囲選択ができる。 その範囲内だけで置換をやりたいのだけども、なんだかうまくいかない。 矩形のある、行の範囲が置換されてしまう。 実は、前に一度それにたいして対応した事があったのだけども、やり方を忘れてしまっていてどうやれば矩形範囲だけ置換できるか思い出せなくて困っている。 結局別の方法(EXCELつかった(^^;)で回避したのだけども、やり方を忘れているのがどうにも気持ち悪くていかん。 いい方法を一度見つけたら、自分で検索可能な形にしておいておかないとだめなんでしょうね。ここの日記にかいておくとか。

    vimで矩形選択範囲の操作がわからん。 - あんにんにっき。
    kamipo
    kamipo 2009/03/18
    :'<,'>s/\%V.../.../
  • MACアドレス偽装

    ここでは、MACアドレスを偽装することにより、MACアドレスで接続の制限をしているホストに 接続する手法を紹介します。 MACアドレスとは、NICに割り振られる固有のID番号であり、重複する事は無く、 そのNICに割り振られたMACアドレスは世界で1つの番号になります。 MACアドレスは、ifconfigコマンドなどを打てば、確認することが可能です。 例えば、eth0のMACアドレスを調べたい場合は、以下のようにします。 # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:01:80:00:00:00 inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX pa

    kamipo
    kamipo 2009/03/18
    ifconfig eth0 hw ether 00:11:22:33:44:55
  • Linuxでやる夫: やる夫がapacheのコネクション数を調べるようです。

    apacheのコネクションについて 急にアクセス数が増えて、サービス中のサイトが重くなることがあると思います。単にアクティブユーザ数が増えた・・・または、スパムが襲撃してきた等原因は様々ですが、リアルタイムでのapacheの稼動状況を調べる方法があります。 ____        /::::::::::  u\         /:::::::::⌒ 三. ⌒\    あれ?     /:::::::::: ( ○)三(○)\       サイトおもくね・・・?     |::::::::::::::::⌒(__人__)⌒  | ________      \::::::::::   ` ⌒´   ,/ .| |          |     ノ::::::::::u         \ | |          |   /:::::::::::::::::      u       |

  • レコメンデーションエンジンCicindelaをインストールしてみた - aike’s blog

    昨年末にライブドアからレコメンデーションエンジンCicindelaがオープンソースとして公開されました。http://labs.edge.jp/cicindela/ Cicindelaのインタフェースをめちゃくちゃ簡単に言うと、「整数を入力したら整数のリストを返す関数(WebAPI)」です。例えば今見てる商品のアイテムID(整数)を入力すると、その商品の購入者が他にも買った商品群のアイテムIDリストを返すような感じ。ここまでシンプルになっているため、ウェブサイト体側のデータベースは変更せず、わずかなロジック追加のみで組み込むことができます。 また、カスタマイズ次第で、アイテムIDの代わりにユーザIDを渡したり、カテゴリーIDを渡したり、あるいは文字列IDでも整数変換する仕組みが用意されていたり、といろいろできるみたいです。 1. Cicindelaインストール 以下はUbuntu8.04

    レコメンデーションエンジンCicindelaをインストールしてみた - aike’s blog
  • Class::Accessor::Fast::XSのベンチを取ってみた - とほほのN88-BASIC日記

    Class-Accessor-Fast-XS-0.04 - XS replacement for Class::Accessor::Fast - metacpan.org Mooseブームも一段落したところでこんなん出てたからベンチ取ってみた。 package ClassAccessor; use strict; use warnings; use base qw/Class::Accessor/; __PACKAGE__->mk_accessors(qw/foo bar/); package ClassAccessorFast; use strict; use warnings; use base qw/Class::Accessor::Fast/; __PACKAGE__->mk_accessors(qw/foo bar/); package ClassAccessorFastXS;

    Class::Accessor::Fast::XSのベンチを取ってみた - とほほのN88-BASIC日記
    kamipo
    kamipo 2009/03/18
  • peer-to-peer $B$NJ}$+$iMh$^$7$? (B (key-value store $BJY6/2q (B, February 20, 2009)

    $B 2009 $BG/ (B 2 $B7n (B 20 $BF| (B key-value store $BJY6/2q (B $B%9%i%$%I (B: shudo-keyval-20090220.pdf (PDF $B%U%!%$%k (B, 690 KB) $B4XO";qNA (B: $B%*! $B%&%'%V%Z! (21 pages, HTML) scale out $B$N5;=Q (B $B!A (B consistent hashing $BJT (B: $B%&%'%V%Z! (45 pages, HTML) PlanetLab $B$N $B%&%'%V%Z! (36 pages, HTML) consistent hashing $B$J (B key-value store Overlay Weaver $B%5!

    kamipo
    kamipo 2009/03/18
  • ソーシャル名刺「Poken」日本上陸--対面のプロフィール交換を簡単に

    欧州で人気のプロフィール交換ツール「Poken」が日でも発売された。自分のプロフィール、ブログのURL、Twitter、FacebookのIDなどを登録しておくと、お互いのPokenをかざすだけでそれらの情報を交換することができる。使用レポートはこちら。 Pokenには小型のセンサーとUSB端子が内蔵されている。このセンサー同士をタッチすると、お互いの端末IDが交換されたという情報と、交換された時刻が記録される。この行為を「Pokenする」という。あるいはPokenのキャラクターが4指であることから、「ハイフォーする」ともいう。 まだこの段階ではPokenした相手とプロフィールは交換されていない。交換するには、PCのUSB端子に接続し、Pokenのサイトにアクセスする。そこで自分のプロフィールを登録すると、Pokenした相手に自分のプロフィールが公開される。相手もプロフィールを登録する

    ソーシャル名刺「Poken」日本上陸--対面のプロフィール交換を簡単に
    kamipo
    kamipo 2009/03/18
    これは欲しいかもしれん
  • PHPでメモリ上に一時ファイルを作る - hnwの日記

    blog.plastik.jp » PHP5 の fgetcsv() で読み込み内容が腐る現象」という記事を読みました。fgetcsv()だとSJISのCSVファイルがうまく読めないので、UTF-8に直してテンポラリファイルに保存してfgetcsvで読み込む、という筋書きのようです。 ちゃんとtmpfile()を使っていたりしてナイスなコードだと思います。でも、すぐ不要になるデータをディスクに書き込むのはイマイチじゃないでしょうか。ここはメモリに書いた方がカッコいいと思うんです。僕なら下記のようにします。 <?php $data = file_get_contents("example.csv"); $data = mb_convert_encoding($data, "UTF-8", "Shift_JIS"); $fp = fopen('php://memory', 'r+'); fw

    PHPでメモリ上に一時ファイルを作る - hnwの日記
  • Ruby on RailsによるDiggクローン·Riggit MOONGIFT

    ではいまいち流行りきらないソーシャルニュースサイト。ブックマークサービスくらいのが気軽で良いのかも知れないが、あるニュースソースに対してコミュニケーションをしようと思うと、ブックマークではちょっと物足りない感がある。 Ruby on RailsによるDiggクローン アメリカでは最も有名なDigg.comがある。そのクローンソフトウェアがRiggitだ。 今回紹介するオープンソース・ソフトウェアはRiggitRuby on Railsで作られたDiggクローンだ。 RiggitはDiggと非常に良く似たインタフェースになっている(中国圏のソフトウェアなのと関連しているのだろうか)。ポピュラーな記事、最新の記事、熱い記事などといった基準で並び替えられる。 新規ストーリー追加画面 記事はDiggボタン(あれ?)を使って投票ができたり、コメントを残すことができる。タグクラウドでデータを管理

    Ruby on RailsによるDiggクローン·Riggit MOONGIFT
  • 項目ごとに並び替えができるRuby on Rails製Wikiエンジン·Wiki on Rails MOONGIFT

    実は2月28日から3週連続のWikiエンジン紹介だ。そう、今日もウィキサタデーからはじまりだ! Wikiというと、一般的にページ全体の編集を行うものが多かった。が、利用範囲が多くなってくると一ページの情報量が多くなり、編集するたびにページ全体を対象にするのが重たくなってきた。そのため、パラグラム単位で編集できるWikiエンジンが登場した。 日製のRails Wiki そしてさらにその一歩発展版が登場した。しかも日製、さらに言えばRuby on RailsのWikiエンジンだ。 今回紹介するオープンソース・ソフトウェアはWiki on Rails、日製のシンプルなWikiエンジンだ。 Wiki on Railsはその名の通り、Ruby on Railsで作られている。Pukiwikiの記法に則って作られているので、恐らく違和感なく使えるはずだ。面白いなと思う機能はパラグラフごとの編集と

    項目ごとに並び替えができるRuby on Rails製Wikiエンジン·Wiki on Rails MOONGIFT
  • Openpear

    Openpear is a PEAR Repository Channel and Subversion Hosting Service. since November 2008 以前からお使いですか? 以前の Openpear をお使いだった方は、以下のコマンドを実行する必要があります pear channel-update openpear.org チャンネルを登録する pear channel-discover openpear.org 利用可能なパッケージをリストする pear remote-list -c openpear パッケージをインストールする pear install openpear/package_name バージョンや安定性を指定してパッケージをインストールする pear install openpear/package_name-1.0.0 pear insta

  • Mockingbird - Sharing your browsing life!

    Mocingbird is an addon for Mozilla Firefox that allows sharing your tab browsing with your friends.Mockingbird は、ブラウジングを共有する拡張機能とウェブサービスです。 拡張機能をインストールするだけで、友達・恋人・家族たちと、リアルタイムにブラウジングを共有することができます。 >> デモムービーを見る ※現在は alpha 版の公開のため、同時ログイン可能人数に制限があります。 ※ご利用に関するガイドはMockingbird 導入ガイド をご覧ください。

  • Windows歴8年の俺がiMac使い始めてみたときのメモ(Re: OSX歴2年の俺が Mac OSX Leopard に入れておくと便利なソフトをまとめてみた) - 肉とビールとパンケーキ by @sotarok

    そんなわけで、唐突にまかーになってしまったsotarokから、いろいろ教えてくれたみんなにお礼のエントリです。 経緯 メイン機として使っていたWindowsが起動しなくなった 電源ボタンおしても反応ナシだったから電源があやしいとおもって電源ユニットかってきた うごかないからフロントからマザーへのスイッチケーブルもかってきた うごかないからやっぱりマザーが死んでいると判定 よりによってそのマザーは九十九で購入。つか半年前にかったばっかりだぞ・・・ まぁもうゲームもめっきりしなくなったからな・・・ 「またマザーかうんざりだ」「ゲームもしないし」「つかまかーうらやましす」「つか早く環境整えないと仕事とかいろいろやばいんじゃね」「学割+iPodいっしょに買えばキャッシュバック」で、即iMac購入 「みんなーMacにいれたらいいソフトおしえてー!」 いっぱいかいてくれた。みんなありがとーぶわっ An

  • Cyberduck使い方

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