学习笔记

探索 Reflect.apply 与 Function.prototype.apply 的区别

 众所周知, ES6 新增了一个全局、内建、不可构造的 Reflect 对象,并提供了其下一系列可被拦截的操作方法。其中一个便是 Reflect.apply()了。下面探究下它与传统 ES5 的 Function.prototype.apply() 之间有什么异同。...

使用FastReport报表工具生成图片格式文档

之前我在随笔《使用FastReport报表工具生成报表PDF文档》介绍过使用FastReport.Net来根据报表模板进行生成PDF,以及随笔《使用FastReport报表工具生成标签打印文档》介绍过生成标签文档的处理,基本上都是基于模板进行生成PDF的做法,由于PDF在手机端显示总是觉得不那么方便,不管使用pdfjs或者直接打开PDF,都不太令客户满意,客户希望直接展示图片的方式显示。本篇随笔介绍如何使用FastReport.Net来直接生成报表格式的图片文件。 1、报表模板及数据绑定处理 FastReport.Net是一款适用于Windows Forms, ASP.NET和MVC框架的功能齐全的报表分析解决方案。之前使用直接生成PDF的方式构建报表文档,如下效果所示。 ...

Kotlin协程通信机制: Channel

Coroutines Channels Java中的多线程通信, 总会涉及到共享状态(shared mutable state)的读写, 有同步, 死锁等问题要处理. 协程中的Channel用于协程间的通信, 它的宗旨是: Do not communicate by sharing memory; instead, share memory by communicating. Channel basics channels用于协程间的通信, 允许我们在不同的协程间传递数据(a stream of values). ...

JDK动态代理和CGLIB字节码增强

阅读目录 一、JDK动态代理 二、CGLIB动态代理 三、总结 回到顶部 一、JDK动态代理 Java 在 java.lang.reflect 包中有自己的代理支持,该类(Proxy.java)用于动态生成代理类,只需传入目标接口、目标接口的类加载器以及 InvocationHandler 便可为目标接口生成代理类及代理对象。我们称这个Java技术为:动态代理 @CallerSensitive public static Object newProxyInstance(ClassLoader loader, ...

在Kubernetes上运行有状态应用:从StatefulSet到Operator

   一开始Kubernetes只是被设计用来运行无状态应用,直到在1.5版本中才添加了StatefulSet控制器用于支持有状态应用,但它直到1.9版本才正式可用。本文将介绍有状态和无状态应用,一个通过K8S StatefulSet来编排有状态应用的示例,以及当前有状态应用容器化现状及将来的发展趋势。...

OAuth 2.0 概念及授权流程梳理

阅读目录 OAuth2 的概念 OAuth2授权模式 授权码模式(Authorization Code Grant) 隐式授权模式(Implicit Grant) 密码模式(Resource Owner Password Credentials Grant) 客户端模式(Client Credentials Grant) OAuth2授权模式的选型 后记 本文可以转载,但请注明出处https://www.cnblogs.com/hellxz/p/oauth2_process.html OAuth2 的概念 ...

科学使用Log4View2

目录 目录 前言 科学使用 编辑和调试程序集 调试程序集 编辑程序集 结语 推荐文献 目录 NLog日志框架使用探究-1 NLog日志框架使用探究-2 科学使用Log4View2 前言 这个标题很低调吧,但是既然你点进来,那么接下来的干货是属于你的。 不想成为黑客的程序员不是好程序员。在上一篇《NLog日志框架使用探究-2》文章提到了Log4View2工具有30天的试用期,超过试用期许多功能就被限制,比如不能使用数据库加载。那么我们如何科学使用它呢? 本篇文章涉及到反编译技术、对称加密技术、IL中间语言等技术。掌握了这些技术之后你会发现原来自己也能更加科学的使用软件。 ...

Python大神必须掌握的技能:多继承、super与MRO算法

本文主要以Python3.x为例讲解Python多继承、super以及MRO算法。 1. Python中的继承 任何面向对象编程语言都会支持继承,Python也不例外。但Python语言却是少数几个支持多继承的面向对象编程语言(另一个著名的支持多继承的编程语言是C++)。本文将深入阐述Python多继承中经常用到的super,并且会展示一个你所不知道的super。 相信继承的概念大家一定不会陌生。当类B从类A继承后,B类就会继承A类的所有非私有成员(由于Python没有私有成员的概念,所以B类就会继承A类的所有成员)。但有时需要在B类中直接访问A类的成员,也就是子类需要调用父类的成员,在这种情况下,有如下两种方法可以解决: ...

Apache Thrift 的魅力

因为最近在项目中需要集成进来一个Python编写的机器学习算法,但是我的后端主要使用的是SpringCloud技术栈. 于是面临着异构语言之间的通信实现方式的抉择. 因为业务逻辑是这样的 业务需求 主要就是实现2-3这部分请求响应, 实现的方式挺多的, 只要有能力甚至将py封装成一个WebServer对外提供服务, 或者是选择使用消息中间件, 但是大部分消息中间的通信模型都是单向的,即发布订阅, 不过也能实现上面的业务需求 项目中一开始的实现其实是像下面这样的, 选择简单粗暴直接使用socket编程实现, py用socket写一个服务端, java用socket实现客户端, 双方之间实现异构通信, 就像下面代码的两段,在本地运行的话双方通信的速度还可以,但是当我将他制作成docket镜像打包发布到线上时, 双方的通信竟然需要9s ...

《手把手教你》系列练习篇之4-python+ selenium自动化测试(详细教程)

1. 简介   今天我们继续前边的练习,学习和练习一下:如何使用webdriver方法获取当前测试页面的URL、如何获取当前页面的title、如何打开浏览器的一个新建页面、如何操作单选按钮等等,这些小练习,来巩固基础。 2. webdriver方法获取当前测试页面的URL   本小节介绍如何通过webdriver方法获取当前测试页面的URL。获取当前URL有什么用处呢,一般URL可以帮助我们判断跳转的页面是否正确,或者URL中部分字段可以作为我们自动化测试脚本期待结果的一部分。因为这里作为练习宏哥在这里提一下,为的是就 ...

SpringCloud Alibaba微服务实战一 - 基础环境准备

Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备。 该系列文章内容主要基于三个微服务:用户服务AccountService,订单服务OrderService,产品服务ProductService 用到的组件有: 注册中心、配置中心 Nacos 限流 Sentinel 分布式事务 Seata 网关 SpringCloud Gateway 认证授权 Spring Cloud Oauth2 ...

NET Core 跨平台 GUI 开发之 GTtkSharp 初级篇

NET Core 跨平台 GUI 开发之 GTtkSharp 初级篇 本文作为初级篇,适合已经安装好.NET Core 环境以及 Gtk 环境,并具备了 C#开发基础知识,能跑一些简单的例子,希望更深入了解开发 GTK 程序的同学。本文主要内容包括 GTK 的深入介绍、界面布局、响应式编程等 参考 1:x11 gtk qt gnome kde 之间的区别和联系(最后有图) https://blog.csdn.net/lanmayi003/article/details/6584521 参考 2:x11 gtk qt gnome kde 之间的区别和联系(讲得很明白) https://blog.csdn.net/zhanglianpin/article/details/6441879 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程