tyamagu2のブックマーク (749)

  • TRICK 2015で三位に入賞しました

    TRICK 2015というのは、意味不明なキモいコードを書くプログラミングコンテストです。やったぜ。 審査員の方々、このようなわけのわからない代物を解読していただき当にありがとうございました。 栄えなき「Doubling amphisbaena award」を受賞したRubyプログラムが、こちら。 ;; ;; ;; ;; ;; ;; ;; ;; ;;eval$s =%q[i=1# eval(%q[ xxxxxxxx xx xxxx xx xx xxxx xx xx xxxx xx xx xxxx xx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xx xx xxxxxxxxxx xx xxxxxxxx j, t, p=0,[?;]," ev al$s=%qx [#$s]".split*"";i,j,t=i-j,i+j,(x [b=?\s]*j.abs+t).m

    tyamagu2
    tyamagu2 2015/12/12
  • 25,000+ Req/s for Rack JSON API with MRuby · Luca Guidi

    Last month I gave the closing keynote at RubyDay 2015 by talking about Lotus and the future of Ruby. For the attendees, the most surprising part of my speech was about MRuby. It’s a minimal version of Ruby, that can be embedded in any system that supports C. I think that this technology can play a key role for Ruby in the next years. The simplicity of the language can be used within complex system

    tyamagu2
    tyamagu2 2015/12/11
  • inforno :: Goのインタフェースがパフォーマンスに及ぼす影響

    Go Advent Calendar 2015 その3 11日目です。その3まであるなんてGo大人気ですね。 Gopherというのはいろいろな人がいてLLからGoへ、という方も多いかと思います。 LLではそもそも全てがオブジェクトだったりで話題になりませんが、よりマシンに近く変態的に速度を重視される方が多いC++では例えば仮想関数や実行時キャストのコストが議論になります。 Goにおいてこういう多態性はインタフェースで表現されます。結論からいうと、 Goのインタフェースにもそれなりのコストがあります。 なので極限までパフォーマンスを要求される場合には 例えばインターフェースを使わない というも選択肢に入ってくるのではないかと思います。 Go言語におけるインタフェースの内部表現 さて、Goはブートストラップ化(言語処理系をその言語自身で実装する)を進めており、1.5ではGoのコンパイラ、ランタ

    tyamagu2
    tyamagu2 2015/12/11
  • (解説) はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化 - Hatena Developer Blog

    こんにちは、シニアアプリケーションエンジニアのid:taraoです。この記事ははてなデベロッパーアドベントカレンダー2015の10日目です。昨日はid:tapir320によるはてなの組織開発についてでした。 先月開催されたWebDB Forum 2015で、「はてなブックマークにおけるアクセス制御: 半環構造に基づくモデル化」というタイトルの発表をしました。 はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化 from Lintaro Ina 発表資料には多くの方に興味をもっていただけたようですが、わかりにくい点も多かったのではないでしょうか。スポンサー企業としての技術報告セッションとはいえ学術会議での発表なので理論面と独自の工夫点にフォーカスした内容であったり、口頭での発表のしかたに大きく依存したスライドの遷移方法になっているので、この資料だけで細かいところまで理解しよ

    (解説) はてなブックマークにおけるアクセス制御 - 半環構造に基づくモデル化 - Hatena Developer Blog
    tyamagu2
    tyamagu2 2015/12/10
  • DMM inside

    なぜDMMがweb3に参入したのか。Seamoon Protocolが目指す新たなエンタメ体験の未来とは

    DMM inside
    tyamagu2
    tyamagu2 2015/12/10
  • Google BigQuery の話 #yapcasia // Speaker Deck

    Google BigQuery の話 #yapcasia // Speaker Deck
    tyamagu2
    tyamagu2 2015/12/10
  • Query and view logs overview  |  Cloud Logging  |  Google Cloud

    Send feedback Query and view logs overview Stay organized with collections Save and categorize content based on your preferences. This document describes how you query, view, and analyze log entries by using the Google Cloud console. There are two interfaces available to you, the Logs Explorer and Log Analytics. You can query, view, and analyze logs with both interfaces; however, they use differen

    Query and view logs overview  |  Cloud Logging  |  Google Cloud
    tyamagu2
    tyamagu2 2015/12/10
  • MPP on Hadoop, Redshift, BigQuery - Go ahead!

    Twitterで「早く今流行のMPPの大まかな使い方の違い書けよ!」というプレッシャーが半端ないのでてきとうに書きます.この記事は俺の経験と勉強会などでユーザから聞いた話をもとに書いているので,すべてが俺の経験ではありません(特にBigQuery).各社のSAの人とかに聞けば,もっと良いアプローチとか詳細を教えてくれるかもしれません. オンプレミスの商用MPPは使ったことないのでノーコメントです. MPP on HadoopでPrestoがメインなのは今一番使っているからで,Impalaなど他のMPP on Hadoop的なものも似たような感じかなと思っています. もちろん実装の違いなどがあるので,その辺は適宜自分で補間してください. 前提 アプリケーションを開発していて,そのための解析基盤を一から作る. 簡単なまとめ データを貯める所が作れるのであれば,そこに直接クエリを投げられるPre

    tyamagu2
    tyamagu2 2015/12/10
  • Microservices in Action

    マイクロサービスの概要と適用

    Microservices in Action
    tyamagu2
    tyamagu2 2015/12/10
  • #itamae_meetup で「itamaeを楽しく使うための工夫」について発表してきた - k0kubun's blog

    Itamae meetup #1 で発表した 趣味でちょくちょくコミットしているItamaeという構成管理ツールの第一回Meetupがあり、Itamaeについてどこかで話したいな〜とずっと思ってたので話してきた。個人的には、僕が作った機能のうち特に最近実装した以下のものを各位に使ってもらうことによって、Itamaeレシピの書かれ方やItamae自体をいい感じにしていきたくて発表した。 itamae generate cookbook https://github.com/itamae-kitchen/itamae/pull/176 include_recipeの.rb省略 https://github.com/itamae-kitchen/itamae/pull/166 bundle gem命名規則に従ったresource pluginの自動require https://github.

    #itamae_meetup で「itamaeを楽しく使うための工夫」について発表してきた - k0kubun's blog
    tyamagu2
    tyamagu2 2015/12/10
  • Golang パフォーマンスチューニング - Qiita

    この記事は Go Advent Calendar 2014 17 日目の記事です。 Go におけるパフォーマンスチューニングの話をします。 これらは Denco や Kocha などでのパフォーマンスチューニングの経験などから得た知見です。 処理系の話ではありませんのでご了承ください。 前提 プロファイリングを取った後、じゃあどうやって最適化するかというところの話です 「推測するな、計測せよ」 アルゴリズムやデータ構造は最適なものが選択されていると仮定します 小手先の最適化を行うよりアルゴリズム自体を変えたほうが圧倒的に良くなります。 この記事の各ベンチマークは Go 1.4 (go version go1.4 linux/amd64)で下記のコマンドにて取っています

    Golang パフォーマンスチューニング - Qiita
    tyamagu2
    tyamagu2 2015/12/10
  • GitHub - kosendj/ops

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - kosendj/ops
    tyamagu2
    tyamagu2 2015/12/10
  • 『ネットワーク初心者の新卒がDockerでネットワークの勉強をしてみた』

    こんにちは!サイバーエジェント アドテクスタジオ新卒の黒崎 (@kuro_m88) と申します。 Dynalystというチームに配属され、一人前のサーバサイドエンジニアになるべく修行をしています(`・ω・´)最近はScalaを書くことが多くて、Sparkで大量のログを集計するバッチの開発をしています。ほぼ100%AWSで構成されているプロダクトなので業務でネットワークの運用もしませんし、構成の事を意識する事はあまりありません。 そんな中でネットワークの事が知りたくなったのは、広告の配信に関わる開発をしてみて、広告の配信の仕組み自体も技術的にめちゃくちゃ面白いんですが、それと同時に自分たちのサーバから広告が表示される端末までの間がどうなってるのか気になってしまったのがきっかけです。学んでいくにはやはり手を動かすのが一番ですよねo(((^^)))o

    『ネットワーク初心者の新卒がDockerでネットワークの勉強をしてみた』
    tyamagu2
    tyamagu2 2015/12/09
  • Go言語でLet's EncryptのACMEを理解する

    Let’s Encrypt TL;DR Let’s EncryptのベースのプロトコルであるACMEを理解する. まずACMEをベースとしたCAであるboulderをローカルで動かす.次にACMEのGo言語クライアントライブラリであるericchiang/letsencrypt(非公式)を使い実際にboulderと喋りながら証明書発行を行い,コードとともにACMEが具体的にどのようなものなのかを追う. はじめに 証明書というのは面倒なもの,少なくともカジュアルなものではない,というイメージが強い.それは有料であることや自動化しにくいなどといったことに起因している(と思う).そのようなイメージに反して近年登場する最新の技術/プロトコルはTLSを前提にしているものが少なくない(e.g., HTTP2). このような背景の中で登場したのがLet’s Encryptと呼ばれるCAである.Let’s

    tyamagu2
    tyamagu2 2015/12/08
  • Scalaのメソッドと関数は違うもの?

    なんじゃっくん @nanjakkun Scala実践プログラミング、まだちゃんと読み込んでないけど、他の人も言ってるようにターゲットとしてる層がよくわからない(これは編集の都合だよね・・?)。前半はばっさり切って、その分後半詳しく説明してくれたほうが助かるかも 続く #shuwa_scala 2011-06-21 22:38:45

    Scalaのメソッドと関数は違うもの?
    tyamagu2
    tyamagu2 2015/12/08
  • カーネル空間までコード追っていこう@Linux

    こんにちは。@kokukumaです。 これは、KLab Advent Calendar6日目の記事です。6番手も緊張しますね(棒読み)。 今日はLinuxでプログラムの挙動を追って行く時に、便利なコマンド達を紹介したいと思います。 コードを追っていく流れに合わせて、6つのパートに分けて紹介していきます。 ユーザ 計測する(ユーザ) コードを読む(ユーザ) 挙動を把握する(ユーザ) カーネル 計測する(カーネル) コードを読む(カーネル) 挙動を把握する(カーネル) 環境はdebian前提で話しています、あしからず。 ユーザ空間で計測する コードを追おうと思う人の目的は、「そのコードを速くしたい」がほとんどでしょう。 そんなとき、いきなりコード読んでも心が折れるだけなので、この辺のツールを使ってどこが遅いのか調べます。 time 誰でも知ってるtimeコマンド。とりあえず時間測って比較すると

    カーネル空間までコード追っていこう@Linux
    tyamagu2
    tyamagu2 2015/12/07
  • The Definitive Guide to Ruby Heap Dumps, Part I

    In my last post, we looked at how you can dig into memory "leaks" on Heroku. These techniques all work well if you can reproduce the memory bloat locally. When you can't, we can take a "heap dump" off of a running production server and analyze it for more information. In this two-post series, we'll look at the basics of what a heap dump is, what the contents look like, how to analyze one, and how

    The Definitive Guide to Ruby Heap Dumps, Part I
    tyamagu2
    tyamagu2 2015/12/07
  • Let’s talk about logging | Dave Cheney

    This is a post inspired by a thread that Nate Finch started on the Go Forum. This post focuses on Go, but if you can see your way past that, I think the ideas presented here are widely applicable. Why no love ? Go’s log package doesn’t have leveled logs, you have to manually add prefixes like debug, info, warn, and error, yourself. Also, Go’s logger type doesn’t have a way to turn these various le

    tyamagu2
    tyamagu2 2015/12/06
  • The Little Schemer - あどけない話

    最近、Scheme がちょっとした流行になっているようです。 Scheme を勉強しようと思っている人に、僕が声を大にして薦めたいは、「The Little Schemer」です。 The Little Schemer (The MIT Press) 作者: Daniel P. Friedman,Matthias Felleisen出版社/メーカー: The MIT Press発売日: 1995/12/21メディア: ペーパーバック購入: 10人 クリック: 137回この商品を含むブログ (91件) を見る 1章から7章にかけて、たくさんの例題とともに「再帰」が説明されています。「再帰の再帰」も勉強できます。実際、「このを読んで人生が変わった」という感想を何回か聞いたことがあります。なぜなら、物事を再帰で考えられるようになるからです。再帰が分らない人は、ぜひ読んで下さい。 8章は、「ク

    The Little Schemer - あどけない話
    tyamagu2
    tyamagu2 2015/12/06
  • 二千万レコードあるテーブルへのalterをサービスを止めずに流す | All Your Bugs Are Belong To Ass

    ※このエントリはMySQL Casual Advent Calendar 2015の5日目のエントリです。 openark-kit というものについて ここまで読んでわかった方は、この先を読む必要はありません。 openark-kitとは、mysqlの運用に便利なツールキットを14個あつめたソフトウェアパッケージです。 Shlomi Noachという方がPythonで開発しており、少なくとも2009年に発表されているようです。 2015-12-05時点での最新版は196.1となっており、.tar.gz および .deb で配布されております。 このエントリを書いた背景事情 そもそも僕自身、50を超えるクラスタ化されたmysqlノードと一緒に業務生活を送っております。 ところが、システムが非常に古くさい構成のため、合計レコード数が2億から3億程度ある垂直分割されたテーブルに対しALTERを投

    tyamagu2
    tyamagu2 2015/12/06