並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 72件

新着順 人気順

関数型プログラミングの検索結果1 - 40 件 / 72件

関数型プログラミングに関するエントリは72件あります。 プログラミングtechfeedprogramming などが関連タグです。 人気エントリには 『プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog』などがあります。
  • プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog

    κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム

      プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog
    • SPAにおける状態管理:関数型のアプローチも取り入れるフロントエンド系アーキテクチャの変遷 - エンジニアHub|Webエンジニアのキャリアを考える!

      こんにちは、小林(@koba04)です。 本記事では、シングルページアプリケーション(以下、SPA)における状態管理について解説します。 GmailやTwitterは、SPAとして構築されている代表的なWebアプリケーションであり、スムーズなページ遷移をSPAによって実現しています。またElectronやPWA(Progressive Web Apps)の登場により、複雑なアプリケーションをWebの技術を使って構築する場面も増えてきました。 これらの複雑なアプリケーションにおいては、既存のページ単位での状態管理の考え方では対応が難しくなります。 そこで今回は、具体的なフレームワークも取り上げながら、Webフロントエンドにおける状態管理のアプローチについて紹介します。 フロントエンドでの状態管理の複雑化 ページの単位を超えた状態の保持 モデルとビューによる処理の分割 イベントの管理が複雑にな

        SPAにおける状態管理:関数型のアプローチも取り入れるフロントエンド系アーキテクチャの変遷 - エンジニアHub|Webエンジニアのキャリアを考える!
      • オブジェクト指向プログラミング -- 1兆ドル規模の大失敗

        CodeIQのブログより。🤔 なぜ、OOPから移行する時なのか Ilya Suzdalnitski OOPは、多くの人にコンピューターサイエンスの重要資産と考えられています。コード構成(code organization)に対する究極のソリューション。すべての問題の終焉。私たちのプログラムを書くための唯一の本当の方法。自分自身をプログラムするという真なる唯一神から私たちに授けられました… それまでは、そうではなく、抽象化の負担、そして無差別に共有されるミュータブルなオブジェクトの複雑なグラフによって、人々は屈し始めています。現実世界の問題を解決するのではなく、「抽象化」と「デザインパターン」について考えるのに貴重な時間と頭脳が費やされています。 非常に著名なソフトウェアエンジニアを含め、多くの人々がオブジェクト指向プログラミングを批判してきました。驚くことに、OOP自身の発明者でさえ、今

          オブジェクト指向プログラミング -- 1兆ドル規模の大失敗
        • 関数型プログラミングが『銀の弾丸』であるという非常識な常識2022

          2024年バージョンの全面改定された新しい本が公開されているので移動してください 関数型プログラミングをゼロからわかりやすく実用的に幅広い視点から解説!〜 圏論からFRPの構築まで a岡部 健Ken Okabekentutorialbook@gmail.com 関数型プログラミングが『銀の弾丸』である という非常識な常識 2022Functional Programming as the Silver bullet, that is the Insane common sense 2022

          • プログラミングする際に今日も役立ってる文献 - HackMD

            # プログラミングする際に今日も役立ってる文献 プログラミングを独学する上で役立つ(役立った)書籍を紹介する流れが 最近ちらほら見受けられて読んでいて非常に楽しいので、 見てるばっかりでなく自分も出

              プログラミングする際に今日も役立ってる文献 - HackMD
            • 『なっとく!関数型プログラミング』は読者の理解度の進捗を先読みして作り込まれた”プログラミング入門”の良書 - Magnolia Tech

              なっとく!関数型プログラミング 作者:Michał Płachta翔泳社Amazon 良い、買おう、読もう、(コードを)書こう、以上! めっちゃ良いですよ、この本 中盤のプリミティブじゃやりづらい→直積→直和→二つ合わせてADT→値を取り出すためのパターンマッチの解説の流れの疾走感がいいですね— magnoliak🍧 (@magnolia_k_) 2023年8月6日 『なっとく!関数型プログラミング』は、2022年に出版された『Grokking Functional Programming』の邦訳版で、主にScalaを題材として関数型プログラミングを学んでいくための入門書("Grokking"は、完全に理解する、という意味)。あくまで関数型プログラミングの考え方、コードの書き方、良い設計の指針の解説が主眼に置かれているので、Scalaの言語機能の入門書ではない。Scalaの言語仕様を網羅

                『なっとく!関数型プログラミング』は読者の理解度の進捗を先読みして作り込まれた”プログラミング入門”の良書 - Magnolia Tech
              • 5歳娘「パパのReact、めっちゃ遅いね!」 - Qiita

                新しい記事もよろしくやで! →ハスケル子「タグごとに色がついてたらいいのにな…」 38歳無職ワイ ワイ「(カタカタカタカタ・・・ッターン!)」 娘(5歳)「パパ、今日は何してるの?」 ワイ「今日はな、むかしWordPressで作った自分用TODOリストの」 ワイ「デザインをリニューアルしてんねん」 よめ太郎「(そんなことより職を探せや)」 娘「へぇ〜」 娘「WordPressってことは、PHPを書いてるの?」 ワイ「いや、ちゃうで」 ワイ「リニューアル後は、フロント部分をReactで実装しようと思ってな」 ワイ「そこで、WordPressをREST APIモードで使うことにしたんや」 ワイ「つまり、WordPressを管理画面つきAPIみたいに使うってことや」 娘「要は、WordPressをヘッドレスCMSとして使うんだね」 ワイ「ヘッドレス・・・?」 ワイ「ちゃうちゃう、管理画面つきAP

                  5歳娘「パパのReact、めっちゃ遅いね!」 - Qiita
                • 関数型プログラミングと型システムのメンタルモデル

                  Qiita Conference 2023 Autumun での発表資料です 発表時間の見積もりが下手で後半全然説明できませんでした、すみません! 実際のプロダクト開発ではどうすればいいのか? というケースは以下のスライドを参照してください。 (本スライドは、こちらのプロダクト開発の経験をベースに基礎を再整理したものになります) https://speakerdeck.com/naoya/typescript-niyoru-graphql-batukuendokai-fa-75b3dab7-90a8-4169-a4dc-d1e7410b9dbd

                    関数型プログラミングと型システムのメンタルモデル
                  • とほほのHaskell入門 - とほほのWWW入門

                    「ハスケル」と呼びます。 数学者・論理学者の Haskell Curry の名前に由来しています。 LISP, ML などの言語の影響を受けています。 関数型プログラミング言語 であり、特に 純粋関数型言語 に分類されます。 金融、セキュリティ、数学・科学解析、構文解析などの分野での利用例があります。 関数型プログラミングに慣れていない人にとっては、多少学習コストが高いようです。 遅延評価 を採用しており、式は記述されていても必要となるまで評価されません。 関数型言語ですが、モナド などを利用することにより、手続き型言語のような記述も可能です。 Haskell 1.0 (1990年)、Haskell 98 (1999年)、Haskell 2010 (2009年) などのバージョンがあります。 コンパイル型言語ですが、スクリプト言語の様にインタプリタで呼び出すこともできます。 処理系は、イン

                    • こわくない関数型プログラミング

                      関数型プログラミングは全部理解しようとすると難しいですが、簡単な部分の中にも有用な知見がたくさんあります。 関数型プログラミングにまだ親しんでいない人向けに、明日からのプログラミングにすぐ役に立つ考え方をできるだけわかりやすく伝えます。

                        こわくない関数型プログラミング
                      • ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad

                        人類には早すぎる、謎の計算ロジックに立ち向かう / Strugle with the most complicated logic ever

                          ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad
                        • JavaScriptからletを絶滅させ、constのみにするためのレシピ集 - Qiita

                          はじめに 本記事では、constこそが唯一神であることを証明したあと、letを使いがちな場面でいかにしてconstを使うかをまとめていきます。なお、ES2018までの基本構文(reduce, async/await, 配列とオブジェクトのスプレッド構文)を使用します。「いや、reduceとかスプレッド構文とか難しいからlet使うわ」という方のために、便利メソッド詰め合わせであるLodashを使った例もご紹介します。もちろん、Lodashは機能に対してサイズが大きいライブラリであるため、フロントエンド開発でバンドルサイズを軽減したいという方などはLodashの例は無視し、Lodashを使っていない方の例をご参照いただければと思います。 追記:Lodashの使用について 「Lodashのコードにlet使われてるやん」というご指摘を多く頂いたので追記いたします。 誤解を招くタイトルにしてしまい申

                            JavaScriptからletを絶滅させ、constのみにするためのレシピ集 - Qiita
                          • TypeScriptでどこまで「関数型プログラミング」するか ─ 「手続き Haskell」から考察する - 一休.com Developers Blog

                            この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita 10日目の記事です。 昨今は Web アプリケーション開発の世界でも、関数型プログラミングのエッセンスを取り入れるような機会が増えてきました。 とはいえ、一つのアプリケーションを 1 から 10 までがっちり関数型プログラミングで構成するというわけではなく、そのように書くこともあればそうでない従来からの手続き的スタイルで書くところもあるというのが現状で、どこまで関数型プログラミング的な手法を取り入れるかその塩梅もまちまちだと思います。まだ今はその過渡期という印象も受けます。 本稿ではこの辺りを少々考察してみたいと思います。 先日、Qiita Conference 2023 Autumn で以下のテーマで発表を行いました。 この発表では「関数型プログラミング最強!」という話をしたわけではなく、

                              TypeScriptでどこまで「関数型プログラミング」するか ─ 「手続き Haskell」から考察する - 一休.com Developers Blog
                            • [アップデート]LambdaがHTTPSエンドポイントから実行可能になる、AWS Lambda Function URLsの機能が追加されました! | DevelopersIO

                              [アップデート]LambdaがHTTPSエンドポイントから実行可能になる、AWS Lambda Function URLsの機能が追加されました! LambdaにHTTPSエンドポイントを追加して、Webフックみたいな使い方をすることができるようになる便利なアップデートです! Lambdaを使ったWebフックが作りやすくなって、かんたんに設定できるのでぜひお試しを! Lambdaに便利なアップデートが来ました! LambdaにHTTPSエンドポイントを追加して、Webフックみたいな使い方をすることができるようになるアップデートです! AWS Lambda Function URLs: built-in HTTPS endpoints for your Lambda functions これで、ちょっとLambdaをHTTPS経由で実行したいなー。なんて時に、API Gatewayを使わずに

                                [アップデート]LambdaがHTTPSエンドポイントから実行可能になる、AWS Lambda Function URLsの機能が追加されました! | DevelopersIO
                              • 宣言的UI

                                宣言的UIの状態管理とアーキテクチャSwiftUIとGraphQLによる実践 https://speakerdeck.com/sonatard/swiftui-graphql

                                  宣言的UI
                                • Lambdaの内部アーキテクチャ教えます!A serverless journey: AWS Lambda under the hood #SVS405 #reinvent | DevelopersIO

                                  CX事業本部の岩田です。 昨年re:inventから帰国後にyoutubeで見つけたセッション「A Serverless Journey: AWS Lambda Under the Hood」が非常に興味深い内容でした。今年も同様のセッションが無いかre:inventのセッション予約開始前からチェックしていたところ、なんと今年も同じタイトルのセッションがありました。これは現地で聞くしかない!ということで聞いてきましたので、改めてセッション内容をまとめてレポートします。 資料 セッション動画 スライド A Serverless Journey: Under the Hood of AWS Lambda 例年ならSlide Shareで公開されるのですが、今年に関しては今のところSlide Shareには上がっていないようです。なお以後登場する画像のほとんどはこちらのスライドからの引用となりま

                                    Lambdaの内部アーキテクチャ教えます!A serverless journey: AWS Lambda under the hood #SVS405 #reinvent | DevelopersIO
                                  • TypeScript 型レベル関数型プログラミング in 2023 - Object.create(null)

                                    ちょっと前に話題になった hotscript の技法の紹介やら, ラムダ計算を TypeScript の型にコンパイルする話やらなんやら. 通常の型レベル関数 TypeScript の型エイリアスはパラメータを取れるので, これは型レベルの関数であるとみなせます. type IsNumber<X> = X extends number ? true : false; type A = IsNumber<42>; // = true 一方でこのようにして定義された関数は第一級ではない, つまり関数そのものを他の関数の引数として渡したりすることができません. type FilterUnion<F, X> = X extends unknown ? (F<X> extends true ? X : never) : never; // ~~~~ // ^ Error: Type 'F' is n

                                      TypeScript 型レベル関数型プログラミング in 2023 - Object.create(null)
                                    • また初心者にプログラミングを教える機会があった

                                      プログラミングでわからないところがあるので教えてほしいと以下のようなことを聞かれた。 こういうJavaScriptの関数がある。 // valuesは配列 // elementはvaluesの要素型の値 // 配列valuesに値elementと等しい要素があるならばそのインデックスを返す。 // それ以外の場合、-1を返す function find_index( values, element ) { for ( let i = 0 ; i !== values.length ; ++i ) { if ( values[i] === element ) return i ; } return -1 ; } 質問は、「なぜreturn -1にelseはいらないのか」というものであった。 似たような問題に、昔遭遇した気がするが、別人だ。 まずここにelseを書くべき文法はJavaScrip

                                      • 超関数型プログラミング

                                        この記事はFOLIO Advent Calendar 2022の23日目です。 ソフトウェア2.0 ソフトウェア2.0 という新しいプログラミングのパラダイムがあります。これは Tesla 社のAIのシニアディレクターだった Andrej Karpathy が自身のブログ記事("Software 2.0")で提唱した概念で、 ニューラルネットワーク のような最適化を伴うプログラムを例に説明されています。 従来のプログラム(Software 1.0)は人間が命令に基づいたプログラムを作成し、望ましい挙動を行わせます。それに対してニューラルネットワークのようなプログラム(Software 2.0)では人間はある程度の自由度をパラメータという形で残したプログラムを作成し、「入出力のペア」や「囲碁に勝つ」というような教師データや目的を与えてプログラムを探索させるというものです。 画像出典: "So

                                          超関数型プログラミング
                                        • React学習を楽にしてくれるJavaScriptでの関数型プログラミングの基礎知識 - Qiita

                                          この記事について この記事は、「JavaScriptでの関数型プログラミング」について、Reactを学ぶ際に足を引っ張らない程度にまとめました。 普段JavaScriptに触れていながら、Reactへの学習障壁を感じている方などの参考になれば幸いです。 なぜReact学習において、関数型プログラミングの知識が必要なのか? ReactのライバルにあたるVue.jsはhtml、cssとVue.js特有のテンプレート構文を組み合わせる事で、JavaScript力が低くても書きやすい作りになっています。 それに対して、Reactは原理がシンプルで一貫しており、特有の決まり事は少ないのが特徴です。 原理の背後ではJavaScriptと関数型プログラミングへの理解を前提としていて、公式ドキュメントなどでも、関数型についての解説はわざわざ行われていません。 サーバーサイドのRubyやPHPではオブジェク

                                            React学習を楽にしてくれるJavaScriptでの関数型プログラミングの基礎知識 - Qiita
                                          • 関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。

                                            先日Connpassにて、関数型プログラミングなんもわからん。を考えようと言うイベントを開かせていただきました。 関数型プログラミングがわからない! と言う方達の疑問に対して、普段関数型プログラミング言語を使っているわかる人たちが回答をして行くと言うスタイルのイベントでした。関数型プログラミング言語と一口に行っても、Elm, Scala, Haskell, Clojure, Elixir, F#と様々な言語があり(これは今回参加した人たちの使っている言語で、関数型プログラミング言語の一部にしか過ぎません)何が正解かなどはわからない中での意見の集約といった形のため参考程度にご覧ください。結果イベントとしては様々な視点からの意見が聞けて満足という声が多かったです。私自身知らないことがたくさん知れて勉強になり楽しかったです。 イベントの内容は、Figma上で開けるFigJamファイルとして、公開

                                              関数型プログラミングなんもわからん。を考えようと言うイベントを開きました。
                                            • 直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton

                                              // 割る2をする関数の引数が偶数であることを型によって強制する例(実用性はない) data O // 数字の0を表すデータ型 data S(A) forall { A } // +1を表すデータ型 // 型エイリアス type Nat = O | S[Nat] // 非効率すぎる他倍長整数 type Even = O | S[Odd] type Odd = S[Even] // 偶数を引数にとって2で割った結果を言語組込みの整数として返す関数 div2 : Even -> I64 = // 網羅性チェックつきのパターンマッチ | O => 0 | S(S(n)) => 1 + n.div2 TL;DR ユニオン型は直和型の上位互換である(追記あり)。関数型言語を作るときは直和型の代わりにユニオン型を採用するのもあり。 はじめに Cottonというプログラミング言語を2021年の夏頃から作

                                                直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton
                                              • 「関数型プログラミング」と「オブジェクト指向」ってなんやねんPython編 - Qiita

                                                こ の 記 事 は 土 木 専 攻 の エ ン ジ ニ ア が 鼻 水 た ら し な が ら 書 き 上 げ た 努 力 の 結 晶 で す 。 ご 指 摘 は マ サ カ リ で な く 真 っ 白 な タ オ ル で も 優 し く 投 げ て く だ さ い 。 ことの発端 ぼく「いやーしかしぼくもそこそこ長いことPyhton書いとるしもうPython完全に理解したんちゃうんかなー!」 ぼく「久々にdocs.python.orgでもみるかー。今見たら全部わかるんちゃうかwww」 ぼく「関数型プログラミング HOWTO…?何やねんそれ…」 ぼく「えーと…?ほとんどのプログラミング言語は手続き型?で、入力に対して行うべきことをコンピューターに教える指示リスト?オブジェクト指向?はオブジェクトの集まりを操作する。オブジェクトには内部状態があり、その状態を調べたり変更したりするためのメソッ

                                                  「関数型プログラミング」と「オブジェクト指向」ってなんやねんPython編 - Qiita
                                                • Haskell書いてるときになんとなく気をつけていること - LugendrePublic

                                                  信頼性はない 都市伝説かもしれん 大体枕詞に特別な理由がなければがつく 思いついたら徐々に更新する それは違うよってことがあったら @Lugendre まで ghc 8.6.5の話(8.8.1は仕事で使ってなくてな......) コンパイル通るかの確認だけなら最適化オプションO0でコンパイルする stackでいうとstack build --fast 動かすときはO2ビルドしたほうがいいが,インライン展開に5億年消費する なんならこのくらいは静的解析に任せてもいいが,でかいプロジェクトだと一定時間動いてハングアップするのしか世の中にないのでオワリ VSCode のせい説もある ghcideに期待 CIするときは必ずキャッシュする 毎回一から依存関係やGHCのビルドが走って余裕で1時間超えるようになるので データ構造のフィールドは特に理由がない限り正格にする 意図しないサンクを潰すため 単相

                                                    Haskell書いてるときになんとなく気をつけていること - LugendrePublic
                                                  • 「関数型プログラミングが『銀の弾丸』であるという非常識な常識2022」の感想 - Qiita

                                                    Ken Okabe氏による 関数型プログラミングが『銀の弾丸』であるという非常識な常識2022 https://kentutorialbook.github.io/functionalprogramming2022/ の率直な感想を書いていきます。 「【追記】」の部分はTwitterでの他の人の反応や氏のはてなブログによる反論を受けて記載したものです。 JavaScriptで演算子オーバーロードを実現しようとするのは筋が悪い 氏は二項演算子に拘っておられますが、JavaScriptにはユーザー定義可能な演算子オーバーロードはないのだから、JavaScriptに適したやり方(関数・メソッド)を使うか、演算子オーバーロードに適した言語(特にStandard ML, OCaml, Haskellなどはユーザー定義の演算子を書けます)を使うべきだと思います。 【追記】もちろんC++やRustでも演

                                                      「関数型プログラミングが『銀の弾丸』であるという非常識な常識2022」の感想 - Qiita
                                                    • Reactを関数型プログラミングの文脈で理解する|こわくない関数型プログラミング

                                                        Reactを関数型プログラミングの文脈で理解する|こわくない関数型プログラミング
                                                      • サーバーレスでもユニットテスト – TypeScript 製 AWS Lambda を Jest でテストする | DevelopersIO

                                                        最近は Lambda Function を TypeScript で実装することが多く、テストツールとして Jest を選択しました。導入から基本的なテスト、カバレッジ出力までやってみたので、その手順を記録します。 ユニットテストのモチベーション 変更に対する心理的な安全性を手に入れるため、という理由が大きいです。 たとえば API Gateway のバックエンドを Lambda Function で実装する場合。実装だけであれば、可能な限り any 型を使用せず、 interface や type の有効活用によりデータ型に起因する実行時エラーは大幅に少なくできます。 TypeScript を使うメリットのひとつですね。ではサーバーレスならではの難しいポイントはどこかというと、私の場合 前作った Lambda Function の挙動をすぐ忘れる ということがよくありました。それで、 L

                                                          サーバーレスでもユニットテスト – TypeScript 製 AWS Lambda を Jest でテストする | DevelopersIO
                                                        • New – A Shared File System for Your Lambda Functions | Amazon Web Services

                                                          AWS News Blog New – A Shared File System for Your Lambda Functions July 1, 2020: Post updated to take care that Amazon EFS increased file system minimum throughput, when burst credits are exhausted, to 1 MiB/s. I am very happy to announce that AWS Lambda functions can now mount an Amazon Elastic File System (Amazon EFS), a scalable and elastic NFS file system storing data within and across multipl

                                                            New – A Shared File System for Your Lambda Functions | Amazon Web Services
                                                          • PyCon JP 2019で見たセッションの聴講記録20個分 / 資料・動画・関連リンクなど - フリーランチ食べたい

                                                            2019年9月16日/17日に開催されたPyCon JP 2019で自分が直接/YouTubeで聴講したセッションについてのまとめです。主に下記の内容を書いています。 スピーカーURL 配信動画 スライド 発表内で出てきたライブラリなどのURL 自分の感想 「あのセッションで話していたライブラリなんだっけ」と思い出したい方やざっくり内容が知りたい方に読んでいただければ幸いです。PyCon JPに自分も発表者としても参加し、スタッフとして参加し、Webサイトの開発もしたので、それについては改めて書きたいと思います。 pycon.jp PythonとAutoML / 芝田 将 スピーカー: https://twitter.com/c_bata_ 動画: https://www.youtube.com/watch?v=Whkwu46DgBs スライド: https://www.slideshar

                                                              PyCon JP 2019で見たセッションの聴講記録20個分 / 資料・動画・関連リンクなど - フリーランチ食べたい
                                                            • [新機能] AWS Lambda Function URLで簡単にLambda関数を実行する - NRIネットコムBlog

                                                              こんにちは、上野です。 Lambda関数をワンクリックでURL公開できる機能が出ました! aws.amazon.com 今までのLambda Lambda関数を(AWS認証無しの)HTTPS経由で実行するには、Lambdaの前段にAmazon API Gatewayを設置する必要がありました。 API Gatewayは便利で高機能なのですが、設定項目も多く、初めて触る方には難しい部分もあるかと思います。 今回の機能で、Lambdaのメニューから機能をONにするだけHTTPS公開できるようになりました。 やってみる Lambdaの作成画面に、「関数URLを有効化」のメニューが追加されているので、これをONにします。 初期状態では認証が必要なAWS_IAMが選択されていますが、今回はまずどれだけ簡単に公開できるかを試すため、NONEを選択します。 ※画面のとおり、URLを使用して全世界からLa

                                                                [新機能] AWS Lambda Function URLで簡単にLambda関数を実行する - NRIネットコムBlog
                                                              • AWS Lambda Function URLs(関数URL)がCloudfrontのOACに対応したので試す - Qiita

                                                                はじめに AWS LambdaのFunction URLs(関数URL)は、Lambda単体でHTTPSのURLを発行し、HTTPリクエストをトリガーにLambdaを実行出来るようになる、非常に便利な機能です。 API Gatewayと統合せずともLambdaのみでWebAPIを構築出来るようになり、プロトタイピングやマイクロサービスに有用です。 関数URLの制限 ところで、関数URLの実行の認可は、IAMを用いた方法しかありませんでした(IAMロールベースの認可か、認可なししか無かった)。 Cloudfrontをリバースプロキシ的に前段に配置し、関数URLと繋ぐことで、ドメインを当てたりキャッシュを活用したり、便利な訳ですが、その際に上記が問題となります。というのは、CloudfrontからIAMベースのリクエストを行うには、Lambda@Edgeを利用するしかありませんでした(オリジン

                                                                  AWS Lambda Function URLs(関数URL)がCloudfrontのOACに対応したので試す - Qiita
                                                                • いつScalaを使い、いつ使わないのか

                                                                  前置き 先日Twitterでこのような興味深いツイートを拝見しました。 なるほどと思ったので、自分が技術選定/アーキテクチャ設計において「どのような時にScalaを選択し、どのような時に選択しないのか」をあらためて言語化してみることにしました。 ちなみにこの記事タイトルは Scala福岡 2019 で講演させて頂いたものと同じタイトルですが、当時の資料は説明が無いと誤解を招く部分も多く非公開にしているため、その焼き直しも含めてこの記事を書いています。 また、ここで記載している内容は2022年8月現在の事情を元にした考えになります。言語の機能やとりまく状況などは日々変わっていくものであり、前提が変われば結論が変わることも当然にあります。あくまで現時点での意見の一つとして参考程度にして頂ければ幸いです。 また、この記事では主に言語機構や周辺ライブラリ・エコシステムといった側面からの判断を中心と

                                                                    いつScalaを使い、いつ使わないのか
                                                                  • AWS CDK が GA! さっそく TypeScript でサーバーレスアプリケーションを構築するぜ【 Cloud Development Kit 】 | DevelopersIO

                                                                    AWS CDK が GA! さっそく TypeScript でサーバーレスアプリケーションを構築するぜ【 Cloud Development Kit 】 やってみた感想から。これが本当の Infrastructure as Code かなと思いました。アプリケーションの開発者がインフラの構築も一緒にやっていて、 インフラ用のテンプレートファイルと格闘している 場合、AWS CDKに移行すると恩恵を得られそうです。一方インフラ構築をメイン業務として、CloudFormation テンプレートに慣れている場合、現時点ではまだ移行コストが大きいと考えています。 AWS CDK (Cloud Development Kit) とは AWS リソースを 構成要素(construct) としてプログラムで書き、それらを組み合わせて実行するとデプロイできるというツールキットです。開発者視点では、AWSの

                                                                      AWS CDK が GA! さっそく TypeScript でサーバーレスアプリケーションを構築するぜ【 Cloud Development Kit 】 | DevelopersIO
                                                                    • オブジェクト指向プログラミングと関数型プログラミングの違い

                                                                      オブジェクト指向プログラミングと関数型プログラミングの違い:手法、コード例、ユースケースごとに解説 関数型プログラミングモデルの採用を考える開発者は多い。だが、採用するなら、関数型プログラミングモデルとオブジェクト指向のアプローチがどのように異なるかを正確に理解することが重要だ。 プログラミングのパラダイムを決めることは、どのようなアプリケーション開発作業にとっても重要なステップの1つだ。関数型プログラミングとオブジェクト指向プログラミングのどちらを選ぶかは、この2つしか選択肢がないわけではないとしても、今日の多くの開発者が直面する課題の1つになっている。 本稿では、関数型プログラミングとオブジェクト指向プログラミングの主な違いを復習し、両コーディングパラダイムが機能する仕組みを幾つか示し、いずれかを選択する際に最も重要な考慮点を確認する。 オブジェクト指向プログラミングと関数型プログラミ

                                                                        オブジェクト指向プログラミングと関数型プログラミングの違い
                                                                      • Pythonを使って関数型プログラミング Part.1

                                                                        2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Pythonで始めてみよう関数型プログラミング」に登壇したのは、株式会社SQUEEZEの寺嶋哲氏。講演資料はこちら なぜ関数型プログラミングを愛するようになったのか 寺嶋哲氏:それでは発表を始めます。まず「おまえ誰よ?」。はい、寺嶋哲といいます。Twitterなどでは「@meganehouser」というIDでやっています。 所属は株式会社SQUEEZE(スクイーズ)で、ふだんはPython、Django、Django REST frameworkでバックエンドを書いて、AngularJS、Angularでフロン

                                                                          Pythonを使って関数型プログラミング Part.1
                                                                        • 関数型プログラミング in JavaScript - Qiita

                                                                          for文ベタ書きから関数型へリファクタリングしていく記事です。 ベタに書く 各項目を3倍するプログラムを考えてみましょう const input = [1,2,3,4,5,6,7,8,9,10] const output = [] for(const item of input) { output.push(item * 3) }

                                                                            関数型プログラミング in JavaScript - Qiita
                                                                          • Pythonを使って関数型プログラミング Part.2

                                                                            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に入れ替えて返します。 その

                                                                              Pythonを使って関数型プログラミング Part.2
                                                                            • AWS Fargate Deep Dive: What it is, when to use it and comparison with AWS Lambda and ECS

                                                                              Introduction AWS Fargate was launched in late 2017. It lets users build and deploy containerized applications without having to manage the underlying infrastructure themselves. Cluster management (tasks like managing EC2 instances, autoscaling policies amongst others) can be operationally challenging and adds a lot of friction for developers who want to be able to deploy their applications as quic

                                                                              • 現在時刻が関わるコードを関数型で書いてテスタビリティを見てみた - Qiita

                                                                                最近、現在時刻が関わるプログラムを題材に、高テスタビリティなプログラミング作法を解説した素晴らしい記事が復刻されて、感想などがTLに流れてきたので、自分もそのお題を関数型プログラミングで解いてみた記事。 はじめに 最近、こんな引用ツイートをした。 関数型界隈だと、参照透過な部分とそうでない部分(現在時刻, 乱数, etc.)を分離しといて使うところで合成する作法が尊重されてて、simplicity と composability の結果として、テスタビリティや柔軟性が高くなる(低くならない)ということがよく謳われている。あとで自分もFPでお題解いてみよう。 https://t.co/00TwqXmtC7 — yasuabe (@yasuabe2613) September 30, 2019 元記事は、t-wadaさんの『現在時刻が関わるユニットテストから、テスト容易性設計を学ぶ 』で、めち

                                                                                  現在時刻が関わるコードを関数型で書いてテスタビリティを見てみた - Qiita
                                                                                • Pythonで始めてみよう関数型プログラミング

                                                                                  Migrating From Spring Boot 2 To Spring Boot 3 - What's Jakarta EE Got To Do with It?

                                                                                    Pythonで始めてみよう関数型プログラミング

                                                                                  新着記事