タグ

ブックマーク / zenn.dev/ak (6)

  • 100秒で理解するPromise

    そもそも非同期処理とは? Promiseについて知るためには、まず非同期処理について知っておく必要があります。 以下の動画で、非同期処理について100秒で解説しているので、そもそも非同期処理をよく知らないなぁという人はぜひ確認してみてください! Promiseとは では、題です。 Promiseとは、ES2015で導入された、非同期処理の状態や結果を表現するオブジェクトのことです。 PromiseはES2015で導入された非同期処理の状態や結果を表現するビルトインオブジェクトです。 非同期処理はPromiseのインスタンスを返し、そのPromiseインスタンスには状態変化をした際に呼び出されるコールバック関数を登録できます。 jsprimer - 非同期処理:Promise/Async Function 例えば、出前アプリでピザを注文することをイメージしてみましょう。 ピザを注文すると、

    100秒で理解するPromise
  • 100秒で理解する仮想DOM

    そもそもDOMとは? 仮想DOMについて知るためには、まずDOMについて知っておく必要があります。 以下の動画で、DOMについて100秒で解説しているので、そもそもDOMをよく知らないなぁという人はぜひ確認してみてください! 仮想DOMとは? では、題です。 仮想DOMとは、UIの "仮想" 的な表現をメモリー上に保持して、実際のDOMと同期させるというプログラミング上の概念のことです。 仮想 DOM (virtual DOM; VDOM) は、インメモリに保持された想像上のまたは「仮想の」UI 表現が、ReactDOM のようなライブラリによって「実際の」DOM と同期されるというプログラミング上の概念です reactjs ...と言っても、これだけだとちょっと難しいですよね。 なので、仮想DOMについて解説する前に、まずはDOM操作とレンダリングの関係について先に解説します。 DOM

    100秒で理解する仮想DOM
  • ポスト資本主義におけるソフトウェアエンジニア

    1. はじめに 企業に務めるソフトウェアエンジニアにとって、生産性向上というフレーズは聞かない日がないほど身近なものです。私自身も日々の仕事が、チームや組織の生産性向上に寄与するかどうか、意識しながら働いています。そもそもソフトウェアエンジニアという仕事は、人を機械に置き換えるという性質上、生産性向上とは切っても切り離せないという関係性を超え、生産性を向上させる営みそのものと言っても差し支えありません。 では私たちソフトウェアエンジニアのDNAである生産性向上の出自は何処かと探っていくと、どうやら資主義と共に拡大してきたイデオロギーであることが分かります。資主義は無限の成長を志向するエンジンを内蔵しており、現在先進国に住まう私たちの生活の豊かさは疑いなく資主義の恩恵に依拠しています。その一方で、200年以上稼働し続けるこの資主義というシステムについて、昨今多くの学者と有識者がその綻

    ポスト資本主義におけるソフトウェアエンジニア
  • monorepo開発を快適にするツール選定

    先日、location-stateというパッケージについての記事を公開しました。 履歴に基づいて状態を復元できるReact系ライブラリで、現在はNext.jsを重点的にサポートしています。このライブラリの構成はcoreとなる部分とNext.js依存な部分を切り離しscoped packageとし、内部構成もこれに合わせていわゆるmonorepo構成で開発を行なっています。 @location-state/core: coreとなる部分 @location-state/next: Next.js依存な部分 この記事では、monorepoのパッケージ開発を快適にするために実際に採用したツールを紹介していきます。稿で紹介するツールは以下になります。 pnpm turborepo tsup changesets Renovate pnpm まずパッケージマネージャーですが、個人的に最近はpnpm

    monorepo開発を快適にするツール選定
  • フロントエンドにおける「単体テストの考え方/使い方」

    稿における「単体テスト」とは自動テストにおける単体テストを指します。手動テストのことではないので、ご了承ください。 単体テストの考え方/使い方というを読みました。筆者自身、「単体テストはプロダクションコードの付属」という意識がどこかにありました。このを読んで、単体テストについてあまりに何もわかってなかったことに気付かされ、単体テストの設計はプロダクションコードの設計と同じくらい重要という意識に変わりました。何のために単体テストをやるのか、いいテストとは、「単体」とは、など多くの点で学びを得られ、また、多くのプラクティスとアンチパターンを知ることができました。 稿はこのを読んで得られた学びを、フロントエンド開発、特にコンポーネント開発に適用することを試みた際のまとめです。より詳細な解説を求む方にはを手に取ってもらう前提で、できるだけポイントを抑えられるようにまとめることを目指しま

    フロントエンドにおける「単体テストの考え方/使い方」
  • 晩年のIEに思いを馳せる

    昨年くらいから多くのプロダクトでIE11のサポート終了が盛んになり、今年はIE11自体がサポートを来年終了することを発表したり、Google検索のIEサポート終了があったり、1つ大きな時代の節目のようなものを感じる1年でした。 IEは最盛期は95%近くのシェアを占めていたそうですが、2021/10時点のデータではIEのシェアはPCで4%程度とやはりだいぶシェアも落ちてきた印象もあるし、そもそも昨今はスマホブラウザの流入が多いプロダクトなんかではIE対応自体ほとんどやってなかったという方も多いのかもしれません。 僕は昔IE7までは対応したことがあり、当時の感覚で言うとIE11って相当バグや特殊な仕様が少ない方だったイメージだったのですが、下記のIEサポートを終了すると使える機能一覧を見るとやはり数年の進化の差は大きくすでにだいぶ取り残されてる状態だったのだなと思います。 一方、「Safari

    晩年のIEに思いを馳せる
  • 1