メモった。間違い等あるかもしれませんが、その場合はごめんなさい。 デプロイとは あらゆるコードやバイナリ、アセットなどの配布をデプロイと定義 インフラストラクチャーの構築はプロビジョニングとする なぜデプロイに注目する必要があるのか AWSのイノベーションのペース 合計1000以上の新サービス、新機能をリリース フィードバックループを回し続け、顧客の期待に応え続ける Amazon.comのデプロイ 平日のデプロイ間隔 11.6秒 1時間あたりの最高デプロイ回数 1079回 1回のデプロイで平均10000台のホストに変更を加える 1回のデプロイで最大30000台のホストへの変更 Two pizzaルール 1チームの大きさは、2枚のピザで全員お腹いっぱいになれる規模 それを保って頻繁にデプロイできるレベルに 作った人が運用をやるポリシー クロスファンクショナルチーム 各チームメンバーが何ができ
Node.jsを調べ始めるとよく目に付く非同期という言葉。いまいち分からないこの言葉を理解するために、Asynchronous Code Design with Node.js (The Shine blog)を読んでみました。かなり分かり易い内容だったので、自分の為に訳したものを載せてみます。英語は不得手なため、誤訳等あればご連絡ください。 以下、訳文となります。 はじめに Node.jsの非同期イベント駆動I/Oは、マルチスレッドエンタープライズアプリケーションサーバの伝統的な同期I/Oとは異なる高性能なものとして、現在多くの企業により評価されている。非同期は、企業の開発者が新たなプログラミングパターンを習得し、古いパターンを忘れなければならないことを、自然に意味している。彼らは思いっきり頭を切り替えなければならないし、電気ショックが必要かもしれない。この記事では、古い同期プログラミン
アプリ開発の勉強を始めてみたものの、何を作ればいいのか分からない。アプリ開発をしてみたいけれど、何ができるのかイメージがわかない。アプリ開発初心者の方からはそんな声がよく聞かれます。 何を作るのか考えることと、それを実現する方法を学ぶことは違いますので、それも当然です。そんなときは、天才的なアイディアにたくさん触れることがおススメです。優れたアイディアから学び、ときには盗み、アプリ開発の参考にしてみてください。 "CodeCampus"はオンラインプログラミングスクール No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアです CodeCampとは?(受講生体験記) 「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。元バレエダンサーの挑戦普通の文系大学生/営業職が、エンジニアへ転職し起業するまで成
PostgreSQLで外部からのJDBC接続があっさりできませんでした。 解決するためにやったことを記載します。 JDBC接続に必要な情報 JDBCドライバー Class.forName()等でロードするクラスは以下です。 org.postgresql.Driver URL jdbc:postgresql://${host}:${port}/${db} ${host}:接続するDBサーバー ${port}:ポート番号(デフォルトは5432) ${db}:使用するデータベース名 サーバーの設定 PostgreSQLの設定がデフォルトのままだとJDBC接続ができませんでした。 接続を受け付けるホストと、そのホストが接続できるデータベースおよび認証方法を設定する必要がありました。 ちなみに最初に見たエラーは次の通りです。 org.postgresql.util.PSQLException: 接続
JSR352(Batch Application)を動かして見たので、その記録を残しておくと。 まず、動かしてみたいレベルだったのでサクッと動かすことができそうなBatchletを使っています。 実際にバッチアプリケーションを作成する際は、BatchletにはSQL一発ですむ処理を実装したりするのだと思います。 早速コードなどなどを見ていきます。 ジョブ定義 ジョブ定義は、META-INF/batch-jobs配下にxmlファイルで作成する必要があります。 こんな感じですね。 ファイルの内容は下のようになっています。 そんな難しい構造ではないのでさくっと作れます。jobのid属性には、xmlのファイル名の拡張子をなくしたものを設定します。 今回は、Batchletを動かすので、ステップ定義(step id="step"の部分)にbatchletを定義します。 ref属性には、cdiで管理さ
昨日、はてなブックマークのRSSフィードがどこにあるのかわからなかったので、はてなのサポートに問い合わせをしました。 はてブのRSSフィードがどこにあるのわからない - Sprint Life さっそく今日回答をいただいたのですが、ブラウザからRSSフィードを検出する機能で確認できるとのこと。普段使ってなかったのでそういう機能があったことも忘れてました。 ブラウザでの確認方法 IEはコマンドバーにRSSフィードのアイコンがあります。*1 Firefox(Ver.26)はブックマークバーの中にある「このページを購読」 Chromeは「RSS Subscription Extension(by Google)」の拡張機能を使う。サポートの方からの回答で知りました。 RSSフィードのURL URLについては、各カテゴリーのページの末尾に.rssを付加すればいいとのこと。hotentryが人気のエ
そこで買ったのがCote&Cielコートセシエル“Isar Rucksack”というバックパック。EVERNOTE MARKETでも販売されているのを見て、EVERNOTEのバックパックという感じで覚えてたんですが、なんともこの形が奇抜すぎてお洒落感はんぱない。まぁデザインも良いし、ほぼ衝動買いみたいな感じで買ってしまいました。 Cote&Ciel Isar Rucksack ミディアム(小さい方) まず外観とか機能とか収納とか 全体の形はこんな感じ。 チャックを開けるとこんな感じで中が見やすい設計になっています。 内側に2つのアクセサリーポーチが付いています。 素材表面はこんな感じ。Gパンみたいな感じ。EcoYarn(エコヤーン)素材といって、リサイクル糸を使っていて、エコロジー。 素材も丈夫なので、ハイキングなどの荒い使い方にも耐えるし、色的にもスーツに似合うバックパックと感じている。
もう世間は秋なんですかね…。 物欲が止まらない今日この頃なんですが…たぶん秋のせいに違いないと思っています…( ꒪⌓꒪) iPhone があろうとも iPad があろうとも、やっぱり MacBook Air が手放せないでいる私でありまして、どうしてもその ケース やら バッグ やら次々と目移りしていくのであります。 これもやっぱり秋の空…。(しつこい…。) というわけで、再び気になる MacBook Air の ケース と バッグ を集めてみました。 今まで購入したものなども入れてあるので、これから選ばれる方もぜひご参考に…一緒に考えましょう…((((;゚Д゚)))))))ガクガクブルブル 1. BookBook for MacBook Air まずは、以前にもご紹介した事があるこのケース。 これは可愛いと思います。BookBook の中で一番『本』らしいんじゃないだろうか!(/
Docker ネタです。 今回紹介するツールを使うよりも良い方法があれば教えていただけると幸いです。 Dockerfile の ADD(COPY) に指定できるファイルやディレクトリのパスは、 Dockerfile と同じディレクトリからの相対パスでなくてはいけません。 そのため、同じファイルを ADD(COPY) したい場合は、 $ tree dockerfiles dockerfiles ├── mysql │ ├── Dockerfile │ └── samefile └── nginx ├── Dockerfile └── samefile 2 directories, 4 files のように、同じファイルをそれぞれのディレクトリに配置することになると思います。 ちなみに、symlink をはれば同じファイルを配置しなくて良いかと思いましたが、 ファイルへの symlin
» 【良心的すぎ】新鮮な刺身が大盛り25切れ入った定食が500円! 地域に愛される『えいこ鮮魚店』 特集 新鮮なお刺身を醤油につけて、ワサビをちょこんと乗せ、白米と一緒に「ハムっ、ハムハム、ハフっ!」といただく。日本人だからこそできる至福の瞬間である。 でも質のいいお刺身となると値段もはって来るので、なかなか上等な刺身オンザライスを楽しむのは難しい。しかし! 新鮮な地の鮮魚をたくさん乗せた刺身盛り合わせ定食を500円という、奇跡的な値段で食べられる店が存在するのをご存じだろうか? ・その店の名前は『えいこ鮮魚店』 そのお店は沖縄県・石垣市にある『えいこ鮮魚店』。リーズナブルすぎる値段で本マグロの刺身などを販売する鮮魚店が横に併設されている定食屋だ。 石垣島にはこのような鮮魚店が多数あり、島民が刺身を買って夕食のおかずにすることが定番になっているという。「沖縄=刺身」というイメージがあまり他
Cargo Tracker とは エリック・エヴァンスのドメイン駆動設計 で紹介されている様々なパターンを実際に使用して、有志が作成したサンプル Web アプリのこと。 DDD Sample Application - Introduction オリジナルは Spring Framework を使用している。 一方、この実装を Java EE 7 で置き換えたサンプルが公開されている。 Cargo Tracker この実装を読みながら、 DDD で紹介されている以下のパターンがどのように実装されているのかを確かめてみる。 レイヤ化アーキテクチャ エンティティ 値オブジェクト 集約 リポジトリ サンプルアプリを動かす ソースのダウンロード このページ の一番下に zip のリンクがあるので、そこからダウンロードする。 環境準備 以下のソフトウェアをインストールする。 JDK 7 以上 Mav
PostgreSQL 9.2より追加されたJSON型だが、特徴を理解して適切に使わないと色々な副作用に悩まされることになる。その問題点を挙げると共に、どのような場合に使うべきかの指針を示す。 PostgreSQLは、データ型としてjsonをサポートしています。しかし、やりたいことがある時に何でもかんでもjson型を使ってしまうというのはやめるべきです。これは、hstoreや新しく登場したjsonb型にも同じことが言えます。これらの型は必要な時には便利なツールになりますが、PostgreSQLでデータのモデリングを行う際に最初に検討すべきものではありません。 なぜなら、データを呼び出したり操作したりするのが難しくなってしまうためです。 何もかも同じところに入れてしまおうとすることによるアンチパターンをご存知の読者もいるでしょう。EAVアンチパターンは、長らくデータベーススキーマにおける必要悪
設定ファイルやスクリプトのソースなどでは、ダブルクォーテーションやシングルクォーテーションで値が囲まれている事が多い。 クォーテーションで囲まれている値のみを置換する場合は、以下のようにsedを実行すると良いだろう。 ダブルクォーテーションの場合 sed 's/"\([^"]*\)"/"置換後の値"/' 対象のファイルPATH [root@test-centos7 work]# cat /work/test.txt testline1="test1" testline2="test2" testline3='test3' testline4='test4' [root@test-centos7 work]# sed 's/"\([^"]*\)"/"replace"/' /work/test.txt testline1="replace" testline2="replace" testli
Linuxで特定の設定ファイルから設定値のみを取得するには、awkかsedをgrepと組み合わせると良いだろう。 たとえば、ダブルクォーテーション(")やシングルクォーテーション(')で囲まれた設定値のみを取得したい場合は、以下のようにコマンドを実行する。 ダブルクォーテーションで囲まれている場合 grep 設定項目名 設定ファイル | sed 's/[^"]*"\([^"]*\)"[^"]*/\1/g' シングルクォーテーションで囲まれている場合 grep 設定項目名 設定ファイル | sed "s/[^']*'\([^']*\)'[^']*/\1/g" イコールやスペースで区切られている場合は、awkとgrepを組み合わせればいい。 空白で区切られている場合 grep 検索する設定項目 設定ファイルPATH | awk -F' ' '{ print $2}' イコールで定義している場合
VagrantとDockerの理解がどうも曖昧だったので整理するために、それぞれどうゆうものなのかをまとめました Vagrant Vagrantとは、違う環境に移行可能な開発環境を簡単に構築・管理し、配布することができる仮想開発環境構築ソフトウェア。仮想マシンの構築手順を'Vagrantfile'という設定ファイルに記述する。 VagrantのパッケージにはRubyの実行環境が含まれているので、Rubyをインストールしなくても使用可能。 VirtualBoxやVMWareといった仮想環境の上に仮想マシンを構築して利用する。 *1.0.x系はrubygemsでも公開していたが、現行ではパッケージからインストール形式を取っている 公式サイト 主要なコマンド Vagrantfileに記述した設定に従い仮想マシンを起動
(注記:6/9、いただいた翻訳フィードバックを元に記事を修正いたしました。) 今回の記事は毎秒300万ものリクエストを処理できるほど強力で高性能なWebクラスタの構築についてのパート1になります。まず初めに、あまり多くはありませんが、私がこれまで使用したことのあるロードジェネレータツールをいくつか紹介します。私のようにてこずって時間をかけてしまわないよう、今回の記事が理解の手助けになれば幸いです。 ロードジェネレータはテストを目的とした数種類のトラフィックを発生させるプログラムです。それによって高負荷においてサーバがどのように動いているか、そのサーバの弱点はどこなのか、などが見えてきます。負荷テストを通じてサーバの限界を知ることは、サーバのレジリエンシーを測定する最適な方法であり、あらゆる問題に対する準備の手助けにもなります。 ロードジェネレータツール 負荷テストをする際に頭に入れておくべ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く