Skip to content

Instantly share code, notes, and snippets.

@stdmitry
stdmitry / regulations.md
Last active December 12, 2019 14:56
Комментарии к регламенту разработки

Спринты по 1-ой неделе

  • В понедельник, после закрытия спринта, разработчик оценивает задачи на следующий спринт
  • Оценке подлежат все задачи разработчика в новом спринте, которые не переданы в тестирование
  • В результате оценки не должно остаться задач с Remaining Estimate = 0
  • В спринт берутся задачи с совокупной оценкой ~26 часов на разработчика (~4 часа на оценку / декомпозицию)

Задача должна быть декомпозирована на блоки по 4-8 часов

  • Если оценка задачи оказывается больше 8 часов, задача должна быть разбита разработчиком на несколько частей / этапов
action: "[bet]"
amount: "[0]"
currency: "[RUB]"
game_uuid: "[805e294072873e2afdcc2f500913568bac1a6ee7]"
player_id: "[5050304]"
transaction_id: "[5f81ea37cf3449f5804db0245dcd81ef]"
session_id: "[5eb5140b6ec158.31816827]"
type: "[freespin]"
freespin_id: "[109]"
quantity: "[3]"
@stdmitry
stdmitry / example1.java
Last active March 29, 2022 13:00
Java logging example 1
@RestController
public class ExampleController {
private static final Logger log = LoggerFactory.getLogger(ExampleController.class);
@GetMapping("/example1")
public Mono<String> example1(@RequestHeader("X-Request-Id") String requestId) {
return
doSomeStuff()
.contextWrite(context -> context.put("requestId", requestId))
;
@stdmitry
stdmitry / requestIdFilter.java
Last active April 23, 2022 17:21
Java logging request id filter
public class RequestIdFilter implements OrderedWebFilter {
@Override
public int getOrder() {
return REQUEST_WRAPPER_FILTER_MAX_ORDER - 10;
}
@Override
@NonNull
public Mono<Void> filter(@NonNull ServerWebExchange ex, @NonNull WebFilterChain chain) {
return
@stdmitry
stdmitry / example2.java
Last active April 23, 2022 17:28
Java logging example 2
@RestController
public class Example2Controller {
private static final Logger log = LoggerFactory.getLogger(Example2Controller.class);
@GetMapping("/example2")
public Mono<String> example2() {
return doSomeStuff();
}
private Mono<String> doSomeStuff() {
@stdmitry
stdmitry / LogHelper.java
Last active April 23, 2022 17:53
Java logging
public class LogHelper {
public static <T> Consumer<Signal<T>> info(Logger logger, String logStatement, Object... arguments) {
return signal -> {
if (signal.isOnNext()) {
info(logger, logStatement, signal.getContextView(), arguments);
}
};
}
public static void info(Logger logger,String logStatement, ContextView ctx, Object... arguments) {
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %X{requestId} %highlight(%-5level) %logger{36}.%M - %msg%n
</pattern>
</encoder>
</appender>
@RestController
public class Example3Controller {
private static final Logger log = LoggerFactory.getLogger(Example3Controller.class);
@GetMapping("/example3")
public Mono<String> example3() {
return doSomeStuff();
}
private Mono<String> doSomeStuff() {