每日涉猎技术点存档(2019年01月)

2019年1月28日

软件开发中什么是CI/CD

持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

持续部署(continuous deployment)是通过自动化的构建、测试和部署循环来快速交付高质量的产品

需求纬度方向、需求工具化、内部项目化、外部项目化、过程明确化

持久化透明原则

Persistence Ignorance
Domain objects shouldn't know about persistence concernsuld not be impacted by how they might be persisted. 

1 The principle of Persistence Ignorance (PI) holds that classes modeling the business domain in a software application should not be impacted by how they might be persisted. Thus, their design should reflect as closely as possible the ideal design needed to solve the business problem at hand, and should not be tainted by concerns related to how the objects’ state is saved and later retrieved. Some common violations of Persistence Ignorance include domain objects that must inherit from a particular base class, or which must expose certain properties. Sometimes, the persistence knowledge takes the form of attributes that must be applied to the class, or support for only certain types of collections or property visibility levels. There are degrees of persistence ignorance, with the highest degree being described as Plain Old CLR Objects (POCOs) in .NET, and Plain Old Java Objects (POJOs) in the Java world.
View Code

 

2019年1月26日

高并发事务解决之道

  • 悲观锁 - 数据库表锁或行锁
  • 乐观锁 - 版本控制
  • 同步锁 - 单线程
  • Actor模型 - 行为消息队列(适用跨节点、分布式、高并发)

开发 Docker 容器化应用程序的步骤

 


 

2019年1月25日

如果你需要商业支持,请选择NServiceBus.如果你习惯于在博客,开源社区寻求支持,MassTransit会使一个不错的选择。开发者们非常愿意回答我们提出的问题的。
如果你选择MassTransit,现在你需要选择从MSMQ和RabbitMQ中选择一种作为你的队列服务器。如果你需要DTC 请选择MSMQ。如果你需要更多功能并且更好的管理,请选择RabbitMQ。

在我们的项目中,有两个因素促使我们把NServiceBus迁移到MassTransit:

  • 1、MassTransit 是 免费的
  • 2、我们喜欢RabbitMQ

2019年1月23日

d2-projects/d2-admin

https://github.com/d2-projects/d2-admin

2019年1月22日

virtualbox下载:https://www.virtualbox.org/wiki/Downloads

docker下载:https://hub.docker.com/editions/community/docker-ce-desktop-windows

Hardware assisted virtualization and data execution protection must be enabled in the BIOS  

做个记录,遇到几次了.

Open PowerShell as administrator and

  1. Enable Hyper-V with

    dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

or

  1. Enable Hypervisor with

    bcdedit /set hypervisorlaunchtype auto

Now restart the system and try again.

DXF:

DXF是AutoCAD(Drawing Interchange Format或者Drawing Exchange Format) 绘图交换文件。DXF 是Autodesk(欧特克)公司开发的用于AutoCAD与其它软件之间进行CAD数据交换的CAD数据文件格式。

2019年1月19日

IIS 做负载均衡最好是用Windows Server 自带的组件NLB

1、为什么Niginx在windows下性能不好
因为Nginx的高性能是依赖Linux的Epoll,而windows没有Epoll而是使用了其他,因此Nginx在windows下性能不太好。

2、NLB和Nginx的区别
NLB和LVS是同一种级别的,工作在低层协议;Nginx工作在高层协议;两者之间无论效率还是作用都不是同一种级别的。

3、NLB与IIS
NLB是工作在低层协议,因此跟IIS没有太大关联。正确的应该说,NLB可以给所有使用上层协议的软件负载均衡功能。而IIS本身自己页游负载均衡模块(自己百度查查)

推荐你看看这个系列(讲LVS的,跟NLB有异曲同工):
http://jhonge.net/Home/Index/1/272

2019年1月18日

 里氏替换原则:所有引用基类的地方必须能透明地使用其子类的对象。

LSP 原则最重要的一点就是:避免子类重写父类中已经实现的方法。这就是 LSP 原则的本质。父类已经实现的方法,子类应该避免再对其进行重写,如果需要增加个性化,就应该对父类进行扩展,而不是重写,否则也会违背开闭原则。

2019年1月16日

中国人最常用的UML工具介绍和评价

  • Rational Rose。大名鼎鼎,史上最有名、最无可替代的UML产品,以至于,大多数将之等同于UML工具,正如将可乐等同于可口可乐。需要指出的是,自从 Rational被IBM收购之后,Rational Rose已经成为历史,作为UML1.4标准的产物,现在已经不升级。其替代品是IBM的其他产品,如IBM RSA, RSD等。
  • IBM Rational RSA。无可置疑,IBM的旗舰产品,通过和IBM其他产品的协调,支持软件开发的全生命周期开发。唯一的缺陷,是出奇的笨重,和出奇的庞杂昂贵(不唯一了?)。
  • Trufun Kant Studio。作为国产唯一的UML工具,据说是最易用的UML工具,目前在国内大多数高校取得了广泛的应用。对企业和高校而言,其最独特的杀伤性武器是 支持广泛实用性强,而且帮助企业引入TUP实训和咨询,一步到位解决产品和具体应用问题。
  • EA。EA的特点就是没特点,除了便宜和好像要啥有啥外,没有让人印象深刻的地方,可能这就是低价产品之道。说起来,倒像我曾经呆过的系统集成企业,招标时,没有我不会做的,没有比我更便宜的,呵呵。
  • StarUML。用Delphi能做到这种程度,StarUML作者绝对是个Delphi牛人,只可惜此开源项目不知为何中止,可惜啊。如果能够继续的话,估计其他UML工具都没有活路了。

其他还有一些不太常用的,以后有时间再说,如ArgoUML, PowerDesigner, Visual UML等。

  • EA:Enterprise Architect 是Sparx Systems 公司的旗舰产品。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等

2019年1月14日

xiaoquzu.com

shequx.com

zuzaijia.com

linlizu.com

2019年1月11日

财务共享中心

 

2019年01月10日

笔记本:97YGYN

组管理:所有组类型都产生一个不可见根,用于组配置

OLAP:联机分析处理

APS》MES (线控系统进行反向提供)

APS预生产,100个生产计划,最优,参数,反向调整

Events》Logs

2019年01月07日

1、.net core微服务:Consul、IdentityServer、Ocelot等技术用于开发微服务

2、Emit实现动态代理

  • Dynamic Interface Implementation
  • Dynamic Proxy Creation Using C# Emit
  • DuckTyping: Runtime Dynamic Interface Implementation,
    • 运行时在对象上动态添加一个接口,对象必须有接口对应属性方法,
  • Dynamic typing (DuckTyping) implementation for .NET.
posted @ 2019-01-10 10:19  读喜爱  阅读(225)  评论(0编辑  收藏  举报