タグ

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

  • Goのロギングライブラリ 2021年冬 - moriyoshiの日記

    この記事はPySpa Advent Calendar 2021の14日目のエントリーとして書かれました。昨日のエントリーは冷凍品でウキウキ引きこもり生活 でした。ちなみに私も70ℓの冷凍庫を購入しましたが当にライフチェンジングでした。 総論: なぜログが必要か 可観測性 たとえ目的は自明でも、その動作までが自明なアプリケーションというものはほぼ存在しません。現実の世界のアプリケーションというものは、動作パラメータだったり実行環境だったり、起動時点でのさまざまな要因によって挙動を変えるものだからです。そして、そうしたアプリケーションにはライフサイクルというものがあります。ここでいうライフサイクルは、アプリケーションの処理が実行されるにつれ、アプリケーションの内外との情報のやりとりで生じる大局的な状態の変化のことです。アプリケーションが並行処理を行うようなものであれば、個々の並行処理の単位

    Goのロギングライブラリ 2021年冬 - moriyoshiの日記
    Yoshiori
    Yoshiori 2021/12/15
  • FFmpegで動画編集をするガイド - moriyoshiの日記

    こんにちは。年末になり、ますますコマンドラインで動画編集をする機会が増えてきているかと思いますが、皆様いかがお過ごしでしょうか。普段触れていないとついつい忘れてしまうffmpegのオプション群。そんなあなたのためのチートシートです。 基礎編 トランスコーディング ffmpeg -i input.mp4 -c:v libx264 -preset medium -c:a libfdk_aac output.mp4 または ffmpeg -i input.mp4 -vcodec libx264 -preset medium -acodec libfdk_aac output.mp4 解説 -c:v オプションは映像コーデックを、-c:a は音声コーデックを指定する。古くはそれぞれ -vcodec -acodec というオプションであった。両者は等価である。 -preset は libx264 の

    FFmpegで動画編集をするガイド - moriyoshiの日記
    Yoshiori
    Yoshiori 2015/12/18
    アニgif 作る ffmpeg -i in.mp4 -an -r 5 -s 360x640 -pix_fmt rgb24 -f gif out.gif とかも是非
  • ロシアでは - moriyoshiの日記

    別れの時にNginxのモジュールを贈るのが習わしとなっていますので、作りました. https://github.com/moriyoshi/ngx_ymsr_module nginxをビルドするときに、 $ ./configure --add-module={ngx_ymsr_moduleのパス}を指定してあげればOKです。 id:Yamashiro0217 を偲ぶパスを心に決めてください。 あとは、 location / { ymsr on; }そのURLにアクセスしてください。 moriyoshi@chicwab ~% curl -vv http://localhost/ * About to connect() to localhost port 80 (#0) * Trying 127.0.0.1... * connected * Connected to localhost (1

    ロシアでは - moriyoshiの日記
    Yoshiori
    Yoshiori 2014/02/17
  • グリー株式会社を退職していました - moriyoshiの日記

    グリー株式会社を退職していました。2006年12月29日が最終出社日でした。 最終日は例年を上回る寒さでしたが、六木は晴れ、抜けるような空の青さが印象的でした。有給を消化するはずが、結局最後まで吉田くんが手がけていたお正月特集の仕掛けに時間を費やしていたので、当にここで出社しなくなるのだろうか、と自問するほどでした。 在職期間は契約社員時代も含め1年半とちょっと短かったのですが、その中でもたくさんのことを経験することができました。サイトの初リニューアル作業に始まり、DBの最適化、出たばかりのSennaを使った全文検索システムや画像サーバクラスタの構築など、責任のある仕事を丸ごと任せてもらえたのは大きかったです。一緒にやっているメンバーには、自分のささいなミスでたくさん迷惑をかけました。ごめんなさい。 一方で、何か大きな成果を残すことができたかというと、謙遜ではなく、あまり胸を張れるとこ

    グリー株式会社を退職していました - moriyoshiの日記
    Yoshiori
    Yoshiori 2012/04/01
  • ■ - moriyoshiの日記

    inspired by this

    ■ - moriyoshiの日記
    Yoshiori
    Yoshiori 2011/12/26
    もっとヒドかったwwwww
  • 俺とPHP - moriyoshiの日記

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

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

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

    なんで PHP をつかいつづけるのか - moriyoshiの日記
    Yoshiori
    Yoshiori 2011/02/03
    元ネタのブクマ数越えてるwww http://d.hatena.ne.jp/tokuhirom/20110201/1296555516
  • Python の文法だけを Ruby っぽくしてみたらどうなるか実験した - moriyoshiの日記

    こんにちわ、あらびきプログラマー moriyoshi です。 Python が生理的に嫌いな人からよく聞く話として「インデントでブロック構造を表す」ってのがありますね。じゃあ中身はそのままで文法だけ Ruby っぽくしたらどうなるんでしょうかね。Python はトークナイザもパーサも簡単に書き換えられるので、試してみましょう。 例えば次のようなプログラムは class Boo(object): def foo(hoge): try: for i in hoge: with i: if i.fuga: while True: j = i.fuga() if not j: break print j + 2 except HogeException: pass else: pass finally: pass こんな風になってしまうわけです。ああ怖いですね。 class Boo(object)

    Python の文法だけを Ruby っぽくしてみたらどうなるか実験した - moriyoshiの日記
  • 「パッチを当ててやってもいいんだぞ、お前が嫌なら」 - moriyoshiの日記

    PHP では以下のように new してすぐメソッドを呼べない <?php new DateTime()->getOffset(); PHP で引数をそのまま返す関数を作っておくと便利 PHP はどうせマジメな言語ではないので自分用に作り替えるくらいが丁度いい。 以下 diff↓

    「パッチを当ててやってもいいんだぞ、お前が嫌なら」 - moriyoshiの日記
    Yoshiori
    Yoshiori 2009/08/05
    PHP はどうせマジメな言語ではないので自分用に作り替えるくらいが丁度いい。/ このへんが moriyoshi に愛される所以か!!
  • 同じ文字列のn回繰り返しを作る最速の方法を探求してみた - moriyoshiの日記

    注意: FF3.1b2の結果が不正確です。取り直したのはこちら。 ちょっとした事情により、ある文字列のn回繰り返しを作る関数 (PHPでいうところのarray_repeat(), Perlで言うところの「"..." x n」、RubyPythonで言うところの「"..." * n」) を高速に実装しなければならない状況に遭遇したのでベンチマークをとってみたところ、その結果がとても新鮮で驚いたので、これを共有しつつもダメ出ししてもらえないかなーと思って晒してみることに。 あらまし JavaScriptの文字列型 (およびStringオブジェクト) はJavaのようにイミュータブルなので、こういう文字列構築を行う方法としては、以前から、+や+=演算子を用いるよりも、一旦Array()に入れておき最後にjoin()するという方法が有効だと言われていてですね、まあ確かに、文字列用メモリ領域の確保

    同じ文字列のn回繰り返しを作る最速の方法を探求してみた - moriyoshiの日記
    Yoshiori
    Yoshiori 2009/01/28
    ところが最近は、JSエンジン競争の結果、事情が変わってきているという話をちらほら耳にするようになりました。
  • 1