Skip to content

Instantly share code, notes, and snippets.

View ignatov's full-sized avatar

Sergey Ignatov ignatov

  • JetBrains
  • Amsterdam, NL
View GitHub Profile
@ignatov
ignatov / Main.java
Created July 16, 2019 22:04
Ref/Invoke via reflection
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws Throwable {
ArrayList<String> ref = new ArrayList<String>();
ref.add("public class Ref {\n");
ref.add(" public static void main(String[] args) {\n");
@ignatov
ignatov / MatcherTest.java
Created March 31, 2019 18:07
A test for todo and fixme patterns
import java.security.SecureRandom;
import java.util.regex.Pattern;
public class MatcherTest {
private static final String ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
private static final SecureRandom RANDOM = new SecureRandom();
private static String generate(int count) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < count; ++i) {
import java.security.SecureRandom;
import java.util.regex.Pattern;
public class MatcherTest {
private static final String ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
private static final SecureRandom RANDOM = new SecureRandom();
private static String generate(int count) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < count; ++i) {
@ignatov
ignatov / main.go
Created October 17, 2017 09:28
sql injection example
package main
import (
_ "github.com/lib/pq"
"database/sql"
"github.com/jmoiron/sqlx"
"log"
"fmt"
)
package main
type I1 interface {
foo() int
bar() int
}
type I2 interface {
foo() int
baz() int
2016-02-05 15:20:18
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.51-b03 mixed mode):
"JobScheduler FJ pool 0/2" #5136 daemon prio=6 os_prio=31 tid=0x00007fa36cf41000 nid=0xe02f waiting on condition [0x000000014b6dc000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for &lt;0x00000007affb08f0&gt; (a jsr166e.ForkJoinPool)
at jsr166e.ForkJoinPool.awaitWork(ForkJoinPool.java:1756)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1694)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
map[c:/go/src/runtime/memclr_amd64.s:0xc08211c030 c:/go/src/reflect/makefunc.go:0xc08211c030 c:/go/src/math/ldexp.go:0xc08211c030 c:/go/src/os/types_windows.go:0xc08211c030 c:/go/src/runtime/lfstack.go:0xc08211c030 c:/go/src/math/ldexp_amd64.s:0xc08211c030 c:/go/src/unicode/utf8/utf8.go:0xc08211c030 c:/go/src/fmt/print.go:0xc08211c030 c:/go/src/time/zoneinfo_windows.go:0xc08211c030 c:/go/src/syscall/exec_windows.go:0xc08211c030 c:/go/src/runtime/rune.go:0xc08211c030 c:/go/src/errors/errors.go:0xc08211c030 c:/go/src/runtime/hash64.go:0xc08211c030 c:/go/src/reflect/value.go:0xc08211c030 c:/go/src/runtime/syscall_windows.go:0xc08211c030 c:/go/src/sync/pool.go:0xc08211c030 <autogenerated>:0xc08211c030 c:/go/src/runtime/asm.s:0xc08211c030 c:/go/src/runtime/string1.go:0xc08211c030 c:/go/src/time/zoneinfo.go:0xc08211c030 c:/go/src/runtime/mgcsweep.go:0xc08211c030 c:/go/src/runtime/runtime1.go:0xc08211c030 c:/go/src/runtime/traceback.go:0xc08211c030 c:/go/src/runtime/atomic_amd64x.go:0xc08211c030 c:/go/src/math/abs.g
@ignatov
ignatov / Rebase PR.zsh
Last active December 23, 2015 23:22
Rebase PR
rebase-pr() {
br=pr$1
set -x
git stash
git fetch origin pull/$1/head:$br
git checkout $br
git rebase master $br
git checkout master
git rebase $br master
git stash pop
@ignatov
ignatov / build-images.sh
Last active August 29, 2015 14:20
docker images for sql databases
docker pull mysql:5.7
docker pull mysql:5.6
docker pull mysql:5.5
docker build -t mysql-5.1 github.com/ignatov/docker-mysql-5.1
docker pull postgres:9.4
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(document).ready(function () {
$.ajax({
url: 'http://localhost:63342/api/about',
dataType: 'jsonp',
success: function (data) {
$('#version').html(data.productName + " " + data.baselineVersion);