Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
cloudpackエバンジェリストの吉田真吾(@yoshidashingo)です。 Exponential Backoff 直訳すると「指数関数的後退」つまり、指数関数的に処理のリトライ間隔を後退させるアルゴリズムのことです。 詳しくはWikipediaに記載があります。 Exponential backoff - Wikipedia 日本語でブログに書かれている方もいらっしゃいます。 exponential backoffのメモ – Siguniang's Blog これを見ていると、どうやらこのアルゴリズムは古くから通信装置において、イーサネットフレームのデータ送信時にコリジョン(衝突)を検出したら一定時間待機して再送して、処理を完結させるためのアルゴリズムとして使われているようです。 通信機器の世界に限らず、アプリケーションの分野でも、大規模で予測不能な処理量を有限なリソースでさばく
_ Clean Architecture 達人に学ぶソフトウェアの構造と設計 アスキーの鈴木さんからアンクル・ボブのクリーンアーキテクチャをもらったので、読んだ。 おもしろかった。内容にもほぼ同意できるし、良いことがたくさん書いてある。 ただ、読みやすくない(正確ではない。350ページの本に対して付録などを除外しても本文34章に分割しているので、読むのはたやすい。ただし、内容が相当前後するし、依存関係が逆転している章もある。全体像を示してから細部へ進むと言えなくもないのだが、全体像を説明するための用語は細部で説明されるため、逆に全体像を理解するのが難しくなっている(とおれは感じた)ところもある。また、おまけが唐突に最後に来るので、なに昔話してるんだ爺さん、みたいな印象も受けることをもって、読みやすくないとここでは表現した)。 本書が最も重視して、そのためにおそらく書籍の作り方にまで影響して
2018年7月14日 PHPカンファレンス関西2018
<select> タグで都道府県を選択させるUIを作るとします。このとき、どのような並びにするのが正しいのでしょうか? これ、とくに正しいという何かがあるわけでもありません。べつにどんな順番でもいいです。ただ、一般的には JIS X 0401 の「都道府県コード」順で並べているサイトが圧倒的に多いようです。 Prefecture = %w( 北海道 青森県 岩手県 宮城県 秋田県 山形県 福島県 茨城県 栃木県 群馬県 埼玉県 千葉県 東京都 神奈川県 新潟県 富山県 石川県 福井県 山梨県 長野県 岐阜県 静岡県 愛知県 三重県 滋賀県 京都府 大阪府 兵庫県 奈良県 和歌山県 鳥取県 島根県 岡山県 広島県 山口県 徳島県 香川県 愛媛県 高知県 福岡県 佐賀県 長崎県 熊本県 大分県 宮崎県 鹿児島県 沖縄県 ) なんで都道府県コード順で並べる人が多いのか? 察するに「コラッ! 何故
TL;DR 分散システムにおいてキューを導入する場合、本当にキューが必要なのか再考すべき。そこが地獄の入り口だから。 システムの抽象 コンピュータの世界は、本来は0と1の信号の羅列が飛び交う無機質なものである。でも人類は信号だけですべてを語らず、様々な喩えを定義してきた。それはデスクトップ・ウィンドウ・マウスカーソルといったグラフィカルな表現に留まらず、パケットやカプセル化といった用語にロック・キュー・リスト・木などのアルゴリズムやデータ構造の世界にも自然に溶け込んでいる。これらはすべて人間の理解を助けるための喩え話に過ぎず、この喩えこそが人間のより直感的な理解をもたらす一方で、発想の制約を生み出してきた。 人間が大きなシステムを作るときも何らかの喩えを用いてシステム全体を整理する。アーキテクチャの「ポンチ絵」を描いて情報共有をするのは企業に勤めていれば経験した人も多いだろう。パワーポイン
お会計などではよく桁を把握しやすいように3桁ごとにカンマ区切りをするのが一般的だが、一発変換する関数はない。 数字にカンマを付ける もし、numeric型(int型)ならto_sで文字列に変換する。下記の方法は一旦文字を反転させて後ろから3文字毎にカンマを入れて、文字をもう一度反転させる。桁数を把握していれば頭からカンマを入れられるが、桁数把握の処理を書くぐらいなら反転させて末尾からカンマを入れた方が必ず3文字毎なので簡潔に記述できる。 num = 1234567890 p num.to_s.reverse.gsub( /(\d{3})(?=\d)/, '\1,').reverse # "1,234,567,890" 数字のカンマを外す 今度はカンマがついている数字からカンマを外す。カンマを外す方法はカンマを探して除去すれば良いので、反転する必要はない。文字列から数値に戻すときはto_iで
Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」 Rubyコミッター・園田裕貴(Yugui)さんが、長年の経験で体得したソースコードに書くべき「コメントの技法」を教えてくれました。 プログラミングにおいて、どんな初心者でも書けるけれど、適切に書くのは上級者でないと難しいもの。それがコメント(=ソースコードに書かれている注釈やメモ)です。 不適切なコメントをつけても、プログラムの動作には影響しません。しかし、書き方の巧拙によって、コードの可読性や理解のしやすさには雲泥の差が出ます。良質なコメントが良質なコードをつくるのです。 今回はRubyコミッターでありgrpc-gatewayの開発者でもあるSupership株式会社の園田裕貴(Yugui)さんに、優れたエンジニアがどんな観点を持ち、どんなコメントを書いているのかを聞きました。 園田 裕貴(そのだ・
This document discusses PyCon mini Osaka and includes the following information: - It was held on February 15th and included talks on various Python topics like data analysis and web scraping. - Attendees discussed pros and cons of Python as well as programming examples using the FizzBuzz problem and bytecode. - Examples of Python code were provided including a function to check divisibility and p
この記事は何? ほとんどタイトル通りです。 順番に読み進めていけば簡単なWebページが表示できるレベルのWebブラウザを作ることができるように執筆していく予定です。 またアルゴリズムだけをなるべくわかり易く解説していきたいので、記事内で紹介するコードは誰でも読める程度の擬似コードです。 自分で実装したい方は、面倒かもしれませんがそれぞれの言語に翻訳してください。 必要な知識としては: HTML/CSSが困らない程度に読める やる気 これだけです。 (あとこれはただの宣伝ですが、個人的にWeb ブラウザを作ってるので(http://github.com/maekawatoshiki/naglfar) スターをつけてもらえると喜びます) いろいろとパースする Webページは基本的にHTMLで書かれていますね。あとCSSも。 HTMLもCSSもそのままではただの文字列であって扱いづらいので、パー
HTMLとXMLはまた、空の文字列を使用することで言語の継承を防ぐ手段を提供します。すなわち、xml:lang=""。これは本質的に、この情報にどの言語も関連付けないことを表します。 以下の文書は、どのように言語タグを組み立てるかについての追加の詳細を提供します。 言語タグを組み立てる RFC 3066のような、RFC 5646とそれ以前の仕様との間の主な相違点は、以下の通りです: 有効なサブタグを探すただ1つの場所、新しいIANA registryがあります。 サブタグは固定された位置と長さを持ちます。これは、言語タグのマッチングをより簡単にします。 言語タグの潜在的な構成要素の周りにより多くの柔軟性を持ちます。 RFC 3066は基本的に、そのままの言語コードか、言語コードに国コードを加えたもの、あるいはIANA language tag registryで特別に登録されたごく少数の値
IETF言語タグ(英語: IETF language tag)は、IETF の BCP47(Best Current Practice。現在は RFC 5646 と RFC 4647)により定義される技術仕様である。これは HTTP[1]、HTML[2]、XML[3]、PNG[4]、のような多くの技術標準において使われている。 言語タグは、ハイフンによって分けられる、1つ以上の「下位タグ (subtag)」から構成される。一般には下位タグは次の順番で書かれる。 language(言語) script(文字体系) region(地域) variant(異体) extension(拡張) private use(私用) よって、書式はおおよそ次のようになる。(このうち language タグのみ必須) それぞれの下位タグは以下の規格から派生している。 language : ISO 639-1、
はじめに 実践ScalaでDDD で発表した中で、エンティティ間の関連を「ロールオブジェクト」として定義する ことをお話ししましたが、スライドでは要約になっています。 実際にプロダクトでやってみて有効なパターンだと感じているので、改めて突っ込んで解説したいと思います。 なお、内容的には Scala をターゲットとしていますが、他の言語にも考え方は応用できると思います。 サマリ DDDで設計していると エンティティ と エンティティ の間に関連があり、その 関連に関するドメインの振る舞い と言うものが出てきます。 例えば 「ユーザー エンティティ」 と 「タスク エンティティ」 がある場合に、その間には 「タスクの作成者」 や 「タスクの担当者」 と言う関連があったりします。 そしてそれらの関連は「タスクの作成者は、タスクを削除する」や「タスクの担当者は、タスクを完了する」のような振る舞いを
id: 881 所有者: msakamoto-sf 作成日: 2010-12-24 09:50:19 カテゴリ: プログラミング [ Prev ] [ Next ] [ 技術 ] プログラマ向けに、英語での括弧の呼び方を簡単にまとめてみた。 ・丸括弧 () parenthesis, parentheses(複数) (略称)paren round brackets Unicode : LEFT(U+0028)/RIGHT(U+0029) PARENTHESIS ・角括弧 [] bracket square bracket Unicode : LEFT(U+005B)/RIGHT(U+005D) SQUARE BRACKET ・波括弧 {} brace curly brace curly bracket Unicode : LEFT(U+007B)/RIGHT(U+007D) CURLY BR
ドメイン駆動設計は原典となる「エリック・エヴァンスのドメイン駆動設計」の初版が2003年と歴史があり、モダンなフレームワークであればその思想を取り入れた設計がなされているにも関わらず、日本語の情報が少ない気がする。 最近ドメイン駆動設計をやろうと主にWeb上の情報を探っていたので参考になったサイトをリンク集の形でまとめてみる。 概要 概要を把握するのが一番難しいように思うので、色々と目を通すのがよさそう。 little-hands.hatenablog.com enterprisegeeks.hatenablog.com enterprisegeeks.hatenablog.com speakerdeck.com ドメイン駆動設計とは何か 【入門編】 from 増田 亨 www.slideshare.net 3週連続DDDその1 ドメイン駆動設計の基本を理解する from 増田 亨 www
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く