Skip to content

Instantly share code, notes, and snippets.

View ILyaCyclone's full-sized avatar

ILyaCyclone

View GitHub Profile
// смысловые категории
class Category {
Integer id;
String title; // "Расписание", "Культура"
boolean selected; // Выбрана (пользователем или по умолчанию)
}
@Data
public class TimetableDataRow {
private final TimetableGrid grid;
private final TimetableWeek week;
private final TimetableTimeSlot timeSlot;
private final TimetableDay day;
private final TimetableEvent event;
}
@ILyaCyclone
ILyaCyclone / SearchCategory.java
Last active July 18, 2022 14:20
Иерархия классов: SearchResult -> SearchCategory -> SearchResultRow
public class SearchCategory {
private String name;
private String code;
private String parentCategoryCode; // категории могут быть вложенными
private DesignType designType; // вариант дезайна категории
private int itemsCount; // количество результатов в категории
private String url; // переход к категории
private List<SearchResultRow> searchResults;
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyAnnotation { }
@MyAnnotation
public class MyClass { }
// 1
scanner = new org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider(false);
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.5.1
container_name: elk-dockerlogs_elasticsearch
environment:
- discovery.type=single-node
- cluster.name=es-docker-cluster # default is docker-cluster
- node.name=es01-node
- bootstrap.memory_lock=true
package com.gkatzioura.concurrency;
import java.util.concurrent.atomic.AtomicInteger;
// https://dzone.com/articles/atomicinteger-on-java-and-round-robin
public class AtomicIntegerRoundRobin {
private final int totalIndexes;
private final AtomicInteger atomicInteger = new AtomicInteger(-1);
public AtomicIntegerRoundRobin(int totalIndexes) {
this.totalIndexes = totalIndexes;
}
public int index() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setViewport({
width: 375,
height: 600
})
await page.goto('https://rut-miit.ru/depts/294');
await page.screenshot({path: 'screenshot.png', fullPage: true});
public class BusinessStuff {
public void doBusinessStuff() {
Something something = getSomethingFromSomewhere();
try {
validator.validate(something);
} catch (ValidationException ve) {
showErrorMessageToUser(ve.getMessage());
return;
}
@ILyaCyclone
ILyaCyclone / named-groups.txt
Last active July 3, 2019 10:35
Spring Boot default (logback) log parsing expression
именованные группы:
^(?<datetime>.{23})\s+(?<severity>\S+)\s+(?<processID>\d+)\s---\s\[(?<thread>.*?)\]\s(?<logger>\S*)\s*:\s(?<message>.*)
datetime - Date and Time
severity - Log Level
processID - Process ID
thread - Thread name
logger - Logger name
message - The log message
@font-face{font-family:'ruble';src:url("data:application/octet-stream;base64,d09GRgABAAAAAA6oAA0AAAAAFTgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABwAAAAcaMNa60dERUYAAAFMAAAAHAAAAB4AJwAnT1MvMgAAAWgAAABNAAAAYGC9Z0BjbWFwAAABuAAAAH4AAAFyajSZv2dhc3AAAAI4AAAACAAAAAj//wADZ2x5ZgAAAkAAAAkLAAAMwA5qv51oZWFkAAALTAAAADIAAAA2BjrHL2hoZWEAAAuAAAAAIAAAACQGJwJAaG10eAAAC6AAAAB2AAAAgk4EBVxsb2NhAAAMGAAAAEAAAABEMTo0cG1heHAAAAxYAAAAHQAAACAAZQBubmFtZQAADHgAAAHMAAADukfC+71wb3N0AAAORAAAAGQAAACC73beAQAAAAEAAAAA0S6ZbgAAAADF7tQcAAAAANGl7WB4nGNgZGBg4AFiMSBmYmAEQgUgZgHzGAAE/gBPeJxjYGZqYJzAwMrAwtTFFMHAwOANoRnjGIwYdRgYmBhY2RhAFAsDGgiIDApmcGBQYHFmevcfqIb5HIMUUJgRJMe0B6xEgYERANidCb0AAAB4nGNgYGBmgGAZBkYGEMgB8hjBfBaGACAtAIQgeQUGPYYKhv8shiwOLM7//0NFEhEi/x//v/Z/yX+5329/3/99F2oaCmBkY4ALMzIBCSZ0BRCnIAALpiGEACsbOwcnFzcPLx+/gKCQsIiomLiEpJS0DOkmkQRkiVQHANtXF+YAAAAAAAH//wACeJy9Vlls2+Yd55+6L9oSdcu2DuqyjsgSRTGyZdmWZcmOD8mO7cROlDjyFTtxssau67Rp0lxb2qHOhiBbsC4YegwDigFNlybD1uVh65AWzVa0cbcBWR56rSv2MHRDN2BBy+0j5TN72dNI4cNHgdLv+B/fH8OxIobhP8F/gVkwN4aRDK11xkx