2016年1月11日のブックマーク (22件)

  • Scalable Bloom Filtersとは一体....? - Qiita

    Wikipediaを漁っていたところScalable Bloom Filters(SBF)というデータ構造を発見してしまったので紹介します1。 参照した論文 http://haslab.uminho.pt/cbm/publications/scalable-bloom-filters SBFの説明に入る前に、Bloom Filterについて簡単に紹介します。もっとも、日語のWikipediaでも十分詳しい説明が載っていたりするのですが……。 ささっと説明 Bloom Filterはちょっと不思議な性質を持つデータ構造の一種です2。 いわゆるSetと同じ操作を提供する 要素を入れる操作と、ある要素が入っているかを調べる操作 どちらも時間計算量O(1)で実現できる ハッシュテーブルなどを用いて実装される同種のデータ型と比して、とても空間効率が良い その代わりに、ある要素が入っているかの判定を

    Scalable Bloom Filtersとは一体....? - Qiita
    tmatsuu
    tmatsuu 2016/01/11
    へー面白く読めた
  • tldr pages

    Simplified and community-driven man pages The tldr pages are a community effort to simplify the beloved man pages with practical examples. Try the live demo below, have a look at the PDF version, or follow the installation instructions. § Installation As of now, our most mature client is the Node.js one, which you can easily install from npm: npm install -g tldr There are many more clients that ha

    tmatsuu
    tmatsuu 2016/01/11
    コマンドの使い方をサラッと教えてくれるCLIツール。ブラウザでも参照可。manやinfoなどでちょっと使い方調べたいだけなのに重厚なドキュメントになっててスクロールつらいことあるからいいかもね。Androidアプリもある
  • https://qiita.com/kimulab/items/bb5758ab7c3502ca4246

    tmatsuu
    tmatsuu 2016/01/11
    先日のCentOS7の落とし穴でも言及されてたやつ。mysql.sockとかもハマりそうだよね
  • PostgresのRDSチューニング - Qiita

    Wantedlyは今までRDSを初期設定のまま使っていました。ごめんなさい。 今回ちゃんとチューニングしてみたのでやってみた過程と結果を書きます。 ちなみにWantedlyDBを幾つか持っていて、その中のDBの一つの最適化結果です。 NewRelic での測定の結果、平均31ms ぐらいかかっていたのが、 平均23ms ぐらいになっているので25%ぐらいの改善になりました。 インスタンスタイプ 使っているDBのインスタンスタイプです モデル: r3.4xlarge vCPU: 16 メモリ: 122GB SSDストレージ: 1 x 320G デフォルト値 RDSはパラメータグループを調節します。 それぞれのデフォルト値は書かれてないですが、以下のSQL出だすことができます。 => SELECT name,setting,unit FROM pg_settings; name | sett

    PostgresのRDSチューニング - Qiita
    tmatsuu
    tmatsuu 2016/01/11
    良い。あとでチェックする。
  • Deciphering Glyph :: Your Text Editor Is Malware

    Emacs wants you to install unauthenticated code off of a wiki; I can help. Are you a programmer? Do you use a text editor? Do you install any 3rd-party functionality into that text editor? If you use Vim, you’ve probably installed a few vimballs from vim.org, a website only available over HTTP. Vimballs are fairly opaque; if you’ve installed one, chances are you didn’t audit the code. If you use E

    tmatsuu
    tmatsuu 2016/01/11
    プラグインインストール時はTLSを強制しましょうねとの主張だけど、署名したパッケージによる運用をしっかりしたほうがよくね
  • Yubikey

    Categories Chronological About Edward Snowden says to trust in encryption, but you still need to worry about the security of the computer systems that run it: Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. If you're worried that you're

    Yubikey
    tmatsuu
    tmatsuu 2016/01/11
    GPGの秘密鍵をyubikeyに格納する方法と、GPGの認証鍵を使ってSSH接続を行う方法。gpg-agentはssh-agentのように振る舞えるのでGPGでSSHも統一管理できる
  • AIZU ONLINE JUDGE: Programming Challenge

    Best viewed using Firefox, Google Chrome Aizu Online Judge Version 1.0 © 2004 - 2016 Univ. of Aizu Competitive Programming Club (ICPCPC), Database Systems Lab. University of Aizu

    AIZU ONLINE JUDGE: Programming Challenge
    tmatsuu
    tmatsuu 2016/01/11
    AOJこれか。せっかくなので触ったことない言語Scalaで始めてみた。ITP1_3_Dまで解けた。最初object名で躓いたけどその後は順調
  • AOJはじめました - すぎゃーんメモ

    AIZU ONLINE JUDGE」通称(AOJ)という、"提出されたプログラムの正しさ・効率の自動判定を行うオンラインジャッジシステム"がある。 http://judge.u-aizu.ac.jp/onlinejudge/ いわゆる競技プログラミング・プログラミングコンテストの過去問題などが多数掲載されており、各問題に対してソースコードを提出すると その問題の入力に対する正しい出力が得られているか否かを自動で判定してくれる。 …ていうのを何となくは知っていたのだけど実際に触ったことはなくて。先日 チームラボVSドワンゴ!競技プログラミング勉強会@ドワンゴオフィス - connpass というイベントに参加したときにオンラインジャッジに関する解説などがあり 実際に数問やってみる、ということでユーザ登録して挑戦してみたので、その後も継続して挑戦してみることにした。 べつに競技プログラミング

    AOJはじめました - すぎゃーんメモ
    tmatsuu
    tmatsuu 2016/01/11
    ほう。知らなかったやってみよう
  • AWS上にハイパフォーマンスMongoDBを構築する方法 - 中年engineerの独り言 - crumbjp

    AWSインスタンスの選定 AWSインスタンスタイプ一覧 以下のインスタンスボリュームが付随しているプロダクトラインが候補になる。 個人的にはi2.xxx が好みである。 r3.xxx メモリ最適化インスタンス i2.xxx SSD容量最適化インスタンス ただし、インスタンスボリュームはスナップショットが取れず、揮発性なので取り回しが悪い。 Provisioned IOPS (SSD) ボリュームも検討候補になるが、高くつく事になるのでお金持ちの人用。。 バックアップ戦略 流石にバックアップを全く取らずに運用する事は出来ないので 以下様にレプリカセット構成を組み、バックアップを取る。 Primary: i2.xxx Secondary: i2.xxx Secondary(hidden): 適当なインスタンス + SSD 最後のノードはバックアップ専用なので、SSD以外は非力出よい。 ただしあ

    AWS上にハイパフォーマンスMongoDBを構築する方法 - 中年engineerの独り言 - crumbjp
    tmatsuu
    tmatsuu 2016/01/11
    AWSでMongoDBはインスタンスストア使うのが常識なのか…ガクブルやでぇ。オーバープロビジョニングってmdadmでRAID0組んでも後方の領域を使わなければ適用されるんだろうか。そのあたりよくわかってない俺
  • Release rbenv 1.0.0 · rbenv/rbenv

    rbenv is a robust tool that follows the UNIX methodology to implement per-project selection of Ruby versions and related runtime environment. The rbenv community maintains an ecosystem of plugins, and rbenv has inspired many other forks for managing environments of different programming languages and other software tools. rbenv works by: Having its shims/ directory prepended to PATH environment va

    Release rbenv 1.0.0 · rbenv/rbenv
    tmatsuu
    tmatsuu 2016/01/11
    お、でてたのね。
  • CircleCIライクに、JenkinsジョブをDockerコンテナ内で実行してみる - Qiita

    ここ数年、CircleCIやTravis CIに代表されるクラウドCIサービスがメジャーになり、Jenkinsの影がめっきり薄くなりました。 でも、自社のプロダクトではクラウドサービスダメ!であったりで、恩恵を受けられない人のために、Jenkinsで少しでもその恩恵受けたい!というのが、この記事です。 CircleCIに対するJenkinsのデメリット 個人的に、Jenkins離れが多い理由は、 1. 初めのセットアップが面倒 2. 複数プロジェクトで共有すると環境が混ざって大変 3. ジョブ設定に関する知識が属人的になりやすい(Jenkinsおじさんの出現) の3つだと考えています。 今回は、特に2.に注目します。 複数プロジェクトの環境が混ざる あるプロジェクトAは、Rubyでサーバサイドアプリを、別のプロジェクトBは、Androidを、というような場合、 Aのビルドには、rbenv,

    CircleCIライクに、JenkinsジョブをDockerコンテナ内で実行してみる - Qiita
    tmatsuu
    tmatsuu 2016/01/11
    クラウドCIの不安定性に悩んでる記事をよくみるので2016年はJenkinsが見なおされる年になりそうな予感(当たるとは言ってない
  • マイクロサービスにおける障害と Failurewall - Qiita

    こちらは Scala Advent Calendar 2015 25日目の記事です。 Scalist の皆さん、一年間お疲れさまでした。 当記事の目的はマイクロサービス(に限らないですが)における失敗の怖さについて説明することと、それを克服するためのライブラリ、Failurewall を紹介することです。 障害は怖い 障害の連鎖 現代的な Web アプリケーションは多くの依存を抱えています。MySQL のようなデータベースに依存することもあれば、Twitter API のような外部サービスに依存することもあるでしょう。マイクロサービスを実践している環境では社内 Web API に依存していたり、あるいは他のシステムが自分のシステムに依存していたりするかもしれません。 このように優秀なミドルウェアや Web API を組み合わせることで、アプリケーションは高い性能を発揮したり、豊かな機能を提

    マイクロサービスにおける障害と Failurewall - Qiita
    tmatsuu
    tmatsuu 2016/01/11
    なるほど。別件だけど、ELBのhealthcheckもerror thresholdとsuccess thresholdをそれぞれ持ってるのでCircuit Breaker Patternだと気づいた←そんなことはなかった
  • bitbucketの使い方

    With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.

    bitbucketの使い方
    tmatsuu
    tmatsuu 2016/01/11
    ARMアセンブラ言語を学習するためのARMエミュレータ。動作の確認やデバッグが視覚的に見やすくなってる。おー
  • GoshawkDB

    A distributed, transactional, fault-tolerant object store News GoshawkDB 0.3.1 Released There was a mistake in the build for GoshawkDB 0.3. This affected all server binary artifacts: deb, rpm, tarball and the docker image, and the Java client and collection artifacts. The mistake meant clients could not connect to the server. GoshawkDB 0.3.1 corrects this. No other changes have been made. The 0.3

    tmatsuu
    tmatsuu 2016/01/11
    分散オブジェクトストア。オブジェクトストアを謳ってるのはデータとして[]byteを格納できるので任意のシリアライズしたデータをぶち込めるってことの模様
  • http://mongotron.io/

    tmatsuu
    tmatsuu 2016/01/11
    Electron+AngularJSなMongoDBのGUIクライアントらしい
  • JDK8(Linux 64bit)のデフォルトヒープサイズ - n-agetsumaの日記

    Oracleの公式ドキュメントには、-Xmxが未指定であった場合のエルゴノミクスによる最大ヒープサイズは『32GBを上限として、物理メモリの4分の1』書かれている。32GBは-XX:-UseCompressedOopsにより圧縮Oopを明示的に無効にした場合の最大デフォルトヒープサイズで、何もオプションを付けずに起動した場合は29GBが上限。 ヒープサイズの決定はarguments.cppのArguments::set_heap_size()で計算されている。デフォルトの最大および初期ヒープサイズは、物理メモリ量により異なる。 デフォルト最大ヒープサイズ(-Xmx) 物理メモリが248MB以下の場合 物理メモリの2分の1。 248MBは-XX:MaxHeapSize(デフォルト124MB) x -XX:MinRAMFraction(デフォルト2)の値。 物理メモリが248MBより大きい場合

    JDK8(Linux 64bit)のデフォルトヒープサイズ - n-agetsumaの日記
    tmatsuu
    tmatsuu 2016/01/11
    クラウドように自由にメモリを増減できる環境では-Xmxの代わりに-XX:MinRAMFractionを指定しておいた方がよさそうだな。メモ
  • 真のパスワード強度を測定する5つのアルゴリズム | 株式会社ヌーラボ(Nulab inc.)

    Webサービスでアカウントを登録する際、パスワードを入力する度にその安全度を表してくれる強度メーター。皆様もおそらく目にしたことがあるのではないでしょうか。GoogleやFacebook、Twitterのような大規模なサービスでも、サインアップ画面等に設置されています。 このUIの要素は、MSR(Microsoft Research)の論文によると類推されづらいパスワードを促してサービスの安全性を高めることに効果的だということが証明されています。 お客様自身の大事な情報を守る上でとても重要なパスワード。ヌーラボアカウントでも、類推されにくいより強度の高い設定を促すためにパスワード強度メーターを設置しました。 この記事では、パスワード強度メーターを設置するに当って得た知見をもとに、その裏側の仕組みをご紹介させていただきます。 パスワード強度ってなに ? そもそもパスワード強度とはなんなのか。

    真のパスワード強度を測定する5つのアルゴリズム | 株式会社ヌーラボ(Nulab inc.)
    tmatsuu
    tmatsuu 2016/01/11
    ほー知らなかったzxcvbnメモ
  • License: Command line license generator

    Create license file Use the -o option to save the license to a file. The following command creates the file LICENSE.txt with the contents of the ISC license: license -o LICENSE.txt isc Customize name and year The program makes clever guesses for the name and year to use on the license, but you can also explicity specify them: license -n Alice -y 2013 isc Additional options are described in license

    tmatsuu
    tmatsuu 2016/01/11
    指定したライセンスに名前と年を入れてLICENSE.txtとして使えるテキストを生成してくれるツール
  • AWS大規模障害を乗り越えたNetflixが語る「障害発生ツールは変化に対応できる勇気を与えてくれる」 | さくらのナレッジ

    このコラムのNetflixの「FIT(障害注入テスト)」について書いた記事を執筆した直後のことですが、Netflixのサービスをある災害が襲いました。AWSAmazon Web Services)のus-east-1リージョン全体で大規模障害が発生したのです。 この大規模障害を同社がどのように乗り切ったか。その一部が以下のBlog記事で明かされています。 Chaos Engineering Upgraded 「AWSリージョンが落ちることはめったにない。だが、それは実際に起こった」と記事では語っています。2015年9月20日、US-EAST-1リージョンのAmazonのDynamoDBサービスが、問題が発生して停止します。これは20以上のAWSサービスに影響を及ぼしました。その影響により、AWSをインフラとする複数のインターネットサービスが6〜8時間にわたってダウンしてしまったのです。

    AWS大規模障害を乗り越えたNetflixが語る「障害発生ツールは変化に対応できる勇気を与えてくれる」 | さくらのナレッジ
    tmatsuu
    tmatsuu 2016/01/11
    ここまで持っていけると素晴らしいけど現実は…あきらめちゃいかん
  • MySQLでINSERTのデッドロックに嵌る人を1人でも減らすために - ichirin2501's diary

    この記事ははてなデベロッパーアドベントカレンダー2015の12月24日の記事です。 昨日は id:stefafafan さんのエンジニア英語でした。 こんにちは、こんばんは。 クリスマス・イヴですね、皆さんはどのような一日を過ごされる(た)のでしょうか。 僕は一人です。 改めまして、先日初めての合コンを経験/失敗して二度と行かないと誓った はてなの id:ichirin2501 です。今回は小ネタとしてMySQL(InnoDB)のBULK INSERTにおけるデッドロックの話をしようと思います。ただ、外部キー制約が絡むと複雑になるので今回は触れません。それについてはこちらを参照ください。 あ、タイトルはオマージュです*1。 Topic 検証環境 INSERTのデッドロック 避けられないケース もしくはロックする リトライ処理に注意 初期データ Duplicateの場合 Deadlockの

    MySQLでINSERTのデッドロックに嵌る人を1人でも減らすために - ichirin2501's diary
    tmatsuu
    tmatsuu 2016/01/11
    情報処理試験のトランザクションの問題にもでてくるロックの順番を守りましょうと同じやね。それができないなら外部ロックなりテーブルロックだ
  • クラウド破産しないように git-secrets を使う - Qiita

    AWS のクレデンシャルを GitHub に載せてしまう事故 相変わらず続いてますが、以下秘密情報の公開を防ぐ方法。 ( AWS の Glacier とか GCP の BigQuery とか 課金の仕組み系も気をつけないとですね・・) AWS が公開しているツール。パスワードなどの秘密情報を 誤って git リポジトリに commit する ことを防いでくれます。 https://github.com/awslabs/git-secrets 設定手順 1. インストール ツールを置いておくためのフォルダを作り、 あとはそこにソースを落としてきて make install するだけ。

    クラウド破産しないように git-secrets を使う - Qiita
    tmatsuu
    tmatsuu 2016/01/11
    AKIAIOSFODNN7EXAMPLEって公式ドキュメントで使われてるアクセスキーなのね。知らなかった。
  • メール運用がロストテクノロジーになっていく話

    クラウドワークス Advent Calendar 17日目担当のSMTPおじさんの記事です。 時間の無い人のために3行でまとめますと以下のコンテンツでお送りします。 大規模なメール配送を安全に行うには特別なノウハウがあり罠も多い SendGrid便利です 当たり前になった技術は空気のように見えなくなってインフラ化する。それがある日突然失われたときの被害は甚大。インフラ技術をキャッチアップして備えよう メール配送今昔 さて、メール配送といえば古くはSendmailを使っていました。多くのUnixディストリビューションに標準でインストールされており、使うのが当たり前で選択肢も少なかった時代です。 Sendmailは開発が重ねられることで複雑化しセキュリティホールが頻発しました。また設定ファイルのsendmail.cfはチューリング完全であるほど高機能で複雑でまた長くなりがちでもあり今でも書きた

    メール運用がロストテクノロジーになっていく話
    tmatsuu
    tmatsuu 2016/01/11
    IP Warmup、本家を見ても送信先サーバ単位ではなくメール総数っぽいので有効性が実に怪しい。まぁ今からノウハウを蓄積するのは厳しいので札束で殴るのオススメ。