SShortSingh.

Programming

0
ProgrammingDEV Community ·

Playwright and TypeScript Can Replace Postman for REST API Testing

A technical guide published on DEV Community outlines how to build a custom API testing framework using Playwright and TypeScript, tools more commonly associated with UI automation. Playwright's built-in API request context allows developers to run REST API tests without relying on dedicated tools like Postman or RestAssured. The approach enables hybrid testing workflows where API calls can set up test data before browser-based end-to-end tests are executed. The guide demonstrates modular CRUD test patterns covering POST, GET, and DELETE operations with JSON response validation. Key advantages highlighted include faster execution by bypassing browser overhead and seamless integration between API and UI test layers.

0
ProgrammingDEV Community ·

LioranDB TypeScript Series Part 6: How to Use Secondary and Full-Text Indexes

LioranDB V2, a Rust-powered document database designed for TypeScript, supports secondary indexes and full-text indexes through its TypeScript driver. Developers can create unique single-field indexes, compound multi-field indexes, and partial indexes that apply only to documents matching a specific filter. A text index can be configured with options like normalization and stopword filtering, enabling full-text search queries on document fields. Index metadata such as name, fields, uniqueness, and build state can be inspected at runtime, and indexes can be dropped when no longer needed. The project is currently in pre-alpha, and the LioranDB team is encouraging developers to experiment and provide feedback as indexing capabilities continue to evolve.

0
ProgrammingDEV Community ·

LioranDB TypeScript Series Part 5: Cursors, Query Shaping and Full-Text Search

LioranDB's TypeScript driver returns a FindCursor object from find() calls, enabling chainable query-shaping methods such as sort(), limit(), skip(), project(), and filter() before execution. Developers can consume results via toArray(), next(), forEach(), or async iteration, but cannot reshape a cursor after execution has begun — cloning is recommended for variations. The driver also supports full-text search through text indexes created on specific fields, keeping search functionality within the existing collection and query model. An AggregationCursor is available for pipeline-style operations like matching and grouping, though in the current pre-alpha release it materializes the full result set on initial load. All execution methods support AbortSignal, allowing operations to be cancelled when client requests are dropped or results are no longer needed.

0
ProgrammingDEV Community ·

How to Integrate Playwright End-to-End Tests Into a CI/CD Pipeline

Automating browser-based regression tests within a CI/CD pipeline ensures consistent test execution across reproducible environments on every pull request. Playwright can be configured to adjust worker threads, retries, and reporters dynamically depending on whether tests run locally or inside a CI container. A GitHub Actions workflow can orchestrate the process by installing dependencies, caching Node modules, and splitting the test suite into parallel shards across multiple virtual machines, reducing build time by up to 60%. Test artifacts such as HTML reports, failure screenshots, and video recordings can be uploaded and retained for 14 days without affecting the repository's git history. Sensitive configuration values like staging URLs and credentials should be stored as repository secrets and injected at runtime rather than hardcoded in project files.

0
ProgrammingDEV Community ·

LioranDB TypeScript Series Part 4: Type-Safe CRUD Operations Explained

The fourth installment of the LioranDB TypeScript Series demonstrates how to perform type-safe CRUD operations using the Rust-powered, TypeScript-first document database. Developers can define typed collections using TypeScript interfaces, enabling compile-time assistance when inserting, querying, updating, or deleting documents. The guide covers core methods such as insertOne, insertMany, find, updateMany, and deleteMany, along with query operators for range-based filtering and text search. A notable feature highlighted is idempotency key support for write operations, which helps prevent duplicate writes during network retries or complex workflows. The series continues with Part 5, which will cover FindCursor, query shaping, and text search in greater depth.

0
ProgrammingDEV Community ·

LioranDB TypeScript Driver: How Connection Strings and Client Lifecycle Work

LioranDB, a Rust-powered document database designed for TypeScript, supports multiple URI schemes including liorandb://, gRPC, and HTTPS for flexible connectivity. Developers must URL-encode special characters in passwords to prevent URI parsing errors, and the driver exposes a parseConnectionString utility for inspecting connection configuration. The client accepts options such as transport mode, timeout settings, retry logic, and token refresh behavior at initialization. Diagnostic headers and response observers can be attached to the client for monitoring latency and transport behavior. Best practice dictates creating a single client instance per application lifecycle boundary, reusing it across queries, and explicitly closing it to free resources and avoid ClientClosedError.

0
ProgrammingDEV Community ·

Developer builds interactive Turkish tea scene using only HTML and CSS

A frontend developer named Melik Baryanık created a fully interactive Turkish tea and simit scene for DEV Community's Frontend Challenge: Comfort Food Edition, using only HTML and CSS with no images or SVG. The artwork depicts a traditional Turkish çay setup — a tulip-shaped tea glass, saucer, sugar cubes, spoon, and sesame bread ring — rendered entirely through gradients, shadows, clip-paths, and masks. When loaded, an animated teapot pours tea into the glass in a physics-accurate sequence, after which users can click individual elements to trigger animations like sugar cubes dissolving or a spoon stirring the tea. The entire opening animation runs on a single 9-second CSS duration shared across all elements, with JavaScript serving only as a class toggler rather than handling any animation logic. The project comprises roughly 1,050 lines of CSS and just 15 lines of JavaScript, and gracefully degrades to a static finished illustration when JavaScript is disabled or reduced-motion is preferred.

0
ProgrammingDEV Community ·

LioranDB V2 Pre-Alpha Launches: Rust-Powered Document Database for TypeScript Developers

LioranDB V2, a NoSQL document database built in India, released its pre-alpha version on 16 August 2026. Developed by Swaraj Puppalwar of Lioran Developer Solutions, the database features a Rust-powered engine while offering a MongoDB-style API for TypeScript and JavaScript developers. The project aims to give Node.js developers a familiar document-database experience without requiring them to manage the underlying engine. Internal testing on consumer hardware recorded approximately 10,000 writes per second and 35,000 reads per second under mixed workloads, though the developers caution these are development benchmarks only. The pre-alpha driver and CLI are currently available via npm, with a planned 12-part tutorial series to guide developers through setup and production deployment.

0
ProgrammingDEV Community ·

LioranDB Tutorial: Run a Rust-Powered Document Database Locally with Docker and TypeScript

The second installment of the LioranDB TypeScript series walks developers through setting up LioranDB V2 on a local machine using Docker and connecting to it via a TypeScript application. The guide covers pulling the pre-alpha Docker image, exposing three key ports for the HTTP API, gRPC, and metrics, and using a named volume for persistent storage. Developers are instructed to install the official CLI, authenticate with a bootstrap password generated on first run, and immediately rotate it for security. The TypeScript driver, installed via npm, connects to the database using a URI-formatted connection string and supports standard operations such as inserting and querying documents. The tutorial concludes with an optional Docker Compose configuration to simplify container management going forward.

0
ProgrammingDEV Community ·

Developer Builds Calisthenics Tracker After Finding Existing Apps Too Bloated

A software developer created a bodyweight fitness app called Nickels & Dimes after finding mainstream workout trackers either overloaded with coaching features or poorly suited for calisthenics. The app lets users log reps for exercises like push-ups, pull-ups, and dips, with the developer personally recording 466 total reps in one recent week. A key insight from consistent tracking was that visualizing actual training patterns — rather than relying on memory — helped identify and correct inconsistency. The app also includes a social clubs feature that ranks friends by monthly rep totals, which the developer credits as a stronger consistency driver than streaks or badges. Nickels & Dimes is free to use, built with Next.js, Supabase, and Prisma, and is currently live at nickelsanddimes.app.

0
ProgrammingDEV Community ·

How to Migrate a Legacy Selenium Java Test Suite to Playwright TypeScript

Developers working with legacy Selenium Java test suites can incrementally migrate to Playwright TypeScript by running both frameworks side by side in the same repository. The migration involves converting Java Page Object Model classes into modular TypeScript exports compatible with Playwright's test runner. Explicit waits used in Selenium, such as WebDriverWait, can be replaced by Playwright's built-in auto-waiting mechanism, which checks for element visibility and actionability automatically. Cross-domain iframe handling, which requires manual context switching in Selenium, is managed more cleanly in Playwright through native frame locators. Additionally, repetitive login steps can be eliminated by saving browser storage state once during global setup and reusing it across all test files.

0
ProgrammingDEV Community ·

How Chained Low-Severity Bugs Can Create a Critical Security Breach

A cybersecurity analysis published on DEV Community highlights how individual low-severity vulnerabilities, when combined, can form a dangerous attack chain. The piece uses a hypothetical penetration test to show how an undocumented API endpoint can serve as an entry point into deeper application layers. By exploiting flawed trust assumptions between internal services and a broken access control flaw, an attacker could escalate far beyond what any single finding would suggest. The article draws a key distinction between automated vulnerability scanning, which evaluates components in isolation, and offensive security testing, which maps how weaknesses interact. Security teams are urged to assess not just individual findings but the full data flow and trust relationships that connect them.

0
ProgrammingDEV Community ·

Developer Shares Playwright Solution for Visual Testing with API Mocking

A developer has published their solution to Challenge 3, focused on visual testing combined with API mocking using Playwright. The approach addresses real-world problems such as missing chart renders and overlapping UI buttons caused by frequent API changes in dashboard applications. The solution involves mocking API endpoints to return fixed data, then capturing and comparing screenshot snapshots to detect unintended UI changes. A custom VisualHelper class was built with methods to check full-page or element-level snapshots, with configurable timeout and pixel-difference thresholds. Playwright's built-in toHaveScreenshot() function serves as the free alternative to paid visual testing tools like Percy, Applitools Eyes, and Sauce Visual.

0
ProgrammingDEV Community ·

Developer recreates kulhad chai in pure CSS for frontend art challenge

A developer built a detailed CSS illustration of a kulhad of masala chai for DEV Community's Frontend Challenge: Comfort Food Edition. The artwork depicts a hand-thrown terracotta cup surrounded by whole spices and a half-eaten biscuit, rendered entirely using divs, gradients, clip-paths, and shadows — no SVG, images, or canvas. The kulhad's irregular silhouette was achieved with an 18-point polygon clip-path, while five stacked gradient layers simulate the texture of matte clay. Steam wisps required three iterations to look realistic, ultimately using individual horizontal origins and mix-blend-mode: screen to mimic rising vapour. A CSS mask-image technique was used to punch a clean bite-shaped hole through the biscuit, preserving its crumb texture and shadow details.

0
ProgrammingHacker News ·

Why Tech CEOs Are Publishing Personal Manifestos on AI

Senior technology executives have increasingly taken to publishing lengthy personal statements outlining their visions and beliefs about artificial intelligence. These manifestos serve as a way for leaders to shape public narratives around AI development and their companies' roles in it. Experts suggest the trend is partly driven by a desire to establish thought leadership and influence policy discussions. The statements also help executives build personal brands and signal their philosophical stances to investors, employees, and regulators. Critics, however, question whether such writings reflect genuine conviction or are primarily a public relations exercise.

0
ProgrammingDEV Community ·

DEV Community Post Shares CSS Code for Arabic-Themed Restaurant Landing Page

A developer published a front-end project on DEV Community showcasing a landing page concept called 'Comfort Table,' styled around an Arabic home-cooking theme. The post consists almost entirely of raw CSS and HTML code rather than written editorial content. The design uses a warm, earthy color palette with serif typography to evoke a cozy, home-style dining atmosphere. The project appears to be a personal or portfolio exercise demonstrating responsive web design techniques. No additional context, author background, or publication date was provided in the source material.

0
ProgrammingDEV Community ·

Developer Compares Rule-Based and ML Anomaly Detection in Custom Log Analysis Tool

A software developer added an Isolation Forest machine learning model to Log Sentinel, a self-built Apache log analysis dashboard originally designed to detect brute force attacks and directory scans using rule-based logic. The experiment used a labelled dataset of 230 IP addresses — 200 normal and 30 simulated attackers — to fairly evaluate both detection approaches. Rule-based detectors achieved perfect precision and recall because the evaluation data was deliberately structured around known attack patterns the rules were written to catch. The ML model matched on recall by catching all 30 attackers but produced five false positives, flagging normal IPs with statistically unusual behaviour. The developer concluded both methods are complementary: rules reliably catch known threats with no false alarms, while ML can surface unexpected anomalies that no predefined rule would cover.

0
ProgrammingDEV Community ·

Developer builds CSS-only midnight fridge scene for Frontend Art Challenge

A developer submitted a pure CSS artwork to the Frontend Challenge Comfort Food Edition, choosing to depict a 2am fridge raid rather than conventional dishes like ramen or pancakes. The piece recreates a dark kitchen scene lit entirely by an open refrigerator, using only divs, gradients, clip-paths, and shadows — no SVG, images, or canvas. A key technical challenge was simulating realistic light falloff from the fridge opening, solved by switching from linear to radial gradients anchored at the light source. The fridge door was built as a flip-card with two faces, allowing it to reveal inner shelves mid-swing without any JavaScript. The creator also noted a deliberate creative choice to stand out in a challenge feed dominated by warm, brightly lit food illustrations.

0
ProgrammingDEV Community ·

tfdrift Adds Audit Logs, Cost Estimates, and Digest Alerts for Production Drift Management

The latest release of tfdrift, an open-source infrastructure drift detection tool, introduces several features aimed at teams running drift detection as production infrastructure rather than an ad hoc process. An immutable SQLite audit log now records every suppression and clearance action, giving security and compliance teams a traceable paper trail. The update also adds anomaly detection that flags when drift volume exceeds a rolling 7-day baseline, and a budget-threshold option that estimates the monthly cloud cost impact of drifted resources before any fix is applied. Remediation workflows now support pre- and post-apply hooks, allowing teams to notify on-call staff or run verification scripts around infrastructure changes. A new digest mode reduces alert fatigue by suppressing repeat notifications for unresolved drift within a configurable time window, only re-alerting when something actually changes.

0
ProgrammingDEV Community ·

Developer builds Kroxt BaaS to eliminate repetitive backend setup for side projects

A developer has launched Kroxt, a backend-as-a-service platform designed to reduce repetitive infrastructure work across multiple projects. The tool bundles commonly needed features including multi-tenant authentication, schema-validated MongoDB collections, file storage with CDN, serverless functions, real-time WebSocket channels, and payment integrations. Kroxt offers an SDK that allows developers to query collections and manage data with a chainable API syntax. The platform is currently in developer preview, with core features such as auth, database access, and serverless functions already available. Kroxt is positioned as an alternative to existing BaaS tools like Firebase, Supabase, and Appwrite.

Page 1 of 1232Older →