サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC25
qiita.com/Misumi_Rize
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
TasteSpoon 動機 Infratasterは素晴らしいGemで、インフラの振る舞いをコードで表現できることはこの上なくありがたい。ただ、使っていると不便に感じるところもいくつかある。 RSpecにロックインされる RSpecの大量に存在するマッチャAPIで消耗する RSpec2からRSpec3で構文が変わって非本質的な部分で消耗する RSpec上で併用することの多いServerspecとコンテクストが混ざる RSpecでは待ち合わせの概念が入ると途端にコードがダサくなる 最後の「待ち合わせ」だけ補足すると、これはWebSocketなどの通信が確立することを確かめたい場合が例としてあげられる。infrataster-plugin-socket.ioを作った際、通信が確立できることを確かめるのに、こういうダサいコードを書くことになった。 タイムアウトの概念が存在して、マッチャAPIがシ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Electron勉強会 #1で発表した、Electron, React, Fluxを使ってアプリケーションを作る話について解説する。 位置づけとしてはElectronのremoteでプロセス間通信を高レベルに扱うの続きにあたる。 概要 ElectronアプリケーションにFluxアーキテクチャを利用することは、レンダラプロセスの内部で処理が解決する場合において有効である。レンダラプロセス間で状態を共有したい場合、メインプロセスとレンダラプロセスでFluxアーキテクチャを二重化することでこの課題を解決できる。 しかしユーザ操作によってレンダ
概要 Electron(旧称atom-shell)には起動時に立ち上がるJavaScript側のプロセス(メインプロセス)と、メインプロセスから立ち上げるBrowserWindowのプロセス(レンダラプロセス)が存在する。メインプロセスとレンダラプロセスは別物なので、これらの間で状態を伝達する仕組みが必要になることがある。ElectronにもIPC(プロセス間通信)の仕組みは存在し、ずばりipcモジュールとして定義されている。 前提 BrowserWindow(レンダラプロセス)を立ち上げてHTMLを表示する部分までは終了しているものとする。 var app = require('app'); var BrowserWindow = require('browser-window'); app.on('ready', function() { var currentWindow = new
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 内部実装から追うReact Nativeの続き。 React Native互換でAndroidにViewを描画するところまでできた。 https://github.com/MisumiRize/ReactNativeSandbox 結果的にほとんどReact Nativeの写経になってしまったが単純化のために以下は省略している。 props, state style event 別スレッドでのbundle実行 複数のRCTRootView JavaScriptCoreが組み込まれていないAndroidでも手軽に扱えるJavaScript
書いた人間はCとC++からの類推解釈でObjective-C読めるけれど、iOSのAPIはちゃんと理解していない。Sampleはすでに動かした前提で書く。 TL;DR documentに依存しないVirtualDOM (= React.js)だけであれば、iOSでもJavaScriptCore上で実行可能なので、React.jsをそのまま投げ込める。 index.ios.bundle AppDelegate.mにindex.ios.bundleへのURLが定義されている。エミュレータで起動した際、同時にhttpサーバが立ち上がっているのはindex.ios.jsをbundleしたものをこのURLとして返すためにある。 ところで、React.jsを使う大原則として、React ElementをrenderするコンテナにはReact.jsが管理しているDOM以外のDOM(htmlで書いたものと
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? TL;DR VirtualDOMを狭義と広義に分けて定義すると、 狭義のVirtualDOMとは、実際のDOMを表象する構造体 広義のVirtualDOMとは、狭義のVirtualDOMに加えてdiff, patchメカニズム とすることができ、React.js(及びVirtualDOM実装と呼ばれるMatt-Esch/virtual-domやsegmentio/deku)がシンプルなのは後者を実装しているからである。 Ractive.jsとReact.jsはどう違うか、という話 なるほどRactive.jsのリポジトリにはvirtua
var DEFAULT_CONFIG_VALUES = { cacheDirectory: path.resolve(__dirname, '..', '..', '.haste_cache'), globals: {}, moduleLoader: require.resolve('../HasteModuleLoader/HasteModuleLoader'), modulePathIgnorePatterns: [], testDirectoryName: '__tests__', testEnvironment: require.resolve('../JSDomEnvironment'), testFileExtensions: ['js'], moduleFileExtensions: ['js', 'json'], testPathDirs: ['<rootDir>'], t
var mockRegister = MyDispatcher.register; var mockRegisterInfo = mockRegister.mock; var callsToRegister = mockRegisterInfo.calls; var firstCall = callsToRegister[0]; var firstArgument = firstCall[0]; var callback = firstArgument; Jestは基本全てがモックされるので、要は「Dispatcherのregisterに与えられた引数が観測できるから、Storeのcallbackを捕捉してテストしたい内容に合わせて適宜実行せよ」ということである。 この動作、SinonのSpyにも同じような実装がある。spy.firstCallやspy.getCallが定義されており、n度
このページを最初にブックマークしてみませんか?
『@Misumi_Rizeのマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く