並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1312件

新着順 人気順

haskellの検索結果281 - 320 件 / 1312件

  • プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか(電子書籍のみ)

    PDFのみの提供です 紙書籍も必要な場合は、こちらからお得なセットをお求めください 紙書籍のみを差額等でお求め頂くことはできません そのプログラム、CPUの性能を引き出せますか? Takenobu Tani 著 312ページ A5判 ISBN:978-4-908686-16-0 2023年1月25日 第1版第1刷 本書の解説で利用するコード(著者によるGitHubリポジトリ) 正誤情報など ソフトウェアの価値は、ハードウェアで実行されることにより、現実のものになります。そのために不可欠なのがCPUです。したがってソフトウェアの価値は、CPUの性能、すなわち「できるだけ高速にソフトウェアを実行すること」にかかっているとも言えるでしょう。 現代のCPUの性能は、「メモリとやり取りしながら命令を実行していく」というCPUの原理的な仕組みを知るだけでは説明できません。ソフトウェアを高速に実行するた

      プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか(電子書籍のみ)
    • GHCのバックエンドについて | 雑記帳

      先日リリースされたGHC 9.2.1で、64ビットArm(AArch64)向けのネイティブコード生成器(Native Code Generator; NCG)が実装された。これを機会にGHCのバックエンドについて簡単にまとめてみる。 概略 GHCでHaskellプログラムをコンパイルすると、いくつかの中間言語を経て最終的には機械語が出力される。 この工程の最後の部分を「バックエンド」と呼ぶ。 GHCには Native Code Generator (-fasm)LLVM backend (-fllvm)unregisterised via-C backend の3種類のバックエンドが存在する。このほか、バイトコードインタープリターと-fno-codeもデータ型的にはバックエンドの一種として扱われている。(参照:compiler/GHC/Driver/Backend.hs) Native C

      • データでわかるRustの開発者達 〜Rust Survey 2021の深堀 | gihyo.jp

        Rustの開発チームは毎年末にRustユーザのサーベイを行っています。このサーベイは開発者のバックグラウンドから普段使っているツールまで幅広く問うもので、コミュニティの中心がどこにあるのか理解するのに大変役立ちます。特に、周りにRustaceanがいない方にとっては「こういうのってみんなどうしてるの?」という疑問はよく発生するでしょう。そういうときにサーベイの結果はコミュニティのトレンドを追う一助になります。 2021年は2021/12/08から2021/12/22の期間にサーベイが行われました。そこで実施されるアンケートは、英語の他、中国語(簡体字、繁体字⁠)⁠、フランス語、ドイツ語、日本語、韓国語、ポルトガル語、ロシア語、スペイン語に翻訳されました。 例年なら詳細なレポートが提出されるのですが、今年は比較的簡素なもののみであったため、大きな注目は浴びませんでした。その代わりにサーベイの

          データでわかるRustの開発者達 〜Rust Survey 2021の深堀 | gihyo.jp
        • 関数型プログラミングへの移行進む「Excel」--重要な「動的配列」 - ZDNet Japan

          印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 「Microsoft Office」は、開発ツールであるとは思えないかもしれないが、これまで長きにわたり、多くの開発ツールチェーンで中心的な位置を占めてきた。特によく使われる2つのアプリも、あまり想像がつかないだろうが、「Excel」と「PowerPoint」だ。 いずれも開発においてさまざまな役割があり、正式なアプリケーション開発プログラムの一部として、またアプリを簡単に作成し、ユーザー自身のプログラミングスキルを使って緊急のビジネスニーズを解決する手段として利用されている。 Excel:秘密のプログラミング環境 Excelは非常に興味深い開発ツールの例だ。見慣れたスプレッドシートの裏側には一連のプログラミング言語があり、非常に高度な

            関数型プログラミングへの移行進む「Excel」--重要な「動的配列」 - ZDNet Japan
          • GitHub - HigherOrderCO/HVM: A massively parallel, optimal functional runtime in Rust

            Higher-order Virtual Machine 2 (HVM2) is a massively parallel Interaction Combinator evaluator. By compiling programs from high-level languages (such as Python and Haskell) to HVM, one can run these languages directly on massively parallel hardware, like GPUs, with near-ideal speedup. HVM2 is the successor to HVM1, a 2022 prototype of this concept. Compared to its predecessor, HVM2 is simpler, fas

              GitHub - HigherOrderCO/HVM: A massively parallel, optimal functional runtime in Rust
            • Moving the Linux desktop to another reality

              In the early days of VR on Linux, when plugging in an HMD into a system completely unaware of what it was, the display was initialized as generic desktop display and the window manager extended the desktop to it. This was obviously undesirable, but you were still able to see cropped and perspectively incorrect desktop windows on your HMD. Only the bravest of us were keen enough to find the cursor

                Moving the Linux desktop to another reality
              • 67. 良い命名とは? と heyのエンジニア組織 w/ ffu_ | fukabori.fm

                MP3ファイルをダウンロード 内容紹介 hey CTOの藤村さんに、プログラミングにおける命名規則、heyのエンジニア組織設計・戦略などについて語っていただいたエピソードです。 出演者 話したネタ プログラミングにおける命名規則になぜこだわるのか? 名前のないプログラミング言語 WEB+DB PRESS Vol.110 もしくは WEB+DB PRESS総集編[Vol.1~120] 入門 名前 命名規則における「良い」とは何か? CODE COMPLETE 第2版 上 完全なプログラミングを目指して 名前の意味と挙動が一致していること parse という関数命名における例 primary と primal 全体の名前のルーツになる命名は丁寧につける 日本語を、命名規則に使うのはどうか? 関数・変数名を短くすべきか?長くすべきか? Clarity over brevity in variab

                  67. 良い命名とは? と heyのエンジニア組織 w/ ffu_ | fukabori.fm
                • 【Groq】一秒で500トークン、GPT-4の25倍のスピードで出力できるAIを使ってみた | WEEL

                  WEELメディア事業部LLMリサーチャーの中田です。 ここ数日で、言語生成AIの「Groq」が話題になりました。 これにより、GPTよりも高速でテキストを生成できるんです、、、! "GPT-3.5 class LLMs are too slow." Sure, that was true last week. Here is Groq (not the same as Musk's Grok) running Llama 2. Watch for the moment I click send. If you want to try: https://t.co/aZKkWVsamS pic.twitter.com/gOlB4cL5MC — Ethan Mollick (@emollick) February 19, 2024 XでのGroq関連の投稿のいいね数は、すで1100を超えており、

                  • そのプログラミング言語、Simpleですか?Easyですか? - たなかこういちの開発ノート

                    ScalaMatsuri 2019 Unconference Day 16時からC会場で開かれました「From Go To Scala Easy vs Simple」セッションを受けて、自分としてのまとめを記します。 ※当日のツイートまとめました。→ https://togetter.com/li/1371467 ◇ まず、私はかつてDSLを作ろうとして「プログラミング言語とは?」といったお題をある程度深く考えたことがある経緯もあって、元来次のような考えをもっていましたが、このセッションを経てそれを強化することとなった次第です。 (主張A) たぶん、「Simple」というのは、言語のSemanticsとして構成要素が十分に少なくて、それでいてどんなに複雑な構造物や機能をも応用的に組み立てられるようなことをいう。言語の構文として覚えるべきことは少ない。十分に少ない構成要素で、十分に広い応用が

                      そのプログラミング言語、Simpleですか?Easyですか? - たなかこういちの開発ノート
                    • Beating C with 80 lines of Haskell: wc

                      Despite the click-bait title I hope you'll find this post generally illuminating, or at the very least a bit of fun! This article makes no claims that Haskell is "better" than C, nor does it make claims about the respective value of either language, or either implementation. It's simply an exploration into high-performance Haskell, with a few fun tricks and hacks along the way. You can find source

                        Beating C with 80 lines of Haskell: wc
                      • 数式からいい感じに図表が生成できてしまう! Penroseを試す (SIGGRAPH 2020) - Qiita

                        Penroseとはなにか Penroseは、数式に近い数学的表現から、細かなパラメータの指定なく、いい感じに図表を生成してくれる、カーネギーメロン大発、SIGGRAPH 2020に採択されたプロジェクトです。以下に、論文より、自動生成された図表を抜粋します。 数式にとどまらず、コンピュータグラフィックスのメッシュ図示など、幅広い表現に使えます。 Penroseは、数式に近い数学的表現から、細かなパラメータの指定なく、いい感じに図表を生成してくれる、カーネギーメロン大発、SIGGRAPH 2020に採択されたプロジェクトです。 数式にとどまらず、コンピュータグラフィックスのメッシュ図示などにも使えます。 まずは筆頭著者のKatherine Ye氏のTweetにつけられた動画をご覧ください。 今日現在(2020.6.7)、紹介動画のPenrose Web IDEは未公開 (今後公開予定とのこと

                          数式からいい感じに図表が生成できてしまう! Penroseを試す (SIGGRAPH 2020) - Qiita
                        • 「Rust」はなぜ人気があるのか、Stack Overflowがユーザーのコメントを紹介

                          開発者向けQ&Aサイト「Stack Overflow」は2020年6月5日(米国時間)、オープンソースのシステムプログラミング言語「Rust」がなぜ人気を集めているのか、ユーザーのコメントを紹介した。同サイトのRustチャットルームと、Rustのユーザーフォーラムから集めたものだ。 Stack Overflowが2020年5月に発表した年次開発者調査「2020 Developer Survey」では開発者を中心に約6万5000人が参加した。Rustは2016年の調査以来5年連続で、最も愛されている言語のランキングで首位を獲得した。 これを受け、Stack Overflowは同言語のチャットルームとフォーラムで、ユーザーが支持する理由についてコメントを募った。今回紹介したのはそのうちの抜粋だ。多くはRustユーザーフォーラムに寄せられたもの。 Stack Overflowはユーザーの声を紹介

                            「Rust」はなぜ人気があるのか、Stack Overflowがユーザーのコメントを紹介
                          • 新しいHaskellベースのWeb App Specification Languageがアルファ版でリリースされた

                            Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                              新しいHaskellベースのWeb App Specification Languageがアルファ版でリリースされた
                            • 駆け出しエンジニアが絶対に参加すべき東京のもくもく会10選! | コードラン

                              駆け出しエンジニアが絶対に参加すべき東京のもくもく会10選! プログラミング学習 公開日 : 2019年12月16日 | [更新日] 2023年06月01日 みなさん、もくもく会って知っていますか。 新しい人脈がほしい。 プロダクト開発を行う場所がほしい。 プログラミングのメンターがほしい。 そういった人にオススメなのがもくもく会です。 でもそもそももくもく会ってなにかわからないといった方向けに、もくもく会って何なのか、なぜおすすめなのか、そして、おすすめのもくもく会をまとめました。 もくもく会って聞いたことあるけど、あんまり知らないっていう人はぜひ読み進めてください。 もくもく会とは もくもく会ってよく聞くけどなんなんだろう。 そう思っている人も多いのではないでしょうか。 もくもく会とは、どこか(カフェでも、オフィスでも)に集まって、一つの目的に対してまさに黙々と作業したり、勉強したり、

                                駆け出しエンジニアが絶対に参加すべき東京のもくもく会10選! | コードラン
                              • その「0」は何進数ですか? - Qiita

                                十進数だろ JK はじめに C/C++ で 0 と書くと八進数として解釈されるため、十進数のゼロを書くことはできないという小ネタがありますが、では他の言語ではどうだろうと気になりうっかり調べてしまったので記事にしました。 まあ八進数だろうが十進数だろうが処理系の気持の話でしかなく何かが変わるというものでもありませんが…… 結果 概要 大まかに以下のグループに分けられました。 八進数として解釈される 十進数として解釈される (0 始まりの八進数リテラルもある) 十進数として解釈される (0o 始まりの八進数リテラルしかない) 十進数として解釈される (そもそも八進数リテラルがない) この他、 0 始まりの八進数リテラルがあるものの 0 が八進数扱いなのか十進数扱いなのか調べても分からなかったものもありました。 結果一覧 [2021-03-04 訂正: Go を 0o 始まりの八進数しかないグ

                                  その「0」は何進数ですか? - Qiita
                                • 忙しい人のためのjavascriptでざっくり理解する関数型 - Qiita

                                  対象読者 本記事はタイトルの通り、javascriptという身近な言語で関数型プログラミングのエッセンスを概要レベルで学びたい人向けの内容です。本気で「関数型」を追求している方にとっては物足りたいどころかツッコミどころも多いかと思いますが何卒ご容赦ください。 しかし一方で、「関数型って最近聞くけどどういうものなんだろう?」と思っている方々にとっては、『明日から使える』レベルで実践的な内容になるように心がけています。 そもそも関数型って? 2019/08/25 コメントで頂いたご指摘を元に修正しました。どういう形で修正させて頂くか迷ったのですが、ここでは「ざっくり理解する」に主眼を置いた表現を目指すことにいたしました。キチンとした定義を勉強したい方はコメント欄をご参照ください。 関数型言語や関数型プログラミングの定義を厳密に理解しようとするとやや難しい話になるので、ここではざっくりと、関数(

                                    忙しい人のためのjavascriptでざっくり理解する関数型 - Qiita
                                  • HaskellでのTDDを楽しくするライブラリ methodを作りました。

                                    はじめに Haskellでテスト駆動開発を行う際、純粋な関数は単体テストを書きやすいですが、 返り値がモナドの関数(この記事ではそのような関数をメソッドと呼びます)にたいして単体テストを書くのは簡単ではありません。 今回、メソッドに対して単体テストを書きやすくなるライブラリ methodを作成しました。 methodとは methodでは a1 -> ... -> an -> m b型の関数のことをメソッドと呼びます。 ここでmはモナドです。(->) rモナドを除く大抵のモナドはサポートしていますが、独自のモナドをメソッドにするにはMethod型クラスを実装する必要があります。 モックの作成 methodでは任意のメソッドのモックをDSLで書くことができます。 import Test.Method import RIO (throwString) f,f' :: Int -> String

                                      HaskellでのTDDを楽しくするライブラリ methodを作りました。
                                    • リトルランゲージはプログラミングの未来だ

                                      chreke's blogより。 マクスウェルの方程式が書かれたTシャツを着たオシャレな女性 特に、ガブリエラ・ゴンザレスの『The end of history for Programming』を読み、アラン・ケイの『Programming and Scaling』の講演を見て、「リトルランゲージ」 (非常に特定な問題を解決するために設計された小さな言語)が、プログラミングの未来であると確信しました。どちらも素晴らしいので、是非読んでみて欲しいのですが、もし、時間があれば、私が「リトルランゲージ」とはどういう意味なのか、なぜそれが重要なのかを説明します。 「リトルランゲージ」とは何か? ジョン・ベントリーは、彼の名を冠した論文『Little Languages』の中で、「リトルランゲージ」という言葉を作り、彼は次のように定義しました。 [...] リトルランゲージは特定の問題領域に特化し

                                        リトルランゲージはプログラミングの未来だ
                                      • プログラミング初心者の主婦が『Recursion』に挑戦!たったの2週間ですごいことに! - わたしのまいにち

                                        プログラミング?なにそれ美味しいの? ブログを書いているのに、パソコンに関しての知識はミジンコ以下の私。 ほんの少しHTMLとかCSSという言葉は聞いたことがあるくらいで、プログラミングやコンピューターサイエンスなんてサッパリ?(*´Д`)?の初心者でした。 ブログのカスタマイズをしているけど、ほとんどがコピペ。 何が書いてあるのかわからない呪文のようなコードを、言われた場所に貼り付けているだけだったのです。 そんな私が、とあるツイートをきっかけに、2週間プログラミングをがっつり勉強してみました。 きっかけとなったツイートはこちら↓ 【RT希望】テストユーザー募集 アメリカ人のソフトウェアエンジニアとコンピュータサイエンスを利用した、初心者向けのプログラミング教材を作成中なのですが、テストユーザーを募集しています。。。 どなたかお時間ある方、ご協力いただけ頂けないでしょうか?🙇‍♂️ht

                                          プログラミング初心者の主婦が『Recursion』に挑戦!たったの2週間ですごいことに! - わたしのまいにち
                                        • Why Rust is the Future of Game Development | thefuntastic

                                          Rust, not related to the video game also called Rust, is a promising systems programming language with novel features ideally suited for game development. Exposure and awareness within the game developer community, however, remains limited. In this post, I provide a gentle introduction to Rust and attempt to justify its place on your radar. A Short History Lesson​What is Rust, and where did it com

                                          • 四元数ニューラルネットワークとGHR微積分

                                            これは「FOLIO Advent Calendar 2023」6日目の記事です。 ニューラルネットワークで取り扱う数値を実数とは異なる数に拡張することは、機械学習や計算科学の発展における魅力的な課題の一つです。実数を用いた数値表現は多くのタスクにおいて十分な結果をもたらしてきましたが、新たな数値体系を導入することで、今までとは異なる問題が解決できるようになったり実数では見られなかった新たな現象が起こる可能性に期待することができるでしょう。例えば数値が取れる値を±1に制限したBinalized Neural Networksはハードウェアとの相性が良くメモリ効率の良い実装が可能であったり、拡大実数\bar{\mathbb R}={\mathbb R}\cup\{-\infty,\infty\}を用いた5層のReLUネットワークには任意の深さのReLUネットワークを埋め込むことができたりします

                                              四元数ニューラルネットワークとGHR微積分
                                            • awesome-vscode

                                              A curated list of delightful Visual Studio Code packages and resources. For more awesomeness, check out awesome. Table of Contents Table of Contents Official Syntax Migrating from other editors Migrating from Vim Migrating from Atom Migrating from Sublime Text Migrating from Visual Studio Migrating from Intellij IDEA Camel Humps Using VS Code with particular technologies Lint and IntelliSense 1C A

                                              • Introduction to Scala 3 - Opt Technologies Magazine

                                                先日のScala Days 2019の基調講演などでも触れられた通り、いよいよDottyあらためScala 3のリリースが近づいて来ました。既にScala 3の仕様のかなりの部分は、Dottyとしてユーザが利用できる状態になっています。この記事では、Scala Daysでの講演スライドおよびDottyに関する各種資料を元に、Scala 3の新機能や変更点について紹介します。 あいさつ Scala 3について Dottyとは Scala 3の新機能 Top level definitions Creator applications Multiversal equalities Extension methods Enums Implicitの見直し Type classes # 2019年9月30日追記: Implicit conversions Implicit function typ

                                                  Introduction to Scala 3 - Opt Technologies Magazine
                                                • プログラミング言語Flixに関するMagnus Madsen氏へのインタビュー

                                                  原文(投稿日:2022/02/25)へのリンク Flixは多くのプログラミング言語にインスパイアされたオープンソースのプログラミング言語であり、開発者は関数型、命令型、論理型のスタイルでコードを書くことが可能である。FlixはScalaに似ており、Hindley-Milnerに基づく型システムとGoにインスパイアされた並行処理モデルを採用している。JVM言語はポリモーフィックエフェクトシステムやDatalog制約などのユニークな機能をサポートしている。 FlixのプログラムはJVMバイトコードにコンパイルされ、開発者はFlix Visual Studio Code拡張機能を使用するか、online playgroundを使用して言語を評価することができる。 コミュニティはいくつかの原則に基づいて言語を開発している。例えば、NULL値を使わない、デフォルトでprivate、リフレクションを使

                                                    プログラミング言語Flixに関するMagnus Madsen氏へのインタビュー
                                                  • 唐鳳 - Wikipedia

                                                    唐 鳳(とう ほう、タン・フォン、オードリー・タン、英: Audrey Tang、1981年〈民国70年〉4月18日 - )は、中華民国の政治家、プログラマー。旧名・唐 宗漢(とう そうかん、タン・ツォンハン、英: Autrijus Tang)。 2005年、Perl 6(現Raku)のHaskellによる実装のPugsを開発したことで知られ[注釈 1]、「台湾のコンピューター界における偉大な10人の中の1人」とも言われている[2]。 2016年10月に蔡英文政権において35歳で行政院に入閣し無任所閣僚の政務委員(デジタル担当)を務めた[3][注釈 2]後、2022年8月27日に新たに設置された数位発展部の初代部長に就任した。 経歴[編集] 唐光華・李雅卿(中国語版)夫妻の子供として生まれる[5]。幼い頃からコンピューターに興味を示し、12歳のときにPerlを学び始めた[6]。2年後の14

                                                      唐鳳 - Wikipedia
                                                    • Elmをプロダクトで一年書き続けた感想 - Runner in the High

                                                      この記事はElm Advent Calendar 2019最終日の記事です。 去年末あたりから現職のチームでElmを書き始めたので、大体1年程度はプロダクションでElmのコードを書き続けたことになる。学生時代はRubyとJavaScriptばっかりだったので、関数型プログラミングとかそういうバックグラウンドは一切なかった。その観点から、改めて率直な感想を申し上げておく。 なお、弊社フロントエンドチームとElmに関するはなしは、私の書いたFringe81アドベントカレンダーの記事を参照のこと。 fringeneer.hatenablog.com Elmには中毒性がある Elmを触ったことのない方からすると「?」になるかもしれない(というか、昔の自分がそうだった)が、率直に言ってElmには中毒性がある。一度Elmを知ると、Elm以外の言語を触るたびに「これ、Elmだったら〇〇なのにな〜」と思う

                                                        Elmをプロダクトで一年書き続けた感想 - Runner in the High
                                                      • 『Practical Developers』読みました - bonotakeの日記

                                                        技術評論社様から献本いただきました。ありがとうございます。 Practical Developers ――機械学習時代のソフトウェア開発[ゲームアプリ/インフラ/エッジ編] 作者: 飯塚健太郎,大川徳之,keno,古賀理,田中一樹,徳永拓之,西田圭介,森田和孝出版社/メーカー: 技術評論社発売日: 2019/08/09メディア: 単行本(ソフトカバー)この商品を含むブログを見る 献本されたからとか、筆者に個人的にゆかりのある人が多いからとかではなく、純粋に、読んで面白かったです。 僕は(ご存知の通り)機械学習工学研究会(MLSE)なる、機械学習システムをどう構築するかっていう工学を考える研究会にどっぷりかかずらわっているんですけども。 この本のサブタイトルが「機械学習時代のソフトウェア開発はどう変わったのか」になっていて、まさにこの、機械学習工学的な興味に照らしてどんぴしゃな内容だったわけ

                                                          『Practical Developers』読みました - bonotakeの日記
                                                        • Haskell で、優先度付きキューを使ったダイクストラ法

                                                          Haskellのカレンダー | Advent Calendar 2022 - Qiita に参加させていただきます! 突然ですが Haskell でダイクストラ法を実装します。 ダイクストラ法は重み付きグラフで最短経路問題を解くアルゴリズムのひとつです。ダイクストラ法 - Wikipedia に詳しい解説があります。 ダイクストラ法は、重み付きグラフにおいて、その重みに負の値がない・・・つまり重みが正であることを前提にしています。この構造上の仮定によって、貪欲的手法を取ることができるのがその特徴で、結果ベルマン・フォード法などの汎用的なアルゴリズムよりも計算量的に有利になります。 ダイクストラ法では、始点から各頂点への到達コストを最初に \infty と置いて、そこから緩和操作によって徐々にそれらを最適コストまで収束させていくわけですが、このとき グラフの頂点集合からその時点で最小のコスト

                                                            Haskell で、優先度付きキューを使ったダイクストラ法
                                                          • How we built the Grafbase local development experience in Rust

                                                            How we built the Grafbase local development experience in Rust Grafbase provides an edge-native GraphQL platform that combines multiple data-sources into a single API and includes a serverless database, search, edge caching, preview environments and much more. Around May 2022 we started working on a local development experience, written in Rust, to mirror this functionality locally and allow you t

                                                              How we built the Grafbase local development experience in Rust
                                                            • magicpak: 静的リンクなしで小さなDockerイメージを作る - molecular coordinates

                                                              おはようございます!!!coord_eです、よろしくどうぞ。 実行に必要なファイルだけをうまく集めれば、静的リンクせずとも小さなDockerイメージを作ることができます。本記事では、その作業を自動で行ってくれるツール magicpak を作ったので、紹介します。 Dockerイメージ縮小オタク2(ツー) coordination.hatenablog.com ☝️前編です。実行に必要なファイルだけをうまく集めれば別に静的リンクしないでも小さなDockerイメージが作れるよねって話です。 本記事では、上の記事でやったこと(実行に必要なファイルを集める)を自動でやってくれるツール magicpak を紹介します*1。 magicpak: Build minimal docker images without static linking github.com magicpakは、対象の実行可能

                                                                magicpak: 静的リンクなしで小さなDockerイメージを作る - molecular coordinates
                                                              • 技術書を自作PDFリーダーで読む - Haskellでつくる不思議な読書体験 (1):関数型玩具製作所

                                                                技術書典で購入した本をちょっと不思議なPDFリーダーで読んでみませんか? Acrobat Readerや、Kindleとはひと味違った読書を可能とします。 【ビルド済みソフト(Windows)】 https://polymony.net/2020/12/19/post-3765/ 【動画など】 https://github.com/polymonyrks/poppyS/blob/master/READMEJP.md 自然言語にもシンタックスハイライト的な何か(着色)を試みるものです。 難しい文書、読む気すら起こらない文書を攻略できます(速読・精読)。 技術書典10に合わせてビルド済みソフトを用意できました。 ぜひ、ご自身で体験してみてください。 (本書を買わなくてもソフトは動かせます、本書には着色戦略が書かれています) 【扱う内容】 * 自然言語への着色による視認性向上の可能性 * 具体的

                                                                  技術書を自作PDFリーダーで読む - Haskellでつくる不思議な読書体験 (1):関数型玩具製作所
                                                                • Haskellで超簡単にWebアプリケーションを作る(モナドも出てこないよ) - Qiita

                                                                  はじめに Haskellは静的純粋関数型プログラミング言語と言われるジャンルの言語であり、型や状態に厳しくWeb開発に向いていないと思われる方が多いと思います。 しかし 型の力によるクリーンアーキテクチャ 抽象化による高級な記述 圧倒的な型推論による軽量言語のような書き心地 意外と高いシングルスレッド性能 パフォーマンスも非常に高く, 書きやすい並行並列処理 上記のような利点があり、実はWeb開発に非常に有用な言語であると思っています。 HaskellでのWeb開発における標準的なインターフェースであるwai(web application interface)、そのインターフェースのアプリケーションを動作させる標準的なサーバーであるwarpという二つのライブラリを用いてボトムアップでWebアプリを作っていき、徐々に応用させていこうと思います。 waiとwarpはHaskellのWeb開発

                                                                    Haskellで超簡単にWebアプリケーションを作る(モナドも出てこないよ) - Qiita
                                                                  • STモナドはなぜ変更可能な参照を外へ持ち出せないのか調べてみた - shinharadの日記

                                                                    この投稿は、Haskell Advent Calendar 2019 の4日目の記事です。STモナドの仕組みについて書きました。初中級者向けの内容となっています。 はじめに STモナドとは STモナドの型 STモナドの使用例 STモナドで使用されるデータ型と各種関数 Data.STRef newSTRef modifySTRef readSTRef runST 変更可能な参照を外へ持ち出そうとすると エラーメッセージから考察する forallの探求 量化子は型に量的な意味を持たせる 量化子を関数の内側で定義する ランクN多相の概要と特徴 ランクN多相の概要 特徴その1: 型推論の制限を緩和 特徴その2: スコープ内での型の束縛 forallの探求はここで終わり STモナドのトリック newSTRefの結果型の意味 runSTの引数の型の意味 おわりに 訂正内容(2019/12/06) 参考

                                                                      STモナドはなぜ変更可能な参照を外へ持ち出せないのか調べてみた - shinharadの日記
                                                                    • 『n月刊ラムダノート Vol.1, No.2』を読むべき1つめの理由 - golden-luckyの日記

                                                                      『n月刊ラムダノート』の話をいろいろしたいのだけど、どこから話せばいいのかわからないので、Lispの話をします。 昔、といってもほんの10年ちょっと前のことですが、日本でLispが流行った時期がありました。 「プログラミング言語のパワーには絶対的な差が存在する。その頂点に立つのがLispだ」と言って憚らない『ハッカーと画家』という本が2005年に出版され、それを読んだ多くの人が「よろしい、ならばLispだ」と思ったのです。 まあ、ほかにもいろいろな理由があったのだろうし、流行に関係なくLispを使い続けている人はたくさんいたし、いまでもぼくを含め多くの人がLispを日常的に使っているけれど、『ハッカーと画家』の影響によるちょっとしたLispブーム、というのは確かに起きていたと思います。 で、この『ハッカーと画家』を翻訳したのが川合史朗さんでした。 その当時、ぼくは同書を企画した部署にたまた

                                                                        『n月刊ラムダノート Vol.1, No.2』を読むべき1つめの理由 - golden-luckyの日記
                                                                      • Haskellでスクラッチから作曲してみた - Qiita

                                                                        元ネタとして貼った動画が非常に面白かったので、自分でも真似をしてみました。 この記事では、sin波を直接ゴニョゴニョして音を作っていきます。最終的には、簡易的な楽譜モナドを作り、楽譜に書いた通りの曲を再生して耳で聴けることを確認します。 最初の音 まずは音を出せるようにします。0から44800までの数をsinにぶち込み、sin波を生成します。 44800という数字はサンプルレートです。単位時間あたりに44800回sinから値を取り出すということです。 sampleRate :: Float sampleRate = 44800.0 wave :: [Float] wave = sin <$> [0.0 .. sampleRate] これは既に再生可能な一秒間の音です。再生してみましょう。 一度ファイルに書き出してからFFmpegを叩くことでこれを再生しようと思います。再生にはFFmpegが

                                                                          Haskellでスクラッチから作曲してみた - Qiita
                                                                        • TypeScript一人カレンダー 目次と索引

                                                                          こんにちは、クレスウェア株式会社の奥野賢太郎 (@okunokentaro) です。本記事は『TypeScript 一人 Advent Calendar 2022』(TypeScript一人カレンダー) の目次と索引ページです。 本アドベントカレンダー内の各記事では、2022年12月、TypeScript 4.9の時点で解説しています。本アドベントカレンダーのすべての記事は、TypeScript初心者を脱し始めてもっと活用していきたいと願う読者層に向けていますので、最低限の前提は省略して記述しています。 目次 第1部 Conditional Types 1日目 ReturnType<T> Utility Types ReturnType<T> どんなときに便利? 例1 例2 注意点 2日目 Awaited<T> Awaited<T> どんなときに便利? 例1 例2 3日目 inferと実例

                                                                            TypeScript一人カレンダー 目次と索引
                                                                          • 【競馬】どの馬が勝っても得する買い方を探すプログラム書く→解が見つかった!と思ったら落語みたいな結果に

                                                                            Hideyuki Tanaka @tanakh 数学苦手だからどの馬が勝っても払い戻しが購入金額以上になる買い方を見つける探索プログラム書いたんだけど、解が見つかった!って出てきてマジかよってなったんだけど、見て見たら全部0円買えばいいって言われた・・・なるほどなあ。(´・_・`) 2022-05-08 15:32:23 Hideyuki Tanaka @tanakh 今すぐフォローすべき競技プログラミング界のスーパーエンジニア。国境無き猫もふ団。SuperCon2000優勝/ICPC2004,2005アジア大会優勝/ICFPC2010優勝,2019審査員賞/第一回京都大学総長賞/すごいHaskell/カレーマイスター tanakh.jp d.hatena.ne.jp/tanakh tanakh.jp

                                                                              【競馬】どの馬が勝っても得する買い方を探すプログラム書く→解が見つかった!と思ったら落語みたいな結果に
                                                                            • ML系言語で型注釈が必要なケース - Qiita

                                                                              ML系言語は型推論が得意なので基本的には型を書かなくてもコードを書けますが、状況によっては型注釈が必要になります。代表的なML系言語3つ(SML, OCaml, Haskell)について、それぞれ型注釈が必要になる(型注釈がないとコンパイルが通らない)ケースを挙げてみます。 なお、ここでは型システムのみに注目し、評価戦略はどうでもいいので、Haskellも「ML系言語」に含めています。 また、MLのモジュール/ファンクター周りは扱いません。コア言語のみを対象にします。 SML SMLで型注釈をなくすとコンパイルが通らなくなるのは、例えば以下の例です: 組み込み演算子やリテラルのアドホックなオーバーロード レコードを受け取る関数 リテラルの例: val x: IntInf.int = 12345678901234567890123; (* 型注釈を剥ぐとダメ: val x = 1234567

                                                                                ML系言語で型注釈が必要なケース - Qiita
                                                                              • hypothesis+panderaで始める、データフレームに対するProperty Based Testing - Sansan Tech Blog

                                                                                技術本部 R&D研究員の前嶋です。梅雨の季節ですが、少しでも快適に過ごせるようにOnのCloud 5 wpを購入しました。水に強くて軽快な履き心地で最高ですね。(追記:この記事の公開作業をしている間に梅雨が終わってしまいました) 今回は、データフレームのテストについての記事です。 データフレームのテストをどう書くか データが中心となるサービスのネックになるのが テストをどう書くか です。というのも、データフレームは行×列の構造になっているため、入力あるいは出力値がデータフレームになるような関数が多いプログラムでは、テストケースを書くのが非常に面倒です。仕様の変更があった場合、それぞれのテスト用の疑似データに修正を加えることを考えると、より簡潔にデータフレームのバリデーションをする方法が欲しいところです。実は、データフレームのテストはProperty Based Testingという考え方と

                                                                                  hypothesis+panderaで始める、データフレームに対するProperty Based Testing - Sansan Tech Blog
                                                                                • Python is a Compiled Language

                                                                                  This blog post hopes to convince you that Python is a compiled language. And by “Python”, I don’t mean alternate versions of Python like PyPy, Mypyc, Numba, Cinder, or even Python-like programming languages like Cython, Codon, Mojo1—I mean the regular Python: CPython! The Python that is probably installed on your computer right now. The Python that you got when you searched “python” on Google and