あとで読むに関するyoshiko_pgのブックマーク (32)

  • すごい深海魚が釣れたので、魚をさばけるようになった友人(小林銅蟲)に調理させてみた<寄稿:茸本朗> - ソレドコ

    「ユメカサゴ」と筆者「深海釣り」というジャンルの釣りがあります。 ざっくり説明すると「船に乗って沖に出て、水深200メートルよりも深いところに釣り糸を垂らして行う釣り」のことです。 (もう少し細かく「水深350mより深いところの魚を釣るのが深海釣り、それより浅いのは中深場釣り」だと主張する方もいます。ほか「超深海釣り」という、水深800m以深を攻める釣りもあります) これらの釣りはいずれも専用の道具、専用の竿、専用の仕掛け、専門の船宿(もしくはプレジャーボートと操船してくれる船長)が必要となります。 時間も手間も、そして少なからぬ費用もかかる深海釣りですが、ここ数年ハマりこんでしまい、機会があるごとに友人のボートオーナーの金魚のフンとなりついて行っています。 なぜそんなものにハマっているのかというと、普段はべることができない魚たちが手に入るからです。 深海釣りにハマるわけ あらためまして

    すごい深海魚が釣れたので、魚をさばけるようになった友人(小林銅蟲)に調理させてみた<寄稿:茸本朗> - ソレドコ
  • Babel プラグインを作ってみよう - Qiita

    Babel 5 から 6 の間に API が大きく変わっています。Babel 6 のプラグインには Babel plugin handbook をおすすめします。thejameskyle さんは Babel のメンテナの一人です。 ES2015 や JSX を ES5 にトランスパイルする Babel。日常的に使っている方も多いかと思います。 そのままでも便利な Babel ですが、プラグインを使うことで独自のソースコード変換ルールを追加することができます。私もちょっと前から Angular 2 アプリを Babel で作るためのプラグインを書いたりしていました。結構簡単に作れるので、Babel 5.x でプラグインを作る方法を紹介してみたいと思います。 Babel の仕組み ざっくり言うと Babel は以下のような仕組みで動いています。 ソースコードをパースして AST を生成(Bab

    Babel プラグインを作ってみよう - Qiita
  • もしインターネットの1秒が1年だったら - SunPro 2016技術書典

    2016年、インターネットが日中のあらゆる人間に行き渡るようになってから、すでに10年単位の時間が経過しています。今日においてインターネットを支えるネットワーク技術が重要であることは言うまでもありませんが、実際にネットワークでどのタイミングで何が起こり、どれくらいの時間が費やされるのかということを身を持って体感している人は、たとえネットワークに精通している人でも少ないのではないでしょうか?この記事では、1秒というわずかな時間を1年にまで拡大し、ネットワーク上で何が起こっているかを人間スケールでざっくりと解説していきます。 2.1 はじめに たぶんはじめまして。博多市(@hakatashi)です。今回は技術書典向けの小企画として、「インターネットの1秒がもし1年だったら」というだいぶ抽象的で怪しい記事を書こうと思います。 インターネットというのは光の速さを身をもって感じることができるメディ

  • Getting Started with webpack – Insightful Software

    Jun 2017 edit: 3 was just released! The syntax for 3.x is identical to 2.x, which means this article is still up-to-date (if I missed something, please comment!). The version bump was for more behind-the-scenes stuff, but it did add an easy-to-add “Scope Hoisting” plugin that can cut down on your bundle size that’s worth checking out! Jump to the bottom of this article for the “Upgrading to 3” sec

    Getting Started with webpack – Insightful Software
  • redux-sagaで非同期処理と戦う - Qiita

    はじめに ReduxはSingle Store、immutableなState、副作用のないReducerという3つの原則を掲げたFluxフレームワークです。しかし他のフレームワークと違って提供しているものは最小限で、とてもフルスタックとは言えない薄さです。そのためすべてにおいて定番と言える書き方が定まっているわけでもなく、どうしようか迷ってしまうことも少なくありません。その筆頭とも言えるのが 非同期処理 の扱いです。コミュニティでは今でもさまざまな方向に模索が続いていますが、よく使われているものだとredux-thunk、redux-promiseあたりでしょうか。Reduxに限定しないのであればreact-side-effectというものもあります。こちらはTwitterのモバイルウェブ版で使われていますね。どれを使っても非同期処理が可能になりますが、それはあくまで道具であって、設計の

    redux-sagaで非同期処理と戦う - Qiita
  • RxDB それはReactiveでOffline-firstなデータベース - Qiita

    どうも。WACULでフロントエンジニアをしている @Quramy です。 このエントリはWACUL Advent Calendar 2016の8日目の記事として書いています。 さて、RxDBというデータベースをご存知でしょうか? 僕もつい先日知ったばかりなのですが、2016年12月になって、急激にGitHubtrend入りしてきたプロダクトです。 RxDBの概要 RxDBは以下の機能をもった、主にフロントエンド向けのデータベースです。 Reactive (rxjs) Replication / Sync Schemas (jsonschema) Mango-Query (MongoDB) Encryption Level-Adapters Import/Export (.json) MultiWindow-Support データベースといってもRxDB自体が決まったデータストアを持ってい

    RxDB それはReactiveでOffline-firstなデータベース - Qiita
  • React のソースコードを読んでみよう! - マルシテイア

    こんにちは id:amagitakayosi です。 株式会社はてなで主にフロントエンド開発を担当しています。 この記事では React 体のコードを読んでみます!! この記事は Reactアドベントカレンダー 2016 の7日目の記事です。 昨日は yutaszk さんで「react-router v4 でFlux アプリケーションをHot Module Replacement する」でした。 目次 はじめに (Kyoto.js の宣伝) 準備 ディレクトリ構造 monorepo Haste Gulp と Grunt コードリーディング react ReactComponent react-dom ReactMount ReactReconciler ReactCompositeComponent ReactDOMComponent まとめ おわりに はじめに (Kyoto.js の宣

    React のソースコードを読んでみよう! - マルシテイア
  • アメブロ2016 ~ React/ReduxでつくるIsomorphic web app ~ | CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ

    みなさんこんにちは、サイバーエージェントフロントエンドを中心に開発しています原(@herablog)です。 アメブロでは、2016年9月にフロントエンドJavaベースのアプリから、node.js・Reactベースのアプリへとシステムの移行をおこないました。記事では、その移行へといたる経緯やゴール、システム設計、その結果についてお伝えします。 リリース直後に気づいているツワモノな方もいらっしゃいました。 アメブロのSP版がReactのSSRでフルリニューアルしたのを観測した — hr (@hrloca) 2016年9月1日 システム移行へといたる経緯 2004年から始まり、日国内で最大規模のブログサービスとなったアメブロは、システムの肥大化や多数の関係者が存在したことによるモジュール・導線の急増などの理由により、ページ表示スピードが遅くなり、ページビュー数にも明らかに影響を与えるよう

    アメブロ2016 ~ React/ReduxでつくるIsomorphic web app ~ | CyberAgent Developers Blog | サイバーエージェント デベロッパーズブログ
  • CSS containment in Chrome 52  |  Blog  |  Chrome for Developers

    TL;DR The new CSS Containment property lets developers limit the scope of the browser's styles, layout and paint work. It has a few values, making its syntax this: contain: none | strict | content | [ size || layout || style || paint ] It’s in Chrome 52+ and Opera 40+ (and it has public support from Firefox), so give it a whirl and let us know how you go! The contain property When making a web app

  • CSS Containment の制約と効能について覚え書き

    ある要素内の状態による外界への影響を封じ込めて最適化を促す CSS Containment Module で定義される contain プロパティは will-change と同じようにブラウザが処理を最適化するために開発者から提供できるユーザーエージェント向けヒントとして機能します。 ヒントの目的はcontain の対象要素が親兄弟に影響を及ばさない独立した部分木であることを宣言し、各種の影響を contain の対象要素の中に封じ込めることです。 使うときは contain プロパティに既定の値として用意された size | layout | style | paint | content | strict のいずれかを指定します。content と strict は複合指定のエイリアスなので、文では size layout style paint の4つについて個々の説明をします。

    CSS Containment の制約と効能について覚え書き
  • Cacoo - Web上で図の作成とリアルタイムコラボレーション

    Online diagramming tool for collaborating on wireframes, flowcharts, and more

    Cacoo - Web上で図の作成とリアルタイムコラボレーション
  • TypeScript の型定義ファイルと仲良くなろう - Hatena Developer Blog

    この記事は2016年に書かれた古い記事です。当時はまだTypeScript2.0も出ていないころで今とは状況がかなり異なっています。参考にする場合注意してください。 はじめに TypeScriptの型システム Declaration space Open-ended ここまでの確認 型定義ファイルを読み書きできるようになるために declare キーワード 既存のオブジェクトの型定義を拡張する グローバルなオブジェクトに対する宣言 module Export Assignments Relative or Non-relative module imports ES2015形式 実際の定義ファイル 既存の定義ファイルを拡張する declare global { } について Typings について おわりに インターン募集中 はじめに こんにちはアプリケーションエンジニアの id:t_k

    TypeScript の型定義ファイルと仲良くなろう - Hatena Developer Blog
  • 関数型プログラミングのお勉強リンク - Qiita

    はじめに これは自分用の関数型プログラミングお勉強ノートです。 Atom や CoffeeScript に少し退屈してきたので別のお勉強をすることにした。 関数型プログラミングを学ぶことにした。 時々、Qiita の記事とかは読んでいたが、ガーッと調べてやりだしたのは半月程前の 2016年の6月の初旬から。 しばらく続けてみようと思う。 調べ物がどんどん拡散して行くので整理の意味でここに dump しておく。 自分が使う用。 自分が読んで良かった or 良さそう、なリンクに絞ってある。 リンク集としては既にとても豊富で、簡単に消化し尽くせないので自分用としてはこれで十分だ。 ちゃんと消化していくには相応の時間がかかるだろう。 同じように関数型プログラミングを初歩から学ぼうとしている人の参考になるかもしない。 俺のプログラミング勉強法は、これまでの経験上、以下の様なパターンがある。 今は 1

    関数型プログラミングのお勉強リンク - Qiita
  • JavaScript (TypeScript) で配列の遅延評価 - Qiita

    Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド」(以下、 FP in Scala)というを読んでいます。 ところどころプログラミングの演習問題が出てきて、これを解いていかないとちゃんと理解できなさそうなのですが、 Scala で書くのも当たり前すぎてつまらない(?)ので、 JavaScript (TypeScript) で書いてみようと思いました。 今回は第5章に出てくる遅延評価を取り上げます(次回があるかどうかは分かりません)。 コードは以下に公開しています。 https://github.com/kimamula/fp-in-javascript/tree/master/lazy-array 遅延評価とは 「実際に必要になるまで、値の評価を遅延させる」ことです。 Haskell はデフォルトで遅延評価ですし、 Scala でも明示的

    JavaScript (TypeScript) で配列の遅延評価 - Qiita
  • Refactoring a JavaScript video store

    The simple example of calculating and formatting a bill for a video store opened my refactoring book in 1999. If done in modern JavaScript, there are several directions you could take the refactoring. I explore four here: refactoring to top level functions, to a nested function with a dispatcher, using classes, and transformation using an intermediate data structure. 18 May 2016 Many years ago, wh

    Refactoring a JavaScript video store
    yoshiko_pg
    yoshiko_pg 2016/06/01
    マーティン・ファウラーのリファクタリングの記事、しかもES2015だ。あとでよむ
  • 5 Rookie Mistakes to Avoid with Angular 2

    So you've read some blog posts, watched some conference videos, and finally you're ready to get your feet wet with Angular 2.    What are some things you should know starting out? Here's a compilation of common beginner mistakes to avoid when you're writing your first application. Note:  This blog post assumes basic knowledge of Angular 2.  If you're brand new to the framework, here are some good

  • Vue.js 2.0 の発表 — Vue.js

    Apr 27, 2016 日、多くのエキサイティングな改善と新しい機能を盛り込んだ、 Vue.js 2.0 の最初のパブリックプレビュー (public preview) を発表してゾクゾクしています。何が起こっているのかのぞいてみましょう! さらにスリム、さらに高速Vue.js は軽くて速いままでいることに常に焦点を当てて来ましたが、2.0 はさらにそれを推し進めます。レンダリングレイヤは、現在軽量な仮想 DOM 実装 (Snabbdom) に基づいており、初期レンダリング速度とメモリ消費量は大抵のシナリオにおいて 2 〜 4 倍まで改善します(これらのベンチマークを調べてみてください)。テンプレートから仮想 DOM にするコンパイラとランタイムは分離することができ、そのため、テンプレートをプリコンパイルしたり、ランタイムだけによるあなたのアプリケーションを提供できます。min+gzi

    Vue.js 2.0 の発表 — Vue.js
  • How to work with SVG icons

    There are many ways to use SVG icons in HTML and CSS, and I haven’t tried them all. This is how we do it in our small front-end team at Kaliop. It works well for our needs, which include: Content and communication websites, often based on big CMSes, rather than full-JS web apps. Icons which are often simple, single-color icons (each potentially used in several different colors depending on context

    How to work with SVG icons
  • JavaScriptユーザのための関数型プログラミング(前編) | POSTD

    私が関数型プログラミングについて度々耳にするようになったのは、数カ月前からです。でも当時は、それが何なのか見当もつかず、単なるバズワードだと思っていました。皆さんの中にも、そのような方は多いでしょう。それ以来、私は関数型プログラミングについて深く学び、この言葉を日々聞いてはいるものの内容を理解していない初心者の方のために、分かりやすく説明しようと思い立ちました。 関数型プログラミング言語の話になると、「 Haskell と Lisp は どちらが優れているのか 」という 議論 が 白熱する 傾向にあります。HaskellとLispはどちらも関数型言語ですが、実際には大きな違いがあって、それぞれに長所と短所があります。その具体的な内容については、この記事を読み終える頃には深く理解していただけると思います。この2つの言語には、それぞれから派生した言語があります。その中で恐らく皆さんが耳にしたこ

    JavaScriptユーザのための関数型プログラミング(前編) | POSTD
  • InversifyJSで学ぶDI(Dependency Injection) - Qiita

    はじめに DIコンテナ自体は特に目新しい技術ではありません。JavaScript界隈ではAngularJS 1.xやRequireJS(AMD)等はそれ自体がDIの仕組みを内包したライブラリです。 しかし、これらのDIは若干無理やりな実装方法を取っていた感があります12。これはJavaScriptでメタデータやAOPを適切に扱う機能が不足していたことが背景にあると考えているのですが、ここ1, 2年で言語側の状況も変化してきています。 具体的にはTypeScript 1.5からDecoratorsがサポートされたり、ES 2015にてリフレクションの仕様が追加されたりと、よりスマートなDIコンテナを実装するための基盤が整いつつあります。 そこで今日はInversifyJSという軽量JavaScript DIコンテナについて触れるとともに、最新のDI事情を見ていきたいと思います。 Invers

    InversifyJSで学ぶDI(Dependency Injection) - Qiita