inflearn logo
知識共有
inflearn logo

関数型プログラミングとJavaScript ES6+

ES6+と関数型プログラミングを学べる講義です。このコースでは、ES6+のイテラブル/イテレータ/ジェネレータプロトコルを詳細に扱い、応用します。 イテラブルに基づく関数型プログラミング、map/filter/reduce、パイプライン、ジェネレータによる遅延評価、Promise合成、同時性/並列性、async/awaitと非同期エラー処理などを学ぶことができます。このコースを習得して練習して、中級のJavaScript開発者に成長しましょう!

難易度 初級

受講期間 無制限

JavaScript
JavaScript
Functional Programming
Functional Programming
JavaScript
JavaScript
Functional Programming
Functional Programming

お知らせ

4 件

  • mduniv님의 프로필 이미지

    修正済み

    『コトリンマルチパラダイムイテレーション』は『マルチパラダイムプログラミング』の付録で、本書の一部内容をコトリン言語に特化して解き出した資料です。マルチパラダイムプログラミングは、特定の言語に限定されない言語に依存しない概念であり、現代のほとんどのプログラミング言語に適用できる方法論および技術です。

    見に行く:
    https://github.com/marpple/kotlin-multi-paradigm-iteration

    現代のプログラミング言語は、イテレーションについてオブジェクト指向、関数型、命令型の概念を統合し、それを有機的に動作させるための規約を提供します。 『マルチパラダイムプログラミング』では、タイプスクリプトを中心に関数型・コマンド型・リストプロセッシング・オブジェクト指向プログラミングを組み合わせて活用する事例を調べました。今回は、マルチパラダイム言語であるコトリン(Kotlin)のマルチパラダイムイタレーションを中心に、マルチパラダイムプログラミング言語の応用能力をさらに拡張していきたいと思います。

    コトリンはマルチパラダイムプログラミング言語です。オライリーメディアの副社長であり、いくつかの技術書の著者であるマイク・ルキデスは最近、彼の記事で、「私たちは関数型、オブジェクト指向、命令型パラダイムを提供するマルチパラダイム言語を効率的に使用する方法について学ぶべきだ」とし、「多くのツールが改善され、今、私たちはどのようによく使用するかを学びました。中にあったパラダイムを混ぜなければならない時だ」と言いました。

    このような環境が整った今、どちらかのパラダイムだけを使うのは、多分大きな機会を逃すことかもしれません。私たちが解決しなければならない問題の中には、関数型で解決することが優勢な場合があり、オブジェクト指向プログラミングで解決することがより優勢な場合もあります。プログラマは、もはや関数型が良いのか、オブジェクト指向が良いのか、静的型が良いのか、動的型が良いのかを議論する必要はありません。言語を作成し、標準を定義する団体と企業は、すでに1つの言語とプラットフォームで複数のパラダイムをサポートするようにしてきました。

    コトリンは、Iterable、Iterator、Sequence、Flow、Channelなどの構造を通じて、遅延評価と非同期コードを洗練し、柔軟に扱えることが特徴です。ここに拡張関数と豊富な標準ライブラリヘルパー関数を組み合わせて、単純なリスト巡回以上のさまざまなパターンをより簡潔に表現できます。これにより、別のライブラリなしで高レベルのリスト処理を実現できます。コトリン特有の精巧に噛み合った構造と柔軟な拡張性、豊富な利便性は、言語を使用する開発者に多くのインスピレーションと楽しさを与えます。ところで、もしこのような機能を十分に活用できていなければ、コトリンプログラミングが与える楽しさを完全に味わっていないのかもしれません。

    『マルチパラダイムプログラミング』の付録コンテンツである『コトリンマルチパラダイムイテレーション』では、『マルチパラダイムプログラミング』の一部の内容を、コトリンイテラブル、イテレータ、シーケンスをオブジェクト指向・関数型・コマンド型パラダイムを連結する観点から解きます。オブジェクト指向に設計されたイテレータとコマンドスタイルで書くシーケンスの関係を調べ、関数型拡張関数でシーケンスとイテレータであるオブジェクトを扱うコードを見てください。また、関数型拡張関数で演算を積んだシーケンスを命令型として扱い、再び関数型に切り替えながら、コトリンイテレーションが持つパラダイム切り替え能力を確認してみます。

    また、シーケンスとイテレータの遅延評価を深く把握し、LISPの哲学を借用してコードとデータを融合する視点を探求し、これらの技術の実践応用力を高める内容も取り上げます。また、柔軟で堅牢なコード構造を設計し、効率的で正確かつ安全に動作するコードを作成する方法を探求します。これにより、マルチパラダイム言語コトリンの多様な可能性を実感し、ソフトウェア工学とプログラミングの楽しみを一層深く味わえるきっかけになることを願っています。

    0
  • mduniv님의 프로필 이미지

    今回当社開発者のイ・ドヒョン様、チョ・ヒョンウ様がタイプスクリプトベースの関数型ライブラリであるfxtsを作成して公開しました。

    他のライブラリよりも型推論が良く、並行性プログラミングが簡単で、標準ECMAScriptにぴったり、エラーハンドリングに有利です!

    以下のfxtsサイトに行って、どのようなコンセプトと機能を持っているのかを確認してくださり、フェッハットに訪問して図形様とヒョンウ様のコードノウハウも確認していただき、スラックに来て多くの技術ノウハウ話に分けることができればと思います!

    Github: https://github.com/marpple/fxts

    Site: https://fxts.dev

    Slack: https://join.slack.com/t/fx-ts/shared_invite/zt-yw1x81zq-pNa8nM40X6mQAsu2L4m1Fw

    0
  • mduniv님의 프로필 이미지

    こんにちは。

    関数型ES6+の後続編である応用編講座をオープンしました。 6月18日まで割引中です。

    https://www.inflearn.com/course/関数型_ES6_アプリケーション

    機能型ES6+ 3編はデータベースを扱う予定です。

    ありがとうございます。

    0
  • mduniv님의 프로필 이미지

    こんにちは。ユインドンです。

    私の講義を聞いてくれた皆さん、ありがとうございました。

    私はこれまで2つの講義を作りました。

    1. JavaScriptで調べる関数型プログラミング(無料)

    - https://www.inflearn.com/course/関数型-プログラミング

    2. 関数型プログラミングとJavaScript ES6+

    - https://www.inflearn.com/course/functional-es6

    今回後続の「関数型プログラミングとJavaScript ES6+アプリケーション編」を製作することになりました。

    関数型プログラミングをどのように応用し、イテラブルプログラミングをどこまで書くことができるかを様々に用意しましたので、多くの関心をお願いいたします。

    現在6つのセクションまで完成しました。

    あらかじめ見学したい方はコードはご覧いただけます。

    https://github.com/indongyoo/functional-javascript-02

    製作が完了したらまたお知らせいたします。

    ありがとうございます。

    1

¥6,972