並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 1297件

新着順 人気順

Haskellの検索結果321 - 360 件 / 1297件

  • PyCon JP 2019に参加してきました - Unipos engineer blog

    データ分析、及び機械学習の開発を行っている長谷川と水谷です。 9/16(月)-9/17(火)に開催されたPyCon JP 2019に参加し、長谷川がライトニングトーク、水谷がポスターセッションで発表を行ってきました。 PyCon JPとは PyCon JPはPythonに関する日本最大級のカンファレンスです。普段業務や趣味でPythonを使用する人々が集まり、さまざまな分野での活用方法や知見を交換し、交流する集まりです。 今年のテーマは「Python New Era」。令和になって初のカンファレンスであることと、来年でPython2のサポートが終了することから、時代の移り変わりを反映したテーマになっております。 各自の発表内容 長谷川は、CfPが無事通り、エンディング前に行なうライトニングトークの一つとして、登壇してきました。 発表のテーマは「Pythonで、処理をより効率化するためのTi

      PyCon JP 2019に参加してきました - Unipos engineer blog
    • プログラミング言語ランキング【GitHub】Pythonエンジニアは将来性が高くおすすめ - prolearn

      「The State of the Octoverse」で、GitHubで使われているプログラミング言語の人気ランキングが更新されました。 WEB系のアプリ開発をしているエンジニアとしては、GitHubを使う機会も多いのでとても興味深いです。 普段はRubyやPHPを使ってシステム開発していますが、個人的にはPythonを使った開発もしてみたいと思っています。 これからプログラミングを勉強したい人にも、人気プログラミング言語はどのプログラミング言語から勉強するかの参考になると思います。 GitHubでのプログラミング言語ランキングなので、他とは違った結果になっていますが、エンジニアの方やプログラミング初心者の方はチェックしてみて下さい。 2019年GitHubで使われたプログラミング言語ランキング GitHubのイメージはWEB系ですが、プログラミング言語ランキングの結果もそのような形にな

        プログラミング言語ランキング【GitHub】Pythonエンジニアは将来性が高くおすすめ - prolearn
      • 2019 年のスライド一挙公開、あるいは 2020 年の方針 - チェシャ猫の消滅定理

        あけましておめでとうございます。2019 年は大変お世話になりました。2020 年も張り切っていきましょう。 さて、2019 年には結構な回数の外部発表を行いました。これらの発表内容のうち一部は単独のブログ記事としてまとめてありますが、機を逸してしまって記事化されていないものも相当数あります。そこで本記事では、2019 年中に行った発表を一覧としてまとめてみました。 2019 年の活動実績 2019 年の登壇は全部で 19 件でした。うち(先着や抽選ではなく)CFP に応募して採択されたものは 4 件です。 チェシャ猫が普段活動している領域は、Twitter の Bio にも書いてある通り、大きく「Kubernetes」「Haskell」「形式手法」の三つのカテゴリに分かれています。このカテゴリで登壇内容を分類したところ、以下のようになりました。 CloudNative に関わるもの(12

          2019 年のスライド一挙公開、あるいは 2020 年の方針 - チェシャ猫の消滅定理
        • haskellとnixの話 - Qiita

          この記事は、Haskell Advent Calendar 2022の23日目の記事です。 だいぶ荒削りですので、間違いがあるかもしれません。 目的 OSSのプロジェクトで4年ほどNixを使い続けてきました。 NixのHaskellのサポートの現状のいいところと課題を整理するのが目的です。 なぜNixを使うのかを確認したあと、NixのHaskellサポートをみて課題をまとめます。 なぜNixか、なにがやりたいのか? Nixはパッケージマネージャーです。各種Linuxディストリビューション, MacOSに入れられるものです。 Nixに期待していることはなんでしょうか? それは再現性と効率性ではないかと思います。 まずは再現性についてです。nixosのポータルの一番はじめにでてくるように再現性がもっとも重要でしょう。 手元の開発環境やクラウドの開発環境、各種のメンバーで開発するソフトウェアのバ

            haskellとnixの話 - Qiita
          • Green Vs. Brown Programming Languages

            This article explores programming language preferences. You might prefer Earthly. It can streamline your build processes. Check it out. The Data The Stack Overflow Developer Survey1 results are a great source of information about how developers work. I was looking at the 2020 results for some ideas on what programming languages we should add to our documentation on containerized builds, and I noti

              Green Vs. Brown Programming Languages
            • Haskellで超簡単にシングルバイナリを作る - Qiita

              はじめに Haskellをローカル開発環境で勉強していろいろな抽象的な知識を得たものの、実際活用するにあたってデプロイとかその辺どうするんだろう?やっぱりdocker使って簡単にやりたいな〜 でも、Goとかだと簡単に100%静的なシングルバイナリになるし、Rustとかもmuslを利用していい感じに行けそうだけどHaskellだとわからない>< というお気持ちが強かったので、簡単にデプロイできる100%静的リンクのシングルバイナリ作るぞ!と思って調べたお話です。 追記 下記の紹介しているものとほぼ同じような手順で、自分で拡張しやすいDockerfileでのみ構築されたDockerイメージを自分で作成したので、是非参考にしてみてください。 GitHub Docker Hub 対象読者 Haskellを本番で使ったことない人向け 大雑把に説明 概要 静的リンクされたバイナリを作るためのDocke

                Haskellで超簡単にシングルバイナリを作る - Qiita
              • HaskellのLinearTypes言語拡張について少し調べた - TSUGULOG

                最近リリースされた GHC 9.0.1 で使えるようになった LinearTypes 言語拡張について気になったので調べた。 LinearTypes言語拡張とは GHC9.0.1から使えるようになった言語拡張で、Linear Typeを導入できる。ただ、上記リリースノートに “a first cut” とある通り、まだ実験的な機能としてリリースされた段階のようだ。 通常のGHCの言語拡張のように とすることで使えるようになる Linear Typeとは そもそもLinear Typeとはどのような概念なのか、簡単に説明すると、「関数の引数がちょうど1度だけ評価される」、という条件を指定できるもののようだ。 理論的な基礎となるLinear type systemsについては前から広く知られていたものの、なかなか実装までは至らず、今回Haskellで晴れて実装までこぎつけたとのことだった。 具

                  HaskellのLinearTypes言語拡張について少し調べた - TSUGULOG
                • Switching to Elixir

                  A few months ago I started a new job at a company that uses Elixir as its main language on the backend. I've never written a line of Elixir or Erlang before in my life, but I've heard a lot about it and Erlang is familiar because I've played around with Prolog for a bit. Thanks to the heavily Ruby-inspired syntax, Elixir was a synch to pick up. I might not be an expert on best practices, architect

                  • Introductory resources to type theory for language implementers

                    This post briefly tours resources that helped introduce me to type theory, because I’m frequently asked by others for resources on this subject (even though I never had a formal education in type theory). Specifically, these resources will focus more on how to implement a type checker or type inference algorithm. Also, my post will be biased against books, because I don’t tend to learn well from r

                    • Comparing the Same Project in Rust, Haskell, C++, Python, Scala and OCaml - Tristan Hume

                      During my final term at UWaterloo I took the CS444 compilers class with a project to write a compiler from a substantial subset of Java to x86, in teams of up to three people with a language of the group’s choice. This was a rare opportunity to compare implementations of large programs that all did the same thing, written by friends I knew were highly competent, and have a fairly pure opportunity

                      • 「STEINS;GATE」とコラボしたITエンジニア向けプログラミングゲーム“電脳言語のオルダーソンループ”が本日よりpaizaで無料公開

                        「STEINS;GATE」とコラボしたITエンジニア向けプログラミングゲーム“電脳言語のオルダーソンループ”が本日よりpaizaで無料公開 編集部:maru paizaは本日(2021年7月28日),同社が運営するITエンジニア向けの転職・就職・学習プラットフォーム「paiza(パイザ)」にて,「STEINS;GATE」とコボしたプログラミングゲーム「電脳言語のオルダーソンループ」を無料公開した。 電脳言語のオルダーソンループは,プログラミング問題を解いて物語を進めるアドベンチャーゲーム。「STEINS;GATE」のシナリオを手掛ける安本 了氏がゲーム内ストーリーを担当しており,ここだけのオリジナルストーリーが楽しめるという。 今回の問題は,ITエンジニア経験者(中・上級者)向けで,アルゴリズムの構築などさまざまなプログラミングミッションが用意されているとのこと。Java,Python,P

                          「STEINS;GATE」とコラボしたITエンジニア向けプログラミングゲーム“電脳言語のオルダーソンループ”が本日よりpaizaで無料公開
                        • 日本の Twitter ユーザーが好きな言語・嫌いな言語2019 - Qiita

                          概要 2019年10月5日、(おそらく) このツイートを端緒として、多くのエンジニアが自身のプログラミング言語歴や好みについて語るという試みがなされ、10月14日には自然言語クラスタを巻き込んだこともあってかトレンド入りを果たしました。 1. 最初の言語: Basic 2. 難しかった言語: Javascript 3. 一番使っている言語: C++ / C# 4. 嫌いな言語: HTML / CSS 5. 一番好きな言語: C++ 6. 初心者にオススメ: Unity 他の人のも聞いてみたいですね。 — たつなみ (@qrostar) 2019, 10月 5 本記事では、10月18日18時までに集まった1480件のツイートの集計結果を示したいと思います。なお結果にはプログラミング言語ではなくマークアップ言語も含まれていますが、票数が多かったこともありそのままにしてあります。ご了承ください。

                            日本の Twitter ユーザーが好きな言語・嫌いな言語2019 - Qiita
                          • Golang Mini Reference 2022: A Quick Guide to the Modern Go Programming Language (REVIEW COPY)

                            Golang Mini Reference 2022 A Quick Guide to the Modern Go Programming Language (REVIEW COPY) Harry Yoon Version 0.9.0, 2022-08-24 REVIEW COPY This is review copy, not to be shared or distributed to others. Please forward any feedback or comments to the author. • feedback@codingbookspress.com The book is tentatively scheduled to be published on September 14th, 2022. We hope that when the release da

                            • type family を使って再帰的 ADT をオープンにする

                              元ネタは Trees that grow . Haskell では代数的データ型 (ADT) を使ってプログミングに使うデータ構造を定義し,その構造を操作することによりプログラミングを行う. ADT はパターンマッチが容易で,再帰的に定義でき,基本的に閉じた構造になっている.そのため便利な反面,その機能が保守で仇となる場合もある.この問題は古くから知られており,いくつかの解決策も提案されてきた.今回はこのうち,現在 GHC で採用されつつある type family を使った解決方法を紹介する. なお,環境として以下を想定している. The Expression Problemプログラミング,特に Haskell を使用したプログラミングにおいて,データ型は非常に重要な役割を持つ.特に,一部のプログラムにおいては,根幹をなすデータ型がいくつか存在するような場合もある.この場合データ型の扱い

                                type family を使って再帰的 ADT をオープンにする
                              • How Meta built the infrastructure for Threads

                                On July 5, 2023, Meta launched Threads, the newest product in our family of apps, to an unprecedented success that saw it garner over 100 million sign ups in its first five days. A small, nimble team of engineers built Threads over the course of only five months of technical work. While the app’s production launch had been under consideration for some time, the business finally made the decision a

                                  How Meta built the infrastructure for Threads
                                • Testing sync at Dropbox

                                  …and how we rewrote the heart of sync with confidence. Executing a full rewrite of the Dropbox sync engine was pretty daunting. (Read more about our goals and how we made the decision in our previous post here.) Doing so meant taking the engine that powers Dropbox on hundreds of millions of user’s machines and swapping it out mid-flight. To pull this off, we knew we would need a serious investment

                                    Testing sync at Dropbox
                                  • State モナドの代わりに Reader モナドを使う

                                    注意 この記事は公開当時主張に誤りを含んでいたため,大幅に書き直しています.また,公開当時の主張の誤りについても,付録として載せておきました. Haskell で State モナドはモナドの代表格だ.Haskell 入門者は,多くの場合,状態を伴った計算を State モナドで書くことを習うだろう.しかし,実用上の多くの場面では,State モナドではなく他の選択肢を選んだ方がいい場合がある.一つの選択肢が,Reader モナドと可変参照を使う方法だ.今回は,この手法を使う利点と利用場面について考えていこうと思う. なお,環境として以下を想定している.

                                      State モナドの代わりに Reader モナドを使う
                                    • Remark で広げる Markdown の世界

                                      はじめましてこんにちは、はるさめです。本誌は名目上 Vivliostyle について紹介する同人誌なのですが、またしても空気を読まず Vivliostyle ではない OSS プロジェクト「Remark」について紹介したいと思います。 Remark Remark とは「Markdown processor」という紹介文の通り、Remark で書かれたテキストを読み込み様々な変換を施すことができる JavaScript 製のライブラリです。Remark は様々なライブラリと組み合わせて目的の形式のテキストに変換でき、Rehype と一緒に使うことで Markdown を HTML に変換できます。同様の処理をしてくれるライブラリとしては Marked.js が有名ですが、Remark の強力な機能は、Markdown を 抽象構文木(AST)に変換することで、より柔軟に構文を改造できる点です

                                      • Elmに興味があるなら見ておきたいIzumiSyのスライド3選 - Runner in the High

                                        過去に「NoRedInk*1の筋肉の人」としておなじみリチャード・フェルドマンをフィーチャーする記事を書いたので、今度は自分をフィーチャーしようと思う。 www.izumisy.work おすすめはやはり一番最後の「jQueryからElmまで」だが、正直このスライドはElmに関する説明成分が少なかったと反省しているところがある。なので、個人的にはこの記事で並べている順番に見てもらうほうが、Elmに対するわかりが生じやすいと思う。 Elm, the functional frontend Elmの基本的な部分をざっくり説明するスライド。このスライドは関数型プログラミングカンファレンス2019で使った。Elm意外にもRustやElixirなどの関数型プログラミングのエッセンスを持つ言語の人たちとコラボレーションするタイプのイベントだったので、関数型的な部分に言及するのは少なめでElmの良さをア

                                          Elmに興味があるなら見ておきたいIzumiSyのスライド3選 - Runner in the High
                                        • 自作言語の紹介と関数型言語の実装方法の検討

                                          はじめに 私が個人で昨年の 6 月ごろから開発している関数型プログラミング言語を紹介する。言語の名前は「Plato」である。 この言語は昨年の U22 プログラミングコンテスト最終発表会でも発表した。コンテスト後、コンパイラの構成と実装に関して調査し直して、コードを一から書き直した。コンパイラは Haskell で書かれているため、本稿の内容も Haskell の知識をベースとしている。また、型理論の知識もある程度求められる。ただ、大雑把に書いているため、大雑把に読めばよく、このブログの読解に正確さは必要無い。 このブログでは、まず Plato のチュートリアルを示し、実際に何ができるのかを説明する。次に型検査や中間言語の仕様などコンパイラの実装手法を大まかに説明する。最後に今後実現したい機能などについて述べる。理論的に面白いものや有用な機能については、後日それ専用の記事を書く予定。 チュ

                                            自作言語の紹介と関数型言語の実装方法の検討
                                          • NixによるHaskell開発環境の構築 - syocy’s diary

                                            Nix package manager によって Haskell のスクリプティングおよびパッケージ開発の環境構築をしていく。 こいついつも環境構築してんな ここで触れられないこと Nix スクリプティング ちゃんとした開発 haskell-language-server の導入 パッケージの設定 高度な依存関係オーバーライド トラブルシューティング nix-shell の立ち上がりが遅い cabal run で cabal 自体の出力を無視したい Mac で nix-env -i が失敗する Mac で channel が消滅する こいついつも環境構築してんな 環境構築以外はブログに書くような一般性のあることをやっていないということで……。 ここで触れられないこと cabal.project によるマルチプロジェクトを扱う方法 外部の nix store を使うこと nix の新しいコマ

                                              NixによるHaskell開発環境の構築 - syocy’s diary
                                            • 2022年、Rustの未来を探る旅 (1) はじめに

                                              ※大風呂敷を広げてやる気だけ表明する記事です。まだ中身はない。 はじめに Rustは2009年頃に誕生し、2015年に正式リリースされたプログラミング言語です。その革新性はおよそ以下のように集約されます。 shared XOR mutable とそれに付随する発明 (所有権、ライフタイム) により、ミュータブル参照が正しく扱えるようになった (責任分界点が明確になった) こと。 上記のアイデアにより、高パフォーマンス・低フットプリントが求められるアプリケーションやOS・GC・アロケーターのない環境で動く必要のあるアプリケーションをより安全に書けるようになったこと。 プログラマーが安全に・快適にプログラムを書くための既知の優れた道具 (パッケージマネージャーなど) を計画的に取り入れ、伝統的なプログラミング言語が抱えがちな問題を広範に解決したこと。 これらの革新性から、これまでC/C++が担

                                                2022年、Rustの未来を探る旅 (1) はじめに
                                              • 日々の作業をもっとサッとこなしたい!「ワンライナー勉強会」を開催しました - Mobile Factory Tech Blog

                                                4月入社の新人エンジニアのxztaityozxです。趣味はdotfilesいじりです 皆さんは日々の開発でふと、調査やデータの加工が必要となったことはありませんか?私はたくさんあります。 ではそういった時、どうやって解決していますか?私はいくつかのCLIツールを組み合わせることで解決しています。 例えば、/etc/services からtcpなサービスの名前を取り出すときは以下のようにします $ cat /etc/services | grep -P "\d+/tcp" | awk '{print $1}' こういったテクニックを「ワンライナー」と呼ぶことにし、日常のちょっとした調査やデータ加工をサッと出来るようにコマンドラインと触れ合っていくことを目的とした勉強会「ワンライナー勉強会」を開催しました。 この記事では、「ワンライナー勉強会」の進め方や問題、解答例を紹介します。 進め方 社内

                                                  日々の作業をもっとサッとこなしたい!「ワンライナー勉強会」を開催しました - Mobile Factory Tech Blog
                                                • Haskell の Array

                                                  Haskellのカレンダー | Advent Calendar 2023 - Qiita 3日目の記事です。 Haskell の Array (配列) について書こうと思います。Haskell の Array は索引が型クラスの Ix で抽象化されているため、特に配列の次元を拡張する際に柔軟性がありとても便利です。 そんな便利な Array ですが、もともと Haskell はリスト操作が強力ということもあってか、既存の参考書をみても Array の解説はほんの少しにとどまっているか、解説がないことがほとんどです。 Array が必要になる場面の多くは「リストだと !! によるインデックスアクセスで O(n) になってしまい間に合わない」という場面が多いと思います。しかし Haskell にはインデックスアクセスが O(1) の Vector (vector: Efficient Arra

                                                    Haskell の Array
                                                  • TypeScript 4.9からはsatisfies演算子でパターンの網羅性をESLintと共存しつつ簡単にチェックできる

                                                    TypeScript 4.9からはsatisfies演算子でパターンの網羅性をESLintと共存しつつ簡単にチェックできる export const stages = ["deve", "stag", "prod"] as const; /** * 開発用、本番用などを分けるステージ * {@link https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Stage.html} は一切関係がない */ export type Stage = typeof stages[number]; こうするとstagesを反復することで簡単に全てのステージに対してスタックを作ることが可能ですし、その名前にStageをstringとして埋め込んで区別することが可能です。 引数ではstringではなくStageを受け取ってstage =

                                                      TypeScript 4.9からはsatisfies演算子でパターンの網羅性をESLintと共存しつつ簡単にチェックできる
                                                    • hyper-ts で type-safe & stateless なExpressアプリケーションを構築する

                                                      tl; dr TypeScriptとExpressを使ってアプリケーションを開発するにあたって、以下の課題がある。 現状、 @types/express における型定義は厳密でない リクエストハンドラの中でごちゃごちゃとやってしまい、ステートフルになりがち こうした課題に対して、gcanti/hyper-ts が有効である。 1. @types/express における型定義はstrictでない 例として、Application インターフェースの render メソッドの型定義を見てみる。 render(view: string, options?: object, callback?: (err: Error, html: string) => void): void; この型定義は厳密さに欠ける。まず、第二引数のoptionsの型は objectである。(cookieメソッドのオプシ

                                                        hyper-ts で type-safe & stateless なExpressアプリケーションを構築する
                                                      • プロパティベーステスト (Property Based Testing) を Ruby で書き雰囲気を味わう - DIGGLE開発者ブログ

                                                        2023 年 10 月 30 日に『実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう』(以下 実践プロパティベーステスト本)という本が出版されました。 プロパティベーステストというのは、テストの一手法なのですが、これまでとは違う範囲をカバーするテストです。 今回はそれを Ruby に適用するとどうなるか検証、また似ている既知との概念と対比して理解を深めました。 これは Ruby Advent Calendar 2023 15 日目の記事です。 プロパティベーステストとはどのような形式か 既知の概念との対比 普段書いているテストと、プロパティベーステスト データ(テーブル)駆動テストと、プロパティベーステスト ファジングと、プロパティベーステスト 型と、プロパティベーステスト まとめ 実践プロパティベーステスト本は 2023 年 12 月現在、テストの一手

                                                          プロパティベーステスト (Property Based Testing) を Ruby で書き雰囲気を味わう - DIGGLE開発者ブログ
                                                        • Ruby のパターンマッチング機能を MinRuby で試す

                                                          Ruby 2.7 で導入予定で,すでに Ruby リポジトリの trunk (いわゆる master ブランチのこと) にマージ済みの「パターンマッチング」機能を試してみたので,そのメモ書きです. 特に包括的に検証したわけではないので注意してください. パターンマッチング (わざわざ解説することでもないけど) パターンマッチングは if 文や case 文のようなプログラムの分岐に使うプログラミング機能. if 文が真偽値を返す条件式 (e.g. a > 0 && x == 'hoge') の結果により分岐し,case 文が指定した変数の値によって分岐するのに対し,パターンマッチングは指定した変数のデータ構造によって分岐する. 例えば Ruby に導入されたパターンマッチングだと次のようになる: case var # var のデータ構造により分岐 in [] puts "var is e

                                                          • イミュータブルでゆこうに参加してきた - 天の月

                                                            modeling-how-to-learn.connpass.com 今日はこちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。 会で話されていたこと イベント資料 イミュータブルデータモデルの極意~川島義隆さん~ 川島さんの問題意識~Division into cases~ Dataの場合分け EventとResourceの関係性 EventとResourceのサブタイプ Resource同士の関連付けをする際のコツ 記録として残すEvent, 残さないEvent ドメイン駆動設計とイミュータブルデータモデルの素敵な関係~増田亨さん~ イミュータブルについての厳格性 必ずイミュータブルにする際の設計パターン 増田さんがイミュータブルに拘る理由 ドメインイベントの観点から再考するソフトウェア設計~かとじゅんさん~ ドメインイベントとは ドメインイベントはなぜ有用か

                                                              イミュータブルでゆこうに参加してきた - 天の月
                                                            • unsafePerformIOではじめる愉快なHaskellプログラミング

                                                              Haskellは「入出力のためにIOモナドを使う必要があるので難しい」というイメージを持たれがちです[要出典]。この記事ではそのイメージに異を唱えることを目指します。すなわち、モナドを使わずに入出力を含むプログラミングをやってみます。 と言っても、Haskell標準の入出力関数には IO 型がついていることに変わりはありません。ですが、 unsafePerformIO という魔法の関数を使うと、IO 型を外して値を取り出すことができるのです。この記事ではこれを最大限活用します。 module System.IO.Unsafe where -- 魔法の関数 unsafePerformIO :: IO a -> a

                                                                unsafePerformIOではじめる愉快なHaskellプログラミング
                                                              • Apple Silicon MacでのHaskell/GHCの現状・2022年3月編 - Qiita

                                                                この記事は Haskell Advent Calendar 2021 の21日目の記事です。 2020年に発表されたApple Silicon (Arm) Macは、2021年に新チップ “M1 Pro/Max” が、2022年には新チップ “M1 Ultra” が登場し、ますます勢いを増しています。Mac使いの皆さんはもう手にされましたか? 新しいアーキテクチャーにはハードウェアだけではなくソフトウェアの対応も重要です。この記事では、2022年3月時点のApple Silicon MacへのHaskellエコシステムの対応状況をまとめます。 この記事では、なるべくRosetta 2を使わず、Armネイティブに動作する環境を構築することを目指します。 インストールにどれを使うか UnixでHaskell環境を構築する場合、 パッケージマネージャーを使う GHCupを使う Stackを使う

                                                                  Apple Silicon MacでのHaskell/GHCの現状・2022年3月編 - Qiita
                                                                • Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か

                                                                  Hypothesisとは何か、プロパティベーステストとは何か Hypothesisは、Python向けのプロパティベーステストのライブラリである。 プロパティベーステストは、生成された多数の入力データに対してプロパティ(性質)が満たされるかどうかをテストする手法である。 HaskellのQuickCheckライブラリが初出で、現在は各プログラミング言語に移植されている。 従来のユニットテストは、ある程度固定したテストデータを指定してテストを行っていた。 その際、境界値分析などで妥当なパラメータを決定していた。 しかし、境界値分析が必ず通用するとは限らないし、人間が行う以上、ミスも発生する。 プロパティベーステストはデータを固定する代わりにそのデータが満たすプロパティを指定してテストを行う。 実際のテストケースはHypothesisがプロパティを満たすパラメータを決めて生成してくれる。 人力

                                                                    Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か
                                                                  • How terminal works. Part 1: Xterm, user input

                                                                    Motivation Introduction User input strace Printing non-printable stty raw -echo -isig UTF-8 Conclusion Motivation This blog series explains how modern terminals and command-line tools work. The primary goal here is to learn by experimenting. I’ll provide Linux tools to debug every component mentioned in the discussion. Our focus is to discover how things work. For the explanation of why things wor

                                                                    • 文書作成だけじゃない--アプリケーション開発に使えるExcelとPowerPoint - CNET Japan

                                                                      「Microsoft Office」は、開発ツールであるとは思えないかもしれないが、これまで長きにわたり、多くの開発ツールチェーンで中心的な位置を占めてきた。特によく使われる2つのアプリも、あまり想像がつかないだろうが、「Excel」と「PowerPoint」だ。 いずれも開発においてさまざまな役割があり、正式なアプリケーション開発プログラムの一部として、またアプリを簡単に作成し、ユーザー自身のプログラミングスキルを使って緊急のビジネスニーズを解決する手段として利用されている。 Excel:秘密のプログラミング環境 Excelは非常に興味深い開発ツールの例だ。見慣れたスプレッドシートの裏側には一連のプログラミング言語があり、非常に高度な方法で使用することができる。 Microsoft Research(MSR)のプリンシパルリサーチャーのSimon Peyton Jones氏が指摘するよう

                                                                        文書作成だけじゃない--アプリケーション開発に使えるExcelとPowerPoint - CNET Japan
                                                                      • FMA (fused multiply-add) の話 - Qiita

                                                                        この記事では融合積和 (fused multiply-add; 以下もっぱら FMA) について扱います。 この記事は元々「その辺で提供されている fma 関数の実装が正しいかチェックしてみた」記事だったのがだんだん守備範囲を広げていったものなので、FMAを単に使うだけではなく、実装する側の視点が多く含まれています。 筆者が実装したHaskell向けのFMA関数はこちらにあります: haskell-floating-point/FMA.hs at master · minoki/haskell-floating-point FMAとは、FMAを含む規格 融合積和(fused multiply-add; FMA)とは、積と和が合体した演算です。数式で書けば $xy+z$ です。この際、丸め(浮動小数点数で正確に表せない数をそれに近い浮動小数点数で代用すること)を1回しか行わないため、「積→和

                                                                          FMA (fused multiply-add) の話 - Qiita
                                                                        • Programming languages endorsed for server-side use at Meta

                                                                          Supporting a programming language at Meta is a very careful and deliberate decision. We’re sharing our internal programming language guidance that helps our engineers and developers choose the best language for their projects. Rust is the latest addition to Meta’s list of supported server-side languages. At Meta, we use many different programming languages for a wide variety of platforms and use c

                                                                            Programming languages endorsed for server-side use at Meta
                                                                          • Parsing SQL - Strumenta

                                                                            The tomassetti.me website has changed: it is now part of strumenta.com. You will continue to find all the news with the usual quality, but in a new layout. The code for this tutorial is on GitHub: parsing-sql SQL is a language to handle data in a relational database. If you worked with data you have probably worked with SQL. In this article we will talk about parsing SQL. It is in the same league

                                                                              Parsing SQL - Strumenta
                                                                            • Haskell For a New Decade

                                                                              Haskell Problems For a New Decade It has been a decade since I started writing Haskell, and I look back on all the projects that I cut my teeth on back in the early part of this decade and realise how far the language and tooling have come. Back then Haskell was really barely usable outside of the few people who would “go dark” for months to learn it or those lucky enough to study under researcher

                                                                              • Announcing F# 8 - .NET Blog

                                                                                F# 8 is released as part of .NET 8. It is included with new updates of Visual Studio 2022 and .NET 8 SDK. Download the latest version of .NET 8 Install Visual Studio 2022 F# 8 brings in many features to make F# programs simpler, more uniform and more performant. Read more about language changes, new diagnostics, quality of life improvements, performance boosts for project compilation and upgrades

                                                                                  Announcing F# 8 - .NET Blog
                                                                                • 5 Programming Languages That Are Probably Doomed

                                                                                  5 Programming Languages That Are Probably Doomed by Nick Kolakowski Jul 29, 2019 5 min read Not all programming languages endure forever. In fact, even the most popular ones inevitably crumble away, as new generations of developers embrace other languages and frameworks they find easier to work with. In order to determine which programming languages are likely doomed in the medium- to long-term, w

                                                                                    5 Programming Languages That Are Probably Doomed