並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 1181件

新着順 人気順

haskellの検索結果161 - 200 件 / 1181件

  • Top 20 Dockerfile best practices

    Learn how to prevent security issues and optimize containerized applications by applying a quick set of Dockerfile best practices in your image builds. If you are familiar with containerized applications and microservices, you might have realized that your services might be micro; but detecting vulnerabilities, investigating security issues, and reporting and fixing them after the deployment is ma

      Top 20 Dockerfile best practices
    • Javaが遅いって お前それPetrの前でも同じ事言えんの? - 宇宙ツイッタラーXの憂鬱

      うっかり「Javaは遅いので競技プログラミングには向いていない」みたいなことを言ってしまう人が稀にいますが、世界最強の一角であるところのPetrさんはJavaで問題を解きまくっているわけです。 _,,;' '" '' ゛''" ゛' ';;,, (rヽ,;''"""''゛゛゛'';, ノr)   Javaが遅いって ,;'゛ i _  、_ iヽ゛';,    お前それPetrの前でも同じ事言えんの? ,;'" ''| ヽ・〉 〈・ノ |゙゛ `';, ,;'' "|   ▼   |゙゛ `';, ,;''  ヽ_人_ /  ,;'_ /シ、  ヽ⌒⌒ /   リ \ |   "r,, `"'''゙´  ,,ミ゛   | |      リ、    ,リ    | |   i   ゛r、ノ,,r" i   _| |   `ー――----┴ ⌒´ ) (ヽ  ______ ,, _´) (_⌒

        Javaが遅いって お前それPetrの前でも同じ事言えんの? - 宇宙ツイッタラーXの憂鬱
      • 技術書典応援祭+技術書典8(+α)で買ったおすすめの技術系同人誌 - Qiita

        自分が技術書典応援祭+技術書典8(+α)で買った技術系同人誌のなかでおすすめのものを書いていきたいと思います。データサイエンス、機械学習系が多めです。 買ったもの全部は書けなかったので、ここに書いていないのがおすすめではないというわけではないです。(最後以外は)全て自分で購入したものです。 A Primer on Adversarial Examples タイトル:A Primer on Adversarial Examples サークル:原理的には可能 著者:菊田遥平 ページ数:99ページ 電子版 https://techbookfest.org/product/5483924549533696 個人的にはめちゃめちゃおすすめの本です。「技術書典 応援祭」に出ている本では一番これがおすすめです。 いきなり「Adversarial Examples」と言っても何のことだかわからないですよね

          技術書典応援祭+技術書典8(+α)で買ったおすすめの技術系同人誌 - Qiita
        • 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
          • 知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ

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

              知らない技術まみれのチームに移動した時に実践したこと - がんばるぞ
            • Rails に Babel と Rollup を組み込んで CoffeeScript を JavaScript に段階的に移行した話 - クックパッド開発者ブログ

              こんにちは。技術部クックパッドサービス基盤グループの青沼です。当グループではクックパッドのレシピサービスを支える web アプリケーションの改善を進めています。今回はフロントエンドの改善の一環として、 Babel と Rollup を Rails のアセットパイプラインに組み込み、レガシーな CoffeeScript ファイルを ES2015+ の JavaScript に移行した話をします。 レシピサービスと CoffeeScript の歴史 クックパッドは10年以上の歴史を持つサービスです。中でもレシピサービスの web アプリケーションは初期に作られた Rails 2 アプリケーションがアップグレードを重ねながら今も動いています。2018年には Rails 3 から4へ、つい最近では4から5へのアップグレードを完了しました。 Ruby のコードはそれに伴って新しい書き方へと徐々に移行

                Rails に Babel と Rollup を組み込んで CoffeeScript を JavaScript に段階的に移行した話 - クックパッド開発者ブログ
              • 0からScalaを本番導入して感じたこと・考えたこと - k.dev

                はじめに 弊社ではScalaを本番環境に導入して大体1年になる。 導入以前に社内的にScalaに関する知識はゼロだった。 Scalaという言語は巷では色々言われているが愛好者とそれ以外の壁が非常に大きな言語のように思える。 ここはコミュニティの努力によって埋められようとしているが、他の言語に比べてまだまだなのが現状である。 弊社でのScala導入経験に関する情報がその壁を取り払う一助になることを祈る。 導入経緯 Railsの運用コスト もともとはプロダクトのバックエンドはRailsで書いていた。 Railsは非常に高速にプロダクトを開発できるのだが、長期的に見るとその高速性よりも運用困難性、堅牢性の欠如が目立つようになってきた。 MVCアーキテクチャは複雑なプロダクトを構成するのにはシンプルすぎた。 特にRailsの中核をなすアクティブレコードモデルのせいで問題の分割が難しかった。 じゃあ

                  0からScalaを本番導入して感じたこと・考えたこと - k.dev
                • 学習用と実用のプログラミング言語

                  学習用のプログラミング言語分類方法にもよるけど、プログラミングのパラダイム(考え方)は 命令型宣言型の2種類がある。 それぞれに根拠となる計算モデルがあり、細分化すると4種類に分類できる。パラダイム 分類 基礎となる計算モデル言語命令型 手続き型 チューリングマシン C、Java、Python、JavaScript 宣言型 問合せ型 関係モデルSQL宣言型 関数型 ラムダ計算Lisp、Haskell宣言型 論理型 一階述語論理Prolog (参考) anond:20230826113219 プログラミング言語って、似たり寄ったりだけど、それでも後から後から新しい言語が出てくるね。 それぞれのグループで代表的な言語を1個ずつ順番に学んでいけば、全ての種類を一通り制覇できる。 例えば、 PythonSQLHaskellPrologといった具合で。 各グループのどれか1個を知っておけば、同一グル

                    学習用と実用のプログラミング言語
                  • なぜ 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
                    • 好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】

                      2019年11月30日、翔泳社主催の若手エンジニア向けカンファレンス「Developers Boost(デブスト)~U30エンジニアの登竜門~」が開催された。基調講演では、マイクロソフトのCloud Developer Advocateで「ちょまど」こと、千代田まどか氏が登壇。30歳以下(U30)の若手エンジニアに向け、「これが私の戦い方」をテーマに自身のキャリアを語り、若手エンジニアの成長と交流をブーストした。 マイクロソフト Cloud Developer Advocate 千代田まどか(ちょまど)氏 「推し」には時間・労力・お金を惜しまず、全力を注ぐ マイクロソフトでCloud Developer Advocate(クラウド デベロッパー アドボケイト)として、国内・海外で多数の講演をこなし、「Developers Summit 2017」ではベストスピーカー賞 総合第1位を獲得して

                        好きで打ち込めることを探すこと――ちょまど氏のキャリアを形成した「オタ駆動開発」とは【Developers Boost 2019】
                      • Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog

                        ※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 本日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコアは非常に高く、混乱が予想されるため、脆弱性に関する詳細を本記事にまとめます。 はじめに TL;DR CVSSスコア 技術詳解 根本原因 CreateProcessのラッパー cmd.exeのパース規則

                          Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog
                        • TypeScriptで関数型プログラミングしたい勢に推したいPipeline operatorの良さ - タオルケット体操

                          前置き Rubyで一瞬だけ湧いて出てきて消えたPipeline風演算子については忘れてください。あれはメソッド呼び出しの演算子であって今回取り上げるPipeline operatorとは似て非なるものです。 JavaScripterでも、Ramda.jsやRxJSを普段から使っている人には既知の内容だと思うのでこの記事は読まなくて大丈夫です。 ちなみに僕のステータスは関数型にわか勢なので認識に間違いがあったらなんらかの訂正もらえるとうれしいです。 Pipeline operatorとは 古くはML系の言語で定義されてF#やElixirの流行で一般に有名になった演算子こと |> です。 f a を a |> f と書けるようになります。 詳しくはこちらで: https://mametter.hatenablog.com/entry/2019/06/15/192311 覚えた方がいい理由 Ty

                            TypeScriptで関数型プログラミングしたい勢に推したいPipeline operatorの良さ - タオルケット体操
                          • Haskellを業務で使う、カジュアルに - Haskell-jp

                            Link to hereはじめに この記事では、Haskellを業務でカジュアルに使う観点やヒントについて、簡単に紹介します。 Haskellを業務で使える局面は、以下のようにいくつか考えられます。 「プロダクト」の開発用言語として、Haskellを使う 「作業」の支援・加速用に、Haskellを使う 「思考」の支援・加速用に、Haskellを使う つまり、プロダクトの開発用言語としてHaskellを用いない業務形態においても、上記2や3のケースとして、Haskellを使用できます。すなわち、Haskellは幅広い局面でカジュアルに、つまり気軽に手軽に使用できます。 本記事では、特に、上記の2と3について、いくつかの観点やヒントや例を紹介します。 なお、上記は、Haskellを用いる場合には限りません。Python, Perl, Ruby, Rust, Scala, OCaml, Cloj

                              Haskellを業務で使う、カジュアルに - Haskell-jp
                            • 個人的な Python についての不満

                              良い言語だと思うが、不満がある。 Perl と比較して、 後継としては、妥当だと思う。読みやすさ、整理された文法、関数型や C のとっつきにくさを排除したという点では、 Python がデファクトスタンダードになるのは当然だろう。そして、その利点が最高にクソだ。この世界にゴミを作り出す元凶となっている。 Ruby と比較して、 そりゃ Matz も Ruby をつくるわ...クラスベースなくせに、オブジェクトの先祖が決定しないのは最強にクソ。 あの文法のせいで、Pass とか出てくるのだ。動的言語にタプルはいらねーだろ。メソッドと定義するときに、最初の引数に self 入れるかどうかがクラスメソッドになるか否か、という設計はキモい。Python 3 になるとき、Ruby から色々パクったよな?つまり、Python 3 は Ruby の子孫と言えよう。 Javaと比較して、 遅い。引数に型が

                                個人的な Python についての不満
                              • ソースコード生成AI「AI Programmer」が対応言語を拡充、正規表現や日本語解説にも対応/PHP、Go、Haskell、Lisp、C#などを新たに習得

                                  ソースコード生成AI「AI Programmer」が対応言語を拡充、正規表現や日本語解説にも対応/PHP、Go、Haskell、Lisp、C#などを新たに習得
                                • Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself

                                  Scala の trait と Rust の trait は微妙に使い方が異なる、とよく質問を受けます。たしかに、使い心地は微妙に異なるかもしれません。Scala はオブジェクト指向を中心に設計された言語ですが、Rust はそれを中心に設計されているとは言えません*1。こういった言語設計の差が、trait の使い心地の違いを生み出していると私は思っています。 両者の trait には、共通した特徴もあります。共通した処理をまとめあげるという意味では同じ目的をもっているといえますし、また、「犬は動物である」「猫は動物である」の共通性を示すことで、共通したものをひとまとめに処理しきることもまた可能です。 Scala には implicit という強力な機能が存在します。これは柔軟でスケーラブルなソフトウェアデザインを可能にする Scala の特徴のひとつです。非常にすばらしい機能です。この機能

                                    Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself
                                  • Haskell〇〇多すぎ問題 - LugendrePublic

                                    初心者が入門書を読んでさぁ書くぞとなったときにつまずくところのうちの一つが,同じようなライブラリが多すぎ問題である. ということでそういうライブラリの話をしよう. 例によって例のごとく間違っていること書いてあるかもなので報告よろしく. モナド変換子 Haskellで実用的なプログラムを書く上で避けて通れないものの一つにモナド変換子がある.こいつはなにかというと,簡単に言えば,モナドを合成してでかいモナドを作るやつである.人間がおおよそ使うであろうモナド変換子はライブラリで提供しているので,それらを組み合わせてお望みのモナドを作ろうとするわけだが,そこに立ちはだかるのがtransformersとmtlである. transformersとmtl transformersはlift という下位のモナドのアクションをでかいモナドのアクションに持ち上げてくれるメソッドが定義されたMonadTrans

                                      Haskell〇〇多すぎ問題 - LugendrePublic
                                    • 「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog

                                      はじめに こんにちは、Google Cloudのオブザーバビリティ/SRE担当者です。このたび私が翻訳しました「実践プロパティベーステスト PropErとErlang/Elixirではじめよう」という書籍がラムダノート社より去る11月1日に出版されました。書店ならびに各社オンラインストアでご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう 作者:Fred HebertラムダノートAmazon 実践プロパティベーステスト ― PropErとErlang/Elixirではじめようwww.lambdanote.com 電子書籍についてはラムダノート社のECサイトよりご購入いただけます。 実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう(電子書籍のみ)www.lambdanote.com 「実践プロパティベ

                                        「実践プロパティベーステスト」という本が出版されました #pbtbook - YAMAGUCHI::weblog
                                      • 【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita

                                        プログラミング言語が2-圏として考えられるということについてソースから訳出した。(2023.2.22) 動機 最近、chatGPTにいろいろ尋ねるのが流行っているらしい。Haskellで有名なモナドの概念がなぜ導入されたか尋ねている人を見かけて、そういやそういう記事見たことないなと思ったので適当に調べた。 一次ソース 元ネタは以下のマイナーだと思われる文献 An abstract view of programming languages Eugenio Moggi教授のあんま読まれてない方の論文 Denotational Semantics Peter D. Mosses教授のこの論文(2部あって後半の方) 邦訳があり邦訳で読んだ。 プログラミングのモナド発見の経緯 プログラミングのモナドはなんか包んだり抜き出したり見たいな感じの概念で知られてますが、プログラミングの概念をモジュール化す

                                          【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - 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
                                          • 最小共通祖先を求めるアルゴリズムの形式検証 | Wantedly Engineer Blog

                                            競技プログラミングには概念を知っておかないと解きようがない、いわゆる覚えゲーのような問題が存在します。典型的な例が 10^9+7 といった素数で割った余りを求めろといったもので、普段業務で日常的に素数で割った余りを求めている人でもなければ、割り算がしたければフェルマーの小定理や拡張ユークリッドの互除法を使えば良いと直ぐには思い付けないのではないでしょうか。 最小共通祖先も覚えゲーで必要な概念の一種と言えます。これは読んで字のごとく、与えられた根付き木の下で2頂点に共通する祖先のうち、最も根から遠い頂点を指す概念で、例えば木の2頂点が与えられて、頂点間の経路について何かを求めろといった問題で威力を発揮することが多いです。これを用いて解ける例を挙げるとすると次の問題でしょうか。 https://atcoder.jp/contests/abc014/tasks/abc014_4 最小共通祖先を求

                                              最小共通祖先を求めるアルゴリズムの形式検証 | Wantedly Engineer Blog
                                            • 計算機に推論できる型、できない型 | Wantedly Engineer Blog

                                              本記事は Wantedly 21新卒 Advent Calendar の17日目の記事です。本記事では、いくつかの言語の型システムに実装されている様々な機能を紹介するとともに、それが型推論の実現性に与える影響について述べます。 最近静的型付き言語が盛り上がりを見せ、動的型付き言語の筆頭格だった Ruby もバージョン 3.0 で型解析ツールを導入するまでに至った一因には、きっと型推論の有用性が知られるようになったことが挙げられることでしょう。C言語で、関数ポインタを含んだ複雑なプロトタイプ宣言を書いている時ほどストレスを感じる時間はないし、かと言って Ruby on Rails で書かれたバックエンドを弄っている時に、型チェッカがあれば自明に発見できたであろうエラーでインシデントを起こすほど悲しいことはありません。プログラマが型を書かなくても静的な型チェックの恩恵を受けられる型推論の、何と

                                                計算機に推論できる型、できない型 | Wantedly Engineer Blog
                                              • VS Code拡張機能を追加してCloudFormation開発環境をレベルアップする | DevelopersIO

                                                データアナリティクス事業本部コンサルティンググループのnkhrです。 このブログでは、CloudFormation開発で利用できるVS Code拡張機能の設定について紹介します。今回実施した環境のバージョンは、下記の通りです。 Windows 10 VS CodeのVersion 1.60.2 PythonのVersion 3.9.7 ※バージョンが違うとGUIの設定画面や、設定パラメータ名など異なる場合があるため、設定時は注意してください。 このブログでは、下記の拡張機能の設定について説明しています。 vscode-cfn-lint:テンプレートを解析しバリデーションを実施 indent-rainbow:インデントをカラー表示(yaml形式で作成する場合は重宝しそう) CloudFormation support for Visual Studio Code:補完機能や公式ドキュメントの

                                                  VS Code拡張機能を追加してCloudFormation開発環境をレベルアップする | DevelopersIO
                                                • QUICをゆっくり解説(17):QUICビットとトランスポート・パラメータ | IIJ Engineers Blog

                                                  Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 お久しぶりです。一家の引っ越しでバタバタしておりました。ようやく落ち着いてきましたので、「硬直化」をテーマとしてQUICに関して3つほど記事を書いてみようと思います。 硬直化 硬直化とは、中間装置が想定外の動作をすることによって、新しい機能の普及が困難になることです。硬直化の例としては、TCP Fast Openが完全に普及できないことが挙げられます。 TCPでは、コネクションを確立するために、いわゆる3WAYハンドシェイクが実行されます。通常は、クライアントがSYNパケットを送信し、サーバがSYN/ACKパケットを返し、その後クライアントがACKを返す際に初めてデータを送信できます。 もし最初のSYNパケットにデータを乗せることがで

                                                    QUICをゆっくり解説(17):QUICビットとトランスポート・パラメータ | IIJ Engineers Blog
                                                  • 挿入ソートと選択ソートは双対 - Qiita

                                                    先日 Gotanda.hs #1 @HERP というイベントがあって、そこでRecursion Schemesで考える並べ替えアルゴリズムというタイトルでA Duality of Sortsという論文の話をLTしたんですが、この記事ではそこで話せなかった論文の後半で解説されている挿入ソートと選択ソートの双対性について書いていきたいと思っています。 ソートアルゴリズムの復習 まずは主役の二人である挿入ソートと選択ソートについて見ていきましょう。 挿入ソートは与えられたリストの先頭から要素を取り出し、これまでに構築したソート済みのリストに挿入していくという処理を繰り返すことでソートを実現するアルゴリズムです。 出典: Insertion sort - Wikipedia これをHaskellで実装すると以下のようになります。 insertSort :: [Int] -> [Int] inser

                                                      挿入ソートと選択ソートは双対 - Qiita
                                                    • Elm at Rakuten | Rakuten Engineering Blog

                                                      In our team at Rakuten, we have been using Elm1 in production for almost two years now. This post is about our story, the lessons we learned, and our likes and dislikes. This post is quite long so if you prefer to see an overview, feel free to jump to the index. Everything started in the Berlin branch of Rakuten during the summer of 2017. We were maintaining a medium-size single-page application w

                                                        Elm at Rakuten | Rakuten Engineering Blog
                                                      • 型安全で高速な連鎖行列積の計算

                                                        この記事は Haskell Advent Calendar 2021 の22日目の記事です。 次のような3つの行列の積を考えてみましょう。 ABC = \begin{pmatrix} a_{00} & a_{01} & a_{02} \\ a_{10} & a_{11} & a_{12} \\ a_{20} & a_{21} & a_{22} \\ a_{30} & a_{31} & a_{32} \\ \end{pmatrix} \begin{pmatrix} b_{00} & b_{01} \\ b_{10} & b_{11} \\ b_{20} & b_{21} \\ \end{pmatrix} \begin{pmatrix} c_{00} & c_{01} & c_{02} & c_{03} & c_{04} \\ c_{10} & c_{11} & c_{12} & c_{13}

                                                          型安全で高速な連鎖行列積の計算
                                                        • 「アルゴ式」をHaskellで学ぶための準備

                                                          この記事は、CAMPHOR- Advent Calendar 2021 の7日目の記事です。 「アルゴ式」というプログラミングを学んで実践できる非常に良質なWebサービスがあります。 アルゴリズムについて解説された教科書だけでなく、実際にプログラミングを書いて提出してオンラインでジャッジしてくれるシステムを備えた練習問題も用意されているのが特徴です。さらにこのオンラインジャッジシステムは多くのプログラミング言語に対応しており、その中にはHaskellも含まれています。 今回はこのアルゴ式を読むにあたって練習問題をHaskellで解くために必要になりそうな知識についてまとめました。アルゴ式は現在ベータ版なので将来的な変更で変わってしまうものもあるかもしれませんが、2021年12月現在の練習問題を全てHaskellで解いた上で必要になったものをまとめているので参考にしていただけると幸いです。

                                                            「アルゴ式」をHaskellで学ぶための準備
                                                          • AtCoder ガチ言語 Haskell 🔥

                                                            Haskell で AtCoder に入門しましょう

                                                              AtCoder ガチ言語 Haskell 🔥
                                                            • 「圏論とプログラミング」発表スライドメモ - Qiita

                                                              この記事は、先日の 2020年01月25日に慶応大学で開催されたシンポジウム「圏論的世界像からはじまる複合知の展望」の登壇資料を文字起こししたものです。 Slide: 圏論とプログラミング / Category Theory and Programming - Speaker Deck Video: 圏論とプログラミング / 稲見泰宏 - YouTube 皆さん、こんにちは。稲見 泰宏と申します。 本日は、この圏論シンポジウムという貴重な場でお話しさせていただくことをとても光栄に思います。 私の方からは、圏論とプログラミングに絡めた話について発表します。 それでは、どうぞよろしくお願いします。 まず簡単に自己紹介します。稲見泰宏といいます。 現在は、フリーランスのiOSアプリ開発者として活動しております。 ここに書いてあるのは、私の過去10年間のプログラミング経歴ですが、 PHPとJava

                                                                「圏論とプログラミング」発表スライドメモ - Qiita
                                                              • QUICをゆっくり解説(14):輻輳制御 | IIJ Engineers Blog

                                                                Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 「フロー制御」の回で説明したように、輻輳制御とは途中のネットワークが溢れないようにするための仕組みです。QUICは、正確なRTT計測や、前回説明した簡潔なロス検知の機能を提供しています。このため輻輳制御としては、パケット欠落や遅延といったシグナルを使うアルゴリズムが利用可能です。RFC9002では、デフォルトの輻輳制御アルゴリズムとしてNewRenoを採用しています。 1990年に現れたRenoは、1995年に出されたアイディアに基づいて改良されNewRenoとなりました。2008年に提案されたCUBICや、2016年に現れたBBRに比べると、NewRenoは古い輻輳制御アルゴリズムです。QUICのデフォルトの輻輳制御に古いNewRe

                                                                  QUICをゆっくり解説(14):輻輳制御 | IIJ Engineers Blog
                                                                • オードリー・タンが小2の時に自ら辿り着いた「いじめへの対処法」が超合理的…「小2で理解できるの」など

                                                                  kingstone @king1234stone 他の SNS では「金愚酢豚」「king0000stone」「king1234stone」「kingstone」なんかの名前でウロウロしてます。 1つに統一しておきたかったんだけどね、できなかった・・・ https://t.co/moBE0fa7SQ kingstone @king1234stone オードリー・タンさん、小学校2年生の時に虐められ、その構造を理解するため、ピアジェやモンテッソーリの本を読み、いじめは相手に自信が無いからだと結論づけ、他人を変えるのは無理と考え転校したと・・・すげ・・・ #NHK 2021-03-23 20:25:16 リンク Wikipedia 唐鳳 唐 鳳 (とう ほう、タン・フォン、オードリー・タン、英: Audrey Tang、1981年4月18日 - ) は、中華民国 (台湾) の政治家、プログラマ

                                                                    オードリー・タンが小2の時に自ら辿り着いた「いじめへの対処法」が超合理的…「小2で理解できるの」など
                                                                  • Async Rust Is A Bad Language

                                                                    But to get at whatever the hell I mean by that, we need to talk about why async Rust exists in the first place. Let’s talk about: Modern Concurrency: They’re Green, They’re Mean, & They Ate My Machine Suppose we want our code to go fast. We have two big problems to solve: We want to use the whole computer. Code runs on CPUs, and in 2023, even my phone has eight of the damn things. If I want to use

                                                                      Async Rust Is A Bad Language
                                                                    • 技術力を底上げする、Sansanの社内勉強会補助制度 - Sansan Tech Blog

                                                                      Sansan事業部プロダクト開発部の基盤チームに所属する佐藤です。Sansanでは社員が自発的に開催する社内勉強会で会社からの支援を受けることができ、月に50種類以上の勉強会が開催されています*1。各勉強会は単発のものもありますが、週に1回、1~2ヶ月継続して開催されているものが多く、中には1年半以上続いている勉強会もあります。 今回は、社内勉強会を支える制度「Geek Seek Workshop」について紹介しつつ、社内で行われている勉強会から分野や目的の異なるものをピックアップして紹介し、Sansan社内の勉強会の雰囲気や参加によるメリットを参加者の立場から多面的に伝えたいと思います。人事制度に携わる人間ではありませんが、制度を用いた社内の技術力向上のアイデアの種になれれば嬉しいです。 Geek Seek Workshop 1人あたり1000円の補助が出る 申請のハードルが低いから開催

                                                                        技術力を底上げする、Sansanの社内勉強会補助制度 - Sansan Tech Blog
                                                                      • neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する

                                                                        Result 型 (類似するものとして Either Monad の方が有名かもしれません) を導入する場合、アプリケーション全体の設計を変えたり、全箇所を書き換える必要はありません。 neverthrow は部分的に使用でき影響範囲も閉じるので、局所的に使い始めることができます。 (Rust のような) Result 型 とは ざっくり言うと関数の処理の結果と成否を 1 つの型 Result<T, E> で表したものです。(T は期待する結果の型、 E はエラーを表現する型) 筆者は詳しくはないのですが、 Haskell 等にある Either<L, R> とは厳密には違うようです(Either は両方の値が使用可能であることを前提としている?) 参考: Rust ではなぜ、Either 型ではなく Result 型を採用しているのか neverthrow とは TypeScript で

                                                                          neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
                                                                        • OSSへの貢献をさらに良い形にしたい | はてなで働く itchyny にアンケート [#13] - Hatena Developer Blog

                                                                          はてなで働くエンジニアにアンケートシリーズ第13回は、ブックマークチームのWebアプリケーションエンジニア、id:itchynyに話を聞きました。 はてなidはかぶらないように適当に付けた Haskellが得意な自分ならScalaも書けるだろうと思って チーム間で協力しながら新しいAPIの仕様を策定 TLとして、チーム横断での依頼の窓口にも 夕方から深夜にかけて頭が冴える より戦略的にOSSへ貢献する体制作りをしたい スプリントごとに常に方法を改善 実装力を活かして良いシステム構成にできた時に手応えが 意思決定の過程を書き残すのは重要なこと 意欲がある人はいくらでも学べる会社 はてなidはかぶらないように適当に付けた ── Q1. はてなidとその由来を教えてください id:itchyny (いちにぃ)です。本名ばれせず、かつかぶらないよう適当に付けたので、由来はありません。 Haskel

                                                                            OSSへの貢献をさらに良い形にしたい | はてなで働く itchyny にアンケート [#13] - Hatena Developer Blog
                                                                          • 全ての開発者が学ぶべき5つの言語 - Qiita

                                                                            「どの言語を学ぶべきか」という議論はエンジニア向け記事の定番ネタですが、HackerNoonに投稿された5 Programming Languages Every Master Developer Should Learnという記事がなかなか興味深かったので翻訳してみました。 (2018/11/04追記) こちらの記事に関する「別視点からの意見」として下記のような記事を追加いたしました。宜しければこちらも併せてご参照ください。 Ruby->Go->Scalaという習得順序がエンジニアの爆速の成長に最適である理由 はじめに 「プログラマーは新しい言語を毎年1つは習得するべきだ」という趣旨の文章をどこかで読みました。(多分CODE COMPLETEだったと思いますが) もしそれが難しくても、キャリアの中で最低限この後に紹介する5つの言語に通じておくことをお薦めします。 あらゆる会社は、多言語を

                                                                              全ての開発者が学ぶべき5つの言語 - Qiita
                                                                            • Pythonのように書けてGPU上で並列処理できる新プログラミング言語「Bend」、2D画像→3Dを高精度生成するGoogle「CAT3D」など重要論文5本を解説(生成AIウィークリー) | テクノエッジ TechnoEdge

                                                                              2014年から先端テクノロジーの研究を論文単位で記事にして紹介しているWebメディアのSeamless(シームレス)を運営し、執筆しています。 1週間分の生成AI関連論文の中から重要なものをピックアップし、解説をする連載です。第47回目は、生成AI最新論文の概要5つを紹介します。 生成AI論文ピックアップ GPU上でネイティブ動作する並列処理が可能な新プログラミング言語「Bend」とランタイムシステム「HVM2」 2D画像から3Dコンテンツを生成する「CAT3D」をGoogleが開発 大規模言語モデルは追加学習や新知識で幻覚生成が増加。Googleなどが調査 画像とテキストを使った長文生成が得意なAIモデル「Chameleon」をMetaが開発 Transformerを超える「Mamba」は視覚認識タスクに必要か? 開発した「MambaOut」モデルで検証 GPU上でネイティブ動作する並列

                                                                                Pythonのように書けてGPU上で並列処理できる新プログラミング言語「Bend」、2D画像→3Dを高精度生成するGoogle「CAT3D」など重要論文5本を解説(生成AIウィークリー) | テクノエッジ TechnoEdge
                                                                              • プログラミング言語の歴史【訂正版作成予定】

                                                                                ミスの洗い出しの完了と私の知見が更新出来次第、訂正版を作成します。時間がかかるため、しばらく以下の訂正一覧を使用ください。 この動画も継続して公開いたします。タイトルとサムネイルで区別予定です。 みなさんからのご指摘、大変参考になっております!!多数の誤情報大変申し訳ございません🙇 ***訂正一覧*** (誤00:53)コンピュータの由来は計算機→(正)機械ではなく計算する人間を指す言葉 (誤03:04)ペリーの航路→(正)太平洋側からではなく,慣れたインド洋経由で来航した (誤04:57)ニイタカヤマノボレヒト「マルフタ」ハチ→(正)ヒト「フタマル」ハチ (誤05:15)チューリングマシン→(正)ボンベというマシンで解読。チューリングマシンは無関係。 (誤06:55)機械語のかたまり→(正)1つの機械語。ビット列 (誤07:05)ドイツの位置ズレ→(正)右上が正しいドイツ (誤07:

                                                                                  プログラミング言語の歴史【訂正版作成予定】
                                                                                • 仕事で使うHaskell

                                                                                  TL;DR Haskellはいいぞ。ただ仕事で使うならビルド、デプロイ周辺は工夫する必要が色々出てくるぞ。 あ、nixもいいぞ。 はじめに Haskellを用いている会社HERPに転職してからそろそろ1年が経つので久しぶりに記事でも書いてみます。そういえばzennでは初投稿ですね。 最近はHERPでHaskellを書きつつシステム基盤整備みたいなことをやっています。あとマネージメントみたいなこともやってたりします。 僕の書いたHaskell microserviceは既に稼働して売り上げに貢献しています。 あ、HERPはHaskell FoundationのFunctorスポンサーになっています。スポンサーの名前が面白いですよね。 Haskellを仕事で使う感想 最高ですね。簡単便利十分速い保守楽拡張楽、という感じです。 並行プログラミングツールとしてstmが提供されているのがお気に入りで

                                                                                    仕事で使うHaskell