摘要:
一、安装docker。
请参考:http://www.cnblogs.com/hehexiaoxia/p/6150584.html
二、编写dockerfile。
#在根目录下创建dockerfile。
三、通过dockerfile生成image镜像。
$ sudo docker build -t ubuntu/mongo:latest - 阅读全文
摘要:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用。所以需要确保Ubuntu的版本是64位。
apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 阅读全文
摘要:
在Win7、Win8、Win10系统中,以管理员身份运行程序很麻烦,一般有以下几种方式:
1、在可执行程序或快捷方式上右键,以管理员身份运行;
2、在可执行程序或快捷方式上右键->属性->兼容性->勾选以管理员身份运行选项->确定;
3、修改安全策略,这也是一劳永逸的方式,使当前用户的所有操作以管理员身份进行,不进行询问。
本文中主要对第三种方式进行详细说明。 阅读全文
摘要:
1、检查扬声器和驱动程序。
测试方法:首先,应用Windows Media Player播放器播放,看是否有问题,如果有问题,基本断定是驱动程序问题。其次,点击扬声器,选择测试,查看扬声器是否好用,如果不好用,基本断定是驱动程序问题。
解决方案:重装驱动程序。
注:一定要应用该驱动来播放,不要安装了好几个扬声器,如果选择错了,就会走很多弯路。
2、只有在程序中播放有问题。
首先,检查MediaPlayer实例的作用域,如果MediaPlayer是局部变量,出了作用域,系统垃圾回收的时候,就会回收,不论播放是否完成。
其次,检查MediaPlayer全局变量new完之后,在其他地方又new了,这样原来的实例,在系统垃圾回收的时候,被回收。
再次,如果想同时播放两个声音,则应用两个全局MediaPlayer实例,MediaPlayer同时只能播放一个文件。 阅读全文
摘要:
一、DllImportAttribute
1、属性介绍
2、举例
3、引入依赖dll
将依赖dll添加到解决方案中,与主dll放在相同目录下(重要),然后设置dll的属性CopyToOutputDirectory= CopyAlways,编译器就会自动找到了。
二、应用LoadLibrary
1、封装基础类
LoadLibrary引用的dll相关的依赖dll必须被手动引用进来,否则会报错。
2、举例 阅读全文
摘要:
CSV文件格式
1、CSV文件默认以英文逗号(,)做为列分隔符,换行符(\n)作为行分隔符。
2、CSV默认认为由""括起来的内容是一个栏位,这时不管栏位内容里有除"之外字符的任何字符都可以按原来形式引用。
3、若字段内容里含有",这时只需将"替换成两个双引号("")即可。CSV会将字段里的两个双引号""显示成一个。
4、应用char(9)表示按照文本形式显示(实例红色字体部分)。 阅读全文
摘要:
先简单说一下思路:
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; } 阅读全文
摘要:
///
/// 获取文本框控件
///
/// 文本框所在父窗口
/// 文本框文本,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", ""); 阅读全文
摘要:
首先介绍基本WindowsApi:
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
函数说明:在窗口列表中寻找与指定条件相符的第一个窗口
导入库:user32.lib
头文件:winuser.h
命名空间 using System.Runtime.InteropServices;
参数说明
lpClassName String,窗口类名
lpWindowName String,窗口标题
返回值:窗口句柄 阅读全文
摘要:
关于虚拟机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在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。 阅读全文
摘要:
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); 阅读全文
摘要:
在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数 阅读全文
摘要:
在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的。而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来解决这个问题。
传统数据库怎么做海量数据读写?其实一句话概括:分而治之。上图看看就清楚了,如下 taobao岳旭强在infoq中提到的 架构图: 阅读全文
摘要:
那什么是副本集呢?打魔兽世界总说打副本,其实这两个概念差不多一个意思。游戏里的副本是指玩家集中在高峰时间去一个场景打怪,会出现玩家暴多怪物少的情况,游戏开发商为了保证玩家的体验度,就为每一批玩家单独开放一个同样的空间同样的数量的怪物,这一个复制的场景就是一个副本,不管有多少个玩家各自在各自的副本里玩不会互相影响。 mongoDB的副本也是这个,主从模式其实就是一个单副本的应用,没有很好的扩展性和容错性。而副本集具有多个副本保证了容错性,就算一个副本挂掉了还有很多副本存在,并且解决了上面第一个问题“主节点挂掉了,整个集群内会自动切换”。难怪mongoDB官方推荐使用这种模式。我们来看看mongoDB副本集的架构图 阅读全文
摘要:
POST方式提交数据,一种众所周知的方式:
html页面中使用form表单提交,接收方式,使用Request.Form[""]或Request.QueryString[""]来获取。
这里介绍另外一种POST方式和接收方式,就是将整个数据作为加入到数据流中提交和接收 阅读全文
摘要:
在介绍磁盘 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,可认为磁盘使用模式以顺序存取为主。 阅读全文
摘要:
一.约定
OnModelCreating 有一些限制需要注意,例如:
1.表名不支持使用标签进行标注
2.最小长度在 OnModelCreating 中不支持
3.正则表达式在 OnModelCreating 中不支持
使用标注来丰富模型的验证规则
使用 OnModelCreated 来完成数据库的约束(主键,自增长,表名,列类型等等)
二.加载
Include:贪婪加载
var orders = from o in context.Orders.Include("OrderDetails")
where o.CustomerName == "Mac"
select o; 阅读全文
摘要:
简单介绍一下Wpf资源字典:
每个WPF界面元素都有一个名为Resource的属性,这个属性继承至FrameworkElement类,其类型为ResourceDictionary。ResourceDictionary能够以键值对的形式存储资源,当要使用到某个资源的时候,使用键值对的形式获取资源对象。在保存资源时,ResourceDictionary视资源对象为Object类型,所以再使用资源时先要对资源对象进行类型转换,XAML编译器能够根据Attribute自动识别资源类型,如果类型不对就会抛出异常。
如果资源字典中存储的是集合类型,而应用时只想取其中一个元素来绑定,这样就需要自己编写转换器,来返回需要的元素值。 阅读全文