メールアドレスをykaku_ment@ybb.ne.jpからykaku_ment@yahoo.co.jpへ変更しました。よろしくお願いします。
2104/12/20更新 : Dockerの動作に一部不具合があり、ECS-Optimized Amazon LinuxのAMIが更新されました。「3. ECS-Optimized Amazon Linuxの起動」のAMI IDを変更しました。 ども、大瀧です。 AWSのイベント、re:Invent 2014で発表されたDockerコンテナを扱うサービスEC2 Container Service(ECS)のプレビュー申請が通ったので、ドキュメントのチュートリアルを試した様子をレポートします。 1. IAMロールの作成 まずは、Dockerコンテナを実行するEC2インスタンス(ECSインスタンス)からECS APIにアクセスするためのIAMロールを作成します。IAMの管理画面から[Roles] - [Create New Role]で作成ウィザードを表示し、ロール名に「ecs-ec2-rol
今回は、CentOS 7で採用されている新しいログ管理の仕組み「journald」を取り上げます。またjournaldとrsyslogとの連携やシステム全体に渡って様々なログを収集するsosreportについても簡単に触れます。 CentOS 7におけるログ機構「Systemd Journal」を使いこなす CentOS 7は、ログの管理を行う新しい仕組みが導入されています。従来のCentOS 6系では、長年親しまれてきたsyslogがベースのログ管理手法が採用されていましたが、CentOS 7からは、ログに関するより細かい指定や操作を行うことができるようになっています。CentOS 7でのログ管理は、systemdが担当しています。サービス名は、「systemd-journald.service」です。一般的には、「journald」と呼ばれています。CentOS 6までのsyslogで
こんにちは、id:hakobe932 です。はてなエンジニアアドベントカレンダーの18日目として、はてな社内で導入をためしている話題提供Slack botの機能と実装について紹介します。昨日はid:astj による Herokuとwerckerによる継続的インテグレーション・自動デプロイでperlのwebアプリケーションを開発するでした。 #enginnerで技術交換 はてなではメインのチャットツールとしてSlackを活用しています。チームや職種などの単位のたくさんのチャンネルがあり、それぞれのチャンネルでコミュニケーションが行われているのですが、もっぱら技術的な議論を行っているのが #enginner というチャンネルです。#engineer では、チームをまたいだ技術的な相談のほか、新技術や勉強会の紹介など、技術に関わるさまざまな話題で情報交換しています。 もっと技術の話題でわいわいし
この記事は ドワンゴ Advent Calendar 2014 20日目の記事です 新しい年を迎える準備 もうあと10日もしたら新年です。 みなさん新年を迎える準備はできているでしょうか? ん? その前に大事なイベント? コミケのことかな??? 正月の準備といえば、家を大掃除し、しめ飾りや門松を飾り、餅を撞き、おせちを作り、色々ありますが、 これはすべて神様を迎え入れるための準備なんですね。 年神様という、元日に各家に訪れ、一年の実りと幸せをもたらしてくれるありがたい神様です。 年神様を心から歓迎し、失礼ないようおもてなしすれば、次の一年の幸福と繁栄とマネタイズは約束されたも同然です。 さて、今年は、Railsエンジニアが年神様をお迎えするにあたって、 その前に供物を捧げ荒ぶる現世神の怒りを鎮めなければなりません。 すなわち、今年のうちに secure属性がついたcookie を現世神にお
これは JavaScript Advent Calendar 2014 の17日目(12/17)の投稿です。初学者向けの内容です。(ていうか自分が初学者です..) 自分が JavaScript をやり始めたとき、 変数に何がはいってるのか、変数の受け渡しでやりとりされるのは何なのか 関数の return で返ってくるものが何なのか が良く分からず困惑したので、その時のことを思い出しながら挙動を再確認してみました。 1. 変数へ値を代入した場合の挙動 JavaScript では、変数に型はありませんが、値には 基本型 と オブジェクト型 の2種類があります。 A. 基本型 値そのもの が渡されます。 ① 値として「数値」を代入した場合 代入しているのは2行目です。 var num1 = 999; var num2 = num1; // num2 には値そのものが渡されている num1 = 0
この投稿は、 JavaScript Advent Calendar 18日目の記事です。 更新履歴 こちら をご覧下さい JavaScript の書き方をアップデートする JavaScript Good Parts で書かれているような JS の書き方は、古くなりつつある部分も多いです。 正直なところ、自分はあの本が「今でも」良書だとは思っていません。 初学者に勧めることもしません。まんべんなさと普遍性と客観性から「パーフェクト JavaScript」 を勧めています。 その頃と比べると、 JavaScript をとりまく環境は変わりました JavaScript の進化に合わせて書き方もアップデートしていくべきなので、今回は分かりやすいしきい値として 「IE10 以下を切れるとしたら」 という前提で、列挙してみます。 たとえば XHR2 や File API に依存したサービスをやる場合な
この記事はJava EE Advent Calendarの18日目のエントリです。昨日はn_agetsuさんのApache Shiro を使ってみましたでした。 Webサービスやソーシャルゲームのボトルネックになりやすいのがデータベースアクセスです。そしてこれらのサービスではデータベースにMySQLが多く使われています。 高負荷なMySQLの負荷分散の一つにデータベースをマスター/スレーブのレプリケーション構成にしてINSERT/UPDATE/DELETEなど更新系のクエリはマスターに対して行い、スレーブにマスターの更新内容をレプリケート、SELECTなど参照系のクエリはスレーブのデータベースにクエリを発行して負荷分散を行う手法があります。 このエントリではそのようなマスター/スレーブのレプリケーション構成のMySQLにJPAを使ってクエリを発行する方法をご紹介します。 MySQLのJDB
今回は、CentOS 7で採用されている新しいログ管理の仕組み「journald」を取り上げます。またjournaldとrsyslogとの連携やシステム全体に渡って様々なログを収集するsosreportについても簡単に触れます。 CentOS 7におけるログ機構「Systemd Journal」を使いこなす CentOS 7は、ログの管理を行う新しい仕組みが導入されています。従来のCentOS 6系では、長年親しまれてきたsyslogがベースのログ管理手法が採用されていましたが、CentOS 7からは、ログに関するより細かい指定や操作を行うことができるようになっています。CentOS 7でのログ管理は、systemdが担当しています。サービス名は、「systemd-journald.service」です。一般的には、「journald」と呼ばれています。CentOS 6までのsyslogで
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog 普段 Android アプリの開発を行っている takahirom こと毛受(めんじゅ)です。 さて、Android のIDEとしては先日長きベータ時代に終わりを告げてついに Android Studio が 1.0 となりました。 今まで Eclipse + ADT 環境から移行するのを迷っていた人たちも、ようやく重い腰を上げて Android Studio へのも進むのではないかと思います。 そんな Android Studio では次世代のビルドツールとして注目を集めている Gradle が採用されています。 Gradle の特徴 Gradle で採用されているビルドスクリプトは非常にシンプルな記述をできるのが特徴で 例えば
Make は、様々なタイプのファイルのビルド作業を自動的に行ってくれるシンプルかつ強力なツールです。しかしながら、makefileを書く際に問題にぶち当たるプログラマもいれば、Makeの基本知識がないことで、既存のものを再発明してしまうプログラマもいます。 Makeの働き デフォルトでは、Makeは一番目のターゲットから開始します。このターゲットのことをデフォルトゴールと呼びます。 Makeはカレントディレクトリのmakefileを読み込み、一番初めのルールで処理を開始します。しかし、Makeが完全にこのルールを処理する前に、ルールが依存するファイルのためのルールを処理しなければなりません。各ファイルそれぞれは、自身のルールに従って処理されます。 実はこれは、各ターゲットの再帰的アルゴリズムになっています。 ターゲットをビルドするルールを見つける。ルールがないようであれば、Makeはうまく
はじめに 12/11にDocker 1.4がReleaseされました。 ADVANCING DOCKER SECURITY: DOCKER 1.4.0 AND 1.3.3 RELEASES というかGithubではもう1.4.1になっています... そこで、Docker 1.4のRelease NotesからNew Featuresを試してみました。 やってみた labelオプションが追加された Dockerデーモンにkey=value形式でラベルを割り当てることが出来ます。 以下のように--labelオプションを付与してDockerデーモンを起動します。 $ sudo /usr/bin/docker --label=[hdd=ssd] -d & そしてdocker infoを実行すると、最終行にlabelが表示されます。 $ sudo docker -D info Containers:
Using boot2docker to run Docker on a Mac or Windows Docker's underlying containerization technology only works on Linux. To use it on a Mac or Windows, you must use a command-line tool called boot2docker that installs a Linux virtual machine (or "VM") on your system. If you're unfamiliar with VMs, they let you run a "guest" operating system (like Linux) on your "host" operating system (like a Mac
この記事は Vim Advent Calendar 2014 の 16 日目の記事です。 15日は kefir_ さんの「vim と term.c」でした。vim と 端末の間のやりとりの解説という超ディープな話題で、つくづく vimmer は変態(いい意味)が多いな、と痛感させられます。素晴らしい記事ですので、ぜひ一読をお勧めします。 さて、今回の記事では、VAC 1 日目の記事 「vimrc アンチパターン」 を Vim script の lint ツール「vint」で判定できるようにした、という話を紹介します。 今年 11 月に開かれた VimConf 2014 にて「vint は機能追加が簡単さ〜」とか豪語しておりましたので、その実証がてら lint ルールの実装タイムアタックにチャレンジしてみました。 vimrc アンチパターンのルール vimrc アンチパターンをまとめると、9
この投稿は 「Python Advent Calendar 2014 - Qiita」 の 17日目の記事です。 Python のコードをデバッグするには、Python標準のデバッガである「pdb」モジュールを使いますが、使い方(ショートカット)がなかなか覚えられず、いつもネットで探してしまうことがありませんか? そこで、pdb のショートカットをドラクエ風に覚えると絶対忘れないよね、というのを紹介してみたいと思います。 先に、まとめておきます。 ショートカット 覚え方 効能 備考 ワ (w) ールドマップ 自分の今いる場所を知りたいときに使う たいまつ (l の形が似ている) 実行中のコードの周りを明るく照らす し (s) らべる 気になったところ(関数やメソッド)を調べる(もぐり込む) に (n) げる 逃げる。前に逃げる リ (r) レミト 関数やメソッドの出口まで一瞬でワープ キ
.ebextensions など ElasticBeanstalk で、Software Configuration などで設定した環境変数を参照したい場合のやり方メモ。 (最後に確認したのがかなり前なので、もしかしたら現在はこのままでは動作しないかもしれないです) 環境タイプ: Docker 現在の方法 以前は /opt/elasticbeanstalk/hooks/common.sh に書かれていた設定ファイルを参照して直接読み出していたけれど、最近 EB の AMI のバージョンをあげたところうまく動かなくなっていた(ami-4aedea4b で確認)。 デプロイ用のスクリプトが使っていたツールを発見したので、これを使わせてもらうことにします。 ちなみに環境変数が含まれた、コンテナのコンフィグファイルを直接参照したい場合はここにあります。
度々ですいません。cloudpack の かっぱ (@inokara) です。 はじめに 時代は CI です。 泣いても笑っても CI です。 ということで Circle CI を触ってみたいと思います。 Circle CI とは Travis CI のような CI を生業とした Web サービスです。 Circle CI Travis CI GitHub と連携しているので直ぐに始められます。 というわけで、自称インフラエンジニアの自分が Circle CI に慣れるまでのほんの少しのメモです。 使ってみる(1) まずは GitHub との連携から…. カッコイイ Jenkins こんな言い方は失礼かもしれませんが Circle CI も Travis CI もざっくり言うと「カッコイイ Jenkins」だと思っています。(※すいません)Jenkins はコマンド実行結果のステータスコー
declare var exports: Exports; declare class Exports { public handler: Function; } interface Context { done(err: any, value: string): void; invokeid: string; } // S3 Put Event declare class S3PutEvent { Records: Array<S3PutRecord> } declare class S3PutRecord { eventVersion: string; eventSource: string; awsRegion: string; eventTime: string; eventName: string; userIdentity: S3UserIdentity; requestPar
ども、cloudpack の かっぱ (@inokara) です。 はじめに Amazon VPC 内の Amazon RDS に VPC 外から接続する方法の一つとして SSH のポートフォワードを利用して接続するメモ。(特に RDS に限らずオンプレにて同様に外部から閉ざされた MySQL に接続する場合にも同じ方法でいけるはずです。) 参考 RDSにSSHのポートフォワーディングでMySQLに接続する方法 CakePHP編 RDS が VPC 外にある場合には… ちょっと話は脱線しますが RDS が VPC 外にある場合には上図にある Client の IP アドレスをセキュリティグループに定義するだけで接続することはできずはずです。ただ、クライアントの接続拠点が増える度にセキュリティグループの設定変更を行うのはあまりスマートではないです。そもそも、RDS に Public な IP
cloudpack吉田:アイレット cloudpack事業部 エバンジェリスト 吉田真吾。JAWS-UGの活動を通じて、年間100回以上の講演を行なうまさにクラウドの語り部。JAWS-UGを中心に日本全国を渡り歩いている。 Michael:クラウドエンジニア Michael H. Oshita (@ijin) 個人で活躍しつつもCloudsource社 CCO, Walti社 CTOを兼任。お仕事帰りに吉田さんに連れてこられて、飛び入り。 ISID渥美:電通国際情報サービス(ISID) 技術本部 クラウドビジネス推進部 エグゼクティブプロジェクトデイレクター クラウドエバンジェリスト 渥美俊英。通称は渥美エバ。大手SIerでクラウドエバンジェリストとして、講演、取材など多々。CUPAの運営委員としてもおなじみの業界ご意見番。
今年は始めて、re:Inventに参加してきたので、その際に見た「Amazon DynamoDB: Data Modeling and Scaling Best Practices」というセッションの内容を共有したいと思います。 内容をだいぶ端折ってるので、間違っている場合には、びしばしツッコミいただければと思います。 では、まいります。 1. CacheはCashなり なんでDynamoDBを使うかといえば、やっぱり、ポチポチっと設定するだけで簡単に読み込み、書き込み性能を上げたり、下げたりできるっていうのが大きなポイントかと思います。 ただ、設定した性能も、データのアクセスパターンによっては思い通りの性能が出ないことがあります。 例えば、ReadCapacityを 100から5,000 に上げたとします。そうると、DynamoDBは、「オレ1人では捌き切れない」と思って、パーティション
Railsで使うには gem https://github.com/redis/redis-rb https://github.com/nateware/redis-objects ARで使用する場合は redis-objects 便利っぽい。 redis-objectsの解説記事はここがすごくわかりやすい http://blog.happyelements.co.jp/2013/05/ruby-on-rails-redis-objects.html Herokuで使うには 比較 http://leanstack.io/stackups/redisgreen-vs-redis-to-go-vs-redis-cloud RedisCloud がよさそう。 $ heroku addons:add rediscloud Adding rediscloud on shinobi-dev... do
The type for this book is set in 18px / 1.5 Adobe Serif, Sans, and Code. Welcome to Learn Ruby the Hard Way, 3rd Edition. You can visit the companion site to the book at http://learnrubythehardway.org/ where you can purchase digital downloads and paper versions of the book. The free HTML version of the book is available at http://learnrubythehardway.org/book/. Common Student Questions How long doe
まとめようと思った経緯 題名の通りRuby(Rails)にはmethod名に「?」がつくmethodが多く存在します。 「空文字の場合はtrue/falseどっち返すんだっけ?」ってなってconsole等で確認することが良くあるので、 (自分が)よく使うものを一覧でまとめておいてみる 環境とか 今回の検証環境は下記 下記のversionにしたのは最新使ってみたかったという理由のみ! $ ruby -v ruby 2.2.0preview2 $ rails -v Rails 4.2.0.rc3各methodで調べるデータは下記 nil true false 文字(空文字と空文字以外) 数値(0と1) 配列(空配列と空配列以外) Hash(空Hashと空Hash以外) 実行するコードは下記 nil?の部分を各methodに変更していく params = [nil, true, false, "
これは AngularJS Advent Calendar 2014 の12/16の投稿です。 この記事はAngularJSってより、フロントエンドフレームワークの新しい手法について書いてあります。 枯れた技術しか好まない方、日本語の記事が揃うまでは何が何でも手を付けたくない方は来年のアドベントカレンダーにご期待ください。 概要 AngularJS等のフロントエンドフレームワークにはレンダリング完了までの時間が、通常のページに比べて、DOMの構築する手順が増えた分、とてもコストの多い作業となっています。 それらに関して、Twitter Mobileで採用された1つのアプローチを紹介したいと思います。 歴史 昔(と言ってもまだ10年経ってない)からJavaアプレットやフラッシュ、Flex、ASP.NETなど、沢山のブラウザ上で動くリッチなアプリケーションが生まれては大きな堅い企業の一部を除い
In my previous post I described upgrading to ui-grid 3.0, which is the not-yet-beta version of ng-grid. Over time this will offer significant benefits, at the moment it feels like a faster ng-grid. As part of implementing it on my core application I needed to rewrite the library routines for my end-to-end testing using protractor. These were reasonably tricky to work out, so I thought I’d post
AngularJS TutorialLearn how to use AngularJS and Ruby on Rails to build web apps. Introduction The goal of this tutorial is to guide you through the creation of a Reddit/Hacker News clone using Rails 4 and AngularJS. By completing this tutorial, you will gain a basic understanding of Rails and AngularJS, using Rails to build a JSON REST API that interacts with an AngularJS frontend.Prerequisites T
#JavaScript忘年会 今年で忘れていいもの YUI Library :ghost: YUI Important Announcement Regarding YUI | Yahoo Engineering YUIの開発は終了 Yetiも開発終了? - Future of YETI? · Issue #90 · yui/yeti Pure.cssは継続 - YUI is going away - what does this mean for Pure? · Issue #373 · yahoo/pure iframeでクロスドメインハック :ghost: => postMessage :star: window.nameを使った方法 <iframe src="http://example.com/" name="message"> iframe内からはwindow.nameで"me
リアルタイム集計・可視化環境(Norikra+Kibana4+Elasticsearch+Fluentd+Nginx)をfig一発で気楽に立ち上げる。ElasticsearchDockerNorikraKibanafig このエントリーはドワンゴアドベントカレンダー17日目のエントリーです。 ストリーム処理エンジンのNorikraについて、最近聞くことが増えてきました。 使ってみたい方は結構いるのではないでしょうか。 とは言え、「ストリーム処理を試してみたい、環境構築してやってみよう」と思っても、JRuby入れてNorikra入れて、fluentd入れてNorikraとのin/outの連携して、集計結果を格納する為にElasticsearch構築して、Kibanaから見れるようにして、認証機構や改廃の機構も入れて...あ、ストリームソースも用意しなきゃ...となって、そこそこ手間が掛かりま
MySQLのロック機能を使って楽に cronジョブの多重実行回避をしようという話 たかがロック、されどロック システムで非同期にキューの処理などを行う場合、cronを使って短い間隔でバッチジョブを起動してキューを処理するという方法がよく取られるが、キューの混み具合によってはバッチジョブにかかる時間が長くなってしまうため、前に実行されたジョブがまだ走っているかどうかチェックして、もし走っている場合は処理を実行せずにそのまま終了するといった制御が必要になる。 たまにこの制御をしていないバッチジョブが溜まりに溜まってシステムをハングさせているのを見かける。 適当な空のファイルを作成してこれを flockするとか、システムコールレベルでアトミックに作成できることになっているオブジェクト(シンボリックリンクなど)を駆使してロックの代わりにするとかといったテクニックが典型的に利用されるが、これらを真面
本記事はGo Advent Calendar 2014の18日目の記事です. Go言語は,クロスコンパイルや配布のしやすさからコマンドラインツールの作成に採用されることが多い.自分もGo言語でいくつかのコマンドラインツールを作成してきた.例えば,GitHub Releaseへのツールのアップロードを簡単に行うghrというコマンドラインツールを開発をしている. コマンドラインツールをつくるときもテストは重要である.Go言語では標準テストパッケージだけで十分なテストを書くことができる.しかし,コマンドラインツールは標準出力や標準入力といったI/O処理が多く発生する.そのテスト,例えばある引数を受けたらこの出力を返し,この終了ステータスで終了するといったテストは,ちゃんとした手法が確立されているわけではなく,迷うことが多い(少なくとも自分は結構悩んだ). 本記事では,いくつかのOSSツール(得に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く