タグ

2017年1月24日のブックマーク (14件)

  • How do I create a singleton service in Angular 2?

  • Amazon ECR + ECS CLI ハンズオン - Qiita

    (2020/12/26 加筆修正:CentOS6が終了しyum update利用不能となったためAmazonLinuxコンテナへ変更。その他現行環境へ対応しました) ECR とは AWSのマネージドサービスなdocker互換コンテナレジストリです。(EC2 Container Registry) デフォルトでは自アカウントのみアクセス可能になっており、外に置きたくないコンテナイメージをAWS内で管理するのに適しています。 今回は、Webサーバコンテナを作成してECRレポジトリに登録し、ECSクラスタでWebサービスを構築します。 コンテナを強制停止しても自動的に新しいコンテナが起動し、サービスが継続されることを確認します。 みんな大好きAWSCLIでやってみましょう。 前提条件 2013年12月5日以降に作成したアカウントであること。これより古いアカウント(デフォルトVPCが存在しないクラ

    Amazon ECR + ECS CLI ハンズオン - Qiita
  • AWS ECS編~EC2 Container Registry を試してみる~

    前回は『AWS EC2編~EC2 Run Command Linuxで試してみる~』と題して、EC2 Run Command をLinuxで試してみました。 今回は『AWS ECS編~EC2 Container Registry を試してみる~』と題して、EC2 Container Registry を試してみたいと思います。 Amazon EC2 Container Registry (ECR)とは Amazon EC2 Container Registry (ECR)は完全マネージドなDockerコンテナレジストリで、開発者はDockerコンテナイメージを保存し管理しデプロイすることが簡単にできます。 Amazon ECRはAmazon ECSとDocker CLIとも連携をしているため、 開発や番でのワークフローをシンプルにできます。開発機からはDocker CLIを使ってAmaz

  • AWS CodeBuild ― フルマネージドのビルドサービス | Amazon Web Services

    Amazon Web Services ブログ AWS CodeBuild ― フルマネージドのビルドサービス 開発者は通常、ソースコードの変更に対する継続的インテグレーションのビルドとテストを実行するために、共有のビルドサーバを構築し運用しなければいけません。継続的インテグレーションを運用するのは面倒なことなので、多くの開発者はそれを避けてローカルマシンでビルドを実行します。これによって、ある開発者の環境では動作するコードが最終的な番環境ビルドで動作しないという状況が、しばしば引き起こされます。 多くの開発チームは、CI/CD(継続的インテグレーション / 継続的デプロイ)パイプラインの構成要素としてビルドファームを構築します。ビルドファームの構築と運用はコストが高く、また独特のスキルが求められます。普段はビルドファームはあまり使われていませんが、修羅場の時には利用率は100%に達し、

    AWS CodeBuild ― フルマネージドのビルドサービス | Amazon Web Services
    ikosin
    ikosin 2017/01/24
  • [feature] Allow for named volumes to specify host mount point · Issue #19990 · moby/moby

    With docker-compose 1.6 coming out soon and the new v2 syntax, I've been learning more about docker volume that came out in docker 1.9. My thought was that docker volumes could be created to replace data-only containers and --volumes-from. Specifically, it allows for cleaner docker ps and it allows us to mount volumes on two different containers at different places. But it doesn't let us persist t

    [feature] Allow for named volumes to specify host mount point · Issue #19990 · moby/moby
  • DockerのVolume機能について実験してみたことをまとめます - Qiita

    このマウント機能により、ホストとコンテナとの間でファイルのやりとりをすることができます。また、コンテナ上のファイルはコンテナを削除すると消えてしまうので、重要なデータはホスト側に保管するために利用します。 このvolumeの場所はdocker runで指定するものであるため、1度コンテナとして起動した後は変更できないようです。 この時のvolumeはuid=1000でマウントされます。gidはuid=1000のユーザの設定次第のようです。他の記事でgid=1000との記載がありましたが、私の手元ではgid=500(staff)でした。dockerではコンテナ上で通常利用するユーザをuid=1000とするのが一般的らしいので、それに則っているのかと思います。 また、ファイルのアクセス権限はホスト上の状態に従っているようす。 # マウント初期状態 % find . -exec ls -dln

    DockerのVolume機能について実験してみたことをまとめます - Qiita
  • Managing data in containers - Docker Documentation

    Volumes are the preferred mechanism for persisting data generated by and used by Docker containers. While bind mounts are dependent on the directory structure and OS of the host machine, volumes are completely managed by Docker. Volumes have several advantages over bind mounts: Volumes are easier to back up or migrate than bind mounts.You can manage volumes using Docker CLI commands or the Docker

    Managing data in containers - Docker Documentation
  • Go でシングルバイナリな Web アプリを開発しているときに webpack --watch をうまいところやる - Diary

    Go でシングルバイナリな Web アプリを開発しているときに webpack --watch をうまいところやる 個人的なアプリをつくるとき、だいたい以下のような環境で作業しています WAF は Echo go-bindata をつかって各種アセットを Go のソースにくみこみ webpack をつかって JavaScript をコンパイル にたような環境の人はおおいのでは。 Go のアプリのビルドと実行は fresh でやってます。みんなつかってるとおもいます。 webpack にかんしては --watch オプションをつかうことで、物事がおこなわれていきます。 ここで問題になるのが webpack がコンパイルしたものをいちいち go-bindata で処理しないといけないということです。これを手動でやるのはいかにもダサい。ということでいろいろかんがえたりしらべたりしたところ、 on

  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
    ikosin
    ikosin 2017/01/24
  • 私的アンリーダブルコード―他人を発狂させるための 9 のテクニック

    コードはたいてい一度しか書かれませんが、何度も何人も読むことになります。 普段何気なく書いているコードが他人の時間と精神を削っているかもしれません。 そんなわけで、個人的に辛いなと思うことを 9 つ挙げてみました。共感してもらえるものもいくつかあるんじゃないかと思います。 実体にそぐわない変数名 見分けの付かない配列とハッシュの変数名 呼び出し元で true/false を指定するだけの引数 暗黙の実行順序 [] メソッドの定義・Array の継承 ハッシュの乱用 密結合した mixin 過剰な nil guard 条件によって異なる返り値の型 推薦図書 静的型付き言語を使うことで解消される問題もありますが、その選択肢はひとまずなしということで。 Ruby 前提になっていますが、他の言語にも言えることも多いと思います。 実体にそぐわない変数名 例えば Vehicle というクラスが定義され

    私的アンリーダブルコード―他人を発狂させるための 9 のテクニック
    ikosin
    ikosin 2017/01/24
  • mattnさんのリファクタリングを読み解く - 生涯未熟

    現在絶賛開発中のkirimoriですが、なんとGolang界隈で有名なmattnさんにリファクタリングをして頂くという、とても嬉しい事態がありました✨ kirimoriについてはこちら↓ syossan.hateblo.jp リファクタリング前提でかなり雑に書いていたのですが、めちゃくちゃ良い感じにコードを直して頂けたので自分の勉強のために読み解いてみます👏 リファクタリング前 kirimoriは以下の機能を有しています。 initコマンドでkirimoriの設定ファイル(toml形式)を作成します addコマンドでコマンドライン引数に指定したプラグインを追加します removeコマンドでコマンドライン引数に指定したプラグインを削除します listコマンドでプラグインの一覧を表示します で、構成的には kirimori.go に全てのコマンドの処理をベタ書きにしてある感じになっております

    mattnさんのリファクタリングを読み解く - 生涯未熟
  • フェイスブック ジャパン に行ってきた! - 941::blog

    いいね!くしいです! ついにお邪魔してきました、フェイスブック ジャパン! Facebookは皆さんご存知かと思いますが、Facebookです!! 世界中にある拠点は全て1つのカードキーで入退館出来るそうで、色々なものをアメリカ社を基準に整備しているので細かなところまでレベルの高さがすごいオフィスでござった…。 今回で142記事目となる行ってきたシリーズでもTOP3に入る凄さでしたね… 住みたさがハンパじゃない… ここはもうアメリカじゃよ… ってなかんじで、早速いってみちゃお!!バーン!受付!阿吽! カッコよすぎでは?Facebookのオフィスはその拠点がある国で活動しているアーティストの作品をオフィスに導入するそうで、ここから出てくるアート作品なんかはほとんど日で作られたものとのこと。迫力が凄いなあ。 ==== いいね!付箋がお土産として用意されてる。欲しすぎる。 ※公開から3ヶ月以

    フェイスブック ジャパン に行ってきた! - 941::blog
  • 【参考訳】Docker 1.13 の紹介 · Pocketstudio Technology Log

    概要 2017年1月19日(木)に Docker 1.13 のメジャー・バージョンアップが公開されました。新機能ポイントを整理すると、以下の通りです。 swarm モードで Compose ファイルのサポート(新しい docker stack deploy コマンド )、Compose v3 フォーマット追加 docker コマンドラインの後方互換性に対応 docker system df の容量表示と、 docker system prune による不要なデータ削除コマンド CLI の再編成(今のコマンドは維持するものの、 docker container xxx や docker image history の利用が可能に) docker service logs でサービス全てのログを取得、Prometheus スタイルのエンドポイント 構築時に --squash オプションを指定す

  • Learn TensorFlow and deep learning, without a Ph.D. | Google Cloud Blog

    This 3-hour course (video + slides) offers developers a quick introduction to deep-learning fundamentals, with some TensorFlow thrown into the bargain. ">This 3-hour course (video + slides) offers developers a quick introduction to deep-learning fundamentals, with some TensorFlow thrown into the bargain. Deep learning (aka neural networks) is a popular approach to building machine-learning models

    Learn TensorFlow and deep learning, without a Ph.D. | Google Cloud Blog