並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 1523件

新着順 人気順

scalaの検索結果81 - 120 件 / 1523件

  • コーヒードリップのためのアプリを作った

    はじめに コーヒーはコーヒー粉にお湯を注ぐなどして得られる抽出液である。抽出の方法の1つに粕谷 哲さんが発明した“4 : 6メソッド”という手法があり、これは要約すると下記のようになる。 コーヒー抽出の工程を注ぐお湯の量で前半4割と後半6割に分割する 前半4割の抽出においては、2回または1回お湯を注ぐがこのときの割合をコントロールする 後半6割はお湯を分割する回数をコントロールする このような調整を行うことによって、コーヒーの甘さ・酸味、濃さをある程度の再現性をもって調整できるという方法である。この手法は大変よいものであると思いつつも、次のような問題があると感じていた。 コーヒー豆の質量比でお湯の量を決定するが、豆 : 水 = 1 : 15以外の比率を用いると計算が複雑になる 前半4割の抽出では、1 : 1以外の比率を用いると計算が複雑になる 後半6割の抽出では抽出回数によっては1回あたり

      コーヒードリップのためのアプリを作った
    • 今までありがとうTravis CI、さよならTravis CI - xuwei-k's blog

      しっかり調査してないですが、こういったCIサービスがほぼ存在しない時期にほぼほぼ最初に登場して、一時期明らかにデファクトスタンダードだったと思うので、昔からOSS活動している人ほど、とても多く利用してお世話になっていたと思うので、そういう人であればあるほど、この状況は、怒りではなく、悲しいというか残念というか、辛いと思うんですよね・・・。 今までありがとう・・・。 長年Travis CI使ってきたので、GitHub Actionsによって潰される(のかどうなるのかわからないけど)、の可愛そう、という気持ちが若干あるけど、とはいえ、こういうのよくある話な気はするな…— Kenji Yoshida (@xuwei_k) 2020年10月7日 買収されて方針変わったのかなと感じるところもありますし、OSSプロジェクトが無料で使っていても会社としては辛いのではという気もするので今までの感謝の気持ち

        今までありがとうTravis CI、さよならTravis CI - xuwei-k's blog
      • シニアソフトウェアエンジニアまでの歩み方|gaijineers

        お知らせ:noteの更新はこれからしないので同じ内容を読みたい方はThe Pathをご覧ください ジョブレベル呼び方は組織によって違うが一般的にジョブレベルは ジュニア(新卒・インターンなど) ミッド シニア スタッフ -> シニアスタッフなど/マネージャ -> シニアマネージャ のように分けられてます。 実例を見るとwiseはこのようにキャリアマップを作っています wiseエンジニアのキャリアマップシニアに到達するとその次はICのトラック(スタフ、プリンシパル)を続けるかピープルマネジメントトラック(エンジニアリングリード、シニアエンジニアリングリード、ディレクター)に移すか選択できる。もちろんシニアのままにいるのも企業によって可能だったりします。シニアエンジニアは1人前でタスクをこなせたりプロジェクトをリードしたりできると期待されているでしょう。チームメイトのメンターシップも必要があれ

          シニアソフトウェアエンジニアまでの歩み方|gaijineers
        • 2023年買ったもの(技術書とか) - Magnolia Tech

          2023年のお買い物、技術書編です。 技術書以外はこちら blog.magnolia.tech とりあえずノータイムで買っちゃえ!損は無いよ!という3冊 他に、類似の本がないか、有ってもこっち買っておけばよくね?という3冊 なっとく!関数型プログラミング なっとく!関数型プログラミング 作者:Michał Płachta翔泳社Amazon Scalaをベースとした関数型プログラミングの学習本。オブジェクト指向言語であり、関数型プログラミング言語であるScalaの特性を生かして、命令型から宣言型のコードの書き方への変え方を学んでいくスタイル。 前半の凄まじい丁寧な学習のステップと、後半の「ここまで一気にやらなくても良くない?」の落差もすごいけど、ページ数の厚さに躊躇せず、前半1/3くらいを時間をかけて丁寧に学習するくらいが良いと思います。 周りに良い先生が居れば別ですが、そうでなければこの本

            2023年買ったもの(技術書とか) - Magnolia Tech
          • 変数(variable)と値(value) - ソフトウェア設計を考える

            はじめてScalaに触れたとき、変数宣言(var)と値宣言(val)を使い分ける言語仕様に、なるほどなあ、と思った。簡単に言えば、変数(var)は再代入できて、値(val)は再代入できない。 プログラミングのスタイルとして、var宣言は命令的なプログラミング、val宣言は宣言的なプログラミングになる。どちらのプログラミングスタイルで書いているかを、varとvalで明示できるわけだ。 Javaだと言語の基本の仕組みはすべてが変数。final宣言をすることで再代入をコンパイルエラーにすることはできる。Javaは、C言語やC++などの命令的なプログラミングの系譜の言語なのですべて変数(variable)というのは、とうぜんの言語仕様だった。 命令的なスタイルから宣言的なスタイルに 命令的なプログラミングでは変数(variable)を使う。宣言的なプログラミングでは値(value)を使う。 再代入

              変数(variable)と値(value) - ソフトウェア設計を考える
            • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

              オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

                Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
              • 開発とトラブルシュートに役立つ!クラウド時代のアプリケーションログ埋め込みと活用法

                ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo! JAPANアプリの通知系バックエンドシステムを主に担当しているエンジニアの福盛です。 Yahoo! JAPANアプリの通知系バックエンドシステムについては、以下の記事でも紹介しています。もし興味があればこちらも参照ください。 チームのスキル向上にもつながるシステム刷新 〜 Yahoo! JAPANアプリ「お知らせ」機能の開発事例 Scalaで使うMessage Queue 〜 Yahoo! JAPANアプリのお知らせ送信でのApache Pulsarの活用 今回は開発とトラブルシュートの効率を大幅に向上する、アプリケーションログの埋め込みと活用方法について紹介いたします。 本記事では「JavaおよびScalaで構築さ

                  開発とトラブルシュートに役立つ!クラウド時代のアプリケーションログ埋め込みと活用法
                • 読書メーターのインフラ構成について - BOOK☆WALKER inside

                  こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では前記事のニコニコ漫画のインフラ構成についてに続いて、読書メーターのサービスインフラの概要について軽くご紹介したいと思います。 読書メーターについて 読書メーターは、2008年5月に開設された日本最大級の読書コミュニティサイトです。 単純な読書記録や感想投稿に留まらず、ユーザ間で交流ができること、出版各社さまからご提供いただき著者さまのサイン本や発売前に校閲校正をする際の仮刷りであるプルーフと呼ばれる段階の本が貰える献本プレゼント企画を行っていることも特徴的な点です。 読書メーターの構成 読書メーターは下記の6つのコンポーネントから構成

                    読書メーターのインフラ構成について - BOOK☆WALKER inside
                  • はてなブログ、はてなブックマークを一緒に開発するエンジニアを募集しています - はてなブログ開発ブログ

                    もうすぐ10周年を迎えるはてなブログ、先日15周年を迎えたはてなブックマークですが、はてなではこれらのサービスをコンテンツプラットフォームと位置づけ、インターネットのコンテンツをよりよく、面白くするため、まだまだ積極開発を続けています。 そんなはてなブログや、はてなブックマークを一緒に開発するエンジニアを募集しています。あなたの手でブログ、ブックマークを良くしていきませんか? 最近のはてなブログ 企業利用、特に技術ブログの利用が増えていますが、個人の利用も活発ですし、更に増やしていきたいと思っています サービス開始から一貫して「しっかり書き残すブログ」として、多種多様なユーザー様によるコンテンツが発信されてきました。より一層、インターネットのコンテンツを豊かにするサービスづくりにあなたの技術力を貸して下さい 最近のはてなブックマーク Yahoo! JAPAN「建設的コメント順位付けモデルA

                      はてなブログ、はてなブックマークを一緒に開発するエンジニアを募集しています - はてなブログ開発ブログ
                    • 達人出版会

                      探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 徹底攻略 AWS認定 クラウドプラクティショナー教科書 第2版[CLF-C02]対応 トレノケート株式会社 高山裕司 超楕円関数への招待 楕円関数の一般化とその応用 松谷 茂樹 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 Tom Hombergs(著), 須田智之(訳) 詳解 AWS CloudFormation 潮村 哲 その決定に根拠はありますか? 確率思

                        達人出版会
                      • JSONの差分を取ってJSON Patchを得るにはdiffsonがおすすめ - Lambdaカクテル

                        こういうツイートを見た。 Scala (or Java) で、jsonのdiffをpatchファイルみたいな感じでわかりやすいテキストで出力してくれるライブラリないかなあ。そしてjacksonに依存してないといいな— Arthur (@Arthur1__) 2024年1月13日 現代のプログラミングではJSONの差分を取ったり、逆にパッチを当てるということがよくある。可能ならそれがPretty Printできると良い。 JSONの差分をScalaで取る方法についていくつか調べてみたのでメモ。 JSONの差分をどう表現する? JSON Patch diffson diffsonでJSON Patchを生成する diffsonでJSON Patchを適用する diffsonでJSON Merge Patchを生成する diffsonでJSON Merge Patchを適用する JSON Pat

                          JSONの差分を取ってJSON Patchを得るにはdiffsonがおすすめ - Lambdaカクテル
                        • 新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話

                          私は新たにプログラミング言語を学ぶとき、しばしば簡単なLisp処理系を作ってみます。いくつかの言語で取り組んでいるうちに、このLisp処理系群に小さな共通基盤も出来上がったりしているので、これを紹介しつつ、Lisp処理系の実装がプログラミング言語の学習にどう丁度いいのかを紹介します。 Rosetta Lisp 自作のLisp処理系群を、ロゼッタ・ストーンから名を借りてRosetta Lispと呼んでいます。Rosetta Lispは以下のような特徴を持ちます。 一定の共通した言語仕様・VMの仕様に基づいて動作する Rosetta Lispは (Rosetta Lispに準拠するLisp処理系群は)、いずれも共通した命令セットのVM上でLispプログラムを実行するように実装されています。 Lispの簡単な実装では、よくインタプリタ形式が採用されます。kanaka/malやrui314/min

                            新しいプログラミング言語を学ぶとき、簡単なLisp処理系を作るという話
                          • Twitterの買収を完了したイーロン・マスクがCEOに就任、テスラから集められた50人以上のエンジニアがTwitterのコードレビューに加わる

                            2022年10月にTwitterの買収を完了したイーロン・マスク氏が、Twitterの新CEOに就任することが明らかになりました。さらにマスク氏は、自身がCEOを務める電気自動車メーカー・テスラなどのソフトウェアエンジニアを選抜し、Twitterのコードレビューに従事させていると報じられています。 Elon Musk has pulled more than 50 Tesla employees into Twitter https://www.cnbc.com/2022/10/31/elon-musk-has-pulled-more-than-50-tesla-engineers-into-twitter.html Elon Musk, who runs four other companies, will now be Twitter CEO | Reuters https://www

                              Twitterの買収を完了したイーロン・マスクがCEOに就任、テスラから集められた50人以上のエンジニアがTwitterのコードレビューに加わる
                            • Google、コード生成や補完のAIモデル「Codey」が日本語での指示や説明に対応したと発表

                              Googleは、都内で開催したイベント「Generative AI Summit Tokyo」で、コード生成や補完のためのAIモデル「Codey」が日本語に対応したと発表しました。 CodeyはGoogleの最新の大規模言語モデルPaLM 2をベースとした、コード生成や補完のための基盤モデルです。 Codeyは、自然言語による指示に基づいてコードを生成する機能、チャットで会話しつつコード関連の質問に回答する機能、コードの足りない部分を補完する機能などを備えています。 対応するプログラミング言語は、Java、JavaScript、TypeScript、PHP、Python、Ruby、Rust、C++、C#、Go、Kotlin、Scala、Swift、GoogleSQLなど。さらにGoogle Cloud CLIやKubernetes Resource Model(KRM)、Terraform

                                Google、コード生成や補完のAIモデル「Codey」が日本語での指示や説明に対応したと発表
                              • フロントエンドの移り変わりは早すぎるのか

                                インターネットでは毎日のように言われることですが、私はそこまでではないと考えています。 ネットでよくそう言われる理由として考えられるものと、それを踏まえてどう向き合っていくとよさそうか、個人的な考えをまとめてみます。 なぜ言われるのか 言語が実質的にJavaScript一択 バックエンド、というかサーバサイドでは技術選定に「言語の選択」が入りますが、フロントエンドでは実質的にはJavaScriptにほぼ固定されます(TypeScriptも別言語ではないので、ここではJavaScriptに含めます) サーバサイドと比較して「技術の移り変わりが早すぎる」と評される場合、多くはその人の使用しているとある言語と比較されているように思われます。 実質的に言語が固定なので、比較するならすべてのサーバサイドの変化の総量と比較するのが妥当でしょう。 PHP + Python + Ruby + go + J

                                  フロントエンドの移り変わりは早すぎるのか
                                • AWS re:Invent 2020で発表された新サービス/アップデートまとめ - Qiita

                                  AWS re:Invent 2020の会期中に発表された新サービス/アップデートのまとめです。 今年も、後から出来るだけ素早く簡単に振り返ることができるようにまとめました! 凡例 (無印) 新サービス (Update) 既存サービスのアップデート (APN) パートナー制度に関連したリリース/アップデート 12/1 (火) 今年の開幕は「Amazon EC2 Mac instances」でした。 Amazon EC2 Mac instances macOS用のAmazon Elastic Compute Cloud (EC2) Macインスタンス EC2 Macインスタンスを使用すると、iPhone、iPad、Mac、Apple Watch、Apple TV、Safari用のアプリ開発者は、macOS環境を数分でプロビジョニングしてアクセスし、必要に応じて容量を動的に拡張し、AWSの従量課

                                    AWS re:Invent 2020で発表された新サービス/アップデートまとめ - Qiita
                                  • Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌

                                    この記事はRust Advent Calendar 2021の12/24日の記事です。 仕事ではScalaを使っていますが、趣味のプログラミングではRustで書いたものが増えました。Rustは楽しいですね。 今回は、Rustでオブジェクト指向プログラミングに関数型デザインを導入することで、スケーラブルなプログラムを書く方法(スケーラブル・プログラミング)について書きます。 「スケーラブル・プログラミング」といえばScalaです。Scalaの「スケーラブル」という言葉には「小さいプログラムも大規模なプログラムも同じ概念で記述できるべきである」という、柔軟性や拡張性を重視した設計の意図が込められています。それを実現するために必要なものは、オブジェクト指向と関数型を組み合わせたマルチパラダイムな設計です。 Scalaはマルチパラダイム言語の先駆者(今も先頭を走り続けています)ですが、他の言語にも

                                      Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌
                                    • 「GitHub Copilotのおかげで“とりあえず書き切る”ができるようになった」 開発プロジェクトへの活用で感じたメリット

                                      登壇者の自己紹介 服部佑樹氏(以下、服部):準備ができたようなので、続いてパネルディスカッションを進めていきたいと思います。 ファシリテーターを務めるのは、GitHubの服部です。よろしくお願いします。では、左から自己紹介をしていただいてよいでしょうか? 黒瀧悠太氏(以下、黒瀧):よろしくお願いします。GMOペパボ株式会社の黒瀧と言います。GMOペパボでちょうど10年ぐらい働いて、今は11年目になります。2012年に入社していろいろなWebサービスを開発したあとに、「SUZURI」というオリジナルグッズを作成するサービスの技術の責任者をしています。 最近、GMOインターネットグループの中で技術的な新しい取り組みや、先進的な活動をしていることを認められて、今はデベロッパーエキスパートもやっています。 業務はWebシステムがメインですが、趣味ではIoTデバイスやハードウェアを作ったり、いろいろ

                                        「GitHub Copilotのおかげで“とりあえず書き切る”ができるようになった」 開発プロジェクトへの活用で感じたメリット
                                      • 他言語プログラマが最低限、気にすべきGoのネーミングルール

                                        概要 タイトルの通り、他言語から入門した人が最低限気にするべき、ネーミングルールをまとめました。 対象読者 Goの基本構文を理解している人を対象読者としています。 この記事で説明すること、説明しないこと 説明すること Goのファイル名、変数名などの名前付けに関するルールや慣例などを説明します。 説明しないこと 名前付け以外で気をつけるべきGoの書き方[1] がいくつかあります。 しかし、それらに関してはこの記事では説明しません。 筆者のバックグラウンド プログラマ歴はもうすぐ8年程で、Goの他には以下のような言語の経験があります。 JavaScript TypeScript PHP Ruby Java Scala Goは少し前に書いて、一時期書かない時期が続いていましたが、最近また書いています。 トータルするとGoの経験は1年半程度です。 意識すべき名前付けルール package名 利用し

                                          他言語プログラマが最低限、気にすべきGoのネーミングルール
                                        • 畳み込みの視点から見たforall(every)とexists(some): 空集合に対するforallは常にtrueになる - Lambdaカクテル

                                          こういうツイートが話題になっていた。 「配列のすべての要素が条件を満たすならtrueを返す」関数を定義するとき、空の配列を渡したらfalseを返すかtrueを返すかが、良いプログラマかどうかの一つの境目だ— ふみ (DJ Monad) (@fumieval) 2023年5月29日 つまりScalaで言うと次のようなコードが何になるか、というものである。 val xs = Seq.empty[Int] xs.forall(_ == 42) 結論から言うと、このような関数は常にtrueを返す。 なぜだろう?その理由をこれから説明する。 ちなみに他に以下のような意見があった: 仕様による 例外を投げるべき いずれもまぁありえなくはないが、やめておいたほうが良いと思う。もし仮にfalseを返すような仕様があった場合、それは数学から乖離しているのでいずれ仕様内部で矛盾する可能性が高いし*1、最終的に

                                            畳み込みの視点から見たforall(every)とexists(some): 空集合に対するforallは常にtrueになる - Lambdaカクテル
                                          • これから流行る言語 | 雑記帳

                                            新言語にできることはまだあるかい なんとかWIMPS 最近(1ヶ月くらい前)、こんな記事が出ました: 新しいプログラミング言語が出てこない(新しく出てた言語を追記) – きしだのHatena Kotlin, TypeScript, Rust, Swift以降にみんなが話題にするような新しい言語が出てこない、それはなぜか、みたいな趣旨です。客観的に見れば「新しい言語は常に出続けている」わけですが、「みんなが話題にするような」というのが多分曲者なんでしょうね。 例え話をすると、新しい若木は常に生えてきているんだけど、大木に成長するには時間がかかるので、大木にしか興味のない人には「この8年間で新しい大木は登場していない」と判断してしまうのかもしれません。 まあ私としても、Web (HTTP) APIを書く言語とか、JSON色付け係が使う言語はもう出揃ってしまったのかもしれないという気はしなくもな

                                            • サービスメッシュ必読ガイド - 第2版: 次世代のマイクロサービス開発

                                              2016年頃「サービスメッシュ」という用語は、マイクロサービス、クラウドコンピューティング、DevOpsの分野に登場しました。楽天的なあるチームは、2016年にこの用語を使用して彼らの製品である Linkerd を説明しました。コンピューティングの多くの概念と同様に、実際には、関連するパターンとテクノロジーの長い歴史があります。 サービスメッシュの登場は、主に IT ランドスケープの最悪の状況によるものでした。開発者は、複数言語 (ポリグロット) アプローチを使用して分散システムの構築を開始し、動的なサービスディスカバリーを必要としていました。運用は一時的なインフラストラクチャの使用を開始し、避けられない通信障害を適切に処理し、ネットワークポリシーを適用したいと考えていました。プラットフォームチームは、Kubernetes などのコンテナオーケストレーションシステムの採用を開始し、Envo

                                                サービスメッシュ必読ガイド - 第2版: 次世代のマイクロサービス開発
                                              • OpenAI API ドキュメント 日本語訳|#2 GET STARTED 後編|ゑぐみかるちゃあ

                                                OpenAI API ドキュメントの日本語訳をこちらでまとめます。文字量の多いドキュメントなので、セクションごとに記事を分割しています。 今回は「GET STARTED 」のセクションからLibraries 、Models、TutorialsそしてUsage policiesを抜粋した後編です。 基本 DeepLで翻訳して、気になるところだけ書き換えています(ほぼ気になるところがないのが、DeepLのすごいところ)。原文との突き合わせができるようにはじめに原文を入れてますので、間違いなど見つけられましたら、ぜひご指摘ください。ご指摘箇所は随時反映させていただきます。 原文のリンクが有効になってますので、それぞれ必要な場合は原文リンクの方を参照ください。 前回のおさらいはこちら Python library|Python ライブラリWe provide a Python library, w

                                                  OpenAI API ドキュメント 日本語訳|#2 GET STARTED 後編|ゑぐみかるちゃあ
                                                • 「JupyterLab」のデスクトップアプリ「JupyterLab App」がリリース。Pythonなどに対応した統合開発環境

                                                  「JupyterLab」のデスクトップアプリ「JupyterLab App」がリリース。Pythonなどに対応した統合開発環境 Pythonなどに対応した統合開発環境としてWebブラウザから利用する「JupyterLab」のデスクトップアプリケーション版となる「JupyterLab App」がリリースされました。 Electronベースのマルチプラットフォーム対応となっており、Mac、Linux、Windowsに対応します。 基になったWebアプリケーションのJupyterLabは、PythonやScala、Rなどのコードを打ち込んですぐに実行できるインタラクティブなデータ解析環境であった「Jupyter Notebook」をベースとし、そこにターミナル画面の機能、ファイルブラウザ、テキストエディタなどの機能を統合。 さらにブレークポイントの設定や変数の確認などの機能を備えたビジュアルデバ

                                                    「JupyterLab」のデスクトップアプリ「JupyterLab App」がリリース。Pythonなどに対応した統合開発環境
                                                  • Delta Lake とは何か - connecting the dots

                                                    はじめに 環境情報 Delta Lake (デルタレイク) とは Delta Lake の実体 Delta Lake の構造 Parquet と Delta の相違点 Parquetとは何か Parquetの構造 Parquet と Delta の違い Delta Lake が生まれた経緯: データレイクと Delta Lake の違い データレイクのメリット データレイクの課題 *Parquetで構築した場合 Delta Lake の特徴 ACIDトランザクションの担保 スケーラブルなメタデータ管理 バッチとストリーミングワークロードの統合 タイムトラベル (バージョン管理) CONSTRAINT句のサポート DML (データ操作言語) のフルサポート UPDATE DELETE MERGE 柔軟なスキーマ管理 1. スキーマ エンフォースメント 2. スキーマ エボリューション ストレ

                                                      Delta Lake とは何か - connecting the dots
                                                    • 全プログラマに捧ぐ!図解「パターンマッチ」 - Qiita

                                                      パターンマッチを使い始めてかなりの時間が経ちました。最初は関数型言語の一機能として触り始めましたが、徐々に関数型言語のユーザだけの玩具にしておくのは勿体ないと思うようになってきました。プログラミングにおいて、パターンマッチほど有用であるにもかかわらず普及が遅れている言語機能は他にないと思います。 本記事ではその状況に一石を投じたく、一般のプログラマにも伝わるようになるべく図解で「パターンマッチ」を解説してみたいと思います。 (本記事は自分のブログからの転載記事です。) はじめに 本記事はプログラミング言語における「パターンマッチ」1という機能に着目して解説したものです。「パターンマッチ」は、switch文の強化版2であり、仮にパターンマッチを持たないプログラミング言語のユーザだとしても全プログラマが知っていて損はないアイデアだと思います。 パターンマッチとは パターンマッチは以下の図のよう

                                                        全プログラマに捧ぐ!図解「パターンマッチ」 - Qiita
                                                      • Rustを実践的に学ぶには

                                                        Stack Overflowの愛され言語ランキングでここ最近ずっと一位のRustを、2020年の年末から本気を出して学んでます。ようやくまともに書けるようになったので、どんなやり方で学んだかを簡単にまとめたいと思います。 著名なRust関連の書籍は買いそろえて学習していたのですが、実際にモノ作ったほうが早いよねということで、ULID生成器を実装してみました。ちょっと前にScalaでも同様に作っていたので、ちょうどいい習作課題でした。 実際の実装は以下。 学習の進め方 書籍などの情報は、以下を中心に読みました。というか、一通りの概念を把握するという感じです。すでに何かしらのプログラミング言語を扱える人なら(Rustを第一言語にする人少なそうですが…)、どういった機能があるか、浅く理解しておくとよいと思います。そのうえで、実装の際に具体的な知識が必要ならば、「あ、このあたりはあの書籍に書いてあ

                                                          Rustを実践的に学ぶには
                                                        • Scala の開発環境構築 2021 - たにしきんぐダム

                                                          特に意味はないけどおしゃれかなと思って貼ったスクショ Scala Advent Calendar 2020 - Qiita 3日目です ここ2,3年の間にScalaの開発ツールチェーンは進化を続けていて、Scalaの開発体験はめちゃくちゃ良くなってきています。例えば、数年前だと IDEは基本的にIntelliJ一択、vimとかemacsで開発環境作れなくもないけどかなり大変 IntelliJの型チェックがうまく行かなくて、ちょっと複雑なコード書くとコンパイルは通るのに画面が真っ赤になる コンパイルが遅い(インクリメンタルビルドしても遅い) という感じだったのですが、現状はかなり改善されていて IntelliJ 以外にも metals という Language Server がかなり使いやすくなっていてあらゆるエディタで簡単にScalaを書けるようになった IntelliJ も metals

                                                            Scala の開発環境構築 2021 - たにしきんぐダム
                                                          • F# 8 のリリースで F# が最強の言語になってしまった件 - Qiita

                                                            おはようございます. 遅ればせながら,11/14/2023 の .NET 8 のリリースの内容を確認し,コードジェネレータの新しい最適化機構(PGO)のデフォルト有効化や AI/LLM のアプリケーションへの統合,各フレームワークのアップデートや,C# の方ではコレクション記法の統合など様々なトピックがある中で,付随してリリースされた F# 8 についても新機能をチェックしてみました. ヤバすぎました. 私は涙しました.これまであらゆる F#er が望んでも得られなかったものがそこにはありました.F# という言語がこれまでの不満点を一気に払拭し,至高の領域に到達しようというヤバみを感じるリリースだったので,今回は以下のブログポストに記載されている新機能から個人的に凄いと思ったものを抜粋して解説します. 11/24/2023 一部サンプルコードのミスを修正しました. F# および F# 8

                                                              F# 8 のリリースで F# が最強の言語になってしまった件 - Qiita
                                                            • Scala研修テキストが株式会社ドワンゴ様から寄贈されました - ScalaMatsuri運営ブログ

                                                              まえおき こんにちは。Japan Scala Association (JSA)の水島(みずしま)です。 今回は、Scala研修テキストが株式会社ドワンゴ様から、一般社団法人Japan Scala Associationに寄贈されたことを報告したいと思います。 Scala研修テキストとは Scala研修テキストは、私が前職のときに、当時の同僚とともに作り上げた、新卒エンジニア向けのScala研修テキストです。 元々は、ドワンゴ社内でのScala研修を実施するために執筆したものですが、2016年にCC BY-NC-SA 3.0で公開され、主要メンテナである私を中心として改良やメンテナンスを続けてきました。また、当時の同僚の協力によって、PDF版やEPUB版も入手できるようになっています。 幸い、Scala研修テキストは、Scalaを学習しようと思っている初学者の方のみならず、Scalaを利用

                                                                Scala研修テキストが株式会社ドワンゴ様から寄贈されました - ScalaMatsuri運営ブログ
                                                              • ChatGPTはプログラミング言語マスター(語弊ありまくり) - kmizuの日記

                                                                皆さんおはようございます。見ている人は見ていたかもしれませんが、昨夜はかなり遅くまで巷で話題沸騰のChatGPTによくわからんクエリを投げて、その結果をみてげらげら笑っていました。特に存在しないプログラミング言語であり「ScalaにHaskellと同じ型推論を加えた」言語Scalayがあることにしたら、ChatGPTが本当にHaskellぽい(単なるHMでなく、Haskellぽいというのは型クラスまで推論される辺り)型推論を持つ架空のScalayコードを解釈実行してくれたりしたところは、控えめに言っても予想外の結果で深夜なのに部屋で忍び笑いをしていました。 Scalaに引数の型推論を追加したようなパチもんのプログラミング言語Scalay(仮)ができてしまった(ChatGPTと対話してる間だけの短い命)。 一応、add: (Int, Int) => Int が推論されてるのすばらですね。 p

                                                                  ChatGPTはプログラミング言語マスター(語弊ありまくり) - kmizuの日記
                                                                • KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ - エンジニアHub|Webエンジニアのキャリアを考える!

                                                                  KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ 近年注目を集めるKotlinはどのように書き、どのように運用するのがいいのか。2012年からKotlinに親しむUbie社の長澤太郎さんに、その経験から得られたKotlinノウハウを聞きました。 2011年7月に登場したJVM言語・Kotlinは、近年多くの注目を集めている言語の1つです。Androidアプリの開発言語としてGoogle I/O 2017で正式採用されたことも契機となり、Kotlinはその存在感を一挙に高めました。 そして、この言語に黎明期から親しみ続けてきたのが、Ubie株式会社の長澤太郎(ながさわ・たろう/ @ngsw_taro )さんです。業務や登壇、執筆活動など、多くの局面でKotlinを活用し、ノウハウを蓄積してきた長澤さんに、Kotlinの言語特性やより

                                                                    KotlinをKotlinらしく、そして可読性を高く保つ運用知見 - エキスパート長澤太郎に聞く実装のイロハ - エンジニアHub|Webエンジニアのキャリアを考える!
                                                                  • 無料、独学で機械学習エンジニアになる!~機械学習が学べる無料サイト、書籍~ - Qiita

                                                                    こんにちはkamikawaです 今回は無料で利用できる機械学習、データサイエンスに関するサイトや書籍をまとめました 私自身も機械学習プロジェクトに関わった経験があるのですが、ここに載せたサイトや資料を勉強に使っていました 機械学習エンジニアを目指す人必見です 入門者レベル〜応用・発展レベルまで幅広く載せていますレベルは個人の見解です。(あくまでも参考程度に) 日本語のものと英語のものを紹介します 海外の大学の講義もあるので英語の勉強にも使えます 海外でのキャリアを考えている方も必見です 対象読者 機械学習を学びたいけどお金をかけたくない人 独学で機械学習を身につけたい人 機械学習エンジニアになりたい人 発展的な機械学習を学びたい人 日本語 Python 三重大学奥村教授のサイト 機械学習、様々な分析、スクレイピング、データ可視化、地図データ、CV、統計など幅広い分野を扱っている R編もある

                                                                      無料、独学で機械学習エンジニアになる!~機械学習が学べる無料サイト、書籍~ - Qiita
                                                                    • これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル

                                                                      自分は、仕事でScalaを数年間・プライベートな経験を含めると10年弱のScalaの経験がある、そこそこの熟練Scalaエンジニアだ。チームにメンバーが入ってきたり他人に勧めるたびにScalaの環境構築を教えている一方、最新の知見を反映した記事が無くて他人に勧めづらかったので、自分が書くことにした。 現在ある記事 けっこう古びている 覚えながら書かれていることが多いのでやや曖昧な箇所がある(でもありがとう!) 最新のツールが利用できておらず無駄が多い 網羅的でない 今回目指す内容 最新の知見を活用して最短距離を目指す 何もない状況から一通りのツールが揃う所を目指す Scalaの環境構築は年を追うごとに簡単になってきているので、大多数の読者は引っかからずに進めるようになっているはず。 Scalaは基本的にJVMで動作する言語だ。このため環境構築にはJVMのセットアップも含まれるのだが、それに

                                                                        これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル
                                                                      • Chatworkテックリードが“今”の自分に集中してきた理由。Scala×DDDに出会い、サービス改善に生かすまで - Findy Engineer Lab

                                                                        自分が気づいてなかった資質を、探して、磨く 劣等感に消耗するより、目的志向で考える オープンソースコミュニティへの参画 ドメイン駆動設計とScalaが「点」となる ドメイン駆動設計との出会いと成果 遅延評価的学習法でScalaを習得 Scalaを使ってDDDを実践するスタイルを確立した 実験的に導入して結果が出れば業務での普及も進む 積み上げてきたScalaとDDDの開発スタイル Scalaコミュニティとともに 新しい挑戦で新しい「点」ができ、そして「線」につながる 「いずれどこかで点がつながって実を結ぶだろう」 過去も未来も思い切って手放し、今の自分に集中する こんにちは、Chatworkでテックリードをしている、かとじゅん(@j5ik2o)です。 今年(2020年)で48歳になりましたが、技術に前向きになったというか、本気を出したのは37歳ごろでした。遅いな……(笑)。まぁ、遅い早いが

                                                                          Chatworkテックリードが“今”の自分に集中してきた理由。Scala×DDDに出会い、サービス改善に生かすまで - Findy Engineer Lab
                                                                        • Java 5.0時代の非同期処理技術から学び直すScala/Java非同期処理

                                                                          Passkey Autofill に賭けるマネーフォワード ID - Money Forward Tech Day 2024

                                                                            Java 5.0時代の非同期処理技術から学び直すScala/Java非同期処理
                                                                          • CSS Architecture on Vue.js

                                                                            Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x

                                                                              CSS Architecture on Vue.js
                                                                            • 【第5回】「型」はウェブシステム開発に「エンドゲーム」をもたらすか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

                                                                              伊藤直也さんが「今逢いたい」ソフトウェアエンジニアに声をかけて対談を重ねてきたシリーズの最終回は、これまでの対談の文章化を手がけたラムダノート株式会社の鹿野桂一郎さんとの異色対談です。コンピュータ技術書や記事の編集者であると同時に仕事や趣味でHaskellのプログラムも書く鹿野さんの視点を通し、現代のウェブシステム開発に伊藤さんが何を見ているのか、特に「型」と「エンジニアの学び」というこれまでの対談に通底するテーマについて掘り下げます。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。 ・鹿野 桂一郎さん / ラムダノート株式会社 代表取締役社長

                                                                              • 自動プログラミングAIの「AlphaCode」をDeepMindが発表、競技プログラミングレベルのコード生成が可能

                                                                                DeepMindが競技プログラミングレベルのプログラミングが可能な人工知能(AI)の「AlphaCode」を発表しました。AlphaCodeのほかにも自動でプログラミングが可能なAIは存在しますが、AlphaCodeは414億ものパラメーターを保持した特に精度の高いAIに仕上がっているとのことです。 Competitive programming with AlphaCode | DeepMind https://deepmind.com/blog/article/Competitive-programming-with-AlphaCode Competition-Level Code Generation with AlphaCode (PDF)https://storage.googleapis.com/deepmind-media/AlphaCode/competition_leve

                                                                                  自動プログラミングAIの「AlphaCode」をDeepMindが発表、競技プログラミングレベルのコード生成が可能
                                                                                • コンセプトから理解するRust

                                                                                  2022年2月12日紙版発売 2022年2月7日電子版発売 原旅人 著 B5変形判/360ページ 定価3,520円(本体3,200円+税10%) ISBN 978-4-297-12562-2 Gihyo Direct Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 Rustはメモリ安全,スレッド安全を保ちつつ,高パフォーマンスなプログラムを開発できるプログラミング言語です。また,手続き型,オブジェクト指向型,関数型でのプログラミングに対応できるマルチパラダイムの言語でもあります。ただ,そういったRustのポテンシャルを引き出すには,所有権やライフタイム,ジェネリクスやトレ

                                                                                    コンセプトから理解するRust