並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 22 件 / 22件

新着順 人気順

java record extends interfaceの検索結果1 - 22 件 / 22件

  • テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum

    テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data Structures for Text Sequences では各種データ構造について比較検討されています。 多くは、Gap method や Piece table method をベースにしたものが多いのではないでしょうか(図で言う最下部の中心の丸印に当たります)。最近では Rope なども有名ですね。 Gap method Gap method では、現在のカーソル位置で、テキストバッファを2つに分割し Gap を間に挟み、カーソル位置に対する編集(テキスト追加/削除)を

      テキストエディタで使われがちなデータ構造 Piece Table の概要と実装 - A Memorandum
    • 【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい

      はじめに 対象イベント 読み方、使い方 Remote Code Execution(RCE) 親ディレクトリ指定によるopen_basedirのバイパス PHP-FPMのTCPソケット接続によるopen_basedirとdisable_functionsのバイパス JavaのRuntime.execでシェルを実行 Cross-Site Scripting(XSS) nginx環境でHTTPステータスコードが操作できる場合にCSPヘッダーを無効化 GoogleのClosureLibraryサニタイザーのXSS脆弱性 WebのProxy機能を介したService Workerの登録 括弧を使わないXSS /記号を使用せずに遷移先URLを指定 SOME(Same Origin Method Execution)を利用してdocument.writeを順次実行 SQL Injection MySQ

        【2020年】CTF Web問題の攻撃手法まとめ - こんとろーるしーこんとろーるぶい
      • JDK 21 の開発者向けの新機能(OpenJDK 21、Java 21) - 赤帽エンジニアブログ

        Red Hat のソリューションアーキテクトの瀬戸です。 この記事はRed Hat Developerのブログ記事、What's new for developers in JDK 21 | Red Hat Developer を、許可をうけて翻訳したものです。 Java開発者にとってエキサイティングな情報として、今年 9 月 19 日に JDK 21 がリリースされました。 このリリースには、仮想スレッド(Virtual Thread)、レコードパターン(Record Patterns)、順序付コレクション(Sequenced Collections)など、Javaのエコシステムに利益をもたらす多くの新機能が含まれています。JDK 21 のプレビューには、文字列テンプレート(String Templates)、スコープ付値(Scoped Values)、構造化並列処理(Structure

          JDK 21 の開発者向けの新機能(OpenJDK 21、Java 21) - 赤帽エンジニアブログ
        • Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

          基盤本部(開発部門)の木下です。Java 17 の新機能を使って、ドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介します。 皆さんは「事前条件が OK ならデータベースを更新する」というロジックを、クリーンアーキテクチャのどのレイヤーに実装していますか? 事前条件はドメイン知識なのでドメインサービスに実装したいところですが、リポジトリーを操作するアプリケーションサービスの中に書かれることも多いのではないでしょうか。 クリーンアーキテクチャー。https://style.biglobe.co.jp/entry/2020/02/13/150709 より引用 この記事では、ドメインサービスとアプリケーションサービスをきれいに分離するために、Java 17 で正式導入された interface の sealed と permits を活用

            Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
          • サーバーレスでスケールするメール送信システムをAWS CDKで構築する - 365歩のテック

            概要 タイトル通りですが、AWSでサーバーレスなメール送信システムを、AWS CDKを使って構築してみました。 サーバーレスなので、スケールする良い感じの構成になります。 荒いところもありますが結構便利なのでよかったらぜひご参考に、またはそのまま使ってくださいという感じで読んでいただけたら光栄です。 Amazon SESを使用してメールを送信していますが、(少し変えれば)SES以外でも送信できるかと思います。 目次 目次 概要 目次 まとめ(AWS Dev Day 2022 Japan) 要件 前提 アーキテクチャ 構成図 使用AWSサービス コード アーキテクチャ解説と補足 AWS CDK aws_lambda_nodejs パラメータ用コンフィグファイル バリデーション Amazon SES SQS 標準キュー 可視性タイムアウト ロングポーリング 部分バッチ応答 S3 DynamoD

              サーバーレスでスケールするメール送信システムをAWS CDKで構築する - 365歩のテック
            • Announcing TypeScript 5.2 - TypeScript

              Today we’re excited to announce the release of TypeScript 5.2! If you’re not familiar with TypeScript, it’s a language that builds on top of JavaScript by making it possible to declare and describe types. Writing types in our code allows us to explain intent and have other tools check our code to catch mistakes like typos, issues with null and undefined, and more. Types also power TypeScript’s edi

                Announcing TypeScript 5.2 - TypeScript
              • 代数的データ型をJavaで安全に使いこなす - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                基盤本部(開発部門)の木下です。前回、Java 17 の新機能を使ってドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介しました。 style.biglobe.co.jp 代数的データ型(Algebraic Data Types)を導入するのがポイントなのですが、馴染みのないメンバーも多かったので、実例を使って詳しく解説してみました。関数型プログラミング由来のとても便利な道具です。ぜひ活用してみてください。 代数的データ型とは 直積型 直和型 直和型の Java での実装 ベタに class で表現してみる 2つのクラスと interface で実現 安全に利用できるメソッドを提供する おわりに 代数的データ型とは 代数的データ型とは、基本となる型を組み合わせて作られる型のことです。 代数的データ型は直和型と直積型の2つからなります

                  代数的データ型をJavaで安全に使いこなす - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                • Announcing TypeScript 5.2 RC - TypeScript

                  Today we’re excited to announce our Release Candidate of TypeScript 5.2! Between now and the stable release of TypeScript 5.2, we expect no further changes apart from critical bug fixes. To get started using the RC, you can get it through NuGet, or through npm with the following command: npm install -D typescript@rc Here’s a quick list of what’s new in TypeScript 5.2! using Declarations and Explic

                    Announcing TypeScript 5.2 RC - TypeScript
                  • Announcing Dart 3

                    Hello from Google I/O 2023. Today, live from Mountain View, we’re announcing Dart 3 — the largest Dart release to date! Dart 3 contains three major advancements. First, we’ve completed the journey to 100% sound null safety. Second, we’ve added major new language features for records, patterns, and class modifiers. Third, we’re giving a preview of the future, where we broaden our platform support w

                      Announcing Dart 3
                    • Cloudflare functions with Scala.js

                      Indoor VivantsAnton Sviridov. I love reinventing the wheel and I usually use Scala for that. TL;DR We are deploying an app to Cloudflare using Scala.js We are using ScalablyTyped We are using Scala 3 heavily Code on Github Deployed app Cloudflare API bindings Welcome to the "Put ma Scala on yo cloud" series I want to say that I'm kicking off a blog series, but even I don't believe that. If I did,

                      • Functors and Monads For People Who Have Read Too Many "Tutorials" - iRi

                        Celebrating Over 10 Years Of Being Too Lazy To Pick A Tagline Title is literally true. This may not be the best place to learn about these concepts for the first time, because I'm going to focus on knocking down the misconceptions about them. Then again, it may not be the worst place, for the same reason. I had promised myself I would not add to the pile of functor or monad "tutorials", but I've b

                        • Announcing TypeScript 5.2 Beta - TypeScript

                          Today we are excited to announce the availability of TypeScript 5.2 Beta. To get started using the beta, you can get it through NuGet, or through npm with the following command: npm install -D typescript@beta Here’s a quick list of what’s new in TypeScript 5.2! using Declarations and Explicit Resource Management Decorator Metadata Named and Anonymous Tuple Elements Easier Method Usage for Unions o

                            Announcing TypeScript 5.2 Beta - TypeScript
                          • AWS Verified Access now supports secure access to resources over non-HTTP(S) protocols (in preview) | Amazon Web Services

                            AWS News Blog AWS Verified Access now supports secure access to resources over non-HTTP(S) protocols (in preview) AWS Verified Access provides secure access to your corporate applications and resources without a virtual private network (VPN). We launched Verified Access in preview at re:Invent 2 years ago as a way to provide secure, VPN-less access to corporate applications, enabling organizations

                              AWS Verified Access now supports secure access to resources over non-HTTP(S) protocols (in preview) | Amazon Web Services
                            • Expert Generalists

                              As computer systems get more sophisticated we've seen a growing trend to value deep specialists. But we've found that our most effective colleagues have a skill in spanning many specialties. We are thus starting to explicitly recognize this as a first-class skill of “Expert Generalist”. We can identify the key characteristics of people with this skill - and thus recruit and promote based on it. We

                                Expert Generalists
                              • Large Text Compression Benchmark

                                 Large Text Compression Benchmark Matt Mahoney Last update: Mar. 25, 2026. history This competition ranks lossless data compression programs by the compressed size (including the size of the decompression program) of the first 109 bytes of the XML text dump of the English version of Wikipedia on Mar. 3, 2006. About the test data. The goal of this benchmark is not to find the best overall compress

                                • Recordを使ってく上で気にしとくこと - 日々常々

                                  Java16で導入されたRecordですが、Java17リリースによりこれから一気に使われていくことかと思います。 Java17雑感で「データクラスを新しく作るならRecordを使ってみる」とか書いたんで「よしRecordを使おう!……ところで何気にしなきゃなんだっけ?」な私向けに、現時点で「これくらい知っとくといいんじゃないかな」ってことを書いておきます。だらだら書いたんで順番とか内容の濃淡がひどいかもしれない。 ちゃんとした知識 JEP 395: Records Java Language Specificationの8.10. Record Classes Java Object Serialization Specificationの1.13 Serialization of Records GitHub openjdk/jdkのjava/lang/Record.java とか。

                                    Recordを使ってく上で気にしとくこと - 日々常々
                                  • Kotlin で Notion SDK を書いた

                                    Notion API の open beta が始まったのをみて SDK を書いてみることにした。公式の TypeScript に加えて Go や Python 、Ruby はすでにいくつかあるようだったので、まだ決定版がなさそうで自分としても慣れている JVM 系をやってみることにした。 作ったライブラリはこちら: 最初は「record や HttpClient あたりを使って JSON の処理部分以外は標準 API でやってみるか」と思い立ち、そういう感じで途中まで書いたのだけど「Android アプリ開発で使えないのがちょっと惜しいな」と思うようになり(Android アプリ内で直接使われることはそんなに多くはないだろうけど)、そこまでのコードを捨てて Kotlin で書き直すことにした。 一般的に Java 系の開発で HTTP クライアント(OkHttp の 3.x と 4.x

                                      Kotlin で Notion SDK を書いた
                                    • Google Chrome at 17 - A history of our browser

                                      September 2, 2025 Opinions expressed are solely my own and do not express the views or opinions of my employer Introduction I still remember the fall of 2008 when Google launched Chrome - a quirky new browser with a comic book as its press release. As someone who’s spent a long time on the Chrome team, I’ve watched this project grow from a secret skunkworks to a browser used by billions. Chrome tu

                                        Google Chrome at 17 - A history of our browser
                                      • 独自Spring Dataを作ってみる その1 - まずは入口 - 谷本 心 in せろ部屋

                                        僕は約束を守る男なので、Spring Data SQLを作り始めたというお話です。 背景 これまでBootiful SQL TemplateというJdbcTemplateの薄いラッパーを(作って)使っていたのですが、INSERT文とかSELECT ALLくらいは自動生成して欲しいよなと思い、Spring Dataを使おうかなと思って調べ始めました。 Spring Dataの中でも最も素直に動いてくれそうな Spring Data JDBCを試したところ、簡単なクエリはSQLを書かずに生成できるし、アノテーションでSQL文を渡すこともできるのですが、動的に組み立てたクエリを渡すことができないようでした。 さすがにそこまで割り切った仕様のフレームワークは使いづらく、かと言って他に好みのO/Rマッパーがあるわけでもありません。 「好みのO/Rマッパーがないなら、作れば良いのよ」とはもう数百年くら

                                          独自Spring Dataを作ってみる その1 - まずは入口 - 谷本 心 in せろ部屋
                                        • James Shore: Testing Without Mocks: A Pattern Language

                                          Automated tests are important. Without them, programmers waste a huge amount of time manually checking and fixing their code. Unfortunately, many automated tests also waste a huge amount of time. The easy, obvious way to write tests is to make broad tests that are automated versions of manual tests. But they’re flaky and slow. Folks in the know use mocks and spies (I say “mocks” for short in this

                                          • JEP 447: Statements before super(...) (Preview)

                                            Summary In constructors in the Java programming language, allow statements that do not reference the instance being created to appear before an explicit constructor invocation. This is a preview language feature. Goals Give developers greater freedom to express the behavior of constructors, enabling the more natural placement of logic that currently must be factored into auxiliary static methods,

                                            • How I write software with LLMs - Stavros' Stuff

                                              Lately I’ve gotten heavily back into making stuff, and it’s mostly because of LLMs. I thought that I liked programming, but it turned out that what I like was making things, and programming was just one way to do that. Since LLMs have become good at programming, I’ve been using them to make stuff nonstop, and it’s very exciting that we’re at the beginning of yet another entirely unexplored frontie

                                                How I write software with LLMs - Stavros' Stuff
                                              1