Jenkins on Docker 最近では Jenkins サーバーを Docker 上で構築するケースが増えてきています。CI 環境は、簡単に作り直したり複製したりすることができる Docker のメリットを活かせる環境であると言えます。 ということで、Docker を使って Jenkins サーバーをローカルに構築する方法をご紹介したいと思います。また Jenkins にはプラグインをインストールして使うことが多いと思うので、プラグインがインストール済みの Docker イメージをビルドする方法も併せてご紹介します。 Docker のインストール まずはローカルに Docker が実行できる環境を作りましょう。以下のドキュメントを参考にしてください。Mac では Docker Toolbox をインストールする方法と Docker for Mac をインストールする方法の2通りがあり
今週お話しするのは、誤りの検知についてと、さらに誤りの訂正についてです。 我々が住んでいる世界は完璧ではなく、デジタルの信号(on/off)を扱う時でさえ誤りが生じます。電力の異常によりビットが反転することがあるのです。ハードウェアも失敗を起こすことがあり、信号が歪められることもあります。 デジタル信号に生じた誤りを検知する方法については既に過去に書いたことがあります。もっとも一般的なやり方は、ある種のパリティビット(ご存知なくともご心配なく。以下でパリティの意味を説明します)です。ある長さの単語に対し、シンプルなパリティビットをたった1つ加えることで、単語中のビットが1つ反転した場合にそれを検知することができます。「エラーが起こったことがわかる」ということは有益ですが、1個のパリティビットだけではその誤った信号を修復することができません。また、信号中に2個以上の誤りがあった場合、その誤り
ストレージ・ドライバを効率よく利用するためには、Docker がどのようにしてイメージをビルドし保存するのかを理解しておく必要があります。 さらにそのイメージをコンテナがどのように利用するのかを理解しておくことも重要です。 つまりイメージとコンテナの双方の操作を可能とする技術に関して、おおまかに知っておく必要があります。 Docker がイメージ内やコンテナ内にてデータをどのように管理するのかを理解しておけば、コンテナ作りやアプリケーション Docker 化の最良な方法、さらに稼動時のパフォーマンス低下を回避する方法が身につくはずです。 イメージとレイヤ¶ Docker イメージは一連のレイヤから構成されます。 個々のレイヤは、そのイメージの Dockerfile 内にある 1 つの命令に対応づいています。 一番最後にあるレイヤを除き、これ以外はすべて読み込み専用のレイヤです。 たとえば以
JavaScriptにおける非同期処理は一種の悪夢です。非同期処理は容易にコードを複雑化させ、品質の低下を招きます。そこでこの問題を解決するため、非同期処理を簡単に扱うことができる、Promiseやasync/awaitという機能が導入されました。この記事では、Promiseとasync/awaitを用いた非同期コードの単純化について簡単な解説をします。 実行順序がコード通りにはならない非同期処理 非同期処理とは何でしょうか。非同期な処理は、コードの順番通りには実行されません。どういうことか、簡単な例を見てみましょう。 setTimeout(() => console.log('hello'), 500); console.log('world!'); このコードでは500ミリ秒後に「hello」と表示し、その後に「world」を表示しようとしています。ですが、実際には「world」の後に
皆さま、こんにちは。Cygames Researchの金井と申します。 Cygames Researchでは研究開発の対象としてVRコンテンツを取り扱っていますが、今回はその一例として、The Lab Renderer for Unityの検証内容についてご紹介したいと思います。 The Lab Renderer for Unityとは The Lab Renderer for Unity(以下Lab)は、Valve社から提供されているUnity向けのAssetsであり、Unity上でVR開発を行う際の最適化手法が収められています。このAssetsは、Unity5.4 b15以降から利用可能であり、こちらのURLに概要の紹介があります。 最適化の内容についてはGDC2016でも一部紹介がありましたが、このAssetsからもValve社のVR開発における最適化の考え方を汲み取ることができ、非
docker stopってどうして時間がかかるのだろう??と疑問に思ったことはありませんか。 その理由は、Linuxではpid=1のプロセスはとても特別な扱いをうけるので簡単にkillできないという性質があるにもかかわらず、docker runでコンテナ上で実行されるコマンドはpidが1だからです。そういった問題を解決するのがdumb-initであったり、tiniであったりするわけです。 ということで、試しにdumb-initで本当に問題が解決されるか検証してみましょう。 テスト用のDockerマシンを準備する すでにテスト用の環境がある方はスキップして次に進んで下さい。 $ docker-machine create --driver virtualbox node1 $ eval $(docker-machine env node1)
EngineeringSYN Flood Mitigation with synsanityGitHub hosts a wide range of user content, and like all large websites this often causes us to become a target of denial of service attacks. Around a year ago,… GitHub hosts a wide range of user content, and like all large websites this often causes us to become a target of denial of service attacks. Around a year ago, GitHub was on the receiving end o
厳格な定義はないが、広義にはHTTPプロトコルを用いてネットワーク越しに呼び出すアプリケーション間、システム間のインターフェースのこと。 APIの機能はわかっているけれども、その中身の実際の動作は詳しくわからない(知らなくてもよい)機能の塊を、外部から呼び出す仕様のことを指す。また、上記図の右側の「呼ばれる側のシステム」そのものをWeb APIと呼ぶこともある。 ※APIとはApplication Programming Interfaceの略。 Web APIの重要性 Web APIの重要性は年々高まっている。 ※以下の図はオージス総研グループのもの Web APIの歴史 古くから知られており非常に普及したWeb APIとして、2003年に公開されたAmazonのProduct Advertising APIがある。 ※ちなみに、当時はAWS(Amazon Web Service)という
とあるサーバで妙にシステムCPUの使用率が高い現象が置きておりました。 そこで、まずはざっくりとperf topでプロファイルをとってみると、以下のようになっていました。 22.38% [kernel] [k] copy_pte_range 18.44% [kernel] [k] zap_pte_range 11.13% [kernel] [k] change_pte_range 3.58% [kernel] [k] page_fault 3.32% [kernel] [k] page_remove_rmap また、各プロセスのstraceを眺めていると、cloneで0.05秒とかなり時間がかかっているようです。これだと単純計算で1コアで秒間20回のcloneでコア100%占有してしまう程度の非常に低速な処理しかできないことになります。 sudo strace -T -o/dev/stdo
さまざまなモノをインターネットに接続する「IoT(Internet of Things:モノのインターネット)」という言葉を耳にする機会が増えてきました。 IoTは家電やウェアラブルデバイスなど身近なモノに導入されていて、もはや生活に欠かせないものになりつつあります。 そんな中、低価格のシングルボードコンピュータ「Raspberry Pi」はIoTの自作がしやすいと注目を集めていて、入門記事も増えてきました。 「Raspberry Pi」の入門に役立つ記事を7本ピックアップしましたので、IoTガジェットの開発に興味がある方はぜひご覧ください。 IoTの自作で注目されるRaspberry Pi https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/ 「Raspberry Pi(ラズベリー・パイ)」はイギリスのラズベリーパイ財団が開発し
ユーザーインターフェース(UI)- どこかで聞いたことはあるしなんとなく想像は出来る。”このアプリのUIはイケテル”や、”UIデザイナー募集”など、最近ではテクノロジー系の記事や、デザインに関する話の中に頻繁に出てくるこの言葉。 しかしちゃんと言葉で説明してみてと言われると意外と難しい。 興味はあるけどはっきりとはわからない・わかっているつもりだけどもう一度復習したい・現状はわかっているからこれからのUIついて知りたい。 そんな人たちに向けて ユーザーインターフェースの歴史良いUIと悪いUIの違いUIのこれからという3つのセクションに分け、インターフェースの本質をまとめた。 1. ユーザーインターフェースの歴史そもそもインターフェースってなに?そもそもユーザーインターフェースの「インターフェース」とはどういう意味なのだろうか。「境界面・接触面」などと訳されるこの「インターフェース」という言
インターネット接続が出来ない環境でdockerを使いたい docker pullがno routeな環境でもdockerイメージを実行してコンテナを動作させたいぞ。 想定環境 プロキシすらなくインターネットに繋がっていない = docker pullできない root権限はある ファイルの持ち込みは問題はない このような環境でdockerを動かすのが目的です。 必要な環境 docker pull可能な環境 docker imageを取得して持ち込むファイルを作成するために必要 解決策 docker saveでdockerイメージをファイル化できる docker loadでファイルからdockerイメージを読み込むことができる。 docker pullが出来ない環境でもdockerにdockerイメージとして読みこませたことで、該当イメージを自由に起動することができる。 コマンドで言うと、
このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。 前回の投稿から結構間が空いてしまいました。 今日は、Githubにて、新しいプロジェクトAlgebraicBlockMulticolorOrderingを公開しましたので、そのお知らせと解説記事です。 概要 今回公開した”AlgebraicBlockMulticolorOrdering”は、岩下・高橋・中島(2009)『代数ブロック化多色順序付け法による並列化ICCGソルバの性能評価』、情報処理学会研究報告、Vol.2009-HPC-121 No.11による「代数的ブロック化多色順序付け法」を実装したものになります。 詳しくは後述しますが簡単に言うと、この手法を使うと、ガウスザイデル法を並列化する時に元の格子の幾何形状を知らなくても収束性劣化を抑えることができるようになります。 下の図
A DockerCon Demo Claimed Docker Is a Serverless Platform Posted by Ryan S. Brown on Wed, Jun 22, 2016 In General Tags: dockercon, docker, faas Yesterday at DockerCon, Ben Firshman gave a demo of building “serverless” applications on Docker and published this blog post. Just before that, I’d published this post comparing Kubernetes and Serverless, since I was asked about it on Software Engineering
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く