タグ

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

  • 半年間で LeetCode の問題を300問解いてみて(※) - Studio3104::BLOG.new

    とは言ってみたものの実際にはちょうど1年前くらいからやってました。始めてからすぐ Premium 買ってたので。 うおお、LeetCode の Premium が Expire していた、、— Satoshi SUZUKI (@studio3104) December 11, 2020 ではなんで「半年間で」なのかというと、今年の前半は英語の勉強をがっつりやってたので英語仕事以外のことは何もしてなかったから。 そして300問はまだいってないんだけど、英語漬けから空けた6月アタマから数えて半年経過の今月末には300問いくだろうという見込みがあるということでタイトルはこのようにした。 1年間で LeetCode の問題を290問解いてみて ということで改めて。@sugyan と @fushiroyama *1 に影響されて始めたんだが、続ければ続くものですね。 自分は "コードの書けないイン

    半年間で LeetCode の問題を300問解いてみて(※) - Studio3104::BLOG.new
    clavier
    clavier 2020/12/17
  • 大物 alter table の途中で Lost connection to MySQL server during query が発生したときに確認したいこと - Studio3104::BLOG.new

    5時間モノの alter table が Lost connection to MySQL server during query したんだけど show processlist するとまだ動いてるっぽいから放置しとけば完遂するのかなと思ってるんだけど大丈夫だろうか、、、 2015-03-30 16:47:05 via Twitter for iPhone とりあえず show processlist してまだ動いてるっぽかったら、datadir 配下で #sql-xxxx_xxxxx.ibd な名前のファイルが育っているかどうか確認する。 タイムスタンプが更新されていればテンポラリテーブルへのデータコピーが生きてるということになるので、あとは show processlist を監視して終わるのを待てば良い。 で、終わったっぽかったら show create table を確認して変更が

    大物 alter table の途中で Lost connection to MySQL server during query が発生したときに確認したいこと - Studio3104::BLOG.new
  • ゆるく `my.cnf` の比較などが出来る gem を作った - Studio3104::BLOG.new

    複数の my.cnf を比較して差異を知りたいが、通常のファイル同士の比較(diff) ではわかりにくいしそもそも知りたい情報を得るのはつらい。 ということがあり作成していた書き捨てのスクリプトがあったのだが、整理してテストまで書いて rubygems に放流した。 mycnf | RubyGems.org | your community gem host studio3104/mycnf · GitHub mycnf.gem 機能概要 parse my.cnf のファイルパスをわせると parse して hash を返す generate 上記の parse のフォーマットの hash をわせると my.cnf を文字列で返す compare 上記の parse のフォーマットの hash を複数わせると、比較しやすいフォーマットで hash を返す (ファイルパスを複数わせて

    ゆるく `my.cnf` の比較などが出来る gem を作った - Studio3104::BLOG.new
    clavier
    clavier 2015/02/23
    ゆるく `my.cnf` の比較などが出来る gem を作った - Studio3104::BLOG.new
  • sinatra ですぐにアプリケーションの実装に入れるようにするための準備 - Studio3104::BLOG.new

    背景 自分が仕事で書く WEB アプリケーションは多くの場合が小粒で、何か書く場合には sinatra を使っています。 さらにテンプレートエンジンは slim で、ビューが必要な場合は twitter bootstrap を使って書きます。 で、新規で何か書き始める時に、それっぽいディレクトリ構成を作って、twitter bootstrap とか jquery とかをダウンロードして解凍してそれっぽいところに設置してー(もしくは既存プロジェクトをディレクトリごとコピーしてきて要らないファイル消してネームスペース変更してー)、とかっていうローテクな感じのことを毎回手動で行っていて、すっと実装に入れない!めんどくせー!ってなることが多いので、いったん整備してみました。 studio3104/ore-no-sinatra-skelton · GitHub 構成 javascript/css

    sinatra ですぐにアプリケーションの実装に入れるようにするための準備 - Studio3104::BLOG.new
  • MySQL Casual Talks vol 6.でNata2について発表してきた - Studio3104::BLOG.new

    MySQLのスロークエリログを一覧したりサマライズしたり出来るNata2というツールを作ったので、MySQL Casual Talks vol.6で発表させてもらった。 id:oranieさんが早速試してみてくれて、書いてくれたブログエントリにたくさんのブクマがついて大変にありがたい限りです。 MySQLのslow query logを可視化するnata2が大変便利そう - iをgに変えるとorangeになることに気づいたoranieの日記 使い方などをもう少し詳しく 発表当時はドキュメントがまったくなくて大変に雑な感じだったり、発表で説明しきれなかった部分もあったので、ここで改めて少し詳しい解説をします。 Nata2とは パーズされたスロークエリログをHTTP Postで登録し、件数グラフ、スロークエリログの履歴、mysqldumpslow相当のサマライズなどの表示が出来るウェブアプリケ

    MySQL Casual Talks vol 6.でNata2について発表してきた - Studio3104::BLOG.new
  • fluent-plugin-graphite を書いたよ - Studio3104::BLOG.new

    graphite にメトリクスをポストする fluent-plugin を書きました 先に github で公開されていた fluent-plugin-graphite がありましたが、イチから書いて gem release いたしました https://github.com/studio3104/fluent-plugin-graphite http://rubygems.org/gems/fluent-plugin-graphite なぜイチから書いたのか 以下のような箇所に懸念があり、修正だと結局まるっと書き直すのと変わらないと思いイチから書いてしまいました 先行プラグインは、 Fluent::BufferedOutput を継承し、内部でサンプリングやカウントなどの計算をしていたが、そういうのは他のプラグインに任せて、来た値をそのまま投げてあげればいいのではないかと思った レコード

    fluent-plugin-graphite を書いたよ - Studio3104::BLOG.new
  • Percona Cloud Tools を試した - Studio3104::BLOG.new

    インストールや設定などは、pt-agent のドキュメントの通りに進めれば難なくこなせるはずですので割愛します。 感想 以下の点などを加味して考慮した結果、思っていたほどいいモノではないような気がしました。 ざっと使ってみただけなので誤っている点などあるかも知れませんが、ご容赦を。 「ここちがうよ!」「こうすればもっといいよ!」みたいなのよろしくお願い申し上げます。 pt-agent というエージェントを root 権限で動かさなくてはならない pt-agent の設定は、Percona Cloud Tools の WEB 画面からも設定変更を行えます。 例えば以下画像だと、How often to report のところをいじるとサーバ上にある cron のファイルが書き換えられます。 インターネットから操作するのに root 権限あげちゃうのか、、、って感じ。 [追記] root じゃ

    Percona Cloud Tools を試した - Studio3104::BLOG.new
  • serverspec の実行をラップする Houcho というツールを作りました。 - Studio3104::BLOG.new

    使い方はgithubのREADMEと、コマンドのヘルプにだいたい書いてあります。 https://github.com/studio3104/houcho どういうツール? serverspecの実行対象とspecの組み合わせを定義し、どのように管理、実行するかというところを解決するツールです。 atnodesのようにspecと対象ホストを引数に与えて実行させることも出来ますし、独自のロールを定義しておいてそれを実行させることも出来ます。 多くの場合サーバの情報はすでに他のシステムやファイルなどで管理されていることが多いかと思いますが、CloudForecastの設定からホストグループを作成して、それをhouchoで作成した独自のロールにアタッチすることも出来ますので、CloudForecastをお使いの環境においてはロール管理を多重にしなくてはならないということがなくなります。 Clou

    serverspec の実行をラップする Houcho というツールを作りました。 - Studio3104::BLOG.new
  • chef-xbuild を作った! - Studio3104::BLOG.new

    サーバーのセットアップは perlbrew とかじゃなくてよくね? という時のライフハック - blog.64p.org 番環境でのperl/ruby/nodeのセットアップ - tagomorisのメモ置き場 番環境で使う LightweightLanguages を **env とかで入れるのはアレだよね。な流れに乗ってそういう環境を作る Chef の Cookbook を書きました。 作ったとは言っても、tagomoris/xbuild · GitHub をそのまま cookbook に書き換えた、という感じです。 chef-xbuild https://github.com/studio3104/chef-xbuild お気軽にお試しいただけます。 Ruby 実行環境があり、Virtualbox がインストールされていれば、簡単に試していただくことが出来ますのでご興味を持たれま

    chef-xbuild を作った! - Studio3104::BLOG.new
  • mysqldのファイルディスクリプタ数 - Studio3104::BLOG.new

    新規のMySQLサーバの設定をしていて、弊社に伝わる秘伝のタレ的なマニュアルを見ていたらこんな記述があった。 /etc/security/limits.conf編集 以下を追記 「* soft nofile 8000」 「* soft nofile 8000」コレって意味あるのかなぁとふと思ったので調べてみましたのでまとめ。 (ほとんど教えてもらった。@yoku0825++ @sh2nd++ @fujiwara++ @h141gm++) 結論から言うと、rootがmysqld_safeでmysqldを起動させる場合は意味をなさないということがわかりました。 もうこのマニュアルは捨てちゃおうと思いました。ひどい! ※エントリは、MySQL5.5(InnoDB)、CentOS5.8環境下において検証しております。お使いの環境によってはオプション名などがそのまま当てはまらないことがありますので

    mysqldのファイルディスクリプタ数 - Studio3104::BLOG.new
  • 1