Задать вопрос
  • Как в выборке sql обратиться к предыдущей записи?

    @d-stream
    Готовые решения - не подаю, но...
    Изучаем LAG и LEAD потом выясняем - есть ли они для своего, а не абстрактного sql
    И если есть - наслаждаемся.
    Ответ написан
    1 комментарий
  • Как в выборке sql обратиться к предыдущей записи?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ORDER BY date DESC 
    LIMIT 2

    Получите последнюю и предпоследнюю записи.
    Ответ написан
    Комментировать
  • Как лучше всего возвращать ответы?

    @mxelgin
    для ошибок уже есть RFC 7807, в c# уже есть готовый ProblemDetail
    https://datatracker.ietf.org/doc/html/rfc7807

    не выявленные ошибки также нужно отлавливать в middlware

    вот пример

    public class ResponseResult<T> : IResponseResult<T>
        {
            public bool IsSuccess { get; private set; }
    
            public ProblemDetails? Error { get; private set; }
    
            public T? Data { get; private set; }
    
            public static ResponseResult<T> Success(T data) => new ResponseResult<T> { IsSuccess = true, Data = data };
            public static ResponseResult<T> Success() => new ResponseResult<T> { IsSuccess = true};
            public static ResponseResult<T> Failure(Exception exception) => new ResponseResult<T>
            {
                IsSuccess = false,
                Error = new ProblemDetails
                {
                    Title = GetTitleByException(exception),
                    Detail = exception.Message,
                    Status = exception switch
                    {
                        ArgumentException => StatusCodes.Status400BadRequest,
                        KeyNotFoundException => StatusCodes.Status404NotFound,
                        UnauthorizedAccessException => StatusCodes.Status401Unauthorized,
                        _ => StatusCodes.Status500InternalServerError
                    },
                    Instance = Guid.NewGuid().ToString()
                }
            };
    
            private static string GetTitleByException(Exception exception) =>
                exception switch
                {
                    ArgumentException => "Invalid argument",
                    KeyNotFoundException => "Resource not found",
                    UnauthorizedAccessException => "Unauthorized",
                    _ => "Internal server error"
                };
        }


    Слой бизнес логики
    return ResponseResult<bool>.Failure(
                        new KeyNotFoundException(
                            string.Format("User with login '{0}' not found", request.Login))
                        );


    Презентационный слой
    [HttpGet("verify")]
            public async Task<ActionResult> VerifyUser(
                [FromQuery] string login,
                [FromQuery] string password,
                CancellationToken cancellationToken)
            {
                var result = await mediator.Send(new VerifyQuery() { Login = login, Password = password }, cancellationToken);
    
                if (result.IsSuccess)
                {
                    return Ok(new { verify = result.Data });
                }
    
                return StatusCode(result.Error?.Status ?? 400, result.Error);
            }
    Ответ написан
    Комментировать
  • Есть сервера, которые стоит написать именно на Java, а не на Node?

    @Vahman
    Закидают меня тряпками, но Java будет лучше во всем, но все ещё недостаточно хороша. Для сервер сайд посмотрите на .net, go, rust. Если вам нужно примитивные рест апи сделать, то нода отлично сработает, есть и фреймворки неплохие. Но для чего-то серьёзного по ресурсам не стоит выбирать ноду, имхо
    Ответ написан
    4 комментария
  • Можно ли поставить Android Tv на sony bravia?

    @mkone112
    Начинающий питонист.
    Дампишь прошивку, реверсишь, выковыриваешь дрова, собираешь свое ядро для андроида, и прошивку в придачу. В целом, ответ на твой вопрос - да можно.
    Ответ написан
    Комментировать
  • Где взять самые дешевые сервера VPS (Не Россия)?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Тяжела и неказиста жизнь простого спаморассыльщика...
    Ответ написан
    Комментировать