タグ

superblueplanetのブックマーク (11,117)

  • Java 22新機能まとめ - Qiita

    Java 22が2024/3/19にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008827.html The Arrival of Java 22! LTSではなく正式採用された機能も少ないですが、Gathererは出番も多そうなAPIなのでチェックしておきましょう。 また、非互換性として、Javaソースの直接実行でパッケージとディレクトリの対応が厳しくなっているので注意が必要です。 JDKをインストールせずに言語やライブラリの新機能を試したい場合にはJava Playgroundが便利です。 https://dev.java/playground/ Samplesに新機能のサンプルがあります。 資料 詳細はこちら JDK 22 Release Notes Java SE 22 Platform JSR

    Java 22新機能まとめ - Qiita
  • ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP

    Object-Oriented Conference 2024で発表した資料です。 https://fortee.jp/oocon-2024/proposal/b31c9818-3cb8-4350-adfe-cbc839cdf829 ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に…

    ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
  • ソフトウェアエンジニアのライブラリアップデートの向き合い方 - Uzabase for Engineers

    こんにちは。ソーシャル経済メディア「NewsPicksNewsPicks Stage.事業のエンジニアをしています、林です。 業務では Next.js / Rust / Go などを用いて、経済・ビジネス情報に特化した動画配信サービスであるNewsPicks Stage.の開発・運用を行っています。 はじめに 突然ですが、皆さんは自身のソフトウェアのライブラリアップデートは行えていますか? 皆さんはどのようにライブラリアップデートを行なっていますか? 新機能を試したくて? npm iで失敗してから頑張る? Renovate / dependabot が自動Mergeされる環境? もしくは対応担当が特定の日にまとめてMergeする運用? しかし多くの開発者は、アップデートに対して「うまくいっている」と言えないのではないでしょうか?自身も様々なプロダクトを開発してきた経験上、日々の中ではどう

    ソフトウェアエンジニアのライブラリアップデートの向き合い方 - Uzabase for Engineers
  • draw.ioを使ってAWSの構成図を作成するコツ - Qiita

    案件でAWSの構成図を作成する機会があったので備忘兼ねて投稿します。 ※約5分で読めます 1. グループの内側から作成していく AWSの基的なグループ構成はこんな感じ 添付の場合、個人的には Public subnet or Private subnet > Availability Aone > VPC > Region > AWS Cloudの順番で作成することをオススメします。理由は内側のグループが肥大すると外側のグループの手直しが発生するためです。 今回作成した時に外側から作成してしまい、めっちゃ時間がかかってしまいました... 2. グループの左上を掴む 日語が下手ですみません。 なぜ左上を掴まないといけないか?試しにPublic subnetをクリックしてドラッグをすると、添付の様になりました。 クリックをするとグループの外から選択されてしまうため、選択したグループ内に存在

    draw.ioを使ってAWSの構成図を作成するコツ - Qiita
  • 大切な人が亡くなったら行う24の相続手続き

    監修者 山口 拓也( 著者の記事一覧はこちら )相続専門税理士 辻・郷 税理士法人 シニアパートナー 相続税の相談実績は累計500件を超える。金融機関や各種メディアでの、お客様向けセミナー講師の実績も豊富。 Tweet Pocket ​「相続手続き、色々あるって聞くけど、何から始めたらいいんだろう。」​ これは、そんな相続手続きに関するお悩みが全て解決できる相続手続きのまとめ記事​(相続専門税理士監修)​です。 私は昨年、父親を亡くしました。 父親が亡くなった次の日、私は相続手続きが不安になり、ネットで相続手続きについて調べてみました。 そうすると、サイトごとに書いてある手続きが異なっていたり、手続きの内容は分かっても誰がどこでどうすればよいのか分からなかったり…。 結局、10以上のサイトを見ながら手書きでノートに相続手続きをまとめ、分からないところは市区町村役場の窓口や、葬儀屋さんに聞

    大切な人が亡くなったら行う24の相続手続き
  • DDD入門:用語解説・モデリング編

    はじめに こんにちは、クラウドエース Backend Division 所属の秋庭です。 私は今年新卒で入社したのですが、入った案件では DDD (ドメイン駆動設計)を元に設計・実装が行われていたため DDD について学ぶ必要がありました。 この記事は、私が何も知らない状態から DDD について学び始めた一歩目のアウトプットであり、同様にこれから一歩を踏み出す方の手助けになるものとなったら嬉しいです。 この DDD 入門記事は大きく「用語解説・モデリング編」と「コーディング編」に分かれており、用語の紹介と実際の作業を通して DDD の概観を紹介できればと思います。 この記事は「用語解説・モデリング編」となります。この記事の続きとなる「コーディング編」もぜひご覧ください! 対象 想定読者 DDD の用語や概念、モデリングについてこれから学ぼうと考えている方。 記事内容 この記事では主に DD

    DDD入門:用語解説・モデリング編
  • あなたが教わってるそのCSSテクニックはもう古い | TAKLOG

    Xの初学者のポストにて古の手法を教わっている方をよく見かけるので、2024年現在そのCSSテクニックはもう古いってものをいくつか列挙しました。 ブロックのセンタリングに margin を使うなら margin-inline:auto を使いなさいmarginを使ってブロックのセンタリングを行う際によく教わるのはmargin:0 autoあるいはmargin:autoでしょう。

    あなたが教わってるそのCSSテクニックはもう古い | TAKLOG
  • ドメイン駆動設計入門【DDDをわかりやすく解説】 | 楽水

    突然ですが、エンジニアの皆さま、Javaで開発したWebアプリケーションの構成、このようになっていませんか? データとgetter/setterだけのオブジェクト(JavaBean) 画面のコントロールやビジネスロジックの処理はServletが行う データベースのアクセスは、DAO(Data Access Object)に任せる もしそうであれば、そのシステム、ドメインモデル貧血症に陥ってます。 これは、データとgetter/setterだけのオブジェクトを、Anemic(貧血症になって元気がない)オブジェクトと称し、オブジェクトとはいうものの実質的にはデータであり、それをやりとりするだけの手続き型システムなっていることを嘆いたものです。 今回は、来のオブジェクト指向に立ち返り、そのメリットである高い保守性、再利用性、拡張性を備えた変化に強いシステムを作るための設計方法、ドメイン駆動設計

  • RAGでの回答精度向上のためのテクニック集(応用編-B)

    はじめまして。株式会社ナレッジセンスの門脇です。普段はエンジニアPMとして、「社内データに基づいて回答してくれる」チャットボットをエンタープライズ企業向けに提供しています(一応、200社以上に導入実績あり)。ここで開発しているチャットボットは、ChatGPTを始めとしたLLM(Large Language Models)を活用したサービスであり、その中でもRAG(Retrieval Augmented Generative)という仕組みをガッツリ利用しています。記事では、RAG精度向上のための知見を共有していきます。 はじめに この記事は何 この記事は、LlamaIndexのAndrei氏による『A Cheat Sheet and Some Recipes For Building Advanced RAG』[1]という記事で紹介されている「RAGに関するチートシート」について、And

    RAGでの回答精度向上のためのテクニック集(応用編-B)
  • マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy

    # 実装の参考資料 - https://soudai.hatenablog.com/entry/2022/11/11/110825 # 類似の登壇内容の動画 - https://www.youtube.com/watch?v=PXy6I-AeI-I

    マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy
  • どうしてあなたの共通化は間違っているのか:目次 - Qiita

    はじめに この連載では共通化とモジュール分割について扱います。この話題においてQiitaで有名な記事のひとつが@MinoDrivenさんの単一責任原則で無責任な多目的クラスを爆殺するでしょう。この記事を未読の方はまずこちらを読むことをお勧めします。連載では、この記事に書かれているような基礎的な事項については既知であることを前提に、どのようにすれば単一責任原則にそったモジュールの分割を行うことが出来るのかをなるべく 「場合による」という言葉に逃げずに なるべく 網羅的・理論的に 解説します。 いいね、ストックをよろしくお願いします。 対象読者 設計に興味のあるエンジニア 基礎的な設計原則について学んだものの、実際の場面でどのように応用すればいいのかが掴めないエンジニア ミクロな設計についての知識を増やしたい人 ※この記事では、特定のメソッドをどのように作成するべきか、このクラスは複数の処理

    どうしてあなたの共通化は間違っているのか:目次 - Qiita
  • 話題のチャットAI「Claude 3」のプロンプト集、公式が公開中 「Excelの数式作って」など64種

    AIスタートアップの米Anthropicが、同社のチャットAI「Claude 3」向けに公式プロンプト集を公開している。3月11日までに64種類の使用例を公開中。専用のWebサイト「プロンプトライブラリ」で公開しており、英語と日語表示に対応している。 例えば、入力した材料や好みに応じた料理レシピを提案する「料理クリエイター」などのプロンプトを公開している。プロンプトは「システム」と「ユーザー」の2つに分かれ、まず前者でAIに指示し、次に後者でユーザー個別の条件や要件を伝える仕組み。料理クリエイターの場合は以下のような具合だ(原文ママ)。 システム:あなたの仕事は、利用可能な材料や事の好みに関するユーザーの入力に基づいて、パーソナライズされたレシピのアイデアを生成することです。この情報を使用して、ユーザーの事のニーズに対応しながら、指定された材料を使用して作ることができるさまざまな創造

    話題のチャットAI「Claude 3」のプロンプト集、公式が公開中 「Excelの数式作って」など64種
  • 怠惰な人向け技術ブログの続け方ガイド

    技術ブログの続け方ガイド こんにちは!ITベンチャー企業で半年間働いている駆け出しエンジニアです👨‍💻 今回はエンジニアで働く上でテックブログを続けるためのモチベーションの保ち方を記事にしてみました。 テックブログって敷居高いしめんどいよなぁ!? 技術記事を発信する人材は重宝されるらしい。 ただ、僕は現段階で技術記事って面倒くさいし敷居が高いな〜書くネタもないな〜🐹 と思ってしまうのが事実としてあります。 僕だけなのかな?と思って調べてみたら… みんなめんどくさがってるやんけ!!!!! そこで、めんどくさがりな僕たち向けにテックブログの続け方をノウハウとしてまとめてみました。 みなさんのモチベーション維持に貢献できれば嬉しいです👍 1. 初学的なところも書いてみる こんなの書いても誰のためにもならないんじゃないの…?😭 ということでも書いてみるのは大事である。 自身が悩んだり共感

    怠惰な人向け技術ブログの続け方ガイド
  • どのレイヤー(層)でトランザクションを実装すべきか

    このように、層ごとに関心事の分離を行うことで、保守性の高い(変更容易性や再利用性等)アプリケーションを実現できます。 しかし、「トランザクション」においてはどうでしょうか。 トランザクションはビジネス領域においても、技術領域においても関心事がある内容です。 そういう曖昧なものは「ひとまず usecase 層に入れてしまえ」という方針になりがちです。 ですが、DB 固有の知識を usecase 層の関心事にしてしまっては、関心事の分離をするメリットが得られません。 そのため、関心事の分離を実現しつつトランザクション実装をする方法を模索してみました。 前提 1. クリーンアーキテクチャを採用している(オニオンアーキテクチャやレイヤードアーキテクチャも含む) そもそもビジネス知識と技術知識を分離していないアーキテクチャを採用している場合、メリットは得られません。 そのため、オニオンアーキテクチャ

    どのレイヤー(層)でトランザクションを実装すべきか
  • ZodでAlways-Valid Domain Modelを実現する

    課題意識 特定の商品を数量を指定して購入できるECサービスのドメインモデルを表現とします。TypeScriptで構築する際に、「数量」を単にnumber型で扱うことは可能ですが、よりロバストな設計を目指す上で以下の2つの方法論があります。 Refinements(値の制約を表す): 「数量」は一般的に自然数です。1度の注文で指定できる上限を設けるビジネスルールがあると仮定します。この場合、number型に「自然数」「上限付き」の制約を加えた値として表現します。 Branded Types: (同じ構造の型を区別する): 「価格」などの他のnumber型と混同されないように、これらの数値を型レベルで区別したいです。JavaやC#に見られる公称型の概念をTypeScriptで模倣するBranded Typesのテクニックを用いることで、これらの誤った利用を型システムで防ぐことができます。 Br

    ZodでAlways-Valid Domain Modelを実現する
  • 何のための個人目標設定?

    EMゆるミートアップ vol.6 〜LT会〜 https://em-yuru-meetup.connpass.com/event/308552

    何のための個人目標設定?
  • マイクロソフト、GPT-4に任意のドキュメントなどを読み込ませて回答してもらえる「Azure OpenAI Service On Your Data」が正式サービスに

    マイクロソフトは、GPT-35-TurboもしくはGPT-4に任意のデータソースを指定することでそのデータの内容を読み込み、質問に対して内容を基に回答できるようになる新機能「Azure OpenAI On Your Data」が正式サービスとなったことを発表しました。 例えば、社内規約や社内マニュアルなどを読み込ませると、「PCの修理を申し込むための社内手続きは?」といった、汎用の知識だけしか持たない従来のGPTでは答えられない質問にも回答できるようになります。 任意のドキュメントを読み込ませるための支援ツール「Azure AI Studio」には、Azure OpenAI On Your DataでカスタマイズしたAIを、チャットボットとして公開する機能も備わっています。 カスタマイズしたチャットAIのサービスを、社内や社外に簡単に公開できるようになります。 Azure OpenAI S

    マイクロソフト、GPT-4に任意のドキュメントなどを読み込ませて回答してもらえる「Azure OpenAI Service On Your Data」が正式サービスに
  • リレーショナル・データベースの世界

    序文 私の仕事は、DBエンジニアです。といっても別に望んでデータベースの世界へきたわけではなく、当初、私はこの分野が面白くありませんでした。「Web系は花形、データベースは日陰」という言葉も囁かれていました。今でも囁かれているかもしれません。 ですが、しばらくデータベースを触っているうちに、私はこの世界にとても興味深いテーマが多くあることを知りました。なぜもっと早く気づかなかったのか、後悔することしきりです。 もちろん、自分の不明が最大の原因ですが、この世界に足を踏み入れた当時、先生も、導きの書となる入門書もなかったことも事実です。 今でこそバイブルと仰ぐ『プログラマのためのSQL 第2版』も新入社員には敷居が高すぎました (2015年2月追記:その後、自分で第4版を訳出できたのだから、 人生は何があるか分からないものです)。 そこで、です。このサイトの目的は、データベースの世界に足を踏み

  • 雑にReactアプリを作りたい時に使ってるもの

    import "./App.css"; import { Link, Route, Switch } from "wouter"; function Nav() { return ( <nav> <Link to="/">Home</Link> <br /> <Link to="/about">About</Link> </nav> ); } function Home() { return ( <div className="App"> <h2>Home</h2> <Nav /> </div> ); } function About() { return ( <div className="App"> <h2>About</h2> <Nav /> </div> ); } function App() { return ( <> <Switch> <Route path="/" compo

    雑にReactアプリを作りたい時に使ってるもの
  • Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ

    はじめに こんにちは。カミナシでソフトウェアエンジニアをしている佐藤です。 みなさんは、アプリケーションのフロントエンドから、Amazon S3 にファイルをアップロードするときに、どのような方法を用いているでしょうか? 「バックエンドのサーバーにファイルを送信し、バックエンドのサーバー経由で S3 にアップロードしている」「Presigned URL を払い出して、フロントエンドから直接 PUT している」など、いくつかの方法があると思います。 弊社で提供しているサービス「カミナシレポート」でも、用途に応じて上記の方法を使い分けて S3 へのファイルのアップロードを行っています。 特に、Presigned URL は、手軽に利用できる上に、バックエンドのサーバーの負荷やレイテンシーの削減といったメリットも大きく、重宝しています。 一方で、その手軽さの反面、アップロードに際して様々な制約を

    Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ