hbstyle20151112 で Let's Encrypt と ACME について雑に喋りました
![Let's Encrypt & ACME Overview (hbstyle-2015-1112)](https://cdn-ak-scissors.b.st-hatena.com/image/square/9c76c39d50ef097cb691589ec4df14f2c8aacebf/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F419586ab00b140bfa40a81a4ccd71f4b%2Fslide_0.jpg%3F5561703)
Stretcher を使うと、Consul と連携して、所謂 Pull 型の Deploy ができるようになります。 Consul と連携させる場合は、 $ consul event -name deploy s3://xxx-stretcher-files/deploy-20151112-193139.yml のように、consul event で Manifest の path を指定してイベントを送ると、 YAML に書いてある path(s3, http, file) から tar.gz を取得して展開してくれます。 Stretcher は Rollback するのも簡単で、 Rollback したいバージョンの Manifest の path を指定して consul event を実行するだけです。 S3 に置いている場合、都度 aws s3 ls などして Manifest
監視とは継続的なテストである、という話 (もしくは cronlog とテストスクリプトを組み合わせた監視手法について)に続きます 今日ようやく、積ん読状態だった「Software Design 2010年1月号」を手に取ったのですが、特集が「今日から使えるスクリプト満載! [プロ直伝]お手軽サーバ監視術」。興味深く拝読したのですが、もっと楽ができるのにと思うところも。ちょうど、昨年末に運用しているサービス「パストラック」のサーバを移転し、crontab と perl で書かれたスクリプト群を使った監視環境を構築したところなので、そこで使っているスクリプト cronlog を紹介したいと思います。 特集の前書きにも書かれていることですが、サーバやネットワーク機器が多数ある環境なら、Nagios を始めとする、専ら監視のために作られたソフトウェアを使って、監視システムを構築すべきです。逆に小規
2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一本化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod
--- driver: name: docker driver_config: use_sudo: false socket: <%= ENV['DOCKER_HOST'] %> platforms: - name: centos-6.5 suites: - name: default driver_config: volume: - <%= Dir::pwd %>/host:/var/guest:rw run_list: - recipe[pz-postgresql] attributes: busser: sudo: true Templateエンジンが噛んでいるのでRubyのコードが埋め込めるのが素敵。 各人好きな場所にソースコードを置いてもらっても同じように動く。 ユースケース 今まで、Vagrant(VirtualBox)で複数立てるとリソース食いすぎるから、 無理やりAll i
こんにちは。おうちハッカーの石田です。 いつもはおうちハックネタばかりですが、今日は人工知能関連の話題です。 今日2015/11/10、Googleが自社サービスで使っているDeepLearningを始めとする機械学習技術のライブラリを公開しました。 TensorFlowという名前で、おそらくテンソルフローと呼びます。 テンソルは、数学の線形の量を表す概念で、ベクトルの親戚みたいなものです。それにフローをつけるということは、そういった複雑な多次元ベクトル量を流れるように処理できる、という意味が込められているのだと思います。 こちらをさっそく触ってみたので、紹介したいと思います。 TensorFlowの特徴 公式紹介ページから特徴をいくつかピックアップします。 Deep Flexibility ~深い柔軟性~ 要望に応じて、柔軟にニューラルネットワークを構築できます。ニューラルネットワークの
本連載は、テストコードをこれから書こうと考えているJavaScript技術者を対象に、テストコードの意義から、テスト駆動開発、JavaScriptでのテストコードの書き方、継続的インテグレーションなどテスト全般にわたって解説します。また、原理原則だけでなくWhyから説明し、チームメンバーを巻き込みながら開発現場に活かせる考え方を総合的に解説します。第4回目の本稿は、JavaScriptでのテストダブルの方法を、Sinon.jsというJavaScriptテストダブルモジュールを使って説明します。 対象読者 JavaScriptの基本をある程度理解している方 テストコードをこれから書こうと考えている方 テストダブルとは テストコードを実行する際に、次のような課題に直面したことはないでしょうか。 Ajaxへのサーバへの問い合わせのような外部リソースも含めた処理のテストを行う必要があるが、テストデ
— 環境 — Ruby 2.2.2 Rails 4.2 ※ 2015/11/12 記事の末尾に追記しました。 リファクタリング前のコード 単純化してますけど、具体的には以下のようなサンプルで、最初に書いたのが次のようなコード。 class Person def initialize(name, age) @name = name @age = age end def get_old @age += 1 end end class Female < Person MARRIAGE_AGE = 16 def marriageable? @age >= MARRIAGE_AGE end end class Male < Person MARRIAGE_AGE = 18 def marriageable? @age >= MARRIAGE_AGE end end taro = Male.new('
gem 探すときにとりあえず The Ruby Toolbox を見るんだけど、 The Ruby Toolbox は昔からある gem が上位に来てしまう傾向にあって、 後発の gem は埋もれてしまいがちだ。 わりと gem を探していると、あまり使われてない gem や、新しく出来た gem であっても 設計がシンプルだったりしていい感じの物があるので、そういうやつを効率的に見つけたい。 github の Advanced search が便利だった github の検索結果ページの左下に Advanced search へのリンクがある。 ここで条件を細かく指定して検索すると効率よく gem を探すことができた。 とりあえず次のような条件で検索した。 言語を Ruby に限定 Star 数が 100 を超えている 最終コミットが今年中に行われている 拡張子が gemspec のファ
地味サービス大好きっ子の森永です。 CloudTrailのログ、活用できてますか。 私はできていません。 「活用しないログはただのログだ、いや、ただのコストだ」 昔の偉い人は言いました。(言ってません) re:Inventの直前にElasticSearch Serviceが発表されました。 これだ。これが道だ。 ということで、無駄にためていたCloudTrailの監査ログをElasticSearch Serviceで活用できるようにするまでをまとめてみました。 構成 こんな感じです。 まずは、CloudTrailのログをCloudWatch Logsに流し込みます。 そんでもってCloudWatch Logsに流し込まれたログをLambdaを使ってElasticSearch Serviceへ流し込みます。 いやーめんどくさそうですねー Lambdaが出てきたあたりで諦めたくなった人もいらっ
( 調査 )Deep Learning 計算を、FPGA 専用アクセレレータ 上で 高速 に 行う試み ~ Deep Learning 計算基盤 を、GPU から 自社製FPGA に 切り替える動き が 加速中。今後はさらに、Neuromorphic chip がやってくる?FPGADeepLearningneuromorphic-computingneuromorphic-tipCognitive-computing 1. 個人プログラマの手で、機械学習 / Deep learning 専用 FPGAアクセレレータを論理合成した先行事例 が Webに公開されている Google検索でしらべたところ、以下 の 高前田 伸也 氏 のSlide Shareが、公開されている先行事例として先駆的です。 ( 以下、下記 の SlideShare から 該当ページを抜粋して転載 ) (Slide S
どうも、吉田真吾(@yoshidashingo)です。 あらゆるツールがSaaSになってきて、「所有」から「利用」へいう態度が今後ますます合理的な選択に思われます。大事なのは、たいていのサービスが月極めで始めたり辞めたりが可能なので、買ってしまったものとは違い、使いたくなったらすぐに課金し、使わなくなったらすぐに解約する、月ごとの見直しをちゃんとやるということですね。(使わないのに課金しっぱなしだったら結局いちどきに買ってしまうことと変わらないと思うので) ということで10月も終わることだしちょっと見なおしてみました。 今継続課金してるサービス Feedly プラン:Pro = $5.41 https://feedly.com/i/pro/landing-pro なぜ有料プランにしたか:Pro自体は色々機能やサポートがあるみたいだけど、「iPhoneのReederでfavorite(Fee
There's little more frustrating than going to the effort of writing an urgent email, only for the response to come too late. But the problem may not lie with the recipient. It may lie with you and how you've crafted your message. Research has uncovered many insights into how to persuade more members of a mailing list to open, read, and click on links within emails. But there's less information abo
ストレージの性能比較項目として一般的なのはIOPSと帯域ですが、SSDの登場によりレイテンシが注目されるようになりました。HDDの場合はどのモデルも回転数やシークタイムはそれほど差違がなく、結果的にレイテンシも差違がないため、比較項目としてはあまり注目されてこなかったのだと思います。
IBM TechXchange Community Together, we can connect via forums, blogs, files and face-to-face networking. Find your community Where is my content? If you’re looking for developerWorks content or a Support forum and ended up here, don't panic! You are in the right place. The content you're looking for. This page will help you find the content you are looking for, get answers to your questions, and f
I’m a maintainer and big fan of Docker Machine for quickly generating and using Docker hosts in the cloud and elsewhere. Creating and accessing machines, however, is only the beginning of the battle, as most drivers will leave you with a machine which is a relatively blank slate, and you may want to customize the machines to your liking with a provisioning process of your own in addition to Docker
2015年11月10日に某社の社内勉強会で、「強いチームの作り方」というテーマで話をしたのでその際の資料を公開しておきます。 内容自体は、WEB+DB PRESS 83号に書いた内容なので興味があればそちらを参照ください。 最近DevOpsの文脈ですぐに「インフラ自動化しないといけない」とか「ツール使って効率化」みたいな話を頻繁に聞きます。 が、端的にいえば、「実際のところ、ソフトウェア開発上の問題の多くは、技術的というより社会学的なものである」というデマルコの一節の通りであり、 DevOpsの本質もツールではなく、CLAMS(Culture、Lean、Automation、Measurement、Sharing)であって、土台となるのはやはり組織やチームの文化になります。 一度自分たちのチームや組織について考えてみるとよいと思います。
Relational databases are a cornerstone of the enterprise IT landscape, powering business-critical applications of many kinds. Though they have been around for a while, current commercial relational databases have lagged behind in innovation. Amazon Aurora, a managed database service built for the cloud, is intended to change that. It targets the high-performance needs of business-critical applicat
This post was first published on SparkIQ Labs’ blog and re-posted on my personal blog. Introduction In this blog post, we shall learn how to launch a Spark stand alone cluster on Amazon Web Services (AWS) Elastic Compute Cloud (EC2) for analysis of Big Data. This is a continuation from our previous blog, which showed us how to download Apache Spark and start SparkR locally on windows OS and RStudi
今週火曜日に開催された https://aws.amazon.com/jp/about-aws/events/2015/aurora_20151110/ で、RDS for MySQL から Amazon Aurora への移行に関するセッションを行ってきました。 本記事は資料の公開と、事前に読んでおいたほうがいい資料などについてのまとめです。 目次 目次 資料 事前に読んでおくべき資料 Amazon Aurora の特性 Aurora移行に関して パフォーマンス系 他クラウドプラットフォームのRDBMSと注目 Azure GCP まとめ 余談 資料 speakerdeck.com 言いたいことは1つで、RDS for MySQL を使ってる人、特に MultiAZ での堅牢性を求める人にとっては Aurora に移行しない理由がほぼないということです。*1 InnoDB 以外のストレージ
Every so often I get the question – “What is the overhead incurred by using TLS?”. Strangely enough, I couldn’t find a straight answer by doing some searching on the web, so let’s explore the answer. The TLS handshake has multiple variations, but let’s pick the most common one – anonymous client and authenticated server (the connections browsers use most of the time). As per the TLS standard the h
Ngnix web server provides 'array' utility. This utility provides set of API functions to create array and push elements. There is no API function to remove elements in the array. Since it uses pool functions internally to allocate memory, I am guessing that these elements will also be destroyed as part of the pool cleanup. Following structure represents the array: struct ngx_array_s { void
The Internet <-> nginx(リバースプロキシ) <-> nginx(Webサーバ) という構成で、Web サーバ側のアクセスログを見ると、 リバースプロキシの IP だけが並んでいて、がっかりします。 そこでアクセス元の IPアドレスを正しく通知するように設定します。 手順としては 1. リバースプロキシ側の nginx で "X-Forwarded-For" というヘッダを追加。 2. Webサーバ側で、"X-Forwarded-For" の値をクライアントの IPアドレスとして使用するように設定。 3. リバースプロキシと Webサーバの nginx を再起動。 Apache なら mod-rpaf で出来るそうですが、今回は nginx なので HttpRealipModule を使います。 まずは、Webサーバ側のの nginx に HttpRealipModul
F5 Sites DevCentral Connect & learn in our hosted community F5 Labs The latest threat intel and research to help protect your apps MyF5 Your key to everything F5, including support, registration keys, and subscriptions Partner Central Research and support for partners LearnF5 Guidance, insights, and how to use F5 products Contact F5 Contact F5 Sales Talk to an F5 sales representative Contact F5 Su
Sometimes it’s required to build the last tag of your software with Jenkins. Mostly I use it to build a last stable release automatically with Jenkins. I use GitHub for my software so I use by default tags for each release. Every tag contains a version number which could be automatically filtered by Jenkins. Use the advanced button for git and specify a refspec in the Jenkins that only selects the
マイクロサービスのアーキテクチャでシステムを開発すると、サービス間の通信を効率的に管理する方法が必要になる。この問題を解決するためにHAProxyを使う一例を提示する。 「マイクロサービス」は、この10年でもっとも興味深いアーキテクチャーのスタイルを表す言葉として、使い散らされている最新のアーキテクチャーバズワードでしょう。 マイクロサービスとは? Martin Fowlerの定義によれば以下のようになります。 要するにマイクロサービスというアーキテクチャーのスタイルは、それぞれが独自のプロセスで動きHTTPリソースAPIなどの軽量なメカニズムでコミュニケーションを取り合う小さなサービスの形をとったひとつのアプリケーションを開発していくというアプローチです。これらのサービスは、ビジネス上の機能を中心に作られ、完全に自動化されたデプロイの仕組みによって、別々にデプロイできます。これらのサービ
elixirでテキストファイルの読み込み テキストファイルの読み込みはこちらを参考にします。 IO and the file system まず、ファイルを1行づつ読み込んで処理するところまで。 # csvファイルをutf-8でオープン{:ok, fp} = File.open("zip_utf8.csv", [:read, :utf8])# 一行づつ読み込みEnum.each(IO.stream(fp, :line), fn(line) -> # カンマで分割し、リストからタプルに変換 row = List.to_tuple( String.split(line, ",") ) # 前後の「"」を除去し、郵便番号(7桁)取得 zip = String.strip(elem(row, 2), ?") # 住所は3つに分割されているので、
スタートアップの事業内容は多種多様ですが、その中で技術的な観点から事業に携わり、ビジョンの実現に向けてエンジニアを率い、新しいサービスを生み出していくというCTOの役割は変わりません。そして、CTOが抱える「悩み」にも共通項が多いのではないでしょうか。そんな悩めるCTOたちが集い、率直に意見を交換し合う場が11月4日に設けられました。 ミーティングのファシリテーターを務めるのは、元グーグルの及川卓也さんです。ITの力を活用して災害発生時の情報収集・活用・発信を支援する「情報支援レスキュー隊」の活動に加え、若手エンジニアにアドバイスを行ったり、さまざまなイベントに参加したりと、これまで以上に精力的に活動する及川さん。さまざまなスタートアップのCTOたちと話を交わす機会も増えたそうですが、「皆さん、共通する悩みを抱えているように感じます。そこで、いろんな知恵、経験を共有することで発展していくお
Joumae(錠前)というサーバレスの分散ロックサービスをOSSとして公開したので、ご紹介させていただきます AWS LambdaとAPI Gateway、DynamoDB、JAWSフレームワークなどを利用していて、小規模な社内利用であれば月々数十円で運用できます。 Webアプリ(joumae-users、joumae-resources) クライアント(joumae-ruby) Joumaeとは Joumaeはサーバレスの分散ロックサービス(Distributed Locking Service, Distributed Lock Manager)です。 任意のシェルコマンドや、プログラム中の任意のコードブロックを、クラスタ全体で排他的に実行するために使うことが出来ます。 Joumaeの利用例 例えば、クラウドワークスではデプロイロックのために活用しています。 アプリとインフラのBlue
こんにちは、Takiです。早速ですが今回は東京で美味しい「ブリしゃぶ」を食べることができるオススメのお店について紹介したいと思います。 まずとにかく言いたいのがもし「ブリしゃぶ」を食べたことが無かったら、是非一度食べてみてほしい、ということ。本当に美味しくて一度食べたら絶対にハマるのではと思います。 自分自身も、以前仕事で行った金沢で食べた「ブリしゃぶ」があまりにも美味しすぎて、東京で美味しい「ブリしゃぶ」を食べられるお店は無いのかなと探し、見つけたのがここ水道橋の「能登美」さん。東京で美味しいブリしゃぶが食べれて、それでいて値段も手頃。うまい日本酒が揃っているというのも気に入っているところ。本店と別館があるんですが、今回は別館へ伺いました。 この内容で4,000円以下。驚きのコース全貌 期間限定の「能登産天然ブリしゃぶコース」は3,980円。ブリしゃぶが食べられるのはもちろん、ひとつひと
Slackで簡単に「日報」ならぬ「分報」をチームで実現する3ステップ 〜Problemが10分で解決するチャットを作ろう〜 開発プロジェクトを進めていくと、チームは様々な課題に直面する。こうした課題は、週次のミーティングや日報で共有して解決していくことが多い。 課題は大小様々だが、特に数時間で解決できるような小さな課題をいかにリアルタイムで解決していくかで、チームのスピード感が大きく変わってくる。 僕のチームでは、リアルタイムの課題解決の為に、社内チャットSlackを社内Twitterのようにする邪道な使い方「分報」という取り組みを実践している。 > 日報の弱点日報の弱点 日報は一日の業務の報告書で、一般的に「進捗状況」「体験」「学習」「課題」が記載される。これらをチームで共有することで暗黙知を減らし、個人とチームを成長されることが目的だ。報告方法はチームによって様々だが、メールをはじめ、
Upgrading Directly from MySQL 5.0 to 5.7 using an 'In Place' Upgrade This article is the second in a two-part series on upgrading MySQL. The first article, Upgrade from 5.0 directly to 5.7 using mysqldump, discussed performing an upgrade using the mysqldump utility. We call that a ‘Dump’ Upgrade. In this article, we will discuss what we call an ‘In Place’ Upgrade, also known as a Binary Upgrade
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く