- 博客(427)
- 资源 (7)
- 收藏
- 关注
原创 log4go的使用
1、在github上下载log4go:https://github.com/alecthomas/log4go2、创建log4go.xml配置文件,指定日志输出级别、形式、输出路径:<logging> <filter enabled="true"> <tag>stdout</tag> <type>consol...
2019-05-16 09:38:00 1341
原创 win10 64位操作系统编译x86的go程序
下载go32位的zip格式的sdk,解压到C盘GoX86目录(C:\Go已经存放了64位的sdk),将环境变量中的GOROOT、GOBIN修改位C:\GoX86和C:\GoX86\bin;启动goland,编译64位的程序,从下方的console区域,考出goland生成的编译命令行,并进行修改,调整目录:C:\GoX86\bin\go.exe build -o E:\GoWorkPath...
2019-04-03 20:44:53 2643
原创 golang tcp客户端断开自动恢复实现(附编译为dll,C#调用)
package mainimport ( "bufio" "fmt" "net" "os" "time")func main(){ //开一个goroutine,做连接,并启动接收,如果连接断开,接收报错,则尝试恢复连接 go Link() //来一个goroutine,做心跳,如果不发心跳,拔掉网线不会触发接收异常 go BeatHeart() //在...
2019-04-01 17:20:14 4765 1
原创 Angular7设置Input的disabled属性
在html页面中直接按低版本的方式配置[attr.disabled]="true",不生效,而且运行时按F12可以看到如下警告:It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true when you set up this con...
2019-03-31 16:55:53 13402 1
原创 win10 64位下go编译dll给C#调用
1、首先下载安装mingw-w64-install.exe,安装的时候根据go的架构选择64位或i686,安装后将mingw下的bin加入到PATH环境变量,打开控制台,输入gcc,查看是否安装成功。2、编写go代码:package mainimport "C"import "fmt"//export PrintByefunc PrintBye(){ fmt.Println...
2019-03-23 21:05:10 4180 3
原创 ng-zorro自定义主题
要给现有使用ng-zorro框架的前端项目添加自定义主题,首先将整个前端源码备份。在项目目录下,执行命令行:ng add ng-zorro-antd --theme重新下载ng-zorro-antd后,用ng serve命令启动服务,发现编译错误。找到错误文件app-module.ts,将本文件备份的内容拷贝回来(ng工具有bug,自动插入的内容位置总是错行)。这时启动成功,但运行后发现是...
2019-03-10 10:50:08 2896
原创 go goroutine并发
go语言有非常强大的并发机制,即goroutine。利用匿名函数、通道可以很方便的将同步调用改造成为并发的异步调用。func departTypeQryHandler(writer http.ResponseWriter, request *http.Request) { request.ParseForm() pageIndex := request.Form["pageIndex"]...
2019-03-09 11:51:31 646
原创 gorm连接mssql
package Dalimport ( "github.com/jinzhu/gorm" "fmt" _ "github.com/jinzhu/gorm/dialects/mssql" "flag")type GormUtils struct { Database *gorm.DB}func (o *GormUtils) Connect(){ flag.Parse()...
2019-02-24 21:07:42 3247 2
原创 angular6前端参数配置
使用ng new XXX创建项目后,会在src目录下生成一个environments子目录,其中有两个文件:environment.prod.ts和environment.ts文件。打开两个文件查看,在environment.ts文件中,可以看到如下代码:// This file can be replaced during build by using the `fileReplace...
2019-02-23 21:44:36 642
原创 mongodb go封装
mongodb-go-driver驱动的封装:package Dalimport ( "fmt" "github.com/mongodb/mongo-go-driver/mongo" "context" "time" "github.com/mongodb/mongo-go-driver/bson" "github.com/mongodb/mongo-go-driver/mo...
2019-02-01 22:02:57 3875 2
原创 golang连接MongoDB
在github上下载mongo的驱动(地址:github.com/mongodb/mongo-go-driver/mongo),下载后解压放在$GOROOT/src下,目录为:$GOROOT/src/github.com/mongodb/mongo-go-driver。package Dalimport ( "fmt" "github.com/mongodb/mongo-go-dri...
2019-01-27 20:59:22 4627
原创 C#中的async和await
1、函数内部使用await则函数声明必须使用async;2、await一个任务,则会等待执行完毕,才会继续执行后面的代码,但不阻塞UI界面刷新;3、await一个Task,即启动一个新的线程,并等待线程执行完毕,才继续执行后面的代码;4、await的内容在新线程中执行,执行完毕后,会切换到当前线程继续执行;可使用ConfigureWait方法调整这种行为,后续代码在线程池中执行;5...
2018-12-28 20:37:12 679
原创 go语言中的try、catch、throw实现
func (o *MsSqlUtils) ExecuteSql(cmd string) (err1 error, affected int64) { defer func() { //必须要先声明defer,否则不能捕获到panic异常 if err2 := recover(); err2 != nil { err1 = fmt.Errorf("internal error: %v"...
2018-12-09 13:16:02 8661
原创 C#中使用MongoDB4的事务
Mongo4终于支持事务了,可适用于更多应用场景!连接数据库: private const string connUrl = "mongodb://127.0.0.1:27017"; /// <summary> /// 指定的数据库 /// </summary> private cons...
2018-12-06 16:50:05 3229
翻译 Rx第六部分 测试
测试软件的根源在于调试和推演代码。由于过去的手工测试在很大程度上已经成熟,这些测试试图“破坏应用程序”,现代的质量保证标准需要实现自动化来帮助评估和防止错误。虽然测试专家团队很常见,但是越来越多的程序员期望通过自动化测试套件提供质量保证。到目前为止,我们已经涵盖了Rx的全部知识点,并且我们已经有足够的知识开始使用Rx !尽管如此,许多开发人员还是希望在编写代码前编写测试用例。测试可以用来证明代...
2018-11-10 17:17:24 641
翻译 Rx第五部分--附录
打破事件的神话(Dispelling event myths)本书的前几部分应该为您提供了坚实和广泛的Rx基础。我们将使用这些基础知识来学习Rx真正有趣的,复杂的部分。在此之前,我想先确认一下我们的观点是否一致,消除一些常见的误解。把这些错误的观念带进一个并行的世界,会让事情看起来既神奇又神秘。这通常会导致有问题的代码。The previous parts in this book sho...
2018-11-10 17:01:24 489
翻译 Rx第四部分--并发
Rx是一个可查询异步动态数据的系统。为了高效的提供开发者需要的异步编程功能,需要一定级别的并发控制。我们需要具有为消费者并发地生成序列数据的能力。在本系列文章的最后一篇中,我们将研究运行数据查询时必须考虑的各种并发问题。将研究如何避免使用并发,以及如何正确的使用并发。将看到Rx提供的优异的抽象性,以声明的方式使用并发,并可进行单元测试。在我看来这两个特性足够作为引入Rx的理由。我们将研究并发序...
2018-11-07 20:45:04 742
翻译 Rx第三部分--深入序列
系列文章的第三部分将看一下Rx的除前面提到的简单代码外的其他特性。要构建高质量代码,通常需要处理错误、记录日志、特定场景下重试、释放资源、及在范例中剔除的其他现实问题。本文的目的是让你将Rx当成工具使用,而不仅是一个玩具。如果正确的使用Rx,将会发现代码中很多地方都得到了改善。不要拒绝Rx,就像对IEnumerable拒绝foreach语法、对IDisposable对象拒绝使用using。理解...
2018-11-07 20:43:48 546
翻译 Rx第二部分 – 序列基础
想使用Rx编写代码,如何开始呢?我们学习了Rx的核心类型,也知道不应该自己实现IObserver<T>和IObservable<T>接口,而应该使用工厂方法,也不应该使用Subject类。假如已有一个可观察序列对象,如何获取其发送的数据项呢?我们需要理解如何创建一个可观察序列,如何获取发送的数据,并从中筛选需要的数据项。第二部分我们研究可观察序列的构造和查询。LINQ是...
2018-11-05 21:01:02 535
翻译 Rx使用指南
这是一个编写Rx查询的快速指南列表。This is a list of quick guidelines intended to help you when writing Rx queries.记住返回序列就不应返回null。这适用于IEnumerable<T>和IObservable<T>序列。可返回一个空序列替代。Members that return a ...
2018-11-03 22:45:21 1952
翻译 第一部分 Rx快速入门
核心类型Key types要理解Rx运行机制需要知道两个核心类型及其他辅助类型,有助于更好的学习Rx。IObserver<T>和IObservable<T>是构建Rx的基础,而ISubject<TSource, TResult>接口的实现降低开发者学习Rx的曲线。LinQ的用法与LinQ to Object、LinQ to Sql、LinQ to X...
2018-11-03 22:42:25 1729
翻译 Rx操作符
ReactiveX的各种语言实现都提供了一系列操作符。虽然各种实现版本有很多重叠的功能,但有些操作符仅在特定语言中实现。同样每种语言版本对操作符的命名类似于方法,在其他语言上下文中也基本一致。Each language-specific implementation of ReactiveX implements a set of operators. Although there is mu...
2018-10-31 15:18:53 644
翻译 Scheduler
如果要向相关的Observable操作符引入多线程,可给操作符(或特定Observable对象)指定Scheduler。有些ReactiveX Observable操作符具有带Scheduler参数的变体。指示操作符在特定的Scheduler上下文上执行。默认,Observable及其操作链将会执行其操作,并向观察者发送通知,这些都是在与订阅方法相同的线程上执行。SubscribeOn...
2018-10-28 12:21:10 917
翻译 Subject
Subject在Reactive X中可以看作是观察者和可观察序列的桥或代理。因为它本身就是一个观察者,可以订阅到一个或多个可观察序列,而同时也是一个可观察序列,可以向其观察者重复发送数据,也可以发送新数据。因为Subject订阅到可观察序列,可观察序列发送数据时将其触发(如果可观察序列是冷的,将等待订阅才会发送数据)。这样可以具有将热观察者序列转变为冷观察者序列的效果。A Subject...
2018-10-28 11:13:02 516
翻译 Single
C#版本下Single已经过时,推荐使用C#的async和await语法糖来替代。RxJava(及其派生出的RxGroovy、RxScala)开发了一个Observable变体叫做Single。Single与Observable类似,不同之处在于不再发送数据序列、不发送或发送无数个数据,而是发送一个数据或一个错误通知。因此,Single不再需要订阅到Observable上的三个函数(o...
2018-10-27 19:07:43 621
翻译 可观察序列(Observable)
在ReactiveX中观察者订阅到可观察序列(Observable)。当可观察序列(Observable)发送数据项或数据项序列时观察者得到触发。这种模式促进了并发操作,因为观察者等待发送数据项的过程中无需阻塞,而是为观察者创建一个哨兵,在可观察序列发送数据项时自动触发相应的行为。In ReactiveX an observer subscribes to an Observable. The...
2018-10-21 20:47:51 1272
原创 比对mssql数据库并获取升级脚本
项目开发过程中,根据需求需要对数据库进行调整,升级的时候需要将数据库升级脚本发布到现场进行执行。一般可以人工维护升级脚本,但当结构变化较大的情况下,人工编写升级脚本需要一定的工作量,而且容易出错。如果有一个自动对两个数据库进行比对的工具并生成升级脚本的工具就完美了! 百度了一下,有一些数据库比对工具,可以下载使用,或自己开发一个也可。但是,发现Vs已经为我们提供了这方面的支持,不必自己造...
2018-10-04 22:12:58 786
原创 angular6的等待提示框
安装ngx-loading插件:npm install --save ngx-loading在应用程序的主module中导入ngx-loading模块import {NgxLoadingModule} from 'ngx-loading';...imports:[...NgxLoadingModule...]使用在子页面html模板中加入:<n...
2018-10-02 21:31:52 1747
原创 angular6自定义按钮组件 并实现父子组件间的传值
在控制台输入命令创建一个按钮组件 ng g component bigbutton,cli会自动创建一个BitbuttonComponent组件,提供了html、ts、css文件。修改html、ts、css文件:html内容:<div class='big-btn' (click)='btnClick()'><img src='{{img}}' /><...
2018-09-24 18:52:46 4647 1
原创 ng-zorro菜单测试
ng-zorro支持angular6,提供了很多常用的组件,使用非常方便。这里记录测试ng-zorro菜单过程中遇到的问题。在前端动态生成左侧的菜单栏,卡顿的现象特别严重。经过多次测试,发现与angular的机制有关。angular动态生成界面的内容是通过不断的轮询实现的。如果我们在使用ng-for或ng-if指令生成ui界面时,依赖的数据是实时计算的,而且有些许的耗时,则会卡顿,因为计算数据...
2018-09-09 10:24:09 1293
原创 angular6使用ngx-bootstrap/modal
首先下载ngx-bootstrap:npm install ngx-bootstrap --save下载后,在module.ts中导入ngx-bootstrap/modal类:import { ModalModule } from 'ngx-bootstrap'; imports: [ ... ModelModule, ModalModule.forRoot(...
2018-08-05 19:54:43 6464 1
原创 css布局--header、footer、左侧菜单、多页签、显示区
<html><head> <style type="text/css"> body{ margin:0px; padding:0px; } #header { position:fixed; top:0px; width:100%;...
2018-07-19 09:52:01 5703
翻译 101 Rx Samples
Rx 范例Start 方法- 异步运行代码异步后台操作public static void StartBackgroundWork() { Console.WriteLine("Shows use of Start to start on a background thread:"); var o = Observable.Start(() => { ...
2018-07-06 11:25:00 492
原创 node.js连接redis
从官网下载redis程序(zip压缩包),解压到D:\redis,启动命令行,定位到D:\redis目录,执行redis-server.exe redis.windows.conf,启动redis服务。启动命令行程序,定位到D:\redis目录,执行redis-cli.exe,自动连接到本地服务器,输入 set name 'tom' 回车,输入get name 回车,输出'tom',说明redis...
2018-05-15 16:00:01 1780
原创 node.js连接mongo
下载最新的win版本的mongo安装包,双击安装,默认选项,安装路径为D:\MongoDb。安装后自带一个窗口管理器。在d盘新建目录:D:\Data\DB目录。启动命令行,进入D:\MongoDb\bin目录,输入命令:mongod.exe --dbpath D:\Data\Db,启动服务。打开MongoDB Compass Community工具,可以可视化管理Mongo数据库(dbs)及其中的...
2018-05-15 09:45:13 406
原创 nodejs express库安装测试
安装:npm install -g expressnpm install -g body-parser //获取post参数npm install -g cookie-parsernpm install -g multer //文件上传支持测试代码如下:var express = require("express");var bodyParser = require("body-parse...
2018-04-01 16:32:11 511
原创 nodejs访问mssql数据库
首先下载微软的mssql支持库:npm install -g [email protected] mssql = require("mssql");var user = "sa", password = "masterkey", server = "127.0.0.1", database = "EMacIntf"; var db={}; var config = { user: user,...
2018-03-25 18:43:36 3881
原创 Node.js Windows7配置过程记录
由于官网上提供了Windows的安装包,因此在windows上安装配置Node.js应该很顺利才对,但目前的稳定版8.10安装后npm下载其他模块时报错,提示无法找到相关模块,网上查了一下,由于nodejs和npm的版本不匹配导致。linux下可以降低node的版本后,升级npm版本,再提高node的版本,可解决,但win下没有相应命令行支持。因此下载了nodejs的低版本的安装包v6.9.4,解...
2018-03-24 19:12:02 1089
原创 Delphi不规则窗体实现
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, dxGDIPlusClasses, StdCtrls, Menus, ExtCtrls;type TForm1 = class(TForm) PopupMenu1: TP...
2018-03-21 13:45:50 1122
原创 python excel操作
#coding=utf-8import osimport sysimport xlrd #pip install xlrdfrom xlrd import xldate_as_tupleimport jsonimport timefrom datetime import datetimereload(sys)sys.setdefaultencoding('utf8')relo
2018-01-28 19:05:47 401
DataSnap2010白皮书翻译
2010-03-31
ER/Studio中文教程
2009-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人