Reconsidering Multithreading Design Patterns from Atsushi Kambara タイトルは「マルチスレッドデザインパターン再考」です。我ながら仰々しいタイトルですが、結局Producer-Consumerパターン最高!みたいな内容になりました*1。でも実際Producer-Consumerパターンはバッチリハマる局面ではなかなか強力です。後述のデモアプリでは半ば無理やり*2使いまくってます。今っぽいProducer-Consumerパターンの書き方についてはTwitterを #めとべや でググるとLINQ星人の人*3がいろいろ呟いているかもしれません。 スライド自体は勢いで書き切りましたが、個人的に今回はデモアプリ(サンプルコード)の実装に全てを懸けてました。GitHubで全て公開してますので、興味のある方はご覧ください。後述の背景からゴ
事前に断っておくがここでいう「インフラ」はレイヤ的には OS より上の話。 少し前に GitHub 時代のデプロイ戦略 - naoyaのはてなダイアリー で、GitHub を介したデプロイを実践しているということを紹介した。普段の開発を Pull Request ベースでやっているので、デプロイもまた Pull Request を契機に実行させると色々捗る、という話。 このプラクティスの対象領域をインフラにまで拡大してみました、というのが今回の話。 DNS レコードを Pull Request を merge した契機に自動で更新 AWS を利用している場合、ドメインの管理も Amazon Route 53 を使うといろいろと都合がいい。 Route 53 での DNS レコードの更新はこれまでブラウザから操作していた。これだと誰がいつ作業したかわからないし履歴もトラックしづらい。また変更
Apache Hadoop プロジェクトでは、信頼性の高いスケーラブルな分散コンピューティングのためのオープンソースソフトウェアを開発しています。Hadoop には以下のサブプロジェクトがあります。 Hadoop Common: Hadoop のほかのサブプロジェクトをサポートする共通のユーティリティです。 Avro: 各種スクリプト言語に動的に組み込み可能なデータ直列化システムです。 Chukwa: 大規模分散システムを管理するためのデータ収集システムです。 HBase: 巨大テーブル用の構造化データストレージをサポートするスケーラブルな分散データベースです。 HDFS: アプリケーションデータに対して高いスループットでのアクセスを可能にする分散ファイルシステムです。 Hive: データ・サマライゼーションやアドホックなクエリー操作を可能にするデータウェアハウス・インフラストラクチャです
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 ドメイン駆動設計のコーディング: データを重視する開発者のためのヒント Julie Lerman コード サンプルのダウンロード 今年、Eric Evans のソフトウェア設計に関する画期的な書籍『Domain-Driven Design: Tackling Complexity in the Heart of Software』(Addison-Wesley Professional、2003 年、amzn.to/ffL1k、英語) が刊行 10 周年を迎えました。この書籍に Evans は、長年にわたって大企業にソフトウェア構築プロセスを指導してきた経験を盛り込みました。Evans はその後さらに年月を費
人気のフォトストックサイト10個から、著作権を放棄した完全フリーの写真素材をまとめて検索、ダウンロードすることができるサービス FindA.Photo を今回はご紹介します。 利用に関してクレジット表記も不要で、さらに世界基準の高品質なクオリティーの素材を、キーワードや色別、そしてサイト別に検索できる、デザイナーが知っておきたいサービスです。 詳細は以下から。 著作権フリー!完全無料のパブリックドメイン写真素材を見つける FindA.Photo FindA.Photo は、Unsplash や Jay Mantri など人気の無料フォトストックサイト、合計10サイトからまとめて横断検索することができるサービスです。 検索できる写真は、どれも著作権を放棄した CC0 ラインセンスとなっているので、商用など用途に関わらず自由に利用できる点もポイントです。またカラーパレットから直接色を選び、直感
メモリ・アーキテクチャの基礎:福田昭のデバイス通信 ARMが語る、最先端メモリに対する期待(4)(1/2 ページ) NANDフラッシュメモリが新しい階層を生み出した 国際会議「IEDM」のショートコースで英国ARM ReserchのエンジニアRob Aitken氏が、「System Requirements for Memories(システムがメモリに要望する事柄)」と題して講演した内容を紹介するシリーズの第4回である。 前回からは、講演の第2パートである「CPUのメモリに対する要求」の概要をご報告している。前回は、CPUアーキテクチャの変遷を振り返るとともに、NANDフラッシュメモリが登場する以前のメモリ・アーキテクチャを説明した。 既に述べたように、CPUを搭載したシステムのメモリ・アーキテクチャは、正三角形あるいはピラミッド形をした図形と、水平な階層を垂直方向に積み重ねた構造で説明す
こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなメソッドは emptyIfNull です。 僕は、自社クラウドである cybozu.com のミドルウェアを開発するチームで働いています。具体的には、検索サービスやファイルサーバー、非同期処理用ワーカー、セッションマネージャーなどなどを提供しています。 僕がこのチームに来たのは数年前ですが、当時はバグの多いプロダクトでした。今はすべての既知のバグを直し、残存不具合件数が 0 件、つまりバグゼロな状態になりました。また、バグゼロを実現してから 2 年ほど経過していますが今もその品質を保っています。今回はこのバグゼロを実現した方法と、その後の顛末について記そうと思います。 以前のコード 数年前に提供されていたこのミドルウェア群は、はっきり言って、バグの塊のようなプロダクトでした。 当時のコードは保守性とは程遠い
システムで何らかのエラーが発生したという場合や、やりたいことができないといった場合に、トラブルシューティングを行うことになりますが、その際の一般的なトラブルシューティングの流れについてご紹介します。私たちサポートチームもだいたいこのようなフローの考え方をもとに調査を行っています。また、テクニカルサポートでは、インシデント単位で承っているプロフェッショナルサービスと、時間単位で承っているプレミアサービスがあります。トラブルシューティング内容に応じた、それらのサポートサービスの違いについても、参考としてご案内します。 大きく、運用でのエラー発生、開発時の How-to では考え方も異なりますので、それぞれ分けて見ていきます。 エラー発生 A) いま事象が発生しているか これは一番重要なポイントになります。いま事象が発生している場合には、すぐに対処が必要なため緊急度は高くなり、できることも多くな
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 May 2016 Volume 31 Number 5 Cutting Edge - 履歴 CRUD の構築 Dino Esposito | May 2016 リレーショナル データベースは 1970 年代に登場し、その時代にキャリアを開始した数世代の開発者は、そのキャリアを終えるまでに、データ ストレージに対する別のアプローチを学ぶことも、考えることもありませんでした。最近、急成長してきたソーシャル ネットワークによって、リレーショナル データベースでは対処できないビジネス シナリオがあることが実証されました。スキーマを持たないデータが (本当に) 膨大な量送られてくると、リレーショナル データベースは、パ
アプリケーションプールとサービスを常時起動に設定したうえで、IProcessHostPreloadClientを実装してアプリケーションに登録すると起動時にメソッドが呼び出されるようになります。 まず適当なアセンブリでSystem.Web.Hosting.IProcessHostPreloadClientを実装します。 using System; using System.Web.Hosting; public class ProcessHostPreloadClient : IProcessHostPreloadClient { public void Preload(string[] parameters) { // ここに処理を記述する } } それから、アプリケーションプールのstartModeをOnDemandからAlwaysRunningに変更します。 使用するIProcess
これは Enchant の開発者である Vinay Sahni さんが書いた記事「Best Practices for Designing a Pragmatic RESTful API」1を、ご本人の許可を得て翻訳したものです。 RESTful な WebAPI を設計しようとすると、細かなところで長考したり議論したりすると思います。また、他の API に倣ってやってはみたものの、本当にそれでいいのか、どうしてそうしているのか分からない、何てことも少なくはないと思います。 この記事では、そのようなハマリどころについて Vinay さんなりの答えを提示し、簡潔かつ明快に解説してくれています。 今後 WebAPI を設計される方は、是非参考にしてみてください。 なお、誤訳がありましたら編集リクエストを頂けると幸いです。 まえがき アプリケーションの開発が進むにつれて、その WebAPI を公
This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. 前回のエントリですが、はてブや Twitter でびっくりするほどたくさんのコメントをいただきました。当該ページの PV も 2 万超え、そして 1,000 件を超えるはてブは初めてで、勉強になるコメントも多く、なるほどと頷かされるご指摘が多かったです。この場を借りてお礼申し上げます。ありがとうございました。(はてブでエールを送っていただいた皆様もありがとうございました。励みになります。m(_ _)m) コメントを読んでいると、やはりものすごく現場で苦しまれている方が多いと改めて感じると共に、年次や役職
とあるコンサルタントのつぶやき とあるコンサルタントのつぶやき MCS (Microsoft Consulting Services) の某コンサルタントがまったり語るテクノロジのお話です。 ご存知の方も多いと思いますが、ここ最近、うちの会社の歌って踊れる DevOps エバの牛尾さんが、こんなエントリを書かれていました。 私は間違っていた。ごめん。ウォーターフォールは何のメリットも無い http://simplearchitect.hatenablog.com/entry/2016/06/20/080807 「自分で人生を決めない」ことが、決定的に業界の進化を遅らせているのかもしれない http://simplearchitect.hatenablog.com/entry/2016/06/24/080049 特に前者は炎上気味でしたが;、二回分のエントリを通して読めば、牛尾さんが言いたい
Webサービス作ってみた系の記事、よく見ますよね。僕もその一人だったりしますが作った後にどうプロモーションして良いかすごく悩む。 検索で自然と人が集まってくれればいいけど、立ち上がりはそうもいかない。 と、いうことで、僕が色々試行錯誤した結果を、使ったサービス含めて共有してみようかと思います。 参考:うちのサービスの流入経路の上の方たち。このブログからの流入がダントツです。 使ってみたサービスたち(流入上位から紹介) あ、お金払ってみたgoogle AdWordsは除いてます。こちらは上の画像にある通り、243のアクセスがありました。 1位:clafu 40アクセス Clafu - これでもアクセスが増えなかったらもう諦めよう! ちょっと増えたから諦めない!こちら、どんなかというと、登録した人同士のTwitter使って同時刻に一斉告知をかけるサービスですね。 広告掲載して放置、ではなく、T
AWS Big Data Blog Derive Insights from IoT in Minutes using AWS IoT, Amazon Kinesis Firehose, Amazon Athena, and Amazon QuickSight Ben Snively is a Solutions Architect with AWS Speed and agility are essential with today’s analytics tools. The quicker you can get from idea to first results, the more you can experiment and innovate with your data, perform ad-hoc analysis, and drive answers to new bu
ツイートに位置情報を追加する 位置情報と一緒にツイートした場合、Twitterはその位置情報も保存します。 毎回ツイートする際に、位置情報を付加する/付加しないを選択することができ、いつでも過去の位置情報を全て削除することも可能です。 詳細はこちら
ツイートに位置情報を追加する 位置情報と一緒にツイートした場合、Twitterはその位置情報も保存します。 毎回ツイートする際に、位置情報を付加する/付加しないを選択することができ、いつでも過去の位置情報を全て削除することも可能です。 詳細はこちら
ツイートに位置情報を追加する 位置情報と一緒にツイートした場合、Twitterはその位置情報も保存します。 毎回ツイートする際に、位置情報を付加する/付加しないを選択することができ、いつでも過去の位置情報を全て削除することも可能です。 詳細はこちら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く