タグ

2015年2月19日のブックマーク (15件)

  • Rubyによる不適切なFizzBuzzの世界 - Qiita

    最近不適切にFizzBuzzをやるのが楽しく、常にFizzBuzzのことばかり考えている気がします。これが"恋"というものなのでしょうか。 というわけなので、最近書いたFizzBuzzをいくつか紹介したいと思います。 basic.rb 基パターン (1..100).each do |n| puts case 0 when n % 15 then :FizzBuzz when n % 3 then :Fizz when n % 5 then :Buzz else n end end いいですね。ポイントはcaseの使い方です。caseは、caseに渡したオブジェクトと、各when節の評価結果を===メソッドで比較します。例えばFizzBuzzに該当するかの判定部分は0 === n % 15といった処理が走ることになるわけですね。 tap.rb tap with breakの活用

    Rubyによる不適切なFizzBuzzの世界 - Qiita
  • 「ドワンゴはケンカしたら弱い会社」川上会長がデータセンターを作りたい理由 Developers Summit 2015 基調講演 - 週刊アスキー

    home > インフォメーション > 「ドワンゴはケンカしたら弱い会社」川上会長がデータセンターを作りたい理由 Developers Summit 2015 基調講演 「ドワンゴは強くない。ケンカしたら弱い会社」 来場者からドワンゴの強みを聞かれ、同社代表取締役の川上量生会長兼CTOはあっけなくそう答えた。19日、開発者イベント「デベロッパーズサミット2015」基調講演の一幕だ。 競争力を強めようというのが動機じゃなかった ドワンゴの成り立ちがそもそも、アップルのようにCEOエンジニアをかつぎあげて作った会社ではなく、エンジニアが幸せになれる会社を作ろうとしたのが始まりだったというのも理由の1つだ。 「会社を立ち上げたのは競争力を強めようと言うのが動機じゃなかった。居心地のいい場所を作ろうとしたら、そういう場所になったという話」(川上会長) 競争を避けるのは意図的な側面もある。「ぼくは競

    「ドワンゴはケンカしたら弱い会社」川上会長がデータセンターを作りたい理由 Developers Summit 2015 基調講演 - 週刊アスキー
  • 2015年の最優先事項は関数型プログラミング! | POSTD

    —もはやOOP(オブジェクト指向プログラミング)は”クラウドモンスター”から私たちを守りきれない おそらくあなたは、”Clojure”、”Scala”、”Erlang”といった言葉や、”Javaにラムダ式が導入された”という話を聞いたことがあるでしょう。そしてそれらの言葉が”関数型プログラミング”と関連があるのをご存じかもしれません。プログラミングコミュニティに参加していれば、おそらく既にこのテーマが議題に上がっているでしょう。 Googleで”関数型プログラミング”を検索しても、目新しいものは何も見つかりません。言語の中で2番目に古い言語は、関数型プログラミングを利用しています。1950年代に登場した、Lispという言語です。では一体なぜ人々は、今になって関数型プログラミングに沸き立っているのでしょうか? およそ60年も経っているのに? 初期の頃、コンピュータは実に遅かった 信じられない

    2015年の最優先事項は関数型プログラミング! | POSTD
  • Ajax 誕生から 10 年とこれから - Block Rockin’ Codes

    Intro 誕生と言うのが正しいか微妙だけど、多分誕生でいいと思います。 というのも、「Ajax」という名前の出典は以下の記事で、この記事が書かれたのが今日からちょうど 10 年前でした。 Ajax: A New Approach to Web Applications (当時から、 URL が一回変わっている) Web 初めてまだ 10 年たって無いんで、全部見てきたってわけではないですが、個人的にはちょっと思い出深い記事だったりするので、ちょっと振り返ってみます。 Ajax: A New Approach to Web Applications 筆者の Jesse James Garrett 氏は UXコンサルティング会社である Adaptive Path の創立メンバーの一人で、 UX エンジニアです。 この記事の趣旨は、当時既にあった Google Maps や Gmail、G

    Ajax 誕生から 10 年とこれから - Block Rockin’ Codes
  • Goでアロケーションに気をつけたコードを書く方法 : DSAS開発者の部屋

    GoPythonのようなLLと比べると実行速度は速いのですが、GCは特別速いわけではないので、相対的にGCがパフォーマンスに与える影響は大きくなります。 また、Java に比べると、一時オブジェクトなどのために頻繁にヒープアロケーションを行うとGCの停止時間が長くなりがちですが、一方でヒープアロケーションを避けたプログラミングがしやすい言語でもあります。 MySQL ドライバのような低レイヤーのライブラリを作る場合、アプリケーション側の性能要件を勝手に決めることができないので、現実的な範囲でアロケーションを減らす努力をするべきです。 ということで、前回の記事 で紹介したプレースホルダ置換を実装するにあたって経験した、アロケーションに気を使ったプログラミングについて、チューニングする手順やコード上のテクニックを紹介したいと思います。 1. まずは正しく動くものを作る go-sql-driv

    Goでアロケーションに気をつけたコードを書く方法 : DSAS開発者の部屋
  • Terraform + GitHub + CircleCI + Atlasを利用してAWSの操作を自動化した - Glide Note

    TL;DR Terraform + GitHub + CircleCI + Atlas を用いてAWSの操作を自動化した 各ツールの役割は下記のような感じ Terraform => インフラへの変更ツール GitHub => .tfファイルのバージョン管理 CircleCI => CI、Terraformawsに対して実行 Atlas => インフラの状態を記録するterraform.tfstateの管理 インフラの継続的デリバリー - naoyaのはてなダイアリーにて、言及されていた範囲(Route53の変更、Chefの適用)をAWSの操作全体に拡大した 背景 今までの問題点 AWSの各種操作がブラウザからポチポチ業… 手作業なので誤操作に気づきにくい。事故りやすい インフラの実構成がバージョン管理出来ていない ちなみにRoute53に関してはroadworkerを用いてコードで管理済

  • コード補完もできる Go の REPL「gore」を作った - 詩と創作・思索のひろば

    タイトルの通りです。Go は LL 的に使える、とはよく申しますが、そういう意識で使っていると REPL 的なことをしたいときに困りがちですよね。そこで作りました。gore。いい名前ですね。 motemen/gore · GitHub 以下のスクリーンキャストでだいたいの雰囲気をお察し下さい。 (スクリーンキャストは cho45/KeyCast を使って撮影しました) 特徴 gore の特徴は以下の通りです。 ラインエディタと履歴 複数行入力 パッケージのインポート、補完つき 式および文を実行可能 コード補完(nsf/gocode を利用) プリティプリント(k0kubun/pp か davecgh/go-spew がおすすめ) ドキュメントも引ける(godoc が必要) 以上のように、非常に便利なものになっております。むしろこの程度 REPL には当然あってほしい機能だとも言える。 イン

    コード補完もできる Go の REPL「gore」を作った - 詩と創作・思索のひろば
  • Writing Erlang with vim | anxibits

    anxibits Random encounters of rage and fun Writing Erlang with vim Did you know that there's a suite of vim plugins dedicated to Erlang development making it, hands down, the best Erlang/OTP development environment? Let me break it down for you. Disclaimer All vim plugins mentioned in this article come with documentation. Look it up in anything's unclear. Also feel free to ping me :) Documentation

  • Lapis - A web framework for Lua

    local lapis = require "lapis" local app = lapis.Application() app:match("/", function(self) return "Hello world!" end) return app lapis = require "lapis" class extends lapis.Application "/": => "Hello world!" How does it work? With OpenResty, Lua is run directly inside of the Nginx worker using LuaJIT, giving you the smallest barrier between the webserver and your code. Have a look at Web Framewor

  • lua-nginx-module を使いこなす - Qiita

    参考 http://wiki.nginx.org/Phases (2016.3追記)上記のURLは ページがなくなっていました。残念ながらオフィシャルページで似た記載が見当たりません。下記あたりを参照してください。 http://www.aosabook.org/en/nginx.html#sec.nginx.internals http://www.nginxguts.com/2011/01/phases/ http://www.programering.com/a/MzN4MzMwATY.html http://www.slideshare.net/joshzhu/nginx-internals/37 lua-nginx-module がフックする処理 lua-nginx-module は、上記の nginxPhase のうち、Rewrite, Access, Content,

    lua-nginx-module を使いこなす - Qiita
  • 時雨堂 BOT サーバー (すごいErlangをゆかいに学ぶ会)

    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

    時雨堂 BOT サーバー (すごいErlangをゆかいに学ぶ会)
  • OpenRestyはどれくらいお気軽なウェブアプリ環境なのか。 - Qiita

    まとめの後に追記を追加。 OpenResty は Nginx をダイナミック・リバースプロキシーサーバに仕立て上げたり、テンプレートエンジンを仕込んでバックエンドの JSON API サーバにリクエストしたレスポンスデータを元にレンダリングして返したり、と色々便利に使えるお気楽ウェブアプリ環境なのだけれど、画像処理系のCPUに負荷のかかりそうなものでもお気軽にいけるのかなとふと疑問に思ったの実験してみる。 OpenResty や LuaRocks のインストールは homebrew でさっくり入るし、windows はパソコン初心者並の知識しかないのではしょる事にして、とりあえずテーマを決める。 「nginx 画像処理」でググってみると「簡単!リアルタイム画像変換をNginxだけで行う方法 | cloudrop」ってのが一番上にあったり「S3をバックエンドにngx_small_lightで

    OpenRestyはどれくらいお気軽なウェブアプリ環境なのか。 - Qiita
  • OpenResty (nginx + lua) 逆引きメモ - Qiita

    出来るだけ拡張しないでやりたいことをやる逆引き。 OpenResty は 1.7.2.1 で試してる。 cookie 用の日付を取得したい ngx.cookie_time(sec) で取得できる 文字列で Mon, 29-Sep-14 14:21:34 GMT こんな感じ 今の時間を秒で取得したい ngx.now() で取得できる A-Za-z0-9 の乱数を生成する デフォルトでは出来ない https://github.com/bungle/lua-resty-random cookie を作る機能 デフォルトでは無い https://github.com/cloudflare/lua-resty-cookie ただ ngx.header 使えば何でも出来る

    OpenResty (nginx + lua) 逆引きメモ - Qiita
  • Luaが支えるCloudFlareのWebアプリファイアウォール - ワザノバ | wazanova

    https://www.youtube.com/watch?v=nlt4XKhucS4 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約3時間前 CloudFlareのWAF (Web Application Firewall)は、HTTPリクエストをフィルタリングし、 SQLインジェクション コメントスパム XSS DDoSアタック WordPressなど特定のアプリを狙った攻撃 などの攻撃をネットワークのエッジで、つまりサーバに到達する前に守ってくれます。 適用するフィルタリングルールは、オープンソースのOWASPなどの共通ルール 5,682件 + CloudFlare内製のルール 102件 + 顧客企業がカスタムメイドしたルールの総計で、それが全てのリクエストに当てはめられます。その処理速度は平均1ms以

  • Lua 5.3が登場

    1月12日(ドイツ時間)、スクリプト言語Luaの最新版となる「Lua 5.3」が公開された。。Luaは扱いやすい構文、データ型、レジスタベースの仮想マシン、インクリメンタルガベージコレクタ、高い移植性、組み込み利用の容易性といった特徴を持つ。Lua 5.3の主な変更点は次のとおり。 整数型への対応(デフォルトでは64ビット) 32ビットの数値の正式サポート ビット演算の導入 基的なUTF-8サポートの導入 値のパックおよびアンパックを実施する関数の提供 LuaはMITライセンスの下で提供されており、ソースコードも移植性が高く量も多くないことから、さまざまなアプリケーションやカーネルにおける組み込みのスクリプト言語として活用されている。シェルスクリプトのように扱うことができるうえ、シェルスクリプトでは提供していないデータ型や扱いやすいシンタックスを提供していることから、シェルスクリプトの代

    Lua 5.3が登場