自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

转载 修改linux文件权限命令:chmod

转载地址:http://www.cnblogs.com/avril/archive/2010/03/23/1692809.htmlLinux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。  文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允

2017-02-28 11:35:11 321

原创 Linux命令学习

上学的时候学习过几个月的linux,当时觉得这个东西没得鸟用,如今后悔不已,做软件的,了解一些linux的原理,对自己肯定会有好处的。

2017-02-27 14:40:25 253

原创 开闭原则

开关原则 遵循开闭原则设计出的模块具有两个主要特征:[1] (1)对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们可以改变模块的功能。 (2)对于修改是关闭的(Closed for modification)。对模块行为进行扩展时,不必改动模块的源代码或

2017-02-27 14:33:22 266

原创 迪米特法则

迪米特法则 迪米特法则(Law of Demeter)又叫作最少知道原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.百度百科小路完成了接口隔离,就主动上网开始查询一些设计原则,今天终于学到了迪米特法则。迪米特法则就是尽量减少间接引用,可是这就是如此的抽象,该如何理解呢?那就让我想起了另外

2017-02-27 14:30:41 301

原创 接口隔离原则

接口隔离原则 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。百度百科在这里不想问为什么会存在接口隔离原则了,因为存在集合了,借用我们初中几何老师的一句话:“不要问我为什么,当你这样做了(辅助线)你就明白这样是对的。”今天我们的故事增加一个主角吧,他叫小艾路,一下简称小路。小路已经大学毕业了,进入了一家小型的创业企业,在开发过程中深信一切都要抽象的原则,在新的项目

2017-02-27 14:18:04 315

原创 依赖倒置原则

依赖倒置原则 依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。百度百科为什么会出现这个原则呢? QTMD~! 所有的一切都源于变化,现在ORM足够强大了,看一下他的源码也会发现,工厂、接口的使用都是为了更好的扩展。举个简单的例子

2017-02-27 14:06:54 383

原创 里氏替换原则

里氏替换原则 里氏替换原则,OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。“抽象”是语言提供的功能。“多态”由继承语义实现。百度百科 ps:完全晕了+_+为什么会出现这个原则呢?问题由来:有一功能P1,由类A完成。现需要将功能P1进行扩展,扩展后的功能为P,其中P由原有功能P1与

2017-02-14 09:52:00 431

原创 单一职责原则

单一职能原则 单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出的。马丁表示此原则是基于汤姆·狄马克(Tom DeMarco)和Meilir Page-Jon

2017-02-10 16:59:53 535

原创 设计原则【目录】

任你设计模式多变化,设计原则都是根。

2017-02-09 10:38:20 379

原创 三十岁系列

而立之年重拾学子之心,回首往事,皆在混沌之中,读书明己心,亦明是非。

2017-02-08 11:25:15 518

winform提供webapi服务,实现双向http通信

@[TOP](Winform程序开启Web服务) # 背景 在很久以前为了满足需求,已经开发了一款winform程序,并且是4.6.1版本的,如今为了和第三方对接,需要在这个winform上提供WebAPI的接口。因为第三方的程序是一份没有源码的程序。 # 思路 ## 方法1 - 网上有很多自写web服务的功能,个人觉得过于麻烦,而且还要考虑一些路由规则什么的,太难了 ## 方法2 - 使用iis或者nginx提供服务,一个web程序和一个winform程序实现通信,需要做两个程序,还要交互,麻烦 ## 方法3(本文使用的方法) 考虑4.6.1 版本刚好支持了netcore,所以可以将kestrel服务集成到winform中,直接提供webapi服务 # 实现 ## 在winform程序中引入几个nuget包 Microsoft.AspNetCore Version="2.1.7" Microsoft.AspNetCore.Mvc Version="2.1.3" 在使用nuget引入的时候会将关联的全部引入进来,完整的packages.config文件如下

2023-04-25

自动更新apk,xamarin.android 对话框

@[TOC] # 思路 - 服务端提供版本信息和apk下载地址 - 客户端通过对比版本进行文件下载安装升级 # 客户端 ## 权限清单(AndroidManifest.xml) ```xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0.2" package="com.companyname.boshiac.forklift.app" android:installLocation="auto"> <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="33" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="

2023-02-19

Kestrel封装成WindowServer.zip

背景 在一些开发过程中,会在局域网内搭建webapi服务作为移动端的服务接口使用,但是每次实施人员要到客户现场安装iis等工具,还有一些web的配置,非常繁琐,所以想着把webapi封装到WindowService中,可以通过自定义的安装程序进行一键部署,岂不美哉! 这篇文章主要是记录如何将Kestrel的服务封装在WindowService中 关于WindowsServer 请参考如下这篇文章 .netcore worker service (辅助角色服务) 的上手入门,包含linux和windows服务部署 开发服务 之前做过.net5版本的处理,觉得挺简单的,但是到.net6的时候遇到了一些问题,所以下面都会记录 .NET5版本 建项目 新建一个webapi项目,如下图 添加Controller using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace WebApiNet_v5.Controllers { [Route("api/[controller]")]

2023-01-10

C# NModbus 操作

# Modbus 协议简介 Modbus通信协议具有多个变种,支持串口(主要是RS-485总线),以太网多个版本,其中最著名的是Modbus RTU,Modbus ASCII 和Modbus TCP三种。在工业现场一般都是采用Modbus RTU协议,一般大家说的基于串口通信的Modbus通信协议都是指Modbus RTU通信协议。 与Modbus RTU协议相比较,Modbus TCP协议则是在RTU协议上加一个MBAP报文头,并且由于TCP是基于可靠连接的服务,RTU协议中的 CRC校验码就不再需要,所以在Modbus TCP协议中是没有CRC校验码的,所以就常用一句比较通俗的话来说:Modbus TCP协议就是 Modbus RTU协议在前面加上五个0以及一个6,然后去掉两个CRC校验码字节就OK。虽然这句话说得不是特别准确,但是也基本上把RTU与TCP 之间的区别说得比较清楚了。 ## Modbus的功能码 |功能码 | 含义 | |--|--| | 0x01 |读线圈 | | 0x02 |读离散量输入 | | 0x03|读保持寄存器 | | 0x04

2022-11-17

C# 文件压缩解压与sqlite存储文件数据

使用C#对文件进行压缩和解压操作,并且将压缩的文件数据存储到sqlite中。在使用的时候将sqlite中的文件数据读取下来,进行解压到本地进行二次操作。 用途:用于文件存储与部署操作等。

2022-11-17

libssl-1_1-x64.dll

解决这个问题的dll 无法定位程序输入点 OPENSSL_sk_new_reserve 于动态链接库 xxx\libssl-1_1-x64.dll

2020-05-19

ORACLE与SQLSERVER中的语法区别

详细的描述了ORACLE和SQLSERVER中部分方法的区别和使用中遇到的坑

2015-10-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除