タグ

2021年8月22日のブックマーク (7件)

  • useCallbackはとにかく使え! 特にカスタムフックでは - uhyo/blog

    Reactには、パフォーマンス最適化のためのAPIがいくつかあります。具体的にはReact.memo、useMemo、そしてuseCallbackです。 React.memoで囲まれた関数コンポーネントは、propsが以前と変わっていない場合に再レンダリングが抑制されます。 また、useMemoやuseCallbackは、関数コンポーネント内での値の再計算を抑制する効果を持ちます。 これらは最適化のためのツールなので、「過度な最適化」を避けるように啓蒙する言説がよく見られます。 すなわち、ちゃんと当に最適化のために必要なところにだけこれらを使おうということです。 特に、React.memoはpropsが以前と変わっているかどうかを判定するためのオーバーヘッドがあるし、useMemoやuseCallbackもフック呼び出しのオーバーヘッドがあります。 意味がないところでReact.memo

    useCallbackはとにかく使え! 特にカスタムフックでは - uhyo/blog
  • [React] カスタムフックを作るときにこころがけていること | DevelopersIO

    私がカスタムフックを作るときにこころがけていることがいくつかあります(こうするべきだ、と主張するものではありません)。 React の Hooks にスタイルを合わせる - https://sbfl.net/blog/2020/08/21/use-react-hooks-easy/ 関数は useCallback で包む - https://blog.uhy.ooo/entry/2021-02-23/usecallback-custom-hooks/ テストをできるだけ書く React の Hooks にスタイルを合わせる React のカスタム Hooks をカジュアルに使ってコードの見通しを良くしよう 上記の記事に非常に影響を受けました。とてもすばらしい記事なので先に読んでおくことを強くおすすめします。 ここでは実際にカウントアップするカウンターを作ってみます。 export cons

    [React] カスタムフックを作るときにこころがけていること | DevelopersIO
  • React Hooksとカスタムフックが実現する世界 - ロジックの分離と再利用性の向上 - Qiita

    はじめに React HooksはReact 16.8 で追加された新機能であり、state などの React の機能をクラスを書かずに使えるようになります。 React Hooks以前は、ロジックの再利用がコンポーネントに依存してしまいロジック単独でのモジュール化が難しいという問題がありました。 しかしReact Hooksのカスタムフックという独自のフックを作成する機能を使うことで、Viewに依存することなくロジックだけを再利用することができるようになります。 この記事では、v1からv6まで改善していく様子を見て頂くことでReact Hooksの利用方法を紹介します。 今回の実例ではコンポーネントのコード量は以下のように削減されます。 実例紹介 コンポーネント間のページネーションを実装するuseLocalHistoryカスタムフックを作成します。 ブラウザのhistory APIのよ

    React Hooksとカスタムフックが実現する世界 - ロジックの分離と再利用性の向上 - Qiita
  • デスクトップマスコット「ロールちゃん」が高解像度になってMac App Storeに登場。

    Macデスクトップマスコット「ロールちゃん」が高解像度になってMac App Storeでリリースされています。詳細は以下から。 ロールちゃんはMacデスクトップ上に桜吹雪を降らせるアプリ「サクラ」などを開発しているSTUDIO-KURAが2005年頃から開発しているMac/iOS対応のデスクトップマスコットで、起動するとデスクトップにロールちゃんが現れコメントをくれますが、このロールちゃんが高解像度化され「ロールちゃん(MissRoll) 2.0」としてMac App Storeでリリースされています。 初めての方ははじめまして、ご存知の方はお久しぶりです。時の流れで起動しなくなっていた古のデスクトップマスコットが高解像度になって再登場。ロールちゃん(かわいい)が定期的に現れてありがたいお言葉をくださいます。クリックすると消えていきます。他に用途はございません。 ロールちゃん – M

    デスクトップマスコット「ロールちゃん」が高解像度になってMac App Storeに登場。
    anatofuz
    anatofuz 2021/08/22
    ロールちゃんじゃん!!!!!
  • 第32回 InnoDBインデックスの最大キー長について | gihyo.jp

    文字列型カラム(varchar型やchar型など)に対してインデックスを作成する場合に最大キー長があり、それはバイト数で管理されています。今回はいくつかのオプションやパラメータが、InnoDBのインデックスの最大キー長に対してどのように影響するかを紹介します。 InnoDBのファイルフォーマットによるインデックスの最大キー長の違い 基的には単一カラムインデックスの最大キー長は767バイトまで作成できます。特定の条件ではインデックスの最大キー長を3072バイトまで拡張することができます。その条件は以下のとおりです。 テーブル作成時に行フォーマットをDYNAMICまたはCOMPRESSEDに指定する。 innodb_file_per_tableパラメータをONに設定して、テーブルデータを個別のibdファイルに格納するようにする。 innodb_large_prefixパラメータを有効にする。

    第32回 InnoDBインデックスの最大キー長について | gihyo.jp
  • Rustを使ってRubyスクリプトをパックしてみる

    先日唐突にRubyスクリプトを実行可能な1ファイルにパックして単一実行ファイルにしたくなったので、色々調べて実装してみました。 なおRustとありますが主な実装はRustRubyバインディングであるrutieを使っています。 まずパックするにあたってRubyにはRubyVM::InstructionSequenceという存在があることを思い出しました。 RubyVM::InstructionSequence Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。 とありますが、具体的にはどんなものでしょうか。

    Rustを使ってRubyスクリプトをパックしてみる
  • [第89話]2.5次元の誘惑 - 橋本悠 | 少年ジャンプ+

    2.5次元の誘惑 橋悠 <隔週土曜更新!最新2話無料>アニメ化決定! 現実の女に興味無し!俺の嫁・リリエルは2次元にあり!そんな漫研部長・奥村の前に現れたのは…リアルなリリエル?ドキドキコスプレコメディ開幕! [JC19巻発売中]

    [第89話]2.5次元の誘惑 - 橋本悠 | 少年ジャンプ+
    anatofuz
    anatofuz 2021/08/22