並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 32 件 / 32件

新着順 人気順

immutable.jsの検索結果1 - 32 件 / 32件

  • 新規事業開発での技術選定の意思と意図 (フロントエンド編) - Sansan Tech Blog

    こんにちは、関西支店で新規事業開発室に所属するソフトウェアエンジニアの加藤です。Bill Oneという新規サービスの開発に携わっています。 バックエンド編の続きとして、フロントエンドで私たちが使用している技術やライブラリを振り返って、どんな意志と意図があるかを確認していきます。 Bill Oneは今年の1月ごろにピボットし、それまで開発してきたフロントエンドを全て捨て、1から作り直しました。ピボットの際に改めて技術選定を行い、それまで使っていたライブラリ等を見直したので、本稿ではピボット前後で変化した箇所を中心にフロントエンドの技術選定を紹介します。 前提 改めて前提です。私たちのチームで開発しているBill Oneは今年の5月にローンチしたばかりのサービスで、チームのエンジニアは5名です。開発しているアプリケーションはSingle Page Application (SPA) で、エンジ

      新規事業開発での技術選定の意思と意図 (フロントエンド編) - Sansan Tech Blog
    • 💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita

      ここ数年の流れについて 技術的側面 Webフロントエンド(ほぼTypeScript&React界隈)において、オブジェクト指向(厳密に言うとクラスの利用)から脱却する流れがあります。原因は以下の2点。 クラスの継承の問題点が(IT業界全体に)広く定着したこと JS/TSの進化、Reactの進化、関数型言語の考え方などの影響により、クラスを用いてデータと関数群を紐づけるメリットが薄くなったこと 現状、設計レベル(実務的にはどの関数を纏めてモジュール化するのか、モジュール同士をどう繋ぎ合わせるのか、フォルダ割りどうするのか等)のノウハウがまだ固まっておらず、既存の設計論はそれなりに有効です。 コミュニティ的側面(政治) これらの流れはWebフロントエンドの中でもTypeScript&Reactの界隈が主導しており、そのノウハウは長年絶対視されてきたオブジェクト指向を解体するような内容であったた

        💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita
      • Meta の新しいリッチテキストエディターフレームワーク Lexical を調べる

        Brand-new Rich Text Editor Framework! 先日 Meta から新しいリッチテキストエディターのフレームワーク Lexical の OSS 化が発表されました。 一方で、 Meta が開発していた既存の React 用リッチテキストエディターフレームワーク Draft.js はアーカイブが決定されました。 実は自分は業務で Draft.js をめちゃくちゃ使っていて、発展に期待しつつウォッチしていたので開発が終了してしまうのが非常に残念ではあるのですが、代わりにより高度に抽象化されたフレームワークが公開されたのでこれはマスターするしかありません。 ということで調べたことをまとめていこうと思います。 執筆時点(2022 年 4 月)では正式リリースされていないので、本稿のサンプルコードは参考にならなくなる可能性があります。 概要 エディターを作るためのフレーム

          Meta の新しいリッチテキストエディターフレームワーク Lexical を調べる
        • 【forが嫌い!可読性を上げたい!】楽するために学ぶ配列の高階関数(map, filter, reduce等) - Qiita

          【forが嫌い!可読性を上げたい!】楽するために学ぶ配列の高階関数(map, filter, reduce等)JavaScriptリーダブルコード高階関数 複雑すぎるforの処理に悩まされたことはありませんか? プログラミング習いたての頃、forに悩まされた記憶はありませんか? また、業務で複雑すぎるfor文を見て、これくらい理解できないとやっていけないのか…と悩んだ記憶はありませんか? 実はそのfor…もっと読みやすい書き方が出来て、簡単に読めるとしたら楽じゃないですか? いやいや、単にもっと楽したくありませんか? 今回は個人的に「苦手なfor文」の書き換え(map, filter, reduce等)について、短くなるだけじゃないところを紹介したいと思います。 コードを読む事に神経をとがらせて疲弊したくない人には、オススメしています。(頭を使う労力が減ってると信じたい...) 本記事につ

            【forが嫌い!可読性を上げたい!】楽するために学ぶ配列の高階関数(map, filter, reduce等) - Qiita
          • Immutable.jsとImmer、ちゃんと使い分けていますか?

            昨今のフロントエンド開発では、データをイミュータブルなオブジェクトとして扱うのが主流です。すなはち、データが変わるときはオブジェクトを書き換えるのではなく、新しいデータを持った新しいオブジェクトを作ります。最近ではオブジェクトがデータとしてプログラムのあちこちで取り回されることが増えて、一度余所に渡されたデータの中身が後から変更されるのは混乱をきたし設計が困難になるというのが主な理由です。 データを変更するたびに新しいオブジェクトを作るのは、特にデータが複雑になったりネストしたりしていると面倒だしプログラムの見通しが悪くなります。そこで使われるのが、データをイミュータブルに扱うためのライブラリであるImmutable.jsとImmerです。 データをイミュータブルなものとして扱うという目的はどちらのライブラリでも達成することができますが、現在では Immer のほうが開発が活発であり、独自

              Immutable.jsとImmer、ちゃんと使い分けていますか?
            • 実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog

              Wantedlyではこのたび、フロントエンドアプリケーションのひとつをNative ESM化しました。本記事ではNative ESM化の必要性と、必要な作業について説明します。 この記事の概要Node.jsにはNative ESMというモードがある。Native ESMはまだ普及していないが、ライブラリ側の更新が進み、移行が必要になりつつある。Native ESMをめぐる状況は (この記事の長さからわかるように) 色々複雑で、概念をちゃんと説明するだけでも大変。Native ESMへの移行にあたってはさまざまな困難が待ち受けている。Native ESMとは歴史的経緯から、JavaScriptには複数のモジュールシステムがあります。そのうちNode.js周辺でよく使われるのはCommonJS ModulesとES Modulesです。 CommonJS Modules (CJS) は実質的に

                実践 Node.js Native ESM — Wantedlyでのアプリケーション移行事例 | Wantedly Engineer Blog
              • WYSIWYGエディターの状態抽象化とReactとのつなぎ込み - 良いクロスブラウザエディターを目指して | Wantedly Engineer Blog

                まえがきブログや記事を投稿するWebサービスには、殆どの場合、リッチなエディター機能が備わっています。特に、記事を見た目通りに書けるエディターは、WYSIWYGエディターと呼ばれ、記事を書く際には欠かせない機能の一つです。 Wantedly にもストーリーと呼ぶ記事を投稿する機能があり、その記事投稿部分では、WYSIWYGエディターを実装しています。 では、どのようにWYSISYGエディターを開発していくのでしょうか。この記事では、エディターの機能を実際に開発するための基礎知識と実装について書いていきます。 今回話すエディターについて今回記事で指すエディターとは、 WYSIWYGエディターを想定しています。例えば、Dropbox Paper や google docs、Medium、Note などのエディターがそれに該当します。Qiita や Zenn のような 2カラムの Markdow

                  WYSIWYGエディターの状態抽象化とReactとのつなぎ込み - 良いクロスブラウザエディターを目指して | Wantedly Engineer Blog
                • React HooksのuseCallbackを正しく理解する - Qiita

                  はじめに React HooksのuseCallbackは、イベントハンドラ(コールバック)を使うときは無条件に使うものだと思っていませんか。実際にはコールバックが「ある条件をみたす」ときに使うべきもののようです。このある条件を整理して明確にするために記事を書きました。 useCallbackとは何か useCallbackは、useMemoのような、重い計算を回避しキャッシュを使うというような効率向上のための仕組みではありません。useCallbackに渡す関数内で行なう計算の重さはまったく無関係です。 useCallbackがやることは、「コールバック関数の不変値化」です。 「関数を決定する処理のメモ化」と言えるかもしれません。アロー式は原理的に常に新規関数オブジェクトを作ってしまいますが、useCallbackは「意味的に同じ関数」が返るかどうかを判別して、同じ値を返す関数が返るべき

                    React HooksのuseCallbackを正しく理解する - Qiita
                  • TypeScriptの表現力で自由なJavaScriptに立ち向かう 〜 Immutable.js 編 〜 | Wantedly Engineer Blog

                    WantedlyのDX (Developer Experience) Squadでエンジニアをしている原 将己 (qnighy) です。 Immutable.jsというライブラリを使っているJavaScriptコードをTypeScript化するにあたって、既存の型定義では不十分だった箇所を独自に修正しました。このときしたことがTypeScriptの知見として面白いと思ったので紹介します。 Immutable.js とはImmutable.js はFacebookが開発している永続データ構造 (純粋関数型データ構造、不変データ構造) のJavaScript実装です。配列 (List), Map, Set などが実装されていますが、データ構造に対する変更操作は全て「新しい状態を返す関数」の形で提供されています。 import { List } from "immutable"; const u

                      TypeScriptの表現力で自由なJavaScriptに立ち向かう 〜 Immutable.js 編 〜 | Wantedly Engineer Blog
                    • 【2024年版】JavaScriptのおすすめライブラリ&フレームワーク40選

                      【2024年版】JavaScriptのおすすめライブラリ&フレームワーク40選 JavaScriptのライブラリやフレームワークを使うことで、幅広い特徴と機能により、ウェブサイトやアプリケーションの開発が容易になります。これを可能にしているのが、JavaScriptの動的で柔軟であるという特性でしょう。2020年に実施されたStackOverflowの調査によると、JavaScriptは回答者の67.7%が使用しており、最もよく使われているプログラミング言語として記録を更新(8年目)しています。 その汎用性の高さから、バックエンドとフロントエンド両方の開発やテストに利用できます。その結果、さまざまな目的に対応する数多くのJavaScriptライブラリやフレームワークを見つけることができます。それゆえに、プロジェクトでどれを利用すべきかと迷ってしまうこともあるでしょう。 しかし、心配はご無用

                        【2024年版】JavaScriptのおすすめライブラリ&フレームワーク40選
                      • ECMAScript Record & Tuple polyfill はどのようにして実装されているのか | Wantedly Engineer Blog

                        Record & Tuple とはRecord & Tuple は ECMAScript (JavaScript) に対する提案段階の機能で、構造化データのためのプリミティブ型を提供するというものです。RecordはObjectのプリミティブ版、TupleはArrayのプリミティブ版にあたります。 プリミティブとオブジェクトJavaScriptにおける値はプリミティブとオブジェクトの2種類に分けられます。 プリミティブはイミュータブルで、値の同等性にもとづいて比較されます。既存のプリミティブとして、null, undefined, number, string, boolean, bigint, symbol が存在しています。オブジェクトはデフォルトでは書き換え可能で、参照の同一性にもとづいて比較されます。これまで、複数のスカラー値をまとめて構造化データとして扱うには、オブジェクト (主

                          ECMAScript Record & Tuple polyfill はどのようにして実装されているのか | Wantedly Engineer Blog
                        • Go 1.18集中連載 ジェネリクス | フューチャー技術ブログ

                          ジェネリクスGo 1.18で入る機能で注目度が高い新機能がジェネリクスです。Goに対する批判的な言葉としてよく使われるものが「ジェネリクスがない」というものでした。Goを長く使っている人は「ジェネリクスなんていらん」と言い続けてきたし、個人的にもいまだになくてもいいと思っているのですが、大きな変更であるし、これから影響もいろいろある領域ですので学ぶ必要はあるでしょう。自分で書かなくても、書かれたコードを読むこともあるでしょうし。 ジェネリクスのチュートリアルが追加されています。 https://go.dev/doc/tutorial/generics mattnさんの動画もあります。 文法的には基底型を表すチルダ演算子が増えたりいろいろ変更が入っています。 とはいえ、constraintsパッケージが1.18に入る予定だったのが、一旦準標準パッケージに格下げされたり、まだまだいろいろ変更が

                            Go 1.18集中連載 ジェネリクス | フューチャー技術ブログ
                          • クラスを使わないアプリを実際に作ってみた気付き

                            クラスを使わないアプリを実際に作ってみた気付き ども、北米でお勉強してる Nash です。 この記事は「クラスを使わないでアプリケーションを作ってみたことによる気付き」をまとめた記事です。 クラスを使わないアプリを作った 先に結論だけども、「クラスなしでモデルを表現する」はあまりおすすめできないので素直にクラスを使ってください。個人的には immer と併用するのが良いかと思う。 試しにクラスなしで関数+JavaScript Plain Objectだけのプロジェクトを1つ作ってみたけど、シンプルになる反面どこでもObjectを書き換えられるのでキチンと書かないと速攻でスパゲッテイになるのでやっぱりクラスないと怖い — Nash⚡️北米でコード書いてる (@snamiki1212) March 2, 2021 ということで、1つずつ見ていく。 何を作ったの 『Plangoab』という海外留

                            • なぜバックエンドTypeScriptか?技術選定背景と実践例を紹介します - KAKEHASHI Tech Blog

                              カケハシの医薬品発注管理最適化領域の新規事業の開発を担当している木村です。今回は新しいサービスを構築する上で行った技術選定と実践方法の話をします。 技術選定に関しては、インフラ関連やライブラリなど選定した技術は多岐にわたるのですが、その中でも「なぜバックエンドでTypeScriptを導入したか」を中心にお話します。2つのチームでの技術選定に関わり、どちらもTypeScriptを導入するに至りました。2022/03時点では社内の5つのサービスでバックエンドTypeScriptが採用されていることを観測しています。 実践方法に関しては、技術選定の過程で明らかになったシステム特性に対するアプローチを紹介します。 全社的な技術選定方法 カケハシではビジネスドメインで開発チームを分割し、開発チームが自走化できるように組織がデザインされています。技術選定についても開発チームに裁量があります。 技術選定

                                なぜバックエンドTypeScriptか?技術選定背景と実践例を紹介します - KAKEHASHI Tech Blog
                              • pixiv SketchのSSRをFluxibleからNext.jsにリプレースしました! - pixiv inside

                                pixiv SketchのWeb版はReact + FluxibleでSSRを実現していました。 今回、FluxibleというライブラリをRedux Toolkit + Next.jsでリプレースした話をさせていただこうと思います。 このリプレースで狙った効果は、クライアントサイドのパフォーマンス向上と、開発容易性・メンテナンス性の向上の2つです。 背景 Next.js化前、つまりFluxibleの時点での状態として以下のものがありました。 Fluxibleの開発が止まってしまっている・Fluxibleの知見が少ない 致命的なバグや脆弱性があったときに対応できない FluxibleはReact 15.x までしか対応しておらず、16以上はサポート対象外 Storybookのstoryにできるコンポーネントと、できないコンポーネントにわかれてしまう コンポーネントにFluxible由来のアク

                                  pixiv SketchのSSRをFluxibleからNext.jsにリプレースしました! - pixiv inside
                                • 静的型付けでnull安全なAltJSの評価と選定

                                  2019年09月版. 静的型付けでnull安全なAltJSの評価と選定. 比較整理する必要があったので比較しました. 間違っている所などの指摘を受けたいので広く公開します. ちなみに私は2015年頃はDartを推していたようですね. 当時のTypeScriptはstrictNullChecksも@typesも無かったのであまり魅力的に感じなかったようです. 私の提言 結論から書きます. 個人的にはPureScriptを推したいですが, 流石に他の人にとっては学習コストが大きすぎると思ったので, 基本的に以下のような感じに選ぶと良いと思いました. 外部ライブラリの使用がメッセージ単位でまとまる程度に収まる → Elm Reactを使いたい → Reason VueやAngularなどReact以外のフレームワークをガッツリ使う, Node.jsをサーバーサイドでメインで使う, 小規模なスクリ

                                    静的型付けでnull安全なAltJSの評価と選定
                                  • Awesome React - Reactのオススメ記事・ライブラリ・ツール まとめ - - Qiita

                                    この記事は次の日本語訳です(Reactの部分のみ抜粋) https://github.com/enaqx/awesome-react 公式 React Official Website React Documentation React GitHub コミュニティ Reactiflux Discord Channel React StackOverflow React Twitter オンラインでReactのコードを試せるサービス CodePen CodeSandbox JSFiddle チュートリアル Reactのチュートリアル React Official Tutorial - 公式 Using React in Visual Studio Code - ReactをVSCodeで使う Scrimba - Learn React for free interactively - Scr

                                      Awesome React - Reactのオススメ記事・ライブラリ・ツール まとめ - - Qiita
                                    • memo? useCallback? パフォーマンスが気になる JSXer には SolidJS がオススメ - Qiita

                                      memo? useCallback? パフォーマンスが気になる JSXer には SolidJS がオススメJavaScriptTypeScriptフロントエンドReactSolidJS パフォーマンスなんか気にしたくない Give a man a bug and he'll work for a day. Give a man a benchmark and he'll work for a lifetime.1 https://twitter.com/awesomekling/status/1318615899910307850 パフォーマンスなんかに気をとられながら実装したくないんですよ。 React の memo() や useCallback() のような最適化のためだけの API を呼ぶ呼ばないで 1 ミリ秒も悩みたくないんです。そんな API は存在しないでほしい。 でも気に

                                        memo? useCallback? パフォーマンスが気になる JSXer には SolidJS がオススメ - Qiita
                                      • Redux Starter KitでHooksとReduxを使いこなそう - Qiita

                                        Redux Sterter KitはRedux-Toolkitに名称変更されてAPIも変更されています。本記事はそのままでは最新版redux-toolkitとして動作しません。 https://github.com/reduxjs/redux-toolkit はじめにReact-Reduxの公式から「Redux Starter Kit」というものが公開されています。 これがなにかといえば、私の理解するかぎり以下です。 React-Reduxまわりのベストプラクティス、定番拡張、定番併用ライブラリ、定番ミドルウェアを、簡単に組込むための簡単で軽めのライブラリ、メタパッケージ。 CLIコマンドではなくライブラリです。 これは良いものだと思いましたので全力でお勧めしていきます。 特徴 TypeScriptフル対応。当然ですね。 React Redux 7.1対応、つまりHooks対応。これからは

                                          Redux Starter KitでHooksとReduxを使いこなそう - Qiita
                                        • Jotai vs. Recoil: What are the differences? - LogRocket Blog

                                          Yaroslav Lapin I'm a self-taught software engineer with over 10 years of experience. I like Elixir/Erlang and React/TypeScript. You can follow me on Twitter @JLarky. It’s practically a meme at this point that React has too many state management libraries, but no one is going to stop creating new ones anytime soon. It looks like apart from using plain old React state, approaches for state managemen

                                            Jotai vs. Recoil: What are the differences? - LogRocket Blog
                                          • AtCoder Problems を支える技術 (2019年版) - 宇宙ツイッタラーXの憂鬱

                                            adventar.org AtCoder Problems とは? AtCoder Problems とは AtCoder の提出をクロールして管理しているウェブアプリです。 https://kenkoooo.com/atcoder/ AtCoder Problems の主な機能 AtCoder の各問題について自分が AC したかどうかを管理 他のユーザーとの比較も可能 問題の検索 AC/非ACで絞り込み AtCoder公式の点数で絞り込み 独自に算出したDifficultyで絞り込み 問題タイトル・コンテスト名・FAユーザー・最短ユーザー・最速ユーザー・etcで検索 ユーザーダッシュボード AC数や連続新規AC日数などの確認 各種公式コンテストの埋め具合を確認 毎日のAC数の確認 自分の提出一覧 各言語でのAC数 Difficultyを基にした問題推薦 ランキング AC数ランキング A

                                              AtCoder Problems を支える技術 (2019年版) - 宇宙ツイッタラーXの憂鬱
                                            • Webアプリケーションフレームワーク「Angular 10」リリース | OSDN Magazine

                                              Web開発フレームワークAngular開発チームは6月25日、最新のメジャーリリースとなる「Angular 10」を公開した。 AngularはTypeScriptベースのWebアプリケーション開発フレームワーク。Web、モバイル、デスクトップ向けのアプリケーション開発ができる。主要な統合開発環境(IDE)でサポートされており、宣言的なテンプレート、RxJSやImmutable.jsなどのプッシュモデルを使うことができる。 Angular 10は2月に公開されたAngular 9に続く最新のメジャーリリース。開発期間は通常よりも短く、変更点も小規模なものに留まっている。 Angular Materialで、データの範囲を指定できるData Range Pickerが加わった。また、CommonJSスタイルでのライブラリのインポートにはアプリケーションが肥大化し性能が低下するという懸念がある

                                                Webアプリケーションフレームワーク「Angular 10」リリース | OSDN Magazine
                                              • 【TC39 Proposals】New Set methods - Qiita

                                                注意書き 2019 年 10 月 9 日に開催の #tc39_study 用に作成した資料です。 執筆時点で TC39 の Proposals に上がっている機能を紹介します。 将来的に JavaScript(ECMAScript)に取り入れられるかもしれませんし、取り入れられないかもしれませんし、紹介内容から仕様が大きく変更になるかもしれません。 TC39 の承認プロセスについては、https://tc39.es/process-document/ をご覧ください。 現状の Set オブジェクトには、要素の追加・削除、要素が集合に含まれているかの基本的な操作しか提供されていません。 この Proposal は Set オブジェクトに集合操作のメソッドを追加するものです。 他の言語や Immutable.js などのライブラリで使われているものと同等の機能を標準に取り入れます。 執筆時点で

                                                  【TC39 Proposals】New Set methods - Qiita
                                                • 2020.06のReactでReduxは必要なのか - Bouldering & Com.

                                                  基本的にはstateはコンポネントに閉じ込められて使うべきで外に影響が染み出していくのはよくない。なので、useStateでシンプルに使うだけなのが一番良い。hooksがあるのでいろんなことがとてもシンプルにできるようになった。 とはいえ、遠いコンポネントと連携させたいケースや、認証状態のようなグローバルで共有したいというものがあるケースも理解できる。あとはキャッシュとか。 新しく入った開発プロジェクトでReactを使っているので、そういう時にどういう選択肢があるのかを整理してみた。 React使うのは3年ぶりくらい。前に使ったときはflux-utils, flow, immutable.jsとかで満足していた。今回のも、なるべく長期で育てていきたいプロジェクト。 今回の結論 頻繁に更新される情報やキャッシュしたいものはRedux ToolKitで書いたReduxで管理して、システムグロー

                                                    2020.06のReactでReduxは必要なのか - Bouldering & Com.
                                                  • 2021-10-12のJS: npm 8.0.0(Node.js 16に同梱)、jQuery Mobileの非推奨化/jQuery UIはメンテナンスモードへ、ESLint 8

                                                    JSer.info #561 - npm 8.0.0がリリースされました。 Release v8.0.0 · npm/cli Node.js 10のサポート終了、Node.jsモジュール(require("npm"))として利用する方法がサポート終了となっています。 既にNode v16.11.0に含まれているため、2021-10-26にリリース予定のNode.js 16 LTSにnpm 8が含まれる予定です。 deps: npm@8 · Issue #40168 · nodejs/node jQuery UI 1.13.0がリリースされました。 jQuery UI 1.13.0 released | jQuery UI Blog jQuery 1.7以下のサポートを終了し、1.8以降の最新のバージョンを含むjQueryに対応しています。 このリリースをもって、jQuery UIはメンテナ

                                                      2021-10-12のJS: npm 8.0.0(Node.js 16に同梱)、jQuery Mobileの非推奨化/jQuery UIはメンテナンスモードへ、ESLint 8
                                                    • useEffectlessState for data fetching with React hooks | Notes of Maks Nemisj

                                                      Have you ever been into a situation where you wanted to do something with your state inside useEffect hook but didn’t want to put it into a dependency array? react-hooks/exhaustive-deps is an excellent guard when working with primitive values, but as soon as you have an object in the state, it might stay on your way. Let me show you some code, which requires state handling in the way I’ve describe

                                                      • Draft.js と Slate.js と CodeMirror の感想

                                                        幾つかの Web サービスや Electron ベースのアプリに組み込むエディタを実装するにあたって、Draft.js、Slate.js、CodeMirror を試してきて得た情報について、個人の感想を述べる。今更感があるので、ライブラリそのものについての解説はしない。 冒頭で挙げている三つのライブラリの中では、単純に Server-Side Rendering してもエラーを出さず、普通に動くところが良かった。単純に動かないタイプのライブラリでは、例えば React ではライフサイクルイベントのコールバックである ComponentDidMount メソッドを利用するなどして、クライアントサイドのみでエディタが描画されるように工夫しなければならない。 Draft.js でエディタのスタイルを変更するには、Decorator という、描画前の内部データを DOM 要素へと変換する変換器を与

                                                          Draft.js と Slate.js と CodeMirror の感想
                                                        • ECMAScript proposal: iterator helpers

                                                          Update 2022-12-15: New section “How will this proposal affect future JavaScript APIs?” In this blog post, we look at the ECMAScript proposal “Iterator helpers” by Gus Caplan, Michael Ficarra, Adam Vandolder, Jason Orendorff, Kevin Gibbons, and Yulia Startsev. It introduces utility methods for working with iterable data: .map(), .filter(), .take(), etc. The style of the proposed API clashes with th

                                                          • イミュータブルにデータを扱うライブラリと Stage 2 Record & Tuple

                                                            【2023/05/05 変更】 ES2023 Change Array by Copy の議論によって Array に追加するメソッドが減り、同様に Tuple から取り除かれた pushed や sorted などの独自メソッドについての記述を削除 Symbols as WeakMap keys が ES2023 となったため修正 0, -0, NaN の等価性、同値性が決まったため修正 JSON.parseImmutable が別提案としてスプリットされたため修正 支持されなかった Box についての記述を削除 JavaScript におけるイミュータブル、ミュータブル JavaScript においてプリミティブはイミュータブル、つまり変更不可能です。 一方でオブジェクトは基本的にミュータブル、つまり変更可能です。Object.freeze を使って凍結することは出来ますが、アクセサプ

                                                              イミュータブルにデータを扱うライブラリと Stage 2 Record & Tuple
                                                            • 2021-07-06のJS: TypeScript 4.4 Beta、immutable-js 4.0.0-rc.13、petite-vue

                                                              JSer.info #547 - TypeScript 4.4 betaがリリースされました。 Announcing TypeScript 4.4 Beta | TypeScript Control Flow Analysisの改善され、Type Gurdeの結果を変数に入れてから扱うようなAliasのケースも正しく推論されるようになっています。 また、Index SignaturesにSymbolやTemplate Stringを利用できるようになっています。 Catch節のデフォルトをunknown型にするuseUnknownInCatchVariablesオプションの追加と optionalとundefined値の区別をするexactOptionalPropertyTypesオプションの追加されています。 その他には、declarationの生成やstrictモードでのビルドパフォー

                                                                2021-07-06のJS: TypeScript 4.4 Beta、immutable-js 4.0.0-rc.13、petite-vue
                                                              • Immutable.jsを使うメリット - Runner in the High

                                                                先日、新卒で入ったエンジニアが 「Immutable.jsの研修課題をやってるんですけど、正直なんで必要なのか分かんないっす」 と言っていた。 たしかに React, Redux と Immutable.js をセットでつかおうみたいなノリの記事はネットでよく見るが、じゃあなんでそのセットなの?という点に関してはあまり詳しく書かれていないことのが多い気がしたので、個人的にその理由っぽいのを雑に書き残しておこうと思う。 イミュータビリティのいいとこ コーディング・バグを減らす 言語仕様上ミュータブルな JavaScript は、大勢で開発してるとこっそりどこかで参照を持ったオブジェクトを書き換えてた、なんてことになりやすい。なのでデータを更新する際にはイミュータブルであることが保証できるとバグが起こりにくいコードを書ける メモリ効率がいい イミュータブルなオブジェクトは中身が同じなのでコピー

                                                                  Immutable.jsを使うメリット - Runner in the High
                                                                • Adopting React in the Early Days | .cult by Honeypot

                                                                  Sébastien Lorber from 'This Week in React' talks about his brush with React in the early days. IntroWhen ReactJS was first announced in 2013, it was not an instant success. At least, I personally took a glance and dismissed it quickly. I finally changed my mind just a few months later. I've now been using React for over 9 years and even created a popular newsletter called This Week In React. But a

                                                                    Adopting React in the Early Days | .cult by Honeypot
                                                                  1