これは VirtualDOM Advent Calendar 2014 に勝手に参加する記事です。 あたたかい春の昼下がりのこと、あるブラウザベンダの社内を不穏な噂が駆け巡った。 「React.js なるライブラリ、どうも仮想 DOM というやつのせいで速いらしいぞ」 もうリアルな DOM はお役御免、ブラウザも商売上がったりか・・・。雇用に不安を覚える人(私)がいる一方、 そのアイデアをとりこんでブラウザの DOM を速く出来ないかと考える人たちもいた。 仮想 DOM はなぜ速いのか。誰かのつてを辿って React.js チームにおいでいただき、速さの秘密をテックトークしてもらう。 イミュータブルなデータ構造による単純化、非同期適用による処理のバッチ化、差分アルゴリズムによる副作用の最小化… いくつかのアイデアはブラウザからはどうにもならないが、たとえば非同期化なんかは形は違えどブラウザ
追記:続編です → Ruby on Rails アップグレード 4.1 → 4.2【Ruby on Rails Advent Calendar 2015】 これは Ruby on Rails Advent Calendar 2014 の12日目の記事です。 昨日は takeyuweb さんの Active Job meets Amazon SQS でした。 こんにちは。komiyak です。 これは、Ruby on Rails Advent Calendar の参加記事です。 12月といえば Advent Calendar! 残り少ない 2014 年。 年越しに向けてラストスパートをかけて、 大晦日は、ガキ使でも見ながら、ゆっくり天ぷら蕎麦をすすりたいものですね。 さて、皆様がこの時期にやってしまいたいことといえば、 積もりに積もった1年の汚れを落とす、大掃除ではないでしょうか。 実はわた
そんなものは迷信に過ぎない。 はじめに ここ数週間で何度か「破壊的メソッドなのに!がついてない」「!がついてないのに副作用がある」といった言説を何度か目にする機会があった。 「破壊的」と「非破壊的」 a.hoge(b)のようにメソッド呼び出しをしたとき、aの状態に影響を及ぼすメソッドを、Rubyでは一般的に「破壊的」と呼びます。メソッド呼び出しで前の状態を壊して、別の状態にしてしまふからです。 言葉で説明してもぴんとこないかもしれないので、「ふたつの配列をくっつけたい」といふ要望に対して、破壊的なパターンと、破壊的ではないパターンのコードを紹介します。 破壊ではないパターン # ふたつの配列を用意する a = [0, 2, 4, 6, 8] b = [1, 3, 5, 7, 9] c = a + b # aとbを連結してcに代入 p a #=> [0, 2, 4, 6, 8] p b #=
技術推進室の宇津井です。 今年はエンジニアのキャリアパスを書いた記事を多く見ましたので、世の中でも整備する動きが広まっているのでしょう。 ここ最近は通常業務の傍らでキャリアパスとか役職定義のようなものを作るのに大きく時間を使っていました。 (これも立派な業務ですし、これが私にとっては通常業務なのかもしれません) 折角なので社内向けの資料を一般公開できるように一部編集しました。良かったらご覧ください。 なんで今キャリアパス?当社はもともと以下のようなキャリアパスを設けて、各々のパスに基づいて役職定義をしていました。 これは様々な歴史を歩んできた結果なんですが、つぎはぎを重ねたので社内でも以下のような疑問があがっていました。 (当社は創業14年です!) なんでWebマスター(WM)が存在しないの?シニアWebマスター(SWM)とシニアシステムアーキテクト(SSA)は同じシニアが付くのに同格じゃ
Google Cloud Platform Advent Calendar 2014の12日目の記事です。 1か月ほど前にBeta版がリリースされたGoogle Compute Engine (GCE)のLocal SSDを試してみたので、さっそくレポートしたい。 Local SSDって何? GCEではこれまで、Persistent Diskというネットワーク ディスクのみが提供されており、ブートもデータもPDだけでまかなわれてきた。PD上のデータはすべて冗長化されているので、一般的な単体ディスクよりも高い可用性を提供する。 一方で「可用性は普通でよいのでともかく高い帯域とIOPS値を」というニーズに応えるべく新たに提供されたのがLocal SSDだ。特長をまとめると、 375GB SSDを1 VMあたり最大4台まで装着可能 4台使用時は680K IOPS (4K random read)
デブサミ個人スポンサー制度は、デブサミの開催を個人でも応援していただける方向けにスポンサードを募集しております。 セッションの事前登録なしでご参加いただけるプレミアムチケットや翔泳社書籍の30%OFFクーポンなど、個人スポンサーだけの様々な特典で、あなたもいわば<プラチナの民>! この機会に是非お申込みください! ※当日ご来場いただけなかった場合は、後日スペシャルプレゼントを進呈いたします。 デブサミ2015個人スポンサー(10,000円+税) 申込終了いたしました フリーパス 煩わしいセッション登録不要! セッションの事前登録なしで、当日はお好みのセッションを自由にご聴講いただけます。 ※特別トラック(2F)華ごろもで開催される以下のハンズオンセッションは、参加条件、事前インストールなどのご案内のため、別途デブサミ2015への事前登録が必要となります。あらかじめご了承ください。 ■フリー
この記事はピクシブ株式会社Advent Calendar 12/10の記事です。 こんにちは、インフラチームの@harukasanです。 さて、今日はpixivで使用しているサムネイル変換サーバについて紹介しようと思います。 pixivにはたくさんのサムネイルがある pixivにはうんざりするほどたくさんの種類のサムネイルがあります。 これは対応しているプラットフォームが多く、また画面毎にもサイズが異なるからです。 PC版であるwww.pixiv.netだけでも10種類以上のサムネイルが使用されています。 また、サムネイルにはアスペクト比を固定したものと、スクエアにクロップした2種類があります。 (Ugoira Tech Talks: Ugoku Backendより) 従来の方法ではこれらのサムネイルをアップロード時に生成していたため、サムネイル生成を非同期化するなどして対応していました。
この記事はVOYAGE GROUP エンジニアブログ Advent Calendar 2014の12日目の記事です! こんにちは!@gomachan46です。 VOYAGE GROUPの新卒エンジニアとして日々楽しみながらお仕事しております。 社内にて密かに活動を続けている音ゲー部の部長をやっております! 少し前にVOYAGE GROUP エンジニアブログ : あなたにおすすめするたった一つの最高のキーボードとかいうエントリを上げたところ、社外の方からも「音ゲーの人だよね?」とわかってもらえるようになりました。 さて、今回はちょっとした休憩中でもさっとお仕事をしていると見せかけて「ターミナルでプレイできる音ゲー」を作ってみようと思います! もちろんこの間紹介したキーボードでもプレイ可能です:) 音ゲーとは 簡単にいうとリズムに合せて作成された譜面の通りにボタンを押して遊ぶゲームです。 作っ
U理論、と聞いて「ん?! UFOか何かについての理論?」と思う人もいるでしょう。いやいや、そんなSFチックなものではありません。この理論は、マサチューセッツ工科大学のオットー・シャーマー博士が提唱する「過去の延長線上にはないイノベーションを起こすための原理と実践手法を明示した理論」なのです。 U理論を日本に初めて紹介したのが、『人と組織の問題を劇的に解決する U理論入門』(PHP研究所)の著書も持つ、社団法人プレゼンシングインスティチュートコミュニティジャパン理事の中土井僚氏。その中土井氏に対して、サイボウズ・ラボのエンジニアで、日本最年少で博士号を取得した俊英・西尾泰和が「U理論をエンジニアがどのように役立てられるか?」という観点から迫るのが今回の対談です。 前編ではまずU理論がどんなもので、イノベーションが起きるまでにはどんなプロセスを辿るのかを、具体的なシーンも交えながら解説していき
rspec3 に疲弊している皆さんこんにちは。今日は rspec3 に疲れた皆さんへ憩いの場として test-unit gem のお話を提供したいと思います。 test-unit gem について 「Rubyのテスティングフレームワークの歴史(2014年版)」の記事に詳しく書いてありますが、test-unit gem は古来にあった test/unit とも minitest とも違う第3の(第4?5?よくわかりません)の単体テストライブラリです。 Ruby コミッタでもある @kou 氏が精力的にメンテナンスを続けてくれており、 Ruby 2.2 に標準で bundle される今をときめくテスティングライブラリです。 古来の test/unit に比べて多くの機能が入っており、大変便利になっています。 テストの書き方 本来ならばここで、テストの記法について語るのでしょうが、@repeat
GCPのアドベントカレンダー11日目です。 久しぶりにGAE触ったら管理画面の日本語対応が進んでいて嬉しかったので触ってみました。 といってもチュートリアルな感じです。 Goだけ触ったことがなかったので、試してみました。 昔AppEngineを触ってたときがありましたが、そのときと比べてチュートリアルや管理画面が凄く分かりやすくなっていて感動してます。 Google App Engineでアプリケーション作成 今すぐ試す を選択しましょう。 任意のプロジェクト名を入力して 言語はGoを選択します。 ソースコードは眺めるくらいでおk Google Cloud SDKをまだインストールしていない場合はインストールしましょう。 ~/.bash_profileにaliasを追加しておきます。
あいさつ 全然関係ないんですが、猫背を直すためにパソコンいじる時に鳩胸を意識するとめちゃイイです. 偉そうに語れる立場では全然ないですがCRubyの寄与に関わる人がもっと増えたら良いと想い筆を執りました. なお開発スタイルはGitを中心に使いパッチもGithubで管理する僕流なので皆さんよしなにやって下さい. 大体の事はbugs.ruby-lang.orgパイセンが教えてくれる 兎にも角にもbugs.ruby-lang.org へ . 最初このページを見た時には若干のとっつきにくさを感じましたが、コレが宝の山でして幸いにも日本語のドキュメントも充実しており僕のクソみたいなQiitaの記事はなんかさっさと閉じてこちらを読みあさるのが良いかと. 最新のRubyをいじくる 報告するに足る内容か調べる時には最新のRubyで試してみましょう. (もう直ってるみたいな事は往々にしてあります) ビルドの
標記の通りで、Docker tips直球じゃなかったりしますが、コアにDockerがいるツールではあるよと言うことで。 どんな感じで運用しているかの話をしてお茶を濁しつつDocker話題を交えていきます。 インストール Puppetのマニフェストをきっちり書いて、後述するようにそのマニフェストをdrone自身にCIさせている。 DockerのPuppetモジュールとして garethr-docker と言うのを使っている。Droneのマニフェストはインストール手順を見て自分で書いた。 インスフトール手順をレシピに落とすのはそこまで難しくなかった。Puppetが苦手なら、ChefなりAnsibleなりで一度一通り書いておくと安心感があると思う。 監視 munin で雑にやっている。せっかくDockerが入るので普通にmuninのイメージを引っ張って監視が設定できる。便利。あ、 udzura/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く