本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请海涵.(毕竟菜鸟的我暂时还不能把代码写的特别规范) 在学习过程中以日记或者周记的方式记录我遇见的问题和各种学习到的知识以此来巩固,如果有和我一样情况的志同道合的菜鸟,那我们就一起相互交流和学习吧~ 文字记录的错处或者可以优化的地方,如果有大神看见,更希望不吝赐教~ 毕业设计的大概模型是类似QQ的聊天…
根据屏幕大小定义初始位置: (这个不是难,但是最近常常忘记,记着方便查看.) //获取当前屏幕的长和宽 int ScreenX = Screen.PrimaryScreen.Bounds.Width; int ScreenY = Screen.PrimaryScreen.Bounds.Height; //注意记得让窗体的StartPosition的属性改为Manual,这样才能自定义 //减去的是窗体的长度和宽度的一半,这样才能让窗体居中显示 - ; - ; this.Location = ne…
1.设置父窗体: 如果要将某个窗体设置为父窗体,只需将该窗体的IsMdiContainer属性设置为True即可. 2.设置子窗体: 通过设为某个窗体的MdiParent属性来确定该窗体是那个窗体的子窗体. 语法如下: public Form MdiParent{get;set;} 3.排列MDI子窗体: 语法如下: public void LayoutMdi(MdiLayout value) value:是MdiLayout的枚举值之一,用来定义MDI子窗体的布局. 枚举成员 说明 Casca…
原文:Android菜鸟的成长笔记(3)--给QQ登录界面说So Easy 上一篇:Android菜鸟的成长笔记(2)--第一个Android应用 我们前面已经做了第一个Android应用程序,虽然有点像QQ的登录界面,但是很多地方还是很难看,这一篇咱们来将这个界面做成一个标准的商业界面,并一起来了解Android中的代码运行的原理. 好吧,咱们开始吧,首先启动模拟器,为了让咱们的界面和QQ的登录界面一样我下载了一个QQ的apk文件,下面咱们将这个apk安装到我们的模拟器上,看看效果. 怎么将a…
MySQL安装完毕后没有图形化操作界面,图形化管理界面需要另行安装,个人比较喜欢Navicat,界面更像SQLserver: 此篇学习笔记所有操作均使用命令行中完成: 1.开启/停止服务 使用MySQL先确认服务已开启 1)开启服务 net start mysql 2)停止服务 net stop mysql 注意:这里的‘mysql’既安装MySQL时填写的服务名,在MySQL5.7版本安装时的默认服务名是mysql57,安装时可以自行对服务名命名. **********************…
函数重载重载的思想很简单:编译器允许你用同一名字定义多个函数或过程,只要它们所带的参数不同.实际上,编译器是通过检测参数来确定需要调用的例程.下面是从VCL 的数学单元(Math Unit)中摘录的一系列函数: function Min (A,B: Integer): Integer; overload; function Min (A,B: Int64): Int64; overload; function Min (A,B: Single): Single; overload; functi…
这节对Popups这一章的最后两个例子进行介绍和解析. 第一个[Popup Actions]介绍了弹窗中如何自定义工具按钮(名为actions),以PopupTemplate+FeatureLayer的形式测量要素的长度为例子进行介绍. 第二个[Custom popup actions per feature]则是上一个的升级,如果说上一个例子的功能是写死的,那么这个例子就把这个功能写活了.什么意思呢?上个例子的测距仅仅能测距,没有什么别的特别的.而这个例子以啤酒店的分布(点要素图层)为例,在自…
TestSuite处理测试用例有6个规约(否则会被拒绝执行测试) A 测试用例必须是公有类(Public) B 测试用例必须继承与TestCase类 C 测试用例的测试方法必须是公有的( Public ) D 测试用例的测试方法必须被声明为Void E 测试用例中测试方法的前置名词必须是test F 测试用例中测试方法误任何传递参数 执行TestNg有几种方式:命令行.Eclipse/IntelliJ.ant等.第一种: 直接执行,右键要执行的方法,点Run As ->TestNG Test第二…
1.登录官网下载安装包 官网下载地址:https://www.mongodb.com/download-center?jmp=nav#community 根据你的系统下载 32 位或 64 位的 .msi 文件,下载后双击该文件,按操作提示安装即可. 2.安装MongoDB 安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录. 3.启动MongoDB MongoDB将数据目录存储在 db 目录下.但是这个数据目录不会主动创建,我们在安装完成后需要创建它. 这…
Redis 的慢查询日志用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来监视和优化查询速度. 服务器配置有两个相关选项: slowlog-log-slower-than 选项指定执行时间超过多少微妙的命令请求会被记录到日志上.如果设置为 0,则记录所有执行命令. config set slowlog-log-slower-than 0 slowlog-max-len 选项指定服务器最多保存多少条慢查询日志,达到容量后删除老的日志. config set slowlog-m…
添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支. 现在,你终于接到了一个新任务:开发代号为Vulcan的新功能,该功能计划用于下一代星际飞船. 于是准备开发: $ git checkout -b feature-vulcan 5分钟后,开发完毕: $ git add vulcan.py $ git commit -m "add feature vulcan&qu…
Redis队列功能介绍 List 常用命令: Blpop删除,并获得该列表中的第一元素,或阻塞,直到有一个可用 Brpop删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用 Brpoplpush Lindex获取一个元素,通过其索引列表 Linsert在列表中的另一个元素之前或之后插入一个元素 Llen获得队列(List)的长度 Lpop从队列的左边出队一个元素 Lpush从队列的左边入队一个或多个元素 Lpushx当队列存在时,从队到左边入队一个元素 Lrange从列表中获取指定返回的…
cocos2d-x创建的安卓项目导入eclipse后. 在项目属性中配置Builders. 在eclipse编译还需要配置相应的变量,即后面提到的cygwin编译中要添加的变量. D:/cygdrive/d/cocos2d-x-2.1.4;D:/cocos2d-x-2.1.4/cocos2dx/platform/third_party/android/prebuilt PS:如果报bash在PATH中找不到的错误,在系统环境变量PATH中添加cygwin的bash所在的bin目录到其中.类似:D…
四.虚拟环境的安装和配置 virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. virtualenv本质上是个python包 虚拟环境可以将开发环境相互隔离,互不影响 比如有的项目是用python2开发,有的是用python3开发的 Pip : Python包管理工具 WORKON_HOME 不能写错 windows下安装Python虚拟环境:http://www.cnblogs.com/suke99/p/5355894.html 必须安装的…
一.pycharm的安装和简单使用                                   二.mysql和navicat的安装和使用    三.windows和linux下安装python2和python3                        …
Docker对windows的支持情况: 一.Docker for Windows ServerDocker Enterprise Edition for Windows Server 2016https://store.docker.com/editions/enterprise/docker-ee-server-windows 二.Docker for WindowsDocker Community Edition for WindowsRequires Microsoft Windows…
一  使用环境: windows 7 64位操作系统 二  Windows系统Git安装(Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具.) 1.下载地址:https://git-scm.com/downloads 2.下载后默认安装即可.…
在上一篇文章中介绍了新手如何安装Ubuntu14.04的双系统,本文会说明Ubuntu系统下搜狗输入法的安装,并就我遇见的一些bug给出最简单的解决办法. 第一部分.搜狗输入法的安装 本身搜狗输入法的安装是非常简单的,这里只是就安装过程中会出现的问题提供解决方案. 首先,下载linux下64位搜狗输入法deb安装包下载地址http://cdn2.ime.sogou.com/dl/index/1475147394/sogoupinyin_2.1.0.0082_amd64.deb?st=baQ6Uz…
通过执行 monitor 命令可以让客户端自己变成一个监视器,实时接收并打印当前处理的命令请求的相关信息. 127.0.0.1:6379> monitor OK 1451752646.837271 [0 127.0.0.1:56351] "get" "msg" 1451752652.758200 [0 127.0.0.1:56351] "get" "msg" 1451752689.724059 [0 127.0.0.1:…
Redis 提供了 setbit.getbit.bitcount.bitop 四个命令用于处理二进制位数组. setbit 命令用于为位数组指定偏移量上的二进制位设置值,偏移量从 0 开始计数. getbit 命令用于获取位数组指定偏移量上的二进制位的值. bitcount 命令用于统计位数组里面,值为 1 的二进制位的数量. bitop 命令即可以对多个位数组进行and.or.xor,也可以进行 not 操作. 位数组的表示 Redis 使用字符串对象来表示位数组. 因为字符串对象使用的 SD…
sort 命令可以对列表键.集合键或有序集合键的值进行排序.sort 命令并不修改数据库值,只是输出有序. 127.0.0.1:6379> rpush numbers 9 8 7 6 1 2 3 4 (integer) 8 127.0.0.1:6379> lrange numbers 0 -1 1) "9" 2) "8" 3) "7" 4) "6" 5) "1" 6) "2"…
Redis 2.6 开始支持 Lua 脚本,通过在服务器环境嵌入 Lua 环境,Redis 客户端中可以原子地执行多个 Redis 命令. 使用 eval 命令可以直接对输入的脚本求值: 127.0.0.1:6379> eval 'return "liushijie"' 0 "liushijie" 使用 evalsha 命令则可以根据脚本的 sha1 校验和对脚本进行求值,但是这个命令至少被 eval 命令执行过一次或被 script load 命令载入过.…
Redis 事务提供了一种将多个命令请求打包,然后一次性.按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断,会将事务中的所以命令都执行完毕才去处理其他客户端的命令请求. 事务的实现 事务开始 MULTI 命令意味着事务的开始. 事务从开始到结束包含三个阶段:事务开始.命令入队.事务执行. 127.0.0.1:6379> multi OK multi 命令将执行命令的客户端从非事务切换到事务状态,这一切换是通过在客户端状态的 flags 属性中打开 REDIS_MULTI 标识完成的…
客户端可以通过执行 subscribe 命令订阅一个或多个频道,每当有其他客户端向被订阅的频道发送消息时,频道所有的订阅者都会收到这条消息. 客户端还可以通过执行 psubscribe 命令订阅一个或多个模式,消息也会被发送给与频道相匹配模式的订阅者. 频道的订阅与退订 当一个客户端执行 subscribe 命令定于某个频道的时候,就与被订阅频道之间建立起了一种订阅关系.所有频道的订阅关系都保存在服务器状态的 pubsub_channels 字典中,字典的键是被订阅的频道,值是记录了所有订阅这个…
该示例假设Android开发环境已经搭建完成,NDK也配置成功: 1.在Eclipse上新建Android工程,名称为ndkdemo.修改res\layout\activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layo…
Lease(租约) HDFS(及大多数分布式文件系统)不支持文件并发写,Lease是HDFS用于保证唯一写的手段. Lease可以看做是一把带时间限制的写锁,仅持有写锁的客户端可以写文件. 租约的有效期 HDFS的Lease设定了两个时间限制:softLimit(默认1m),hardLimit(默认1h): Lease持有者在softLimit时限内可以写文件,且不用担心被其它写者抢走Lease: 在超过softLimit仅未及hardLimit时限可以续约,否则Lease可能被其它写者申请走:…
Block Report DataNode会周期性(默认1小时)将自身节点全部block信息发送给NameNode,以让NameNode正确确维护block信息. 在Block Report的数据源DataNode端,处理逻辑比较简单,对磁盘上的所有Block文件进行遍历保存到一张表中,然后发送给NameNode: 在NameNode端,将该block report与blocksMap中该DataNode的block列表(参见BlocksMap)进行比较和处理,比较处理过程如下: 获取同一dat…
     保卫萝卜~上一篇说了使用CocoStudio制作主界面,这里来完善主界面动画及后续界面(主题界面ThemeUI.场景选择界面SelectMapUI),主要涉及的控件PageView. 学习要写笔记,记录自己的步骤(练手作). 一.主界面动画      上一篇的主界面是静态的,这样很不好看.如果有玩过保卫萝卜就知道它的主界面是动的,云啊.叶子啊都在动,OK加几行代码来实现. 先看效果图: 加入如下代码: bool MenuScene :: init() { if ( !Layer ::…
本系列学习笔记主要讲如下几个方面: 本文笔记[三:mysql登录][四:账户权限设置][五:mysql数据库安全配置] 三.mysql登录 常用登录方式如下: 四.账户权限设置 (4.1)查看用户表,所有的用户权限信息都放在mysql.user表中. select user,host,password from mysql.user; (4.2)创建用户 (1)insert into :直接在mysql.user表中插入数据,达到创建用户的目的. insert into mysql.user(u…
前言 本篇博客将会简要介绍andriod开发过程中的一些界面元素和编程的实现,我将大家走进安卓的XML世界,当然可能会涉及到java代码,当然本文主要是介绍XML文件的界面布局. 那么我们的XML存在哪里呢?很简单,就在资源文件里面,什么?你不知道资源文件是哪个?拜托,打开项目文件,看见res,那么这个文件低下就是我们的资源文件了!哇哦,那么我们在这上面编程吗?NO,我基本上把逻辑都写在src文件下的.java文件! 如何使用API文档 在开发的时候,我们最需要知道的就是如何使用API啦,有人老…