半臻 半臻
4年前
Python基础4——模块与包
12模块与包模块通俗地理解为.py文件,里面定义了变量、函数和类。需要的时候就可以导入这些模块。执行步骤1.在python模块加载路径中查找相应的模块文件2.将模块文件编译成中间代码3.执行模块文件中的代码12.1模块分类1.内置模块,也叫标准库,比如说random,time,大概有200多个2.第三方模块,也称为第三方库,使用pipins
Wesley13 Wesley13
4年前
java 源码编译
Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译器(叫“编译器的前段”更准确)——把\.java文件转变成\.class文件的过程;也可能是虚拟机的后端运行期编译器(JIT)把字节码转变成机器码的过程;还可能是指静态提前编译器(AOT编译器)直接把\.java文件编译成本地机器码的过程。Javac编译器
liam liam
3年前
这才是,2022年的 API 文档该有的样子!
前后端差点打起来事情是这样的:今天我们公司的后端说他接口写完了,并分享了一个接口文档给我。用的就是SwaggerUI自动生成的那种接口文档,就像这种:这种Swagger文档我每次看着就头大,毛病多多:查看多级模型时要一级级点开在接口数量变多的时候非常难用,连分类菜单都没有提交参数为JSON的时候不能格式化参数出错的时候查找麻烦返回结果
Stella981 Stella981
4年前
Spring Boot 2.x(七):全局异常处理
前言异常的处理在我们的日常开发中是一个绕不过去的坎,在SpringBoot项目中如何优雅的去处理异常,正是我们这一节课需要研究的方向。异常的分类在一个SpringBoot项目中,我们可以把异常分为两种,第一种是请求到达Controller层之前,第二种是到达Controller层之后项目代码中发生的错误。而第一种又可
Wesley13 Wesley13
4年前
MySQL日志体系详解
前言日志是MySQL数据库的重要组成部分。日志文件中记录着MySQL数据库运行期间发生的变化;也就是说用来记录MySQL数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。MySQL的日志体系有如下几种分类:1.错误日志2.查询日志
Wesley13 Wesley13
4年前
Java多线程并发控制工具CountDownLatch,实现原理及案例
闭锁(CountDownLatch)是Java多线程并发中的一种同步器,它是JDK内置的同步器。通过它可以定义一个倒计数器,当倒计数器的值大于0时,所有调用await方法的线程都会等待。而调用countDown方法则可以让倒计数器的值减一,当倒计数器值为0时所有等待的线程都将继续往下执行。闭锁的主要应用场景是让某个或某些线程在某个运行节点上等待N个条件都
Wesley13 Wesley13
4年前
QQ浏览器赵俊:解读腾讯扶持HTM5游戏政策
手机QQ浏览器高级产品经理赵俊作为平台渠道方的代表,受邀出席了“TFC&LAYABOX大型HTML5金秋新品发布会”,并在发布会上分享了腾讯QQ浏览器对于H5游戏的扶持政策以及如何助力H5游戏。QQ浏览器在H5产业生态中的定位目前手机QQ浏览器是市场占有率和活跃度最高的浏览器,月活跃度2.5亿,腾讯将会逐步开放QQ浏览器的
Wesley13 Wesley13
4年前
HTTP 1.1与HTTP 1.0的区别
HTTP1.1与HTTP1.0的比较一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。但是,这也造成了一些性能上的缺陷,例如,一个包含有
Wesley13 Wesley13
4年前
7个获取访问者真实IP的方法,速学!!!
通常情况下,网站访问并不是简单地从用户的浏览器直达服务器,中间可能部署有CDN、WAF、高防。例如,采用这样的架构:“用户CDN/WAF/高防源站服务器”。那么,在经过多层代理之后,服务器如何获取发起请求的真实客户端IP呢?一个透明的代理服务器在把用户的HTTP请求转到下一环节的服务器时,会在HTTP的头部中加入一条“XForwarded
Stella981 Stella981
4年前
Python装饰器用法实例总结
一、装饰器是什么python的装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。简单的说装饰器就是一个用来返回函数的函数。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离