タグ

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

  • Ansible inventoryパターン | DevelopersIO

    Ansibleではinventoryに対象ホストを定義します。 適用したいインフラ構成が複数ある場合、playbook毎にグループ化してください。 グループ化した場合、変数はそれぞれのgroup varsに定義できます。 詳しくは、前回のエントリーを参照してください。 inventoryの構成方法には幾つかのパターンがあります。 対象とするシステムの規模や特徴にあわせて選択しましょう。 なお、パターンを整理するにあたって、Ansibleのインベントリファイルでステージを切り替えるを参考にしました。 ベーシックパターン 開発環境・検証環境・番環境といった目的毎に環境を作る必要がなく、ひとつの環境(番環境)のみの場合は、inventoryファイルもひとつで十分です。 hostsという名前のファイルを作成し、inventoryを定義しましょう。 構成は次のようになります。 . ├── gro

    Ansible inventoryパターン | DevelopersIO
  • Ansibleチュートリアル 2017 | DevelopersIO

    渡辺です。 2015年11月にRole を使ったAnsibleのチュートリアル書きました。 それから1年以上経ち、ノウハウも溜まってきたので、新しく書き直してみます。 セットアップ Ansibleのインストールと、EC2インスタンスを2台起動しておきます。 ssh_configの作成 はじめにホスト情報をssh_configに定義します。 ansible.cnfでssh_configを設定するでも書いたようにSSHで接続する時のユーザ名や秘密鍵の場所はssh_configを作成してまとめておくと便利です。 プロジェクトディレクトリにssh_configを作成しましょう。 Host * StrictHostKeyChecking no UserKnownHostsFile /dev/null Host test1a HostName xx.xxx.xx.xxx User ec2-user I

    Ansibleチュートリアル 2017 | DevelopersIO
  • Alpine LinuxでDockerコンテナ開発を加速する | DevelopersIO

    ども、大瀧です。 Docker公式のベースイメージをAlpine LinuxにするPRによって、にわかにAlpine Linuxへの注目が集まっていますね。 いつか来るかも知れない(笑)Alpine Linux必須の時代に備えるべく、DockerでAlpine Linuxをどう扱っていくのかまとめてみました。 Alpine Linux概要 Alpine Linuxは、軽量なLinuxディストリビューションの一つです。最新バージョンは、3.3(2016/02/12現在)です。特にDocker向けというわけではないのですが、ベースイメージのフットプリントのサイズが非常に小さいことと、独自のパッケージ管理システムAPKがDockerfileの記法とマッチすることからDocker界隈で注目されているようです。 ベースDockerイメージはDocker公式版とGliderLabs版の2種類 現在利用

    Alpine LinuxでDockerコンテナ開発を加速する | DevelopersIO
  • AWS IoTのMQTT over WebSocketにHTMLから接続してみた | DevelopersIO

    はじめに 先日のアップデートAWS IoT Device GatewayがWebSocketに対応しました。 このアップデートにより、JavaScriptで動作するMQTTクライアントを用いてWebページ上からAWS IoT Device GatewayにPub/Subすることが可能になりました。(MQTT over WebSockets) 今回はローカルのHTMLをIoT Device Gatewayと連携させる方法をご紹介します。 使ってみる Pub/Sub可能なIAMユーザーの作成 ブラウザからMQTT over WebSocketsを使うには、今のところPub/Sub権限を持ったIAMユーザーのクレデンシャル(アクセスキーとシークレットキー)が必要です。 公開したときに悪用されないために、最低限の権限を持ったIAMユーザーを作成しましょう。 今回はweb-chat-iotというユ

    AWS IoTのMQTT over WebSocketにHTMLから接続してみた | DevelopersIO
  • AWS IoT Message BrokerのMQTTでpub/subをやってみた #reinvent | DevelopersIO

    re:Invent 2015 キーノートで発表された AWS のマネージド MQTT(MQ Telemetry Transport)サービス AWS IoT Message Broker で Pub/Sub してみました。 作業の流れ 以下の手順で作業します MQTT クライアントのインストール AWS CLI のアップグレード 認証設定 IAM Role 設定 Pub/Sub 通信 MQTT クライアントのインストール MQTT プロトコルの通信は OSS の MQTT 実装 mosquitto のクライアントを利用します。 Amazon Linux のパッケージには含まれていないため、CentOS 向けのパッケージを利用してみました。 $ sudo curl http://download.opensuse.org/repositories/home:/oojah:/mqtt/Cent

    AWS IoT Message BrokerのMQTTでpub/subをやってみた #reinvent | DevelopersIO
  • これからAWSを始める人は一読すべき「AWS運用チェックリスト」を読んでみた | DevelopersIO

    はじめに こんにちは植木和樹です。AWSでは各種ホワイトペーパーなどの資料を多数公開しています。 AWS アーキテクチャーセンター | アマゾン ウェブ サービス(AWS語) 今回は上記ページからダウンロードできる「AWS 運用チェックリスト(PDFファイル)」を読んでみました。運用チェックリストという名前ではありますが、AWSを利用する方は一度目を通しておくのをお勧めする内容でした。 チェックリストは大きく3つ「ベーシック」「エンタープライズ」「セキュリティ監査」に分かれています。このうちベーシックは15項目程とコンパクトにまとまっていて、簡易チェックリストとしてお手頃です。 残念ながらまだ日語訳がされていないようですので、今回ベーシック部分だけをザックリ読んで簡単なコメントを書いてみました。 ベーシック運用チェックリスト 原文は「我々は〜〜〜を設定しています(理解しています)」

    これからAWSを始める人は一読すべき「AWS運用チェックリスト」を読んでみた | DevelopersIO
  • [AWS]proxyを使用してAWSのAPIモックを作成[node] | DevelopersIO

    AWSのモック また、先日node用AWS SDKの正式版がリリースされました。 私はpre8あたりからあまりさわっておらず、proxy機能が追加された事も知りませんでした。 来これは、AWSサービスをプロキシサーバ経由で使用できるようにするオプションだと思いますが、 これを使用すれば AWSAPIモックが簡単につくれるのでは?と思いました。(モック用途にも使ったりするの?) 実用性があるか知りませんが、proxyを試しつつAPIモックサーバをつくってみましょう。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.5 node : 0.10.4 express : 3.2.0 AWS SDK for Node : 1.0.0 aws-sdkを使った簡単なサンプルを作成 まずは簡単なクライアント用サンプルを作成します。aws-sdkをインストール

  • Amazon Route 53のALIASレコード利用のススメ | DevelopersIO

    よく訓練されたアップル信者、都元です。 Amazon Route 53は、AWSが提供するDNSサービスです。通常、ドメインを取得すると、ドメインレジストラからDNSがサービスで提供されることが多いと思います。費用は大抵ドメイン代に含まれていて、追加費用は無いことが多いです。しかしAWSで利用するドメインは、下記のような理由から、ドメインのオマケで付いてくるDNSではなく、Route 53を利用するメリットが大いにあります。 無料じゃないとは言え、とにかく安い。Route 53のコストが月10ドル超えるような人気サービスを作れたら勝ち組です。 プログラマブルである。レコードの定義と書き換えをスクリプトで実行できる。デプロイの自動化に寄与。 CloudFormationからレコードの定義と書き換えができる。まぁ↑とほぼ同じことを言ってますが。 SLAは100%(!?) ELB, CloudF

    Amazon Route 53のALIASレコード利用のススメ | DevelopersIO
  • CSS には vw, vh, vmin, vmax という単位がある | DevelopersIO

    例として以下の様な HTML 構造があったとします。 <body> <!-- 画像解像度: 100 x 100 (px)--> <img src="images/thumbnail.jpg" /> </body> img { display: inline-block; margin: auto; width: 10vw; } img の幅を 10vw と指定しています。基準となるビューポートの幅を vw で表すと 100vw となります。iPhone 5S のビューポート幅をピクセルで表すと 320px な訳ですが、10vw はその 1/10 ということで32px が img の幅となります。つまり 1vw は 1% と同じ長さになります。もちろんリキッドレイアウトにも対応した動きを持っています。 Demo - viewport lengthを開く(このサンプルはChromeブラウザでの

    CSS には vw, vh, vmin, vmax という単位がある | DevelopersIO
  • 【レポート】みんなどうやってブログ記事書いてる?社内向け勉強会「目指せ炎上ライター」 | DevelopersIO

    はじめに このブログ、クラスメソッドという会社が運営しています。 記事は社内のスタッフ(約40名)が日々執筆しています。 このブログがどういった体制で運営されているのかはこちらのtogetter「クラスメソッドさんのブログ戦略」を読んでいただくとよくわかると思います。 みんなどうやって記事を書いているのかスタッフ(以降ライターとします)間で共有する機会がありませんでした。 そこで、ライターそれぞれがどのように記事を書いているのか、またどんなテクニックやツールがあるのか、共有するための勉強会を開催しました。 タイトルは釣りっぽいですがまじめな勉強会です。 登壇者 登壇するのは、良質な記事を書き続けている弊社の山田・都元・諏訪の3人です。 パネルディスカッション形式でパネラーは野中が担当します。 お題目 今回のお題はこの6つ。最後に質問コーナーを設けています。 記事を書くきっかけは? どういう

    【レポート】みんなどうやってブログ記事書いてる?社内向け勉強会「目指せ炎上ライター」 | DevelopersIO
  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
  • 【AWS】JenkinsとserverspecでChefのテストを自動化する | DevelopersIO

    はじめに こんにちは植木和樹です。相変わらずCloudFormationとChefな毎日を送っています。そのおかげで、最近は実験用サーバを設定するときにも極力手作業はなくし、CloudFormationやChefを使って自動化・省力化する習慣がつきました。以前作ったCookbookを使用して、コマンド1つで新環境が構築されたときって気分いいですよね。 さてChefのCookbookが増えてきて徐々に再利用が進んではいるのですが、Cookbookを作成してから数週間もすると「当にこのクックブックはまだ動くのかな?」と不安になってきます。ここはやはり、Cookbookが正しく適用されることを継続して保証する仕組みがほしいところです。 日はChef Cookbookのテスト自動化の一例として、JenkinsからEC2を起動してからchef-soloを使ってCookbooksを適用し、その後s

  • node.jsのいろいろなモジュール18 – Domainでエラー処理をうまく扱う | DevelopersIO

    非同期処理中のエラー処理 node.js用の以下のコードは、ファイル読込中になんらかのエラーが発生した場合、期待したとおりに動くでしょうか? var fs = require('fs'); try { //ファイル読み込み処理 fs.readFile("something-file", "utf-8", function (err, data) { if (err) { //エラーがあったら例外をスロー throw err; } console.log(data); }); } catch (err) { //エラー処理を行う console.error(e); } catchブロックでreadFileのエラーをハンドリングしてほしいところですが、 非同期コールバック中のエラーを受け取れないので、期待した結果になりません。 では、非同期処理中に発生したエラーはどのようにハンドリングすればよ

    node.jsのいろいろなモジュール18 – Domainでエラー処理をうまく扱う | DevelopersIO
  • [node.js]WebsocketとAquesTalkでゆっくりボイスのチャットをつくろう[AWS] | DevelopersIO

    EC2でゆっくりさせる 定期的にポストされるゆっくりネタです。 以前、node.jsからゆっくろいどにアクセスしてしゃべらせるという記事を書きました。 node.jsから指定した文言をゆっくりさせることができるのですが、ローカルでしゃべるだけなので自分しかゆっくりできません。 せっかくならWebアプリで誰でもつかえるようにできないかなぁと思っていたら、それに近いことをやってる人がいました。 これはすごい。便乗するしかありません。 今回はEC2でnodeサーバをたてて、誰でもゆっくりできるようなアプリを作ってみましょう。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.5 EC2 : Amazon Linux ブラウザ : Chrome26 ゆっくりサーバはEC2上で作成します。EC2インスタンスを起動し、sshポートと3000番ポートを開けておき

    [node.js]WebsocketとAquesTalkでゆっくりボイスのチャットをつくろう[AWS] | DevelopersIO
  • Karma(元Testacular)を使って簡単にテストを実行しよう | DevelopersIO

    Karmaとは 昨年、Googleがnode.jsベースのJavaScriptテストランナー、「Testacular」をオープンソース化しました。 このツールは元々AngularJSのためのテストフレームワークとして作られたそうで、 クライアントサイドのJavascriptコードのテストを簡単に実行することができます。 このツール自体はテストランナーで、JasmineやMochaなどのテストフレームワークを使用してテストを行います。 先日このプロジェクトの名前が変更され、「Karma」という名前になりました。 今回はKarmaのインストールからテスト実行(+ Gruntでの実行)までをおこなってみます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.4 Node.js : v0.10.0 npm : 1.2.14 Grunt : 0.4 npm

  • Node.jsアプリ開発で参考になる記事 まとめ | DevelopersIO

    最近は弊社のブログにもNode.js関連の記事が増えてきました。私も勉強中なのですが、社内ブログを参考にさせてもらうことがよくあります。 毎回探すのもちょっと面倒なのでClassmethid.dev()内のNode.js関連の記事をジャンルごとにまとめてみました。 1年以上前の記事もあり、情報が古い可能性があるので注意して下さい。今後も新しい記事が追加されたら更新していこうと思います。 メール送信 node.jsのいろいろなモジュール3 - Nodemailer node.js上から簡単にメールの送信ができるモジュールの記事です。 ファイル関連 node.jsのいろいろなモジュール1 - node-gzip node.js上で簡単にgzip圧縮ができるモジュールの記事です。 node.jsのいろいろなモジュール4 - Node Basic FFmpeg ffmpegという動画と音声を変換す

    Node.jsアプリ開発で参考になる記事 まとめ | DevelopersIO
  • 「クラスメソッド株式会社について」について | DevelopersIO

    こんにちは!おおはしりきたけです。昨日クラスメソッドの代表である横田がクラスメソッドの特徴というつぶやきをしており、それがtogetterにクラスメソッドについてという形でまとめられていました。これは、社長からみたクラスメソッドの特徴なのですが、この特徴を社員の立場から回答してみます。 月平均労働時間170時間未満(残業時間じゃないよっ)、土日祝日は普通に休み、有給と公休を組み合わせて10連休を3回取得できます。福利厚生は並。 月平均労働時間170時間未満ということですが、残業が多いといわれるIT業界の中では珍しく感じる方もいるかもしれません。これには、しっかりとした理由があります。以前、ブログに書かせて頂きましたが、プロジェクトはスタートが肝心です。無理の無い受注をしているため、無理の無いスケジュールで進めることができます。帰りにくい雰囲気、休みが取りにくい雰囲気はありません。ただし、リ

    「クラスメソッド株式会社について」について | DevelopersIO
  • node.jsのいろいろなモジュール15 – bowerでクライアントのライブラリを管理 | DevelopersIO

    ライブラリ管理がめんどい クライアント側で使用するサードパーティ製ライブラリ管理を面倒に感じたことはありませんか? 毎回公式サイトから持ってきてしてディレクトリに置いたり、バージョンアップしたらまた公式サイトから持ってきて・・・ そんな管理が煩わしいとおもっている人に、今回はクライアント側パッケージ管理ツールを紹介します。 bowerとは? bowerとは、Twitterが公開しているクライアントサイド用パッケージマネージャです。 サーバサイドではnode.jsのnpmでパッケージ管理をしますが、それのクライアントサイド版ですね。 jqueryやbackbone.jsなどのライブラリを簡単にインストールでき、依存関係も管理できます。 bowerはnode.jsのモジュールとして提供されており、npmをつかってインストールします。 ではbowerをインストールし、比較的よく使うコマンドをいく

    node.jsのいろいろなモジュール15 – bowerでクライアントのライブラリを管理 | DevelopersIO
  • RequireJSでTwitter Bootstrap(jQuery)を非同期ローディングしてみる | DevelopersIO

    こんにちは、すどーです。 RequireJSでjQueryやjQueryプラグインの非同期ローディングを試してみました。 最近は大規模な構成になると、「ちぢめる、まとめる、かためる(minify, combine, compress)」のが主流のようです。 ですが小中規模な構成や、依存関係にあるフレームワークなども多くあるので、簡単な使い方だけでも覚えておくと便利かと思います。 RequireJS: http://requirejs.org/ RequireJS API: http://requirejs.org/docs/api.html RequireJSの主な特徴 モジュール化(AMD APIをサポート) 非同期ローディング OPTIMIZERによる最適化 1. モジュール化(AMD APIをサポート) AMD(Asynchronous Module Definition)はComm

  • node-benchでjsテンプレートエンジンのベンチマークをとってみた | DevelopersIO

    テストを走らせるコードは以下です。 var fs = require('fs'); var engine_names = ['ejs', 'eco', 'jade', 'coffeekup', 'haml'] var compare = {}; var view_file = __dirname + '/views/index.'; var data = { fruits: [ { name: 'apple', price: 100, stock: 50 }, { name: 'orange', price: 75, stock: 75 }, { name: 'banana', price: 50, stock: 100 } ] }; engine_names.forEach(function(name) { var engine = require(name); var template

    node-benchでjsテンプレートエンジンのベンチマークをとってみた | DevelopersIO