タグ

ブックマーク / mizchi.hatenablog.com (8)

  • TypeScript入門以前ガイド - mizchi's blog

    某社で自分が React/Redux + TypeScript などの講習をやってみた結果、TypeScript 入門用資料が必要だと思って書いたやつです。 このドキュメントのターゲット TypeScript で書かれたプロジェクトに参加する人 TypeScript を導入するために、その事前知識が必要な人 このドキュメントの読み方 ES2015 for Beginners ES2015 for ES5 Programmers ES Modules 非同期表現: Promise と async/await TypeScript エコシステム編 自分が React/Redux などの講習でいろいろやってみた結果、 ES2015 と TypeScript を同時に教えると、初学者は何がどの概念に由来するかの区別が出来ずに混乱します。なので、ES5 -> ES2015, ES2015 -> Ty

    TypeScript入門以前ガイド - mizchi's blog
  • やはりHTML/DOMは再発明されるべきじゃないか - mizchi's blog

    と思う次第である。以下理由。 JavaScript, GUI設計の今 JSはそのプラットフォーム特性上、あらゆる言語の使用者の、あらゆる不満が集まる場所で、ヘイトを集めやすい環境だと思う。近年は npm というプラットフォームの登場でエコシステムが生まれ、思いつく限りあらゆるメソッドが適用されてきた。貧弱な言語基盤だが、その中で生き残った方法論が、今一番GUIの課題を上手く扱えている、と自分は考えている。 React/ReduxAngular によって、Flux/MVVMという抽象パターンが枯れてきたように思う。(この際、現場はまだ jQuery だぞ、みたいな話は無視する)。要は View は State の写像である、ということに尽きる。State はシリアライズ可能(JSON)で、Flux Action/Rx.Observable の Event Stream を入力とし、それ

    やはりHTML/DOMは再発明されるべきじゃないか - mizchi's blog
    terkel
    terkel 2017/10/02
  • さよなら CoffeeScript - mizchi's blog

    prototype.js が jQuery に置き換えられた時、開発者が気づいたのは、自分に当に必要だったのはprototypeのメソッド拡張などではなく、クエリエンジンだったということ。 coffeescriptが当初、熱狂的に支持された背景はなんだっただろう。今思えば、それはアロー記法とクラス構文だったと思う。 javascriptの関数型への憧れ、prototypeベースの限界 javascript は断じて関数型言語ではないが、他の言語と同じぐらい関数型言語に憧れていたのも、また事実だろう。しかしビルトイン関数が高階関数を要求するデザインにしては function というキーワードはながすぎたし、その function が暗黙に作り出す this スコープの複雑な振る舞いも開発者の悩みの種だった。「あらゆる関数スコープで状態を持つことが"できすぎる"」という割れ窓だった。 ES5

    さよなら CoffeeScript - mizchi's blog
  • 「CoffeeScriptのリファクタリング」の実践とレビュー - mizchi's blog

    CoffeeScriptのリファクタリング - ワザノバ | wazanova CoffeeScriptのリファクタリングと聞いたので、いてもたってもいられなくなった。まず、お題の結果を見ずにやってみる。 これが元のコード $(document).ready -> photoHTML = (photo) => "<li> <a id='photo_#{photo.id}' href='#{photo.url}'> <img src='#{photo.url}' alt='#{photo.alt}' /> </a> </li>" $.ajax url: '/photos' type: 'GET' contentType: 'application/json' onSuccess: (response) => for photo in response.photos node = $(phot

    「CoffeeScriptのリファクタリング」の実践とレビュー - mizchi's blog
  • 昔ながらの「片手間に書くJavaScript」の限界 - mizchi's blog

    Javascriptを使うのをやめろ:Railsの時代遅れ云々についての結論 - Qiita この記事は、全体的に自分の業務以外の評価基準やトレンドを知らないんだなという感じで、わざわざ付き合うと精神的に消耗する感じがした。ただ、それが彼らの職でない以上、自分もこの結論に至るのは仕方ないと感じている部分はある。 真の問題は、自分がレガシーなJavaScriptを書いているという自覚がない人間が、ここ数年の技術トレンドから乖離したコードを書き続けることで他のエンジニアやエコシステムそのものに悪影響を及ぼしているケースが散見されている。一行書く毎にグローバル汚染するスクリプトを見せられてもメンテ出来んと言われても、はいそうですねとしか言えないし、そういう人に最近のライブラリを触らせると遅くなるというのは、画面全体を一つのMustacheテンプレートにしてBackbone.Modelのパラメー

    昔ながらの「片手間に書くJavaScript」の限界 - mizchi's blog
  • 初心者に理解あるふりしたモヒカンの自己満足に付き合うのはうんざり - mizchi's blog

    インターネットのほとんどの初心者向けに書かれたと宣言されたコンテンツは、想定すべき初心者のペルソナを失っている。初心者向けの記事は、「これは(俺が想定する都合のいい初心者には)わかりやすい」であり、「実在する初心者」の方を向いていない。習熟すると初心者の気持ちがわからなくなるから、構造的な問題もあるんだけど、それにしても、と思うケースが技術者界隈には当に多い。 初心者向けと銘打った発表をして、似たようなコミュニティから「わかるわかる、そう説明するよね」的な同意を得られることに満足して終わっているだけで、実際には誰も救っていないの、当に滑稽だと思う。当人の自己満足と、コミュニティから賞賛を得る以上の価値がない。ネタでやってるケースだけでなく、気で初心者のつまづきに理解があるよ的な前振りから、突然理解に困る技術的な飛躍が行われるの、やられる方はかなり迷惑で、しかし自分の頭が悪いのを認めた

    初心者に理解あるふりしたモヒカンの自己満足に付き合うのはうんざり - mizchi's blog
  • jQueryについての私見 - mizchi's blog

    jQueryでいいやん派の意見 / “Angular JS Kinda Sucks | OKmaya” http://t.co/n4ZlEmeNA4— 高意識エネルギー (@mizchi) 2014, 2月 14 jQuery、経験値貯めてレベルが上がれば上がるほど保守性下がる不思議なライブラリなんですよ…— 高意識エネルギー (@mizchi) 2014, 2月 14 使いこなしすぎると保守性下がる系ライブラリ、jQuery以外にも、pythonのfunctoolsとか、ScalaのList系ライブラリとか、C++のテンプレートとか、その辺— 高意識エネルギー (@mizchi) 2014, 2月 14 jQuery経験値貯めるより find, attr, css, on にのみ用途を限定する方が結果として綺麗になるのが僕の得た結論です— 高意識エネルギー (@mizchi) 2014,

    jQueryについての私見 - mizchi's blog
  • 「CoffeeScriptの関数は明示的にreturnしてはいけない理由」を探す暇あったら他にやるべきことあるのでは? - mizchi's blog

    CoffeeScriptの関数は明示的にreturnするべき | CreativeStyle 当に遅いのか、それを確かめましょう。 適当にでっちあげたコードです f1 = -> for i in [1, 2, 3] for j in [4, 5, 6] i + j f2 = -> for i in [1, 2, 3] for j in [4, 5, 6] i + j return console.time "f1" for i in [1..100000] then f1() console.timeEnd "f1" console.time "f2" for i in [1..100000] then f2() console.timeEnd "f2" 実行してみます $ coffee hoge.coffee f1: 105ms f2: 4ms 約26倍違う、ということがわかります。

    「CoffeeScriptの関数は明示的にreturnしてはいけない理由」を探す暇あったら他にやるべきことあるのでは? - mizchi's blog
  • 1