並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 42件

新着順 人気順

purescriptの検索結果1 - 40 件 / 42件

  • Webフロントエンドの開発効率を高く保つための考え方

    これまでいろんな現場でWebフロントエンド開発をしてきて、メンテナンスしやすく効率の高いWebフロントエンド開発をする上で重要になる考えが自分なりにまとまってきたので記事にしてみます。 Worse is Betterという考え方 自分が見てきた中でWebフロントエンドの開発効率が落ちてしまう一番の要因は、きれいで理論的には優れているアーキテクチャを構築しようとしてそれ自体がもたらす複雑性を支えきれないというパターンです。 少し前にフロントエンドにClean Architecture(以下CA、あの同心円の図を指すのは誤用に近いですがここではそれに乗ります)を導入する記事が流行ったと思いますがあんな感じです。ああいったクラスベースでDIが重要となる設計手法はサーバーサイドのJavaでSpringを使うのとは違ってReactがサポートしているものではないため、CAの実現自体に高い設計スキルが必

      Webフロントエンドの開発効率を高く保つための考え方
    • State of JavaScript 2020:いちばん利用率の高いJSフレームワーク、フロントエンドがReact、バックエンドはExpress、テストにはJest。2万4000人の調査結果

      IT技術者のSacha Greif氏とRaphaël Benitte氏が、JavaScriptに興味を持つ世界中のIT技術者約2万4000人にアンケートを取り、結果をまとめたWebサイト「State of JavaScript 2020」が公開されています。 JavaScriptの最新のシンタックスや命令がどれくらい使われているか、フロントエンドやバックエンド、ビルドツールなど分野ごとにさまざまなJavaScript関連の技術はどれくらい興味を持たれているかなど、アンケート結果を基にして、満足度(Satisfaction)、興味(Interest)、利用率(Usage)、認知度(Awareness)などを計算。それぞれについてランキングを作成しています。 それぞれの値は次の式で計算されると説明されています。それぞれの項目にはアンケートの回答数が入ります。 満足度=またこの技術を使いたい/(

        State of JavaScript 2020:いちばん利用率の高いJSフレームワーク、フロントエンドがReact、バックエンドはExpress、テストにはJest。2万4000人の調査結果
      • 💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita

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

          💣Webフロントエンドにおける関数型「風」プログラミングに関する個人的まとめ - Qiita
        • 経験5年のHaskellユーザがScalaを仕事で半年使ってみた

          haskell-scala-java ちょっと前までScalaを書いていたので、 Haskell好きな人がScalaを書いた感想を書きます。 タイトルは経験15年のOCaml ユーザーが Haskell を仕事で半年使ってみた - camlspotter’s blogの模倣です。 あくまで1ユーザの感想です。 Scalaに慣れてしまうと違和感を忘れてしまうと思ったので、当時箇条書きで雑にメモしていたものを参照して書いています。 逆にScala使いがHaskellを知るメモに役立つかもしれません。 Haskell歴 when: 2013年から知って学び始めましたが、本格的に使い始めたのは2015年からで、5年ほど使っています where: どの言語を使っても良くて新しい言語を学ぶ必要がなければ基本的にHaskellを使っています what: 趣味OSSプロジェクトの大半 現在一番スターもらっ

            経験5年のHaskellユーザがScalaを仕事で半年使ってみた
          • 新しくプログラミング言語を作る際に数値型をどうするべきか

            この記事は、新しくプログラミング言語を設計する際に数値型をどうするべきかについて、私の持論をまとめたものです。 数の体系 JavaScript(BigInt以前)やLua(〜5.2)などは唯一の数値型が浮動小数点数型で、整数も実数も同じ「number」型で表現します。ミニマルな言語を作るのならそういう設計もアリかもしれませんが、ネイティブコンパイルも視野に入る実用的な言語を作るなら整数と実数を一緒くたにする設計はやめた方が良いと思います。 特に、JavaScriptにコンパイルする言語を作るからと言って、数値型の設計まで真似る必要はありません。 整数を浮動小数点数で表現すると、思わぬ性能低下の要因になったりします。最近(2023年2月)、次のツイートが話題になりました: これは正のゼロと負のゼロが値として区別され、正のゼロは内部的に整数扱いされるのに対し負のゼロはそうではないことによるもの

              新しくプログラミング言語を作る際に数値型をどうするべきか
            • Functional Programming in TypeScript

              Web apps are a mandatory part of every modern application nowadays, no matter how small or complex it is. From one-click apps that convert pictures to Photoshop, everyone wants fast and easy access to the app, and the web is one of the easiest ways to do that. At Serokell, we use TypeScript for writing web applications. But our main programming language is Haskell. And in this article, we want to

                Functional Programming in TypeScript
              • 知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ

                この記事はスターフェスティバル Advent Calendar 2022 11 日目の記事です qiita.com 昨日は @shota1995m の オブジェクト指向 UI デザインを読んだから図解してみる でした はじめに 僕は生粋(?)の PHPer なので、PHP 以外の技術はなんちゃってレベルでしか触ったことがないのですが 知らん言語(TypeScript)、知らんフレームワーク(Koa, NestJS, commander)、知らんミドルウェア(Apache Kafka)、知らんその他諸々(Protocol Buffers, Terraform)を使ってるチームに移動して難易度が高めな課題に取り組むことになったため、効率的に技術をキャッチアップできないと終わると思いヒィヒィ言いながらがんばったことを共有します やったこと 座学の時間をガッツリとる まずは手を動かす方が有効な場面

                  知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ
                • なぜ MVVM + FRP は Elm Architecture に勝てないのか - dely Tech Blog

                  こんにちは、delyでクラシルiOSアプリ開発を担当している稲見 (@inamiy)です。 この記事は「dely #2 Advent Calendar 2020」の25日目の記事です。 dely #1 Advent Calendar 2020 dely #2 Advent Calendar 2020 昨日は、delyのSREチームのjoooee0000(高山)さんによる delyのSREチームがオンコールトレーニングを導入する3つの理由 の記事でした。 オンコール対応できるエンジニア、強くてカッコいい・・・ 私の方からは、メリークリスマス🎄🎅🔔 にふさわしい Elm Architecture による unidirectional なプレゼントをお届けします🎁 (2020/12/26 EDIT: タイトルを「なぜ MVVM は Elm Architecture に勝てないのか」から「

                    なぜ MVVM + FRP は Elm Architecture に勝てないのか - dely Tech Blog
                  • Ruby知識ゼロから初参加したRubyKaigi 2024レポート - 共沸

                    TL;DR 楽しかった! 本編 おはようございます。手札事故(twitter:@hand_accident)と申します。 Ruby知識ゼロから初参加したRubyKaigi 2024レポート、略してルゼロ*1という感じでやっていきたいと思います。 < Day 0 自己紹介でもしとくか。生まれ育った愛媛県松山市*2に帰って非IT企業でパソコン係をやっている過程で、すべてが個人開発の労働環境で趣味全ブッパ技術選定をした結果HaskellとNimを書くようになりました。すこしSvelteもします。 Rubyは名前を聞いたことがあるしちょっとニッチなPythonライブラリ探そうとしたら時々検索にgemが引っかかってそちらにはあるのねえという感想を抱くなどしていましたが何の因果か触ってみるには至らず、沖縄に来て初めてコードを見たまであります。 愛媛県松山市で趣味の音楽ゲーム(DDR)に高じていたところ

                      Ruby知識ゼロから初参加したRubyKaigi 2024レポート - 共沸
                    • JavaScriptの代替言語、TypeScriptが最有力か

                      JavaScriptは、Webブラウザで実行されるプログラミング言語として代表的な存在だ。しかし、JavaScriptで大規模アプリケーションを開発するのは難しいとして、代替のプログラミング言語、JavaScript風プログラミング言語、JavaScriptのスーパーセットとして開発されているプログラミング言語が存在している。これらの中からどれを選択すればよいかを判断するのが難しい状況にあるが、多くのユーザーは「TypeScript」を代替言語として使う動きが出てきているようだ。 State of JavaScriptは、2019年におけるJavaScript関連の調査データとして、「The State of JavaScript 2019」を公開した。調査の対象にJavaScriptの代替言語に関するものがあり、他の言語を引き離してTypeScriptが強い人気を示している。 TypeS

                        JavaScriptの代替言語、TypeScriptが最有力か
                      • 型クラスのご紹介 - molecular coordinates

                        この記事は型 Advent Calendar 2019の23日目です。 おはようございます!!!coord_eです、よろしくどうぞ。 はじめに この記事ではOCamlみたいなML系言語が登場します。関数型プログラミング言語と呼ばれる何かしらに触れたことがある人ならお気持ちで読み取れると思います。そうでない人はこちらからOCamlに入門してみると楽しいと思います。楽しいと思いますって何ですか... また、私は正直なところこの記事を書くにあたって関連する十分な量の文献を読みこむことができたわけではなく、誤りが存在することは容易に想像できます。誤字や誤謬を発見された方は@coord_eまでご連絡ください。 概要 型クラス (type class)はWadlerによって[1]で提案された言語機能だ。本記事では型クラスを導入する動機をオーバーローディングの観点から紹介した後、Wadlerの型クラスを

                          型クラスのご紹介 - molecular coordinates
                        • The Hamler Programming Language

                          Haskell-style functional programming language running on Erlang VM. View the Project on GitHub hamler-lang/hamler The Hamler Programming Language Hamler is a strongly-typed language with compile-time typechecking and built-in support for concurrency and distribution. Hamler empowers industries to build the next generation of scalable, reliable, realtime applications, especially for 5G, IoT and edg

                          • JavaScript backend merged into GHC | IOG Engineering

                            A new JavaScript backend was merged into GHC on November 30th, 2022! This means that the next release of GHC will be able to emit code that runs in web browsers without requiring any extra tools, enabling Haskell for both front-end and back-end web applications. In this post, we, the GHC DevX team at IOG, describe the challenges we faced bringing GHCJS to GHC, how we overcame those challenges, and

                            • Haskellのsomeを正格評価したら無限ループする話 - 星にゃーんのブログ

                              パーサコンビネータなんかでよく使う、 some と many という関数があります。それぞれ引数を1回以上/0回以上実行して結果のリストを返す関数で、これの単純な定義は some v = (:) <$> v <*> many v many v = some v <|> pure [] となります。 some は v : (many v) 、 many は some v または [] を返すイメージです。 パーサコンビネータでは、例えば英数字1文字以上の文字列をパースしたいとき some alphaNum と書いたりします。 面白いのは、一見とても自明に思えるこの定義は、遅延評価がないと無限ループしてしまう点です。 本当は v が失敗したら some v 自体が失敗してほしいところが、v が失敗するか否かに関わらず many v が実行されてしまいます。正格評価の気持ちで考えるとあたりまえで

                                Haskellのsomeを正格評価したら無限ループする話 - 星にゃーんのブログ
                              • JavaScriptとWeb開発 InfoQ トレンドレポート 2020

                                Web Development 2018 Q4 Graph JavaScriptとWebエコシステムがどれほど成長したかを考えると、1つのグラフにすべての領域を表示することはもはや現実的ではありません。その結果、分析を11の主要分野に分割しました。 Web開発 言語 / 標準 / パターン Web開発 クライアントサイドフレームワーク / ライブラリ Webエンジニアのためのサーバサイドプラットフォーム / フレームワーク / データ / API Webエンジニアのためのクラウド パッケージ管理 / バンドル / 最適化 Web開発のテストと自動化 Webエンジニアのためのモバイル / デスクトップ環境とフレームワーク WebエンジニアのためのIoT / ブロックチェーン / 機械学習 WebエンジニアのためのVisualization / XR CSS Web開発 コードエディタとIDE

                                  JavaScriptとWeb開発 InfoQ トレンドレポート 2020
                                • 拡張可能レコードのライブラリrecord4sについてScalaMatsuri 2024で発表しました - 貳佰伍拾陸夜日記

                                  ScalaMasturi 2024で, 拙作の拡張可能レコードのライブラリrecord4sについて発表してきました. 発表で触れられなかった点も補足しながら, 内容を文章にしておこうと思います. とくにrecord4s以外のレコード実装との比較についてはこの記事での完全書き下ろしです. モチベーション Scala 3の標準機能による解決 理想 record4s Tips メソッドの定義 例を使ってJSONをデコード 内部実装 フィールドアクセス レコードの結合 重複キー問題 Scalaの他のレコード実装 shapelessのRecord scala-records Karlsson & Haller '18 record4sのArrayRecord Named Tuples 他の言語での例 PureScript TypeScript Haskell パフォーマンス レコード作成の実行時間

                                    拡張可能レコードのライブラリrecord4sについてScalaMatsuri 2024で発表しました - 貳佰伍拾陸夜日記
                                  • fp-tsでTypeScriptでも関数型プログラミング - Qiita

                                    この記事は ウェブクルー Advent Calendar 2019 10日目の記事です。 昨日は @wchikarusato さんの「steamゲームのmodから学ぶ設計」でした。 0. はじめに 普段はScalaをメインにWebアプリケーションの開発をしています。 たまにTypescriptも触るんですが、Scalaと比べるとコレクション操作で痒いところに手が届かなかったりして、ちょっとモヤモヤする時も。Scalaっぽく開発できないかな〜と思っていた所に、fp-ts という関数型プログラミングのエッセンスを取り入れられるライブラリが目についたので、興味本位で使ってみました。 Haskell, PureScript, Scalaから影響を受けているようで、メソッド名も関数型プログラミング界隈で馴染み深いものになっています。(まあ Haskell, PureScript は触ったことが無いの

                                      fp-tsでTypeScriptでも関数型プログラミング - Qiita
                                    • 多相からプログラミング言語を見る - 趣味はデバッグ……

                                      こんにちは。ホビー型システミストの岡本です。 最近 C++ の習得をしていて、なんとなく多相(polymorphism)の視点からいくつかのプログラミング言語をまとめてみようという気になったので書いてみます。 部分型多相(subtype polymorphism) クラスベースオブジェクト指向言語でよく使うのは部分型多相ですかね。 Java や C#・C++ にある、名称的部分型多相(nominal subtype polymorphism)はこんな感じ。次の例は Java です。 class A {} class B extends A {} public class Main { public static void main(string[] args) { A foo = new B(); } } 変数 foo は A 型だけど、型(クラス)B は A の部分型(サブクラス・派生ク

                                        多相からプログラミング言語を見る - 趣味はデバッグ……
                                      • Freeモナドのしくみ - Qiita

                                        Freeは、Functorを受け取ってMonadをつくることができるモナドです。 Freeのデータ型の定義は以下です。 よくわからない再帰的な定義がされていますね。初見で読めたらすごいと思います。 この記事では、上の定義のようなFreeがどのようにMonadをつくるかを見ていきます。 次のような順で説明していきます。 PureScriptの予備知識と用語説明 ListについてFunctor / Monadを実装する Free fについて、同じようにFunctor / Monadを実装する Free fだけでなく、Freeそれ自体もモナドではあるんですが、1つ高いレイヤー(誤魔化した言い方)でのモナドなのでこの記事では触れません。 PureScriptの型システムでは表現できないですしね。 忙しい人のためのFree この記事で説明したいことをひとことで言うと、 Pureがpure、Freeが

                                          Freeモナドのしくみ - Qiita
                                        • Functional Design and Architecture (First Edition)

                                          Important: this is the First Edition of the book. * Consider buying Functional Design and Architecture (Second Edition) by Manning instead. * See also my new book Pragmatic Type-Level Design. FDaA is a fundamental book about Software Design in Haskell and other functional languages. The main idea of this book is to provide a comprehensive source of knowledge, and a complete methodology for buildin

                                            Functional Design and Architecture (First Edition)
                                          • SwiftUI 時代の Functional iOS Architecture

                                            この本は、2020/09/21 に iOSDC Japan 2020 にて登壇発表した内容を文字起こししたものです。 English ver: https://zenn.dev/inamiy/books/3dd014a50f321040a047 関数型プログラミングと圏論を用いたUIアーキテクチャー論として、iOSアプリ開発 (SwiftUI) だけに留まらず、フロントエンド開発の各方面でご活用いただけます。 使用言語は、疑似Swiftコードを用いており、他言語にも似た構文を持っているため、Swiftを知らなくてもそれとなく読めると思います。 この本では、主に下記の2点について学ぶことができます: 1. Redux / Elm Architecture の状態、アクション、Reducer 等を、各モジュールごとに分解・合成可能にする「Optics」 2. SwiftUI、React、Elm

                                              SwiftUI 時代の Functional iOS Architecture
                                            • ChatGPTに自然変換について聞いてみよう

                                              昨年後半くらいから、AIによる自然言語処理(NLP)の話題が急速に高まっていて、特にOpenAIのChatGPTは人間らしい応答がすばやく出来ることで評判となっています。 自然言語処理自体は古くからある概念で、漢字かな変換や、自動翻訳などさまざまな分野で取り入れられてきましたが、とうとう実用的なプログラミングそのものすら、プログラミング言語ではなく自然言語で記述出来る様になりつつあるというのは本当にすごいことだと思います。 さて、自然言語処理でプログラミングが出来ること、自然言語、自然とは何か、等といろいろ思索してみたところ、そういえばAIは自然性について理解はしているのだろうかと思いつきました。ここで言う自然性とは数学の一分野における圏論の概念の一つで、自然変換が持つ性質です。自然言語の自然とは直接は関係ないので、これは無理矢理な解釈によるジョークなのですが、もしかすると、何か深いところ

                                                ChatGPTに自然変換について聞いてみよう
                                              • 小規模なSPAをつくってみてわかったFable(F# -> JS)の良いところ

                                                突然ですが私、「論文等の書誌引用データのフォーマットを変換するための SPA」をつくりました✌️ RIS形式の書誌引用データをSIST02形式に変換するツールをつくった - いいんちょのブログ 開発には Fable という AltJS を使ったのですが、Fableは素晴らしいツールであるにもかかわらず、あまりWeb開発者に知られていない印象を受けます。この機会にFableを紹介する日本語記事を書こうと思います💁‍♂️ Fable とは Fable is a compiler powered by Babel designed to make F# a first-class citizen of the JavaScript ecosystem https://fable.io/ Fable は F#のコードを Babel compatible な AST に変換するツールです。つまり

                                                  小規模なSPAをつくってみてわかったFable(F# -> JS)の良いところ
                                                • Rust、それともPython? 次に学ぶ「プログラミング言語」を決める方法

                                                  関連キーワード 人事 | プログラマー | スキル 企業のシステムは日々進化を続けており、市場では人工知能(AI)技術を用いたコーディング支援ツールが続々と登場している。そうした激しい変化の中で「どのプログラミング言語を学ぶべきか」と悩む開発者のために、次に学ぶプログラミング言語を賢く決める方法を紹介する。 Rust、それともPython? プログラミング言語の“賢い選び方”とは 併せて読みたいお薦め記事 「プログラミング言語」についての話題 C、C++でもRustでもなく「Zig」に期待できるのはなぜか 「人気のプログラミング言語」5選、愛される理由は? 開発者がプログラミング言語を学ぶ動機として、「使える技術の幅を広げたい」「問題解決能力を高めたい」「特定の開発プラットフォームを使えるようになりたい」などが挙げられる。 新しいプログラミング言語を選ぶ際の有効な方法の一つは、「あまりなじ

                                                    Rust、それともPython? 次に学ぶ「プログラミング言語」を決める方法
                                                  • Zipperとは - Qiita

                                                    Zipperというデータ構造について、図を使ってわかりやすく解説したいと思います。 この記事ではZipperがどういったものかは説明しますが、それがどう応用されうるかは紹介しません。 応用例については、少し長いですが以下の記事がわかりやすかったです。 Haskell/Zippers - Wikibooks また、ComonadとしてのZipperの応用例は、以下の記事がとてもわかりやすかったです。 コモナドを使った抽象化の威力をライフゲームで試してみた - Qiita ただ、Haskellは遅延評価で、PureScriptは正格評価なので、この記事とは実装がところどころ異なります。 サンプルコードはPureScriptですが読めなくても図さえ見れば理解に大きな支障はないと思います。 これは余談ですが、シンタックスハイライトの関係で```haskell ... ```でコードブロック書いてる

                                                      Zipperとは - Qiita
                                                    • 【毎日自動更新】湯婆婆 LGTMランキング! - Qiita

                                                      Wrapping up @momeemtさんの記事にある通り、入力を受け取ってそれを変換して出力するというのは、プログラミングの基本ーー大きく言うと、つまり湯婆婆はこれからの"Hello, World"における例題の一つのような気がしています 将棋の原田泰夫九段が提唱された**三手の読み(こうやる、こう来る、そこでこう指す)**に通じるものがあるような気がします 令和のHello World!との呼び声も!(@everylittle さん) 令和2年なのに未だにRaspberry Pi 2しかもっていない私の虎の子のRaspberry Pi 2が毎日自動更新しております コミット 自動更新は、Elixirというプログラミング言語がありまして、そのElixirで作られたNervesというナウでヤングなcoolなすごいIoTフレームワークを使ってつくったアプリケーションで行っております Ner

                                                        【毎日自動更新】湯婆婆 LGTMランキング! - Qiita
                                                      • 関数型プログラミングがソフトウェア開発の未来であるべき理由

                                                        IEEE Spectrumより。 習得は難しいが、コードから不足の事態が発生することは少なくなる。 BY チャールズ・スカルファニ ソフトウェア製品のライフサイクルの中で最も長く、最もコストのかかるフェーズは、素晴らしい機能が最初に想像され、そして作られる、システムの初期開発段階と思うかも知れません。しかし、実は一番大変なのは、その後のメンテナンスのフェーズなのです。プログラマは、開発中に取った近道の代償を払わされることになるのです。 では、なぜ彼らは近道をしてしまったのでしょうか? もしかしたら、自分たちが手を抜いていることに気づいていなかったのかも知れません。開発したコードが多くのユーザに使われるようになって初めて、その隠れた欠陥が明らかになりました。また、開発者が急いでいたのかも知れません。市場投入までの時間的なプレッシャーから、開発したソフトウェアには、そうでない場合よりも多くのバ

                                                          関数型プログラミングがソフトウェア開発の未来であるべき理由
                                                        • ホームシアター構築時の座席とスピーカーの位置を決められる「Home Theater Calculator」

                                                          ホームシアターを構築するにあたり、どのあたりにどのスピーカーを置けば最適なのかというのは部屋によって異なります。それを簡単に算出してくれるのが「Home Theater Calculator」です。 Home Theater Calculator - Blogomatano https://chriskiehl.com/article/home-theater-calculator GitHub - chriskiehl/home-theater-calculator: Set yo shiz up right https://github.com/chriskiehl/home-theater-calculator 「Home Theater Calculator」を作ったのはAmazonで働いている開発者のchriskiehl氏。「Purescriptを学ぶために何かを作ってみた」とい

                                                            ホームシアター構築時の座席とスピーカーの位置を決められる「Home Theater Calculator」
                                                          • [GitHub] Markdownの「シンタックスハイライト」に対応している言語一覧 - ねこの足跡R

                                                            Markdownでプログラムのソースコードを記述する場合に使うバッククォート3つで囲う「コードブロック」ですが、気の利いた環境だと自動的にシンタックスハイライトによって予約語やコメント分などを色分けして見やすく表示してくれます。 GitHubも例外ではなく、各リポジトリに常設されているWikiやREADMEなどをMarkdownで記述した場合は自動的にシンタックスハイライトされます。 メジャーな言語であればそのまま記述すればよいのですが、例えばYAMLやJSONなどのデータ形式や、Apacheの設定ファイルなどそもそもカラーシンタックスに対応しているのか、対応している場合キーワードはなんだろうと迷いますよね。 今回はGitHubが対応しているカラーシンタックスの設定一覧をまとめておきます。 ハイライトのやり方 GitHubで利用できる言語一覧 定義 一覧 おまけ 抽出方法 参考ページ ハイ

                                                              [GitHub] Markdownの「シンタックスハイライト」に対応している言語一覧 - ねこの足跡R
                                                            • RecoilにインスパイアされてPureScript用仮想DOMつくった - oreshinyaのブログ

                                                              追記 ここに記述した内容は既に古くなっています。 内部実装は既に書き直されていますし、Hooks likeなAPIも少しだけインターフェースが変更されています。 興味のある方は直接purescript-grainへ見に行ってください。 動機 Recoilが思ったより話題になっていたので、PureScriptだったらどういう表現ができるかなと思ってつくりたくなった。 そういうわけで、PureScriptにおける仮想DOM実装の3作目が爆誕してしまった。 結果 purescript-grain こういう感じになった 型クラスのインスタンスにした型が各状態になり各状態キーにもなるという感じになった。 実はここの表現に関してはかなり迷って、最初は、シンボル(型レベル文字列)と状態の型をもち、キーの型から状態の型への関数従属性をもった型クラスのインスタンスにすることで表現しようと考えたが、PureS

                                                                RecoilにインスパイアされてPureScript用仮想DOMつくった - oreshinyaのブログ
                                                              • Scala ユーザーがぬるっとHaskellに入信したのでHaskellのはじめかたについて書く

                                                                Scala is a gateway drug to Haskell Scala ユーザーが先っちょだけ Haskell に入信してみました. Scala で 関数型プログラミングと呼ばれるプログラミングスタイルのコードを書きはじめると次第に Haskell(や PureScript などのいわゆる 純粋 関数型言語)の魅力に気が付きますよね(^ω^)? 例えば println が IO の外にあるとハァ(´・ω・`)という顔になりますね. cats を使っていると MonadError が PureScript と異なって、raise と handle の両方の機能を備えているのに困るときがありますよね. (MTL使え、ということでしょうか?) せっかくなので Haskell をチョット触ってみました. 別にHaskell である必要はないんですが、純粋関数型言語の代名詞のようなものなの

                                                                  Scala ユーザーがぬるっとHaskellに入信したのでHaskellのはじめかたについて書く
                                                                • 令和にはじめるReduxの学び方 - タオルケット体操

                                                                  本当に効率が悪いReduxの学び方 いまある"フレームワーク"の中でReduxほど覚えるのが簡単なものはありません。 しかし(僕を含め)多くの人が学習の最初に躓きと強い苦痛を覚えるようです。何故でしょうか。 私見ではありますが、これにはReduxがどういう性格をもったツールであるかということ、それによって現在マジョリティを占めるフレームワークとは異なる学習スタイルを求められることが影響していると考えております。 理由は追々述べていきますが、一番効率の悪いReduxの学習方法は「覚えよう」とすることです。 (異論はあるかもしれませんが)Railsなどのフルスタック系フレームワークを習得するときには実装例を写経するなどして暗記から学習していくスタイルはかなり有効だとおもいます。しかしReduxを同じように学習していくのは遠回りどころか、最悪で何一つ得られるものはなくただ壊れたアプリケーションが

                                                                    令和にはじめるReduxの学び方 - タオルケット体操
                                                                  • Track Awesome List Updates Daily

                                                                    Track Awesome List Updates DailyWe track over 500 awesome list updates, and you can also subscribe to daily or weekly updates via RSS or News Letter. This repo is generated by trackawesomelist-source, visit it Online or with Github. 📅 Weekly · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 Github · 🌐 Website · 📝 09/04 · ✅ 09/04 Table of Contents Recently Updated Top 50 Awesome List All Tr

                                                                      Track Awesome List Updates Daily
                                                                    • Java経験者が「Kotlin」に乗り換えたくなる5つの理由

                                                                      関連キーワード Java | JavaScript | プログラミング 「Kotlin」(コトリン)はメインフレームアプリケーションからモバイルアプリケーションまで、幅広いシステムの開発に使えるプログラミング言語だ。プログラミング言語「Java」の代替としても注目されるKotlinには、Javaにはない利点や魅力がある。Kotlinの魅力10個のうち、Java経験者がKotlinに乗り換えたくなる理由を5つ紹介する。 Javaから「Kotlin」に乗り換えたくなる5つの理由 併せて読みたいお薦め記事 連載:Javaの代替言語Kotlinの魅力 もうJavaには戻れない? 開発者が「Kotlin」を好きになる5つの理由 プログラミングの関連記事 「アロー関数」「ダイヤモンド演算子」とは? 知っておくと便利なIT用語 「PureScript」が「JavaScript」より優れる点、劣る点 開発

                                                                        Java経験者が「Kotlin」に乗り換えたくなる5つの理由
                                                                      • Why is Learning Functional Programming So Damned Hard?

                                                                        My Functional Programming journey was filled with dead ends, false starts, failed attempts and frustration. And I suspect that I’m not alone in this struggle. So why is this a common problem and what can be done about it? And how can you avoid the these same pitfalls? TLDR: My solution circa 2021, Functional Programming Made Easier: A Step-by-Step Guide. Learning to Program My initial programming

                                                                          Why is Learning Functional Programming So Damned Hard?
                                                                        • 実例によるPureScript

                                                                          目次に戻る 第1章 はじめに1.1 関数型JavaScript関数型プログラミングの手法は、かねてよりJavaScriptでも用いられてきました。 UnderscoreJSなどのライブラリは、 mapや filter、 reduceといったよく知られた関数を活用して、小さいプログラムを組み合わせて大きなプログラムを作れるようにします。 var sumOfPrimes = _.chain(_.range(1000)) .filter(isPrime) .reduce(function(x, y) { return x + y; }) .value(); NodeJSにおける非同期プログラミングでは、第一級の値としての関数をコールバックを定義するために多用しています。 require('fs').readFile(sourceFile, function (error, data) { if

                                                                            実例によるPureScript
                                                                          • PureScript 入門 のそのまえ - エフアンダーバー

                                                                            QiitaでPureScriptを始めるのに苦戦している記事を読んで、 自分もこの前すごく苦労したことを思い出したので、 まだ感覚が残っているうちにいろいろ書いておくことにしました。 PureScriptの紹介が目的ではないので、 「PureScriptとは何か」とか「どんなコードを書くか」みたいな話は特にしません。 PureScriptを学ぶ上で知っておくと役に立つかもしれない知識について雑多に書くだけです。 PureScriptを始めるその前に PureScriptは比較的新しい言語で、かつ今のところ非常にマイナーな言語です。 そのため、現在資料がとても乏しく、いくらかき集めても、 関数型言語を何も知らない人間が理解するのは困難な状況です。 そこで、まず最初にやるべきはPureScriptの類似言語を学ぶことだと思います。 遠回りに感じるかもしれませんが、おそらくこちらの方が近道です。

                                                                              PureScript 入門 のそのまえ - エフアンダーバー
                                                                            • AM012 – Why Typing Erlang is Hard: Standard Erlang

                                                                              Table of ContentsIntroStandard ErlangTyping the Erlang LanguageFunctions on Untagged UnionsFunctions on Record TypesFunctions on Tagged Unions (Variants)Receive ExpressionsDynamic Dispatch and M:F(A) syntaxWhat’s NextIntroI heard before that Erlang and the BEAM did not pack a static type system because their creators “couldn’t build it”. That is nonsense. While building a sophisticated, reliable a

                                                                                AM012 – Why Typing Erlang is Hard: Standard Erlang
                                                                              • Zip を表すOptics、それが Grate

                                                                                初めに 最近(主に自分の)TL でにわかに流行を見せている Optics a.k.a. Lens ですが、2015 年に Grate という Optics が登場していたのをご存じでしょうか? PureScript の Optics ライブラリ purescript-profunctor-lenses には Grate Optics が採用されています。 しかし、Grate Optics について触れた日本語記事は相当少なそうなので、自身の整理も兼ねて記事にします。 Optics のヒエラルキーなど、Optics 全体についても軽くまとめているので Optics 分からんという方にも読んでいただけると嬉しいです! Grate Optics Grate の初出はココ?だと思います 曰く、Grate は Closed な p に対する Optics p です。(??) Optics の復習 O

                                                                                  Zip を表すOptics、それが Grate
                                                                                • An Object-Oriented Language for the '20s - Adam Nelson

                                                                                  Object-oriented programming is out of fashion now, and it has been for a while. Rarely are new programming languages intentionally object-oriented. And there are good reasons for this: OO often requires a lot of boilerplate, it forces code into unnatural object hierarchies, and it encourages hidden mutable state. But, if we made a new statically-typed OO language from scratch in 2021, something in