タグ

2014年12月5日のブックマーク (22件)

  • Java 8 "Optional" ~ これからのnullとの付き合い方 ~ - Qiita

    Java8で新たに追加されたクラスにjava.util.Optionalがあります。 Optionalを使用することで、プログラムの堅牢性を高めたり、煩雑な記述を減らすことが期待されます。 Optionalとは? Optionalは値をラップし、 その値がnullかもしれない ことを表現するクラスです。 使い方 メソッドgetHoge()はnullを返す場合があるとします。 これまでなら次のような感じでnullチェックをしていたと思います。 String hoge = getHoge(); // hogeはnullかも if (hoge != null) { // nullチェック System.out.println(hoge.length()); // hogeがnullじゃないのでlengthメソッドを呼ぶ } nullかもしれない変数hogeのメソッドを呼ぶ場合、事前にnullチェ

    Java 8 "Optional" ~ これからのnullとの付き合い方 ~ - Qiita
    kimutansk
    kimutansk 2014/12/05
    ぱっと説明するには良さそうな感じですね。
  • Aerospike Hits One Million Writes Per Second with just 50 Nodes on Google Compute Engine

    Product updates, customer stories, and tips and tricks on Google Cloud Platform

    Aerospike Hits One Million Writes Per Second with just 50 Nodes on Google Compute Engine
    kimutansk
    kimutansk 2014/12/05
    Cassandraでは300ノードで100万Write/秒の所をAerospikeでは50ノードで可能ですか。かつSSDではないノードで、と。
  • Adobe製のJavaScriptデバッガTheseusがすごい - Qiita

    この前、研究室の先生に教えてもらったAdobe製のJavaScriptデバッガTheseusがかなり便利なのでご紹介します。 Theseusとは Theseusは、AdobeとMITの共同研究から生まれたJavaScriptのデバッガです(→学会論文)。ChromeとNode.jsの上で動きます。具体的に何をしてくれるのかをざっくり言うと、関数のコールを追跡して、BracketsというAdobe製のエディタに下画像のような感じで表示してくれます。 Theseusのすごいところは、コールバックの実行まで追跡してくれることです。もちろん、エラーが起きた箇所もすぐに見ることができます。また、デバッグをするとき、気になる箇所にconsole.logを挟むことがあると思いますが、Theseusを使えばその必要もありません。関数の横に表示されているコール回数をクリックすれば、その関数の実行ログを表示し

    Adobe製のJavaScriptデバッガTheseusがすごい - Qiita
    kimutansk
    kimutansk 2014/12/05
    こういうのもありますか。今度JavaScript書くときに試してみますか。
  • 複数のWebサーバでSSLセッションキャッシュを共有してSSL処理を高速化(Apache + mod_ssl + mod_socache_memcache) - 元RX-7乗りの適当な日々

    HTTPS(SSL利用)サイトがSEO的に優遇されるトレンドで、世間的にもHTTPS接続でサイト運用するサービスが増えてきています。 これが、ハイトラフィックサイトになってくると、このフロントエンドでSSL処理させることが負荷的にもなかなか辛いのです。 で、Apache 2.3以降では、Shared Object Cache Providerとして、memcachedが選択できるようになっています。 この仕組みを利用して、Apacheとmemcachedを並べることで、各サーバでユーザのSSL Session Cacheを共有しながらHTTPSリクエストを負荷分散できる構成を作ってみました。 WebサーバでSSLオフロード 常時SSLを利用したWebサイトを運用するために、SSLアクセラレータといったアプライアンス製品だとか、ソフトウェアだとApacheやNginxのSSLモジュールを使う

    複数のWebサーバでSSLセッションキャッシュを共有してSSL処理を高速化(Apache + mod_ssl + mod_socache_memcache) - 元RX-7乗りの適当な日々
    kimutansk
    kimutansk 2014/12/05
    memcachedが死んでも共有できなくなるだけで自前で生成して処理は継続できますか。いい感じのバランスですね。
  • トレタのシステムアーキテクチャと恵比寿のメシと酒 : TORETA(トレタ) ブログ

    ちわす。11月にサーバサイドエンジニアとしてジョインした佐野です。前職ではウェブサービスやソーシャルゲームのサーバ管理、DBA、運用ツール開発など主にインフラ面を担当していました。入社一ヶ月のペーペーでございます。 「ブログ書けやー」とのお達しが出たのですが、ノリがイマイチわからんので、軽い記事(恵比寿のメシと酒)と真面目な記事(トレタのシステム)を両方書きます。真面目な話の合間にメシの話でもしながら...。真面目な記事はエンジニア職向けの内容になります。 ではよろしくお願いします。 トレタのシステムは種々のクラウドサービスで成り立っています。この一ヶ月で僕がシステムに手を加えた部分としては、監視周りの整備(Pingdom, PagerDuty導入, 監視用hubotを書く)、ログ解析基盤の構築(fluentd -> BigQuery連携)、ちょっとした負荷分散(リバースプロキシを少々)を

    トレタのシステムアーキテクチャと恵比寿のメシと酒 : TORETA(トレタ) ブログ
    kimutansk
    kimutansk 2014/12/05
    NewRelic(リソース監視)、Pingdom(エンドポイント監視)、PagerDuty(通知用)で監視と。このあたりの複数組み合わせは他でも見ますね。
  • Linux OS でキャッシュをクリアする - オラクル・Oracleをマスターするための基本と仕組み

    Linux OS でキャッシュをクリアする方法 (Kernel 2.6.16〜) 性能の試験をするときにファイルシステムのキャッシュによる影響を排除する。 root もしくはスーパーユーザーコマンドにて行なう。 % su root or sudo # sync # sysctl -w vm.drop_caches=1 # sysctl -w vm.drop_caches=2 # sysctl -w vm.drop_caches=3 or # echo 1 > /proc/sys/vm/drop_caches # echo 2 > /proc/sys/vm/drop_caches # echo 3 > /proc/sys/vm/drop_caches 1 … ページキャッシュのクリア 2 … ディレクトリエントリー(dentry)と inode のクリア 3 … ページキャッシュおよびディレ

    kimutansk
    kimutansk 2014/12/05
    バッファキャッシュに乗ってるか否かで性能が段違いに変わるので・・・ で、クリアコマンドはこれでしたか。
  • Cloudera | ハイブリッドデータカンパニー

    データを信頼し、AI を信頼する 信頼できるデータ、信頼できるモデル、信頼できる AI を実現するために、これほど多くのクラウドのさまざまなデータタイプを管理でき、オープンデータのイノベーションと大規模展開に対応できるプラットフォームは他にありません。

    Cloudera | ハイブリッドデータカンパニー
    kimutansk
    kimutansk 2014/12/05
    収集部&表示部がプラガブルになっていて拡張できるとありますが・・ そのあたりは面白そうではあります。
  • [速報]Dockerが分散アプリケーションのオーケストレーション機能を発表。Docker Machine、Docker Swarm、Docker Compose

    Docker Machine、Docker Swarm、Docker Composeの3つの機能を組み合わせることで、Dockerの環境がない状態から、Docker環境を構築し、分散アプリケーションのための動的なクラスタを構成し、そこへアプリケーションをデプロイすることがすべてコマンドと構成ファイルによって実行できるようになります。 これによって分散アプリケーションが簡単にクラスタ環境ごとポータブルになり、かつ動的な構成と運用が容易になると説明されています。

    [速報]Dockerが分散アプリケーションのオーケストレーション機能を発表。Docker Machine、Docker Swarm、Docker Compose
    kimutansk
    kimutansk 2014/12/05
    この手のは他にもあるので、Docker自身が作ることでどういう差分が生まれてくるか、ですかね。
  • Fluxアーキテクチャの覚え書きを書いた - saneyuki_s log

    どこに書いたか忘れそうなので備忘でgist貼付ける Facebook提唱のFluxのメモ:http://facebook.github.io/react ...

    Fluxアーキテクチャの覚え書きを書いた - saneyuki_s log
    kimutansk
    kimutansk 2014/12/05
    データの流れが一方通行になるので各要素に対する誤解が生まれにくく、わかりやすいのはいいですね。
  • I am mitsuruog | いま一番気に入っているAngularJSのプロジェクト構成

    この記事はAngularJS Advent Calendar 2014 - Adventarの 3 日目の記事です。 2 日目AngularJS BootstrapUI を利用した FilterSelect(@takeyama) 4 日目初心者マークの Angular.js - Uemmra3 のフルスタックエンジニア?日記(@Uemmra3) AngularJS でそれなりの規模のアプリケーションを書く場合、プロジェクトの構成って結構悩みます。 いつも悩んでます。。。 悩みすぎてちょくちょく構成変えるため、たまにアプリケーションが壊れてます。 そんなとき心もポッキリ壊れそうになります。 そんな私が、最近いいなと思っている AngularJS のプロジェクト構成について紹介します。 参考資料(有名どころ) AngularJS のプロジェクトの構成については、結構以前から議論されています。有

    I am mitsuruog | いま一番気に入っているAngularJSのプロジェクト構成
    kimutansk
    kimutansk 2014/12/05
    アンチパターンはあまりにあまりですが・・ とりあえず、今試しているのはコンポーネント単位で区切っているのでそれなりに近い構成なのかな。
  • サービスを支えるプライベートクラウド基盤 OpenStack の舞台裏 | GREE Engineering

    こんにちは!インフラストラクチャ部の松橋です。このエントリは GREE Advent Calendar 2014 3日目の記事です。日より 2日間 OpenStack の記事がつづきます。 私からは、グリーのサービスを支えるプライベートクラウド基盤として OpenStack を導入し、運用、改善を続けてきた日々の奮闘についてご紹介させていただきます。振り返ればちょうど 2年前のクリスマスシーズンに腰を入れて仕掛かり、今では運用も安定してきたので良い節目でもあります。読者のみなさまの一助となる知見が少しでも提供できれば幸いです。 はじめに パブリッククラウドの台頭により、オンプレミスを基盤にサービスを展開してきたグリーにおいてもクラウドが有用な選択肢となるなかで、運用ノウハウが蓄積されたオンプレミスの資産を活用してインフラストラクチャを最適化するニーズもまた高まりました。 サーバー仮想

    サービスを支えるプライベートクラウド基盤 OpenStack の舞台裏 | GREE Engineering
    kimutansk
    kimutansk 2014/12/05
    メッセージキューへの負荷は仮想マシンに比例して増えますか。一定以上の規模になるとメッセージキュー自体のスケールアウト・・と続くんでしょうかね。
  • http://networkheresy.com/2014/11/13/accelerating-open-vswitch-to-ludicrous-speed/

    http://networkheresy.com/2014/11/13/accelerating-open-vswitch-to-ludicrous-speed/
    kimutansk
    kimutansk 2014/12/05
    Kernelモジュール化することで高速化し、Megaflowでパターンマッチが可能になったことで特定パターンで切り捨て等の処理の効率も向上したと。
  • 【後藤弘茂のWeekly海外ニュース】 DRAMスケーリングの課題と打開策

    【後藤弘茂のWeekly海外ニュース】 DRAMスケーリングの課題と打開策
    kimutansk
    kimutansk 2014/12/05
    DRAM、NAND、HDDとは異なる新たな階層のメモリが登場するかも、と。あとは2020年にどうなっているか、ですか。なるほど・・・
  • Kubernetesの動作を理解するのに重要なdockerの機能

    このエントリはKubernetesアドベントカレンダー2014の4日目です。 今日はdocker側にフォーカスして、Kubernetesの動作を理解するのに重要なdockerの機能を紹介します。 コンテナリンク ネットワーク ボリューム コンテナリンク dockerでは docker run するときに --link を指定することでコンテナ同士を接続することができます。 書式は --link コンテナ名:エイリアス です。こうすると、コンテナに環境変数として エイリアス_PORT などが渡されるので、コンテナで環境変数から接続先情報を読み込んで接続できます。 接続を受ける側は普通に EXPOSE して起動します。 [root@localhost ~]# docker run -d -P --name myredis dockerfile/redis redis-server 08f9cd

    kimutansk
    kimutansk 2014/12/05
    Kubermetesによる接続を確認する上での前提知識と。flannelがnネットワーク周りの厄介な点を対応してくれると。
  • Kubernetes Design Overviewその2

    このエントリはKubernetesアドベントカレンダー2014の3日目です。 今日も引き続きKubernetesのDesign Overviewを見ていきます。 The Kubernetes Node Master や Minion などのKubernetesの各nodeでは以下のプロセスが稼働します。 kubelet kube-proxy 図に出てくる cAdvisor は google/cadvisor で、独立したプロセスではなく kubelet に組み込まれているようです(ちょっとあやふや)。 kubelet container manifest(コンテナマニフェスト)に従いコンテナを起動します。 container manifestには、yaml形式で起動したい Pod の情報と設定を書きます。 kubelet はContainer Agent( GoogleCloudPlatf

    kimutansk
    kimutansk 2014/12/05
    元々コンテナは仮想マシンというよりプロセスのようなノリですが、だからからか構成自体は意外にシンプルですね。
  • Kubernetes Design Overview - netmark.jp

    このエントリはKubernetesアドベントカレンダー2014の2日目です。 今日はKubernetesのDesign Overviewを見ていきます。 Cluster Architecture まずはCluster Architectureと、その中にある図(以下)を見ながら読んでください。 Pod Kubernetesではdockerのコンテナを Pod という単位でまとめています。 Pod には関係の密な複数のコンテナを配置するもの、ということなので、1コンテナ1プロセスの原則を踏まえたうえでプロセスを集約する、仮想的なサーバのようなものだと捉えています。関係が密である前提なので、同じ Pod のコンテナは同じ基盤サーバ( Minion )に配置されます。 Service 通信のエンドポイントを既定します。 Kubernetesから Service の一覧を取得すると、 Servic

    kimutansk
    kimutansk 2014/12/05
    Kubernatesも外部からの通信を専用のコンテナ使ってServiceにフォワーディングしているわけですか。なるほど・・
  • Dockerコンテナ接続パターン (2014年冬)

    記事はDocker Advent Calendar 2014の1日目の記事です. Dockerによるコンテナ化はリソース隔離として素晴らしい技術である.しかし,通常は1つのコンテナに全ての機能を詰め込むようなことはしない.マイクロサービス的にコンテナごとに役割を分け,それらを接続し,協調させ,全体として1つのサービスを作り上げるのが通常の使い方になっている. コンテナ同士の接続と言っても,シングルホスト内ではどうするのか,マルチホストになったときにどうするのかなど様々なパターンが考えられる.Dockerが注目された2014年だけでも,とても多くの手法や考え方が登場している. 僕の観測範囲で全てを追いきれているかは分からないが,現状見られるDockerコンテナの接続パターンを実例と共にまとめておく. なお今回利用するコードは全て以下のレポジトリをcloneして自分で試せるようになっている.

    kimutansk
    kimutansk 2014/12/05
    動的Ambassadorくらいまでは何とかついていけますが、weave形式になると大変になりそうなので、素直にkubernetesなんですかねぇ・・
  • WebPでモバイルアプリの通信量を劇的に削減する - クックパッド開発者ブログ

    モバイルファースト室の @slightair です。 クックパッドの iOS/Android アプリは、少し前のバージョンからWebP形式の画像をサーバから取得して表示するようにしています。 この記事では、なぜ画像形式をWebPに切り替えたのか、また切り替える上で注意した点などを説明します。 Cookpad アプリと画像 クックパッドのアプリはユーザさんに投稿していただいたレシピを表示するアプリケーションです。その性質上、レシピ画像や調理手順、検索画面のサムネイルなどたくさんの画像をサーバから取得して表示する必要があります。 画像の数が増えたりサイズが大きくなればなるほど通信量が増えます。最近はスマートフォンの画面サイズがどんどん大きくなっているので、それに合わせて取得する画像を大きくしていくとさらにファイルサイズが増え、通信量も増えていってしまいます。 サーバとやりとりするデータが多くな

    WebPでモバイルアプリの通信量を劇的に削減する - クックパッド開発者ブログ
    kimutansk
    kimutansk 2014/12/05
    「WebPとJPEGの画像を並べて表示し、極端な劣化が起きていないか検証するアプリケーション」を作ってしまうのがすごい。アプリだからやりやすいというのも確かに。
  • IPMIでの大規模サーバー管理 - Yahoo! JAPAN Tech Blog

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog サイトオペレーション部の藤見です。 今回はIPMIを利用した大規模なサーバー管理の仕組みをご紹介したいと思います。 IPMIについて IPMI(Intelligent Platform Management Interface)はサーバーベンダやOSに依存する事なくエージェントレスでハードウエアの各種センサ情報の取得や遠隔操作を行うためのインターフェースです。 一般的にIPMIとして動作するチップはマザーボード上に搭載されておりBMCやサーバーベンダ固有のiLO、iDRAC、iRMC等と呼ばれます。 それぞれにチップはサーバーベンダ独自の機能や管理UI等が存在する等の違いはありますがIPMIコマンド(ipmitoolやfreei

    IPMIでの大規模サーバー管理 - Yahoo! JAPAN Tech Blog
    kimutansk
    kimutansk 2014/12/05
    ブレード刺して即OSとミドルセットアップ、とかを自動でやるためにはこういう形になってくるんですかね。
  • Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ

    (12月5日 追記) 最後のおまけのページにあるDottyはまだコンパイラとしての機能も不足しており、ベンチマークの対象とするにはまだ不適切な感じでした。調査不足な内容を公開してしまい申し分けありませんでした(´・ω・`) VOYAGE GROUPで行なわれた社内LT大会の発表資料です。 Scala Compilerのベンチマークをとってみました。 作業に使ったファイルはこちら => https://github.com/kiris/scalac-benchmarksRead less

    Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
    kimutansk
    kimutansk 2014/12/05
    「ではどう対処するか?」「金の弾丸(札束で殴る)、良いCPU、SSDを用意」 いや、確かにそうなんですけどw
  • CoreOSクラスタ内のDockerコンテナの動的リンク

    CoreOSクラスタ内のDockerコンテナの動的リンク Dynamic Docker links with an ambassador powered by etcd 上記の記事を参考にCoreOSのクラスタ内で複数ホスト間にまたがりDockerコンテナを連携させる方法について検証した. 背景と問題 複数ホストにまたがりDockerのコンテナを接続する方法としてはAmbassador パターンが有名である.これはトラフィックを別ホストへforwardすることに特化したコンテナを立てる方法で,ホストに無駄な設定なし,かつDockerコンテナのみで行えるシンプルな方法である.例えば,あるホストからredis-cliを使って,別ホストで動くredisに接続する場合は以下のように接続する. (redis-cli) --> (ambassador) ---network---> (ambassad

    kimutansk
    kimutansk 2014/12/05
    必要最小限の基本機能しか持たないからこそ、Ambassadorパターンのような転送のためだけにコンテナ立てることも可能になるわけですか。プロセスを組み合わせる感覚ですね。
  • 監視アーキテクチャ(Sensu,Pingdom,Mackerel,StatusPage.io,PagerDuty)についてまとめてみる(2014年12月版) - Glide Note

    Sensu Advent Calendarに便乗して、Kaizen Platform, Inc.の2014年12月現在の監視アーキテクチャの話をちょっとしてみようと思う。 モニタリング領域 サービスを監視している領域 Pingdom Pingdom - Website Monitoring 外部ネットワークからのサービスの死活監視。アメリカ、ヨーロッパ、アジアなどの拠点からサービスの死活監視が出来るため、特定の地域からアクセス出来ない場合なのが検知出来る。 後述するstatuspage.ioとの連携で、障害を検知すると、サービスのステータス状況が自動で変わるようになっている Sensu Sensu | The open source monitoring framework. 監視フレームワーク サーバを内部ネットワークから監視するために利用 サーバのプロセス監視、サーバ間の疎通監視、エラ

    kimutansk
    kimutansk 2014/12/05
    Monitoring/Incident Management/Information&Escalationの3レイヤによる監視アーキテクチャ。APIで結ばれた疎な構造と。