タグ

2019年3月5日のブックマーク (11件)

  • Web 技術をキャリアの中心にしない

    うろ覚えの記憶だが、2013 年に Twitter でこの話題が拡散されていたと思う。Web 業界では誰もが知っていながら誰もが認識しているわけではなかった簡潔な表現に、当時の私は衝撃ではなく、うまいこと言うなと感心していた。 しかし、当時はまだまだ Web 技術は発展途上でありながら先進的なイメージがあったように思う。ソフトウェア開発の未来が Web 技術であることは多くの人は認識していたが、Web はさして大きくないリソース上の制約を設けつつ、さして多様性のないプロトコル上の制約を受けつつ、特定技術に絞れば2年ぐらいやればその分野の詳しい人になれるという、Web 業界以外のソフトウェアエンジニアからみたとき、スキルとしてどこかチャラいイメージがあった。 知人の Linux Kernel 開発者とゲームの話をしていたとき、経験や知識の積み重ねで勝てないゲームは嫌いだという話になって、その

    Web 技術をキャリアの中心にしない
  • Wallaby - Immediate JavaScript test feedback in your IDE as-you-type

    Wallaby.js is a developer productivity tool that runs your JavaScript and TypeScript tests immediately as you type, highlighting results in your IDE right next to your code. Test execution results, including code coverage, are displayed and updated in realtime right where you need to see them — in your code editor, next to the line of code that you're editing. Say goodbye to context switching. The

    Wallaby - Immediate JavaScript test feedback in your IDE as-you-type
  • ゲーム作りで「第1世代目はなぜ一線級を保ちつづけるのか?」と、そのなり方、落とし穴

    モノづくりの2つの世代の違い私は、モノづくりの中では2種類のタイプがいて、それは大きく違う性質を持っていると考える。2つの人は初期値としての才能や能力は大きく違わない。だが、5年10年と進んでいくにつれて差がとても大きくなっていく。 第1世代:一人で全部やるため全てのスキルを身に着けることができ、全体感を獲得できる 第2世代:第一世代が敷いた分業化のレールの上に乗るため、高い専門性を獲得することができる 違いはこれだけである。ただ結果として、チームリーダーやコアメンバーは第1世代に任され、第1世代のビジネス経験がより強化される。第2世代は、専門性を磨いていけばいつかは自分も第1世代みたいになれる筈と思いながら、いつまで立っても何故かなれない。いつしかあの人は特別だ、または、自分には才能がなかったと勘違いをしてしまう。 第1世代の最初は、すべてが足りないし、わからない中で行うため、足りないも

    ゲーム作りで「第1世代目はなぜ一線級を保ちつづけるのか?」と、そのなり方、落とし穴
  • SPA が、ウェブ開発のベストプラクティスになる時代 - mizchi's blog

    最近のフロントエンドに関するお気持ち。正直まとまってはない。 最近、こんな感じのツイートや記事が増えた。 web 技術をキャリアの中心にしない シングルページアプリケーション (以下SPA) の台頭により、私の観測範囲ではモダンな Web サイトは SPA で作られるようになった。サーバーサイドは JSON を返す API サーバーとなり、DB やバックエンドシステムのプロキシのような存在になりつつある。 私はサーバーサイドエンジニアとしてキャリアを積んできた。SPA が流行りだした頃、いずれサーバーサイドエンジニアは不要になって自分のキャリアを考え直さなくてはいけない時期がくるのではないかと戦々恐々としていた。 自分も元々、SPA を他サイトとの「差別化技術」と定義していた。ブラウザのタブページのライフサイクルにおいて、初期化プロセスを一回にまとめてシームレスな遷移を実現する技術。たとえ

    SPA が、ウェブ開発のベストプラクティスになる時代 - mizchi's blog
  • Flutter 💙 Unimodules

    “Unimodule”? What’s that?Unimodules are a new standard for creating native modules that are usable in ExpoKit, React Native, Flutter, and other mobile development platforms. The Unimodule system revolves around expo-core , a package that defines the interfaces for implementing a Unimodule and, probably most importantly, the module registry class. This class is what a Unimodule will register itself

    Flutter 💙 Unimodules
  • ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える

    ドメイン駆動設計との出会い 10年前に、エヴァンスのドメイン駆動設計を初めて読んだ時は、書いてある内容がほとんど理解できなかった。 あまり、面白いとも思わなかった。 当時は、現場でバグだらけのコードと格闘していた。障害が報告されるたびに、リファクタリングを参考に、該当個所の長いメソッドや大きなクラスを片端からリファクタリング。その結果、コードがわかりやすくなり、やっかいなバグが単純な修正で解消できてしまうことの効果に驚き、設計の重要性を再認識していた。 それ以前は、UNIXとC言語、OracleとPL/SQLという、オブジェクト指向ではない世界で技術を身に着けてきた。 どちらかというとオブジェクト指向には、ネガティブな印象を持っていた。現場では役に立たんだろうと。 バグとの格闘の中で、リファクタリング(設計改善)の威力を肌で感じ、その考え方とやり方がオブジェクト指向に由来するということを

    ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える
  • Intl.NumberFormatでゼロ埋めや%表記などの数値表現を楽に実装する

    Number#toFixed や Math.round/floor/ceil を駆使して表示用の値を整形することってないでしょうか。カンマ区切りをオレオレユーティリティ関数で実装したりそういったことを実現するライブラリを探したことはないでしょうか。 ほとんどの JavaScript の実行環境にはIntlという i18n のためのオブジェクトが組み込まれており、その中の1つにIntl.NumberFormatというクラスがあります。 オプションが色々あり、かなり便利で多機能なんですが整理された情報が少なく、身の回りで使用してる人も少ないと感じました。 Do you use Intl.NumberFormat? — れこ (@L_e_k_o) February 25, 2019 (2019/03/04あたりに結果表示されると思います。途中経過を見る場合元ツイートに飛んでください。) 「それ自

  • Fast string concatenation in JavaScript

  • TypeScriptの型情報を利用したCustom Transformerの現状確認 - Islands in the byte stream

    TypeScriptのコンパイラ・プラグインとして振る舞いASTの操作を行えるcustom transformer (AST preprocessor) が実装されたのは TypeScript 2.4 (2017年) でした。 そのときの様子は次のエントリに非常によくまとまっています。 [TypeScript 2.4] custom transformer を利用して実行時に型情報を参照可能にする - Qiita さて、現在のTypeScript v3.3 でのTransformer APIの状況はというと、TypeScript compiler体としては依然としてドキュメントに乗ってない水準の扱いです。特に、コンパイラAPI そのままではtransformerは型情報を利用できません。ts.TransformerFactory に渡される ts.TransformationContex

    TypeScriptの型情報を利用したCustom Transformerの現状確認 - Islands in the byte stream
  • サービスに求められるものを、6段階に分類する|深津 貴之 (fladdict)

    「サービスの体験をよくする」というのが、漠然としてどうすればいいかわからないとき、まずユーザー体験を6段階に分類するのをオススメします。 この図をベースに、 ・あなたのプロダクトの現状 ・やろうとする施策やアップデートが、それぞれどのレイヤーに属するかを見て、基低レイヤー(機能より)のものから、充足させてゆきます。 下記は、家を例にしたのユーザー体験です。 Lv 0. 存在しない家がない。寒い。そして何も解決してない。 Lv 1. 機能がある屋根と壁と床がある。とりあえず雨風がしのげる。色々と我慢すれば、まぁ生きていける。 Lv 2. 安全と安心地震で壊れない。水漏れしない、火災報知器がついた、ドアに鍵がかかるようになった。最低限の信頼性が担保できる状態です。 Lv 3. 使いやすい、わかりやすいまっとうに使えるか。家のなかで迷わない。生活導線が機能するか。キッチンや冷暖房などがスムー

    サービスに求められるものを、6段階に分類する|深津 貴之 (fladdict)
  • 不正プログラム書き込み疑い補導|NHK 兵庫県のニュース

    クリックすると同じ画面が表示され、消えなくなる不正なプログラムのアドレスをインターネットの掲示板に書き込んだとして、13歳の女子中学生が兵庫県警に補導されました。 補導されたのは、愛知県刈谷市に住む中学1年生の13歳の女子生徒で、警察によりますと、インターネットの掲示板に、不正なプログラムのアドレスを書き込んだ疑いがもたれています。 このプログラムでは、クリックすると、画面の真ん中に「何回閉じても無駄ですよ〜」という文字や、顔文字などが表示され続けるよう設定されているということです。 書き込みを見つけた警察が、インターネットの接続記録を調べ、4日、補導しました。 また、同じアドレスを別の掲示板に書き込んだ疑いで、山口県の39歳の無職の男と鹿児島県の47歳の建設作業員の男のそれぞれの自宅も捜索しました。 今後、書類送検する方針です。 警察によりますと、3人に面識はなく、それぞれネット上の別の

    不正プログラム書き込み疑い補導|NHK 兵庫県のニュース