摘要: 晚上本来想继续学习Entity Framework 5, 结果一哥们发来个链接:http://segmentfault.com/game/打开后就开始玩,本来以为很简单,结果折腾了半天才弄出来,这里简单记录一下。第一关:看源码。第二关:还是看源码。第三关:看源码好像什么都没有,想着抓包分析一下。打开fiddler2,刷新了好几次页面后发现response头里面有一行包含了key。第四关:这个蛋疼了,死活不知道改怎么办,因为对比了三个key确实好像没什么规律。最后总算想到了md5,搜了个网站解码发现上一个key是4,那就简单了,将5用md5加密后作为key,pass。第五关:看到了神奇的二维.. 阅读全文
posted @ 2012-11-13 23:27 李土鳖 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 今天在一个群里有人问一个问题,如何在msql里执行一个查询:从一个表里面取数据,按照某个字段分组,然后取每组的第三条数据。有个人说了oracle的实现方法,用到了rank。当然,oracle我是不懂的,google的结果是mysql里面也没有rank函数。然后搜到了一篇文章研究了一下,总算折腾出来了。下面是参考文章的链接:http://blog.sina.com.cn/s/blog_4d18beb10100y3kt.html 先创建一个表作为例子: 1 CREATE TABLE sam (2 `a` int(11) DEFAULT NULL,3 `b` int(11) DEFAU... 阅读全文
posted @ 2012-10-12 11:08 李土鳖 阅读(5145) 评论(0) 推荐(0) 编辑
摘要: 最近接手了一个java项目,里面用到了nio。自己以前是做.net的,底子不足,所以花时间研究了一下。 要点简述 nio有三个最关键的概念,通道(Channel)、选择器(Selector)和缓冲器(ByteBuffer)。 通道(Channel): 这玩意说白点就是个管子,外面的数据传过来会到这个管子里,你向外发送数据的时候也得塞到这个管子里。与tcp编程相关的主要是两种通道: 1. 服务器管道(ServerSocketChannel):提供一个服务器端的监听器。 2. 普通管道(SocketChannel):提供一个一般通道,客户端和服务端互相通讯的时候会用到。 一般的客... 阅读全文
posted @ 2012-09-27 17:41 李土鳖 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 线程间同步说的通俗一点讲就是两点: 1. 当某个线程处理好数据后能通知其他线程自己活干完了,然后别的线程能使用它处理好的数据做其他事情。(Object.notify, Object.notifyAll) 2. 某个线程需要其他线程的计算结果时,需要等待知道别的线程把活干完了,它拿到数据开始干自己的活。(Object.wait) java对并发的支持很全面,而且直接在基类Object里面提供了支持,最常用的三种方法列举如下(上面其实已经提到了): 1. Object.notify:通知某个线程自己活干好了,兄弟可以开工了。某个调用了此对象的wait方法的线程将停止阻... 阅读全文
posted @ 2012-09-20 12:37 李土鳖 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 今天尝试用windows的mysql客户端工具连接vmware里ubuntu虚拟机的mysql服务器,发现怎么也连不上。最后google了一下,找到了解决方案,这里分享一下。 1. 打开3306端口。 这个需要配置my.cnf cd /etc/mysql sudo cp my.cnf my.cnf_bak sudo vim my.cnf 找到下面这一行: bind-address = 127.0.0.1 将127.0.0.1改成虚拟机的IP地址(可以用ifconfig查看)。 然后重启mysql服务器: sudo service mysql restart 2. 启用外部机器... 阅读全文
posted @ 2012-09-16 12:44 李土鳖 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 用虚拟机的最大好处就是可以将虚拟机文件复制到另外一台机器上,同事也可以迅速以一个虚拟机为源克隆出多台虚拟机出来。今年在搭建一些集群方案的时候我经常用这种方法,不过也遇到了一些问题。下面先列举一个: 1. 复制后无法连网的问题。 复制完虚拟机我们如果用ifconfig命令查看系统网络配置,会发现没有网卡被激活,一般显示如下图: 但是如果我们用命令ifconfig -a查看,一般会看到一个未激活的网卡,一般名字为eth1,当然也可能是eth2或者eth3等。 如果我们复制的源机器的网卡名字是eth0,这里一般显示eth1,如果是源机器是eth1,这里一般是eth2。这个是虚拟... 阅读全文
posted @ 2012-09-12 10:29 李土鳖 阅读(1072) 评论(0) 推荐(0) 编辑
摘要: 最近在研究html5, 主要是随便画一些东西。结果一个问题纠结了好久,主要现象就是画出来的东西和我设置的坐标不符合,看起来总有点被放大模糊的感觉。最好总算找到了原因,是因为canvas的高宽设置问题。canvas有自己的width和height属性,设置其样式的高宽对绘图会产生副作用。 canvas的默认高宽在chrome里是300px * 150px, 这个可能因浏览器不同有区别。如果你只是设置了style的高宽,例如下面的代码: var canvas = document.getElementById("myCanvas"); canvas.style.width = 阅读全文
posted @ 2012-08-22 11:28 李土鳖 阅读(533) 评论(1) 推荐(0) 编辑
摘要: 最近在做代码规范,也看了几本书,发现代码要想写的简单、漂亮并且可读性强其实不是一件容易的事情。于是开始研究如何将常用的一些代码结构书写的更优雅一些,今天先分享第一个。 我们在写一块逻辑或者编写一个函数(方法)的时候,为了代码的健壮性,通常需要添加一些容错处理。容错处理是很重要的一个环节,如果考虑的不够周详,很容易产生bug,这个在编写后台代码的时候尤其重要,因为后台服务都是要长期运行的,仍和一个小bug都可能导致服务崩溃。但是如果我们给一段逻辑加上容错处理后,经常会发现代码写的很杂乱无章,到处都是容错代码,真正的核心逻辑都不知道跑哪里去了。经常见到的情况是很多层的if嵌套,很难理清楚代码... 阅读全文
posted @ 2012-07-20 16:29 李土鳖 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 最近找到了几个linux终端下使用的浏览器,主要用来测试本机web服务器是否搭建成功。因为我们一般是用ssh客户端连接linux的,所以很需要一个字符界面的浏览器。找了几个显示都不理想,只有w3m用起来比较方便,中文也没乱码。 如果你用的是centos或readhat企业版,可以用下面的命令安装。 yum install w3m 使用很简单,命令后面跟网站地址就行了。例如访问百度: w3m www.baidu.com 然后你就可以看到网页内容了,下面是显示界面: 下面是一些基本的操作方法: 1. 四个方向键可以用来移动位置。 2. 移动到某个链接上时可以敲回车来进入链接。 3. 需要输入... 阅读全文
posted @ 2012-05-24 14:42 李土鳖 阅读(7821) 评论(0) 推荐(0) 编辑
摘要: 今天在开源社区看到某个人问如何将表里某列字符串按照group by的分组连接成一个字符串,相当于字符串版的sum函数。想了半天没想出好办法。最后突然想起来SqlServer可以用CLR写函数,所以用C#写了个聚合函数。代码基本参考了msdn上下面的例子,喜欢原版的可以直接看msdn: http://msdn.microsoft.com/zh-cn/library/ms131056.aspx 折腾步骤:在VS2010里面创建一个Visual C# Sql CLR 数据库项目(数据库=>SQL Server=>C# Sql CLR 数据库项目),创建提示中需要输入数据库信息。注意将.N 阅读全文
posted @ 2012-03-29 16:40 李土鳖 阅读(4143) 评论(1) 推荐(0) 编辑