タグ

2016年12月24日のブックマーク (18件)

  • 排他制御のあれこれ - Qiita

    この記事は、システムエンジニア Advent Calendar 2016 - Qiita の23日目の記事です。 昨日は @yy_yank さんの 気負わず普通にテストしよう でした。 明日は @koduki さんです。 はじめに 複数ユーザが触るアプリケーションを作る場合、同時にデータが更新された場合の制御は避けては通れません。 この制御はスレッドセーフとか同時更新とか色々な観点で考えないといけないのですが、いまいちそのあたり自分自身の中できれいに整理できていませんでした。 なので、この機会に同時に更新される場合の排他制御について、自分なりに整理してみました。 まえおき 説明に使用する言語は Java です。 説明のためにシーケンス図っぽいものを使っていますが、 UML の厳密な定義には従っていません。図が描きやすいからシーケンス図を利用している、ってだけなので厳密な記法ルールに従ってい

    排他制御のあれこれ - Qiita
  • OCJP SE8 Goldに合格しました - 白猫のメモ帳

    こんばんは。 新しいiPohoneに変えようかちょっと悩んでいます。 5sユーザなのでサイズが大きくなるのが・・・。 さて、少し前の話ですが、オラクル認定Javaプログラマの試験に合格しました。 (※写真差し替えてます。わたしはネコ科ではない。) Goldは参考書が長らく出ていないのを言い訳に受けていなかったのですが、 いつのまにやらちゃんと発売していたので、覚悟を決めて受けることにしました。 SE7 GoldからのUpgrade試験の記事などは見かけるのですが、 SE8 Silverが前提資格であるSE8 Goldの試験についての記事は見かけなかったので、 これから受ける人の参考になるといいかなと思って、記事にしておきます。 勉強するぞ というわけでまずはテキストのリンクを張っておきます。 オラクル認定資格教科書 Javaプログラマ Gold SE 8 (EXAMPRESS) 作者: 山

    OCJP SE8 Goldに合格しました - 白猫のメモ帳
  • 拙訳 JUnit 5 User Guide - Qiita

    この記事はJava Advent Calendar 2016の 22 日目です。昨日はcactaceaeさんの「MySQL on Fusion-IOのパフォーマンスを引き出すバッチパターン」でした。 タイトルの通り、JUnit 5 Users Guideの拙訳です。 最初はJUnit 5を使って何か面白い記事が書けないかと考えていましたが、なかなか記事を書く時間を取れなかったため、ユーザガイドの中途半端な翻訳で場を凌ぐことにしました。始めの3章しか書けていませんが、近いうちに最後まで仕上げたいと思います。 所々「こう書いた方が読み易いかなー?」と考えながら訳していったため、原文とは対応が取れていないところがあります。ご容赦ください。 また、「これは英語のままの方がわかり易いかも…?」と思いながらも日語に無理やり翻訳した部分が多々ありますので、改善のアドバイスなどいただけると幸いです。 1

    拙訳 JUnit 5 User Guide - Qiita
  • Packer + Docker + Ansibleでハマる - JavaScriptをがんばるブログ

    Packer + Ansible + Dockerの組み合わせは茨の道 Scalaが動くDockerコンテナを作りたくてトライしてみました。 rebuild.fm 167でもDockerfileを使いたくないという話がポロっと出ていましたが、 rebuild.fm 私もインフラのセットアップは愛用しているAnsibleに統一したく、Dockerfileをあまり使いたくなかったのでPackerを使ってみました。 (後で書きますがDockerfileでもAnsibleは使用出来ます。この時はまだ知らなかった...) PackerはHashiCorp製のプロビジョナと出力されるビルドイメージを自由に組み合わせられるツールとして有名ですよね。 ぶっちゃけDocker For Mac入れてPackerのjsonファイルにbuilders: dockerみたいな事書いてplaybookのパス指定すれば

    Packer + Docker + Ansibleでハマる - JavaScriptをがんばるブログ
  • ElasticのDockerイメージを使って、ElasticsearchとKibanaを使う - CLOVER🍀

    最近ElasticsearchとKibanaのDockerイメージに、DockerHubのものを使ってみたのですが elasticsearch (OFFICIAL REPOSITORY) kibana (OFFICIAL REPOSITORY) @johtaniさんに怒られまして…。 ElasticsearchのDockerイメージ、自分でビルドして作ってたけど5系からsysctlのところでハマるようになって、DockerHubにあるの使うようにした 2016-12-22 23:21:37 via Twitter Web Client @kazuhira_r うちの使ってよ、、、 2016-12-23 11:40:10 via twicca to @kazuhira_r あー、そういえば、あるって聞いたことあったような…。 調べてみると、確かに…。 Install Elasticsearc

    ElasticのDockerイメージを使って、ElasticsearchとKibanaを使う - CLOVER🍀
  • Dockerコンテナ上にdns環境を構築する - Qiita

    この記事は「Dockerコンテナ上に開発環境一式を構築する」の一部です。 現在のステータス VPSホストにUbuntuを入れる dnsを構築する <-イマココ nginxを構築する Selenium用のJenkins環境を構築する GitBucket環境を構築する Desktop環境(IntelliJ IDEA)を構築する Dockerfile gitbucketやJenkinsにコンテナの外からも中からも同じドメインでアクセスしたいですよね。そこでコンテナの中のホストのためにネームサーバーを立ち上げます。 # Bind9 Dockerfile FROM ubuntu:14.04 ENV DEBIAN_FRONTEND noninteractive # Install. RUN apt-get update && apt-get -y upgrade && apt-get install

    Dockerコンテナ上にdns環境を構築する - Qiita
  • Docker上でElasticsearchのデータをNamed Data Volumeに保存しFessで利用する - Qiita

    この記事はFess Advent Calendar 2016の24日目の記事になります。 ←前の記事 次の記事→ 今回は、Dockerを使ってデータを永続化させるひとつの手段であるNamed Data Volume機能を用いて、ElasticsearchのデータをNamed Data Volumeに保存してみたいと思います。 Named Data Volumeとは コンテナでデータを管理する — Docker-docs-ja 1.9.0b ドキュメント こちらに書かれているように、データ保持のため Named Volume と呼ばれる領域をホストOSに作成し、それに名前をつけて管理しています。 ここでは詳しくは述べませんが、以下のリンクがわかりやすかったです。 Docker の Data Volume まわりを整理する それでは、ElasticsearchのデータをNamed Data V

    Docker上でElasticsearchのデータをNamed Data Volumeに保存しFessで利用する - Qiita
  • 聖なる夜にMongodbDBと戯れるwith docker-compose - Qiita

    経緯 普段railsでmongodbを使うことがあるのですが、sharding周りを全くわかっとらんので、 docker-composeを利用して検証。 現状の運用上の問題解決ができるか調査してみた。 (間違ったことを書いていることもあると思うので、編集リクエストや指摘してもらえると嬉しいです。) 現状の構成と課題 構成 mongodbに限らずshardingした時の運用は辛いということで、 現状shardingは利用せず、レプリカセットだけ組んで利用しています。 railsのodmとして有名なmongoidを利用しているのですが、接続情報がこんな感じで記述します。

    聖なる夜にMongodbDBと戯れるwith docker-compose - Qiita
  • 公式の consul イメージで高可用性 Consul クラスタを試す - Qiita

    # create machines (consul0, consul1, consul2) for i in 0 1 2; do docker-machine create -d virtualbox --virtualbox-memory 512 consul$i done # start consul servers for i in 0 1 2; do docker $(docker-machine config consul$i) run \ -d \ --name consul$i \ -p 8300-8302:8300-8302/tcp \ -p 8301-8302:8301-8302/udp \ -p 8400:8400/tcp \ -p 8500:8500/tcp \ -p 8600:8600/tcp \ -p 8600:8600/udp \ consul agent \

    公式の consul イメージで高可用性 Consul クラスタを試す - Qiita
  • docker execコマンドの実行時に起きていること - Qiita

    Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 記事を書く背景 私は普段職場でLinuxでWebアプリケーションの開発をしていて、実行環境にDockerのコンテナを使っていました。 元々使っていたネットワークマネージャのnetwork-managerが再接続をしてくれないという問題があったのでwicdに変えたところ、コンテナに設定されていたDNSサーバが応答しなくなり、コンテナを再度作成しました。 (後で調べたところ、wicdのインストール時の自動検知によって有線LANのインターフェースがdocker0に設定されていたため、外部に送出したパケットがコンテナにそのまま戻っているという状態でした。) そのコンテナ内のbashを開く際、docker execコマンドのオプションに-iを付けるのを忘れていたため、コマンドラインからの入

    docker execコマンドの実行時に起きていること - Qiita
  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
  • 2017年、新規にJavaScriptを書くならどんな設計をするか|デロイト トーマツ ウェブサービス株式会社(DWS)公式ブログ

    この記事はJavaScript Advent Calendar 2016の記事です。 今回は、2017年、新規にJavaScriptを書くならどんな設計をするか、というテーマで書いてみようと思います。2017年といっても、しばらくはこんな感じのアーキテクチャでやってきましたので、どんな構成でJavaScriptを設計してきたかという方が正しいかもしれません。基的にはSPAをベースとしています。 また、最新のイケてる技術バリバリ使ってやるぜ、というよりは、堅牢で、はやりが変わってもメンテができるということを意識してみました。 DOMのレンダリング Virtual DOMを代表とした、DOMのレンダリングを行うライブラリをなにか採用します。特に理由がなければReactでいいと思います。Virtual DOMではありませんが、AngularでもDOM管理においてはさほど違いはありません。この2

  • サーバーサイドレンダリング不要論 - Qiita

    サーバーサイドレンダリング、Isomorphic、Universal JavaScriptなどの言葉をよく見かけます。なるほどね、良さそうだね、外部公開するサービスを書くことがあったら挑戦してみたいね、Mithrilにもisomorphic-mithrilってのをがんばっている人がいるし、みたいなことを漠然と思っていたのですが、最近ASCII.jpのシステムコールプログラミングの連載を書いていて、あらためてHTTPの仕様を見返してみて、逆にサーバーサイドレンダリングをしない方がいいのではないか、と思い始めました。 追記(23:30): サーバーサイドレンダリングと書いていますがUniversal JavaScriptみたいな凝ったビューの更新の意味です。 サーバーサイドレンダリングの欠点 サーバーサイドレンダリングのメリットとしてあげられるのは次の2点です。 検索エンジンのクローラー向け

    サーバーサイドレンダリング不要論 - Qiita
  • Elasticsearchのスコアリングを眺めてみる - Qiita

    前置き この記事は Retty Advent Calendar 23日目です。 昨日は@kazushikawamuraのReact & Firebaseで簡単なChatアプリを作ってみたでした。 Elasticsearchとは 今更なにを。。。と思う方がほとんどだと思います。 釈迦に説法で非常に恐縮ですが、5.1.1も出たところですし一回お浚いということで。。。 Elasticsearchは、Elastic社が展開する強力な検索エンジン?です。 正直なんて定義できるものかよく分からないですが、全文検索でよく使う、あとデータ分析にめっちゃ強いというところでいろんなところで重宝してます。 この前行ってたelastic{on}では、ある発表でElasticsearchのいいところを 「貯める、検索する、集計する」が一つのプロダクトで出来る というのをあげていました。 強力なビジュアライズツールK

    Elasticsearchのスコアリングを眺めてみる - Qiita
  • データベースとしてのElasticsearch - Qiita

    はじめに Elasticsearchはスケーラビリティに優れた全文検索エンジンですが、Relational Database(以下RDB)が持つ汎用性や機能の豊富さも追求しているように思います。この記事ではRDBの基機能がどこまでElasticsearchで実現できるかをまとめました。データベースの知識だけで、全文検索を知らなかった私がElasticsearchを勉強し始めた頃に意外に感じた事を中心に両者の違いを比較しています。APIについては言語ごとの違いは言及せず、REST APIについてのみ述べています。特にバージョンの記述がない場合はElasticsearch 5.1を前提にしています。RDBは近年ポピュラーなOracle, SQLServer, DB2, Sybase, PostgreSQL, MySQLなどが準拠しているSQL92標準を前提としています。 基的な違い RDB

    データベースとしてのElasticsearch - Qiita
  • Kubernetes x Ansible Container(ansible-containerの概要) - Qiita

    みなさま、クリスマスケーキの準備はできていますでしょうか? エントリーはKubernetes Advent Calendar 2016の23日目、クリスマス・イブ・イブの記事です。 今回は、Ansibleを利用してKubernetes上にコンテナを簡単にデプロイする方法について紹介したいと思います。 何で、Kubernetes Advent CalendarなのにAnsibleかといいますと。まぁ…。マイブームみたいなもんです。 Promotion!! Ansibleってどうやって使うの?って方は、是非×2、こちらも見て頂けるとうれしいです。 Qiita 「Ansible実践ガイド」出版しました。 レビュー、感想お待ちしております。 さて、今回はKubernetes環境をAnsibleで作ろうっ!!というタイトルではありません。 Ansibleを利用したKubernetes環境のセットア

    Kubernetes x Ansible Container(ansible-containerの概要) - Qiita
  • GitHubが落ちてても慌てずに済む、SSHとGitだけでのPush/Pull - Qiita

    Git Advent Calendarをご覧の皆様、初めまして。Piroといいます。普段はJavaScriptRubyでのソフトウェア開発やFirefoxの法人向け技術サポートなどをしつつ、日経Linux誌でシス管系女子という連載マンガを描かせて頂いております。 今日の記事では、「SSHって何?」や「SSHは知ってるし時々使うけど、普段そんなに使う機会は無い」くらいのレベルの方を対象に、SSHとGitの組み合わせだけでこんな事もできるんですよ!という事をご紹介します。アドベントカレンダー的には最後の方の日なのに初心者向けの話で恐縮ですが、まあせっかくなのでおつきあい下さい。 GitHubが落ちて困った! 日頃Twitterを見ていると、GitHubのサービスが停止する度に阿鼻叫喚の地獄絵図が繰り広げられている印象があります。 「デプロイしたいプロダクトの依存ライブラリがGitHubにある

    GitHubが落ちてても慌てずに済む、SSHとGitだけでのPush/Pull - Qiita
  • スケーラブル tail -f | grep on AWS - KAYAC engineers' blog

    こんにちは。組長こと @fujiwara (id:sfujiwara) です。 早速ですが皆さん、ログは見ていますか? 当然見ていますよね。tail -f で追いかけるとか大好きですよね。という前提で話を進めましょう。 この記事は Tech KAYAC Advent Calendar 2016 の24日目の記事です。 TL;DR 多種多様なホストから発生するログの末尾を tail -f で追いかけたい fluentd + ローカルファイルで行うのはちょっと面倒 Amazon Kinesis + Lambda を使ってスケーラブルな仕組みを考えてみた kinesis-tailf というツールも作った 既存の仕組みと問題点 techblog.kayac.com 弊社の Lobi とソーシャルゲームでは、この記事で紹介されたような Fluentd を活用したログ集約の仕組みを整備しています。この

    スケーラブル tail -f | grep on AWS - KAYAC engineers' blog