タグ

ブックマーク / qiita.com (336)

  • Dockerコンテナを本番環境で使うためのセキュリティ設定 - Qiita

    はじめに Dockerを開発環境で使うことが多くなってきてますね。 使い捨てできる環境は当に便利なので、番環境にも使いたいなーと思って、番運用で注意すべきセキュリティ周りを調べてみました。 基的な考え方 基的な考え方は以下になります。 コンテナ内部に入られるな 権限は最小限にせよ 監視を怠るな DockerといえどVPSやオンプレのセキュリティ設定と考え方は同じですね。 ここではDockerにまつわる話を書いていきます。 コンテナ内部に入られるな 信頼できるイメージを使う 多くの場合、ベースとなるピュアなOSイメージはDockerHub上のイメージを使いますが、元となるイメージがセキュアであるかどうかを確認して使うようにしましょう。 既知の脆弱性を含んでいる場合や、最悪の場合、悪意のあるスクリプトが仕込まれている場合があります。 既知の脆弱性が含まれているかどうかはDocker

    Dockerコンテナを本番環境で使うためのセキュリティ設定 - Qiita
  • そろそろプログラマーもFPGAを触ってみよう! - Qiita

    これはbuilderscon tokyo 2016の発表スライドです。 自己紹介 @kazunori_279 クラウドのデベロッパー・アドボケイト エバンジェリストみたいなお仕事 コミュニティ支援:GCPUG、bq_sushi、TensorFlow User Group etc 趣味FPGA 2013年くらいからいじり始め FPGAエクストリーム・コンピューティング主宰:合計8回 これまでに書いたFPGA記事 はてなブックマークでバズった記事たち マイクロソフトはどうやってBingをFPGAで実装したか: 952 users ハード素人が32bit CPUFPGAで自作して動かすまで読んだのまとめ: 576 users 文字通り「ネットワークがコンピューター」な金融HFTでのFPGAの使われ方: 517 users JP Morgan Chaseがデリバティブ専用スパコンをFPGA

    そろそろプログラマーもFPGAを触ってみよう! - Qiita
  • AkkaのCircuitBreakerとNetflixのHystrixの違い - Qiita

    この記事はなに? マイクロサービス等の文脈で登場するCircuitBreaker。 Scalaで使えるものの代表(要出典)として以下の2つを比較する。 Circuit Breaker - Akka Documentation シンプルだが単機能 Netflix/Hystrix 高機能 ちなみに個人的な好みはAkkaの方。 Scalaから使いやすいのと導入が簡単。 CircuitBreakerってどんなもの? 以前書いたので貼っておきます。 [Akka]CircuitBreakerはどう動くのか - Qiita 公式サンプルがある。 ちなみに独自のサンプル実装はここ。 akka.pattern.CircuitBreakerに状態遷移の条件に当たるもの(maxFailures, callTimeout, resetTimeout)を渡してインスタンス化する。 そしてCircuitBreaker

    AkkaのCircuitBreakerとNetflixのHystrixの違い - Qiita
    petitviolet
    petitviolet 2016/12/03
    書いた
  • JSONをインタラクティブに掘り下げるコマンド jid - Qiita

    はじめに 私はCLIを利用することが多いのもあり、 jq は今やJSONを利用する上は欠かせないツールとなっています。 ただ ・ jqのクエリを書くことなれるまで少し時間がかかる ・ クエリを書くことに慣れたとしても、初見だったりして 構造を把握していないJSONに関しては非常に手間 でみたいな感じだなと思っていました。 インタラクティブに jq のクエリを書いていければいいのに、と思ってツールを探しました(CLI限定で)が、あまり良さそうなものが見つかりませんでした。 そこで、Golangで何か作ってみたいのもあったので、作ったのが jid というツールです。 リポジトリ Github : simeji/jid インストール 以下からバイナリダウンロードしてzip解凍するだけです。 https://github.com/simeji/jid/releases Macの場合はbrewで入れ

    JSONをインタラクティブに掘り下げるコマンド jid - Qiita
  • [Akka]CircuitBreakerはどう動くのか - Qiita

    CircuitBreakerとは 原典にあたるのはMartin Fowler氏のpostになるはず。 リモートへのリクエストが失敗した時にうまいこと障害が伝搬しないようにするためのデザイン。 昨今のMicroserviceアーキテクチャな文脈だと考えやすい。 特定のサービスがダウンしてしまった時に、 それに依存するサービスが引きずられてダウンしてしまわないようにするもの。 Reactiveなシステムを作る上で欠かせない存在になりそう。 CircuitBreakerの状態 監視対象とするサービスの状態に応じてClose, Open, Half-Openの3つをとる。 それぞれの状態の意味はおおざっぱに以下。 Close 正常に動作していて、対象サービスにリクエストを送る状態 Open 対象サービスに異常があり、リクエストを送らない状態 Half-Open そろそろ直ったかな、とちょっとリクエ

    [Akka]CircuitBreakerはどう動くのか - Qiita
    petitviolet
    petitviolet 2016/11/28
    書いた
  • 個人所有のでっかいストレージのバックアップについて - Qiita

    2017-06-08追記 Amazon.com: : Pricing FAQ そして、家は値上げへ。 7) How much can be stored under the new plans and how much do they cost? Amazon now offers storage plans of 100 GB for $11.99, 1 TB for $59.99, and up to 30 TB for an additional $59.99 per TB. Any customer that signs up for storage with Amazon automatically gets 5 GB for free. Prime members will continue to receive free unlimited photo storage an

    個人所有のでっかいストレージのバックアップについて - Qiita
  • WEBフロントエンド開発にHaxeつかってたけどElmに乗り換えてもいいかなって思った話 - Qiita

    この発表のタイトルにHaxeが含まれていますが、”型のあるフロントエンドの世界”という当勉強会のタイトルにちなんで付けているだけで、Haxeに対する不満は殆ど出てきません。 あらかじめご容赦下さいm(__)m まぁ、でもHaxeという名前も出したのでHaxeについてもちょっとご紹介しておきましょう。 Haxe使ってた理由 DeadCodeEliminationでコンパイル後のコードが必要なコードだけになる! 標準ライブラリがそこそこ豊富(フロントエンドJavascriptと比較して) 構造的部分型便利! コンパイル時にAssetをコードに埋め込める機能 コンパイル早い 何か言語機能が欲しくなった時のマクロ Haxeやめようかなって思った理由 Haxeの弱点はエディタが少ないことにあるのは既知の事実かと思いますが、これまで愛用していたIDEAのHaxeプラグインの更新が止まってしまい、Ma

    WEBフロントエンド開発にHaxeつかってたけどElmに乗り換えてもいいかなって思った話 - Qiita
  • Scalaのカレンダー | Advent Calendar 2016 - Qiita

    About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    Scalaのカレンダー | Advent Calendar 2016 - Qiita
    petitviolet
    petitviolet 2016/10/27
    無かったので作りました
  • Akka-StreamのRunnableGraphの構築パターン - Qiita

    Akka-Streamでアプリケーションを実装する場合、 SourceとFlowとSinkを組み合わせてRunnableGraphを構築し、runして実行する。 記事ではAkka-Streamの部品のメインとなるSource, Flow, Sinkを、 Akka-ActorおよびActorPublisher, ActorSubscriberを使う場合/使わない場合でシンプルに実装してみる。 Actorを使わずにRunnableGraphを構築する まず、Actorを使わないAkka-Streamなアプリケーションを実装する。 コード全体はこちら AkkaStreamStandard.scala 今回取り扱うデータ型はこれだけ。

    Akka-StreamのRunnableGraphの構築パターン - Qiita
    petitviolet
    petitviolet 2016/10/22
    書いた
  • 2016年だけどMakefileを使ってみる - Qiita

    この資料はなに? Makeの良さを伝えるものです CとかC++の持ち物じゃない 普段使うコマンドのショートカットみたいな 2016年でもMakefileは便利 頑張らないでScala 〜VOYAGE GROUPにおけるアドネットワーク開発の戦略〜 // Speaker Deck Makeってなに?Makefile??? make(メイク)は、プログラムのビルド作業を自動化するツール。コンパイル、リンク、インストール等のルールを記述したテキストファイル (makefile) に従って、これらの作業を自動的に行う。 出典:https://ja.wikipedia.org/wiki/Make つまり、自動化のためのツール。 make が生成するのはふつう C のプログラムだが、べつに C のプログラムに限らず、Makefile に書く生成コマンドの書きように よっては、TeX のファイルだろうが

    2016年だけどMakefileを使ってみる - Qiita
  • Elixir と Reactive System に関する考察 - Qiita

    Reactive Manifesto の印象 正直 Reactive Manifesto を初めて読んだときは、Akka や Erlang についてよく知らなかったし「何か変わったことが書いてるか?」ぐらいの感じではあった。 しかしながら先日発表のあった Typesafe Reactive Platformで作るReactive System このスライドを見て、ようやく自分の中で具体例との対応付けができた。 Reactive System ・・・ Scala の Akka と Erlang, Elixir 引用するが、スライドでは「Reactive System の価値」として Reactive Manifesto にある Elastic / Resilient / Message-driven / Responsive を以下のように位置づけ整理している。 そして Scala 界隈で

    Elixir と Reactive System に関する考察 - Qiita
  • 快適なUXを実現するOptimistic Updates(楽観的更新)とは何か

    先日、とあるJavaScript関連の記事を読んでいたところ、"Optimistic Updates" という技術が紹介されていました。 日語に直すと "楽観的更新" といったところでしょうか。 はじめて聞いた言葉で、日語の記事も見当たらなかったため記事にしてみます。 Optimistic Updatesとは Optimistic Updatesというのは、ネイティブアプリやSPA(Single Page Application)などで使われる技術で、非同期の通信処理が成功するという前提(楽観)のもとに、通信のレスポンスを待たずに次の処理を行うというものです。 最も多いOptimistic Updatesの使い方は、UIへの反映をリクエストの結果を待たずに行うというものでしょう。 Optimistic Updatesの例 例えば、よくある「いいね」ボタンのようなものにOptimisti

    快適なUXを実現するOptimistic Updates(楽観的更新)とは何か
  • 2つのテキストファイルを join コマンドで結合する - Qiita

    $ join -t, a.txt b.txt 200,b,x (明示的にした場合) $ join -t, -1 1 -2 1 -o 0 1.2 2.2 a.txt b.txt 200,b,x -tは,デリミタ(区切り文字)です.-1, -2 は結合の条件で,SQLでいう INNER JOIN ON 〜 の条件式にあたります.-1 は,a.txt でキーとする列,-2 はb.txtでキーとする列です. -o は出力する列番号を指定します.1.2 は1つ目のファイル(a.txt)の2列目を表示せよという意味になります.0 を指定するとjoin条件としたキーを表示します. 外部結合(LEFT OUTER JOIN) 内部結合できるなら外部結合ももちろんできます.

    2つのテキストファイルを join コマンドで結合する - Qiita
  • akka.actor.FSMを永続化出来るPersistentFSM - Qiita

    状態の保持/状態遷移に長けたFSMと、その状態/状態遷移を永続化するAkka-Persistentの組み合わせとしてPersistentFSMがある。 状態を持つActorでイベントを永続化したいケース(EventSourcingなど)には強力な武器となる。 ただ、FSMと同様に普通のActor(PersistentActor)でもbecomeを使えば状態は表現できるので使いどころは難しいかもしれない。 ドキュメントにもあるようにexperimentalなものなので注意(v2.4.9時点) 実装の仕方 akka.actor.Actorの代わりにakka.persistence.fsm.PersistentFSMをextendsしてやればよい。 通常のFSMは型パラメータとしてStateとDataにあたる型を2つ要求したが、PersistentFSMでは型パラメータを3つ、State/Dat

    akka.actor.FSMを永続化出来るPersistentFSM - Qiita
    petitviolet
    petitviolet 2016/08/30
    書いた
  • Akka-Persistenceコトハジメ - Qiita

    Akka-Persistenceはstatefulなactorの内部状態を永続化することによって、生成時、再開時、migration時などに状態を復旧することを可能とするもの。 内部状態に至るまでのイベント(メッセージ)を永続化しておくことで、そのイベントを再生すれば全く同じ状態を再現させることが出来るため、CQRS/ESの文脈で最近はよく出てきている(気がする)。 build.sbt まずはbuild.sbtに依存を追加する。 バージョンは適宜変更すること。(Release Versions) サンプルでの永続化先としてLevelDBを利用する。 val akkaVersion = "2.4.9-RC2" libraryDependencies ++= Seq( "com.typesafe.akka" %% "akka-actor" % akkaVersion, "com.typesaf

    Akka-Persistenceコトハジメ - Qiita
    petitviolet
    petitviolet 2016/08/28
    書いた
  • Actorで作る有限オートマトン - Qiita

    有限オートマトン? Finite State Machine(FSM) ざっくり言うとイベントを受け取って状態遷移するステートマシン。 詳しくはWikipedia参照 FSMをActorで実装する まさにそのためのakka.actor.FSMがあるので、これを使って実装する。 FSMに必要な型を定義する 必要となるのは以下の3つの型 State FSMの状態 Data FSMが内部的に持つ情報 Event FSMの状態遷移をキックするもの 今回は信号をFSMで実装してみる。 sealed trait SignalState case object Red extends SignalState case object Green extends SignalState case object Yellow extends SignalState sealed trait SignalDat

    Actorで作る有限オートマトン - Qiita
    petitviolet
    petitviolet 2016/08/24
    書いた
  • サーバサイドpush技術としてのWebsocketとServer-sent eventsの特徴比較 - Qiita

    サーバサイドpush技術として見たときのWebsocketとServer-sent events(SSE)の特徴を整理したい。 どちらもサーバからpushできる技術 Websocketは双方向通信・SSEはサーバからクライアントへの単一方向通信 SSEはただのHTTPストリーミング WebsocketはHTTPを拡張したプロトコル 主な用途、チャット・リアルタイム通知・共同編集などリアルタイム通信 ブラウザのサポート状況 WebsocketはIE10以降のモダンブラウザが対応している SSEはIE,Edgeは対応していないが、polyfillで対応可能。 既存の開発スタックとの親和性 SSEはHTTPそのものなので、ストリームレスポンスを返せるプラットフォームなら導入が容易。素のPHPでも25行で実装可能。 Websocketは独自プロトコルなので、対応したウェブフレームワークが必要 SS

    サーバサイドpush技術としてのWebsocketとServer-sent eventsの特徴比較 - Qiita
  • Consul by HashiCorp ~サービス・ディスカバリ入門~ - Qiita

    誰? Masahito Zembutsu @zembutsu (個人用) とある会社の Technology Evangelist (仕事) HashiCorp や Docker のドキュメント翻訳や技術検証 https://pocketstudio.net http://docs.docker.jp 過去の発表スライド http://www.slideshare.net/zembutsu Topics HashiCorp Consul 概要 開発背景 アーキテクチャ Consul でサービス登録 Consul Template 会社設立は 2012 年 Mitchell Hashimoto 氏と Armon Dadger データセンタ管理に革命をもたらすこと 設計思想は The tao of HashiCorp(Workflows, not Technologies やインフラのコード化

    Consul by HashiCorp ~サービス・ディスカバリ入門~ - Qiita
  • トランポリンを試してみよう - Qiita

    はじめに Scala勉強会第176回 in 郷 : サブテーマ「Scalaで作るウェブサービス」で継続渡しスタイルについて質問して、理解が深まったので今回はトランポリンを紹介したいと思います。 主に、トランポリンを使うとなぜスタックオーバーフローが起こらなくなるのかについて紹介します。 トランポリンとは 要点だけ引用します。 As used in some Lisp implementations, a trampoline is a loop that iteratively invokes thunk-returning functions (continuation-passing style). 引用元: Trampoline (computing) - Wikipedia, the free encyclopedia 日語に翻訳してみると「いくつかのLispの実装で使用される

    トランポリンを試してみよう - Qiita
  • リモート・ファースト VS リモート・フレンドリー - Qiita

    Remote-First vs Remote-Friendly[元]Zach Holman[著]George Domenico[翻訳] 場所に縛られない生き方...万歳!ボブはサンディエゴ、私たちはサンフランシスコ在住。Slackルームが用意されているので、皆が自由にやってきて、いつでも(午前8〜9時)働くことができます。とはいえ、ボブは当に一人狼なところがあるんで、近いうちにクビにしようかと検討中ですよ。まあ、とにかく、遠くにいても、ビシッと働くことができちゃう訳です。 遠隔作業に関しては、私たちは、まだまだ「多感な青春時代」を送っています。多くの企業で、Slack、Hangouts、GitLabといったツールが採用されていることを考えると、どうやら、私たちの技術スキルの照準は正しい標的に合っていたようです。...プロセスやワークフローの成熟には程遠いですが。 ただチャットルームを使う

    リモート・ファースト VS リモート・フレンドリー - Qiita