並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 509件

新着順 人気順

非同期プログラミングの検索結果281 - 320 件 / 509件

  • プログラミングRust 第2版

    次世代ブラウザ開発用にMozillaによって開発されたRustは、C/C++並みのパフォーマンスと低レベルの制御能力に加え、メモリとスレッドの安全性を担保し、さらに並行性にも優れるといった特徴を持つ、優秀な言語です。本書はMozillaで実際にRustを使ってFirefoxを開発している著者らによる、言語の概要と用途について解説する書籍で、Rustのほとんどの機能を詳細にカバーします。Rustのメジャーバージョンアップにより非同期処理が可能となったことに対応し、第2版では新たに非同期処理の章を設け、この機能を詳細に解説しています。Rust 2021対応。 訳者まえがき まえがき 1章 システムプログラマにもっといいものを 1.1 Rustはプログラマの負担を引き受ける 1.2 並列プログラムを飼いならす 1.3 にもかかわらずRustは速い 1.4 Rustでは協調するのも容易 2章 Ru

      プログラミングRust 第2版
    • Idein Ideas

      pandamanです。Rust関係のフォーラムに入り浸って知ったイディオムをこれからの記事で紹介していきます。 この記事では、場合分けを伴わないパターン(irrefutable pattern)を使ったイディオムとして let _ = ...の形のイディオム(値の無視)let _x = ...の形のイディオム(生存期間の調整)の2つを紹介します。 場合分けが伴うパターンマッチRustにおける代表的なパターンマッチはmatch式でしょう。 // Optionに対するパターンマッチ match opt { Some(v) => printf!("Someの場合: {}", v), None => printf!("Noneの場合"), } match式では各パターンにマッチするかどうかで場合分けし、パターンに応じて内部の情報を取り出すこともできます。 このような場合分けと値の分解を同時に行う言

        Idein Ideas
      • EmacsのLisp本をまっていた「Emacs Lispテクニックバイブル」発売 | Act as Professional

        目次 1章 Emacs Lisp始めの一歩 1-1 ようこそEmacs Lispの世界へ 1-1-1 Emacs Lispとは 1-1-2 Emacs Lisp習得のメリット・目的 1-1-3 Emacs Lispが得意なこと・不得意なこと 1-2 Emacs Lispを書くための設定 1-2-1 auto-install.elをインストールする 1-2-2 必須ファイルのインストール 1-2-3 設定 1-3 文法 1-3-1 括弧だらけの文法 1-3-2 構成要素 1-3-3 コメント 1-4 Emacs Lispプログラム実行の仕組み 1-4-1 フォーム 1-4-2 評価とは 1-4-3 関数呼び出し 1-4-4 評価の具体例 1-4-5 クォート 1-4-6 明確性 1-5 評価の方法 1-5-1 いろいろな評価の方法 1-5-2 入力補完 1-5-3 コマンド呼び出し 1-5-

          EmacsのLisp本をまっていた「Emacs Lispテクニックバイブル」発売 | Act as Professional
        • 非同期プログラミング - 非同期 MVVM アプリケーションのパターン:データ バインド

          このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 非同期 MVVM アプリケーションのパターン: データ バインド Stephen Cleary async キーワードと await キーワードを使用する非同期コードによって、プログラムの記述方法が変化しています。これには相応の理由があります。async/await キーワードはサーバー ソフトウェアで役立ちますが、現在最も関心が集まっている分野は、UI を備えたアプリケーションです。そのようなアプリケーションで async/await キーワードを使用すると、UI の応答性を高めることができます。しかし、モデル - ビュー - ビューモデル (MVVM: Model-View-ViewModel) などの確

            非同期プログラミング - 非同期 MVVM アプリケーションのパターン:データ バインド
          • ScottGuさんを囲んでAzureと.NETの未来を聞いてみた

            ScottGuさんを囲んでAzureと.NETの未来を聞いてみた:特集:Windows Azure&.NETの未来(1/3 ページ) Windows Azureの総責任者であるScott Guthrie(スコット・ガスリー)氏を囲み、日本の開発者らがいろいろな質問をぶつけてみた。その質疑応答の全内容をお伝えする。 2カ月ほど前になるが、2012年10月4日~5日の2日間、約700名の開発者が集まる日本マイクロソフト主催のカンファレンス「Developer Camp 2012 Japan Fall」(以降、DevCamp)が開催された。このカンファレンスの注目ポイントは、何といっても“赤シャツ”がトレードマークのScott Guthrie氏(スコット・ガスリー。以降、ScottGu。敬称略)が来日し、セッションなどに登壇することだった。 ScottGuは、ASP.NET立ち上げチームの1人で

              ScottGuさんを囲んでAzureと.NETの未来を聞いてみた
            • Unity 非同期プログラミング.pptx - Microsoft PowerPoint Online

              • なぜasyncの中でformat!を使うとエラーが出るのか - Qiita

                2019年11月にリリースされたRust 1.39では,非同期プログラミングを支援するためにasync/awaitが言語機能として導入されました. 機能自体の解説は「Rustの非同期プログラミングをマスターする」などを読んでいただくと良いでしょう. 本稿ではasync/awaitの基本的な知識は前提としたうえでformat!との組み合わせにより生じる不可解なエラーについて解説します. エラー例 次のコードはStringを受け取るasync fnにformat!で作成した文字列を渡し,awaitしています. async fn take_string(_: String) {} fn main() { tokio::spawn(async { take_string(format!("")).await; }); } $ cargo c Checking crate_name v0.1.0 (

                  なぜasyncの中でformat!を使うとエラーが出るのか - Qiita
                • Rust 1.44を早めに深掘り - OPTiM TECH BLOG

                  こんにちは、R&Dチームの齋藤(@aznhe21)です。 最近仕事でSwiftを書いてるんですが、Rustのあの機能があれば・・・と思う日々を送っています。 さて、本日、日本時間6/5(金)、Rust 1.44がリリースされました。 この記事ではRust 1.44での変更点を詳しく紹介します。 なお、この記事は公式リリースノートをベースに、意訳・編集・追記をしています。 6/5は黒部ダムが完成した日 ピックアップ no_std環境でもasync/awaitが使えるようになった 「内部仕様」についての細かい話 浮動小数点数から整数への変換の挙動が変わる cargo treeコマンドが追加された 変更点リスト 言語 コンパイラ ライブラリ 安定化されたAPI fn PathBuf::with_capacity(capacity: usize) -> PathBuf fn PathBuf::ca

                    Rust 1.44を早めに深掘り - OPTiM TECH BLOG
                  • Coro::State - 現在の実行状態を保存しておける箱 - Rintaro日記

                    Coroっていうモジュールがあります。Coroutine っていう概念を理解してないのもあり、 dmakiさんの記事で、なんとなく、 非同期でいろいろ出来るようになるモジュールなんだろうな、っていうくらいにしか考えて 無かったんですが、本質的にはちょっとイメージが違ったっぽいっす。 全然間違っているかもだけど、現在の僕の理解を書いてみます。 Coro.pm のソースを見てると、Coro::Stateをベースクラスにしてます。 このCoro::State、ドキュメント読んでても英語が不得意なせいもあり、よく分からなかったんですが、 いろいろいじってるうちに、なんとなく、「現在の実行状態(レキシカル変数や、関数スタック)を保存 しておける箱」っていうのが見えてきました。 といっても意味分からないっすね。 とりあえずサンプルコード use Coro::State; $::main = Coro:

                    • [C# Advent Calendar 2011] Win8 に備えて async / await を勉強してみよう - biac の それさえもおそらくは幸せな日々@nifty

                      これは、 C# Advent Calendar 2011 の 12月 6日の記事です。 この記事では、 C# の新機能である async / await を解説します。 ■ Windows 8 の Metro スタイル この画像は、 Windows 8 Developer Preview のスタート画面。 Windows Phone 7 から導入されたこの Metro スタイルが、 Windows 8 の標準になります。 おそらく多くの一般ユーザーは、 このスタート画面からアプリを使うようになり、 デスクトップを見ることは無くなることでしょう。 スタート画面のアイコンをクリックすると、 そのアプリが全画面で起動します。 Windows キー [ミ田] (Windows Phone では同じ記号のボタン) を押すと、 再びスタート画面に戻ります。 Metro スタイルのアプリケーションの U

                        [C# Advent Calendar 2011] Win8 に備えて async / await を勉強してみよう - biac の それさえもおそらくは幸せな日々@nifty
                      • Windows ストアアプリ (Metro スタイルアプリ) における JavaScript の非同期処理 (WinJS.Promise) - ひだまりソケットは壊れない

                        概要 Windows 8 の Windows ストアアプリ (旧称 Metro スタイルアプリ) 開発の話です。 Windows ランタイムと JavaScript 用 Windows ライブラリでは非同期処理を行う関数は基本的に WinJS.Promise オブジェクトを返します。 WinJS.Promise は Common JS Promises/A 提案 の実装であり、非同期処理を行う関数がコールバック関数を引数として受け取る場合にコードが難読化するという問題を克服するためのものです。 WinJS.Promise を使用することにより、非同期処理の連鎖を読みやすく書くことができます。 JavaScript で同様のことを行うものとしては JSDeferred とか jQuery.Deferred とかがあって、それらを知っていればすぐに理解できるのではないかと思います。 本記事は

                          Windows ストアアプリ (Metro スタイルアプリ) における JavaScript の非同期処理 (WinJS.Promise) - ひだまりソケットは壊れない
                        • 自堕落な技術者の日記 : W3C Web Cryptography APIとの果てしなき戦い(第1回) - livedoor Blog(ブログ)

                          基本は喰ってるか飲んでるかですが、よく趣味でカラオケ・PKI・署名・認証・プログラミング・情報セキュリティをやっています。旅好き。テレビ好きで芸能通 あけましておめでとうござます。 ウェブ関連技術の標準化を進めているW3Cから W3C Web Cryptography API という勧告候補が 出てまして、このAPIを使えば公開鍵暗号、共通鍵暗号、鍵交換、鍵生成、 暗号化、署名、ハッシュ関数、擬似乱数なんかが使えちゃうのだそう。 Twitterの私のリプライに「ほとんどのブラウザがサポートしてるから (jsrsasignでも) 使いなさいよ」と海外から何名かの方がコメントしてくださるので、 重い腰を上げて勉強してみたんですが、「ムキ〜〜っ!!わけわからん! 標準化って何なの?相互運用性著しく低いしっ。そもそも、 このAPIってJavaScriptを書くプログラマにちっとも優しくないよね!」

                            自堕落な技術者の日記 : W3C Web Cryptography APIとの果てしなき戦い(第1回) - livedoor Blog(ブログ)
                          • 「プログラミング TypeScript」を読みました - 宮水の日記

                            最近ReactとTypeScriptを使っているので、こちらの本を読んだりコードを書いたりしました。 プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発 作者:Boris Chernyオライリー・ジャパンAmazon この本の対象者 対象者について、以下のように書かれていました。 どのような言語であれ、ある程度プログラミングの経験がある人 関数、変数、クラス、エラーの基礎を理解している人 JavaScriptで言えば、DOMやネットワークの基礎を知っている人 本書でできること 以下のように書かれていました。 TypeScript言語がどのように動作するのか深く理解できる 本番のTypeScriptの書き方について多くの実用的なアドバイスが読める 本書を読む前に知っておいた方がいいこと JavaScriptの基礎知識 1章 イントロダクション なぜ型が

                              「プログラミング TypeScript」を読みました - 宮水の日記
                            • Twisted ドキュメント: Deferred リファレンス

                              この文書は twisted.internet.defer.Deferred の振舞いと関数から Deferred が返されたときの扱い方の解説です。 なおこの文書は Twisted フレームワークを構成する基本的な手法、プログラムをブロックさせず、スレッドも使わずに関数を即座にリターンさせ、データが到着した時点でコールバックチェーンの実行を開始する非同期処理、コールベースのプログラミングについて理解していることを前提に書かれています。 上記内容に関する解説: Twisted による非同期プログラミング この文書を読むことにより、Twisted の最も基本的な API や Twisted を使って Deferred を返すコードを扱えるようになるはずです。 関数が呼び出しの結果として Deferred を返すことにより、どんなことが可能になるのかDeferred コードの中で確実なとエラーハ

                              • FIREBASE: Realtime Database & Functions - KAYAC engineers' blog

                                FIREBASE: Realtime Database & Functions 初めまして!技術部サーバーチームのダリエンと申します。最近FirebaseのRealtime DatabaseとCloud Functionsを使っていましたから、Firebaseについてわかっていることをシェアしたいと思います。 イントロダクション サーバーレスコンピューティング サーバーの開発の時に、AWSなどのクラウドサーバーを使って開発することがよくあります。その理由は、自分のサーバーを立てるのも面倒だし、お金もけっこうかかるし。それに、クラウドサービスはサーバーだけを提供するのはじゃなくて、サーバーと一緒に色々な便利なサービスの提供もあります。それで、クラウドのサービスで、サーバーを立てるのはすごいシンプルになります。 最近、小さいプロジェクトの実装の場合は、完全なサーバー環境が必要ないこともあります

                                  FIREBASE: Realtime Database & Functions - KAYAC engineers' blog
                                • [Flutter] ここが違う!Flutter vs ReactNative!JS vs Dart [RN] - まんくつ

                                  ReactNative developerの皆さんこんにちは(^ ^) そして、Flutter と ReactNative に興味を持つみさなん、ようこそ! ReactNativeは2018年6月あたりのAirbnb撤退とfacebookが自社のアプリをReactNativeからネイティブへ移行するニュースがありましたねぇ〜 AirbnbがReact Nativeを諦めてネイティブアプリに方向転換したわけ – Roy S. Kim – Medium 一部の企業でReact Native離れが始まる – CIOニュース:CIO Magazine しかし、個人のアプリ制作ならiosとandroid両方のネイティブアプリを作ることはしんどい おそらく。。。 と言っても、どちらかのプラットフォームを選ぶのもなんか違う気がする。。。。 そんな時にリリースされたのが Flutter でした! では、F

                                    [Flutter] ここが違う!Flutter vs ReactNative!JS vs Dart [RN] - まんくつ
                                  • Play 2.0 と 2.1 での Akka Actor の使い方の違い - tototoshi の日記

                                    Play を使おうとしたら、全然パフォーマンスがでない、なんで? → Akka のチューニングが必要だった。 という話は Play 2.0 の頃から結構有名な話でした。 http://qiita.com/items/0c4bb34a420665536db4 http://tech.furyu.jp/blog/?p=2069 http://gendosu.jp/archives/1945 Play 2.0 では Request に対して BodyParser を適用するところ Action のディスパッチ の 2 箇所で Akka が使われていました。 コードで言うとここらへん、ActionInvoker というクラスです。 https://github.com/playframework/Play20/blob/2.0/framework/src/play/src/main/scala/p

                                      Play 2.0 と 2.1 での Akka Actor の使い方の違い - tototoshi の日記
                                    • WEB+DB PRESS Vol.68

                                      2012年4月24日紙版発売 2014年12月23日電子版発売 B5判/208ページ 定価1,628円(本体1,480円+税10%) ISBN 978-4-7741-5031-4 ただいま弊社在庫はございません。 Amazon 楽天ブックス honto ヨドバシ.com Fujisan(定期購読のみ) 電子版 Gihyo Digital Publishing 本書のサポートページサンプルファイルのダウンロードや正誤表など 特集1 新人時代に押さえておきたい Web技術まるごと整理 ~言語,何が違うの? サーバの役割分担って? いま流行りのクラウドって? ~ 新年度,新卒エンジニアの方は期待と不安で胸がいっぱいだと思います。慣れない環境,慣れない専門用語……。そんな中,一刻も早く「作る人」になるためにはどうすれば良いのでしょう? 本特集では開発言語,サーバ,データベース,クラウド,各分野を徹

                                        WEB+DB PRESS Vol.68
                                      • 「Python 3.5 beta 1」がリリース – async/await、行列積演算子、型ヒンティングなど大幅な機能強化へ

                                        人気スクリプト言語「Python」の、バージョン3.5初のベータとなる「Python 3.5 beta 1」がリリースされました(Reddit)。現在リリースノートの下のリンクから、Mac OS X / Windows用のインストーラーファイル、ソースコードをダウンロードすることができます。 バージョン3.5の新機能は、unpackingの拡張、byte/bytearrayオブジェクトのための"%"フォーマットのサポート、行列積演算子"@"の追加、os.scandir()の追加、中断されたSystemコールのための自動リトライ機能の追加、generators内部でのStopIterationの取り扱いの変更、型アノテーションが追加されたtyping module、Windows Python launcherのvirtual environmentサポート、.pyoファイルの削除、マルチフ

                                          「Python 3.5 beta 1」がリリース – async/await、行列積演算子、型ヒンティングなど大幅な機能強化へ
                                        • .NET の概要 - .NET

                                          .NET は、さまざまな種類のアプリケーションを構築するための、無料でクロスプラットフォームのオープンソース開発者用プラットフォームです。 複数の言語で記述されたプログラムを実行でき、最も一般的なものは C# です。 それは、多くの大規模アプリによって運用環境で使われる高パフォーマンスのランタイムに依存しています。 .NET をダウンロードし、初めてのアプリの作成を始める方法については、作業の開始に関する記事をご覧ください。 .NET プラットフォームは、生産性、パフォーマンス、セキュリティ、信頼性を提供するように設計されています。 ガベージ コレクター (GC) を介した自動メモリ管理が用意されています。 GC と厳密な言語コンパイラを使っているため、タイプ セーフかつメモリ セーフです。 async/await および Task プリミティブにより、コンカレンシーを提供します。 広範な

                                            .NET の概要 - .NET
                                          • 非同期プログラミング - 非同期への変換

                                            このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 2015 年 7 月 Volume 30 Number 7 非同期プログラミング - 非同期への変換 Stephen Cleary | 2015 年 7 月 Visual Studio Async CTP の発表当時は恵まれた環境で作業していました。2 つの比較的小さなグリーンフィールド アプリケーション (新規開発のアプリケーション) を 1 人で担当していて、async と await のメリットを十分に生かせていました。当時は筆者を含め MSDN フォーラムのさまざまなメンバーが非同期処理に関する複数のベスト プラクティスについて調査、議論、実装を行っていました。最も重要なベスト プラクティスについては

                                              非同期プログラミング - 非同期への変換
                                            • 最新のアプリ - Windows ストア アプリのライフサイクル

                                              このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Windows ストア アプリのライフサイクル Rachel Appel Windows 8 では、アプリの実行方法と実行タイミングが変わります。常に適切に反応するアプリを作成できるように、アプリの新しいライフサイクルの微妙な違いを理解してください。マイクロソフトのライフサイクル管理のガイドラインに従ってアプリを作成すると、特に小さなデバイスではメモリやバッテリが確保されるため、優れたユーザー エクスペリエンスが実現されます。 アプリの設計 Windows ストア アプリには、設計について 2 つの重要な考え方があります。1 つは、アプリが全画面モード、スナップ モード、またはフィル モードで実行されること、

                                                最新のアプリ - Windows ストア アプリのライフサイクル
                                              • 第 7回関西 Emacsに参加/発表してきました。 - Shohei Yoshida's Diary

                                                http://atnd.org/event/ke7 参加して, git-gutter.elについて発表してきました。 発表内容 git-gutter.elについて発表しました。資料はこちらです。 デモをしているときに期待した動作しないなぁと思ったら バグ(git diffの問題のようにも思えますが)だったので、修正して アップデートしておきました。 他の人の発表 @kiwanamiさんの発表が特に面白かったですね。 ternもすごかったんですけど、非同期プログラミングの話が良かったです。 僕自身、非同期プログラミングは並行プログラミングと違う頭で 考えるものなのかなとどこか思っていたんですけど、そうではなく 非同期プログラミングにおいても並行プログラミングを理解して いないとそのことを活かせないというのが印象的でした。 emacs-jp 朝は少し早く行って、emacs-jpの作業をしようか

                                                  第 7回関西 Emacsに参加/発表してきました。 - Shohei Yoshida's Diary
                                                • メタプログラミング実践 - shinjuku.rb #18

                                                  メタプログラミング実践 - shinjuku.rb #18 1. メタプログラミング実践@shokaishinjuku.rb #182013/06/26 2. •@shokai (しょうかい)•初参加•趣味:料理、glitch、プログラミング•Sinatra派•minitest派 3. せっかく新宿に来たのだから聖地巡礼しよう!!→ 小屋が見つからない靴が濡れて足痛い 4. 引きこもってコード書いてたらネタが溜まってきたので放出していきたい 5. メタプログラミングとは 6. 「コードを記述するコード を記述すること」(p.11) 7. なるほどわからん 8. 実際やってみたらわかった!やってみるの大事 9. 今日はメタプログラミングを使って実装してみた3つのGemをご紹介いたします 10. % gem install skypeSkype Desktop APIのラッパーMac/Linu

                                                    メタプログラミング実践 - shinjuku.rb #18
                                                  • 'promise' による JavaScript での非同期プログラミング

                                                    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. 本記事は、マイクロソフト本社の IE チームのブログ から記事を抜粋し、翻訳したものです。 【元記事】Asynchronous Programming in JavaScript with Promise (2011/9/12 5:04 AM ) 非同期パターンは、Web プログラミングの機能を高めることから幅広く使用されるようになり、その重要性はますます高まっています。しかしながら、非同期パターンを JavaScript で利用する場合には、複雑になることがあります。 非同期 (async) パターン

                                                      'promise' による JavaScript での非同期プログラミング
                                                    • ASP 資料。

                                                      愛用本 標準 ASP テクニカルリファレンス TOP メモ全般 DNS と ActiveDirectory 関連 Windows Server 2003 SP1 関連 リモートデスクトップ 関連 WSC 関連 SMTP 送信関連 IIS 関連 ASP 関連(ここ) プログラマ以外は一度、目を通しておくとよい。 プログラミングについてあまり知られていない7つのこと http://www.tommyjp.com/2010/08/blog-post_1710.html スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ http://blog.madoro.org/mn/84 月刊エンジニアライフ(26)プログラマとリーダーの「すれ違い」を解決しよう http://jibun.atmarkit.co.jp/lcom01/rensai/el/26/01.html 電話するならまず先に

                                                      • Unity で .NET 4 以降のバージョンを使用する

                                                        このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Unity のスクリプトの基になっている C# と .NET は、Microsoft が 2002 年に最初にそれをリリースして以来、更新され続けています。 しかし、Unity の開発者は、C# 言語と .NET Framework に次々と追加される新機能を認識していない可能性があります。Unity 2017.1 以前は、.NET 3.5 と同等のスクリプト ランタイムを使用しており、何年もの更新プログラムが不足していたためです。 Unity には、Unity 2017.1 のリリースで、.NET 4.6 にアップグレードされ、C# 6.0 と互換性のある試験段階のバージョンのスクリプティング ランタイムが

                                                          Unity で .NET 4 以降のバージョンを使用する
                                                        • iWebDriverでテストする - スコトプリゴニエフスク通信

                                                          昨日のエントリのChromeDriverを試した後、SafariDriverというなかなか有望そうだがイマイチちゃんと動いている感がないソリューションまで試した結果、iPhone向けWebアプリケーションのテストにはiPhoneそのものか、iPhoneシミュレーターを使うのが一番良いという結論に達した。 インストールiOS端末でSelenium(iWebDriver)を使うには、公式ドキュメントにある通り、レポジトリからコードをチェックアウトして、"./go iphone"でビルドする。要Xcode。 $ svn co http://selenium.googlecode.com/svn/trunk selenium $ cd selenium $ ./go iphone あるいは、selenium/iphone/iWebDriver.xcodeproj というXcodeプロジェクトを開い

                                                          • C#クックブック

                                                            有用性が特に高く、生産性の向上や高品質なコードを担保するようなC#の機能について、遭遇する問題とその解決策を提示するレシピ集です。C#の開発者が知っておくと役に立つ情報を厳選。言語仕様や基本など入門の内容は割愛し、脱初心者を目指す開発者、中級以上の開発者向けに、生産性を高め、コードの品質を高めることができるレシピを多数紹介しています。前半は実際にコーディングする手順に沿って、型の組み立て、アプリケーションの構築、アルゴリズムの実装、品質の向上・維持に関するテクニックを、後半ではLINQ、リフレクション、非同期プログラミングといったC#を特徴付ける機能と、データ分析、パターンマッチといった近年ますます重要視されているテーマを取り上げます。 まえがき 1章 型とアプリケーションの構築 アーキテクチャの構築 パターンの適用 オブジェクトの生存期間の管理 レシピ1.1 オブジェクトの終了期間の管理

                                                              C#クックブック
                                                            • Getting Started with Quasar

                                                              Quasar - Fiber, Channel, Actor Quasarは軽量スレッド、GoライクなChannl、ErlangライクなActorや、非同期プログラミングツールを提供するJavaのライブラリです。 今回は、Fiber、Channel、Actorを試してみました。 Bytecode Instrumentation このライブラリを使うには、Instrumentationを使ってバイトコードの書き換えを行う必要があります。この書き換えは、JVMの起動オプションにQuasarが提供するJava Agentを指定して実行時に書き換えを行うか、もしくはAntタスクを使って事前に書き換えを実行してく必要があります。今回はJava Agentを使って試してみました。どちらの使い方も以下のページに記載されています。 GETTING STARTED - Instrumenting Your

                                                              • Rust with Fearless Concurrency | κeenのHappy Hacκing Blog

                                                                # Rust with Fearless Concurrency ---------------------- === # About Me --------- ![κeenのアイコン](/images/kappa2_vest.png) * κeen * [@blackenedgold](https://twitter.com/blackenedgold) * GitHub: [KeenS](https://github.com/KeenS) * GitLab: [blackenedgold](https://gitlab.com/blackenedgold) * [Idein Inc.](https://idein.jp/)のエンジニア * Lisp, ML, Rust, Shell Scriptあたりを書きます === # Rust with Fearless Concurrency

                                                                • 2015-02-17のJS: Babel(6to5)、BrowserSync 2.0、Flux実装比較

                                                                  JSer.info #215 - ES6+のコードをES5に変換するツールである6to5がBabelにリネームされてリリースされました。 Not Born to Die · Babel また、BabelはAcornをベースにしたパーサーを利用していて、そのASTの元になっているSpiderMonkey parserのASTはES6以降についての仕様が曖昧になっていてその部分を各パーサがそれぞれ実装していました。 最近になってjQuery FoundationにEsprimaが移管されたのが契機となって、Esprima、Acorn、Mozilla、Shift ASTの人たちが中心となってASTの仕様を定義していくESTreeが始まりました。(基本的には現行のASTと互換性を重視しています) Babelとしても@sebmck氏がESTreeでのASTの策定に関わっていくようです。 LiveRe

                                                                    2015-02-17のJS: Babel(6to5)、BrowserSync 2.0、Flux実装比較
                                                                  • 宇宙API Part2 - 標高+1m

                                                                    Part 1からずいぶんと時間を置いてしまった。みんな覚えてるかな。前回はごたまぜだったけど、今日はとくに時空についてに絞って書いてみる。前半は2013年の12月にSmalltalk忘年会で話した事の焼き直しだけど、文章にしたことがなかったからもう一度やってみることにした。 念のため断っておくと、このシリーズで扱っているのは学説的な裏付けがある理論でも、仮説ですらなくて、僕がこの宇宙と同じような宇宙をプログラムとして記述するとしたらどうするかという思考実験だ。でもあなたがこのシリーズの中に実際の宇宙の物理法則との明らかな矛盾を見つけたら是非教えてほしい。 ミュータビリティが因果律を壊す 関数型が持ち上げられオブジェクト指向*1が貶められる大きな理由には、手続きをいくつも持ったものを作っておいてコードの再利用がどうとか言ってるのが馬鹿らしいということの他に、オブジェクトが伝統的に内部状態の書

                                                                      宇宙API Part2 - 標高+1m
                                                                    • Windows 8時代のUXを支える非同期プログラミング

                                                                      11. 「注文が決定する」イベントハンドラ 注文が決定する 注文決定イベント引数 注文 注文を得る テーブル番号 材料 材料を得る 注文 レシピ レシピを得る 注文 料理 レシピ 作成する 材料 提供する 料理 テーブル番号 11 12. 料理が完成するまでは一切何もできません お客さん 料理店の人 「呼び出しボタン」 を押す 注文が決定する 注文決定イベント引数 注文 注文を得る テーブル番号 材料 材料を得る 注文 レシピ レシピを得る 注文 料理 レシピ 作成する 材料 提供する 料理 テーブル番号 料理が 運ばれてくる 12 13. ボタンを押すと結果が返るまで は応答不能 ユーザー メインスレッド ボタン を押す 注文が決定する 注文決定イベント引数 注文 注文を得る テーブル番号 材料 材料を得る 注文 レシピ レシピを得る 注文 料理 レシピ 作成する 材料 提供する 料理

                                                                        Windows 8時代のUXを支える非同期プログラミング
                                                                      • タスク並列ライブラリ(TPL)についてのリソース (Task Parallel Library, Parallel.For, Thread, ThreadPool, 非同期, 並列) - いろいろ備忘録日記

                                                                        タスク並列ライブラリについての情報をメモメモ。 以前書籍執筆したときに勉強したのですが、利用していないとやっぱり忘れていきますね。 また、忘れてきたときの為のメモです。 .NET Framework の並列プログラミング http://msdn.microsoft.com/ja-jp/library/dd460693.aspx Task Parallel Library : 1 of n http://www.codeproject.com/KB/cs/TPL1.aspx Task Parallel Library : 2 of n http://www.codeproject.com/KB/cs/TPL2.aspx Task Parallel Library : 3 of n http://www.codeproject.com/KB/cs/TPL3.aspx Task Parallel

                                                                          タスク並列ライブラリ(TPL)についてのリソース (Task Parallel Library, Parallel.For, Thread, ThreadPool, 非同期, 並列) - いろいろ備忘録日記
                                                                        • ワンショット代数的効果から 非対称コルーチンへの変換

                                                                          ワンショット代数的効果から 非対称コルーチンへの変換 河原 悟, 亀山 幸義 PRO2019-01 June 6, 2019 ワンショット代数的効果から 非対称コルーチンへの変換 背景 コルーチン コルーチンの合成性 代数的効果 研究 操作の対応 実装 応用 まとめと課題 変換 関連研究 対称コルーチンと非対称コ ルーチン ワンショット継続とコルーチ ンの複製 0/26 背景 コルーチン 様々な言語が持っている Lua, Ruby, C#, Kotlin, etc. 強力なコントロール抽象 async/await、イテレーション、 etc. 合成性(composability)に欠ける 背景 1/26 背景 代数的効果 インターフェースと実装を分離できる モジュール性、合成性が高い いくつかのコントロール抽象との関係が知られている 代数的効果 7→ 限定継続 代数的効果 7→ Free モ

                                                                          • Windows C++ マルチスレッドアプリケーション デバッグ法 - ryukware

                                                                            1. はじめに 2. Windowsのマルチスレッド設備 3. 同期オブジェクトの保護対象 4. マルチスレッドの病理 5. マルチスレッドデバッギング – 実行時テストによる 6. マルチスレッドデバッギング – クラッシュダンプの分析 7. 広義のカーネルオブジェクトとしてのCRITICAL_SECTION 8 . おわりに はじめに Intel Corp.によるHyper-Threading Technology導入により、マルチスレッドアプリケーションがMicrosoft Windows®上で効力を発揮する機会がさらに増えることが予想される。Windowsにおける従来のメインストリームとしての、デスクトップでの個人利用を前提としたGUIアプリケーションでは、マルチスレッドといってもせいぜいワーカスレッドを作業の度に生成してシングルユーザに対するユーザイン ターフェイス

                                                                            • [和訳] Don Syme: Geek of the Week: いげ太のブログ

                                                                              当記事は Simple-Talk.com の著作物である以下の記事を和訳したものです。 Don Syme: Geek of the Week Copyright を確認の上、個人的かつ非営利な目的において当記事を公開いたします。もし問題があればすぐに削除いたしますのでご連絡ください。また、誤訳やよりよい翻訳があればぜひご指摘いただきたく存じます。 Don Syme: 週刊ギーク It came as a surprise to many of us when Microsoft pulled from it's hat a rabbit in the form of an exciting, radical, language that offers an effective alternative to the Object-oriented orthodoxy. The creativ

                                                                              • 「Python 3.5」リリース、非同期プログラミング機能の強化や型ヒントの記述機能を導入 | OSDN Magazine

                                                                                Python Software Foundationは9月13日、Python 3系の最新版「Python 3.5.0」をリリースした。非同期プログラミング機能を強化したほか、型ヒントの記述機能や行列乗算演算子の導入などが行われている。 Python 3.5はPython 3系の最新版となり、2014年3月に公開した「Python 3.4」に続くものとなる。本リリースでの特徴としては、新しい文法の導入や新モジュールの導入、さまざまな機能強化などがある。 文法面では、「async def」および「await」キーワードを使ったコルーチンサポートが追加された。defキーワードの代わりにasync defキーワードを使って関数を定義することで、コルーチン関数を宣言できる。また、コルーチン関数内ではawaitキーワードを使うことで、その結果が得られるまでコルーチンの実行を中断できるようになる。その

                                                                                  「Python 3.5」リリース、非同期プログラミング機能の強化や型ヒントの記述機能を導入 | OSDN Magazine
                                                                                • 非同期プログラミング - 非同期コードの単体テスト: テストを容易にする 3 つの解決策

                                                                                  このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 非同期コードの単体テスト: テストを容易にする 3 つの解決策 Sven Grand コード サンプルのダウンロード ここ 10 年、非同期プログラミングがますます重要になっています。CPU ベースの並列処理や I/O ベースの同時実行に非同期処理が使用され、ほぼすべてのリソースをすぐに利用できる状態にして、少ない労力で大きな成果を生み出しています。応答性の高いクライアント アプリケーションや拡張性の高いサーバー アプリケーションがすべて現実のものになっています。 ソフトウェア開発者は、同期機能を効果的に構築するために多くの設計パターンを習得していますが、非同期ソフトウェア設計のベスト プラクティスは比較的新

                                                                                    非同期プログラミング - 非同期コードの単体テスト: テストを容易にする 3 つの解決策