よく訓練されたアップル信者、都元です。今回はMySQLのクライアント負荷エミュレーションツールmysqlslapを使って、Amazon RDSの性能を測定してみました。 このエントリーの初期版では、クライアントのEC2インスタンスサイズをsmallにしていましたが、クライアント側がボトルネックにならないよう、m3.2xlargeで再測定しています。また、測定回数(iterations)も、初期版では1でしたが、現在は10回の平均を取った数値で再測定しています。 Amazon RDSではdb.t1.microからdb.m2.4xlargeまで様々なインスタンスクラスが選択できます *1。それぞれCPUやメモリの他、I/O性能も「低速」「標準」「高速」といった差別化がはかられています。 とは言え、それぞれのインスタンスクラスにおいて、総合的なパフォーマンスはどの程度なのか、気になりますよね!
本書は、すぐれた組み込みソフトウェアを開発するための手法を豊富なサンプルコードとともに解説する本です。前半では、制約のある組み込み環境でテスト駆動開発を行うための基礎知識とノウハウを懇切丁寧に紹介します。後半では、オブジェクト指向をベースに考え出されたSOLID原則やリファクタリングをC言語に適用し、アジャイルな設計を実現するための方法を示します。さらに、レガシーコードへのテストの追加方法についてもサンプルコードを使って詳細に解説します。日本語版には平鍋健児氏による 「日本語版まえがき」を収録。テスト駆動開発を学びたい、アジャイル開発について知りたい、レガシーコードと日々格闘している、そんなすべての組み込みCプログラマ必携の一冊です。 目次 本書への賞賛の声 日本語版まえがき ジャック・ガンセルによるまえがき ロバート・C・マーティンによるまえがき はじめに 1章 テスト駆動開発 1.1
技術部・開発基盤グループの中村です。 この度、クックパッドが開発し、オープンソースとして公開しているRuby on Rails向けプロトタイプ開発用のプラグイン「Chanko」を再設計し、Ruby 2.0.0 への移行に引き続き Chanko 2.0.0 をリリースしました。Chanko 2.0.0 では、これまでのバージョンと互換性を保ちながら、主に実行速度やコードの可読性について改善が加えられています。 http://cookpad.github.io/chanko/ Chankoとは Chankoは、素早く安全に新機能のプロトタイプを行うためのフレームワークです。クックパッドでは今現在でも、Chankoを使って多くの機能を独立して開発し、対象範囲を限定して公開することで新機能の検証サイクルを回しています。Chankoを利用して拡張した機能でエラーが起きた場合、拡張前の機能に自動的に切
カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codesp […] カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッ
開催趣旨 SQLアンチパターンの内容について、ただ読むだけで終わってしまうのではなく、自分以外の方とディスカッションをする事によってさらにパターンを落とし込んでいくことを目的としています。 概要 SQLアンチパターンに記載されている対象のパターンについて、全員(もしくは2グループに分けて)ディスカッションを行います。 パターン内容については当日さらっと確認するぐらいにとどめようかと思っております。そのため、読書会までは対象パターンの章については読んできてください。 スコープ 今回は書籍より「第一章 ジェイウォーク(信号無視)」になります。 ※ディスカッションの状況等によってはもう一パターン読み進めるかもしれません。 当日の流れ 19:45〜20:00 開場、受付 20:00〜21:45 ディスカッション 21:45〜22:00 振り返り 注意事項 ・書籍はお持ちください。書籍、電子版はどち
読んだ。 ISBN:978-4-87311-589-4:detail タイトルに珍しい感じの題がつけられてるけど、"SQL クックブック"とか、"SQL ベストプラクティス" みたいな内容だった。 書籍の構成としては、 I 部:データベース論理設計のアンチパターン II 部:データベース物理設計のアンチパターン III 部:クエリのアンチパターン IV 部:アプリケーション開発のアンチパターン ていう風になってる。 I 〜 III 部は純粋に DB 設計とかクエリ設計といったところだけど、IV 部になるとだんだんとドキュメント管理はちゃんとしろやとか、ログくらいきっちり見ろやみたいな話で、小言をぶつぶつ言われてるかんじして恐縮だった。 内容としてはホントによく目にしがちな設計ミスとか多くて、ガリガリ DB の論理設計とかする人にとってはあんまし目新しいことないかもしれないけど、こういうのが
SQLアンチパターン 4章 キーレスエントリ(外部キー嫌い)より 外部キー制約によって、多少のオーバーヘッドが生じるのは事実です。しかし、以下にあげるように、他の選択肢と比べると、外部キーの方がより効率的であることがわかります。 本書では、外部キー制約を使うことによってデータを更新する時の事前チェックを省略できるので効率が良いという主張。 とはいえ、データベースは「外部キー制約に違反した」というエラーは返してくれるが、複数の制約がある場合にそこからどの外部キー制約に違反したかを取得する一般的な方法は無いので、ユーザーに詳細なエラーの内容を提供する必要がある場合は、やはり事前チェックが必要になる。 あるいは筋が悪いけど、頑張ればどの制約に違反したかをエラーメッセージから拾えるかもしれない。いちいち自分で書く気にはならないが、そういうライブラリがあったら面白そうだ。 MySQLの例 ERROR
私は、AWSで提供しているサービスは間違いなくインフラの中核技術であること、今後もAWSはインフラの中核技術を出し続けるであろうことを確信しています。AWSというのを「クラウド事業者」「大規模事業者」などなどに置き換えてもいいでしょう。しかし、それらの今うまくいっているプレイヤーに「乗っかる」戦略もそんなに悪いものではないと思っています。 Open database life: インフラエンジニアのキャリアとクラウドについて ではこれからLinuxなりMySQLなりのスペシャリストになりたいという人(新卒/中途問わず)はどういう会社を目指すのが良いのでしょうか。私は本家ベンダー(RedHatなりOracleなり)や大手サービス事業者(FacebookなりDeNAなり)が良いと思っていますが、一点「クラウド上で主力サービスを展開している事業者」はやめた方が良いと考えています。 Linuxなり
UNIX V5, OpenBSD, Plan 9, FreeBSD, and GNU coreutils implementations of echo.c UNIX Fifth Editionのecho.cは、以下のような実装になっている。 main(argc, argv) int argc; char *argv[]; { int i; argc--; for(i=1; i<=argc; i++) printf("%s%c", argv[i], i==argc? '\n': ' '); } いかにも昔のC言語らしいコードだ。ヘッダーの#includeはなく、関数の戻り値の型も指定されない。仮引数の型も、今となっては物珍しいだろうが後書きだ。 OpenBSDのコードは以下の通り。 /* $OpenBSD: echo.c,v 1.7 2009/10/27 23:59:21 deraadt
We all know that technology is evolving like anything and since web browsers are constantly making changes and improving their standards, web developers have to become shrewd and they, too, are constantly trying to adopt the changes. I personally believe that all these changes are positive and this will definitely lead to enhanced support and of course making frontend development time a lot more c
わずか280行程度のJavaScriptで作られ... / JavaScriptで作るいろいろな物理シミュレ... / JavaScriptによる波の物理シミュレーショ...他...全14件
ページ全体を角丸のボーダーで囲み、そのページがスクロールするくらい長くても全体を囲むスタイルシートのテクニックを紹介します。 Body Border, Rounded Inside Step 1: ページ全体を角丸で囲む(スクロール非対応) Step 2: ページ全体を角丸で囲む(スクロール対応) Step 3: ページ全体を角丸で囲む(スクロールバーを変更) Step 1: ページ全体を角丸で囲む(スクロール非対応) まずはシンプルなスタイルシートで、ページ全体を角丸のボーダーで囲んでみましょう。 基本的な考え方は、body要素にborder-imageを使い、4つの角を角丸にします。使用するのは下記の画像です。 角丸用の画像 コードを見てみましょう。 HTML HTMLは、bodyだけで構いません。 <body> <h1>Rounded inside body border</h1>
eBook Japanに対する不正アクセスについて、詳細の発表があり、いわゆる「パスワードリスト攻撃」であることが発表されました。 前回のご報告までは「複数のIPアドレスからログインページに対して機械的に総当たり攻撃等を行う大量アクセス行為(ブルートフォースアタック)」とご説明しておりましたが、詳細調査の結果、「不正の疑われる複数のIPアドレスからログインページに対して、予め持っていたログインIDとパスワードの適用可否を試行する大量アクセス行為」であることが判明いたしました。 つまり、大量アクセス行為を仕掛けてきた者は、当社以外の他のサービスなどで他のサービスのログインIDとパスワードを不正に入手し、ユーザーがログインIDとパスワードを共通に設定している可能性を狙って当社サービスに不正にログインしようとし、上記件数についてはログインに成功してしまったということです。 そのように判断した根拠
Webアプリの公開にあたっては、データ転送量や実行効率の点からJavaScriptを圧縮(minify)して配信することが推奨されています。ここでは実行時に圧縮する方法を説明します。 JavaScriptの圧縮にはGoogle Closure Compilerを利用します。Maven pom.xmlに以下を追記するか、zipアーカイブをダウンロードして配置します。 <dependencies> <dependency> <groupId>com.google.javascript</groupId> <artifactId>closure-compiler</artifactId> <version>r1592</version> <exclusions> <!-- 実行時はAntなくても動く --> <exclusion> <artifactId>ant</artifactId> <gr
unicodeのコードチャート、あるいはコード一覧表です。文字は図形でなくUTF-8コードで表現しているので表示はブラウザに依存します。文字ごとにSJISコードがあるかどうかで色分けしています。
あるいはVagrantでplayframework 2.0系ウェブサービスの環境を立ち上げるまで。 PARTAKEの開発者がいまいち増えずチケットばかりが積み重なるのは、サービスという粒度が大きすぎて環境を作るのが面倒なことも一因だと思っています。ここを手助けできないか試してみました。結果、 VagrantでUbuntuを起動して chef-soloでJDKやPlay!やPostgresをインストールして VirtualBoxの共有フォルダを使ってソースコードをホストとゲストで共有する のすべてがvagrant upコマンドひとつでできるようになりました。「セットアップが面倒」という問題はだいぶ解消できたと思います。インストールの時間が結構長いですし、Twitter APIを使うためのトークン取得が必要なので、完全解決では無いのが残念ですが……。 もちろん従来通りissueの追加やissu
Twitter CPIのTwitterアカウントでは、サイト、サーバー管理者のための重要なセキュリティ情報や、サイト運営者のためのヒント、お得なキャンペーン情報をお知らせしています。 Follow @cpiadjp Tweets by cpiadjp 掲載内容について、当社は情報の掲載には細心の注意を払っておりますが、完全性などについて保証を行うものではありませんので予めご了承ください。 掲載されている情報をご利用いただいた際に、損害が発生・誘発した場合や、情報自体の真偽性・合法性・道徳性・著作権の許諾等について問題が発生した場合などについて、当社は一切の責任を負いません。掲載されている情報を利用したサイト製作については、ご自身の責任において行ってください。
JavaのSocket周りでは割とよくある感じですが、以下のコードだとconnectもreadもデフォルトで無限に待ち続ける挙動をします。 BufferedImage image = ImageIO.read(new URL(url).openStream()); Javadocをみると以下の通り。 Opens a connection to this URL and returns an InputStream for reading from that connection. This method is a shorthand for: openConnection().getInputStream()実際、jdk1.6u18のソースを見るとopenConnection()してすぐにgetInputStream()しています。 public final InputStream ope
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く