- 博客(86)
- 收藏
- 关注
原创 防恶意注册的思考
背景公司业务最近受到来自广东某ip的重复注册, 规则大致为:邮箱为随机@163.com 密码完全一样 ( 哈希完全一样 ) 能完成注册邮件激活 ( pop3协议 ) 验证码校验通过 ( 两种判断: OCR 或 人工打码 ) 各种方案强化级验证码: 如阿里云 研究过一种验证码技术,点击图片上某个关键字或图片部位, 要求用户点击某块特殊区域, 将点击的点的相对坐标传入到验证码服
2015-03-16 14:45:30 1148
原创 我的 2014
总结2014经历的人与事,分享经验和感悟项目0重构与团队扩建去年做的项目0,由于工期赶,技术弱,人员不足,导致项目越发的难以维护和改进。在和老大的沟通之后,公司决定重构项目和扩充团队。招来几个有经验的后端工程师,也招了几个比我牛逼的前端。大家对项目都比较看好,团结一致,气氛很好。与于我而言,有了更厉害的同事,可以请教,学习,更是感到欢欣鼓舞。在接下来的日子里,陆陆续
2015-03-16 14:41:36 621
原创 sass系列之css3-分裂规则
之前在项目中也有用过sass这个高于css的元语言,没有彻底的学过,这几天正好学习之,今天就对于compass中的分裂规则混合宏来开篇。分裂规则在css3中,分列跪着是允许开发人员多列显示元素内容的,详细内容点这里,当然一谈到css属性的兼容就头疼,我们用sass开发就不必担心了。 这是一段神奇的文字... 这是一段神奇的文字... 这是一段神奇的文字
2015-02-04 16:33:03 814
原创 为啥要 sweet.js
from http://jlongster.com/Why-sweet.js-Matters(Update Jan. 10, 2014: if you like this post, you should read my much more recent post "Stop Writing JavaScript Compilers! Make Macros Instead")最近人们讨论
2015-01-24 02:01:43 596
原创 MySQL数据库行去重复和列去重复
数据库表中数据行去重复0.起因我在创建唯一索引时,提示有重复数据,创建失败。于是,我得先去重,然后再创建唯一索引。1.建表sqlCREATE TABLE `demo_table` ( `id` int(10) unsigned NOT NULL, `name` char(255) NOT NULL, `email` char(255) NOT NULL, P
2015-01-24 01:33:10 829
原创 目前已制作Landing Page链接整理
VIPABC1、VIPABC官网http://www.vipabc.com2、客户见证-刘立静http://www.vipabc.com/program/linkage_page/liulijing/index.asp3、TutorGlasshttp://www.vipabc.com/program/linkage_page/R-TutorGlass/index.asp
2015-01-10 00:27:03 1451
原创 Pyhton单命令静态服务器
其实在python的有个隐藏静态服务器只要在你的静态文件的目录下,执行python -m SimpleHTTPServer你再打开浏览器,127.0.0.1:8000 就能直接调试静态页面了
2015-01-10 00:18:52 445
原创 readed-book
去看?点此直达 密码 97ie1.丧尸生存手册2.linus自传3.编程人生4.乔布斯传5.白银时代6.mac talk,人生元编程7.黄金时代8.青铜时代9.世界是数字的10.简明python教程11.像计算机科学家一样思考python12,笨办法学习python13.瓦尔登湖14.明解C语言15.我的互联网方法论16.国境以南,太
2015-01-07 18:23:31 546
原创 通过deb包安装Python库时怎么生成pyc文件?
问题使用Ubuntu系统或者其他基于deb包管理器系统的人,经常通过apt-get install命令来安装Python的库。不知道你们是否注意到,通过这个命令安装Python库后,也会自动生成对应的.pyc文件。但是通过synaptic程序或者dpkg -L package-name显示安装已安装文件就会发现,deb包中只包含了.py文件,并没有包含.pyc文件。那么这些.pyc文件是从哪里
2015-01-07 18:13:27 901
原创 数据结构学习笔记(一)
一、c/c++ 杂谈特殊类型1.结构型用户自己制作的数据类型typedef struct{ int a; char b; float c;} TypeA;2.指针型如果a是个指针型变量,且指向变量b,则a中存放了变量b所在的地址。*a就是取变量b的内容(x=*a;等价于x=b;),&b就是取变量b的地址,语句a=&b;就是将变量b的地址
2015-01-07 18:02:00 530
原创 基于git版本控制团队协作流程
最近公司新的unity3d的项目开始,已经决定用git作为版本控制,总结下git使用的流程git clone master项目到本地创建本地分支,比如test1在test1分支上做开发test1分支开发过程中不断的本地提交,远程git push功能开发完成后,有两种办法,一个是在stage(类似github的本地web协作平台)提交一个pull request,这样项目成员就会
2015-01-07 17:51:19 649
原创 使用HTML5的picture标签处理响应式图片
本课程将学习如何使用HTML5中新添加的picture标签来处理响应式的图片,并且介绍如何使用picturefill来兼容老版本浏览器开始学习
2015-01-07 17:37:35 749
原创 Windows搭建Flask开发环境
本文介绍Windows下如何从零开始搭建Python + Flask开发环境。安装Python 2.7访问https://www.python.org/,进入下载页面,下载Python 2.7系列的WINDOWS版本。安装之后需要把Python相关的路径加入到PATH环境变量中(假如安装在D:\Python27):D:\Python27 D:\Python27\Scripts
2015-01-07 17:07:21 1030
原创 phpstudy 安装 swoole扩展
首先安装phpstudy 这一步大家可以到http://lamp.phpstudy.net 来安装,整个流程大约需要50-90分钟 看你的cpu了,cpu性能越好的越快然后下载swoole扩展 下载地址 https://codeload.github.com/swoole/swoole-src/tar.gz/swoole-1.7.9-alpha解压出来tar -xvzf swoole-sr
2015-01-07 16:55:56 8789 2
原创 iframe自适应框架内容高度
//--根据子页面的内容高度设定iframe的高度。在初始化及子页面改变的时候都可以自适应。$(function(){ var ifr=$("#Selector"); var ifr_loaded=false; ifr.load(function(){ ifr_loaded=true; var childHeight=ifr[0].contentWind
2015-01-07 14:50:49 470
原创 dom操作之文档碎片
文档碎片在日常的工作中,避免不了我们要想一个元素中插入大量的动态元素,比如:在页面中有一个ul,我们随着页面的某一个事件的触发,需要向#box中插入大量的li,正常的写法为:var oUl = document.querySelectorAll('#box')[0]; for(var i=0;i<1000;i++){ var
2015-01-07 14:34:10 558
原创 bearcat 0.3.4 发布 -- 优化依赖注入写法
在 0.3.4 版本中,依赖注入的描述,可以更加的随意,不再强制要求必须是 this.$xxId 的形式以下的写法也支持var Car = function() { this.$id = "car"; this["$engine"] = null; // use [] var wheelName = "$wheel"; this[wheelName]
2015-01-07 14:19:45 452
原创 详细解释Java传参
为了回答Lance_D的提问,重新翻看了一下java虚拟机的书。1.先看一段代码public static void main(String args[]){ char[] c1 = {'a','b'}; System.out.println("c1:"+c1[0]+" "+c1[1]); changer1(c1); System.out.print
2015-01-06 13:44:52 585
原创 (爱加密系列教程七)程序员应该学习的签名破解
我们以“XXXX管家”为例,该apk使用了签名保护。我们对apk二次打包后,程序无法运行。原因是程序运行时会获取当前应用签名和官方签名进行对比。如果发现不一致就会终止程序。下面我们对签名保护进行破解首先我们需要用到的工具是APK改之理。百度云盘下载:http://www.cnblogs.com/ijiami/p/3346870.html点击”项目”->”打开apk”,反编译apk。
2015-01-06 13:32:12 769
原创 说说 Rails 的套娃缓存机制
Rails 4.0 以后,开始推广一种称为「俄罗斯套娃」的缓存机制,这是一种使用 Fragment Caching(http://guides.rubyonrails.org/caching_with_rails.html#fragment-caching) 技术的缓存机制,在数据库做完查询以后,如果记录没有变化,那么对应的页面不会被 Rails 重新渲染,而是直接从缓存里取出,拼装好以后,返回给
2015-01-06 13:21:58 369
原创 自己hack了一个django rest framework的ForeignKeyField
最近的主要就是在写rest api,很多地方是多表关联的外键,然后api传递给你的就只是另一张表里面记录的id,然后你再去查询,判断记录是否存在,然后处理,这样觉得很麻烦。代码大致是这样的#models.pyclass People(models.Model): name = models.CharField(max_length=20) sex = models.Ch
2015-01-06 13:11:24 477
原创 移动页面布局方法
头部和底部固定,中间部分动态改变宽度高度百分比,字体em(自适应),说明:高度响应需要body进行绝对定位并把高度设置为100%; media query(响应式),max-width、max-device-width CSS3,display:flex tips:1,图片宽度max-width:100%;height:auto;2,图片宽高比最好为1左右
2015-01-06 13:01:10 491
原创 活用设计模式:如何避免一连串的if else
前段时间知乎上有人发了这么个段子:某日,老师在课堂上想考考学生们的智商,就问一个男孩: “树上有十只鸟,开枪打死一只,还剩几只?” 男孩反问:“是无声手枪,还是其他没有声音的枪么?” “不是.” “枪声有多大?” “80~100分贝.” “那就是说会震的耳朵疼?” “是.” “在这个城市里打鸟犯不犯法?” ‘不犯.” “您确定那只鸟真的被打死啦?” “确
2015-01-06 12:51:35 2291 1
原创 [求职面试][多线程]多线程题目汇总
阿里2013笔试两个等价线程并发的执行下列程序,a为全局变量,初始为0,假设printf、++、--操作都是原子性的,则输出不肯哪个是(A)void foo() { if(a <= 0) { //1 a++;//2}else { //3 a--; //4 } printf("%d", a); //5}A.01
2015-01-06 12:30:46 430
原创 杂记(Node.js、NPM、SASS、Compass、ConEmu、Ruby )
工具越来越多,怕是容易忘了,记下来。首先一个替代cmd的工具--ConEmu。ConEmuConEmu是一个windows终端仿真器。项目主页:https://code.google.com/p/conemu-maximus5/Node.js非常活跃的开发平台,基于chrome javascript运行时。项目主页:http://nodejs.org/NPM
2015-01-05 22:15:34 818
原创 批量添加主机名映射关系问题
因为 tomcat 在启动的时候需要在 /etc/hosts 里面添加下主机名的映射关系,但是如果服务器多的话,手工一台台去填写就不现实了,所以就用脚本批量处理下。正确的版本:HOSTNAME=`hostname`ip_addr=`/sbin/ifconfig bond0 |grep -a "inet addr:" |awk -F":" '{print $2}' |egrep -o '
2015-01-05 22:03:24 538
原创 如何在手机上实现高精度及自适应多种场景的计步器算法
前言随着当前智能终端的普及,人们可做的事情变得越来越有趣,比如计步器。传统的计步器一般是一个单独的设备,戴在身体的某个位置,由于必须在用户身上增加一个设备,推广起来有一定阻力。其实,计步器只需要一个3-轴加速度传感器就能做到较高的记步精度,类似三星note3的计步器精度在95%以上。当前智能手机一般都含有加速度传感器,许多人开始在手机上做计步器。可惜目前Android市场上大多数计步器精度都不
2015-01-05 21:39:22 2970 1
原创 图片主题色提取算法小结(Node.js 版)
原文链接:http://xcoder.in/2014/09/17/theme-color-extract/所谓主题色提取,就是对于一张图片,近似地提取出一个调色板,使得调色板里面的颜色能组成这张图片的主色调。 以上定义为我个人胡诌的。 大家不要太把我的东西当成严谨的文章来看,很多东西什么的都是我用我自己的理解去做,并没有做多少考证。 解析中都会以 Node.js 来写
2015-01-05 21:27:50 1680
原创 前端-无论工作年头长短都应该必须掌握的知识点
1、DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动。2、DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。 (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //
2015-01-05 21:17:38 322
原创 免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询
响应式设计的另一个重要技术手段是媒体查询。如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应式设计。媒体查询可以来解决这一问题。媒体查询可以为特定的浏览器和设备提供特定的样式。媒体查询是CSS 3的一个新特性,是对媒体类型的扩展。提示:W3C列出了10种媒体类型,请参考http://ww
2015-01-05 21:04:19 437
原创 使用 Ansible 编译和安装 nagios
注:该文作者是 Patrick Ogenstad,原文地址是 Compile and Install Nagios with Ansible如果你决定尝试 Nagios 并且通过你的发行版软件管理系统来安装它,你或许注意到它的版本太老了。你想要的一些特性或是扩展在早期版本不支持。因此你决定下载 Nagios 源码包并用传统的方式安装。尽管这不像键入yum install nagio
2015-01-05 20:52:54 550
原创 【JAVA新生】echo server
现代的Java开发真的和我当年认识的很不一样了,这三篇文章非常值得一读:http://blog.paralleluniverse.co/2014/05/01/modern-java/http://blog.paralleluniverse.co/2014/05/08/modern-java-pt2/http://blog.paralleluniverse.co/2014/05/15/m
2015-01-05 20:28:50 381
原创 [No.010]AIX常用命令
1.建厂当前熊所打的补丁instifix -i |grep AIX_ML2.配置引导列表bootlist -m normal -obootlist -m normal hdisk0 cd0 enth03.检查系统状态 - 文件系统 df-k - 设备 lsdev -C - 磁盘(物理卷) lspv -
2015-01-05 20:04:05 403
原创 Xshell设置显示delete和backspace无法删除
学习oracle的时候觉得好苦恼 每次打错了就得重新打,因为按删除会显示^HBackspace:直到看到了这篇文章:用 Xshell 连接 linux 系统时,显示数据到控制台,中文为乱码。查看当前使用的编码格式:[root@localhost share_data]# echo $LANGzh_CN.GB2312修改编码设置:[root@localhost sha
2015-01-05 19:50:54 1631
原创 ubuntu下jdk环境变量的设置
先来科普一下各种环境变量的知识吧.Ubuntu Linux 环境变量的优先级/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件自动被执行。/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。~/.bash_p
2015-01-05 19:39:55 355
原创 Socket编程基础——面向连接TCP
WinSock是Windows环境下的网络编程接口,它最初是基于Unix环境下的BSD Socket,是一个与网络协议无关的编程接口。WinSock包含两个主要版本,即WinSock1和WinSock2,在vs2010环境下,通常使用WinSock 2.2实现网络通信的功能。1、Socket接口启动需要引入头文件winsock2.h及库文件ws2_32.lib#include
2015-01-05 19:30:03 377
原创 Qt备忘录
常见对象: page 30小物件buttonQPushButton QToolButton QCheckBox QRadioButton 放其它物件的物件,单页容器 QGroupBox QFrame 放其它物件的物件,多页容器窗口部件 QToolBox QTabWidget 视图窗口部分,也是放其它窗口的QListView QTreeView QLi
2015-01-05 19:20:35 690
原创 PHP 递归实现冒泡算法
实现/* 冒泡算法(递归实现)*/function maoPao($array, $index=0){ $count = count($array); if(($count-1) <= $index) return $array; for($i=$count-1; $i>$index; $i-- ) {
2015-01-05 19:10:31 634 1
原创 my simple vim configure
" ~/.vimrc" ty vimrc configure""" syntax highlight"syn on"" show line number"set nu"" tab"set expandtabset tabstop=4set shiftwidth=4set softtabstop=4"" in
2015-01-05 18:58:49 379
原创 jQuery浏览器功能测试support -- DOM测试(15个)源码分析
其中为1.1~1.15 15个DOM兼容性测试jQuery.support = (function() { var support, all, a, select, opt, input, marginDiv, fragment, tds
2015-01-05 14:23:50 654 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人