自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 论坛 (1)
  • 收藏
  • 关注

原创 2020-10-31-介绍SpringBoot默认的异常处理机制。

介绍SpringBoot默认的异常处理机制。 如何定义错误页面。 如何自定义异常数据。 如何自定义视图解析。 介绍@ControllerAdvice注解处理异常。 一、SpringBoot默认的异常处理机制 默认情况下,SpringBoot为以下两种情况提供了不同的响应方式: Browser Clients浏览器客户端:通常情况下请求头中的Accept会包含text/html,如果未定义/error的请求处理,就会出现如下html页面:Whitelabel Error Page,关于error页

2020-10-31 17:50:54 29

原创 K近邻算法:机器学习萌新必学算法

摘要:K近邻(k-NearestNeighbor,K-NN)算法是一个有监督的机器学习算法,也被称为K-NN算法,由Cover和Hart于1968年提出,可以用于解决分类问题和回归问题。 1. 为什么要学习k-近邻算法 k-近邻算法,也叫KNN算法,是一个非常适合入门的算法 拥有如下特性: ● 思想极度简单 ● 应用数学知识少(近乎为零) ● 对于各位开发者来说,很多不擅长数学,而KNN算法几乎用不到数学专业知识 ● 效果好 ○ 虽然算法简单,但效果出奇的好 ○ 缺点也是存在的,后面会进行

2020-10-30 14:29:53 18

原创 2020-10-29

前言 什么是远程调试? 为什么要远程调试? 什么是JPDA? 如何开启调试? transport server suspend address onthrow onuncaught launch timeout 常用的命令 IDEA如何开启远程调试? 总结 前言 上周末一个朋友庆生,无意间听他说起了近况,说公..

2020-10-29 12:58:58 21

原创 火影推荐程序连载58-浅析Tomcat高并发之连接池、线程池

  记得大学的《网络工程》有一个课后作业:用Java实现一个web服务器,当时想的是为了提高吞吐量,可以用多线程实现,即对于每一个客户端请求连接,都启动一个线程来处理,处理逻辑大概就是从socket里面读取http请求,解析执行请求,执行完把response写回socket,线程结束销毁。用多线程实现确实提高了吞吐量,但是也有一些问题:1)不断的线程创建销毁需要耗费大量的开销;2)线程之间的切换需要耗费很多开销;3)Java有创建最多线程数量的限制,具体可参考https://www.iteye.com/bl

2020-10-28 16:57:30 17

原创 2020-10-27

什么是可设置( CanSet ) 首先需要先明确下,可设置是针对 reflect.Value 的。普通的变量要转变成为 reflect.Value 需要先使用 reflect.ValueOf() 来进行转化。 那么为什么要有这么一个“可设置”的方法呢?比如下面这个例子: var x float64 = 3.4 v := reflect.ValueOf(x) fmt.Println(v.CanSet()) // false golang 里面的所有函数调用都是值复制,所以这里在调用 reflect

2020-10-27 13:29:26 17

原创 火影推荐程序连载58-在WPF中一种较好的绑定Enums数据方法

在你使用wpf应用程序开发的时候,是否需要进行数据绑定到Enum数据呢?在这篇文章中,我将向你展示在WPF中处理Enum数据绑定的方法。 假设存在一个这样的Enum数据的定义,具体内容如下文代码中所示: namespace LocalizeFrameworkWpfApp { public enum Status { Horrible, Bad, SoSo, Good, Better, Bes

2020-10-26 17:09:35 23

原创 2020-10-25

 本来是只用Tenorflow的,但是因为TF有些Numpy特性并不支持,比如对数组使用列表进行切片,所以只能转战Pytorch了(pytorch是支持的)。还好Pytorch比较容易上手,几乎完美复制了Numpy的特性(但还有一些特性不支持),怪不得热度上升得这么快。 1模型定义   和TF很像,Pytorch也通过继承父类来搭建模型,同样也是实现两个方法。在TF中是__init__()和call(),在Pytorch中则是__init__()和forward()。功能类似,都分别是初始化模型内部..

2020-10-25 15:06:15 39

原创 火影推荐程序连载57-面试官问我:创建线程有几种方式?我笑了

多线程在面试中基本上已经是必问项了,面试官通常会从简单的问题开始发问,然后再一步一步的挖掘你的知识面。 比如,从线程是什么开始,线程和进程的区别,创建线程有几种方式,线程有几种状态,等等。 接下来自然就会引出线程池,Lock,Synchronized,JUC的各种并发包。然后就会引出 AQS、CAS、JMM、JVM等偏底层原理,一环扣一环。 这一节我们不聊其他的,只说创建线程有几种方式。 是不是感觉非常简单,不就是那个啥啥那几种么。 其实不然,只有我们给面试官解释清楚了,并加上我们自己的理解,才能

2020-10-24 14:51:28 28

原创 火影推荐程序连载56-linux硬盘分区及挂载

这是一个系列的文章,打算把Redis的基础数据结构、高级数据结构、持久化的方式以及高可用的方式都讲一遍,公众号会比其他的平台提前更新,感兴趣的可以提前关注,「SH的全栈笔记」,下面开始正文。 如果你是一个有经验的后端或者服务器开发,那么一定听说过Redis,其全称叫Remote Dictionary Server。是由C语言编写的基于Key-Value的存储系统。说直白点就是一个内存数据库,既然是内存数据库就会遇到如果服务器意外宕机造成的数据不一致的问题。 这跟很多游戏服务器也是一样的,感兴趣的可以.

2020-10-21 16:23:46 27 1

原创 火影推荐程序连载55-实战用puppeteer 和puppeteer-cluster 获取某站所有有用链接

谷歌推出的用于操作无头浏览器的nodeJs框架,提供上层API用于直接操作浏览器。该框架适用于爬取web2.0页面,同时对web1.0的支持率也比较高,代码编写也很简单。 Puppeteer-cluster 池化思想作用于puppeteer的产物,任务分发与调度,让nodejs可以利用自身去实现整个爬虫。在使用该组件之前,我使用java来写爬虫的调度算法,然后用eureka来调用nodejs的页面抓取模块 首先需要获取整站的所有页面 获取所有页面,并确定当url是pan.baidu.com的时候过.

2020-10-20 14:40:19 35

原创 火影推荐程序连载54-华为鲲鹏专家解读:90%代码如何移植到鲲鹏平台

Linux环境下跨平台软件移植过程中,需要开发者阅读代码、手工修改、反复编译和调试,移植周期长,效率低,那么如何改进周期长,效率低的问题呢? 基于此,来自华为智能计算专家张汝涛带来了“90%代码如何实现自动移植到鲲鹏平台”的主题分享活动,他主要从鲲鹏开发套件实现基于C/C++软件的高效代码移植,加速开发者实现跨平台软件移植两个层面进行分享。以下分享的速记内容: 今天要讲的主题是关于软件迁移这一件事,是一个久远的话题。因为但凡是牵扯到切换平台、CPU架构的变化,甚至一些语言版本的升级,我们都可能会面临到一

2020-10-19 17:52:31 27

原创 火影推荐程序连载53-从Linux源码看Socket(TCP)的bind

笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。 今天笔者就来从Linux源码的角度看下Server端的Socket在进行bind的时候到底做了哪些事情(基于Linux 3.10内核)。 一个最简单的Server端例子 众所周知,一个Server端Socket的建立,需要socket、bind、listen、accept四个步骤。 代码如下: void start_server(){ // server fd int sockfd_serve

2020-10-16 11:25:19 25

原创 火影推荐程序连载52-什么是Serilog?

上文说到Nlog日志框架,感觉它功能已经很强大,今天给大家介绍一个很不错的日志框架Serilog,根据我的了解,感觉它最大的优势是,结构化日志,它输出的日志是Json的格式,如果你使用的是Mongodb进行存储日志,那就是完美的结合,MongoDB也是文档式数据库,存储的格式很像JSON,也可以它是一个JSON文件,查询数据库快。不扯远了,还是讲讲Serilog的使用吧! 一、什么是Serilog? Serilog 是 ASP.NET Core 的一个插件,可以简化日志记录。Serilog 有各种.

2020-10-15 11:20:57 47

原创 火影推荐程序连载51-如何选择JVM垃圾回收器?

-XX:+UseSerialGC 年轻代和老年代都用串行收集器 -XX:+UseParNewGC 年轻代使用ParNew,老年代使用 Serial Old -XX:+UseParallelGC 年轻代使用Paraller Scavenge,老年代使用Serial Old -XX:+UseParallelOldGC 新生代Paraller Scavenge,老年代使用Paraller Old -XX:+UseConcMarkSweepGC,表示年轻代使用ParNew,老年代的用CMS + Serial Old

2020-10-10 11:25:59 33

原创 火影推荐程序连载50-数据标注与数据校验

数据标注(Data Annotation)是类或类成员添加上下文信息的一种方式,在 C# 通常用特性(Attribute)类来描述。它的用途主要可以分为下面这三类: 验证 Validation:向数据添加验证规则 显示 Display:指定数据如何呈现给用户 模型 Modelling:添加关于用法和与其它类的关系信息 下面是一个用来验证和展现用户信息的一个 Model: class Kid { [Range(0, 18)] // 年龄不能超过18岁,不能为负数 public int Age

2020-10-09 11:16:02 22

原创 火影推荐程序连载49-记一次ElementUI源码修改过程

 最近在研究hashmap的扩容机制,作为一个小白,相信我的理解,对于一些同样是刚刚接触hashmap的白白是有很很大的帮助,毕竟你去看一些已经对数据结构了解透彻的大神谈hashmap的原理等,人家说的很高大上,时不时会夹着稍许的英文你也看不懂是吧,不过这样显得比较有逼格哈哈。在正文之前,我非常有必要给刚刚接触hashmap以及没有学过数据结构(其实数据结构我了解也不多哈哈)的小伙伴普及几个知识,你记住就行了:     1. 对于刚接触hashmap,hashmap你就暂时理解为哈希表(hash表),结.

2020-10-08 10:45:10 36

原创 火影推荐程序连载48-源发丝分割数据集CelebAHairMask-HQ(国庆献礼)

在这个特别日子里,举国欢庆,什么都可以缺席,大礼包不行。 本次开源针对CelebAMask-HQ中发丝部分进行细化的数据集。 该数据集可用于发丝分割等方向的研究和探索。 在过去的一年时间里,疫情改变很多人的工作和生活, 博主自然免不了也成为其中一员,非常有幸成为了一名无业游民。 不是别的原因,只是觉得过去近一年过得有点蒙圈,暂时稍微停下来休整一下。 过去一年里,大部分精力,扎在一个让人头疼的领域, 手机上实时发丝级别语义分割里做研究。 真的好南! 前期看了半年多的论文和项目资料..

2020-10-02 13:42:24 92

原创 火影推荐程序连载47-Flask 内置了简单的 Web 环境

Flask 内置了简单的 Web 环境,让我们在开发的时候只需要专注于应用实现,而真正要在生产环境运行时这个简单的 Web 环境就不够用了,还需要一系列操作才能让 Web 应用高效的运行起来。现在记录一下在生产环境部署 Flask 应用的其中一套方案:Nginx + Gunicorn + Supervisor。 1. 准备 1.1 项目结构 我的项目结构类似这样, myapp 包是应用的主要代码,其中的初始化文件 init 提供了创建程序实例的工厂方法 create_app ,主目录下的 .flask

2020-10-01 14:32:49 23

空空如也

li123128的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除