一切福田,不離方寸,從心而覓,感無不通。

用winsw让任何Windows程序都能运行为服务

winsw介绍 有时候我们需要在Windows下开机运行某些程序,这对于有图形界面的程序来说一般不是什么事,在选项中选中开机启动,然后它们就可以自动运行了。但是如果我们想运行一些命令行程序的话就没这么方便了。 原来我的做法是写一个bat脚本,然后将它的快捷方式复制到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,这样就可以开机自启了。不过这种方式有一个非常大的缺点,就是开机之后会显示一个命令行窗口!而且这个窗口还不能关,一关程序就停了。 其实Windows自带了一个后台程序管理的功能,就是我们经常用到的服务。但是Windows的服务只有程序的开发者在写程序的时候引用到这个功能,我们才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。所以今天我们就来使用一下标题的这个winsw。它可以将Windows上的任何一个程序注册为服务,如果不需要,也可以方便的卸载服务。 使用winsw 下载 首先要下载winsw。它是一个单个的可执行文件,我们到Github release这里就可以下载winsw了。一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET。 下载完之后最好把文件改成一个比较短小的名字,例如winsw.exe这样的,方便后面输入命令。 编写配置文件 我们需要编写一个和程序同名的XML文件作为winsw的配置文件。文件大体上长这样,这是官网的例子。

 

  注册服务 编写好配置文件之后,记得把配置文件和可执行文件放在一起,这样winsw才能正确识别配置文件。然后我们打开一个管理员权限的命令提示符或Powershell窗口,然后输入下面的命令,如果返回值为0,说明已将程序注册为服务。

  然后打开Windows的服务,我们可以看到这下已经出现了注册的服务,我们可以像一般服务那样开启、关闭它。   如果不再需要这个服务,使用winsw uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。 from:http://www.cnblogs.com/qianzf/p/6807167.html

龙生   26 May 2017
View Details

10 Best ReactJS UI Frameworks for rapid prototyping

I was researching for a few feature rich UI frameworks based on React; that give the power of composability through React components that you can directly plug in into your React project Here is a compilation of a few ReactJS based UI frameworks (in no particular order), that I came across. Hope one of these choices will help you rapidly prototype your "ReactJS" ideas. Material UI Material-UI is a set of React components that implement Google’s Material Design . Out of the hundreds of UI frameworks out there, […]

龙生   18 May 2017
View Details

我自己配置Mysql Master/Slave的过程

MySQL master/slave配置过程 一般master用来写,表类型采用InnoDB,在并发很多的情况下,InnoDB的表现肯定要比MyISAM强很多;slave用来读,表类型采用MyISAM,一个master可以对应一个或多个slave,一般情况下来说读比写多吧,不过也要根据实际情况来定。 A服务器(WindowsXP): 192.168.1.54 主服务器master B服务器(Linux):     192.168.1.23 副服务器slave A服务器设置 #提示,此处最好用mysql的命令行执行命令,用SQLyog等工具时可能不行 mysql -u root -p mysql>GRANT FILE ON *.* TO backup@192.168.1.23 IDENTIFIED BY '1234'; mysql>GRANT REPLICATION SLAVE ON *.* TO backup@192.168.1.23; mysql>exit; 上面是Master开放一个账号backup密码1234给IP:192.168.1.23有档案处理的权限 停止mysql的服务,防止数据库中增加新的数据,确保复制到slave中的数据是一样的 (此时如果是用mysqldump导出数据的话,则不能停止mysql服务,停止web server就可以了,net stop apache服务名称) 停止mysql mysqladmin -u root -p shutdown 或用net stop mysql服务名称(如mysql) 导出数据库结构及数据 D:\>mysqldump -u root -p ms_test > ms_test.sql Enter password: **** 备份Master所有数据库结构及数据, MySQL是要在stop情况下 在A机器上修改my.ini 在[mysqld]区段内加入参数 log-bin=mysql-bin server-id=1 #sql-bin-update-same binlog-do-db=ms_test 重启A服务器mysql B服务器设置 设定/etc/my.cnf 在[mysqld]区段加入 #added by alex in 08/21/1008 master-host=192.168.1.54 master-user=backup master-password=1234 master-port=3306 server-id=2 master-connect-retry=60 replicate-do-db=ms_test 将A上备份的数据库结构及数据copy到B服务器上,然后将数据库结构及数据导入到B服务器中 因为导出的文件ms_test.sql中不含有创建数据库的sql语句, 一是方法是在B服务器上手动创建数据库 另一种方法是把create database if […]

龙生   17 May 2017
View Details

mysql server_errno=1236解决办法

如下是转的,今天遇到类似问题,按照此方法处理成功了: 补充change的点位到新日志的第一点也是可以的(mysql50--98;mysql51--106;mysql55--107) 今天一台MySQL 服务器突然停电,重启后复制无法启动,总是报如下错误: 080922 10:29:01 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000778' at position 2874108, relay log ' ./relay-bin.003287' position: 2874245 080922 10:29:01 [Note] Slave I/O thread: connected to master 'replication@192.168.0.10:3306', replication started in log 'mysql-b in.000778' at position 2874108 080922 10:29:01 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( se rver_errno=1236) 080922 10:29:01 [ERROR] Got fatal error 1236: 'Client requested master to start replication from impossible position' from master wh en reading data from binary […]

龙生   17 May 2017
View Details

Windows下Mysql5.6.10 Master Slave配置

环境 配置Mysql的MasterSlave至少需要两台机器。我这里使用三台虚拟机进行测试。三台机器配置完全一样,MySQL安装的路径也是一样: 第一台:10.1.5.181; Windows 2008 DataCenter + MySQL Community Server 5.6.10.1 第二台:10.1.5.182; Windows 2008 DataCenter + MySQL Community Server 5.6.10.1 第三台:10.1.5.183; Windows 2008 DataCenter + MySQL Community Server 5.6.10.1   第一台10.1.5.181用作master,其他两台用做slave。 配置Master 在10.1.5.181这台服务器上找到MySQL的配置文件my.ini。我的具体路径是在C:\ProgramData\MySQL\MySQL Server 5.6下。 打开配置文件,在最下面添加如下配置: ************************************************************************************ #Master start #日志输出地址 主要同步使用 log-bin=master-bin.log #同步数据库 binlog-do-db=test #主机id 不能和从机id重复 server-id=1 #Master end ************************************************************************************ master的配置比较少,server-id是为这一组master/slave服务器定的唯一id,master/slave服务器中不能重复。在binlog-do-db中填写对象要同步的数据库,如果有多个,用逗号分隔,或再写一行如binlog-do-db=test2。   配置Slave 同样在第二台机器上10.1.5.181找到配置文件my.ini。打开配置文件,在最下面添加如下配置: ***************************************************************************** report-host = 10.1.5.181 report-user = root report-password = root123 log-bin = slave-bin.log replicate-do-db = test server-id = 2 ***************************************************************************** 这里需要添加master的IP,连接master的用户名和密码,生产环境中需要新建一个用户专门来处理replication,这里没有新建用户,用root做测试。端口没有配置,就是使用默认的3306,如果端口有变化,则通过report-port=?来配置。log-bin是记录日志的位置。 然后通过命令start slave来启动mysql的复制功能。如果在start slave过程中出现异常: The server is not configured as slave; fix in config […]

龙生   17 May 2017
View Details

MySQL 获得当前日期时间 函数

获得当前日期+时间(date + time)函数:now()

获得当前日期+时间(date + time)函数:sysdate() sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。看下面的例子就明白了:

sysdate() 日期时间函数,一般情况下很少用到。   MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()

MySQL 日期转换函数、时间转换函数 MySQL Date/Time to Str(日期/时间转换为字符串)函数:date_format(date,format), time_format(time,format)

MySQL 日期、时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式。它是 str_to_date(str,format) 函数的 一个逆转换。   MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format)

可以看到,str_to_date(str,format) 转换函数,可以把一些杂乱无章的字符串转换为日期格式。另外,它也可以转换为时间。“format” 可以参看 MySQL 手册。   MySQL (日期、天数)转换函数:to_days(date), from_days(days)

  MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)

  MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)

  MySQL (Unix 时间戳、日期)转换函数

下面是示例:

    MySQL 日期时间计算函数   MySQL 为日期增加一个时间间隔:date_add()

  MySQL adddate(), addtime()函数,可以用 date_add() 来替代。下面是 date_add() 实现 […]

龙生   16 May 2017
View Details

杭州小吃一条街介绍,杭州小吃街在哪里

【发文时间是:1月9日,由于博客数据丢失近半年的,也不想修改添加日期了~】 到杭州游玩的朋友都想品尝一下杭州小吃,下面就详细介绍杭州比较有名的小吃一条街,让你了解杭州小吃街在哪里以及怎么走法。 杭州小吃一条街介绍,杭州小吃街在哪里 一、杭州胜利河小吃一条街 白天去的,人还是比较少的。 杭州胜利河小吃一条街本来是条曾经破败的老街,于2009年年底开创小吃街,这里有早就名声在外的老头儿油爆虾和外婆家运动会,还有丁记白切羊肉之类的特色小店。杭州胜利河小吃一条街的入口处设有停车场,这也是有车一族前来用餐的“有力保障”。 二、杭州河坊街小吃一条街 从河坊街的吴山广场西头走进去,快逛到东边尽头的时候就是大名鼎鼎的河坊街小吃一条街了,这里的小吃品种几乎不带重样,从温州的撒尿鱼丸到云南的油炸蝎子都能找到。不过,这里主要是做游客生意,小吃的价格有些偏高了。 三、杭州百井坊巷小吃一条街 杭州百井坊巷小吃一条街紧挨着武林银泰,可惜的是这条街的店面都比较小,是三五好友在逛街之余小聚一下的最佳选择。 四、杭州河东路小吃一条街 杭州河东路小吃一条街以夜宵出名,尤其是每到夏日的晚上,这条小吃街的生意最堪称火爆,最出名的当属街头的那家农夫烤鱼。另外,强烈推荐这里的凉拌海带,酸酸甜甜的做法,能刺激出你更大的胃口。 杭州小吃一条街介绍,杭州小吃街在哪里 五、杭州高银街小吃一条街 杭州高银街小吃一条街算得上是杭城美食街里的“老大哥”了。因为背靠河坊街,又离火车站特别近,到这里吃饭的游客总是络绎不绝。这里好吃的实在太多,别的不说,光看这条街上各色饭店的招牌,就足以让你迸发出随便找一家进去饕餮一番的念头了。 高银街最大的优点就是兼备了“阳春白雪”和“下里巴人”的两种风格,有亲民草根的特色小店,也有上得了台面的经典老店。       http://m.haocai777.com/Article/zixun/11319.html

龙生   16 May 2017
View Details

MySQL数据库配置主从服务器实现双机热备实例教程

网站:bbs.osyunwei.com 程序在:Web服务器192.168.21.129上面 数据库在:MySQL服务器192.168.21.169上面 实现目的:增加一台MySQL备份服务器(192.168.21.168),做为MySQL服务器(192.168.21.169)的从服务器,这两台MySQL服务器之间实现双机热备。 即:从服务器(192.168.21.168)上面指定的数据库永远与主服务器(192.168.21.169)上面指定的数据库保持同步,并且随着主服务器(192.168.21.169)上面指定的数据库的变化而变化。 系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 环境说明 1、Web服务器 系统:CentOS 6.2 IP:192.168.21.129 Web环境:apache+php 2、MySQL主服务器 系统:CentOS 6.2 IP:192.168.21.169 主机名称:MySQLMaster MySQL版本:mysql-5.5.22 3、MySQL从服务器 系统:CentOS 6.2 IP:192.168.21.168 主机名称:MySQLSlave MySQL版本:mysql-5.5.22 4、客户机 系统:Windows 7 IP:192.168.21.130 备注:作为主从服务器的MySQL版本建议使用同一版本!或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本(MySQL版本是向下兼容的) ####################################################################################### 教程开始: 一、安装MySQL 说明:在两台MySQL服务器192.168.21.169和192.168.21.168上分别进行如下操作,安装MySQL 5.5.22 1、配置防火墙,开启MySQL默认3306端口 vi /etc/sysconfig/iptables   #编辑防火墙配置文件 -A INPUT -m state state NEW -m tcp -p tcp dport 3306 -j ACCEPT /etc/init.d/iptables restart  #重启防火墙,使配置生效 2、关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing     #注释掉 #SELINUXTYPE=targeted  #注释掉 SELINUX=disabled  #增加 :wq  保存,关闭。 shutdown -r now重启系统。 3、安装编译工具 yum install wget make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd  kernel […]

龙生   16 May 2017
View Details

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

前言:朋友咨询我说执行简单的update语句失效,症状如下: MySQL> update order_info  set province_id=15  ,city_id= 1667  where order_from=10 and order_out_sn= 1407261241xxxx ; ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction mysql> QQ远程过去,开始check 1,查看数据库的隔离级别: mysql> select @@tx_isolation; + + | @@tx_isolation  | + + | REPEATABLE-READ | + + 1 row in set (0.00 sec) mysql> 2,去查看先当前库的线程情况: mysql> show full processlist; + -+ + -+ + -+ + -+ + | Id       | User            | Host              | db              | Command     | Time    | State                   | Info                  | + -+ + -+ + -+ + -+ + |        1 | event_scheduler | localhost         | NULL            | Daemon      | 9635385 | Waiting on empty queue  | NULL                  | |  9930577 | business_web    | 192.168.1.21:45503 | business_db     | Sleep       |     […]

龙生   16 May 2017
View Details

EF的开发模式到底有几种

Entity Framework(EF)的开发模式有多少种呢?有的说是三种,有的说是四种,到底哪个对呢? 先看下图: 再看这张: 那么明显开发模式是三种。 即:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。 当然,如果把Code First模式的两种具体方式独立出来,那就是四种了。 Code First(New DataBase) :在代码中定义类和映射关系并通过model生成数据库,使用迁移技术更新数据库。 Code First(Existing DataBase):在代码中定义类和映射关系,给逆向工程提供工具。 Model First:在设计器中创建Model,并用Model生成数据库。所有的类由Model自动生成。 DateBase First:在设计器中逆向生成Model,并有Model自动生成所有的类。   from:http://www.cnblogs.com/jihua/archive/2013/05/23/efmoshi.html

龙生   16 May 2017
View Details
1 2 6