タグ

ブックマーク / blog.shibayu36.org (7)

  • PostgreSQLでSQLチューニングや障害状況調査に使ったクエリ達まとめ - $shibayu36->blog;

    最近PostgreSQLSQLチューニングや、DBが詰まった時の状況調査をいろいろやった。その時に便利だったクエリ達をまとめていく。PostgreSQLのバージョンは9.6系です。 SQLチューニングなどに便利だったクエリ達 それ以降に実行するSQLの実行時間を表示する。参考 https://morumoru00.wordpress.com/2011/05/08/postgresql-sql%E5%87%A6%E7%90%86%E6%99%82%E9%96%93%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B%EF%BC%88timing/ \timing 実際にクエリを実行して実行計画や実行時間を表示する。クエリが実行されるので破壊的な操作も実行されてしまうことに注意。トランザクション張って最後にROLLBACKしましょう。参考 https://www.post

    PostgreSQLでSQLチューニングや障害状況調査に使ったクエリ達まとめ - $shibayu36->blog;
    south37
    south37 2018/04/09
  • Javaの文字列の長さを判定するには - $shibayu36->blog;

    自分の頭を整理するために書いておく。正しいかは知らない。 まず前提として、Javaの内部表現としての「文字」は16ビット長のUTF-16ということがある。そうすると、普通に長さを取得すると、UTF-16のサロゲートペアで表される文字は2文字と扱われる。 また、文字には合成済み文字という話がある。「か」の後に濁点を結合することで、「が」を表現するみたいなやつ。 これらから、どこまで考慮して文字列の長さを取得するかでやり方が違う。 UTF-16のサロゲートペアを考慮しない UTF-16のサロゲートペアを考慮する 合成済み文字を考慮する 以下試したサンプルコード。 import java.text.BreakIterator; public class UnicodeCharSample { public static void main(String[] args) { // 𪛀あが St

    Javaの文字列の長さを判定するには - $shibayu36->blog;
    south37
    south37 2016/12/28
  • Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;

    以前http://tech.naver.jp/blog/?p=1369の記事を読んだのだけれど、それまでにprocessの知識が無かったりして、まったく理解できませんでした。そこでWorking with UNIX ProcessesやServer::Starterの中身を呼んでようやくhot deployの仕組みを理解できた(気になっている)ので、Server::Starterの実装を追いながら、それをまとめてみます。 hot deployとは hot deployとは「再起動の時にリクエストの処理を続けながら、変更の内容を反映するための手段」です。 通常serverをrestartさせるときは、stop -> startの流れになると思いますが、この場合stopしてから、start出来るまでの期間にリクエストを処理できない期間が発生します。その期間なしにdeployする仕組みがhot

    Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;
    south37
    south37 2015/09/26
  • SunriseとTODO管理ツールを組み合わせてスケジュール管理をする - $shibayu36->blog;

    最近タスク量がそこそこ多く、かつ自分の記憶力もそこまでないので、できるだけタスクを忘れないようにしながらスケジュール管理をしておきたいと感じていた。その時にカレンダーアプリであるところのSunriseと、TODO管理ツールをうまく組み合わせることで非常に使い勝手の良いTODO管理を行うことが出来たので、まとめておく。 Sunriseについて Sunriseというのは、様々なスケジュール系ツールと連携して、ひとつのカレンダーにまとめてくれるためのカレンダーアプリ。例えばgoogle calendarやfacebook eventsなどと繋げることで、複数のサービスにまたがった予定を一つのカレンダーで管理することが出来るようになる。 https://calendar.sunrise.am/ 詳しくは以下に詳しい。 TODO管理ツールと繋げる Sunriseの良い所は、TODO管理ツールとも繋げ

    SunriseとTODO管理ツールを組み合わせてスケジュール管理をする - $shibayu36->blog;
    south37
    south37 2014/11/05
  • 「シバソン」という名の何も準備しないイベント - $shibayu36->blog;

    最近、シバソンという名のほぼ身内でやっているイベントを開催している。シバソンとはシバハッカソンの略で、なぜか適当にハッカソンしますと会社で呼びかけたら自然とシバソンという名前になっていた。今日は勉強会について簡単に書きたいと思う。 Kyoto.pm 以前自分はKyoto.pmというperl界隈のイベントの主催をしていた。このイベントは最初もっといろいろな人にアウトプットする場を提供したいという気持ちで始めたイベントだった。有名な東京のperl hackerを呼べたり、東京からはるばる来てくれる人が何人かいて、けっこう面白いイベントに出来たと思ってる。 ただ問題点がいくつかあった。 一つ目は主催者が開催のために前準備(スピーカー集めとか)をするコストが非常に高かったこと。発表会形式にすると、特に関西ということもあって、全然スピーカーが集まらないということがよくあった。そのたびにいろんな人に声

    「シバソン」という名の何も準備しないイベント - $shibayu36->blog;
    south37
    south37 2014/10/28
  • I/Oを多重化するためのシステムコール(select, poll, epoll, kqueue) - $shibayu36->blog;

    サーバ周りの勉強していると、たまにselectとかepollとか言葉が出てきて、理解できてなかったので調べてみた。 I/Oの多重化 例えばサーバ周りの実装を、特に何も考えずにやると、I/Oでブロッキングが発生し、一つのクライアントとしか通信できないということが起こります。これを解決するために fork threads I/Oの多重化 非同期I/O といった方法があります。 この中のI/Oの多重化を実装するためのシステムコールとして、select, poll, epoll, kqueueなどは実装されているようです。 少し調べてみると、次のような記述のような機能をそれぞれが実装するようです。 プログラムで複数のファイルディスクリプタを監視し、 一つ以上のファイルディスクリプタがある種の I/O 操作の 「ready (準備ができた)」状態 (例えば、読み込み可能になった状態) になるまで待つ

    I/Oを多重化するためのシステムコール(select, poll, epoll, kqueue) - $shibayu36->blog;
    south37
    south37 2014/09/04
  • 「最高のリーダー、マネジャーがいつも考えているたったひとつのこと」を読んだ - $shibayu36->blog;

    [asin:4532312639:detail] 「最高のリーダー、マネジャーがいつも考えているたったひとつのこと」というを読んだ。こののタイトルだけ見ると非常に胡散臭い感じに見えるのだけど、読んでみると衝撃を受けるほど良いだった。久々に良いに出会った感じである。 このはすぐれたマネジャーやリーダー、また個人の成功に関して、それぞれ一番大切なことは何かをひたすら突き詰めていくという構成になっている。そのためすぐれたマネジャーの例などをいくつも出して、「これは大切だけどたったひとつのことではない」と話を進めていきながら、最後にこれが一番大切であるというのを指し示してくれる。話の進め方が非常にうまくすんなり読めるような構成になっている。 僕自身は最近はこのが定義しているところのマネジャーというものに興味があったので、特にその章に書いてあることに非常に感銘を受けた。人の上に立つ立場に

    「最高のリーダー、マネジャーがいつも考えているたったひとつのこと」を読んだ - $shibayu36->blog;
    south37
    south37 2014/08/26
  • 1