李成笔记网

专注域名、站长SEO知识分享与实战技巧

使用Docker部署wikitten个人知识库教程

使用Docker部署Wikitten个人知识库教程

Wikitten是一个简洁、易用的静态Wiki工具,可以帮助用户管理个人知识库。通过Docker部署Wikitten,不仅能够简化部署流程,还能提高应用的可移植性。以下是如何使用Docker和Docker Compose部署Wikitten个人知识库的详细步骤。

精通Spring Boot 3 : 4. Spring Boot SQL 数据访问指南 (2)

添加网络控制器功能

按照清单 4-8 的示例创建 UsersController 类。

package com.apress.users;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
import java.net.URI;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
@AllArgsConstructor
@RestController
@RequestMapping("/users")
public class UsersController {
    private SimpleRepository<User,Integer> userRepository;
    @GetMapping
    public ResponseEntity<Iterable<User>> getAll(){
        return ResponseEntity.ok(this.userRepository.findAll());
    }
    @GetMapping("/{id}")
    public ResponseEntity<User> findUserById(@PathVariable Integer id){
        return ResponseEntity.of(this.userRepository.findById(id));
    }
    @RequestMapping(method = {RequestMethod.POST,RequestMethod.PUT})
    public ResponseEntity<User> save(@RequestBody @Valid User user){
       User result = this.userRepository.save(user);
        URI location = ServletUriComponentsBuilder
                .fromCurrentRequest()
                .path("/{id}")
                .buildAndExpand(user)
                .toUri();
        return ResponseEntity.created(location).body(this.userRepository.findById(result.id()).get());
    }
    @DeleteMapping("/{id}")
    @ResponseStatus(HttpStatus.NO_CONTENT)
    public void delete(@PathVariable Integer id){
        this.userRepository.deleteById(id);
    }
    @ExceptionHandler(MethodArgumentNotValidException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    public Map<String, String> handleValidationExceptions(MethodArgumentNotValidException ex) {
        Map<String, String> errors = new HashMap<>();
        ex.getBindingResult().getAllErrors().forEach((error) -> {
            String fieldName = ((FieldError) error).getField();
            String errorMessage = error.getDefaultMessage();
            errors.put(fieldName, errorMessage);
        });
        errors.put("time", LocalDateTime.now().format(java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME));
        return errors;
    }
    @ExceptionHandler(HttpMessageNotReadableException.class)
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    public Map<String,Object> handleHttpMessageNotReadableException(HttpMessageNotReadableException ex){
        Map<String,Object> errors = new HashMap<>();
        errors.put("code",HttpStatus.BAD_REQUEST.value());
        errors.put("message",ex.getMessage());
        errors.put("time", LocalDateTime.now().format(java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME));
        return errors;
    }
}

一次Nignx的502页面的错误记录

转载自:https://www.cnblogs.com/tinywan/p/6777592.html

(1)错误页面显示

错误日志:

// :: [error] #: * recv() failed (: Connection reset by peer) reading response header upstream,

client: ., server: live.baidu.com, request: , upstream: show.baidu.com, host:

使用 Golang net/http 包:基础入门与实战

简介

Go 的 net/http 包是构建 HTTP 服务的核心库,功能强大且易于使用。它提供了基本的 HTTP 客户端和服务端支持,可以快速构建 REST API、Web 应用等服务。

本文将介绍 net/http 包的核心功能,并通过实际代码演示如何使用该包构建 HTTP 服务器和客户端。

Vue + SpringBoot 项目实战(五):我的助手之前端路由与登录拦截器

在上篇文章末尾,提到了登录功能还有一些缺陷,就是如何避免绕过登录功能直接登录,这篇文章主要解决这个问题,因此引入了一个新的内容,来协助我们完成这个功能。

前言:

在前面文章当中,当时登录时,我们需要加上

那个小白还没搞懂内存溢出,只能用案例说给他听了

内存溢出,通俗的理解,就是你要求分配的内存超出了JVM能给你的,JVM不能满足需求,于是产生溢出。 为了便于理解,本文我们将使用一个案例来说明内存溢出。

首先,还是先看看本文的主要框架:

查看JVM内存情况

 1public class PrintGCDetailsDemo {
 2    public static void main(String[] args) {
 3         //JVM最大堆空间
 4        System.out.println("Xmx=" + Runtime.getRuntime().maxMemory() / 1024.0 / 1024 + "M");   
 5        //JVM堆空闲空间
 6        System.out.println("free mem=" + Runtime.getRuntime().freeMemory() / 1024.0 / 1024 + "M");   
 7        //当前可用的总空间
 8        System.out.println("total mem=" + Runtime.getRuntime().totalMemory() / 1024.0 / 1024 + "M");   
 9    }
10}

记一次集群内无可用http服务问题排查

前一阵子发现服务会有偶发的服务不可用的情况,记录一下这个问题的排查过程。

现象是这样的:每天到了某个时间点,就会出现服务不稳定的情况,偶发接口调不通。

线上业务使用了lvs-nginx-tomcat三层结构,首先查看tomcat监控,没有什么特别异常的情况,响应时间和错误码没发现有什么异常,CPU、IO等等指标也都正常。

再查看nginx上的监控,发现在某个时刻这个服务的5xx报错突增,大概7、8秒之后又恢复了。

继续在nginx服务器上找线索,发现Nginx在那个时间点会出现报错:

梦幻西游:职业玩家是如何刷经验的,五开可借鉴

对于很多梦幻玩家而言,经验都是一个稀缺资源。无论是新区冲级,普通玩家的潜能果,动辄都要几十亿的经验。等级越高,经验的开支就越大,灵宝、法宝,乾元丹,化圣,以至于千亿兽决,经验都是一个多多益善的好东西。



口袋版里刷经验,常规任务,如各类葫芦、帮派任务等,1块钱可以换大概70-90万经验。如果是修行任务,1块钱则是130-140万经验。如果舍得下本,口袋版一天刷几千万经验并不是一件难事。

平南在这里新建三所学校 ! 分别是......

平南这三所新建学校

涵盖了从幼儿园到小学、初中学段

分别是:

平南县工业园幼儿园

平南县工业园小学

平南县工业园初中

这三所学校位于临江工业园内

Excel丨制表时常见的错误提示与解决办法

我们在制作Excel表格过程中,经常会突然出现各种各样的错误提示,令我们很是头大,影响工作效率。


我们整理了一些常见的提示和错误信息,方便大家对照了解,提前知晓,有备无患,及时解决问题。


01

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言