タグ

関連タグで絞り込む (186)

タグの絞り込みを解除

programに関するefclのブックマーク (675)

  • アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書

    アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書 T. コルメン, C. ライザーソン, R. リベスト, C. シュタイン(著), 浅野哲夫, 岩野和生, 梅尾博司, 山下雅史, 和田幸一(訳) 近代科学社 15,400円 (14,000円+税) 計算機科学の基礎分野で世界的に著名な4人の専門家がMITでの教育用に著した計算機アルゴリズム論の包括的テキスト.前版までで既にアルゴリズムとデータ構造に関する世界標準教科書としての地位を確立しているが,より良い教科書を目指して再び全面的な記述の見直しがなされている. 関連サイト書の関連ページが用意されています。 アルゴリズムイントロダクション 第3版 総合版(近代科学社ウェブサイト)内容紹介世界標準 MIT 教科書!! 原著は,計算機科学の基礎分野で世界的に著名な4人の専門家がMITでの教育用に著した計算機アルゴリズム論の

    アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書
    efcl
    efcl 2018/02/05
    MIT教科書の電子版
  • Money Transfer Saga | ProtoActor

    Money Transfer Saga Part 1 - The Scenario Part 2 - The Implementation Part 3 - The Audit Log Part 4 - Supervision, error kernels and idempotency Part 5 - Results The Saga pattern was first coined by Hector Garcia-Molina and Kenneth Salem in their paper, Sagas. Although originally described in the context of a database management system, the Saga pattern has gained popularity in a distributed syste

    efcl
    efcl 2018/01/27
    Sagaパターンを使った送金システムを実装するチュートリアル
  • 非同期I/O APIの設計がなかなか難しい - .mjtの日記復帰計画

    yuniで実用的なプログラムを書くためには、どうしても非同期I/Oライブラリが必要になる。というわけで黙々と設計しているけれど、これがなかなか難しい。 非同期I/Oライブラリの難しさ そもそもOS/処理系毎に別物が必要 "非同期I/Oライブラリなんてlibuv一択だろ"という意見も有るかもしれないし、実際、Node.jsはlibuvのデザインの実用性を証明しつづけていると言える(実際には逆で、Node.jsのOS抽象化レイヤとしてlibuvが実装されている)。が、libuvはカーネル機能の抽象化でしかなく、同じデザインがyuniに適用できるとは限らない。yuniは既にKawa(Java上のScheme実装)やIronScheme(.net上のScheme実装)をターゲットしているので、これらでも動作するような配慮が必要になる。 もし、yuniの非同期I/Oライブラリを単なるlibuvのバイ

    非同期I/O APIの設計がなかなか難しい - .mjtの日記復帰計画
    efcl
    efcl 2018/01/16
    非同期I/O APIの設計。 libuvがカバーする範囲、OSやライブラリによって異なる非同期の抽象化について
  • 正方形は長方形か? 今日も林檎の木を植える

    数学的には、正方形は長方形です。 では、プログラミング的にはどうでしょうか。 正方形クラスを長方形クラスの子クラスとして定義できるでしょうか。 まず、数学での話をおさらい。 長方形の定義は、「4つの角の大きさが等しい四角形」です。 正方形の定義は、「4つの角の大きさが等しく、4つの辺の長さが等しい四角形」です。 正方形は、長方形の定義を満たしているので、「正方形は長方形だ」と言えます。 では、プログラミングでの話。 長方形クラスが以下のようになっているとします。 class Rectangle{ float w,h; public: void setWidth(float w){this->w = w;} void setHeight(float h){this->h = h;} float getWidth(){return w;} float getHeight(){return h;

    efcl
    efcl 2018/01/01
    正方形は長方形の子なのかどうかについて。 Immutableじゃないとis-aの関係が壊れるという話
  • Why would Square inheriting from Rectangle be problematic if we override the SetWidth and SetHeight methods?

    efcl
    efcl 2018/01/01
    `class Square extends Rectangle`の問題について。 正方形が継承できずImmutableであるならば問題ないが、変更できる場合はリスコフの置換原則の満たせなくなることが多いという話(面積をn%増やしたいから辺を変更するといったとき
  • プログラマーとお仕事をするということ | 翔泳社

    あなたはプログラマーですか? プログラマーではないけれど、あなたの部下や同僚、あなたが関わっているプロジェクトプログラマーが一人でもいれば、あなたは書の読者です。 このでは、日頃あなたが不思議に思っていること、すなわち、 ●プロジェクトの計画と遂行の方法とソフトウェア開発プロセスが噛み合わない ●それによって生まれる衝突の回避 ・ソフトウェア開発プロジェクト管理の発展 ・開発手法のその利点と欠点の評価 ●プログラマーは何をどのようにやっているのか ●ソフトウェア開発プロセスや関連する用語、コードを書く以外にプログラマーが行っていること そして、 ●プログラマーの管理 ・プログラマーをどう採用するか ・一般的なプログラマーの心理学 ・開発者の心を占めているプレッシャーや優先度 ●プロジェクトの失敗にどう対処するか といったことに対して、著者自身が見聞し体験してきた、ソフトウェア開発にま

    プログラマーとお仕事をするということ | 翔泳社
    efcl
    efcl 2017/12/29
    プログラマーとの付き合い方について。 "一般的なプログラマーの心理学"
  • 安定性のパターン大全 (とその実装) - Qiita

    Cognitect社のNygardさんが10年ぶりに改訂したRelease It! 2nd Editionがまもなくリリースされます。内容は現在のベータ5版で全て書ききっておられるようなので、是非読んでみてください。 https://pragprog.com/book/mnee2/release-it-second-edition その中から4章の安定性パターンの概要をご紹介し、実際JavaのFailsafeライブラリを使った実装例を示したいと思います。 安定性のパターン Stability Patterns 分散システムや後続をブロッキングしてしまう重い処理は、システム全体がスローダウンしたり、無応答になってしまう危険にさらされています。クラウド時代になって、これらの安定性を保つための設計はより強調されるようになりましたが、わりと昔から様々な工夫がされてきたものでもあります。以下、Rel

    安定性のパターン大全 (とその実装) - Qiita
    efcl
    efcl 2017/12/09
    安定性のパターン。 その実装であるFailsafeについて
  • Art of BeOS Programming

    公開にあたって 8月も下旬に差し掛かった空の雲。その下の青い水面。東海道新幹線の車窓から、浜名湖を眺めています。 もう8年も前に書いたの内容を、Webで公開して欲しいというリクエストを頂いたのは、とても嬉しいことでした。あの当時、メーリングリストで議論や情報交換を行い、知見を交わした人達の一部と、今、仕事で繋がりを持つ機会に恵まれていることに、素敵な縁を感じます。 今回、Jorge G. Mare (a.k.a "Koki") さんからリクエストを頂くことになったのも、何かしらの縁があるのかも知れません。一度も顔を合わせたことがなく、メールでのやり取りのみですが、誠実な人柄は、メールの文章から伺えます。 この原稿内容のWeb公開にあたり、出版元のソフトバンクパブリッシングに公開可能か問い合わせを行ったところ、問題ない旨の御快諾を頂きました。有難うございます。 このの執筆当時、Be社に在

    efcl
    efcl 2017/12/08
    BeOSについての書籍
  • Carbon | Create and share beautiful images of your source code

    Create and share beautiful images of your source code. Start typing or drop a file into the text area to get started.

    Carbon | Create and share beautiful images of your source code
    efcl
    efcl 2017/10/12
    シンタックスハイライトしたコードのいい感じのスクショを作成してくれるツール。 Macのターミナル的な表示などを作れる。 コード画像化
  • いろいろな言語での Map, Dictionary 的なものの名前 - Qiita

    いろいろな言語で、キーと値とを対応づけるデータ構造、いわゆる連想配列、辞書、……たちがどのように呼ばれているか、気になったので調べてみた。 おおよそ、対応表(map)、辞書(dictionary)、実装の名前をそのまま(hash-table)、 Perl風(hash)に分けられると思う。 Common Lisp: hash-table Scheme: hash-table (SRFI-69, SRFI-125 → R7RS-large), hashtable (R6RS Scheme, SRFI-126), map (SRFI-44), mapping (SRFI-146) Haskell: Map OCaml: Hashtbl, Map SML: hash_table (sml-nj-lib) C++: map, multimap, unordered_map, unordered_mu

    いろいろな言語での Map, Dictionary 的なものの名前 - Qiita
    efcl
    efcl 2017/10/09
    いろんな言語でのハッシュ、辞書、オブジェクト、Map、について
  • Knightmare: A DevOps Cautionary Tale

    I was speaking at a conference last year on the topics of DevOps, Configuration as Code, and Continuous Delivery and used the following story to demonstrate the importance making deployments fully automated and repeatable as part of a DevOps/Continuous Delivery initiative. Since that conference I have been asked by several people to share the story through my blog. This story is true – this really

    Knightmare: A DevOps Cautionary Tale
    efcl
    efcl 2017/10/08
    古いPowerPegフラグを再利用して新しい実装を入れてデプロイした時に1台だけ、そのコードが反映されてなくて、フラグをONにした際に古いコードが動いてしまった事故の事例
  • Numbers Every Programmer Should Know By Year

    <!DOCTYPE html> <!-- ************************************** EDIT ME! ************************************** --> <!-- I interactively update myself. Made possible by: https://codemirror.net/ --> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="//d3js.org/d3.v3.min.js"></script> <link rel="stylesheet" href="//ajax.goog

    efcl
    efcl 2017/10/04
    プログラマが知っておくべきレイテンシーを年代別に見ることができる感じのツール
  • よりよいネーミングを目指して / 20171003 #orecon_ios #akibaswift

    俺コン Vol.1 / Day. 2 - connpass https://orecon.connpass.com/event/64285/ での発表資料です。 # 参考資料 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) | Dustin Boswell, Trevor Foucher, 須藤 功平, 角 征典 | | 通販 | Amazon https://www.amazon.co.jp/dp/4873115655 Amazon | 新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES) | Martin Fowler, 児玉 公信, 友野 晶夫, 平澤 章, 梅澤 真史 通販 https://www.amazon.co.jp/dp/427405019X

    よりよいネーミングを目指して / 20171003 #orecon_ios #akibaswift
    efcl
    efcl 2017/10/03
    メソッドの命名
  • Common-Sense Computer Science

    And this is the supplemental site for my book A Common-Sense Guide to Data Structures and Algorithms, now out in its second edition. The second edition is about twice as large as the first one, with six new chapters, revised content, and exercises and solutions for every chapter. Get the book DevTalk On the platform DevTalk, there's a dedicated forum where you can discuss the book, submit errata,

    efcl
    efcl 2017/10/02
    データ構造についての書籍
  • Service Locator パターンについて - Qiita

    会社にて「Service Locator パターン」という単語を聞いて「?」となったので、戒めも含めて調べてみたメモ。 いきなり結論 結論から言うと、Service Locator パターンも Dependency Injection (いわゆる DI )と同じようにクラス間の密結合度を緩和するためのものと考えてよさそう。 というか、こちらに超参考になる記述があるので、これを備忘録として残しておく。 概要 DDDとかの Repository パターンで DI を使用することがあるが、それと同じような目的で使用できる。 なんちゃってサンプルコード ここでは、ドメイン層がインフラ層に依存しないように Repository パターンを使用する場合の、 DI 版と Service Locator 版をそれぞれ考えてみる。 DI 使用したときの Repository パターン // アプリケーション

    Service Locator パターンについて - Qiita
    efcl
    efcl 2017/09/26
    ServiceLocatorパターンについて
  • Langserver.org

    Langserver.org A community-driven source of knowledge for Language Server Protocol implementations Langserver.org is a community-driven site, maintained by Sourcegraph, to track development progress of LSP-compatible language servers and clients. What is LSP? The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like a

    efcl
    efcl 2017/09/14
    Language Server Protocolをサポートしてる言語のまとめサイト
  • GitHub - dillonkearns/mobster: Pair and mob programming timer for Mac, Windows, and Linux.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - dillonkearns/mobster: Pair and mob programming timer for Mac, Windows, and Linux.
    efcl
    efcl 2017/09/13
    ペアプログラミング/モブプログラミング用のツール
  • MessagePackフォーマット仕様にTimestamp型を追加 - Blog by Sadayuki Furuhashi

    MessagePackフォーマット仕様のPull Request #209をマージし、MessagePackにTimestamp型を追加しました。 ※この記事の英語版は XXX にあります(翻訳中) Extension型の型コード -1 として定義されているため、後方互換性が維持されています。つまり、既にExtension型に対応しているデシリアライザであれば、Timestamp型を使用して作成されたデータを、Timestamp型に対応していない古いデシリアライズで読み出すことができます。 新しいTimestamp型には timestamp 32、timestamp 64、timestamp 96 の3つのフォーマットがあり、よく使う値をより少ないバイト数で保存できるようになっています。例えば、1970年〜2106年までの時刻で、秒までの精度しか持たない時刻であれば、合計6バイトで保存でき

    MessagePackフォーマット仕様にTimestamp型を追加 - Blog by Sadayuki Furuhashi
    efcl
    efcl 2017/08/11
    MessagePackのTimeStamp型。 概念時刻と絶対時刻それぞれの表現、精度について
  • When Women Stopped Coding

    Embed <iframe src="https://www.npr.org/player/embed/357629765/357998990" width="100%" height="290" frameborder="0" scrolling="no" title="NPR embedded audio player"> Modern computer science is dominated by men. But it hasn't always been this way. A lot of computing pioneers — the people who programmed the first digital computers — were women. And for decades, the number of women studying computer s

    When Women Stopped Coding
    efcl
    efcl 2017/08/09
    1985年から女性でコンピュータサイエンスをやっている人が減っていた話
  • Declarative Programming: Is It A Real Thing?

    efcl
    efcl 2017/08/02
    DSLについて