タグ

ブックマーク / havelog.aho.mu (11)

  • JavaScriptよ。文明を捨て、自然に還れ。

    Web ナチュラリスト フィードを眺めていたら Alex Russell 氏の新作が投稿されていた。 The "Developer Experience" Bait-and-Switch | Infrequently Noted 来の趣旨については原文を読んでもらえばいいし、下記はこれを読んだ上で普段の考えを踏まえて脳裏をよぎったポエムである。 我々は複雑性で仕事をしている 仕事をしている、もしくはそれでお金を稼いでいる。誰もが。 私は 2012 年頃から Web の、特に Web フロントエンドの複雑性に加担している自覚がある。 Web の専門性が高まることはその技術領域に深淵な価値があることを示唆し、それに携わることの価値を相対的に向上させることができる。 私の活動そのものは些細なものだが、かくして 2018 年現在の Web はかくも複雑になることに成功し、エンジニアリングの名の下

    JavaScriptよ。文明を捨て、自然に還れ。
    asyst
    asyst 2018/09/14
  • SPA + サーバーサイドレンダリング、そのダルさに関する私見

    いわゆる SPA + サーバーサイドレンダリングがダルい 唐突ですがおさらいです。 なぜサーバーサイドレンダリング(SSR)が嬉しいかと言えば 初期表示の Critical Rendering Path を短縮できる SEO における保守信仰にやさしい() 古いブラウザ・低性能マシンにやさしい yahoo/fluxible による SPA + Server Rendering の概観 ::ハブろぐ であり、特に SPA + SSR の文脈においては Universal Architecture による SPA + SSR は、技術的には過渡期の歪なキメラっぽさが拭いきれませんが、昨今の Web フロントエンドにしては珍しくビジネス的な説得力があります。 SSR なのでSNSや検索からの流入による初期表示が速い SPA なので回遊時のページ遷移も速い SSR なので古いブラウザでも CSS

    SPA + サーバーサイドレンダリング、そのダルさに関する私見
    asyst
    asyst 2017/06/15
  • PHPのinterfaceとabstractを正しく理解して使い分けたいぞー ::ハブろぐ

    interfaceとabstractの特徴と違いを捉える 今回もPHP話。(正しくないことは @ahomu に教えてもらえると助かりマス) PHP5では、interface(インターフェイスの宣言)やabstract(抽象化)が使用できます。これらの説明を読むと、一見して同じような役割を持っているように見えます。 それは両者とも、メソッドの実装を「インターフェイスを実装したクラス」や、「抽象クラスを継承したクラス」に強制的に任せる機能を持っているからです。これらの挙動は、外見上とても似ています。少なくとも自分はそこで引っかかりました。 interfaceもabstractも便利なオブジェクト指向機能ですが、使い分けができないと、もったいないです。ありがちな話だと、いつまでもabstract一辺倒で、interfaceの出番が見つからない、とか。 今回はそのへんを自分の理解を整理しつつ書き留

    PHPのinterfaceとabstractを正しく理解して使い分けたいぞー ::ハブろぐ
    asyst
    asyst 2016/01/28
  • Ajax的に画像などのファイルをアップロードする方法 ::ハブろぐ

    a-blog cmsの開発中、Ajax的にファイルをアップロードする必要があったので、その際の調べ物についてかきます。普通にpostしようにも、JavaScriptでローカルのファイルは扱えないよ、って話で、先輩から「iframeがヒントだ!」的なざっくりとしたアドバイスを頂いたので、それを頼りに調べる。 画面遷移なしでファイルアップロードする方法 - 30からのBlog おお、なるほどなるほど。以下、HTML, JavaScript, PHPのサンプルをメモ。 こんなHTMLJavaScriptで操作すればいい JavaScript自身が要素の生成を作成してもよいですが、最終的にはこういうHTMLが作成されることになります。 <a href="#" id="uploadTrigger">アップロードするぜー</a> <form id="uploadForm" action="画像POS

    Ajax的に画像などのファイルをアップロードする方法 ::ハブろぐ
    asyst
    asyst 2016/01/05
  • 既存コードへの Bacon.js 導入サンプル

    適当なサンプルをBacon.jsにしてみた こんな感じの、ボタンを押したらスライドが切り替わるだけのサンプルを用意して、Bacon.js に無理のない範囲での書き換えを試みてみた。ご時世柄、jQueryは未使用。 See the Pen raGLMd by Ayumu Sato (@ahomu) on CodePen. 生のJavaScriptからスタート どうせ Bacon.js で置き換えることになるので、サンプル時点でも構造化しないで手続きをダラダラと書いておいた。 document.addEventListener('DOMContentLoaded', function() { getById('prev').addEventListener('click', function() { moveSlide(-1); }); getById('next').addEventList

    既存コードへの Bacon.js 導入サンプル
    asyst
    asyst 2015/02/03
  • 2014年のWebパフォーマンスふりかえり - 来年以降の期待etc

    ひさびさにWebフロントエンドパフォーマンス系の話題をつらつらと書いてみます。例によってモバイル系開発者寄りの視点かもしれません。文中の参照リンク多め。 ファクタ まずはパフォーマンスに影響を与えるファクタについての所感。Webパフォーマンスにおけるイニシャライズとランタイム ::ハブろぐ で示した分類に基づきます。 イニシャライズ(いわゆるページロード) 4GやLTEが普及してもコンテンツの肥大化には追いついていない concat と CSS Sprites の呪いが解けない HTTP/2 の Streams and Multiplexing に期待 HTTP/2 の Server Push にも期待 画像周りだと <picture> 関連仕様も使いたい(srcsetだけならいける?) WebRTC とか WebSocket とかストリーミングとかは? (やや疎い、てかイニシャライズじゃ

    2014年のWebパフォーマンスふりかえり - 来年以降の期待etc
    asyst
    asyst 2014/12/17
  • AngularJS についての所感

    AgularJS に対する気持ち 所感といいつつ、主に自分がつらさとして感じていることを書く。所感シリーズとしては jQueryについての所感 も併せて読みたい。 この学習曲線の中でいうと、たぶん今の自分は Very Cool! の頂点から降りている最中くらいだと思う。そして、マサカリをふりかぶった諸兄にひとつだけ言いたいのは、共感脳を養った方がモテるということだ。 チキンハート的弁解: 以下はAngularJSに関するつらさを述べることに専念するために、美点を挙げていないだけであってAngularJSを全方位的に貶めたり、何かと比べて明確にクソだというような意図はない。 画像は AngularJS: The Best Parts · Anand Mani Sankar からの引用。X軸にある www.bennadel.com は AngularJS 大好きさん。 辛1. $scope が

    AngularJS についての所感
  • 技術は発想やデザインの限界にならない

    当時の思い違い たとえば、一般的なエンジニアが何かを作ろうとすると、その個人の「技術的な限界=発想の限界」となりがちです。 ではデザイナーと呼ばれるような職能を持っているひとが、果たしてプロダクトを実装として理解すべきか、というと、それは分業上の実装サイドによるエゴ(こっちの都合もちゃんと考えて欲しい!的な)でしかないと思っていました。 多少、吹っ飛んだ話であっても、意図を失わずに現実的な実装に落とし込むのはコミュニケーションの問題であって、デザイナー職能の理解不足ではない、と。 コミュニケーションでも解決できる問題として、これは今も間違ってはいないはずですが。 しかし、これは適切なタイミングで、大きな青写真を描くための能力であり、デザイナー職能を全うする話とは違ったのです。 優秀とは 身の回りで優秀なデザイナーと呼ばれる諸氏は、ビジュアルを作るだけでなくステートの管理までよく考え、利用コ

    技術は発想やデザインの限界にならない
  • ぼくが実際に運用していたGitブランチモデルについて

    オペレーションとかインフラ系のエンジニアリングからは少々離れそうなので、個人的な備忘録がてら、Gitのブランチモデルについて。淡々と書くよ。 見えないチカラ: A successful Git branching model を翻訳しました 基的に、このA successful Git branching model(上記は翻訳記事)を参考にしています。ですが、完全ではありません。運用しながら都合よく省略していますし、悪く言えば曲解もしています。あくまで、わたしが都合良く解釈して取り回した結果と考えてください。 さて、このようなドッシリとしたブランチモデルが、あらゆる規模のプロジェクトに対して有効であるかといえば、もちろんそうではありません。コツコツ個人で開発しているライブラリなどは、ブランチを使わなくても良いケースがあるでしょうし、作ってもバージョン番号ブランチぐらいのケースだってザラ

    ぼくが実際に運用していたGitブランチモデルについて
  • jQuery Mobileのビジュアルデザインが自由に! Theme Rollerついにリリース

    Announcing ThemeRoller for jQuery Mobile! Learn more: http://t.co/LvFkbfwp or try it now: http://t.co/AeDhxKnbFri Oct 28 12:29:55 via Twitter for Macjquerymobile jquerymobile 正直なところ,正式版のリリースまで出る出る詐欺で進行するかと思っていたのですが,jQuery MobileのTheme Rollerがついにリリースされました. ThemeRoller | jQuery Mobile Announcing ThemeRoller for Mobile (beta) | jQuery Mobile 普通にカスタマイズしようと思うと,何かと面倒くさいオリジナルのカラーテーマの作成を,Webインターフェースで簡単に作れ

    jQuery Mobileのビジュアルデザインが自由に! Theme Rollerついにリリース
  • jQuery Mobile のbeta2がでたので例によって変更点まとめた

    先日,jQuery Mobileがbeta2にあがりました.前回みたいにテンションあがるアップデートではないので,淡々と. beta1以前にあったXSS等の問題はキチンとfixされているようなので,beta1以前でサイトを大公開しちゃってる方々は,可及的速やかにbeta2に上げましょう. 今度こそ脆弱性がなくなってるといいですね! 今回の変更点 alphaからbetaほどの大々的な動きはありません.普通にHTML駆動で利用している分には,あまり関係なくCDNからの読み込みをb2に変更するだけで,すんなり移行できるはずです. UIウィジェットを選択的にビルドできるように サポートされるプラットフォームの追加 createイベントの追加 DOMキャッシュ管理機構 vclickイベントの廃止 スワイプイベントのしきい値が設定可能に 動的にローディングメッセージを書き換えられるように ページプリフ

    jQuery Mobile のbeta2がでたので例によって変更点まとめた
  • 1