並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 257件

新着順 人気順

java null objectの検索結果1 - 40 件 / 257件

  • エンジニア歴20年の私が、素人バイブコーディング勢に物申す - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? お前がコードを書き始める前に 言っておきたい事がある かなりきびしい話もするが 俺の本音を聞いておけ はじめに これから少しの間、不器用で、偉そうで、厳しいことを言う。けれど最後まで聞いてくれれば、その裏側にあるものもわかってもらえると思う。だから先に謝っておく。生意気な口を、許してほしい。 まず、お前に話す前に、業界を取り巻く空気の話をさせてくれ。ソフトウェア業界には、昔から消えない風潮がある。 「売れたプロダクトはすべて正しい」 「品質? 障害が起きなければそれでいい」 「細かいことはベンダーに丸投げで構わない」 ビジネスの現場で生

      エンジニア歴20年の私が、素人バイブコーディング勢に物申す - Qiita
    • ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT docomo Business Engineers' Blog

      はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフトウェア設計について扱っています。 本書籍をベースに、「A Philosophy of Software Design を30分でざっと理解する」というお題で社内ランチ勉強会が開催されました。本記事執筆者である岩瀬(@iwashi86)が発表者であり、勉強会資料は以下のとおりです。 スライド P.4 に記載したとおり、本書籍は John Ousterhout 教授の意見が強く反映されており、ソフトウェアエンジニアであれば、議論を呼ぶ箇所があります。実際、勉強会の実況Slackでは、「これはどうな

        ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT docomo Business Engineers' Blog
      • 【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。

        世の中には多くの C# に関する誤解が蔓延っています。 偏見にも満ちています。 そして技術的に正しい批判ではなく、根本的に技術的に誤った批判ばかりで正直悲しい。 技術的に正しい形の批判なら「お、そうだな。そしてそれの解決策はですねぇ...(ニヤニヤ)」となるのですが...。 そして C# 界隈から一歩出ると、「え、C# で作ってるの!?なんで??」とか言われる事が非常に多い始末。 C# 大好きマンとしては非常に嘆かわしい。 嘆かわしい限りなので、ここでなぜ C# を私が好むか、そして何故ソフトウェアの開発に向いているかを語りたいと思います。そして誤解が解けたら嬉しい。ついでに C# を書きたいと思ってくれたら嬉しい。 想定読者 前書きという名の予防線 事前知識: C# と .NET C# はパフォーマンスの高い言語 C# はビルドも高速 C# はオープンソースかつクロスプラットフォーム 言

          【C#】何故 C# を好むのか。~他の言語と比較しながら~ - ねののお庭。
        • プロを目指す人のためのTypeScript 本の感想 #ブルーベリー本

          2章はプログラミング初心者に式と文という概念を伝えるのによさそう。コンパイラの概念が透けてみえるようになる。 let を避けろというコラムわかる。 BigInt の解説するんだ。 全体的にJSの言語仕様をTSという側面から解釈しつつ学ぶ、という構成になってる。この構成が初学者に伝わるかというと、完全なJS初学者には無理で他のプログラミング言語の経験は多少要求される。 3章 object への型注釈の文法解説が結構しんどく感じた。文法的に似てるがそれ故に混乱する。そういえば自分も複雑なインラインの型書いてると、今型なのかインスタンスなのか、結構間違ってる気がするので、言語自体が抱える特徴かもしれない。 type と interface の使い分け、今となっては何が何だかわからない気がした。type がない時代があってそれ以降は〜と書いてあるけど、昔の type はジェネリクスとれなくて、途中

            プロを目指す人のためのTypeScript 本の感想 #ブルーベリー本
          • 関数名、メソッド名、変数名でよく使う英単語のまとめ

            プログラミングをしていると関数名、メソッド名、変数名をどうするか悩みます。 ロジックより命名に時間を費やすこともざらにあります。翻訳したり、一般的な命名規則なのかいつも検索して大変です。 よく使うサイトの内容をコピってメモしておく 関数名とメソッド名の違いについて よく使う英単語のまえに、いつもごっちゃにして使っているけど、定義はこんな感じ 「関数」と「メソッド」の違い 似ているところ どちらも何か(引数)を入れると処理をして何か(戻り値)を返してくれます。 違うところ やってること自体は大差ありません。概念としては違います。 メソッドはオブジェクト指向で登場する用語で、オブジェクトの動作を定義したものです。 まずオブジェクトありきなのですね。一方の関数は、オブジェクト云々は関係ありません。 個人的な使い分け Java で登場する関数は「メソッド」です。C 言語で登場する関数は「関数」と呼

              関数名、メソッド名、変数名でよく使う英単語のまとめ
            • プログラミング言語オタクとして改めてC#を語りたい

              皆さんはC#、使っていますか? 世界的には人気の言語であるC#ですが、残念ながら日本ではあまり流行っていないというのが現状です。というわけで色々なプログラミング言語をかじっている身としては、ちゃんとC#の良さを知ってもらいたい!ということで改めて筆を取った次第です。 C#だけでなくGoやRust、Swiftなどの様々な言語の話を盛り込んでいるので、普段からC#を使っているという方もそうでない方も、是非一度この記事に目を通してもらえると嬉しいです。 この記事を書いたきっかけ 私がこの記事を書き始めたのは、何縫ねの。さんによる下の記事がきっかけだったりします。 内容に関してはC#に関わるあらゆる良さが語られていて非常に良い記事なので、是非とも一読することをお勧めします。特に事前知識: C# と .NETあたりの項目はこの記事では前提知識として説明を省略しているため、.NETが何かをよく知らない

                プログラミング言語オタクとして改めてC#を語りたい
              • 「Postgres で試した?」と聞き返せるようになるまでもしくはなぜ私は雰囲気で技術を語るのか? — Just use Postgres 読書感想文 - じゃあ、おうちで学べる

                はじめに 「Just use Postgres」という言葉を初めて聞いたのは、いつだったか覚えていません。Twitter か Hacker News か、あるいは社内の Slack か。どこで聞いたにせよ、私の反応は決まっていました。「また極端なことを言う人がいる」と。 「それ、〇〇でもできますよ」——この手のフレーズはもう100回は聞いてきました。そして大抵の場合、その〇〇は専用ツールに置き換えられていきます。技術が専門分化していくのは自然な流れです。 全文検索なら Elasticsearch。時系列データなら InfluxDB。メッセージキューなら RabbitMQ。それぞれの分野に専門家がいて、専用のソリューションがあって、ベストプラクティスがあります。「とりあえず Postgres で」なんて、それは思考停止ではないか、と。でも、心のどこかで気になっていたんです。 www.mann

                  「Postgres で試した?」と聞き返せるようになるまでもしくはなぜ私は雰囲気で技術を語るのか? — Just use Postgres 読書感想文 - じゃあ、おうちで学べる
                • 2024年末にデザインパターンについて考える - Qiita

                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Futureアドベントカレンダーの3日目のエントリーです。昨日は@yamat2667さんのFlutterの記事でした。 デザインパターンというと、普段のプログラミングから一歩踏み込んで設計力を上げたい人が履修すべきコンテンツのように思われているようなツイートなりを見かけます。オブジェクト指向言語全般に使える知識だ、とか、開発者同士のコミュニケーションに使えるぞ、とか、コードの質が上がるぞ、とか。 一方で、パターンを詰め込もうとすると逆にコード量が増えて、パターン由来の変なクラス名が増えたりして、設計が歪むぞ、というのも当初から言われてき

                  • ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる

                    本日は人生の数ある選択肢のなかから、こちらのブログを読むという行動を選んでくださいまして、まことにありがとうございます。 はじめに 正直に言えば、プログラミングのルール本には懐疑的だった。「Clean Code」も「Effective Java」も読んだ。読んだが、現場でそのまま使えたことは少ない。コンテキストが違う。チームが違う。言語が違う。ルールは理想であり、現実は常に例外だ。 そう思っていた。本書を読むまでは。 Chris Zimmerman氏の「The Rules of Programming」(邦題:ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール)は、私の予想を裏切った。これは「ルールを守れ」という本ではない。「ルールの本質を理解し、現場に合わせて判断しろ」という本だ。著者自身が、読者にこれらのアプローチを鵜呑みにするなと言っている。この謙虚さが、逆にこ

                      ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる
                    • DDDを実践するための手引き(概論・導入編)

                      ナニコレ DDDは「Domain-Driven Design(ドメイン駆動設計)」の略語で、エリック・エヴァンスさんという人が考えるソフトウェア設計におけるプラクティスまとめみたいなものです。 『エリック・エヴァンスのドメイン駆動設計』というバイブル的な書籍がありますが、「途中で挫折した」「読んでもよくわからない」「よくわからないけど自分なりに解釈して実践している」というような感想をよく聞きます[1]。DDDの概念は幅広く、哲学的で、抽象的であるため、DDDをどのように解釈しどのように実践すればいいのかわかりにくいものです。 この記事ではそのような問題に悩んでいる人たちのために、数年に渡りDDD(的なもの)を実践してきた筆者が噛み砕いた(個人の独断的な)解釈と実践方法を解説します。 DDDってなぁに? DDDがカバーする領域 DDDが言及する範囲はとても幅広いです。エリック・エヴァンスさん

                        DDDを実践するための手引き(概論・導入編)
                      • TypeScript エラー処理パターン - Object.create(null)

                        M 年前にも N 年後にも人類は同じ話をしている. まとめ エラーの発生方法は throw と return に大別できる throw には簡潔さ, return には明瞭さと型安全性といった特徴がある どちらの方法がより適しているかはプログラムの規模, エラーの種類, ハンドリングの方法などが判断の材料になる 実際にどちらの方法を使うかは上の判断材料と, フレームワークやプロジェクトのコーディング規約なども合わせて複合的に決めるのがよい エラー発生方法の分類 まず前提として, 関数から呼び出し元にエラーを伝える方法は以下の 2 つに大別できます. 逆にこの記事ではこれ以上の具体的な方法についての議論はしません. throw エラーを throw して呼び出し元に伝える方法です. 例えば以下のようなものが当てはまります. throw new Error("...") Promise.rej

                          TypeScript エラー処理パターン - Object.create(null)
                        • Effective TypeScript 読んだ / 郷に入っては郷に従う - Object.create(null)

                          Effective TypeScript (第2版) を読んだ なんらか他の人に読んでおくと良いよと紹介できる本があると良いなと思って読みました. 2020 年以降に TypeScript を書く上での常識が概ね網羅されていると思うので, そういった前提知識に自信をつけたいならおすすめです. www.oreilly.co.jp ただ「項目18 推論可能な型でコードを乱雑にしない」で, 関数の戻り値の型アノテーションをデフォルトで省略するよう推奨していることについては明確に反対したい. より正確には, コールバックなど再利用を想定しない関数についてはデフォルトで省略してもよいが, 通常関数は再利用を目的として定義されがちなことを考えると, デフォルトで省略するというのはあまり実態に則していないと思う. 実際にこの本の後の章には戻り値の型アノテーションを書いておけばよかったのにという状況がしば

                            Effective TypeScript 読んだ / 郷に入っては郷に従う - Object.create(null)
                          • オススメのRust製無料プロキシツール「Caido」の紹介 - blog of morioka12

                            1. 始めに こんにちは、morioka12 です。 本稿では、最近注目を浴びているオススメの Rust 製の無料プロキシツール「Caido」について紹介します。 本稿で触れるプロキシツールは、Web アプリやスマホアプリの通信を傍受して、リクエストの内容を確認したり書き換えたりするツールを指します。 1. 始めに 想定読者 2. Caido の概要 アドバイザー 主な特徴 ディスクトップアプリと CLI HTTPQL DNS の書き換え ブラウザでレスポンスの表示 SDK・Plugin Caido と Burp Suite の違い Caido の使い始め方 3. Caido の主な機能 Sitemap Intercept HTTP History Match & Replace Replay Automate Workflows Search Findings その他 Built-in

                              オススメのRust製無料プロキシツール「Caido」の紹介 - blog of morioka12
                            • Passkey認証におけるアカウント乗っ取り - Non Discoverable Credentialフローとの混在に起因する脆弱性(CVE-2025-26788)解説 - GMO Flatt Security Blog

                              はじめに こんにちは、GMO Flatt Security株式会社 セキュリティエンジニアの小武です。 先日公開した記事「Passkey認証の実装ミスに起因する脆弱性・セキュリティリスク」では、「8. Non Discoverable Credentialのフローとの混在」において、StrongKey FIDO Serverのアカウント乗っ取りが可能な脆弱性について言及しました。StrongKey FIDO Serverはオープンソースで提供されているFIDOサーバー製品です。 この脆弱性は、様々なセキュリティ的利点を持つPasskey認証であっても、実装ミスによって脆弱になり得るということを示しています。本記事では、この脆弱性がソースコードレベルでどのような問題を含み、どのように修正されたのかを詳しく解説します。 また、GMO Flatt SecurityはPasskey認証に特化した脆

                                Passkey認証におけるアカウント乗っ取り - Non Discoverable Credentialフローとの混在に起因する脆弱性(CVE-2025-26788)解説 - GMO Flatt Security Blog
                              • Hono + Deno で住所分割APIサーバーを2日で爆速実装する - inSmartBank

                                はじめに サーバーサイドエンジニアの mokuo です。普段はカード決済やあとばらいチャージに関連する機能の開発や運用を行っております。 本記事でお話すること 日本の住所を都道府県、市区町村、丁目番地、それ以降などに分割する方法の検討から技術選定、実際に動いているコード(ほぼそのまま)をお見せします。 想定読者 サーバーサイドエンジニアを主な読者として想定しています。 日本の住所を分割する機能の実装方法を知りたい方 Deno*1や Hono*2 の採用事例、実装例を知りたい方 はじめに 本記事でお話すること 想定読者 🤔 背景と課題 🎯 住所分割の方針検討 ✂️ 住所分割方法: normalize-japanese-addresses に決定 🧩 npm ライブラリの組み込み: Hono + Deno に決定 🏠️ インフラ構成: ECS + EFS に決定 💪 2日で実装する

                                  Hono + Deno で住所分割APIサーバーを2日で爆速実装する - inSmartBank
                                • PHPでログファイルへの読み書きを通して任意コード実行をする方法 - knqyf263's blog

                                  以前少し話題になったLaravelのデバッグモード有効時の脆弱性であるCVE-2021-3129のPoCを読んでいたのですが、思ったより難しくて何でこんなことをしているんだろうと思ったら発見者による解説ブログがありました。読んでみたらバイパスのために思ったより色々していて普通に勉強になったのでメモを残しておきます。CTFerからすると常識な内容かもしれないので、何か間違いや補足があれば指摘をお願いします。 www.ambionics.io 前提知識1 前提知識2 本題 問題点 = によるエラー 日付のデコード ログファイル内の他エントリ バイパス方法 consumedの利用 iconvの利用 パディングの利用 UTF-16のための調整 NULLバイトの回避 最終形 まとめ 前提知識1 上の脆弱性を理解するためにはいくつかの前提知識を必要とするため最初にまとめておきます。 まず、PHPでは外

                                    PHPでログファイルへの読み書きを通して任意コード実行をする方法 - knqyf263's blog
                                  • Databases in 2025: A Year in Review

                                    Another year passes. I was hoping to write more articles instead of just these end-of-the-year screeds, but I almost died in the spring semester, and it sucked up my time. Nevertheless, I will go through what I think are the major trends and happenings in databases over the last year. There were many exciting and unprecedented developments in the world of databases. Vibe coding entered the vernacu

                                      Databases in 2025: A Year in Review
                                    • REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js

                                      By Jean-Marc Möckel I've created and consumed many API's over the past few years. During that time, I've come across good and bad practices and have experienced nasty situations when consuming and building API's. But there also have been great moments. There are helpful articles online which present many best practices, but many of them lack some practicality in my opinion. Knowing the theory with

                                        REST API Design Best Practices Handbook – How to Build a REST API with JavaScript, Node.js, and Express.js
                                      • 理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita

                                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 「理解容易性」は「保守性」の観点の1つとして重視され、多くの原則や技法が紹介されているが、断片的かつ多様であり、全体像を理解することは難しい。 抽象度は高いが、体系的に観点を整理する事で、その理解の助けとなれば幸いである。 定義 「理解容易性」を簡単に言えば、「理解のしやすさ」であるが、その意味から掘り下げると、「思考する量」と言い換えることができる。 本記事では理解容易性を「思考量の少なさ」と定義し、7つの観点に整理した。 先に要約およびチェックリストを記載し、概略を記載した。 後に詳細で理解のため、各観点毎の説明と個別の原

                                          理解しやすいコードの書き方~理解容易性の7つの観点~ - Qiita
                                        • Kotlinの新しいエラーハンドリング「Rich Errors」 - Don't Repeat Yourself

                                          先日より開催されていたKotlinConfで、新しいエラーハンドリング「Rich Errors」についての言及がありました。従来のように例外を使用するのではなく、エラーを値として扱えるようにする新機能です。聴き逃しているだけかもしれませんが、まだリリース予定などは立っておらず、機能を設計中の段階なのではないかと思われます。 私はもともとKotlinのエラーハンドリングはなかなか悩ましいなと思っていた節があり、ずいぶん前からKEEP上での議論を追うなどしてキャッチアップしていました。最近同僚ともエラーハンドリングに関する決め事をあれこれするために議論しており、私自身はエラーハンドリングに対する関心が高いです。 私の所感としては、Kotlinの言語設計によく合ったエラーハンドリングの方式が採用されそうで非常に楽しみにしています。最近の議論ではともすればモナドであるとか、Result<T, E>

                                            Kotlinの新しいエラーハンドリング「Rich Errors」 - Don't Repeat Yourself
                                          • Project Valhalla 2023 - プログラマーの脳みそ

                                            2023/03/30 にやったJava仕様勉強会の動画が公開されました。当日はJavaのマスコットDuke風の服で臨みました(どうでもいい裏情報) www.youtube.com セッション資料もアップロードしたので参考にしてください。 Project Valhalla 2023 中間報告 いずれも 2023年3月時点での情報です。JEPもドラフト版だったりするので、将来的に変更が入る可能性が高いことをお断りしておきます。本稿では勉強会のセッション内容に加えて、セッション時点で追従できていなかった変更点や、勉強会での指摘を踏まえてフォローアップした内容を含みます。 もしもValhalla世界でJava入門したら ここでは、Valhalla導入後のJava世界だと入門者視点でどのように変わるのかというアプローチをしています。まず、Javaのデータ型は大きくふたつに分類できて、Identity

                                              Project Valhalla 2023 - プログラマーの脳みそ
                                            • BigQueryのアンチパターン認識ツールで独自のSQLリンターを開発しました - ZOZO TECH BLOG

                                              こんにちは、株式会社ZOZOで25卒の内定者アルバイトをしている村井です。この記事では業務で取り組んでいる、BigQueryで使うSQLのリンターの作成方法について紹介します。 目次 目次 課題と解決策 課題 解決策 BigQueryのアンチパターン認識ツール ミニマムな使い方 日本語がSQL内に含まれている際の問題 アンチパターンを定義する リンターとしてBigQueryのアンチパターン認識ツールを使用する際に生じる課題と解決策 構成 APIサーバ化 Chrome拡張 動作例 まとめ 課題と解決策 課題 社内では様々なチームがSQLを書いており、動作はするものの良くない書き方をしている場合があります。そういった構文を検知して、前もって修正する必要があります。 解決策 BigQueryのコンソールで入力されたSQLの不正構文を検知、修正案を提示できるようにしました。 BigQueryのアン

                                                BigQueryのアンチパターン認識ツールで独自のSQLリンターを開発しました - ZOZO TECH BLOG
                                              • neue cc - Claudia - Anthropic ClaudeのC# SDKと現代的なC#によるウェブAPIクライアントの作り方

                                                AI関連、競合は現れども、性能的にやはりOpenAI一強なのかなぁというところに現れたAnthropic Claude 3は、確かに明らかに性能がいい、GPT-4を凌駕している……!というわけで大いに気に入った(ついでに最近のOpenAIのムーブが気に入らない)ので、C#で使い倒していきたい!そこで、まずはSDKがないので非公式SDKを作りました。こないだまでプレビュー版を流していたのですが、今回v1.0.0として出します。ライブラリ名は、Claudeだから、Claudiaです!.NET全般で使えるのと、Unity(Runtime/Editor双方)でも動作確認をしているので、アイディア次第で色々活用できると思います。 GitHub - Cysharp/Claudia 今回のSDKを作るにあたっての設計指針の一番目は、公式のPython SDKやTypeScript SDKと限りなく似せる

                                                • OOP: the worst thing that happened to programming

                                                  > BTC: bc1qs0sq7agz5j30qnqz9m60xj4tt8th6aazgw7kxr ETH: 0x1D834755b5e889703930AC9b784CB625B3cd833E USDT(Tron): TPrCq8LxGykQ4as3o1oB8V7x1w2YPU2o5n Ton: UQAtBuFWI3H_LpHfEToil4iYemtfmyzlaJpahM3tFSoxomYQ Doge: D7GMQdKhKC9ymbT9PtcetSFTQjyPRRfkwTdismiss OOP: the worst thing that happened to programming [2/24/2025] In this article, we will try to understand why OOP is the worst thing that happened to prog

                                                    OOP: the worst thing that happened to programming
                                                  • PHPerのための「PHPと型定義」を語り合う【PHP TechCafe イベントレポート】 - RAKUS Developers Blog | ラクス エンジニアブログ

                                                    弊社で毎月開催し、PHPエンジニアの間で好評いただいているPHP TechCafe。 2023年5月のイベントでは「型定義」について語り合いました。 弊社のメンバーが事前にまとめてきた情報にしたがって、他の参加者に意見を頂いて語り合いながら学びました。 今回はその内容についてレポートします。 rakus.connpass.com PHPと型 静的型付け言語 動的型付け言語 一般的な誤解 PHPの型 単一の式が持つ型 型システムで扱える型 never型について void型について self,parent,static型について resource型について evalでresource型を宣言すると リテラル型について ユーザー定義型について 複合型について 型のエイリアス mixed iterable PHPで取り入れられた型表現 型宣言のメリット PHPの歴史を振り返る PHPのドキュメント

                                                      PHPerのための「PHPと型定義」を語り合う【PHP TechCafe イベントレポート】 - RAKUS Developers Blog | ラクス エンジニアブログ
                                                    • ReproでのApache Icebergの技術検証結果 - Repro Tech Blog

                                                      Reproでチーフアーキテクトとして仕事をしている橋立(joker1007)です。 今回、本番環境への導入を視野に入れてApache Icebergを実際に業務データで検証しました。 この記事ではその検証内容と結果について共有したいと思います。 Icebergについて IcebergはOpen Table Formatと呼ばれているデータフォーマットの一つで、クラウド環境で効率よくデータ分析を行うためのデータフォーマットとして開発が進んでいます。 Icebergの様なOpen Table Formatは単一のファイルによるデータ構造ではなく、複数のファイルとそのメタデータの管理機構が合わさったフォーマットになっており、全体のファイル構造が合わさって一つのテーブルとして扱えるというのが特徴です。 以前、Reproで検証したApache HudiもOpen Table Formatの一つですが

                                                        ReproでのApache Icebergの技術検証結果 - Repro Tech Blog
                                                      • Virtual Thread導入の背景 - Javaのマルチスレッドの歴史を振り返る

                                                        このエントリーは Java Advent Calendar の9日目のエントリーです。 qiita.com Virtual ThraedはJava 19でPreview (JEP 425)、Java 20でSecond Preview (JEP 436)となり、うまくいけば次のLTSであるJava 21で導入予定です。 パフォーマンスを考える時に、一般的にはスループットと応答性の2つがあります。スループットは単位時間あたりにどのくらいリクエストをさばけるか、応答性は処理のリクエストから結果が帰るまでの時間です。Virtual Threadのこの2者のうち、スループットを向上させるために導入されます。 では、なぜ今になってVirtual Threadが導入されるのかということを、歴史を振り返りながら考えてみるのがこのエントリーです。 いにしえの時代 - Java 1.0からJ2SE 1.4

                                                        • PythonでもできるJavaベースの設計原則:「良いコード/悪いコードで学ぶ設計入門」をPydanticで実装する - Insight Edge Tech Blog

                                                          はじめに こんにちは。Insight Edgeでデータサイエンティストをしている善之です。 「Pythonで堅牢なコードを書きたいけど、どう設計すればいいんだろう…」 「バリデーション漏れや予期せぬバグに悩まされている…」 「Javaの設計原則は聞いたことあるけど、Pythonでも同じことができるの?」 こんな疑問や課題を持ったことはありませんか? 先日、名著「良いコード/悪いコードで学ぶ設計入門」を読んで、その設計原則に感銘を受けました。 しかし、この書籍はサンプルコードがJavaで書かれており、Pythonでどう実装すればいいか悩みました。 そこで実際のプロジェクトで、これらの原則をPydanticを使ってPythonで実装する工夫を行ったところ、非常に効果的だったため、そのノウハウをご紹介します。 本記事は、Pythonでより堅牢なコード設計を学びたいエンジニアや、Javaの設計原則

                                                            PythonでもできるJavaベースの設計原則:「良いコード/悪いコードで学ぶ設計入門」をPydanticで実装する - Insight Edge Tech Blog
                                                          • ZOZOマッチアプリのアーキテクチャと技術構成 - ZOZO TECH BLOG

                                                            はじめに こんにちは、ZOZOの堀江(@Horie1024)です。2025年6月、新規事業として「ZOZOマッチ」をリリースしました。ZOZOマッチは、ZOZOとして初めてFlutterを採用したモバイルアプリです。これまでiOS/Androidそれぞれでの開発体制をとってきた中でFlutterでのクロスプラットフォーム開発に舵を切るのは、ZOZOにとって新しい挑戦でした。 本記事は、社外登壇イベント「ナレッジナイト」で使用した資料1をベースに、一部内容を加筆・整理してまとめたものです。私たちがFlutterを選定した背景と、実際のアーキテクチャ・技術構成について紹介します。ZOZOにおける新しい挑戦の記録であると同時に、これからFlutterを導入しようとするチームの参考になれば幸いです。 目次 はじめに 目次 ZOZOマッチとは Flutter採用の背景 ビジネス的背景 チーム的背景

                                                              ZOZOマッチアプリのアーキテクチャと技術構成 - ZOZO TECH BLOG
                                                            • Spring Framework RCE, Early Announcement

                                                              Updates [04-13] "Data Binding Rules Vulnerability CVE-2022-22968" follow-up blog post published, related to the "disallowedFields" from the Suggested Workarounds [04-08] Snyk announces an additional attack vector for Glassfish and Payara. See also related Payara, upcoming release announcement [04-04] Updated Am I Impacted with improved description for deployment requirements [04-01] Updated Am I I

                                                                Spring Framework RCE, Early Announcement
                                                              • cve-2022-22965 Spring4Shell の影響調査 | DevelopersIO

                                                                はじめに こむろです。 Spring4Shell についてです。どうせお前ら調査してたんだろ?と思ったあなた、大正解です。 結論 非常に広範な影響がありましたが、現時点で、Spring Framework 本体への修正パッチがすでに適用されています。そのためこれに準じたアップデートを実施することで脆弱性を回避できます。 spring-boot-2-6-6 spring-boot-2-5-12 spring-framework-5.3.18 Tomcat 9.0.62 またこれらのアップデートができない場合、以下の対応を取ることもできます。 不要なパラメータのマッピングを行わないようにコードを追加する (Binding のブラックリストへ class.* 系を追加) Java8 へ一旦ダウングレードする Tomcat 9.0.62 へ Update することで設定値自体の書き換えをできないよ

                                                                  cve-2022-22965 Spring4Shell の影響調査 | DevelopersIO
                                                                • getとfindの使い分け - 日々常々

                                                                  メソッド名の getXXX と findXXX どっちがいいの?みたいな話になることがある。 この手の話ができるだけでもいい感じだと思います。名前が記号化していないってことなので。 世の中には名前に力を割くのが無駄な文脈もあって、そう言うのに晒されて続けると当然そこに力をかけなくなります。 その文脈では最適解だけど、私は名前が重要だと思っているし、その価値観を土台に他のものを積み上げていきたい。 ということで話を戻す。 「得る」と「探す」のようなものを意図して使い分けるとコードが読みやすくなります。 使い分け方によって読みやすさは変わりはするのですが、「意図して使い分けている」だけでも十分変わります。 その意図に共感できたり汲み取れたりすればさらに読みやすくなりますが、その前段階として意図の有無が重要だと思ってます。 私の基本的な使い分け getHoge(条件): Hoge findHog

                                                                    getとfindの使い分け - 日々常々
                                                                  • 計算機に推論できる型、できない型 | Wantedly Engineer Blog

                                                                    本記事は Wantedly 21新卒 Advent Calendar の17日目の記事です。本記事では、いくつかの言語の型システムに実装されている様々な機能を紹介するとともに、それが型推論の実現性に与える影響について述べます。 最近静的型付き言語が盛り上がりを見せ、動的型付き言語の筆頭格だった Ruby もバージョン 3.0 で型解析ツールを導入するまでに至った一因には、きっと型推論の有用性が知られるようになったことが挙げられることでしょう。C言語で、関数ポインタを含んだ複雑なプロトタイプ宣言を書いている時ほどストレスを感じる時間はないし、かと言って Ruby on Rails で書かれたバックエンドを弄っている時に、型チェッカがあれば自明に発見できたであろうエラーでインシデントを起こすほど悲しいことはありません。プログラマが型を書かなくても静的な型チェックの恩恵を受けられる型推論の、何と

                                                                      計算機に推論できる型、できない型 | Wantedly Engineer Blog
                                                                    • 他の言語経験者がRubyを使い始めると驚くこと : 新刊ピックアップ | 技術評論社

                                                                      筆者は現在Rubyプログラマとして働いていますが、もともとはJavaやC#をメインで使っていました。今でこそRubyプログラミングを心の底から楽しめていますが、Rubyを始めた当初はそれまでやってきた言語との違いに戸惑ったものでした。これから新しいプログラミング言語としてRubyを学び始める人も、きっと当時の筆者と同じように驚いたり戸惑ったりすることでしょう。そこで、今回の寄稿記事では他の言語経験者がRubyを使い始めたときに「えっ」と驚くようなポイントをいろいろと挙げてみます。 メソッドの呼び出しの丸かっこが省略できる Rubyではメソッドを呼び出すときの丸かっこを省略できます。以下はsizeメソッドを丸かっこ付きで呼び出す場合と丸かっこなしで呼び出す場合です(ただし、状況によっては丸かっこを省略できないケースもあります⁠)⁠。 "abc".size() #=> 3 "abc".size

                                                                        他の言語経験者がRubyを使い始めると驚くこと : 新刊ピックアップ | 技術評論社
                                                                      • Rustのバックエンド開発の最近の動向を追う - Findy Media

                                                                        はじめにyukiです。RustのカンファレンスであるRust.Tokyoのオーガナイザーを務めているほか、『実践Rustプログラミング入門』『RustによるWebアプリケーション開発』といった書籍を共著で執筆しました。 この記事のテーマは、近年利用が進み人気が高まるRustのバックエンド開発における動向です。前半で、現在人気のあるライブラリの動向を簡単にまとめます。次に、私が現在開発の動向に注目しているいくつかのライブラリについて紹介します。 人気のバックエンド開発ライブラリの動向Rustによるバックエンド開発[1]では、やはり最近でも次の2つのクレートが選ばれる傾向にあるようです。「デファクトスタンダード」と呼べるくらいには、そろそろなってきたのではないでしょうか。 axum actix-web 数年前であればactix-webが一強ではあったものの、近年はtokioチームが開発するax

                                                                          Rustのバックエンド開発の最近の動向を追う - Findy Media
                                                                        • SHOPLISTのシステムをモダンなアーキテクチャに変えようとしたら予想以上に闇が深かった話 - CROOZ TECH BLOG

                                                                          こんにちは。クルーズ株式会社CTOの鈴木です。 2020年の7月よりCROOZ SHOPLIST株式会社の技術統括部長を兼務しており、日々システムと開発組織の業務改善に現場のエンジニアとともに取り組んでおります。 今回当社が運営しているファッションECサイト『SHOPLIST.com by CROOZ』にて絶賛格闘中のシステム品質改善の話を数回に分けてお話ししたいと思います。 SHOPLISTのシステムを改善しようとなったきっかけ 「今のSHOPLISTのシステムってゼロからリニューアルするといくらくらいかかるの?」 SHOPLISTの業務を兼務するようになって、一番初めに社長に聞かれたことです。何をいきなり出だすのかと詳細を聞いていくと、「開発エンジニア数名にヒヤリングしたところ、システムがレガシー過ぎて開発が超しづらい」「もうリニューアルでゼロベースで作り直すしかない」という意見があっ

                                                                            SHOPLISTのシステムをモダンなアーキテクチャに変えようとしたら予想以上に闇が深かった話 - CROOZ TECH BLOG
                                                                          • JavaScriptのProxyを使うときに気をつけること

                                                                            本稿では、Proxyを使う際はオブジェクトの原理をよく理解した上で、PreventExtensions時の挙動とPrivate Identifierに気をつけましょうという話をします。 そもそもProxyは何なのか Proxy は Reflect と対をなすプリミティブAPIで、オブジェクトの低レベルプロトコルの操作を提供します。 Proxyは、オブジェクトの低レベルプロトコルをユーザーが実装できるようにします。 Reflectは、オブジェクトの低レベルプロトコルをユーザーが利用できるようにします。 そのため、Proxyを理解するにはまずオブジェクトの低レベルプロトコルを理解する必要があります。 オブジェクトとは何か { foo: "bar" } や [1, 2, 3], () => 42 がオブジェクトであることはすでに知っていると思いますが、ここでは定義に戻って確認をします。 オブジェ

                                                                              JavaScriptのProxyを使うときに気をつけること
                                                                            • Claude Mythos Preview \ red.anthropic.com

                                                                              Assessing Claude Mythos Preview’s cybersecurity capabilities April 7, 2026 Nicholas Carlini, Newton Cheng, Keane Lucas, Michael Moore, Milad Nasr, Vinay Prabhushankar, Winnie Xiao Hakeem Angulu, Evyatar Ben Asher, Jackie Bow, Keir Bradwell, Ben Buchanan, David Forsythe, Daniel Freeman, Alex Gaynor, Xinyang Ge, Logan Graham, Kyla Guru, Hasnain Lakhani, Matt McNiece, Mojtaba Mehrara, Renee Nichol, A

                                                                              • RubyのGVLを消し去りたいあなたへ(翻訳)|TechRacho by BPS株式会社

                                                                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: So You Want To Remove The GVL? | byroot’s blog 原文公開日: 2025/01/29 原著者: byroot -- Railsコアコミッター、Rubyコミッターであり、ShopifyのRuby/Railsインフラチームのシニアスタッフエンジニアです 日本語タイトルは内容に即したものにしました。 GVLは「グローバルVMロック」の略ですが、「ジャイアントVMロック」とされることもあります。 参考: Rubyの(グローバル)VMロックをトレースする(翻訳) 参考: スレッド (Ruby 3.4 リファレンスマニュアル) 私がやりたいのは、Pitchforkに関する記事を書いて、これがどんな理由でできたのか、なぜ現在のような形になったのか、そして今後どうなるのかについて説明することです。しかし

                                                                                  RubyのGVLを消し去りたいあなたへ(翻訳)|TechRacho by BPS株式会社
                                                                                • Minecraft Mod/Pluginを対象としたマルウェア“fractureiser”

                                                                                  このマルウェアに関する情報は動きが激しいため、記事の更新が追いついていません。 最新の情報に関しては参考文献(英語)を参照してください。 現在、参考文献の翻訳プロジェクトを準備中です。 続報について、以下の動画の内容の一部に関して監修させて頂きました。非技術者向けの内容ですが、現状に関する説明が行われています。 現状について日本語で知りたい方は以下の動画を参照するのをおすすめします。 はじめに タイトルのママで、マイクラ工業界隈だとかなり話題になっています。 このマルウェアは、マイクラのMod/Plugin及びMod/Plugin開発者を対象としたかなり悪質で強力なマルウェアです。 当初はMod配布プラットフォームであるCurseForgeにおけるアカウントハックだとみられていましたが、それよりも遙かに恐ろしい事案でした。現在発見されているのはCurseForgeのみですが、Modrint

                                                                                    Minecraft Mod/Pluginを対象としたマルウェア“fractureiser”