学习笔记

AOP框架Dora.Interception 3.0 [5]: 基于策略的拦截器注册方式

注册拦截器旨在解决如何将拦截器应用到目标方法的问题。在我看来,针对拦截器的注册应该是明确而精准的,也就是我们提供的注册方式应该让拦截器准确地应用到期望的目标方法上,不能多也不能少。如果注册的方式过于模糊,很容易将拦截器应用到非目标方法上。按照这个原则,一些AOP框架提供的针对类型命名空间、类型或者成员名称前(后)缀的拦截器映射策略其实都是不严谨的。Dora.Interception只提供两种严谨的拦截器注册方式,一种前面介绍的针对特性标注的方式,另一种就是本篇介绍的针对策略的方式。 一、AddPolicy ...

sql查询入门

 SQL语言是一门相对来说简单易学却又功能强大的语言,它能让你快速上手并很快就能写出比较复杂的查询语句。但是对于大多数开发者来说,使用SQL语句查询数据库的时候,如果没有一个抽象的过程和一个合理的步骤,很可能会在写一些特定的SQL查询语句来解决特定问题的时候被卡住。...

掌握设计模式之策略模式

前言 最近段时间,接到一个需求:开发一个聚合支付服务,对其他内部项目提供统一的接口来实现不同支付平台的支付能力发起,比如支付宝,微信,银联等。为了处理相似的支付操作而各平台具体实现不同的情况,要让各个平台接口能力能相互独立,并要方便扩展后续新增的支付平台,我引入了设计模式的策略模式来应对需求场景,借此深入学习总结下策略模式,于是也就有了本文,希望对学习策略模式的同学有所帮助。 为什么需要策略模式 日常工作开发中我们总会遇到如下熟悉的代码片段: if(condition1){ // do something1 ...

SpringBoot生命周期管理之停掉应用服务几种方法

前言 在生产环境下管理Spring Boot应用的生命周期非常重要。Spring容器通过ApplicationContext处理应用服务的所有的beans的创建、初始化、销毁。 本文着重于生命周期中的销毁阶段的处理,我将使用多种方式来实现关闭Spring Boot应用服务。如果你需要了解关于Spring Boot更多内容,请看我之前写过的文章和精品合辑! 一、通过Actuator Shutdown 端点服务 Spring Boot Actuator是一个主要用于应用指标监控和健康检查的服务。可以通过Http访问对应的Endpoint来获取应用的健康及指标信息。另外,它还提供了一个远程通过http实现应用shutdown的端点。 ...

Vue躬行记(4)——组件

组件是可复用的Vue实例,拥有属于自己的数据、模板、脚本和样式,可避免繁重的重复性开发。由于组件都是独立的,因此其内部代码不会影响其它组件,但可以包含其它组件,并且相互之间还能通信。 一、注册   在使用组件之前,需要先将其注册,Vue提供了两种注册方式:全局注册和局部注册。 1)全局注册   通过Vue.component()方法可注册全局的组件,它能接收两个参数,第一个是组件名称,第二个既可以是扩展过的构造器(即Vue.extend()的返回值),也可以是选项对象(会自动调用Vue.extend()),如下所示。 ...

基于 HTML5 Canvas 的楼宇自控系统

 前言楼宇自控是指楼宇中电力设备,如电梯、水泵、风机、空调等,其主要工作性质是强电驱动。通常这些设备是开放性的工作状态,也就是说没有形成一个闭环回路。只要接通电源,设备就在工作,至于工作状态、进程、能耗等,无法在线及时得到数据,更谈不上合理使用和节约能源。现在楼宇自控是将上述的电器设备进行在线监控,通过设置相应的传感器、行程开关、光电控制等,对设备的工作状态进行检测,并通过线路返回控制机房的中心电脑,由电脑得出分析结果,再返回到设备终端进行调解。...

《HelloGitHub》第 43 期

兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣、入门级的开源项目。 这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。 会编程的可以贡献代码 不会编程的可以反馈使用这些工具中的 Bug 帮着宣传你觉得优秀的项目 Star 项目⭐️ 在浏览、参与这些项目的过程中,你将学习到更多编程知识、提高编程技巧、找到编程的乐趣。 ...

.NET中国开发者峰会11.9 下午分会场1 内容解析

China .NET Conf 2019中国 .NET 开发者峰会即将在上海召开,这次大会是一届完全由社区组织举办的中国.NET 开发者盛会,我们筹备大会之初就定下了大会的主题是“开源、共享、创新”。 clip_image002 这次完全由中国.NET社区自发组织的大会,我们希望通过这次大会汇聚中国.NET社区的能量,.NET的刷新也包括我们自己的刷新。微软在2014年开始的自我刷新,成就如今万亿市值的微软,.NET的刷新成就匹敌现今主流开源开发平台,.NET 目前也是github 最活跃的开源开发平台项目,据CNCF的博客《The 30 Highest Velocity Open Source Projects》, .NET Core是唯一一个Github 上Top 30的开发平台。 ...

.NET如何将字符串分隔为字符

 .NET如何将字符串分隔为字符如果这是一道面试题,答案也许非常简单:.ToCharArray(),这基本正确……...

Python小工具:利用ffmpy3库3秒钟将视频转换为音频

作者 | pk 哥 来源公众号 | Python知识圈(ID:PythonCircle) 最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了。 这样,对于有些视频学习文件,我们可以批量转换成音频文件,学习方式更多样化了。 之前也用过 ffmpeg 处理视频文件。ffmpeg 这个程序处理视频是好用,但是有没有更轻便的呢?可以不下载这个程序吗? 还真有,Python 里有 ffmpeg 相关的库:ffmpy3。 ffmpy3 是 ffmpy 的一个分支,它是一个简单的 FFmpeg 命令行包装程序。ffmpy 实现了一个 Pythonic 接口,用于通过命令行执行 FFmpeg,并使用 Python 的子进程模块进行同步执行。使用 Python 的 asyncio.subprocess 模块也支持异步执行。 ...

Spring Boot入门(二):获取配置文件值

本篇博客主要讲解下在Spring Boot中如何获取配置文件的值。 1. 使用yaml配置文件 Spring Boot默认生成的配置文件为application.properties,不过它也支持yaml语言的配置文件, 两者之间的差别并不是很大,只是yaml语言的配置文件层次结构更明显,可读性更强,因此目前使用的更多一些。 我们假设本来application.properties的配置为: spring.main.banner-mode=off 那么如何将配置文件切换为application.yml呢? ...
青岛软件培训

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

申请免费试听课程