タグ

ブックマーク / qiita.com/mizchi (17)

  • QiitaとMarkdownとコンテンツオーサリング - Qiita

    はじめに SIGPX: Special Interest Group on Programming Experience 第二回 (2016年8月7日) での発表資料 今日話す内容 Qiitaでのコンテンツオーサリング Qiita の Markdown について、泥臭い感じで(アカデミックな会なので) Markdownという切り口で、標準化、そのレンダリング、オーサリング、ASTなどについて Markdown の仕様 HTMLに変換されるマークアップ言語の実装。またはその仕様。 Github の躍進とともにメジャーに 同種のマークアップ言語として textile, はてな記法など Markdownの起源 オリジナル実装は John Gruber の markdown.pl というPerl スクリプト(2004) Markdown - Wikipedia, the free encyclop

    QiitaとMarkdownとコンテンツオーサリング - Qiita
    Jxck
    Jxck 2016/08/08
    github が reSt を選んでいた世界線に思いを馳せる
  • EventEmitterバケツリレースタイル/フレームワークなしで小さくFluxする - Qiita

    想定しているシチュエーション 非SPA環境で個別にマウントされるコンポーネントがそれぞれで小さくFluxするような環境。 SPAガッツリ組むのでないなら、Fluxフレームワークは不要だと思っていて、とは言えオレオレ構成も行き過ぎると害になる。 その辺のバランスをとって、次のような構成がいいのではないか、と考えてみた。 考え方 コンテナがEventEmitterを1つ保持する コンテナはEventEmitterの各種イベントをListenする コンテナはpropsとstateを区別して扱い、stateを更新する コンテナはコンポーネントを一つだけ描画する コンポーネントはpropsとして渡されたEventEmitterを発火させる コンポーネントはEventEmitterをListenしない コンポーネントはpropsのみ扱う コード // src/components/header.js

    EventEmitterバケツリレースタイル/フレームワークなしで小さくFluxする - Qiita
    Jxck
    Jxck 2016/03/14
    View も EventEmitter なら、 三すくみの元祖 MVC (not MVC2) でいいんじゃないの?と出た時から思ってる。
  • Real World Electron Development - Qiita

    ~ Case of the Kobito, Markdown Editor for YAPC Hackathon! @mizchi / Koutaro Chikuba, Increments Inc About Node.js / Frontend Engineer Single Page Application Specialist Kobito for Windows Developper Increments Inc (Providing qiita.com / Qiita:Team) Sorry, my English is not so good. YAPC::Asia 2015 Hackathon | Peatix の発表資料 ここで喋ることは一昨日急に決まったので(YAPC回るし)スライド作る時間なかった。ゆるして。 発表中に @benogle 氏に何度か質問しながら進行しま

    Real World Electron Development - Qiita
  • react-railsでサーバーサイドレンダリングしつつクライアントでsetStateできて最高になった - Qiita

    土日でreact-railsとturbolinksを勉強してみた成果です やりたいこと 画面遷移するときは<div id='content'></div> の中身だけ入れ替えて、pushStateで行き来できるようにしたい reactを使ったリッチなページでも、イニシャルロードやSEOの為にサーバーサイドでレンダリングしておきたい サーバーサイドレンダリングした要素を破棄することなくReactで初期化してsetStateでガンガンViewを書き換えたい 結果どうなったか サーバーサイドでReactComponentをレンダリングしてクライアントのReact.renderで初期化情報を揃えて引き継ぎ どんな画面でもapp.component.setState({})が反映されて最高 TurbolinksでReactComponentをマウントしたルート要素だけ入れ替え その為にTurboli

    react-railsでサーバーサイドレンダリングしつつクライアントでsetStateできて最高になった - Qiita
  • JavaScriptのモジュールシステムの歴史と現状 - Qiita

    社内向け資料。自分が書いたコードを説明するために資料作る羽目になった。 昔のことはうろ覚えで雰囲気で書いてる部分もあるので、そこらへん勘弁。 古の時代(~2010) 前提としてJavaScriptは名前空間がwindowの一つしかない。 昔Prototype.jsがあった。もうみんな忘れたけどあの時期はプリミティブなオブジェクトのprototypeを生やしまくって、それが衝突しまくってprototype良くない的な雰囲気が生まれたり生まれなかったりした。 その反省があってか(歴史的に若干微妙な気がするが) jQueryは名前空間を一つに集約した。いわゆる jQueryPlugin は、jQueryのプロトタイプにヘルパを生やしまくっていた。グローバルを汚すのは駄目だけどjQueryの名前空間を汚すのはいいよね、ぐらいの考え。 jQuery非依存なライブラリは、「GoodParts」として、

    JavaScriptのモジュールシステムの歴史と現状 - Qiita
  • リアルタイムウェブな観点からElixir / Phoenix について - Qiita

    ここ最近、 [翻訳] Elixir - 次に来る大物Web言語 - Qiita とか 超高速なJSON APIをElixirフレームワークのPhoenixでビルドしてテストしよう | POSTD を読んで気になっていたので、勉強していた。 前提: 自分はシングルページアプリケーションに特化したフロントエンドエンジニアであり、サーバサイドのプロダクション運用にはそこまで強くない。あとこれはここ2日の勉強した日記でもあり誤解や勘違いも多々あると思う。 リアルタイムウェブアプリケーションのためのサーバー Railsの次の時代、リアルタイムウェブの為のウェブフレームワークがあるとしたら、次のような特長をもつと思う。 HTTP, HTTP/2. WebSocket等のプロトコル対応と抽象化 JSON APIに特化 認証系 キャッシュ管理 Viewに関心がない リアルタイムウェブは、その言葉をどう定義

    リアルタイムウェブな観点からElixir / Phoenix について - Qiita
  • Promiseに関するパターンや命名規則 - Qiita

    やや自己流含む。 getXxx/fetchXxx getXxxは同期、fetchXxxはPromiseということにしている。とくに非同期の取得系はfetchということに決め打ってる。 GETリクエストであることを明示したいときにややこしいという問題はあるが、そのケースは少なく、JS内で同期/非同期を明示したいことの方が多い。 例: 非同期の副作用系はput/post/sync/send/uploadとかそのあたりを適当に使う。 Promise( (done, reject) => {..}) 恐らく仕様的に正しいワードは fulfill, reject なのだが、fulfillはタイプ数が妙に多いのと、llが多くタイポしやすく、またタイポが発見しづらいので、自分は慣習的にdoneを使っている。 追記: fulfillよりもresolveの方が仕様に沿ってるっぽいhttp://people.

    Promiseに関するパターンや命名規則 - Qiita
    Jxck
    Jxck 2015/04/28
    これ発見してから、 arrow function の引数には必ずカッコをつけるようになった。http://qiita.com/Jxck_/items/11e8dcdb97e5e82c8cc9
  • NightmareでE2Eテストしつつスクリーンショットとってgifに結合したら目視チェックが最高に楽になった - Qiita

    最近またe2eを書いたりしてる。色々悩んだけど、やっぱNightmareを使うことにした。 Nightmareについては僕が前書いた記事を参考にしてください NightmareでE2E - Qiita Nightmareの良い点 Zero configuration というかただのスクレイパー 悪い点 プロセス立ちあげるのが遅い JSわかってないと読みづらい PrecepeterとかTestiumとかProtractor試したけどどれも走らせるだけでいっぱいいっぱいで、もう面倒臭い。 僕は行儀が悪いのでスクレイパーを走らせられればいいです。エビデンス() はスクリーンショットで確保する方向で。 連番のスクリーションショットを取りながらNightmareを走らせるサンプル Nightmare = require 'nightmare' class TestRunner extends Nig

    NightmareでE2Eテストしつつスクリーンショットとってgifに結合したら目視チェックが最高に楽になった - Qiita
    Jxck
    Jxck 2015/02/26
    黙視から逃げるだけじゃなくて、黙視の負荷を下げるってのはいいかもしれない。やっぱり人間が見ないと分からない事もあるし。
  • Ardaの設計指針と設計思想 - Qiita

    @armorik83 さんの記事を受けて Fluxフレームワーク Arda が気になる10の理由 - Qiita 設計思想とか指針とか残しておきます。 mizchi/arda Arda - MetaFluxなフレームワークを作った - Qiita Ardaは実践的なものを目指した 他のフレームワークは思想から入って実装されたものかもしれませんが、ArdaはFluxを意識しつつも実際のアプリで使われている画面遷移の機構を抽象化する点から開発がスタートしています。 またKobitoという比較的寿命が長い(ことを予定している)アプリの基盤にすることで長くメンテされる予定です。なのでKobitoはちゃんと使ってもらえるようなものにしたい、と思って開発しています。(この記事が宣伝兼ねてないとは言いませんが。) (自分の開発したものにしては)ドキュメントが充実していることについて 開発者の今回の様子に

    Ardaの設計指針と設計思想 - Qiita
    Jxck
    Jxck 2015/02/18
  • 俺のJSライブラリの世界観(2014末版) - Qiita

    http://qiita.com/advent-calendar/2014/frontrend 概論 ここ近年のモダンJSは特に理由がなければcommon.jsのrequireスタイルで記述され、webpack/browserifyでビルド/読み込むことを前提にしてよい。今やビュー層を除いてブラウザとnodeのライブラリの境界は非常に曖昧である。 識者諸君においては常にどちらの環境でも読み込めるようなライブラリを提供するように心がけることを切に願う。 今日はライブラリの名前しか出さないんで各自ググるように。 立場 サーバサイド~ゲームプログラミング出身node寄りフロントエンドエンジニア このサイトのスタッフだけど他のことに手一杯でQiitaのフロントはまだそんなにいじってない すまんな 他ってなんだろうな 言語 CoffeeScript TypeScript 最近DDDっぽい構成を目指し

    俺のJSライブラリの世界観(2014末版) - Qiita
  • なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita

    追記: 情報が色々と古くなったため、2020年に書き直した版へのリンクを張っておきます。 この記事は VirtualDOM Advent Calendar 2014 - Qiita の初日です。 初日ということで、基調講演風に、Virtual DOMとはなにか、なぜ僕はこんな興奮しているのか!という話から。 Virtual DOMとはなにか 既存の概念で当てはめると、JavaScriptのMVC, MVW(Whatever)フレームワークのViewに位置します。が、その程度では終わりません。仮想DOMとは世界を革命する力であり、このjQueryのDOM操作で汚れきったフロントエンドを救う救世主なのです。 現時点で自分が知っている限りは、以下の実装を指します。 facebook/react 最も使われてるFacebookの実装 Matt-Esch/virtual-dom Altenative

    なぜ仮想DOMという概念が俺達の魂を震えさせるのか - Qiita
    Jxck
    Jxck 2014/12/01
    "こうなると各層が元々のMVCとは意味がズレてくるので、 FluxではStore View Dispatcherと呼称します。" これ、 MVC level2 とずれるだけで、むしろまんま MVC 本来の形なのではと思った。
  • minimongoでIsomorphic Storage - Qiita

    minimongoは元々isomorphicフレームワーク(サーバーとクライアントのコードを同時に記述するパラダイム)のmeteorの中で使われてた使われた、コアとも言えるDB層であり、ブラウザでもサーバーでも動くように作られている。meteor触る時に一番特徴的な機能だと思う。 これがmeteorから単体で切りだされてForkされていた。meteorで使うのと多少APIが違うが、使える感じだった。(meteorは黒魔術的に非同期処理を隠蔽する機能があり、これをオミットしている) 良さ 元々meteorの中で使われたので、比較的実績がある mongo shell風のAPIAPIがクライアントでも使える 僕はmongodb慣れてるのであのAPIでさっくりストレージを使いたい。 後者が目的でlokijs使ってたんだけど動作が不安定すぎて捨てた。 Isomorphic! purejsで書かれて

    minimongoでIsomorphic Storage - Qiita
    Jxck
    Jxck 2014/11/28
    indexeddb でも動く mongo の API 互換ラッパー。 meteor からの資産。
  • facebook/flow 実践編 - Qiita

    ~/s/flow-playground $ flow check /Users/mizchi/sandbox/flow-playground/hello.js:4:11,22: number This type is incompatible with /Users/mizchi/sandbox/flow-playground/hello.js:3:37,42: string Found 1 error

    facebook/flow 実践編 - Qiita
  • facebook/flowファーストインプレッション - Qiita

    前々から出すよ出すよ詐欺してたflowがやっと出た。大雑把にはfacebook製のTypeScriptだと思っていれば良いです。 まだnpmで提供されてなくて、 Flow | Getting started with Flow で実行バイナリが配られてる。 npmで提供されてない理由は、たぶんocamlで書かれてるから。Future Planにjs_of_ocamlでコンパイルされたものが提供されると書いてあった。 DLして適当なパス通った場所に置いてつかう。 TypeScriptとの比較 思想はTypeScriptと同じなので、大枠は一緒だといってよい。 ぱっと見気になったのは、Nullableの書式が違うのとかあるけど、もっと大きな違いもたくさんある。 FlowとTypeScriptにあるもの declareキーワードによるアノテーション ES6 classes Generics ここ

    facebook/flowファーストインプレッション - Qiita
  • CoffeeScriptが1.9でgenerator構文をサポート - Qiita

    追記: タイトル変更。v1.9 でリリースされました(2015/01/30) ES6以降にやや慎重な対応をみせるcoffeescriptですが、やっとgenerator構文がサポートされたようです。 Add yield support · Issue #3073 · jashkenas/coffeescript · GitHub 色々と構文の候補がありましたが、関数ブロックの中にyieldキーワードが存在する場合は自動的にジェネレーター関数になるような仕様に落ち着いたみたいです。 generator概要(知ってる人は読み飛ばしてよい) 関数ブロックの中でyieldを使うと関数がgenerator化されます。yield化された関数は実行されるとgeneratorを返し、 generatorは.next()を叩くと次のyieldキーワードで渡された値が取得できます。もう一度叩くとその位置から次

    CoffeeScriptが1.9でgenerator構文をサポート - Qiita
    Jxck
    Jxck 2014/09/26
     お、 coffee に入ったのか。しかし、思い切った構文だな。。
  • AltJSの選び方フローチャート - Qiita

    JavaScriptわかる - YES 型がほしい - YES Flash/ActionScript3が青春だった - YES Haxe - NO DeNAに勤めている - YES JSX - NO TypeScript - NO Ruby or Python が好き - YES coffee-script - NO クラスはほしい - YES EcmaScript6(Traceur Compiler) or CoffeeScript - NO JavaScriptの文法に不満がある - YES https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS - NO JavaScript書けよ - NO 関数型わかる - YES 自分の好きな言語に深く精通している - YES 好きな言

    AltJSの選び方フローチャート - Qiita
    Jxck
    Jxck 2014/09/11
    「AS3 が青春だけど DeNA につとめている人」、 「Ruby 嫌いだけど Rails を強いられてるひと」、 「Java で関数型を勉強した人」、あたりの処遇について。
  • Gulpでウェブアプリ作る際のスケルトン - Qiita

    gulpでbrowserify使ってcoffee-scriptの監視とコンパイル - Qiita の続編 同じ物何度も書くの馬鹿らしいので、スケルトン作った。それなりに満足している。 mizchi-sandbox/gulp-webapp-skeleton 特徴 CoffeeScript Browserify jade sass(libsass) bower依存を結合して出力 タスクごとに監視 gulpfile.coffee gulp = require 'gulp' rename = require 'gulp-rename' plumber = require 'gulp-plumber' concat = require 'gulp-concat' sass = require 'gulp-sass' bowerFiles = require "gulp-bower-files" so

    Gulpでウェブアプリ作る際のスケルトン - Qiita
    Jxck
    Jxck 2014/07/14
  • 1