広告システムを全く知らなかった私が約2ヶ月弱の開発期間で初期バージョンをローンチ、アーキテクチャも日々変更していき、あれから1年が経過しました。 SmartNews Adsは一般的な広告配信サーバとは異なる特徴をいくつか持っています。今回は運用型広告と純広告型の配信サーバのアーキテクチャを中心に、個人の裁量でどのように設計し、何を採択し、どのように変更していったのかを可能な限り公開し、発生した障害(課題)も晒しながらポストモーテムをします。Read less
こんにちは、サイボウズ・ラボの星野です。 先日の記事(半年かかったバグ調査の顛末は)では、長期間苦労した不具合調査についてあっさりとまとめて頂いたので、その行間に起きたたくさんのことを思い起こし、ひとり感慨にふけっています。 (私も記事原稿をレビューしましたが、もし私が書いたら思い入れが強すぎて長文になってしまい、きっと読みづらくなってしまったでしょう。。) さて、今回は、crashblk というソフトウェアをオープンソース化したので、その紹介をしたいと思います。 ソースコードは GitHub レポジトリ に置いてあります。 ライセンスは GPLv2 or 3 です。 crashblk とは crashblk (くらっしゅぶろく、と読んでいます) は、Linux カーネルのブロックデバイスドライバやファイルシステムなどをテストするためのブロックデバイスドライバです。私は WalB を開発し
注釈: CASH LAYER:キャッシュレイヤ FRONT END:フロントエンド ASSET SERVE:アセットを供給 WEB SERVER W/ROUND ROBIN FAILOVER:ラウンドロビンとフェールオーバーを実装したWebサーバ THE CLOUD:クラウド ALL READS! :全ての読み込み WRITES:書く READS:読む MASTER:マスタ INPORTANT POINTY THINGS:重要な鋭い情報 MULTI MASTER DB CLUSTER:複数のマスタからなるデータベースの集合体 「エンジニアはまずアーキテクチャの全体像から始めるべき」、というのが先人たちの知恵からの教訓となっています。データベースを使ったサービスが他のサービスと関係する様子を、線や矢印で表したのが上の図です。キャッシュレイヤ、ロードバランサ、その他の複雑な形も上図の情報フロー
会員事業部のツヤです。 クックパッドにもRubyMine愛好家はいますので、社内で共有されたTipsも含め RubyMineの便利な機能を紹介したいと思います。 ※ 掲載している画像は実際のサービス・プロジェクトとは一切関係ありません。(blog用です) Remote Debugging Gemのインストール RubyMineの設定 デバッグ 便利な機能 Search Everywhere no new line at end of file Ruby Style Guid keymap Tasks & Contexts Terminal PlantUML Gfm まとめ Remote Debugging このために使っていると言っても過言ではないのが Remote Debugging 機能です。 どんなサービスでも複雑な要件で構成されたページは存在するもので、クックパッドも同様です。 歴
Railsで中規模なサイトを作っていく上で 避けて通れないのが、増えてきたモデルを適切にキャッシュするしくみのように思えます。 特に変更が少ないマスタ的なテーブルに対して、『多対多』で関連付け(アソシエーション: association)がある場合などは、 それなりのSQLの発行コストになることがあります。そこを適切にキャッシュすることでDBへの負荷が減り、 ユーザーへのレスポンスが改善されると思います。 今回は、最近実装しているキャッシュの方法について、紹介したいと思います。 (というか偉い人、ぜひいい方法教えてください><) 🍣 前提条件: RailsからRedisにキャッシュ今回は前提条件として、Railsのアプリケーションから『redis-store/redis-rails - GitHub』 のGemを使って、Redisにキャッシュをされているとします。 セットアップ方法は『r
Webサーバのベンチマークをとるのが趣味になりつつあるmatsumotoryです。 Webサーバのベンチマークについては、abからはじまりwrk等を使っていたのですが、最近ではほぼh2loadを使っています。 h2loadはnghttp2というHTTP/2ライブラリのアプリケーションに含まれているツールですが、 HTTP/2(SPDYも)とHTTP/1.xに両対応している ベンチマーク側の同時スレッド数を増やせる TLS及びSNIもサポートしている 最小、最大、平均、標準偏差あたりもちゃんとでる ので、色々プロトコルを変えつつ同じベンチマークツールで、値の目安を出すにはとても重宝しています。 Nghttp2: HTTP/2 C Library - nghttp2.org 実行結果のサンプルは例えば以下、 $ h2load -c 100 -n 10000 https://localhost:
はじめに さる2016年1月9日、西脇.rb&神戸.rbの合同勉強会として「RubyistのためのCSS勉強会」を開催しました。 主催者の僕自身が「参加して良かった!」と思えるぐらい有益な情報がたくさん詰まった勉強会になったので、今回のエントリではこの勉強会の内容を紹介します。 もくじ ちょっと長いので、先に目次を載せておきます。 はじめに もくじ 講師は合同会社フィヨルドの町田さん! この勉強会で講義してもらったテーマ 座学編 Railsの app/assets/stylesheets 内のディレクトリ構成例 最近注目を集めているAtomic Designについて 3種類のリセット系CSSの特徴について 変更に強いマークアップのルールについて プログラマとデザイナの協業について ハンズオン編 進め方の具体例 1問目:グローバルナビゲーションの作成 2問目:アラート画面の作成 3問目:記事
Kotlin バージョン 1.0 正式リリースをもうすぐに控え、この 楽しい プログラミング言語についてあなたが耳にする機会も増えたのではないでしょうか。Kotlin は私たちにコードを読みやすく改善する機会を与えてくれます。Kotlin は試しやすく、学習曲線も比較的上がりやすく、またJavaとの相互運用が100%な言語です。 ちょっと待って、まだバージョン1ではないけどすでに使い始めているの? はい、昨年の11月に私たちは Kotlinで書かれた Backlog Android 1.2 をリリースしました。このリリースはKotlinで書かれた私たちの最初のプロダクトのとなりました。 Play Storeからアプリを手に入れよう M12 (マイルストーン 12)から私たちは Kotlin に興味を持つようになりました。 Javaと100% 相互運用ができること は私たちが Kotlin
Modern workers are mobile and connected, and they expect to have access to the tools they need from anywhere. When people need to access systems on their network, from the internet, they need to know the public IP address of the network. Early-stage startups, small businesses, and home networks often have dynamic public IP addresses that can change without notice. Because of this changing address,
In a December 2015 talk at JSConf US, we announced that we would be open-sourcing the key components of the Chakra JavaScript engine that powers Microsoft Edge. Today, we are excited to share with you that we’ve just made the sources for ChakraCore available under the MIT License at the ChakraCore GitHub repository. Going forward, we’ll be developing the key components of Chakra in the open. The C
米Microsoftは1月13日(現地時間)、予告通りJavaScriptエンジン「ChakraCore」をGitHubで公開した。ライセンスはMIT License。 ChakraCoreは、同社のWebブラウザ「Microsoft Edge」で採用するChakraのオープンソース版。ChakraとChakraCoreの主な違いは、ChakraCoreはEdgeやUniversal Windows Platformのプライベートバインディングを含まないことと、COMベースのChakraのAPIではなく、標準化できる新しいAPIをサポートすること。JavaScriptの仮想マシン(VM)として作動し、さまざまなアプリケーションに内蔵可能という。 関連記事 Microsoft、「Edge」のJavaScriptエンジン「Chakra」をオープンソース化へ MicrosoftがWebブラウザ「
僕は妻と二人暮らしをしています。かつてはLINEを使って普段のやり取りをしていたのですが、一年ほど前からSlackを使い始めました。 Slackの良いところはハッカビリティが高いところです。Google Calendarなど他のサービスと連携することができるし、IFTTTを使って多少凝ったこともできます。 IFTTT時代 IFTTTを使えば天気予報をSlackチャンネルに流せます。 英語というのは不本意ですが、一応今日の天気はわかります。英語が読めなくてもアイコンを見れば、雨が降りそうな気がするってくらいはわかります。 しかし、しばらく運用しているうちに疑念が。 天気予報が当たらない。 IFTTTが連携している天気予報は「The Weather Channel」の情報なのですが、これが日本の気象庁の予想と違っていて全然当たらない。 ちなみにiOS8から標準の天気アプリが提供している予報もこ
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 最近は書籍を買わず、Kindleで購入することが増えています。紙は贅沢品になると言われていますが、すでにそうなっていると言えそうです。しかし紙と違って電子書籍の場合、所有権を有していないため、Kindle自体が終わるとデータが消えてしまうことになります。 それを防ぐための手段として存在するのがDRM解除かも知れません。Kindleで購入した書籍データを素早くDRM解除するのがKindleUnpackです。 KindleUnpackの使い方 KindleUnpackを実行すると画像リソースが生成され、XHTMLに展開されます。 ePubファイルが生成されるので多くのePubリーダーで読めるようになるのですが、divタグの閉じタグがないせいでエラーになるページがあります(その内修正され
あの本を読まなくてはと思いながら何週間も先延ばしにした結果、ついに、明日までにまるごと1冊を読まなければならなくなったあなた。勉強の一夜漬けであれ、ブッククラブで怠け者の自分をさらしたくないという動機であれ、希望を捨ててはいけません。その分厚い1冊を一気に読み終えることは可能であり、内容をすべて忘れて何も身にならなかったといった事態も避けられるのです。 数時間で1冊の本を読み終えるなど、とても困難な作業に思えるでしょうが、つまるところ、単純計算では可能なのです。平均的な大人が1分間に読める英単語数は、だいたい200~400語。平均的な小説の総語数は、6万~10万語です。仮にあなたの読書スピードが中間レベルの1分間300語で、読もうとしている小説が中間レベルの8万語だとすれば、5時間以内に読破できることになります。 途方もない数字に聞こえるかもしれませんが、可能です。しかも、本格的な情報吸収
こんな俺でもWebカメラがあれば美少女になれる! BRZRKが贈る「FaceRig」+「Live2D」利用ガイド ライター:BRZRK 2014年12月発売ながら,最近になるまでほとんど話題に挙がらなかった,アバターソフト「FaceRig」(フェイスリグ)。知る人ぞ知るソフトといったところで,正直,ブレイクの兆しも全然感じなかったのだが,ここにきて,2Dイラストを動かせるようにするアニメーションツール「Live2D」とタッグを組んだことで,日本どころか世界的な注目を集めるようになった。 と言っても何のことか分からない人がいるかもしれないが,誤解を恐れずざっくり説明すると,筆者もあなたも,誰でも美少女になれるのだ。 首を傾げて笑っているのが実際にはおっさんだったとしても,2D美少女化するだけで雰囲気はずいぶん変わる Steamから1480円(※2016年1月13日現在)で購入できるFaceR
昨年 11/1 ~ 11/5 にシアトル Microsoft 本社で開催された MVP Global Summit に出席しており、滞在先ホテルの近くにある Microsoft Store で Surface Book を衝動買いしました。 Surface Book は Surface Pro 4 とともに発表された Surface ブランドのラップトップ PC です。 そして今日、日本での価格と発売日が発表され、購入を検討されている方も多いかと思います。 そこで、購入から 2 ヵ月ちょっと経った今、使用者として雑感をつらつら適当に述べたいと思います。 買ったもの Surface Book ・CPU: Core i7-6600U ・RAM: 16 GB ・SSD: 512 GB 仕様はこちら: http://news.microsoft.com/download/presskits/sur
Get to know 1Password for macOS ›If you’re new to 1Password, learn how to use the Mac app to manage your passwords, credit cards, secure notes, and more. Get 1Password in your browser1Password works everywhere you do. Easily sign in to sites, generate strong passwords, and find or autofill what you need in an instant. It’s all at your fingertips. Feeling adventurous?Try out the beta release of 1Pa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く