B

@bxacosta

JDK Dynamic Proxy

Java
1 year ago
import java.util.*; import java.lang.*; import java.io.*; import java.lang.reflect.*; import java.util.concurrent.TimeUnit; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { RealDatabaseService realService = new RealDatabaseService();

Proxy Pattern

Java
1 year ago
import java.util.*; import java.lang.*; import java.io.*; import java.util.concurrent.TimeUnit; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { DatabaseService proxyDatabaseService = new ProxyDatabaseService();

Http Connection Errors

Java
1 year ago
import java.util.*; import java.lang.*; import java.io.*; import java.net.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { testConnection("http//192.0.2.1"); // MalformedURLException testConnection("http://invalid.domain.test"); // UnknownHostException

String Intern Pool

Java
1 year ago
import java.util.*; import java.lang.*; import java.io.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { String text1 = "Hello"; String text2 = "Hello"; String text3 = "He" + "llo";

Http Client with fetch API

NodeJS
1 year ago
class HttpClient { constructor(baseURL = '', defaultHeaders = {}) { this.baseURL = baseURL; this.defaultHeaders = defaultHeaders; } async request(method, url, options = {}) { const { params, data, headers, ...restOptions } = options; // Build URL with query parameters if they exist

Date and ZonedDateTime differences

Java
1 year ago
import java.util.*; import java.lang.*; import java.io.*; import java.time.*; import java.text.SimpleDateFormat; import java.time.format.DateTimeFormatter; // Change the JVM Time Zone with the parameter 'user.timezone' as run argument -Duser.timezone=America/Buenos_Aires. // https://www.baeldung.com/java-jvm-time-zone class Main {

Discriminated Unions

TypeScript
1 year ago
type Laptop = { variant: "laptop"; cpu: string; } type Phone = { variant: "phone"; camera: string; }

Normalize text

Java
1 year ago
import java.util.*; import java.lang.*; import java.io.*; import java.text.*; import java.util.regex.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { String[] testWords = {

Memoization

NodeJS
1 year ago
const memoize = (fn) => { const cache = {}; return (...args) => { const key = JSON.stringify(args); if (key in cache) return cache[key]; const result = fn(...args); cache[key] = result; return result; } }

Closures demo

NodeJS
1 year ago
/* * A closure is a function that retains * access to its lexial scope, even when * is executed outisite of that scope. * Lexical Scope: Is the definition area * of an expresion. * * A closure is a function that remembers the * variables from the place where its defined, * regardless of where it is executed later

Error handling in promises

NodeJS
1 year ago
function function1() { return new Promise((resolve, reject) => { console.log("http request"); resolve(); }); } function function2(error) { return new Promise((resolve, reject) => { if (error) throw new Error('invalidate cache error!');

Get start and end date of week and month

Java
2 years ago
import java.util.*; import java.lang.*; import java.io.*; import java.time.*; import java.time.temporal.TemporalAdjusters; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { LocalDate date = LocalDate.of(2024, 6, 5);

Execution time utility

Java
2 years ago
import java.util.*; import java.util.function.*; import java.lang.*; import java.io.*; import java.util.concurrent.TimeUnit; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { TimeLoggerUtils.logExecutionTime("Task 1", () -> {

Wrong validation

Java
2 years ago
import java.util.*; import java.lang.*; import java.io.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { for (var i = 1; i <= 10; i++) { System.out.println("Intento: " + i); if (getText() == null) continue;

Optional Map

Java
2 years ago
import java.util.*; import java.lang.*; import java.io.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { var userName = findUser().map(User::getName).orElse(""); System.out.println("Hello " + userName); }

Random list

Java
2 years ago
import java.util.*; import java.lang.*; import java.io.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { var list = createRandomList(10); System.out.println(list); }

Join string with space

Java
2 years ago
import java.util.*; import java.lang.*; import java.io.*; import java.util.stream.Collectors; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { System.out.println(concatenateWithSpace("123 ", null, " asd", " ")); }

Java ConcurrentModificationException

Java
2 years ago
import java.util.*; import java.lang.*; import java.io.*; // The main method must be in a class named "Main". class Main { public static void main(String[] args) { var list = new ArrayList<Integer>(); for (var i=0; i<10; i++) { list.add(i);

Overriding Vs Hiding

Java
2 years ago
import java.util.*; import java.lang.*; import java.io.*; //============== Overriding Vs Hiding ================= // https://coderanch.com/wiki/659959/Overriding-Hiding class Foo { public static void classMethod() { System.out.println("classMethod() in Foo"); }

Common errors

NodeJS
2 years ago
const tests = [() => true, () => false, () => null, () => undefined]; console.log("Wrong way to handle conditional values"); tests.map(shoudRender => { console.log(`value: ${shoudRender()} => `, {opacity: shoudRender() && "1"}) }); console.log("\nCorrect to handle conditional values"); tests.map(shoudRender => { console.log(`value: ${shoudRender()} => `, {opacity: shoudRender() ? "1" : "0"})