C#中的[Flags]标识符

用在枚举上的[Flags]标识,代表了,可以对属性进行组合赋值,比如一个枚举:

那么当我们赋值的时候,可以使用:

方式来进行赋值,上面这段代码没有意义,只是用来表示一个。

Entity Framework Code First

环境:Visual Studio 2015、Entity Framework 6、.Net Framework 4.6.1
缺点:

  1. 设计实体的时候无法直接指定属性是否可以为空,Nullable<T>用在类上会报错。
  2. 设计实体的时候无法直接指定属性的默认值,不过可以通过构造函数来赋默认值,但是这就造成了比如sqlserver,生成的表字段中例如日期是没法直接指定getdate()的。
  3. EF自己生成的外键是允许为空的,但是你自己指定的外键是not null所以在update-database的时候会报异常。既是使用Fluent API指定了字段允许为null也不行。
  4. DateTime?类型的字段,使用[DatabaseGenerated(DatabaseGeneratedOption.Identity)]是无法在插入时由数据库生成一个值得,而且Identity标识后是not null,Computed标识的是null,但是一样无法自动插入值、改变值。

优点:

可以直接使用属性进行唯一约束设置了[Index(IsUnique = true)]

解决:

嗯,找到了解决自己定义的外键不能为空的办法了,Nullable<Int64>标识就行了,不知道为啥昨天还不行,其实也就是long?

 

Javascript的自定义事件

javascript也是可以使用自定义事件的,我个人比较喜欢使用事件进行设计。

js的代码:

比较简单,应该还能够进行优化处理的,但是目前没有这个时间。

另一种写法:

调用方法:

应用的地方其实很多,比如之前做的一个实验项目,就是搭建openfire来进行im的app设计,用到了socket的方式,使用cordova来进行app的开发,在原始根的地方注册对应的方法,比如接受消息、好友列表变动、通知等事件,这样在接收到openfire发过来的消息的时候直接触发事件,并传递对应的参数,前端自动处理就好了。

最后提供一个我改写后的:

 

Windows的包管理器:Chocolatey

Chocolatey是一个Windows下的包管理器,其功能与Linux内核系统中的apt-get或者yum相似,平时用来作为系统环境搭建与软件安装、升级、卸载等功能来说十分的方便,因为不用保存很多软件官网,也不用随时关注软件的升级动态。

当然,对于不介意QQ管家,360软件管理的用户来说其实不是方便的东西。

该功能需要系统中有Powershell,所以,xp好像并不自带,当然了,我已经很久没见过Windows XP了。

Chocolatey的官网是:https://chocolatey.org/

安装Chocolatey有两种方式,一种是使用命令提示行安装(CMD)(推荐此方法):

另一种是使用Powershell进行安装:

以上两种方式都需要以管理员方式运行。

下面记录常用的命令

查看帮助,支持模糊查询:

查出包名后就可以进行安装,比如git:

cinst等同于choco isntall,-y参数可以省略,省略-y参数在安装过程中会提示选择是否进行安装,加上-y则自动确认直接安装

强制重新安装:

我遇到过网络问题导致下载失败,但是choco却误认为软件包已经安装,这时候就需要强制重新安装:

选择版本安装:

有时候搭建环境需要的个别包的版本不能是最新的,那么就需要安装低版本的包:

目前我并没有找到在命令中直接查看历史版本号的功能,所以我是在https://chocolatey.org/packages直接查询历史版本然后进行低版本安装的的:

升级软件:

升级软件我们可以选择性的单个包升级,或者全部升级

cup等同于choco upgrade功能,all代表升级所有软件包。

卸载软件:

cuninst等同于choco uninstall。我们可以卸载全部软件包,或者单个软件包,还可以分版本进行卸载。

choco的配置:

查看当前配置

开启或关闭全局自动确认安装(安装时不需要指定-y参数)

开启或关闭全局自动确认卸载

以上这些就能满足基本的需求了。

 

我手贱( ▼-▼ )

做301跳转,顺手解决了debian6无法更新的问题,还写了个博文,顺手升了nginx、php、mysql……mysql失败了= =|||

恢复……失败了

恢复历史版本……失败了

删除错误文件,批量删除,rm -rf mysql-bin.[按了下tab][按了下退格,为啥没删掉那个空格啊!!!!] *

对,我就是多了个空格rm -rf mysql-bin. *

没救了……然后立马备份了4月份的备份库。

重做了系统…………

我TM忘备份wordpress了!!!!!!!!!!!!!

( ▼-▼ )

我手贱……

( ▼-▼ )

( ▼-▼ )

( ▼-▼ )

Ionic中$ionicView的执行顺序

代码

在树莓派中安装Openfire

公司最近在研究xmpp,我就想把这个东西装到树莓派中,理论上来讲是没有任何问题的,因为openfire是java的产物。

当然,我成功了。

树莓派系统:debian8 (jessie);IP地址:192.168.10.11

第一步,下载Openfire。

我选择了3.10.3,http://www.igniterealtime.org/downloads/index.jsp#openfire

第二步,需要在树莓派上安装jre,这个是Openfire的以来,有三个,我选择了openjdk-7-jre-headless,其实直接安装deb文件的时候会提示的。

第三步,安装Openfire,需要注意的是,安装Openfire需要切换到su用户。

然后就用浏览器登陆http://192.168.10.11:9090进行设置就可以了。我选择了使用嵌入式数据库,你也可以选择其他的数据库,比如sqlserver,oracle,mysql等。

Cordova创建项目

Ionic创建项目

Ionic是依赖Cordova的,所以需要先有Cordova。