並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 4097件

新着順 人気順

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

  • Fintechサービスをスピーディーに立ち上げる技術スタック LINEエンジニアに和田卓人さんが聞く TypeScriptとマイクロサービス基盤 - はてなニュース

    多くのユーザーに常用されるコミュニケーションアプリ「LINE」には、エンターテイメントやライフスタイル、ショッピングなど多種多様な関連サービスがあります。 その中でスマホ投資サービス「LINE証券」や、外国為替証拠金(FX)取引の「LINE FX」、個人向けローンサービス「LINEポケットマネー」、「LINE」アプリ上で損害保険に加入できる「LINEほけん」などファイナンシャル(金融)系サービスの展開も拡大しています。 こういったFintech事業に、LINEエンジニアはどう取り組んでいるのか? 「LINE証券」を開発する3名に、事業を支える技術の詳細を伺いました。聞き手は、テスト駆動開発の第一人者でありITコンサルタント・ソフトウェアエンジニアの和田卓人(@t_wada)さん。 信頼性と高速性の両立が求められるFintech領域において、LINEはどのような工夫を行っているのでしょうか。

      Fintechサービスをスピーディーに立ち上げる技術スタック LINEエンジニアに和田卓人さんが聞く TypeScriptとマイクロサービス基盤 - はてなニュース
    • GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様

      OpenAIが作成したチャットAIの「GPT-4」を利用して、新しいプログラミング言語の「TenetLang」をコーダーのルークさんが作成しています。 GPT-4 Designed a Programming Language https://lukebechtel.com/blog/gpt4-generating-code GPT-4のような大規模言語モデル(LLM)は、世界中に存在するあらゆるプログラミング言語を何十億回も読み込んでいます。LLMはプログラミングも可能であることは知られていますが、ルークさんは「私の知る限り、GPT-4で独自のプログラミング言語を作成するといった事例はこれまでありません」と記しています。そこで、ルークさんはGPT-4を使って新しいプログラミング言語を創造することに決めた模様。 ルークさんは最初にGPT-4に対して「ソフトウェア開発における大まかな統一理論

        GPT-4で新しいプログラミング言語「TenetLang」を生み出す、チャットAIは既にプログラミングの何たるかをかなり理解している模様
      • エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス

        potato4dとうなすけが2020年に使用した技術をそれぞれフロントエンドエンジニアの目線とサーバーサイドエンジニアの目線から書いてくれていたので、私も感化されて記述していこうと思う。d.potato4d.me blog.unasuke.com 私自身は2020年、本業としてFringe81(2020年12月で退職)でサーバーサイドをメインで触り、業務委託としてBlack Inc.でフロントエンドに近い開発をしていた。(あと数社お手伝い) どちらかというとサーバーとフロント、両方の立場から多角的な意見を言えるような立ち位置で仕事を行っていた年になる。 また本業においては情報処理安全確保支援士として活動を始めた年になった。社内のセキュリティ向上を目標としていた。 qiita.com qiita.com 今回は仕事で触れていた技術について、できる限りまとめていく。 --- 言語 TypeSc

          エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス
        • ドメイン固有型(値オブジェクト含む)を再考する - かとじゅんの技術日誌

          Value Objectが盛り上がっているらしい。 Value Objectについて整理しよう - Software Transactional Memo Value Objectの説明に異論がないものの、主題はValue Object Obsessionのほうですよね。 こちらも聞いてみた。 fukabori.fm よい機会なので、よくわかっているつもりの、値オブジェクトというかドメイン固有型について再考してみよう。 それは値か属性か それはエンティティの全メンバーやデータベースの全列のために「顧客郵便番号」「送付先郵便番号」「事業所郵便番号」「契約日」などのクラス(メンバではなくクラス!)を定義して、immutableな振る舞いを強制する事を以てValue Objectであると言い張り、ドメイン知識の断片をそれぞれのクラスに書き散らして「高凝集になった」「型システムが守ってくれる」と喜

            ドメイン固有型(値オブジェクト含む)を再考する - かとじゅんの技術日誌
          • コーヒードリップのためのアプリを作った

            はじめに コーヒーはコーヒー粉にお湯を注ぐなどして得られる抽出液である。抽出の方法の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) - ソフトウェア設計を考える
                    • 署名とゼロ知識証明の初歩

                      Kernel/VM探検隊@東京 No17 https://kernelvm.connpass.com/event/321962/

                        署名とゼロ知識証明の初歩
                      • 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で構築さ

                            開発とトラブルシュートに役立つ!クラウド時代のアプリケーションログ埋め込みと活用法
                          • GitHub - twitter/the-algorithm: Source code for Twitter's Recommendation Algorithm

                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                              GitHub - twitter/the-algorithm: Source code for Twitter's Recommendation Algorithm
                            • Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点

                              プログラミングの学習を始めようとする人がする定番の質問がある。「どのプログラミング言語を選べばいいか」というものだ。 私はこのコラムで以前、JavaScriptからプログラミングを始めてはどうかと書いた。JavaScriptはWebブラウザーさえあれば動作するからだ。例えば「Chrome」であれば、F12キーを押して「Console」タブを選ぶだけで、JavaScriptの対話実行環境を利用できる。 関連記事: 保存していないクレジットカード情報が漏洩する謎、鍵はあのプログラミング言語 もっとも、JavaScriptは最初に学ぶ言語としては少し癖が強いとも感じている。どちらかというと、2番目か3番目に学ぶことで視野が広がるタイプの言語ではないだろうか。 私が初心者に勧めるとしたら候補は2つある。「Ruby」と「Python」だ。 私がRubyを勧める理由は、「プログラミングの楽しさ」を体験

                                Pythonの波に飲み込まれたRuby、日本のケータイ敗戦との共通点
                              • 読書メーターのインフラ構成について - 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を実践的に学ぶには
                                                                      • 契約による設計事始め

                                                                        Object-Oriented Conferenceの発表資料です。 https://fortee.jp/object-oriented-conference-2020/proposal/1224f293-8624-4448-866f-5d1b991d377f カンファレンスの感想はこちら。 …

                                                                          契約による設計事始め
                                                                        • 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
                                                                            • ReDoS 検出の最先端 recheck の紹介 / State of the Art of ReDoS Detection

                                                                              YAPC::Japan::Online 2022 での発表資料です。 recheck:

                                                                                ReDoS 検出の最先端 recheck の紹介 / State of the Art of ReDoS Detection
                                                                              • 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エンジニアのキャリアを考える!