SSMS Tools Pack :「*」の展開

SSMS Tools Packが便利すぎたので部門で導入した。

便利な機能2つめ。
下の画像を見るとすごくないですか?「*」がぱっぱと展開されちゃうのです。

1

解説

こんなクエリを書くことありますよね。「*」でひょいひょいとやってしまうのですが、列を入れるのが

select *
from wait_stats

「*」でひょいひょいとやってしまうのですが、列を入れるのが面倒ですよね。

SSMS Tools Pack をインストールしていると、「*」の直後にカーソルを置いて、Tabキーをおすとぱっと、こんな感じで展開されます。

select measure_date_local, measure_date_utc, server_name, wait_type, waiting_tasks_count, wait_time_ms, max_wait_time_ms, signal_wait_time_ms
from wait_stats


SSMS Tools Pack :接続カラー(Connection Color)

SSMS Tools Packが便利すぎたので部門で導入した。これが最大の導入理由。
本番環境で、ジオレプリケーションを組んでることもあってDBが6つほどある。
STG環境で、6個。
この環境で運用してると、いずれうっかり間違って別の環境でクエリを実行してしまったという事故が発生しそう。
標準機能だとステータスバーしか色が変わらない。

でもSSMS Tools PackをいれるとテキストWindowとオブジェクトエクスプローラーに着色される。

image

こんな感じで色が付くので便利。
クエリエディターとオブジェクトエクスプローラーの色があっているので便利ですね。
この色、接続すると自動的に色が選ばれて区別されるのだけど、設定することでこのDBの時は赤色、この時は緑色と指定できる。

本番はやっぱり赤ですよね。

image

こんな風に、バーの上で右クリックすると、そこから色を変更できたり、バーを表示する位置を上から左側にしたりと移動させることができる。

image

JavaScriptのCPU問題箇所特定ツール:sjsp

はてなの中の人が、Mackerelのフロントエンドの性能チューニングのために作成したsjspが、サーバレスアーキテクチャによる時系列データベースの構築と監視 / Serverlessconf Tokyo 2017dで紹介されていました。

sjspにトランスパイルするだけでCPU boundな処理がわかるそうな。

sjspについては、「シンプルでかつ最高のJavaScriptプロファイラ sjsp を作りました! ― Webアプリケーションが複雑化する中でプロファイラに求められるものとは何か」で説明されています。

こんな感じの結果が出るなんて素晴らしい!

========== SORT BY TIME ==========
time: 30.20sec   count:  71      test6  test.js  (line: 31, col: 18)  function test6() {
time: 16.47sec   count:  41      test7  test.js  (line: 37, col: 18)  function test7() {
time: 15.49sec   count: 133      test4  test.js  (line: 19, col: 18)  function test4() {
time:  5.98sec   count: 216      test1  test.js  (line:  1, col: 18)  function test1() {
time:  4.37sec   count:  18      test5  test.js  (line: 25, col: 18)  function test5() {
time:  3.24sec   count: 512      test3  test.js  (line: 13, col: 18)  function test3() {
time:  0.87sec   count:  67  anonymous  test.js  (line: 49, col: 24)  setInterval(function() {
time:  0.80sec   count:   2      test2  test.js  (line:  7, col: 18)  function test2() {
time:  0.44sec   count:   2  anonymous  test.js  (line: 43, col: 23)  setTimeout(function() {
========== SORT BY COUNT ==========
time:  3.24sec   count: 512      test3  test.js  (line: 13, col: 18)  function test3() {
time:  5.98sec   count: 216      test1  test.js  (line:  1, col: 18)  function test1() {
time: 15.49sec   count: 133      test4  test.js  (line: 19, col: 18)  function test4() {
time: 30.20sec   count:  71      test6  test.js  (line: 31, col: 18)  function test6() {

APIの開発サイクルを早めるサービス:apiary

APIを使用した開発をする場合、APIのインターフェイスを定義する。

  1. その定義にそってAPI開発チームが開発。
  2. フロントアプリの開発チームも定義に沿ってアプリを開発。

と言うことで、2ライン走ることになる。
APIが完了するまでは、疑似コードを書くとか、JSONを定数で持たせるとか、そんな感じで開発をすることが多いのだけど、apiaryを使用すると少し楽にしてくれる。

続きを読む “APIの開発サイクルを早めるサービス:apiary” >

Chrome拡張機能:Toby

Toby は、Chromeのエクステンションです。

エクステンションを追加すると、タブを管理するためのアドオンが追加されます。
右端に開いているタブ一覧が表示され、それを左側にD&Dするとタブが削除されて一覧に保存されます。

開きすぎた未読タブを一括管理するためのエクステンションです。