タグ

ブックマーク / dev.classmethod.jp (38)

  • tmuxを使いこなす / プラグイン開発で機能を拡張 | DevelopersIO

    はじめに こんにちは、中山です。 唐突ですがみなさんtmuxは使われていますか。そう、有名なターミナルの機能を拡張するツールですね。 この種のツールを使っていない方の中には、職場の先輩などに「ちょwターミナル開きすぎwブラクラかよw」などとドヤ顔で言われたことがある方もいらっしゃるのではないでしょうか。かく言う私もドヤ顔でこの種の発言を繰り返していました。 tmuxはデフォルトの機能がかなり豊富なのですが、tpmというプラグインマネージャを使うとさらに機能を拡張することができます。聞いたことがある方も多いのではないでしょうか。ググると検索結果に結構表示されますね。GitHubのtmux-pluginsというorganizationにはさまざまなプラグインがあります。便利なプラグインを紹介しているブログエントリも結構あります。 私はこのプラグインを今まで結構作ってきました。少しシェルスクリプ

    tmuxを使いこなす / プラグイン開発で機能を拡張 | DevelopersIO
    raomito
    raomito 2016/04/11
  • Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO

    Prezto 今回はコマンドライン環境の話です。私は以前より oh-my-zsh を利用していましたが、テーマの調子が悪かったので Prezto に乗り換えてみました。結構快適だったので、いまは Prezto を使っています。 稿では Zsh + Prezto で快適なコマンドライン環境を構築する方法について簡単ですがご紹介します。 Zsh + Prezto 環境を構築する 環境構築の手順については README に書いてありますので、手順通り進めれば問題なく環境づくりができると思います。なお、コマンド実行すると .zlogin .zlogout .zprofile .zshenv .zshrc のシンボリックリンクを貼るので、oh-my-zsh から乗り換える場合など、既存の Zsh 環境を引き継ぎたい場合は各設定ファイルを退避させておきましょう。 // Zsh起動 $ zsh //

    Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO
    raomito
    raomito 2014/08/31
  • 構成管理ツール Ansibleを使ってみる | DevelopersIO

    構成管理ツールといえばChefですが 弊社ブログでも構成管理ツールに関する記事はけっこうありますが、ほとんどがChefに関する記事です。 私もChefについてを書いてたりしますが、Rubyが苦手な自分としては、Chefのレシピを書いたりするのは難しいわけです。 (こういう記事もありますが) で、Chefのかわりに使えそうな構成管理ツールを探して、これならいけるんじゃないかと思ったのが、今回紹介するAnsibleです。 Ansibleとは Ansibleとは、Pythonで記述された構成管理ツールです。 まずはAnsibleの基用語について解説します。 ・モジュール クライアント内での動きは「モジュール」として定義されます。 ソフトウェアをインストールしたり、サービスの起動をしたりするモジュールはあらかじめ用意されてます。 自分でモジュールを作成することも可能です。 このモジュールは何で作

    構成管理ツール Ansibleを使ってみる | DevelopersIO
  • Dockerイメージをchef-soloでプロビジョニングする | DevelopersIO

    はじめに DockerでコンテナイメージをbuildするときにはDockerfileにOSイメージの指定や導入パッケージ、実行したいコマンドなどを記述してパッケージングします。 このDockerfileはほぼコマンドべた書きのような形なので難しいわけでは無いのですが、実行処理が多くなればなるほど長く読みづらくしまうし、テストも大変です。また既にChefやPuppet、Ansibleなどの構成管理ツールを用いているのであれば、既存の資産をうまく流用したほうが楽が出来ます。 ということで、Dockerfileにはほとんど仕事をさせずに、Dockerfileからchef-soloをキックしてコンテナをプロビジョニングしてみました。 やってみた ファイル構成は以下のような形です。今回はopscode謹製のbuild-essentialをレシピとして用意しました。 . ├── Dockerfile

    Dockerイメージをchef-soloでプロビジョニングする | DevelopersIO
  • Gradle入門 | DevelopersIO

    よく訓練されたアップル信者、都元です。Gradle(グレードル)つかってますか? 筆者は、プロダクトコードを書くのも好きなのですが、その周辺にある「プロジェクトのライフサイクル管理」の自動化にも非常に興味を持っています。つい半年前くらいまではMaven信者だったのですが、今は宗旨替えをし、Gradleにどっぷりハマっております。 Gradleは、進化系のビルド自動化ツールです。Gradleは、ソフトウェアパッケージもちろん、その他様々な形式のプロジェクト(例えば自動生成された静的Webサイトやドキュメント等)のビルド・テスト・(ライブラリ等の)公開・デプロイ・その他を自動化します。 プロジェクトライフサイクルマネジメントツール? このようなビルド自動化は、古くはGNU Makeやシェルスクリプトが利用されており、その後Javaの世界ではAnt, Mavenと進化を遂げて来ました。Gradl

    Gradle入門 | DevelopersIO
  • Vagrant + Chefで環境構築も自動にする | DevelopersIO

    Vagrantをもっと便利に使う この記事では、VirtualBoxのフロントエンドであるVagrantを使用して、仮想OSを作成してみました。 Vagrantは単に仮想OS作成が楽にできるだけでなく、Chef(等の自動設定ツール)と連携して環境構築まで楽にできるようです。 今回はChefを使用して、Vagrantで作成した仮想OSにソフトウェアをインストールしてみましょう。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.5 Vagrant : 1.2.2 Ruby : 1.9.3 VirtualBox : 4.1.2 ここで作ったCentOS環境を使用するので、vagrant upで起動できるようにしておきましょう。 Chef概要など 最近は社内でもあたりまえのように使用しているChefですが、私はほとんどさわったことがありませんでした。(r

  • Macでmodern.IEとVMWareを使ってInternet Explorerのテスト環境を構築してみる | DevelopersIO

    Internet Explorerのテストって手間ですよね。 そもそも古いInternet Explorer(6-8)には対応したくないものですが、そうも言っていられないのが普通で嫌々対応することになると思います。IE8以上にあるF12開発者ツールやIE Testerなんてありますが、今回は少し前から話題になっていたInternet Explorerの実行環境を仮想マシンとして作れるmodern.IEを使ってみることにしました。 今回はMacOSのVMWareを前提として紹介します。 VMWare Fusionとは VMware Fusion 5 は、Mac 上で Windows プログラムを実行するための、ホーム ユーザーに最適な、迅速、容易、かつ信頼性に優れたソリューションです。 VMware Fusion VMWare Fusionの良いところ 私自身もつい最近使い始めたもので詳しく

    Macでmodern.IEとVMWareを使ってInternet Explorerのテスト環境を構築してみる | DevelopersIO
    raomito
    raomito 2013/08/19
  • Vagrantって流行ってるらしいけど何が便利なの? | DevelopersIO

    最近、Vagrant(ベイグラント)を勉強し始めました。VagrantはVirtual Boxなどの仮想化ソフトウェアと一緒に使うツールです。 最初は何のために使うものなのかよくわからず、VagrantはVirtual Boxのフロントエンドだよ、 と言われても何が便利なのかいまいちピンと来なかったのでいろいろ調べてみました。 ※Vagrantはプロバイダ(仮想化ソフトウェア)を選択できるので、他にもVMwareやAmazon EC2で使うこともできます。 実現したいこと VagrantとVirtual Boxを使って何がしたいのかの一覧です。 実行環境を開発と番で揃えたい。 開発環境を構築する際に個人のローカル環境に依存しないようにしたい。 すぐに使える仮想環境を構築したい。 環境構築を自動化したい。 チームで同一の環境を簡単に構築したい。 1つずつ見ていきましょう。 Virtual

  • VagrantでCoreOSを動かす | DevelopersIO

    VagrantでCoreOSを動かす CoreOSとは CoreOSとは、Linux kernelとsystemdだけで構成された軽量なディストリビューションだそうです。 後述する、「Docker」という仮想環境構築用ソフトウェアを動かすための最小構成として使用されるとのこと。 Dockerとは dotcloudがオープンソースで公開している、仮想環境構築用のソフトです。VirtualBoxと用途は同じですね。 VirtualBoxはホスト内に仮想的なマシンを起動しますが、Dockerは「LXC」という技術をつかって、 ホスト内の隔離環境に個別のプロセスとネットワークを作成します。 他の仮想マシン上でも動作するし、仮想マシン起動のプロセスが必要ないので、素早く使えるというメリットがあるとのことです。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7

  • 身につけておきたいWebサイト高速化テクニック #5|リクエスト数削減テクニック01:インラインイメージ編 | DevelopersIO

    5,インラインイメージのメリット・デメリットと注意点 5.1,メリット インラインイメージを使うことで画像自体のHTTPリクエストが発生しません。 例えばファイルサイズの小さな10個の画像を読み込んでいるとします。それらすべてをインラインイメージ化することで10回のHTTPリクエストを削減できます。 データサイズが37%増加するというデメリットはありますが変換前のデータが数MBでもない限りHTTPリクエストが減らせることの方が有益です。 5.2,デメリット IEの古いバージョンでは使えない Base64エンコードによりデータサイズが約37%増加する HTMLCSSに直接埋め込むため画像を変える度に差し替えが必要(ツールで改善可能) data URI schemeで埋め込まれたデータはキャッシュされない 同じデータを複数箇所に表示したい場合、それぞれの場所に埋め込む必要があるためインライン

    身につけておきたいWebサイト高速化テクニック #5|リクエスト数削減テクニック01:インラインイメージ編 | DevelopersIO
  • HTML5 × CSS3 × jQueryを真面目に勉強 – #7 jQueryのセレクタAPIについて詳しく | DevelopersIO

    そんな訳で、普段何気なく使っているjQueryですが、そのセレクタAPIについて多少は知っておいたほうが良いよなということで、いくらか調べてみました。けっこう地味な内容なので、「へー、そんな風になってるんだぁ…」と軽く読み流していただければと思います嘘です。割と大事な内容なので、しっかりと把握しておくのがよろしいかと思います。 はじめに - jQueryのセレクタAPI jQueryでは、$('#hoge .fuga');というようにCSSのセレクタを用いてHTML要素を取得します。あまりにも便利な機能で普段意識することはありませんが、内部ではgetElementById();といったブラウザのネイティブAPIを駆使したり、JavaScriptゴリゴリのメソッドを呼びまくって指定どおりの要素を取得してきているわけです。こういった機能のことをセレクタAPIと呼びます。 セレクタAPIの内訳

  • jQuery 2.0 Grunt ビルド | DevelopersIO

    jQuery 2.0 をビルドしてみよう jQuery 2.0 を自前でビルドしてみます。自前でビルドすることでモジュールを省くことができます。 ビルド ビルドするためにはgruntコマンドを使います。インストールしていない場合は、gruntをインストールしておきます。 gruntについては、nodebrew, npm, grunt 環境構築手順でインストールしてください。 また、grunt -version コマンドでgrunt-cliが入っていない場合は、grunt-cliをインストールしておきます。 $ grunt -version grunt-cli v0.1.7 grunt v0.4.1 ソース取得 githubからjqueryのソースを取得します git clone git://github.com/jquery/jquery.git 依存ファイル取得 npm install

    jQuery 2.0 Grunt ビルド | DevelopersIO
  • Chef を始める #2 – Chef Server に Node を追加して Recipe を実行する | DevelopersIO

    前回 は、Chef Server のインストールと、Workstation のセットアップまで行いました。 今回は、Node を Chef Server に登録して Recipe を実行するところまでやってみたいと思います。 Node の準備 新たに Node 用の EC2 インスタンスを立ち上げ、セキュリティグループで ssh を許可しておきます。 OS は Amazon Linux、インスタンスタイプは t1.micro で試しました。 Chef Client のインストール EC2 にログインしたら、最初に Chef Client をインストールします。 前回は、RubyGems を使ってインストールを行いましたが、以下の方式でもインストール可能です。 $ sudo true && curl -L https://www.opscode.com/chef/install.sh | s

    raomito
    raomito 2013/05/04
  • Chef を始める #1 – 概要、Chef Server を EC2 上にインストール、Workstation の設定まで | DevelopersIO

    Chef を始める #1 – 概要、Chef Server を EC2 上にインストール、Workstation の設定まで サーバー構築をプログラミングする 最近、Chef(シェフ) を触り始めました。 自分はインフラエンジニアでもないですが、プログラミング感覚でサーバー構築ができて、これがなかなか面白いです。 Chef って? サーバーの構成管理ツールです。Ruby で記述することができます。 構築の手順をマニュアル化してメンテしていくのは大変だし、やはり手動で構築すると、設定ミスは防ぎきれません。 Chef を使って、一度その設定をコードで書いてしまえば、そのコードを保存しておいて、全く同じ手順で他のサーバに構築できますし、 各環境ごとに必要なパラメータを変更して構築することも簡単です! Cookbook や Recipe を Knife を使って操作する Recipe は、サーバー

    raomito
    raomito 2013/05/04
  • 自動テストはじめませんか?#2 | DevelopersIO

    だいぶ間があいてしまいましたが、seleniumを使った自動テストの続きです。 今回はselenium+PhantomJSについて取り上げたいと思います。 PhantomJSって何? ブラウザを使わずにJavascriptが実行出来るWebKitベースのツールです。またDOM,CSS,Canvasなどもサポートしています。 PhantomJSだけでももちろん使えますが、今回はseleniumと合わせて使ってみます。(PhantomJSについてはまた別の機会に) Seleniumで使用するメリットは? Seleniumのテストを行う際に、問題になる1つとして実行時間があります。IEで実行した場合は特に遅いので時間がかかってしまいます。PhantomJSはWebブラウザを起動するわけではない為、描画処理を必要としない分高速に処理が行われます。 実行環境の構築 今回もEclipse+Java+M

    自動テストはじめませんか?#2 | DevelopersIO
  • 身につけておきたいWebサイト高速化テクニック #3|画像形式の基礎知識 | DevelopersIO

    こんにちは、ご無沙汰しています。 Web担当の野中です。 前回の第2回「検証ツールとそもそもHTTPって何だ編」から少し時間が経ってしまいました。 というのもテクニックを紹介するために予想以上の予備知識の説明と検証・調査が必要になり、さらにどう順序立てて解説すべきか悩み時間がかかってしまいました。 ちなみに第2回では、Webサイト高速化に関連してくるHTTPについて基的なことを紹介しています。 より詳しくHTTPについて解説したCodezineさまに寄稿している連載も是非チェックしてみてください。 題 さて、今回から実践編ということでフロントエンド側のWebサイト高速化対策の1つ、画像の最適化について紹介します。 初学者向けに細かく基的なことまで解説しますので、記事を3つに分けます。 画像最適化1回目の記事では、画像に関する基礎知識について紹介します。 未だにWebサイト高速化の具

    身につけておきたいWebサイト高速化テクニック #3|画像形式の基礎知識 | DevelopersIO
  • iptables設定後の調整 | DevelopersIO

    iptables設定の再調整を行う iptablesを設定して日のIPだけを許可するでしばらく運用していましたが、日々監視を行っていて、都度気になるものは調整しており、そのやったことを纏めておこうと思います。 mod_evasiveをインストールしていたので、その条件にひっかかっていたIPアドレスが8個ありました。 # cd /var/log/mod_evasive # ls -lrt -rw-r--r-- 1 apache apache 5 Mar 29 05:51 dos-142.4.114.13 -rw-r--r-- 1 apache apache 5 Mar 29 07:37 dos-199.192.152.154 -rw-r--r-- 1 apache apache 5 Mar 29 07:58 dos-199.192.159.229 -rw-r--r-- 1 apache a

  • iptablesを設定して日本のIPだけを許可する | DevelopersIO

    shellを作ってみる Webサーバを立ち上げる機会が増えてきたので、事前にできる限りの対策はやっておこうと思い、国単位でのアクセス制御をやってみたので自分用のメモとして残します。 世界の国別IPv4アドレス割り当てリストが公開されていますのでその情報を活用させてもらうことにします。 動作させた環境はAWS Amazon Linuxです。 ※あくまでも以下はサンプルのシェルなので、適用する場合は自己責任でお願いします。自身すら入れなくなる可能性もあるのでご注意を。 #!/bin/sh IPLIST=cidr.txt # 初期化をする iptables -F # Flush iptables -X # Reset #iptables -P INPUT DROP # 受信はすべて破棄 iptables -P OUTPUT ACCEPT # 送信はすべて許可 iptables -P FORWAR

  • Nginx でIPアドレスによるアクセス制御を行う | DevelopersIO

    前回は、Nginx をインストールして、Basic認証 をかけてみました。今回は、IPアドレスでのアクセス制限をしてみます。 EC2の場合、セキュリティグループでもアクセス制限が出来ますが、今回は Nginx の機能を使います。 そのため、セキュリティーグループで、80ポートに対して 0.0.0.0/0 を許可をしておきます。 nginx.conf の構成 具体的な設定を記述する前に、nginx.conf の構成について少し見てみます。 nginx.conf の設定は以下のようなディレクティブの集まりで出来ています。 worker_processes 1; ディレクティブは Nginx の各モジュールによって導入されていて、 モジュールを有効にすることによって、そのモジュールで提供しているディレクティブが利用可能になります。 ディレクティブは各モジュールに対するブロックの中に記述します。

    Nginx でIPアドレスによるアクセス制御を行う | DevelopersIO
  • 【後編:Webフォント化】アイコンをWebフォント化してリクエスト数の削減とRetina Displayに一発対応 | DevelopersIO

    はじめに みなさんこんにちは、高速化やSCSSの記事を書いている野中です。 前「【前編:フォント作成】アイコンをWebフォント化してリクエスト数の削減とRetina Displayに一発対応」はマインクラフトネタでフォントの作成について紹介しました。 今回は、作成したフォントをWebフォント化して読み込んでみたいと思います。 前回作成した匠顔フォントはこちら Creeperフォントをダウンロード 1,Webフォントについて 少し古いですが詳しい解説はこちらの記事「Webフォントについて調べてみた」をどうぞ。 一部抜き出して紹介します。 1.1,Webフォントとは CSS2.1時代、Webサイト上で利用できるフォントはユーザーのローカル環境にインストールされているフォントに限られていました。MacWindows PC共通のフォントは無いためデザインにも大きな制約がありました。デザインフォン

    【後編:Webフォント化】アイコンをWebフォント化してリクエスト数の削減とRetina Displayに一発対応 | DevelopersIO
    raomito
    raomito 2013/03/11