Turn MyBatis Log Lines into Runnable SQL with a Single-Page Web Tool
What the tool does
Paste raw MyBatis log fragments that contain both the Preparing: line and the Parameters: line, and the page will stitch the placeholders and values together into a ready-to-run SQL statement. The tool is a single HTML file that works entirely in the browser—no server, no installlation.
Quick start
Copy the HTML source below ...
Posted on Fri, 04 Sep 2026 16:26:41 +0000 by Carlo Gambino
Fixing Open Redirection Vulnerabilities Detected by Fortify
An open redirection vulnerability occurs when an application accepts a user-supplied URL and reidrects the user to it without proper validation. This commonly happens when using window.location.href or similar client-side redirection mechanisms, potentially allowing attackers to craft malicious links that appear trustworthy.
To address this iss ...
Posted on Fri, 04 Sep 2026 16:04:00 +0000 by khurramijaz
Getting Started with TypeScript: Core Concepts and Your First Program
TypeScript: Why Type Safety Matters
TypeScript extends JavaScript by adding a type system. This means you can define what types of values your variables can hold, function parameters expect, and functions return.
Strong Typing vs Weak Typing
JavaScript is a dynamically typed language. You can declare a variable and assign it any value:
let valu ...
Posted on Thu, 03 Sep 2026 16:53:00 +0000 by Calgaryalberta
First Bug in December 2019
It is December 1, 2019, at 12:27 AM, and I'm still struggling to calm down. This month was the last of 2019, the final month of the 2010s, and the last month before the first group of 90s-born individuals turned 30. On the very first day of this month, at exactly midnight, the code I wrote contained a bug that left me completely frustrated.
Her ...
Posted on Thu, 03 Sep 2026 16:31:08 +0000 by lunas
Understanding call, apply, and bind in JavaScript
The call, apply, and bind methods exist to change the execution context of a function, specifically to alter the binding of the this keyword within the function.
The core difference is that call and apply invoke the function immediately with the new context, while bind returns a new function with the context permanently bound, ready for later e ...
Posted on Thu, 03 Sep 2026 16:20:16 +0000 by AdB
Practical JavaScript Code Refactoring Techniques for Cleaner Code
Boolean Expression Simplification
When a function returns true or false based on a condition, there's no need for an if-else block:
//verbose
if (score >= 60) {
return true;
} else {
return false;
}
//concise
return score >= 60;
Caching Array Length in Loops
Store the array length in a variable before the loop to avoid recalcula ...
Posted on Wed, 02 Sep 2026 16:42:58 +0000 by nareshrevoori
Essential JavaScript Utilities and Methods
Dynamic Current Time Display
Display current time with year, month, day, hours, minutes, seconds, and day of week using padStart() for consistent formatting:
const timeInterval = setInterval(() => {
const currentTime = new Date();
const year = currentTime.getFullYear();
const month = String(currentTime.getMonth() + 1).padStart(2, '0 ...
Posted on Wed, 02 Sep 2026 16:41:00 +0000 by doobster
G2Plot Line Chart Essentials and Advanced Customizations
Standard Line Chart Implementation
import { Line } from '@antv/g2plot';
const url = 'https://gw.alipayobjects.com/os/bmw-prod/1d565782-dde4-4bb6-8946-ea6a38ccf184.json';
async function initBasicChart() {
const response = await fetch(url);
const seriesData = await response.json();
const chartInstance = new Line('chart-mount-point', {
...
Posted on Wed, 02 Sep 2026 16:27:37 +0000 by Clarkeez
JavaScript Type Conversion: A Comprehensive Guide
Explicit Type Conversion
Explicit type conversion occurs when developers manually convert values from one type to another using specific methods or operators.
Numerical Operators (+ and -)
The unary plus (+) and minus (-) operators can convert any value to a number, similar to the Number() function. These are commonly used for explicit type con ...
Posted on Wed, 02 Sep 2026 16:25:03 +0000 by GimbaL
Understanding Vue 2's Reactivity System
Reactivity Mechanism
Vue recursively traverses the object returned by data() and overrides its properties using Object.defineProperty() from ES5 to intercept read and write operations on these properties. For instance, if there's a property called username in data:
const originalValue = data.username;
Object.defineProperty(data, 'username', {
...
Posted on Wed, 02 Sep 2026 16:16:28 +0000 by dave914