A step-by-step guide to extending Spring Authorization Server to support dynamic OAuth 2.0 scopes — scopes not known in advance by the authorization server. Covers when dynamic scopes are useful (e.g., single-operation tokens for transfers or sensitive updates), and walks through the required customizations: scope validation logic via a custom AuthenticationValidator, consent validation using a Predicate, a custom consent page with Thymeleaf, and end-to-end integration testing with WebEnvironment.RANDOM_PORT and RestTestClient. Code separates Spring-specific adapter code from business logic via a DynamicScopeService.
Nguồn: https://feeds.feedblitz.com/~/958357049/0/baeldung. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
JMathAnim là thư viện JavaFX do nhà toán học David Gutierrez phát triển, cho phép tạo các hình ảnh toán học động và xuất ra video. Thư viện hỗ trợ hoạt ảnh công thức LaTeX, hình học, fractal và lý thuyết số, tích hợp trình soạn thảo mã Ruby, highlighting cú pháp, render LaTeX và xuất video. Gutierrez xây dựng nó trong thời gian giãn cách COVID mà không có nền tảng kỹ thuật phần mềm truyền thống.
Nếu bạn muốn khám phá cách kết hợp toán học với lập trình để tạo ra những biểu diễn động thú vị cho giáo dục hoặc nghiên cứu, JMathAnim sẽ là nguồn tư liệu hữu ích để bạn học cách xây dựng các animation toán học chuyên nghiệp từ JavaFX.
Zalando's engineering team built an in-process client-side load balancer (CSLB) to handle over a million requests per second of internal fan-out traffic for their Product Read API, replacing shared Skipper ingress hops. The implementation replicates Skipper's xxHash64 consistent-hash ring for cache locality, uses a Kubernetes watch-based informer for pod discovery, and adds N-ring fade-in to prevent cold-cache spikes on scale-up. A key innovation is occupancy-based bounded load using Little's Law (seconds of work per second) rather than in-flight counts or throughput, combined with a latency multiplier borrowed from Finagle. Results include eliminating Skipper's fleet from 50+ pods to 8, reducing their own pod fleet by 25%, and saving over $1,000/day. AZ-aware routing was prototyped but paused due to edge cases around bounded-load threshold miscalculation during dual fade-in. The post also covers pipeline improvements, retry hardening, FIFO buffering, and how detailed logging revealed mysterious node-level network freezes that had previously been invisible.
Hardwood 1.0 is a new Apache Parquet reader library for the JVM, built from scratch with no mandatory dependencies and multi-threaded page decoding by default. It targets Java 21+, is Apache 2.0 licensed, and available on Maven Central. The library offers two APIs: a row reader for ergonomic record access and a column reader for high-throughput analytical workloads. Benchmarks show Hardwood achieving 16.5M rows/sec on 8 vCPUs vs parquet-java's single-threaded approach, with consistent advantages in both full scans and predicate push-down scenarios. A CLI tool with an interactive TUI (hardwood dive) is also included, with native binaries for Linux, macOS, and Windows. Upcoming work includes Parquet write support in 1.1, Bloom filter support, encryption, and Apache Flink integration.
A new AI Builder Advocate at Okta introduces herself, sharing her journey from backend software developer to developer relations. She covers her technical background in Java, Spring Boot, Quarkus, Kubernetes, and Docker, her community work as a MongoDB Champion, and her excitement about the intersection of identity, security, and AI at Okta.
SwingBridge 1.2 cho phép giao tiếp hai chiều giữa Java Swing và Vaadin thông qua các phương thức Java đơn giản, quản lý luồng tự động giữa Swing EDT và Vaadin UI thread. Phiên bản mới hỗ trợ ứng dụng NetBeans RCP, cải thiện khả năng phản hồi của canvas trình duyệt, cập nhật lên nền tảng Vaadin mới nhất và cung cấp xử lý lỗi rõ ràng hơn khi khởi chạy ứng dụng Swing thất bại.
Lập trình viên phát triển ứng dụng đa nền tảng sẽ tìm hiểu SwingBridge 1.2 để tối ưu hóa giao diện người dùng trên cả môi trường desktop Swing và web Vaadin mà không gặp rủi ro deadlock và cần thiết cho các dự án hỗ trợ cả hai nền tảng.
AI agents require more robust auth infrastructure than traditional microservices because they act on behalf of users. Using a lawyer-in-court analogy, the post explains the key components of agent auth: agent identity (who the agent is), principal identity (who the agent represents), delegation tokens like On-Behalf-Of (OBO) tokens, and policy enforcement scoped to specific actions. An AI-native gateway can centralize these concerns — identity propagation, delegation verification, policy enforcement, and auditing — so agents can focus on business logic. Technologies like SPIFFE, cert-manager, Istio, and agentgateway are cited as building blocks for such a platform.
Vaadin 25.2 introduces three major additions for Java-based UI development. First, AI controllers (GridAIController, ChartAIController, FormAIController) let end users build data grids, charts, and fill forms using natural-language prompts, with data never sent to the LLM for safety. Second, seven native browser APIs — Geolocation, Clipboard, Fullscreen, WakeLock, Page Visibility, WebShare, and Screen Orientation — are now accessible from server-side Java without writing JavaScript. Third, existing TestBench or Playwright end-to-end tests can be converted into Grafana k6 load tests via a Maven plugin. The release also graduates several components (Slider, Badge, Master-Detail Layout, Modular Upload) to GA, deepens Signals integration, adds security hardening (safe-by-default URLs, clickjacking protection, supply-chain delay for npm packages), and enhances Vaadin Copilot with an annotation/review workflow, customizable palette, and EU-hosted option.
SBCE là phương pháp phát triển theo đặc tả (spec-driven) tích hợp trực tiếp đặc tả vào file package-info.java của Java thông qua JEP 467 Markdown comments (///). Phương pháp này hoạt động ở hai chế độ: 'new' để viết đặc tả và 'apply' để điều chỉnh code cho đến khi test pass, không cần CLI hay dependencies, nhằm phục vụ AI agents theo kiến trúc bce.design.
Lập trình viên nên đọc bài này để khám phá cách tích hợp quy định kỹ thuật trực tiếp vào mã nguồn bằng cách sử dụng Javadoc, giúp giảm thiểu sự trùng lặp và tối ưu hóa quá trình phát triển bằng cách loại bỏ các file spec riêng biệt.