Skip to content

Instantly share code, notes, and snippets.

View alexanderankin's full-sized avatar

David Ankin alexanderankin

View GitHub Profile
interface ThingFooRepository extends PagingAndSortingRepository<ThingFoo> {
@Query("select count(thing) from ThingFoo thing " +
"left join ThingBar bar on bar.thingType = thing.thingType " +
"where bar.barId = :barId " +
"and thing.status = com.mycompany.web.common.constants.ThingFooStatus.RECEIVED_ID " +
"and ABS(DATEDIFF(second, thing.received, thing.createdOn)) < :secondsWithin")
int countReceivedWhereReceivedWithinSecondsOfCreated(UUID barId, int secondsWithin);
}
// https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
// https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
// https://developer.mozilla.org/en-US/docs/Web/API/Storage
let ls = localStorage;
let ss = sessionStorage;
/**
* @type {{session: Storage, local: Storage}}
*/
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class StepsNumWays {
public static void main(String[] args) {
StepsNumWays solution = new StepsNumWays();
System.out.println(solution.solve(2, List.of(1, 2)));
System.out.println(solution.solve(3, List.of(1, 2)));
System.out.println(solution.solve(3, List.of(1, 2, 3)));
#!/usr/bin/env node
(async () => {
var url = process.argv[2];
var result = await get(url);
var resolved = await resolve(result);
console.log(resolved);
})();
// todo handle
// for i in $(curl -sL 'https://json-schema.org/draft/2020-12/schema' | jq '.allOf[]["$ref"]' -r) ; do curl -sL "https://json-schema.org/draft/2020-12/$i" ; done
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.SneakyThrows;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class JacksonSerializationExample {
import lombok.Data;
import lombok.experimental.Accessors;
public class BucketStateViewer {
public static void main(String[] args) {
BucketState valid = new BucketState()
.setObserver(ObserverRelativeToCenter.LEFT)
.setObserved(ObservedRelativeToCenter.LEFT)
.setRelative(ObservedRelativeToObserver.LEFT)
.setDistance(Distance.INCREASING)
@alexanderankin
alexanderankin / ProxyServer.java
Created January 5, 2023 21:08
simple tcp proxy server
package ps;
import lombok.Data;
import lombok.SneakyThrows;
import lombok.experimental.Accessors;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.TeeInputStream;
import org.apache.commons.io.output.ByteArrayOutputStream;
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.async.ResultCallback;
import com.github.dockerjava.api.model.WaitResponse;
import lombok.SneakyThrows;
import org.eclipse.jgit.api.ArchiveCommand;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.archive.TarFormat;
import org.eclipse.jgit.errors.RepositoryNotFoundException;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.startupcheck.StartupCheckStrategy;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.when;
public class ExampleTest {
@Test
@alexanderankin
alexanderankin / UuidTest.java
Last active December 11, 2022 09:23
simple uuid benchmarks
import com.fasterxml.uuid.Generators;
import com.fasterxml.uuid.NoArgGenerator;
import com.fasterxml.uuid.impl.NameBasedGenerator;
import lombok.SneakyThrows;
import org.apache.commons.lang3.tuple.Pair;
import java.time.Duration;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;