型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle

型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
最近だとGrunt使ったりgulp使ったり、またはGoogleのWeb Starter Kit使ったりしてセットアップすることが多いと思います。 ただ、何かを新しいフレームワークを試したりしたいだけのときにこれらの設定ファイルとか無駄に増えるのもイヤだなと思ったりしていて、最近はbrowserifyとbeefy使ってやっています。 https://www.npmjs.org/package/browserify https://www.npmjs.org/package/beefy 各種変換とLiveReloadが出来れば十分なので。 例はこんな感じ。 https://github.com/koba04/react-boilerplate 設定ファイルがpackage.jsonだけになるのでシンプルです。 package.json 設定はこんな感じでしておくだけです。scriptの設定をし
https://www.youtube.com/watch?v=VkTCL6Nqm6Y 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 OSCON 2014におけるInstagramのWebチーム責任者であるPete Huntの講演。PeteはInstagramに異動する前は、FacebookのPhoto/Video/Product Infraチームに在籍。 今回は、InstagramのwebサイトInstagram.comにおいて、シングルページアプリの課題である最初の読込みスピードを上げるために、どのような工夫をしたかについて紹介してくれてます。 Instagram.comのJavaScriptファイルは、縮小化後で9.5MB & gzip圧縮後で2.5MB。そのサイズだと、一つのファイルにまとめ
新製品のWEB UIを作ることになりました。 「functionって書くのダルいから、CoffeeScriptにしましょうよ」 「でもCoffeeScriptって、そろそろオワコンじゃないか?」 「ちょっと待てよ、そろそろES6(ECMAScript6、JavaScriptの次期標準、後述)が使えるようになってるんじゃないか!?」 そう思ってES6を調べましたが、やっぱりCoffeeScriptを使うべきだという結論に達しました。 CoffeeScriptとES6のおさらい CoffeeScriptはいわゆるAltJS 長所 「functionの代わりに->」「ローカル変数にvarが不要」といったイケてる文法が使えます。 事前にJavaScriptにコンパイルして使う。*1 Ruby on Railsが対応しているなど、かなり普及しているようです。 短所 事前コンパイルが必要なので製品のビ
今更ながら読んだ。思い違いとかもあったりで色々とメモ。 JavaScript アプリケーションのメモリー・リークを理解する まずは定義から メモリーリークというのは、不要になったオブジェクトが存在し続けること。 JavaScript におけるオブジェクトのライフサイクル +------------------+ | オブジェクト作成 | +------------------+ | v +----------------------+ | メモリの自動割り当て | +----------------------+ |<---------+ v | 破棄されるまでループ +---------------+ | | GC による評価 |--+ +---------------+ | 参照カウントがゼロ OR 唯一の参照が互いに循環参照のみ v +------+ | 破棄 | +------+
追記)2013-01-24 jQuery 用プラグインの開発に関して、jQuery : ウィジェットのイベントハンドラ てのを書きました。 (2013-01-24 追記ここまで) 追記)2013-02-11 jQuery : 要素の操作は必ずAPIを使うべし 書きました(jQuery でもメモリリークする!?)。 (2013-02-11 追記ここまで) このブログでも、変数にnullを突っ込むことでメモリ解放といった表現をたくさん投稿してたのですが、ある時期からこの表現はやめています。 他のブログを読み、鵜呑みにしてたこともあったのですが、間違いを公開していたことをお詫びします。 こういうコードで示せばわかりやすいかも。 var val = 'hoge'; // 別に strings 以外のデータでもOK val = null; // null 値を突っ込んでるだけで、メモリには残る。 c
スケジュールの横軸と各アイテムを定義するだけでタイムスケジュールシートを簡単に作成できるスクリプトを紹介します。 jQueryやAngular.JSなど他のスクリプトは不要です。 Ilya Grigorik Timesheet.jsの使い方 Step 1: 外部ファイル 当スクリプトを外部ファイルとして記述します。 <head> ... <script src="/javascripts/timesheet.js" type="text/javascript" /> </head> Step 2: HTML タイムスケジュールシートを配置する空のdivを用意します。 <div id='timesheet'></div> Step 3: JavaScript 一行目は配置する要素、自至、二行目以降はアイテムを配列で記述します。 new Timesheet('timesheet', 2002,
最近node-webkitアプリを書く時、何かしらのMV*やデータバインディングライブラリと言われるものを試しているのですが、floating-memo.appではRaynos/mercuryを使いました。 mercury は小さなモジュールを組み合わせたライブラリとも言えますが色々特徴的です。 完全にモジューラーな実装 Virtual DOM FRP ファイルサイズが小さめ モジューラーな実装とは何かというとmercuryのindex.jsを見ると面白い事が書かれています。 /* Pro tip: Don't require `mercury` itself. require and depend on all these modules directly! */ require("mercury") しないで、直接それぞれのモジュールを読み込んで使えるという事が書かれています。 (これ
新たな elm-html ライブラリでは、HTMLとCSSをElmで直接使用できます。FlexBoxも使ってみたいし、既存のスタイルシートも使い続けたいですか? Elmは使いやすくなり、処理が 速く なりました。例えば、 TodoMVC アプリを再作成する場合、Elmの コード はとても単純で、 事前のベンチマーク でも、他の人気ライブラリに比べ処理速度が極端に速いという結果が出ています。 elm-html とMercuryは、どちらも virtual-dom プロジェクトを基にしているので、パフォーマンスが優れています。この記事では、前半で“仮想DOM”とは何か、 純粋性 と 不変性 によっていかに処理速度が上がるかということについて詳しく検証します。この検証によって、なぜOm、Mercury、Elmがベンチマークでこのような素晴らしい数字を出したかが分かるでしょう。 パフォーマンスは人
Reactの登場以来気になっていた、Virtual DOMアプローチの具体的な差分抽出手法について、virtual-domを読んで確認してみた。 Reactをいきなり読むのは面倒くさかった・ミニマムな実装から読みたかったというのが、こっちを選択した理由。Reactのアルゴリズムが参考にされているものの、Reactには存在する特定の最適化が入ってないかもしれないので、あくまでもReact系のVirtual DOMを実装するには最低限何が必要かを知る程度のものと判断してほしい。 virtual-domについて ReactのVirtual DOM部分だけを切り出して再利用可能な形で再実装したライブラリ。elm-htmlとかMercuryといった箇所でvDOMインフラとして既に使われているので、まったくの趣味プロダクトという訳でもなくなっている。 README.md中での触れられている通り、Vir
仕事などでJSを書くようになって少々経つが、Java信者で頭が固い僕にとってはどうもJSというのは柔らかすぎてしっくりこない部分が多い。 考え方を整理するにはデザインパターンを知るのが早いと、最近思い立ったので改めて調べてみた。 ということで、Javaは大体分かるし、JSも書くけどそこまで詳しくない人向け(つまり自分主体)にまとめておく。 今のところシリーズ化予定。 ※ JSの知識には自信ないので間違った点に気付いた方がいらしたらコメント等でご指摘いただけると助かります。 ※ デザインパターンとして挙げているコードは、個人的にアレンジしている場合がありますので、ご了承ください。 0.はじめに 本編案内 内容に入る前に、予備知識をおさらい。要点ではないのでざっくり。 シリーズ案内 Javaプログラマから見たJavaScriptデザインパターン(導入編) Javaプログラマから見たJavaSc
var nameSpace = nameSpace || {}; var nameSpace.someModule = nameSpace.someModule || (function(){ // private attributes var privateVar = 5; // private methods var privateMethod = function(){ return 'Private Test'; }; return { // public attributes publicVar: 10, // public methods publicMethod: function(){ return ' Followed By Public Test '; }, // let's access the private members getData: function(){
JavaScriptデザインパターン:The Singleton Pattern JavaScriptの勉強にすごく役に立つので、JavaScriptを勉強したい人にはお勧めです。 The Singleton Pattern パターンは、コンストラクタを private とすることで、他関数から新たにインスタンスが生成されないような構造とすることで、インスタンスの生成を制御します。 ※The Singleton Patternサンプルソース var SingletonTester = (function() { // args: an object containing arguments for the singleton function Singleton(args) { // set args variable to args passed or empty object if n
最近フロントエンドでfacebook/reactをずっと使っている。世界的には一部のエンジニアの間で流行っているのだが、国内だとqiitaのタグ等を見てもどうも少ない。みんなもっと使うべきだと思うので、宣伝かねて意見をまとめてみる。 複雑化するデータバインドに対する懸念 MVWのVに対して思いを馳せると、だいたい次のことに行き着く。すなわち、「ある構造体の入力に対して、必ず一意なビューを生成したい」 {items: [1, 2, 3]} を入力とすると、 1, 2, 3のli要素になってほしい。これは単純な例だから問題に成り得ないように見えるが、アプリケーション全体の状態を一つのjsonとして定義し、 そこから常に0から組み立てればアプリケーションの健全性が確保できると考えたことはないだろうか? 現実の問題 UIのだいたいの状態は遷移で表現される。遷移の差分をプログラマが記述する。jQue
File uploading is a rather common feature of interactive sites. As all servers come with a limit on the size of the file being uploaded, it would be a usability blessing for users if web developers can implement a logic to check for the file size before uploading, informing the user if the size of the file exceeds the max allowed. At the server side, it’s easy to weigh the file in bytes, with PHP,
Comfortable C3 makes it easy to generate D3-based charts by wrapping the code required to construct the entire chart. We don't need to write D3 code any more. Customizable C3 gives some classes to each element when generating, so you can define a custom style by the class and it's possible to extend the structure directly by D3. Controllable C3 provides a variety of APIs and callbacks to access th
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く