2016年12月17日
摘要:一、安装docker。 请参考:http://www.cnblogs.com/hehexiaoxia/p/6150584.html 二、编写dockerfile。 #在根目录下创建dockerfile。 三、通过dockerfile生成image镜像。 $ sudo docker build -t ubuntu/mongo:latest - 阅读全文
posted @ 2016-12-17 18:02 赫赫小虾 阅读(8311) 评论(0) 推荐(2) 编辑
  2016年12月9日
摘要:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用。所以需要确保Ubuntu的版本是64位。 apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 阅读全文
posted @ 2016-12-09 17:55 赫赫小虾 阅读(7422) 评论(0) 推荐(0) 编辑
  2016年10月18日
摘要:在Win7、Win8、Win10系统中,以管理员身份运行程序很麻烦,一般有以下几种方式: 1、在可执行程序或快捷方式上右键,以管理员身份运行; 2、在可执行程序或快捷方式上右键->属性->兼容性->勾选以管理员身份运行选项->确定; 3、修改安全策略,这也是一劳永逸的方式,使当前用户的所有操作以管理员身份进行,不进行询问。 本文中主要对第三种方式进行详细说明。 阅读全文
posted @ 2016-10-18 16:33 赫赫小虾 阅读(18494) 评论(1) 推荐(0) 编辑
  2016年1月27日
摘要:1、检查扬声器和驱动程序。 测试方法:首先,应用Windows Media Player播放器播放,看是否有问题,如果有问题,基本断定是驱动程序问题。其次,点击扬声器,选择测试,查看扬声器是否好用,如果不好用,基本断定是驱动程序问题。 解决方案:重装驱动程序。 注:一定要应用该驱动来播放,不要安装了好几个扬声器,如果选择错了,就会走很多弯路。 2、只有在程序中播放有问题。 首先,检查MediaPlayer实例的作用域,如果MediaPlayer是局部变量,出了作用域,系统垃圾回收的时候,就会回收,不论播放是否完成。 其次,检查MediaPlayer全局变量new完之后,在其他地方又new了,这样原来的实例,在系统垃圾回收的时候,被回收。 再次,如果想同时播放两个声音,则应用两个全局MediaPlayer实例,MediaPlayer同时只能播放一个文件。 阅读全文
posted @ 2016-01-27 19:26 赫赫小虾 阅读(1724) 评论(1) 推荐(1) 编辑
  2015年12月10日
摘要:一、DllImportAttribute 1、属性介绍 2、举例 3、引入依赖dll 将依赖dll添加到解决方案中,与主dll放在相同目录下(重要),然后设置dll的属性CopyToOutputDirectory= CopyAlways,编译器就会自动找到了。 二、应用LoadLibrary 1、封装基础类 LoadLibrary引用的dll相关的依赖dll必须被手动引用进来,否则会报错。 2、举例 阅读全文
posted @ 2015-12-10 11:39 赫赫小虾 阅读(2950) 评论(0) 推荐(0) 编辑
  2015年1月16日
摘要:CSV文件格式 1、CSV文件默认以英文逗号(,)做为列分隔符,换行符(\n)作为行分隔符。 2、CSV默认认为由""括起来的内容是一个栏位,这时不管栏位内容里有除"之外字符的任何字符都可以按原来形式引用。 3、若字段内容里含有",这时只需将"替换成两个双引号("")即可。CSV会将字段里的两个双引号""显示成一个。 4、应用char(9)表示按照文本形式显示(实例红色字体部分)。 阅读全文
posted @ 2015-01-16 17:02 赫赫小虾 阅读(15618) 评论(1) 推荐(1) 编辑
摘要:先简单说一下思路: 1、做一个分页控件的导航类,即记录总页数、当前页、每页记录数,下一页、上一页、跳转等操作的页数变更。 class PageNavigation { /// /// display item count for per page /// default value is 20 /// private int _iPerItemCount = 20; public int PerItemCount { get { return _iPerItemCount; } set { _iPerItemCount = value; } } /// /// total item count /// private int _iTotalItemCount; public int TotalItemCount { get { return _iTotalItemCount; } set { _iTotalItemCount = value; } 阅读全文
posted @ 2015-01-16 11:08 赫赫小虾 阅读(893) 评论(0) 推荐(0) 编辑
  2015年1月14日
摘要:/// /// 获取文本框控件 /// /// 文本框所在父窗口 /// 文本框文本,null为搜索所有 /// 父窗口上第几个文本框 /// 文本框句柄 private IntPtr GetTextEdit(IntPtr hwnd,string text, int iLevel) { IntPtr iEditor = IntPtr.Zero; IntPtr iCode = IntPtr.Zero; if (hwnd != IntPtr.Zero) { for (int i = 0; i iLevel; i++) { iCode = WindowsApi.FindWindowEx(hwnd, iCode, "WindowsForms10.Window.b.app.0.bf7771_r13_ad1", ""); 阅读全文
posted @ 2015-01-14 18:00 赫赫小虾 阅读(12871) 评论(1) 推荐(0) 编辑
摘要:首先介绍基本WindowsApi: public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 函数说明:在窗口列表中寻找与指定条件相符的第一个窗口 导入库:user32.lib 头文件:winuser.h 命名空间 using System.Runtime.InteropServices; 参数说明  lpClassName String,窗口类名 lpWindowName String,窗口标题 返回值:窗口句柄 阅读全文
posted @ 2015-01-14 14:47 赫赫小虾 阅读(29034) 评论(0) 推荐(0) 编辑
  2014年10月22日
摘要:关于虚拟机VMware 3种网络模式(桥接、nat、Host-only)的工作原理 http://www.cnblogs.com/hehexiaoxia/p/4042583.html 操作环境 主机:Windows Server 2008 虚拟机:VMware station 9 虚拟机里的系统:Centos6.4 一、桥接配置 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器不过你需要多于一个的IP地址,并且需要手工为虚拟系统配置IP地址子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。如果你想利用VMware在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。 阅读全文
posted @ 2014-10-22 11:03 赫赫小虾 阅读(14561) 评论(2) 推荐(1) 编辑
  2013年1月30日
摘要:C#在调用非托管动态库时,经常需要实时卸载动态库,本例演示如何加载、获取方法委托、卸载动态库: [DllImport("Kernel32.dll")] public static extern int LoadLibrary(string lpFileName); [DllImport("Kernel32.dll")] public static extern bool FreeLibrary(int hModule); [DllImport("Kernel32.dll")] public static extern IntPtr GetProcAddress(int hModule, string lpProcName); 阅读全文
posted @ 2013-01-30 14:11 赫赫小虾 阅读(2568) 评论(0) 推荐(0) 编辑
  2016年12月17日
摘要:一、安装docker。 请参考:http://www.cnblogs.com/hehexiaoxia/p/6150584.html 二、编写dockerfile。 #在根目录下创建dockerfile。 三、通过dockerfile生成image镜像。 $ sudo docker build -t ubuntu/mongo:latest - 阅读全文
posted @ 2016-12-17 18:02 赫赫小虾 阅读(8311) 评论(0) 推荐(2) 编辑
  2016年12月9日
摘要:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用。所以需要确保Ubuntu的版本是64位。 apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 阅读全文
posted @ 2016-12-09 17:55 赫赫小虾 阅读(7422) 评论(0) 推荐(0) 编辑
  2016年11月24日
摘要:在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。 下边是说明: application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。 multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。 text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。 补充 form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。 当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。 当action为post时候,浏览器把form数 阅读全文
posted @ 2016-11-24 11:07 赫赫小虾 阅读(770) 评论(0) 推荐(0) 编辑
  2016年11月14日
摘要:在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的。而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来解决这个问题。 传统数据库怎么做海量数据读写?其实一句话概括:分而治之。上图看看就清楚了,如下 taobao岳旭强在infoq中提到的 架构图: 阅读全文
posted @ 2016-11-14 10:56 赫赫小虾 阅读(2424) 评论(0) 推荐(0) 编辑
  2016年11月11日
摘要:那什么是副本集呢?打魔兽世界总说打副本,其实这两个概念差不多一个意思。游戏里的副本是指玩家集中在高峰时间去一个场景打怪,会出现玩家暴多怪物少的情况,游戏开发商为了保证玩家的体验度,就为每一批玩家单独开放一个同样的空间同样的数量的怪物,这一个复制的场景就是一个副本,不管有多少个玩家各自在各自的副本里玩不会互相影响。 mongoDB的副本也是这个,主从模式其实就是一个单副本的应用,没有很好的扩展性和容错性。而副本集具有多个副本保证了容错性,就算一个副本挂掉了还有很多副本存在,并且解决了上面第一个问题“主节点挂掉了,整个集群内会自动切换”。难怪mongoDB官方推荐使用这种模式。我们来看看mongoDB副本集的架构图 阅读全文
posted @ 2016-11-11 15:11 赫赫小虾 阅读(390) 评论(0) 推荐(0) 编辑
  2016年10月21日
摘要:POST方式提交数据,一种众所周知的方式: html页面中使用form表单提交,接收方式,使用Request.Form[""]或Request.QueryString[""]来获取。 这里介绍另外一种POST方式和接收方式,就是将整个数据作为加入到数据流中提交和接收 阅读全文
posted @ 2016-10-21 17:51 赫赫小虾 阅读(58332) 评论(1) 推荐(2) 编辑
  2016年10月18日
摘要:在Win7、Win8、Win10系统中,以管理员身份运行程序很麻烦,一般有以下几种方式: 1、在可执行程序或快捷方式上右键,以管理员身份运行; 2、在可执行程序或快捷方式上右键->属性->兼容性->勾选以管理员身份运行选项->确定; 3、修改安全策略,这也是一劳永逸的方式,使当前用户的所有操作以管理员身份进行,不进行询问。 本文中主要对第三种方式进行详细说明。 阅读全文
posted @ 2016-10-18 16:33 赫赫小虾 阅读(18494) 评论(1) 推荐(0) 编辑
  2016年8月17日
摘要:在介绍磁盘 I/O 监控命令前,我们需要了解磁盘 I/O 性能监控的指标,以及每个指标的所揭示的磁盘某方面的性能。 磁盘 I/O 性能监控的指标主要包括: 指标 1:每秒 I/O 数(IOPS 或 tps) 对于磁盘来说,一次磁盘的连续读或者连续写称为一次磁盘 I/O, 磁盘的 IOPS 就是每秒磁盘连续读次数和连续写次数之和。当传输小块不连续数据时,该指标有重要参考意义。 指标 2:吞吐量(Throughput) 指硬盘传输数据流的速度,传输数据为读出数据和写入数据的和。其单位一般为 Kbps, MB/s 等。当传输大块不连续数据的数据,该指标有重要参考作用。 指标 3:平均 I/O 数据尺寸 平均 I/O 数据尺寸为吞吐量除以 I/O 数目,该指标对揭示磁盘使用模式有重要意义。一般来说,如果平均 I/O 数据尺寸小于 32K,可认为磁盘使用模式以随机存取为主;如果平均每次 I/O 数据尺寸大于 32K,可认为磁盘使用模式以顺序存取为主。 阅读全文
posted @ 2016-08-17 16:02 赫赫小虾 阅读(11582) 评论(0) 推荐(0) 编辑
  2016年7月26日
摘要:一.约定 OnModelCreating 有一些限制需要注意,例如: 1.表名不支持使用标签进行标注 2.最小长度在 OnModelCreating 中不支持 3.正则表达式在 OnModelCreating 中不支持 使用标注来丰富模型的验证规则 使用 OnModelCreated 来完成数据库的约束(主键,自增长,表名,列类型等等) 二.加载 Include:贪婪加载 var orders = from o in context.Orders.Include("OrderDetails") where o.CustomerName == "Mac" select o; 阅读全文
posted @ 2016-07-26 13:38 赫赫小虾 阅读(6758) 评论(0) 推荐(1) 编辑
  2016年7月19日
摘要:简单介绍一下Wpf资源字典: 每个WPF界面元素都有一个名为Resource的属性,这个属性继承至FrameworkElement类,其类型为ResourceDictionary。ResourceDictionary能够以键值对的形式存储资源,当要使用到某个资源的时候,使用键值对的形式获取资源对象。在保存资源时,ResourceDictionary视资源对象为Object类型,所以再使用资源时先要对资源对象进行类型转换,XAML编译器能够根据Attribute自动识别资源类型,如果类型不对就会抛出异常。 如果资源字典中存储的是集合类型,而应用时只想取其中一个元素来绑定,这样就需要自己编写转换器,来返回需要的元素值。 阅读全文
posted @ 2016-07-19 17:25 赫赫小虾 阅读(1958) 评论(0) 推荐(0) 编辑