20211029

MyNikko.com 微處理器博物館 - Intel CPU Museumhttps://www.mynikko.com/CPU/index.html

20211021

阿里开源的这个库,让 Excel 导出不再复杂(填充模板的使用指南)你好,我是看山。前文说了写操作,可以实现简单的列表导出,还能定义样式。有时候,我们还需要导出的一个大表单,或者是表单+列表的形式,这个时候,我们就需要填充功能。内容比较多,文内只会列出关键代码,想要完整源码,可以关注公号「看山的小屋」回复“easyexcel”获取。在 EasyExcel 中,写操作可以完成大部分工作,填充的优势在于,可以实现自定义样式的,只要在模板中设置好样式,填充的数据就能够带https://xie.infoq.cn/article/97a373bcdcf973664e635ab40

可以从横向和纵向来看待低代码平台带来的作用。
 
横向:强调低代码平台的通用性,是否支持所见即所得,是否支持更复杂的模版,是否支持二次开发。面向不同的用户,则需要不同的能力。例如,面向运营同学使用的营销低代码平台,就会更加依赖所见即所得编辑能力和开箱即用的营销活动模版,使得非技术的业务人员也能方便的使用。
 
低代码平台的持续运营需要依赖标准化。通过抽象组件规范,定制组件交互,实现不同人开发的组件都满足统一的协议。低代码平台通过编排组件,使业务运转起来。
 
通常,标准化是比较难执行和推广的,随着团队人员更迭,成本往往越来越高。同时,标准化也是反人性的,用条条框框约束人,且没有对错可言,它带来了不自由,不灵活,易引起抵触情绪。只有低代码平台带来降本增效收益能够大于标准化所带来的“烦恼”,标准化才具备广泛推广的价值。
 
从平台生态的角度考虑,低代码平台需要强管控,把一些质量不高的组件挡在外面,否则一样会影响整个平台的口碑。这里要强调一下,好的管控不是靠人来实现的,而是靠技术手段来实现的。
 
纵向:强调的是领域内的业务纵深,比如专注于商品或者供应链等业务领域的前端组件。它们本身对其他业务没有帮助,但在其领域内可以带来极高的价值。
 
抽象领域内的组件往往需要对业务有深入的理解,并且对业务的“变”与“不变”有深入的思考和判断,这样才能做好判断,抽象和沉淀最体现业务本质的组件。

专访梁士兴:如何巧用低代码平台,避免研发怨声载道-InfoQ低代码一定程度上是把可复用的功能/模块粒度更细化,体积更小,便于引用。其次是可以把应用组件、视觉交互等标准化,便于协作。 因为一个低代码不可能解决所有的业务问题,业务与业务之间千差万别,如果拽过来一个组件,其定制的代码比组件的代码量还多,那样就没意义了。 可以从横向和纵向来看待低代码平台带来的作用。 横向:强调低代码平台的通用性,是否支持所见即所得,是否支持更复杂的模版,是否支持二次开发。面向不同https://www.infoq.cn/article/sPABHwKCYkMzLFmYtAxJ

通过 Jenkins Pipeline 与 SonarQube 集成,对代码进行扫描

代码质量管理:SonarQube + Jenkins Pipeline配置你好,我是看山。前段时间对自己的项目进行代码质量扫描,曾经以为自己的代码质量算是不错的,结果发现一堆的 bug 或者 smell code,灵魂受到 1w 点伤害。可以想到,在时间紧、任务重的情况下,代码质量绝对是不能够保证的,虽然功能算是完整,但是可能就在某个隐藏的角落,就有无数的 bug 在潜伏着,所以有时间的话都对自己的代码进行代码质量检查吧。虽然不能保证有完美的代码,但是可以把 bug 数https://xie.infoq.cn/article/3dce5ca6c888f890937b16e6e

heap dump 生产 jvm 快照,通过分析快照找到占用内存大的对象,从而找到代码位置。

通过设置-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heapdump参数来生产快照

20211019

就WINDOWS端的加速原理来说,可以用7个步骤来解释:

  • 客户端访问https://github.com
  • 客户端向dns查询github.com的ip,FastGithub拦截dns数据包并伪造解析结果为127.0.0.1
  • 客户端请求到FastGithub的https://127.0.0.1:443
  • FastGithub使用fastgithub.cer颁发服务器证书给客户端
  • FastGithub查询和计算github.com最快的ip
  • FastGithub与github.com进行无sni的tls连接
  • FastGithub将请求反向代理到https://github.com

https://github.com/dotnetcore/FastGithub/https://github.com/dotnetcore/FastGithub/

20211018

Spring 提供的 ResolvableType API,提供了更加简单易用的泛型操作支持

sping激活profile写测试用例时,可以指定我们使用哪个 Profile:
@ActiveProfiles("remote")
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations =  "classpath:spring-config.xml")
public class ServiceTest {@Autowiredprivate UserService userService;
}

业务类

public abstract class UserService extends BaseService<User> { }@Profile("local")
@Service
public class LocalUserService extends UserService {}@Profile("remote")
@Service
public class RemoteUserService extends UserService {}

Spring 对 Java8 的时间类型支持

对 jsr310 的支持,只要能发现 java.time.LocalDate,DefaultFormattingConversionService 就会自动注册对 jsr310 的支持,只需要在实体/Bean 上使用 DateTimeFormat 注解:

class Entity{@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTime;@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate date;@DateTimeFormat(pattern = "HH:mm:ss")
private LocalTime time;

}

@RequestMapping("/test")public String test(@ModelAttribute("entity") Entity entity) {    return "test";}

当前端页面请求:

localhost:9080/spring4/test?dateTime=2013-11-11 11:11:11&date=2013-11-11&time=12:12:12

会自动进行类型转换

另外 spring4 也提供了对 TimeZone 的支持,比如在 springmvc 中注册了 LocaleContextResolver 相应实现的话(如 CookieLocaleResolver),我们就可以使用如下两种方式得到相应的 TimeZone:

RequestContextUtils.getTimeZone(request)LocaleContextHolder.getTimeZone()

不过目前的缺点是不能像 Local 那样自动的根据当前请求得到相应的 TimeZone,如果需要这种功能需要覆盖相应的如 CookieLocaleResolver 中的如下方法来得到:

protected TimeZone determineDefaultTimeZone(HttpServletRequest request) {      return getDefaultTimeZone();  } 
  • 另外还提供了 DateTimeContextHolder,其用于线程绑定 DateTimeContext;而 DateTimeContext 提供了如:Chronology、ZoneId、DateTimeFormatter 等上下文数据,如果需要这种上下文信息的话,可以使用这个 API 进行绑定。

  • 比如在进行日期格式化时,就会去查找相应的 DateTimeFormatter,因此如果想自定义相应的格式化格式,那么使用 DateTimeContextHolder 绑定即可。

一些可以参考的文档集合1相关推荐

  1. 一些可以参考的文档集合10

    之前的文章集合: 一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客 一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合3_xuej ...

  2. 一些可以参考的文档集合9

    之前的文章集合: 一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客 一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合3_xuej ...

  3. 一些可以参考的文档集合7

    之前的文章集合: 一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客 一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合3_xuej ...

  4. 一些可以参考的文档集合8

    一些可以参考的文档集合7_xuejianxinokok的博客-CSDN博客 之前的文章集合: 一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客 一些可以参考文章集合2_xuej ...

  5. 一些可以参考的文档集合11

    之前的文章集合: 一些可以参考文章集合1_xuejianxinokok的博客-CSDN博客 一些可以参考文章集合2_xuejianxinokok的博客-CSDN博客 一些可以参考的文档集合3_xuej ...

  6. 一些可以参考的文档集合4

    20220523 RabbitMQ 的五种消息模型_RabbitMQ_Ayue._InfoQ写作社区RabbitMQ 提供了 6 种消息模型,但常用的是前面 5 种,第 6 种实际上为RPC,所以一般 ...

  7. 一些可以参考的文档集合3

    20220419 java18 向量API https://openjdk.java.net/jeps/417https://openjdk.java.net/jeps/417 java虚拟线程用户级 ...

  8. unity3d 脚本参考-技术文档

    unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...

  9. 清软英泰plm服务器安装文档,操作文档集合 (安装和管理 AnswerBook2 服务器 - zh)

    操作文档集合 AnswerBook2 集合 是一个逻辑书组.例如,您可有一个包括所有 SolarisTM 面向开发者的书的集合.此集合可能是一个 AnswerBook2 (SGML) 集合或一个 An ...

最新文章

  1. 机器视觉-EasyDL商品检测-标准版-Demo
  2. 联合权值 NOIP2014 提高组 Day1 T2
  3. 2004-5-12+ 用DataSet实现分页
  4. 命令提示符_基本介绍
  5. Script:Collect vip resource Diagnostic Information
  6. how is AppointmentList.view being loaded in the runtime
  7. 大数据学习——akka自定义RPC
  8. 【算法分析与设计】辗转相除法
  9. 阿里计算平台掌门人贾扬清:我对人工智能方向的一点浅见
  10. C++——必须使用复制构造函数的情况
  11. 状态(State)模式
  12. Python捕捉命令输出、错误输出及赋值命令到变量的方法
  13. 机器学习单词记录--02章单变量相性回归
  14. 隐藏input的光标
  15. 数据挖掘学习之路一:数据挖掘认识
  16. [ 笔记 ] 计算机网络安全_4_网络扫描和网络监听
  17. 计算机论文注释范例,论文的注释怎么加(范例解读)
  18. 【转】高通平台android 环境配置编译及开发经验总结
  19. html+dfn标签,HTML DOM DFN用法及代码示例
  20. 用UNetbootin 制作Linux 安装U盘

热门文章

  1. 【用Cocos Creator给暗恋的女生写一个游戏(8)】——(Run Game) Prefab的动态管理
  2. IPX3 IPX4防护等级试验箱参数计量校准
  3. 锐捷云课堂计算机教室,锐捷云课堂2.0 计算机教学的专属云
  4. 教你查询跟踪多个快递单号物流的更新量
  5. linux下的c++filt命令
  6. 微信8.0搞笑视频合集网盘下载 怎么设置8.0状态教程攻略分享
  7. STM32入门笔记(03):系统时钟控制 RCC (STM32CubeMx 初始化配置)
  8. windows渗透测试
  9. 我们喜欢技术、产品与创业相关的新闻、资讯和文章;我们喜欢真正有意思、有价值的内容;我们不求多,但求精。...
  10. 有一行电文,已按下面规律译成密码: A →Z B →Y C →X …… a →z b →y c →x …… 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,