タグ

ブックマーク / dqn.sakusakutto.jp (17)

  • Dockerの公式MySQLイメージの使い方を徹底的に解説するよ · DQNEO日記

    DockerHubでは公式のMySQLイメージが無料で公開されています。 これを使えば簡単にDockerMySQLサーバを起動することができます。データの永続化もできます。 https://hub.docker.com/_/mysql/ 2015年10月現在では下記3種類のバージョンが用意されています。 タグを指定することで任意のバージョンのイメージを取得できます。 5.5 5.6 5.7 (latest) イメージの取得方法 docker pull mysql これで最新の安定版を取得できます。 バージョンを明示的に取得したい場合はタグを使います。 docker pull mysql:5.7 (2015/10/25現在だと、mysql, mysql:latest, mysql:5.7, mysql:5.7.9はどれも同じイメージを指します。) これのDockerfileを見たい場合はこ

  • PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記

    仕事で使っているPHPアプリケーションをPHP7 beta1で動かしてみたらそのままでは動きませんでした。 私が実際にはまった点を紹介します。 なお、PHP7の変更点についてはhnwさんの記事に詳しく網羅されているのでご一読ください。 PHP7で変わること - hnwの日記 Apacheのモジュール名が変わっていた ApacheにPHPを組み込むためのモジュール(俗にいうmod_php)のモジュール名・ファイル名が変更になっていました。 LoadModule php5_module modules/libphp5.so ↓ LoadModule php7_module modules/libphp7.so memcache extensionがインストールできない PHPからMemcachedを使うためのExtensionには2つあります。 memcache memcached memca

    PHP5.6からPHP7にアップグレードして実際にはまった点9個 · DQNEO日記
  • Chef-Soloはオワコンになりlocal modeが今後の主流になるとのこと · DQNEO日記

    ブログ書きました → Chef-Soloを100倍楽しく使うためのrsoloというツールを作りました。 http://t.co/GI1DrlMx8O #chef #knifesolo — DQNEO.php (@DQNEO) September 27, 2014 @DQNEO ご存知かもしれませんが参考までにどうぞ(最近の流れだとchef-solo -> chef local mode): http://t.co/wNvSJz3iOR — Shuhei Tanuma (@chobi_e) September 27, 2014 全俺が泣いた。 SoloからZeroへ。Chef Client Local Modeに移行しましょう 詳しくはChef公式ブログの記事に書かれています。 From Solo to Zero: Migrating to Chef Client Local Mode Ch

    Chef-Soloはオワコンになりlocal modeが今後の主流になるとのこと · DQNEO日記
  • Git pullを使うべきでない3つの理由 · DQNEO日記

    git pullは使わなくてもよい 初心者はgit pullを使わない方がよい 我々ソフトウェアエンジニアは勉強が大好きなので、コマンドがあるとそれを勉強して使いこなさなければいけないと考えがちですが、ときには「覚えない、使わない」という発想も大事なのではないでしょうか。 以下にその理由をのべます。 git pullは使う必要がない git pullを使わないとできないこと、というのはありません。 使わなくても全然困りません。 git fetchとgit mergeとgit rebaseだけですべての用は足せます。 私はチーム開発でGit格的に使い始めて数か月経ちますが、普段の作業でgit pullを使ったことはないしそれで困ったこともありません。 git pullを使わなければ、余計な落とし穴に落ちない git pullには落とし穴があります。 初心者はたいていその穴に落ちます。 「

    Git pullを使うべきでない3つの理由 · DQNEO日記
  • 簡単!MacOSXやLinuxにChef,Knife,Berkshelfを一発でインストールしてくれるChefDKの紹介 · DQNEO日記

    Home Subscribe 最近 ChefDKという全部入りパッケージがリリースされたので、これで一発です。 http://www.getchef.com/downloads/chef-dk/ CentOS6だとこんな感じで一発です。 sudo rpm -ivh https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chefdk-0.3.0-1.x86_64.rpm rubyとかrbenvとかgemとかの環境について頭を悩ませる必要がないのでとても楽です。 ちなみにChefDKを使わずに自力でこれらをインストールしようとするとどうなるかというと、すごい時間がかかります。 とくにBerkshelfが依存しているライブラリで"dep-selector-libgecode" というのがものすごい怪物のようなしろもので、コンパ

    簡単!MacOSXやLinuxにChef,Knife,Berkshelfを一発でインストールしてくれるChefDKの紹介 · DQNEO日記
  • 引数なしのgit pushは危険なので気をつけましょう · DQNEO日記

    絨毯爆撃pushの例 いまmasterブランチに、未プッシュのコミットがあるとします。 ここで、新たにbr1ブランチを作ってチェックアウトします。 $ git checkout -b br1 master $ git branch * br1 master br1ブランチでコミットを作ります。 echo hello >> hello.txt git add . git ci -m "add file" 引数なしでプッシュします。 git push すると、どこに何がpushされると思いますか? 実は、master -> masterにpushされます。 masterがまだpushできる状態でない場合、これはかなり痛い。すごく痛い。頭が頭痛でおなかが腹痛。 しかもpushしたかった当のbr1ブランチはpushされないというオチ。(リモートにbr1ブランチがない限りは) この挙動は大半のユーザ

  • いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記

    はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニアインフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て

    いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記
  • [Linux]Swap領域をクリアする方法 · DQNEO日記

    開発に使ってるLinuxサーバで、Swap領域が大量に使用されて動作が重くなっていたのでSwap領域を解放するためにやったことのまとめ。 単純にサーバ再起動してもよいのだけど、それだと作業中のEmacsが落ちてしまうので開発効率がおちる。 サーバ再起動させずにSwapを空にする方法はないかと試行錯誤してみたら、うまくいきました。 メモリに空き容量がある場合 Swap usedの容量よりも実メモリの空き容量の方が大きい場合、単純にスワップをoffにしてonにすれば解決します。 swapoff -a && swapon -a (swapoffコマンドが見つからない場合は /sbin/swapoff などをあたってみてください。) メモリに空き容量がない場合 「スワップをoffにする」とは、ディスクに退避されてるデータをメモリに移動させることです。 なのでメモリの空き容量が足りない場合はswap

    [Linux]Swap領域をクリアする方法 · DQNEO日記
  • ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記

    所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数

    ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記
  • [Bash]正規表現マッチした部分文字列を再利用する方法 · DQNEO日記

    Bashでは正規表現マッチを使ってマッチした部分文字列を再利用することができます。 つまり文字列の加工を自由自在にすることができます。 例:"foo_bar"から"foo"や"bar"を取り出したい [[ "foo_bar" =~ ^(*)_(*)$ ]] ここでマッチした部分文字列は、BASH_REMATCHという配列に格納されています。 # マッチした全体を参照したい場合 TOTAL=${BASH_REMATCH[0]} echo $TOTAL # => foo_bar # ()でマッチした部分文字列を取り出したい場合 LEFT=${BASH_REMATCH[1]} echo $LEFT # => foo シェルスクリプトで書くなら下記ような感じで。 #!/bin/bash if [[ "foo_bar" =~ ^(.+)_(.+)$ ]] ; then echo ${BASH_REM

  • [Linux] /usr/local/の使い方まとめ · DQNEO日記

    事例 /usr/local ‐ 通信用語の基礎知識 UNIXやPOSIX準拠OS(Linux等)で、利用者がインストールしたソフトウェア等を置くディレクトリ。 オペレーティングシステム(OS)によって考え方は異なっているが、Linuxの標準FHSでは、自分でコンパイルしたバイナリは/usr/local以下に置くことになっている。 このため、/usr/local以下の使用はホスト管理者に任せられており、一般にOSインストール直後は空になっている。 どのようなディレクトリを作るかは、一般に管理者次第である。 例えば、次のようなディレクトリが使われる。 /usr/local/bin /usr/local/lib /usr/local/sbin /usr/local/share ソースから自前ビルドしたソフトウエアの効率的な管理方法 - (ひ)メモ たとえば、asoとbmdという名前のソフトウエア

  • jQueryのeachの仕組みを徹底的にわかりやすく解説してみた。 · DQNEO日記

    eachのキホン:要素を1個ずつ処理する まずおさらい。 このようなHTMLがあるとします。 <ul> <li>foo</li> <li>bar</li> </ul> eachを使うと、要素1個ずつに対して順繰りに処理を行うことができます。 <script> $(function(){ $('li').each(function(){ alert( $(this).text() ); // 'foo', 'bar'と表示 }); }); </script> これがキホンです。 変形してみる 上のeach式は、下のように変形できます。 (一番外側のブロック$(function(){....})は省略します) $.each( $('li'), function(){ alert($(this).text()); }); さらに変形してみます。 グローバル変数 "$" はグローバル変数 "jQu

    jQueryのeachの仕組みを徹底的にわかりやすく解説してみた。 · DQNEO日記
  • CentOS6でRPMforge、Remi、EPELをyumレポジトリに追加する方法 · DQNEO日記

    なお、記事はx86_64(64bit)環境を前提にしています。 レポジトリファイルをダウンロード まずはレポジトリファイルをダウンロードしましょう。 実はここが鬼門で、レポジトリのURLやファイル名はころころ変わります。(404 not foundなどのエラーが出たりします) ダウンロードできない場合はあわてずにレポジトリファイルを自力で探せばすぐ見つかりますので、じっくり見てみてください。 epel wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm ※上記ファイルが存在しない場合は、下記URLからepel-releaseで始まるファイルを探してダウンロードしてください。 http://dl.fedoraproject.org/pub/epel/6/x86_64/ remi wge

    CentOS6でRPMforge、Remi、EPELをyumレポジトリに追加する方法 · DQNEO日記
  • Git超入門:"git push origin master"の"push"と"origin"と"master"の意味がわからないあなたへ · DQNEO日記

    Home Subscribe この2行のコマンドを見て((;゚Д゚))ガクブルした経験はないでしょうか? 私は恐怖を感じました。 "remote"と"add"と"origin"と"push"と"master"の意味がわからん!! 人間(というか私は)は、わからないものが3つ以上同時に登場すると、ストレスを感じるものです。 この場合は5つもあるのでものすごいストレスです。 でもご安心を! これから超わかりやすく解説します! git remote add origin ... の意味は? ずばり、 URLに"origin"という短縮名(ニックネーム)を付ける したがって、git remote add unko .... と書いてもかまいません。 慣習上、"origin"という名前が使われることが多いというだけのことです。 そして、ここが重要なのですが 別にニックネームをつけなくてもよい。(

    Git超入門:"git push origin master"の"push"と"origin"と"master"の意味がわからないあなたへ · DQNEO日記
  • cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記

    なお、時間設定方法や書式についてはここでは解説しません。 拙作「くろんメーカ」をお使いください。 くろんメーカ - crontab用のコマンドを自動で生成します。 そのままコピペしてお使いください。 crontab -e で直接編集しない 有名な話ですが、crontab -r とやってしまうと全てが一瞬で消え去ります。 まさにバルス! 間違えて crontab -r してしまい、crontab をふっとばしてしまった。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。 crontab -r を安全にする - antipop 必ずローカルファイルに設定を書いたうえで、それを反映させるようにしましょう。 $ crontab -l > ~/crontab # 現在の設定をバックアップ $ vi ~/crontab # ローカルファイルを編集 $ crontab < ~/cro

    cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記
  • .bash_profileと.bashrcの違いが覚えられないあなたへの処方箋 · DQNEO日記

    なぜ、「.bash_profileと.bashrcの違い」をすぐ忘れてしまうのか? ずばり、 「どっちに書いても、実用上は対して変わらない」 からでしょう。 ちょこっと環境変数を定義する程度なら、どっちに書いても動くのです。 どっちに書いてもそれなりに動く → 違いがわからない → 忘れる これが魔の忘却ループです。 .bash_profileと.bashrcの違いを絶対に忘れない方法 ではどうすればよいか? 「違いを自分の目ではっきりと見ること」 これに尽きます。 これから、一緒に手を動かして簡単な実験をしてみましょう。 5分ほどで終ります。 準備はいいですか? ① .bash_profileにechoを書いてみる .bash_profileの最下行に1行追加します。 echo "\(うぇるかむようこそプロファイル)/" ② .bashrcにechoを書いてみる .bashrcの最下行に

    .bash_profileと.bashrcの違いが覚えられないあなたへの処方箋 · DQNEO日記
  • 必殺!Github導入に向けて上司を説得する時に使える資料まとめ · DQNEO日記

    Subversion vs Github 青い線と赤い線。 あなたの会社は、どちらと運命をともにしたいでしょうか? 業界誌でも大きく特集されている 「Githubは世界標準の開発環境である(キリッ」by @HIROCASTER さん Githubを導入している先進企業たち 公開されている情報をもとにリストアップしてみました。 ご要望があれば追加します! (Piece of Cakeさんを追加しました。) (サイボウズさんを追加しました。) これらの事例の中から資料をキリハリして、上司の説得に使いましょう。 \(サイボウズ)/ \(ペイパーボーイ)/ 技術的なアプローチを強化しようと、エンジニアのトップであるmizzyに 直属になってもらい、全社的に取り組むべき課題とチャレンジしたいことの洗い出しや 技術アウトプットを高めるための取り組みを始めました。 [中略] そのような取組の結果、エン

    必殺!Github導入に向けて上司を説得する時に使える資料まとめ · DQNEO日記
  • 1