背景・動機 業務でReduxを利用していますが、公式サイトに以下のようなコードが現れビビったので調べました。
背景・動機 業務でReduxを利用していますが、公式サイトに以下のようなコードが現れビビったので調べました。
この記事では、いくつかの簡単なサンプルを通して、関数型の React コンポーネントにおいて、レンダリングと副作用 Hook(useEffect)がいつ実行されるのかを検証してみます。 関数型コンポーネントのレンダリング 先に検証から得られたルールを要約すると、以下の通りです。 内部状態またはプロパティが変更されると、コンポーネントの関数が再実行される。 関数の結果が前回の呼び出し時と同じであれば、レンダリングは発生しない。 レンダリングが完了すると、useEffect が実行される。 3番目に関して、レンダリング完了後に必ず useEffect が呼ばれるのか、一回だけ呼ばれるのか、特定の内部状態をチェックして変化があったときのみ呼ばれるのか、その挙動は useEffect の第二引数に依存します。 これらのルールを理解すれば、ほとんどのケースでレンダリングと副作用 Hook の挙動を予
プログラミング in OCaml 〜関数型プログラミングの基礎からGUI構築まで〜 (GIHYO Digital Publishing, amazon, 楽天Kobo, yahoo, cbook24.com) PDF/EPUB 版を販売しているGIHYO Digital Publishing のページ おしらせ EPUB版が GIHYO Digital Publishing, Amazon, 楽天Koboで販売開始です.GIHYO Digital Publishing だと pdf とのセット販売(価格は同じ)です. (2014.12.10) 長い間,出版社在庫切れとなっていましたが,この度,細かい修正を施した pdf 版の販売を GIHYO Digital Publishing にて開始しました.価格は 1,400 円と冊子体の半額です! (2012.08.29) 第16章のプログラム
2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Pythonで始めてみよう関数型プログラミング」に登壇したのは、株式会社SQUEEZEの寺嶋哲氏。講演資料はこちら 不変/永続データ構造を提供するパッケージ 寺嶋哲氏:続いて、不変/永続データ構造についてです。 listを操作する関数の問題点について、例題で見ていきましょう。add_mangoは果物名の文字列のlistをとって、mangoをそのlistに足して返します。change_from_apple_to_bananaは、同じようにlistをとってappleを探して、bananaに入れ替えて返します。 その
2020/03/27 マルゼミ「論理学 II」概要 「論理学 I」との関係について 前回の「論理学 I — 命題論理の演繹ルール」では、「推論する能力」の最も基本的な基礎である、論理的推論ルールにフォーカスしました。今回の対象は、数学的推論の基礎で、前回のセミナーの内容を前提とはしていません。前回のセミナーを受講していない人も、独立の内容として理解できると思います。「論理学 I」と今回の「論理学 II」で別々に展開してきた、論理的推論と数学的推論の接点については、次回の「論理学 III -- 型の理論」(「型の理論」入門に改題しました)で統一的に扱う予定です。 型のないラムダ計算 今回のセミナーで最初に学ぶのは、1930年代にチャーチが定式化した、「型のないラムダ計算」です。 基本的には、「引数」に対して値を返すものとして「関数」を捉えて、関数で表された式に対する「代入」と式の「変形」を、
コードを読み込みScalaの関数型パラダイムを学ぶ - xuwei-kがScalaを学ぶために読んだOSS 数多くのScala関連OSSにコミットを続ける吉田憲治(xuwei-k)さん。その精力的な活動を支える、関数型の知見の源をうかがいました。 オブジェクト指向言語と関数型言語の特徴を併せもつマルチパラダイム言語・Scala。この言語に関連するOSSのコミット履歴には「 xuwei-k」というアカウントが頻繁に登場します。今回お話を聞いた吉田憲治(よしだ・けんじ/ @xuwei_k )さん、その人です。 吉田さんはScalaのスペシャリストとして、数多くのScala関連OSSにコミットを続け、2018年、Scalaコミュニティに対する貢献者に贈られる「Phil Bagwell Award」を受賞しています。界隈屈指のコントリビューターとして知られる吉田さんに、Scalaのスキルを研鑽して
関数型言語のことなんて知らなくても、ただそこに便利な関数があるので使っていきましょうというお話です。 LodashやRamdaには、リスト操作やオブジェクト操作に関する便利な関数がたくさんあります。 ["a", "b"] と [1, 2] から { a: 1, b: 2 } を作る処理を思い浮かべてください。 何も知らなければforループを使って書いたりしそうですが、_.zipObjectやR.zipObjを知っていればこれを使うだけでできてしまいます。 以下で、Clojureのclojure.coreにあるよく使う関数を中心に、Lodash, Ramdaを使ったときにどうやって実現できるのか調べてみました。 調べてみた感想としては以下のとおりです。 JavaScript標準の関数ではまだまだ不足している部分が多く、LodashとRamdaは一長一短 Lodashは副作用がある関数(対象オ
こ の 記 事 は 土 木 専 攻 の エ ン ジ ニ ア が 鼻 水 た ら し な が ら 書 き 上 げ た 努 力 の 結 晶 で す 。 ご 指 摘 は マ サ カ リ で な く 真 っ 白 な タ オ ル で も 優 し く 投 げ て く だ さ い 。 ことの発端 ぼく「いやーしかしぼくもそこそこ長いことPyhton書いとるしもうPython完全に理解したんちゃうんかなー!」 ぼく「久々にdocs.python.orgでもみるかー。今見たら全部わかるんちゃうかwww」 ぼく「関数型プログラミング HOWTO…?何やねんそれ…」 ぼく「えーと…?ほとんどのプログラミング言語は手続き型?で、入力に対して行うべきことをコンピューターに教える指示リスト?オブジェクト指向?はオブジェクトの集まりを操作する。オブジェクトには内部状態があり、その状態を調べたり変更したりするためのメソッ
OCamlは関数型言語の一つで、実用性の高さで人気があります。オブジェクト指向や強い静的型付けなどの特徴を持ち、実行速度がC言語並みに速いことも特徴の一つです。筆者の中ではデキるプログラマーが好んで使っているイメージがあります。Microsoftが開発した.NET対応言語のF#をはじめ、多くの言語にも大きな影響を与えました。今回は、OCamlについて紹介します。 OCamlのWebサイト OCamlについて OCamlは、もともとプログラミング言語ML言語の方言の一つです。もともと、「Objective Caml」という名前でしたが、OCamlに改名されました。つまり、OCamlのOはオブジェクト指向のOなのです。1996年にフランスのINRIA(フランス国立研究所)で開発されました。 残念ながら原稿執筆時点では、TIOBE Indexなどの人気プログラミング言語ベスト50にはランクインし
プログラミングの道具として、最近必須だなと思う知識は、 Git Docker DDD の3つです。 Git Docker DDD Git プログラムの実験や修正に役立つ。 やり直しの作業を楽にしてくれます。 ja.wikipedia.org git-scm.com いちばんやさしい Git 入門教室 作者:大澤 文孝 発売日: 2019/08/25 メディア: Kindle版 Docker 開発環境を用意するのに役立ちます。 他人が用意してくれた開発環境をすぐに再現できるので、インストールとか設定の時間を節約できます。 ja.wikipedia.org docs.docker.jp さわって学ぶクラウドインフラ docker基礎からのコンテナ構築 作者:大澤 文孝,浅居 尚 発売日: 2020/06/11 メディア: Kindle版 DDD プロトタイプを作って、リファクタリングしていくと
こちらの記事を参考にタスク定義が更新される度に既存環境の Fargate へ自動デプロイをする Github Actions を設定したので手順を書き残しておくことにしました。 参考: GitHub Actions からサクッと Fargate にデプロイしてみた ケースシナリオ Dockerfile とタスク定義ファイルが変更され、レポジトリに Push される度に以下のプロセスを自動実行する Github Actions を設定します。その際に任意の環境へ Assume Role しデプロイできるように設定します。 AWS 環境へ Assume Role する Docker イメージをビルドして既存の ECR へ Push する 新しい Image ID でタスク定義を更新する ECSクラスタにタスクをデプロイする 環境構成図 既存環境の全体の構成はこんな感じです。 今回設定するのはこ
はじめに Kubernetes では、コンテナ(Pod) を外部からアクセスさせるために、Service LoadBalancer を使って外部公開が出来ます。LoadBalancer を作ったときに、どういうことが Kubernetes クラスタ上で起こり、どのように通信出来るのでしょうか。 マネージドサービスを使っていでも、何かの拍子に通信障害が発生することがあります。障害を解析するためには、正しい通信経路を把握することが重要です。 通信経路を調査した内容を備忘録として残します。Kubernetes 環境は、Oracle Cloud のマネージドサービスである OKE を使って調査していますが、他の環境でも基本的には同じような挙動になると思います。 事前準備 OKE クラスタを作成して、Deployment と LoadBalancer を作成します。作業用ディレクトリを作成します。
PDF形式のファイルを御覧いただく場合には、Adobe Acrobat Readerが必要な場合があります。 Adobe Acrobat Readerは開発元のWebページにて、無償でダウンロード可能です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く