タグ

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

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとThreadとprogrammingに関するraimon49のブックマーク (9)

  • setTimeout を完璧に理解する

    setTimeout は、指定された時間以降に指定されたコードを実行する JavaScriptAPI です。ブラウザでも Node.js でも広く使われているのですが、実装はまちまちで、色々と特殊な条件も多く、挙動を完璧に理解している人は少ないと思います。この記事では、そんな setTimeout を可能な限り深堀りしてみようと思います。 先に書いておきますが、ものすごくニッチで細かい話ばかり並びます。突然私が、ただ純粋に setTimeout について調べたくなったので、その結果をまとめただけのものです。普通に開発している人には必要のない情報が多くなるでしょう。この記事は基礎から setTimeout を学ぼう、という方には全然向かないと思います。 また、JavaScript のイベントループについてある程度理解していることを前提とします。その詳しい理解には、@PADAone さん

  • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

    長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

    自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
    raimon49
    raimon49 2020/05/29
    Parameterized TestやProperty-based Testingといった抽象化の先にあるもの。
  • Chrome40にservice workersがきた

    Chrome 40になってService workersが来たらしい。デモを動かしてみたり自分で書いてみたりして紹介記事でも書こうかなと思っていたが、 +Hajime Morrita はRebuild.fmに出演して紹介してしまったし、ほかにもすでにいくらか紹介記事が出始めてきた(たとえばhttp://qiita.com/kinu/items/2abd61b4390f9bbaffc9)。賑やかしにと自分もスクリーンキャストの動画も撮ってみた。 ここではデモの補足として、Service workersってどんなものなのかをふんわり考えてみる。 Service workers とは って項目を書いたのだがこの説明が難しい……。新しいウェブのAPI、だけだとだからなにって感じ。Service workersはweb workersの一種なのだが、って説明しはじめると泥沼に嵌りそうだ。 Servi

    Chrome40にservice workersがきた
    raimon49
    raimon49 2014/12/18
    バックグラウンドスレッド的なもの
  • Next Mobile WebApplication

    このスライドは 2013-11-30 に開催された HTML5 Conference 2013 で 地下鉄・サクサク・これからのWebゲームアプリが備えるべき8つの機能 としてお話したものです

    Next Mobile WebApplication
    raimon49
    raimon49 2013/12/02
    高解像度Canvas ワーカースレッド
  • Tumblr

    要約 HTML5 Web Workers では時間のかかる処理を別スレッドで実行できますが、C言語のように、グローバル変数を経由して中断の指示を出すことができません。 この記事を書いている時点では、Chrome のみ FileSystem API で作ったファイルを共有することで、(強引に)これを実現することができます。 [Summary: Pause And Resume on Web Workers] HTML5 Web Workers enables you to run heavy tasks on other threads. However, you cannot break loop on the worker thread via global variables like C language. As of now, sharing a file created by F

    raimon49
    raimon49 2012/03/18
    ワーカへの参照を持ち続けなきゃならないし複雑度が増してしまうのが悩ましい。
  • Big Sky :: JScript.NETでスレッド

    JScript.NETMicrosoftが.NET Framework向けに拡張したJavasSriptで、Common Language Runtime(CLR)上で動作するJavaScript実装です。 CLR上ではC#、VB.NET等が動作しますが、JScript.NETは言語がJavaScriptという事もあって実はC#やVB.NET等と同等に使えない機能がいくらかあります。 JavaScriptは動的言語です。オブジェクトにプロパティを生やしてメソッドにしたり、prototypeを弄ったり、eval()で関数を生成したりも出来ます。つまりコンパイルするとは言えど、型が動的に変えられる言語です。 その為、.NET Frameworkの機能の一つであるDelegateが使えません。.NET FrameworkのThreadはDelegateという関数型拘束によりスレッドを安全に呼び

    Big Sky :: JScript.NETでスレッド
    raimon49
    raimon49 2010/07/15
    C#をメモリ上コンパイルしてJScript側からThread生成してしまう。
  • Web Workers用と通常のJavaScript用のコードを共存させる - latest log

    Web Workers の調べ物してました。 Web Workers は、Google Chrome 4+, Firefox3.5+ , Safari4+ で既に利用可能です。 Google Chrome5 では、Web Workers 内で Web Socket を動かすこともできます。 js の基であり鬼門といえば this オブジェクト 各ポイントで this.toString() や self.toString() を行い、this や self が何を指しているのか調べました。 <script> var globalScope = this.toString() </script> // WebWorkers.js var workersGlobalScope = this.toString(); var self1 = self.toString(); onmessage =

    Web Workers用と通常のJavaScript用のコードを共存させる - latest log
  • .NET FrameworkでいわゆるJavaScriptのsetTimeout()みたいな事をやる方法 - terurouメモ

    たまーにやりたくなるんだけど、その都度やり方を忘れちゃってるので備忘録。 private void SetTimeout(Action fn, int time) { BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += delegate(object sender, DoWorkEventArgs e) { Thread.Sleep(time); }; worker.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs e) { fn(); }; worker.RunWorkerAsync(); } System.ComponentModel.BackgroundWorkerとSystem.Threading.Thr

    .NET FrameworkでいわゆるJavaScriptのsetTimeout()みたいな事をやる方法 - terurouメモ
    raimon49
    raimon49 2009/10/09
    BackgroundWorker で使い捨ての遅延実行を抽象化する方法。setInterval()はSystem.Threading.Timer
  • InfoQ: JavaScriptへのマルチスレッド・プログラミングの導入

    あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。

    InfoQ: JavaScriptへのマルチスレッド・プログラミングの導入
    raimon49
    raimon49 2007/12/12
    Concurrent.Thread.create() または <script type="text/x-script.multithreaded-js"></script> で並列処理をしてくれるライブラリの紹介。
  • 1