タグ

ブックマーク / bashalog.c-brains.jp (26)

  • MySQL データベースに大量のテーブルを置いたらパフォーマンスが落ちた話 | バシャログ。

    仮面ライダーエグゼイドのあの仮面ライダー離れしたまなざしにはあと何週間で慣れるだろうか、とぼんやり考えている kagata です。 さて、今回は最近遭遇したデータベースの障害についてのお話です。 事例 こんな構成のデータベースサーバがありました。 ストレージタイプ「汎用(SSD)」の Amazon RDS MySQL 5.6系 ストレージエンジンは InnoDB File-Per-Table モードが有効 あるとき、このサーバのパフォーマンスが急に落ちるということがありました。システムに大きな変更は入れていないはずなのに、スロークエリが急に増えてしまいました。 サーバの状態を確認したところ、下のような警告を出力しているのが見つかりました。 DB Instance * has a large number of tables and has the parameter innodbfilep

    MySQL データベースに大量のテーブルを置いたらパフォーマンスが落ちた話 | バシャログ。
  • Vagrant+CentOS ゲストOS内にItamae をセットアップする | バシャログ。

    三大キャリアからIIJMioに切り替えたら、通信速度が気持ち遅めになり通信料が節約できてるtanakaです。 今回はVagrant + Itamae の話をします。ローカル開発環境を構築するときには Vagrant + vagrant-itamae プラグイン をよく使います。しかし自動化になれて Resource の数が増えてきて変更点がなくても10分以上かかることが多くなりました。 そこで仮想マシン内にItamae環境を作り、sshログイン後ローカルで itamae local コマンドを実行する用にしたところ、10~20秒に短縮できましたので方法をご紹介します。 前提 プロジェクトのディレクトリにファイルは以下のように配置されているものとします。 ├── Vagrantfile └── itamae ├── recipe.rb └── node.json Vagrantfile に次

    Vagrant+CentOS ゲストOS内にItamae をセットアップする | バシャログ。
  • VirtualBox 5.0 の準仮想化で仮想マシンの動作が速くなった | バシャログ。

    tanakaです。 VirtualBox 5.0が7月9日にリリースされました。Linuxゲスト向けの準仮想化設定を有効にしたところ、開発しているWebアプリケーションの処理速度が130~200%高速になったので既にVagrantを使っている場合のアップグレード手順をご紹介します。 1. アプリケーションをアップグレード Download VirtualBox 5.0.0 以降をダウンロードしてください DOWNLOAD VAGRANT 1.7.4以降をダウンロードしてください 2. Vagrantfile に準仮想化の為の設定 --paravirtprovider を追加 config.vm.provider ブロックがあれば1行追加するだけです。 このパラメータはゲストOSの種類で決めるそうで、ホストOSがWindowsでもKVMが選択できます。 config.vm.provider

    VirtualBox 5.0 の準仮想化で仮想マシンの動作が速くなった | バシャログ。
  • Vagrantで複数仮想マシンを起動できるようにする | バシャログ。

    iPhone 6 Plus を予約して発売2日後に手に入れたtanakaです。それまでケースは付けないで使う派でしたが、落としてガラスを割りそうだったので、早々にケースを購入しました。 今日は、Vagrantで複数の仮想マシンを起動してmysqlコンソールログインできるまでを試してみましたので紹介します。 やってみたこと web と db の 2台の Linuxサーバーを起動して、webからdb上のMySQLサーバーにMySQLコンソールログインできるようにする 動作環境 Vagrant 1.6.5 VirtualBox 4.3.16 boxファイルはopscode-ubuntu-14.04を使います Vagrantfile 適当なフォルダを作成(multivmtestなど)し、以下のテキストをVagrantfileというファイル名で保存します。 コマンドプロンプトで、作成したフォルダに移

    Vagrantで複数仮想マシンを起動できるようにする | バシャログ。
  • 【WordPress 連載企画 第1回】Vagrant をインストールしてローカル開発環境を作ってみよう | バシャログ。

    こんにちはエンジニアのtanakaです。今日からスタッフ持ち回りでWordPressの連載を始めることになりました。制作環境を作るところからサイトの体裁を整えるところまでやっていくのでよろしくお願いします。 今回はCentOS・Apache・PHPMySQLのインストール・データベース作成を自動化することでWordPressの開発環境をカンタンに作る方法について説明します。 WordPressの開発環境を自分のPCに開発環境をつくるときにApache+MySQL+PHPがセットになったパッケージを利用して環境をつくることもできます。しかし実運用する環境がLinuxだと、ローカルPCからスクリプト群をアップロードしたときに想定外の挙動に悩まされる恐れがあります。 最近、開発環境をつくるツールとしてVagrantの名前を聞くことが多くなりました。Vagrantは仮想マシンを使った開発環境を構

    【WordPress 連載企画 第1回】Vagrant をインストールしてローカル開発環境を作ってみよう | バシャログ。
  • Vagrant の使い始めで便利なプラグイン2つ sahara, vagrant-vbguest | バシャログ。

    肩掛けのカバンにノートパソコンを入れて持ち運ぶと体への負担が!みたいな話を聞いたのでバックパック(Cote&Ciel Rhine Flat Backpack for 15 Black)を買いました。当は店頭で見てから買いたかったのですが2店舗見て、無かったのでAmazonで。スリムタイプを期待してましたが、それなりに大きくて固い感じです。背中のクッションのおかげで負担がかなり減って移動が楽になりました。 今日は、Vagrant を使い始めて便利だったプラグインを2つ紹介します。 プラグインについて プラグインをインストールするとVagrantの機能を強化できます。インストールするには、例えばsaharaなら、プロンプトでvagrant plugin install saharaと実行します。 sahara - 仮想マシンの状態をロールバックできるようになる(VirtualBox専用) s

    Vagrant の使い始めで便利なプラグイン2つ sahara, vagrant-vbguest | バシャログ。
  • 【JavaScript】デザインパターンを知ってみる。ファサードパターン編 | バシャログ。

    今回はJavaScriptで書くファサード(Façade)パターンについて調べてみました。 ファサードはフランス語で「建築物の正面のデザイン」という意味だそうです。 なぜ使うの? ファサードパターン自体はとてもシンプルで、いくつかの機能の「窓口」になるクラスやオブジェクトを作り、利用しやすくするパターンです。 jQueryで一番よく使うであろう $() 関数もファサードパターンの一つです。 例えば要素の見た目を変える機能を実装するとして、個別の要素を制御するオブジェクトと、窓口になるオブジェクトを用意すると以下のようなコードが考えられます。 // 色を制御するオブジェクト function colorObj() { return { changeColor: function() { console.log('色を変えます'); } } }; // フォントを制御するオブジェクト func

    【JavaScript】デザインパターンを知ってみる。ファサードパターン編 | バシャログ。
  • 【JavaScript】デザインパターンを知ってみる。シングルトン編 | バシャログ。

    桜を見ながら飲みいしたいminamiです。 前回に引き続きJavaScriptで書くデザインパターンです。今回はシングルトンパターンについて調べてみました。 なぜ使うの? シングルトン(Singleton)パターンは、以下のような特徴があります。 あるクラスのインスタンスを一つだけにする つまり同じクラスを使って新しいオブジェクトを再度作成すると、最初に作ったオブジェクトの参照になる。 作られたオブジェクトへのグローバルなアクセス方法を提供する 機能の重複する新規のインスタンスを作ることなく、一つのオブジェクトを使いまわすことができるのでリソースを無駄にしません。また、インスタンスを一つだけにすることでグローバルな関数や変数を無駄に増やすことがなくなるので競合の危険をなくします。このあたりは前回のモジュールパターンの考え方と同様です。 簡単な書き方 var Single = { myNa

    【JavaScript】デザインパターンを知ってみる。シングルトン編 | バシャログ。
  • Vim で javascript 書くためにやってる設定 | バシャログ。

    杉の木を伐採しまくるバイトを始める夢を見ました・・・。みなさん、こんにちは nakamura です。 前回 VimPHP 開発するための設定 を書きましたが、今回は Vimjavascript を書くための設定をいくつかご紹介しようと思います。(基は前回 PHP 用に行った設定の javascript 版です) 関数名などの自動補完 PHP と同様に辞書ファイルを用意して neocomplecache で補完するだけです。辞書ファイルは以下からjavascript.dict と jQuery.dict を拝借して $HOME/.vim/dict/ に置きました。 config/vim/dict at master · guileen/config · GitHub (ただちょっと古いんだよな~・・・。自動生成するスクリプト軽く書こうかな・・・。) .vimrc autocmd

    Vim で javascript 書くためにやってる設定 | バシャログ。
  • [Sublime Text2]SublimeLinter+jshintでJavaScriptコードを自動チェック | バシャログ。

    最近、JavaScriptの新刊が当に増えててうれしいなーと思うtanakaです。Web+DB PRESS vol.73 の連載で、JavaScriptのユニットテストについて書かれていたのを読みました。主に3つのツール・ライブラリが紹介されていましたが、中でも複数のブラウザに対して一斉にテスト実行させるtestemがすごい便利そうです。以前、同様のツールであるjsTestDriverをバシャログで紹介しましたが、testemはnpmコマンドでインストールしたらすぐテストを書き始められるし、設定を書けば、自動でブラウザを起動してくれるので楽でした。(Windows,Macともに導入できました)テスト書きたいと思っている方がいましたら是非読んでみてください。 さて、testemはまだあんまりいじってないので、今日は JavaScript のコードをjshintというツールでチェックする方法

    [Sublime Text2]SublimeLinter+jshintでJavaScriptコードを自動チェック | バシャログ。
  • jQuery.Deferred を使ってみる。 | バシャログ。

    カーテンのない家には住めない事に気がついたminamiです。 jQueryにはjQuery.Deferred というオブジェクトがあります。jQuery 1.5 のころから実装されてだいぶ経っているのですが、今までなんとなくよくわからなくて苦手意識があったので改めて使ってみました。 jQuery.Deferred ってなに? "deferred" の意味を調べると「延期された」「遅延された」などの意味があります。乱暴にまとめてしまうと、様々な処理が終わった後に呼ばれる(遅延された)処理を監視してくれるオブジェクトと言えます。 何を言っているのかわからん 文章で書くとまどろっこしいのでサンプルを作りました。1~4の処理が全て終わったら完了の表示を出します。 jQuery.Deferred を使った処理の管理 window.setTimeout() などのタイマー処理 jQuery.ajax

    jQuery.Deferred を使ってみる。 | バシャログ。
  • TortoiseSVN で 望まないコミットを防ぐには? | バシャログ。

    Amazon で購入した屋に行って買ったがダブって涙目、ktanaka です。 今日は、Subversion(TortoiseSVN) でコミットしたくないけど必要なファイルのうまい扱い方について考えます。 Subversion はチームが安心してプロジェクトを進めるためにつかうものですが、Subversionを使うことを決めたために起こる悩みというのもあります。そのなかに一つが、コミットしたくないものを間違ってコミットしてしまうことではないでしょうか。そういった状況でいくつかの手段のなかから適切な方法を選ぶことができれば、無駄な時間が減らせるでしょう。 目次 常に不要だけど生成されちゃうファイル Thumbs.db 特定のディレクトリでコミットする必要のないもの (ログ、キャッシュファイル)など すでに Subversionで管理していてコミットしたくないローカルな変更 (デバッ

    TortoiseSVN で 望まないコミットを防ぐには? | バシャログ。
  • Subversion のリポジトリから、変更されたファイルのみを取り出す方法 | バシャログ。

    ゴールデンウィークは、みなさまいかがお過ごしでしたか。 私 kimoto は、世間的に評価の低い映画を見まくる、という計画を実行にうつしました。充実した連休だったなー。 さて、Subversion のリポジトリから、「修正をかけたファイルのみをエクスポートしたい。しかもディレクトリ構成も維持したまま」という事例はよくあるかと思います。それが取り出せれば、そのまま上書きするだけで修正をアップでき、ミスも少なくなると思います。 今回は、TortoiseSVN で、修正があったファイルのみを取り出す方法をメモとしてエントリしようと思います。 ログを表示 まずは、ログを表示します。 目的のディレクトリで、右クリック→「TortoiseSVN」→「ログを表示」。 リビジョンを選択 次に、差分をとりたいリビジョンを二つ選択し、右クリック→「リビジョンを比較」。ここで、三つ以上選択してしまうと「リビジョ

    Subversion のリポジトリから、変更されたファイルのみを取り出す方法 | バシャログ。
  • テスト管理ツール「TestLink」 はじめの一歩 | バシャログ。

    こんにちは、ほぼ日の「観たぞ、バンクーバーオリンピック」のとりこになっているinoueです。ばん・くー・ばー! さて、ここのところ、テストにどっぷり浸っています。テストエンジニア的立ち位置にいるといいますか。 これまでシーブレインではExcelベースでユースケースやテスト項目の管理を行ってきました。 Excelがよくできたアプリケーションのため、なんとなくうまくいっているように思えていましたが、実際に深くテスト仕様を考えていくと、テストケースの再利用や階層的な管理などやりたいことが満載! そんなテストへの要求を満たしてくれそうなアプリケーションが「TestLink」です。 LAMP環境へ簡単にインストールできるオープンソースのテスト管理ツールです。 今回は、この「TestLink」導入を検討するために参考にしたサイトをご紹介します。 きちんと学びたいテストエンジニアのためのTestLink

    テスト管理ツール「TestLink」 はじめの一歩 | バシャログ。
  • 日常のSubversion | バシャログ。

    シーブレインではプロジェクトのソースコード周り(css,HTMLテンプレート,画像,swf)のバックアップを行うのにSubversionを利用しています。(プログラマの間ではバージョン管理システムといったほうがいいでしょうか) 僕の場合、ソースコードを編集するときはサーバ側のvimを使うことがほとんどなのですが、SubversionについてはTortoiseSVNとsvnコマンドを半々で使うといった感じです。 今回はTortoiseSVNとsvnコマンドをどう使い分けているかについて話します。 svnでよく使うサブコマンド シェルスクリプトについては素人同然なのですが、このようなコマンドの組み合わせで、僕が良く使うsvnのサブコマンドを調べてみました history -n 1000 | sort | uniq -c | sort -r | grep svn この調べ方だと、オプションやファ

    日常のSubversion | バシャログ。
  • CUI で Git 使うなら入れておきたいツールまとめ | バシャログ。

    ブランコ と同い年だったことが判明しました。みなさん、こんにちは nakamura です。あいつも昭和 55 年会か・・・。 Git をコマンドラインで使う利点は色々ありますが、git コマンド以外にも便利なツールがいくつかあるっていうのもひとつかなと思います。今日はそんな中でも個人的にこれないと困るわーっていうのを独断と偏見でご紹介したいと思います。 tig Index of /tig これはけっこう有名かも。いわゆるリポジトリブラウザです。カラフルで見やすいし、その場で任意のコミットの差分も見れちゃうのでリポジトリブラウザとしては git コマンドよりも格段に高機能です。 gitolite Hosting git repositories sitaramc/gitolite gitolite は Git リポジトリを管理するためのツールです。ドキュメントを少し読んでみれば分かりますが、

    CUI で Git 使うなら入れておきたいツールまとめ | バシャログ。
  • GitHubでプロジェクトページを公開する手順メモ | バシャログ。

    ヒノキ花粉アレルギーの疑いが浮上したhakoishiです。 さて、今回はGitHubでリポジトリをプロジェクトページとして公開する手順のご紹介。 ユーザーページ(http://(アカウント).github.io/)は作っていなくても良いようです。 さて、手順。 ページとして公開したいリポジトリで 「gh-pages」という名前のブランチを作ります。 図はGitHub上で作成していますが、もちろん作業コピー上での作成、プッシュで問題ありません。 そして、下記のURLにアクセス。 http://(アカウント).github.io/(リポジトリ名)/ ※アカウントが「basha-log」、リポジトリ名が「sitetest」なら http://basha-log.github.io/sitetest/ になります。 (アカウントは架空のものです) おや。早すぎたようだ。 10分ほどかかるそうなので

    GitHubでプロジェクトページを公開する手順メモ | バシャログ。
  • 【CSS】画像を上下中央に表示する(IE7以下にも対応させる) | バシャログ。

    娘が小学二年生になり、みまもりケータイ2を買い与えました ishida です。 娘がケータイのボタンを押すたびに、位置情報が送られてきて便利なのですが、 電話をかけたときにも、位置情報がメールで送られてきてちょっと通知頻度高すぎなんじゃね? さてさて、今回はとある案件で画像を上下中央に表示する機会がありまして、 忘れないように自分的メモです。 CSS3が使えるようになってからは、display: table-cell; で簡単に対応できるようになりましたよね。 例としては、こんな感じ。 HTML/CSSコードサンプル <div class="box"> <p class="image"><img src="image.png" alt="" width="200" heigh="200"><p> </div> .box { display: table; } .box .image { d

    【CSS】画像を上下中央に表示する(IE7以下にも対応させる) | バシャログ。
  • 別ドメインのjsonデータをXMLHttpRequestでやりとりする | バシャログ。

    いつのまにやら家から5分の距離に新しくコンビニができたことに気づいたtanakaです。 今日は、別ドメインのjsonデータをXMLHttpRequestで普通に取得するにはどうすればいいか調査したので方法をまとめます。実装としてはもう4年くらい前から使えるようになっていますが、私はまだ使ったことがなかったので。 XMLHttpRequest とクロスドメイン XMLHttpRequest が Internet Explorerに実装され、それ以外のブラウザに実装された当初は JavaScriptが実行されたページのドメイン以外にリクエストを送りデータを受け取ることはできませんでした。別ドメインに非同期でリクエストするためにいくつかの方法が考えられましたが詳しい説明は省略します。(一旦サーバを経由する・Flashを経由する・JSONPを使うなど) 2009年になりXMLHttpRequest

    別ドメインのjsonデータをXMLHttpRequestでやりとりする | バシャログ。
  • 様々なイケてるUIを参考にできるサイト | バシャログ。

    足掛け2年、全ての関連作品を見てからアベンジャーズを見て最高に盛り上がったminamiです。 Webデザインの中でもサイトのUIデザインは近年重要性を増していると思いますが、デザインする際のインスピレーションを受けられるサイトをご紹介します。 UI Patterns UI Patterns User Interface Patter Libraryというサイト名通り、UIが体系的にまとめられ解説されています。「Design patterns」ではそれぞれのUIに対して、どういう問題を解決してくれるものなのかの詳細な解説があるので、普段なんとなく使っているUIを基礎から勉強し直せます。 ui parade. ui parade. UIを種類別に集めたサイト。なかなか洗練されたものが集まってますね。 PATTERN TAP PATTERN TAP 良さ気なUIのスクリーンショットが集まるサイト

    様々なイケてるUIを参考にできるサイト | バシャログ。