タグ

ブックマーク / itchyny.hatenablog.com (6)

  • ptraceシステムコール入門 ― プロセスの出力を覗き見してみよう! - プログラムモグモグ

    他のプロセスを中断せずに、その出力をミラーリングして新しくパイプで繋ぐ、そんなことはできるのでしょうか。 straceやgdbといったコマンドは一体どういう仕組みで動いているのでしょうか。 ptraceシステムコールを使い、プロセスが呼ぶシステムコールを調べて出力を覗き見するコマンドを実装してみたいと思います。 ptraceシステムコール Linuxを触っていると、いかにプロセスを組み合わせるか、組み合わせる方法をどれだけ知っているかが重要になってきます。 パイプやリダイレクトを使ってプロセスの出力結果を制御したり、コードの中からコマンドを実行して、終了ステータスを取得したりします。 プロセスツリーやプロセスグループを理解し、シグナルやnohupコマンドを使ったりします。 プロセスの扱いに慣れると疑問に持つのがstraceやgdbの仕組みです。 プロセスの実行しているシステムコールを出力し

    ptraceシステムコール入門 ― プロセスの出力を覗き見してみよう! - プログラムモグモグ
    iww
    iww 2017/07/31
    『システムコール番号が前から変化したときにenter-stopだと判定するようにしました。』 なるほどそんな手が。 よくわかんないから決め打ちで交互にしてたんだよな
  • シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ― Webアプリケーションが複雑化する中でプロファイラに求められるものとは何か - プログラムモグモグ

    あらすじ Web技術が複雑になる中で、JavaScriptのプロファイリングをとる方法とは。 プロファイリングを取るためのコードを手で書いてみましょう。 とてもシンプルで、かつ最高のJavaScriptプロファイラ sjsp を作りました。 当にあった怖い話 上司 「とにかくJavaScriptのコードを速くしてくれ」 私 「分かりました、速くします」 (次の日) 私 「いいプロファイラがないなら作ればいいじゃない」 同じチームの人 「えっ?」 私 「最高のJavaScriptプロファイラ作ったよ」 同じチームの人 「「えっえっ???」」 私 「早速使ってみたらこことここが遅いって分かったよ」 同じチームの人 「「「この子は一体…」」」 JavaScriptのプロファイリングの難しさ 近年、Webブラウザーの処理速度は著しく向上し、その可用性の高さから、アプリケーションのプラットフォーム

    シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ― Webアプリケーションが複雑化する中でプロファイラに求められるものとは何か - プログラムモグモグ
  • mplayerというソフトが素晴らしすぎて困る - プログラムモグモグ

    いいソフトというのは客観的な基準は無い。趣旨にも依るが、ソフトというのは基的に道具であり、道具は人を選ぶ。つまり、人のおすすめソフトがあなたに合うとは限らないということだ。 以上のお断りをご理解していただいた上で、mplayerというソフトの素晴らしさを伝えたいと思う。 まず、mplayerというのはメディアプレイヤーだ。と言うと、類似のソフトはいくらでもあげられるだろう。音楽特化のソフトも含むが、少しばかり挙げてみよう。 Windows Media Player iTunes foobar2000 GOM PLAYER Winamp VLC Media Player SMPLayer それぞれが個性があり、どれが良いとはひとつの軸では語れない。これを読んでる人なら、イチオシのプレイヤーソフトがあるだろう。 音楽を管理するにあたって、頭が痛くなるのはプレイリストだ。OSを入れ替えるとそれ

    mplayerというソフトが素晴らしすぎて困る - プログラムモグモグ
    iww
    iww 2013/10/22
    mplayerを起動するとコマンドラインがおかしくなる
  • 色つき猫 - プログラムモグモグ

    catコマンドってどうも寂しい. ソースコードをcatしても, エディターのシンタックスハイライトになれた目には, どうも見難い. そこで, 色つきでcat出来るのないかなぁって調べてたら, 案の定すぐに見つけた. Are there any options to let cat output with color? Pygmentizeってのを使えばいいっぽい ってことで, インストールしよう! $ sudo easy_install Pygments Password: Searching for Pygments Reading http://pypi.python.org/simple/Pygments/ Reading http://pygments.org/ Reading http://pygments.pocoo.org/ Best match: Pygments 1.4

    色つき猫 - プログラムモグモグ
  • createObjectURLがすごい件 - プログラムモグモグ

    最近またLocal Player (Chrome Player)を実装しなおしています. 一応説明しておくと, Local Playerは, 完全にローカルで動作する音楽プレイヤーです. シンプルさを求め(実装がめんどくさいだけ), 操作しやすく(これは大事), 良い感じのプレイヤーです. 半年前に, ソースコードがスパゲッティになって, 開発を中断していましたが, 最近また書きなおし始めたのです. 音楽プレイヤーをブラウザー上で実装するのには, 音楽ファイルをJavaScriptで読み込まなければなりません. そこでHTML5ですよ!!! <audio src="url/to/musicfile.mp3" type="audio/mp3" /> みたいな感じで, 音楽を再生できます. 詳細は他のページに譲ります. さて, 音楽ファイルを再生するには, ローカルファイルからurlをaudi

    createObjectURLがすごい件 - プログラムモグモグ
  • JavaScriptで配列の結合を"+"で書きたい. - プログラムモグモグ

    やりたいことはタイトルのとおり. 要はオーバーロードしたいお... ※※※※ こういう願いは既出であること間違いないっ, ※※※※ よってここに書いてること, あるいは ※※※※ さらにエレガントな事がどっかに書かれてるかもしれないっ!!! とりあえずECMA-262を読んでみる. [p.74] 11.6.1 The Addition operator(+) 読むのがめんどくさいが, 要はReturn the String that hogehogeか, ToNumber(左辺)とToNumber(右辺)の和を返すことしかできない. オーバーロードとかできねーーーー (配列を返せない) んじゃ, 汚いけど, String介してやればいいか...??? > Array.prototype.toString = function(){return this.join(',') + ','} [

    JavaScriptで配列の結合を"+"で書きたい. - プログラムモグモグ
  • 1