PreparedStatement and SQL Injection Prevention in Java
Concatenating input into SQL lets a caller rewrite your query. Bound parameters make that structurally impossible.
968 published notes across every category.
Concatenating input into SQL lets a caller rewrite your query. Bound parameters make that structurally impossible.
A transaction makes several statements succeed or fail together, and batching turns many round trips into one.
A unit test runs a small piece of code with known input and asserts the result, automatically and repeatedly.
A test double stands in for a real dependency so a unit can be tested in isolation, quickly and predictably.
Python is a high level, dynamically typed, interpreted language whose whole design goal is that a program should be as easy to read as it was to write...
Install Python, check the version, meet the REPL, write a script and understand the difference between interactive mode and script mode.
Source code is compiled to bytecode and the Python Virtual Machine executes it. Knowing that explains __pycache__, import speed and most confusing err...
Indentation defines blocks, statements end at the line break, and a short set of rules about comments, keywords and identifiers covers everything else...
A Python variable is a name bound to an object, not a box holding a value. That one distinction explains multiple assignment, swapping, dynamic typing...
Python ships with a small set of built in types. Sorting them by three questions - single value or container, ordered or not, changeable or not - make...
Integers are unbounded, floats are binary approximations, division always produces a float, and bool is quietly an integer. Each of those facts change...
type() names the class, id() names the object and isinstance() answers the question you usually meant to ask. Together they explain every aliasing sur...