タグ

ブックマーク / qiita.com/jkr_2255 (5)

  • React Hooksでたどる、stateからreducerまで - Qiita

    はじめてReduxの流れを見たときに、複雑さで戸惑いましたが、Reactの状態遷移でいろいろやっていった結果、より基礎的なところから組み立てたほうが、Reducerという世界観を理解できる気がしてきました。 なお、後述の事情により、React Hooksで進めています。また、説明のために必要な箇所を除いて、useCallbackは省略します。 useStateの基 シンプルな値の格納 React.useStateを使えば、stateとそれを設定する関数を得ることができます。 const [state, setState] = React.useState(0); <button type="button" onClick={() => setState(1)}>1をセット</button> 「値の設定」と「取得」という、状態を記憶させる上で基となる機能です。 前の値を使った更新 将来の

    React Hooksでたどる、stateからreducerまで - Qiita
  • セッション管理の要注意点 - Qiita

    Webアプリを開発するに当たって、「自分でセッションを書きたい」なんて思う人はおそらく1%もいないでしょう。とはいえ、標準で備わっているセッション機能に問題や機能不足があって、手を入れざるを得なくなる、という場面も多々存在してしまいます。ここでは、セッションまわりでよく問題になる部分について触れてみましょう。 そもそも、セッションとは Webアプリにおけるセッションは、 接続ごとに固有の識別子(セッションID)を割り当て、その接続を使った通信のたびにセッションIDを送受信する セッションIDと紐付ける形でデータを持って、アクセスごとに値を読み出す。 データが書き変われば、書き戻す。 というような流れで、「接続ごとにデータを保存する」ということを実現しています。 セッションとCookie 上の1にあるような「通信のたびにセッションIDを送受信する」ために使われるのがCookieです。ただ、C

    セッション管理の要注意点 - Qiita
    michael26
    michael26 2017/03/20
  • インスタンスメソッドと同名のクラスメソッド - Qiita

    Rubyで普通に使っていた(というより標準ライブラリにすらArray.[]とArray#[]がまったく別目的で定義してあるぐらいの)「インスタンスメソッドと同名のクラスメソッドを作ること」ですが、言語によってできるできないが分かれることに気づきました。 できない言語 PHP はじめはPHPで似たようなことをやろうとして、行き詰まったところでQiitaの記事にたどり着きました。結局、クラスメソッドもインスタンスメソッドも「同じクラスで定義されるメソッド」なので同名にはできない、ということでした(両方をマジックメソッドで対応するなら別ですが)。 C++ PHPでできなかったところで、C++でも試してみました。 class Foo { public: void hoge() {} static void hoge() {} }; int main() { return 0; }

    インスタンスメソッドと同名のクラスメソッド - Qiita
    michael26
    michael26 2016/12/07
  • Reflowを制するものはDOMを制す - Qiita

    すごい記事が1日目2日目で来ている中で恐縮ではありますが、フロントエンドJavaScriptでパフォーマンス点から気にしたほうがいい部分について書いてみることにします。 DOM律速になるケースもある よく「JavaScriptが遅い」ということも多いのですが、具体的にはどのあたりが遅くなってくるのでしょうか. 純粋にJavaScriptのスクリプト処理が遅い…最近はブラウザ自体も高速化しては来ましたが、それを追いかけるようにJavaScriptの巨大化も進んでいます。ただし、純粋にプログラム言語的な処理なら、Web Workerに振ることで並列化が可能です。 Ajaxや画像読み込みなどの通信が遅い…サーバ側で高速化する手もありますが、状況によってはJavaScriptで先読みを始めておいて、体感時間を短くすることも可能かもしれません。 DOM操作・表示が遅い…これについて今回考えてみます。

    Reflowを制するものはDOMを制す - Qiita
  • 手書きしたほうが速いメソッドと疎な配列 - Qiita

    JavaScriptで配列を駆使するようなプログラムを書くことも多いですが、状況によっては標準のメソッドを使うより、手書きでループを回したほうが速いこともあります。 Qiitaの記事を読んでいて 少し前に投稿されたTypeScriptの記事を見ていたのですが、その中で、 重大なボトルネックとなりうるため全体で100msに1回以上の間隔で実行される場合を除き以下のメソッドを原則使用禁止とする。 Array#concat Array#slice Array#splice なんていう記述がありました。さすがに「え、そうなの?」と思いましたが、すぐ下に付いていたベンチマークは、たしかにそのような結果を示しました。 そうなる理由 もちろん、ネイティブに実装してあることもあるような標準メソッドが、JavaScript上に実装したものより遅いというのはさすがにおかしいので、調べてみました。すると、原因が

    手書きしたほうが速いメソッドと疎な配列 - Qiita
  • 1