- 博客(97)
- 资源 (2)
- 收藏
- 关注
npm+webpack+react+es6开发
前端技术框架如今的前端技术日趋成熟,再也不是以前html+js+css的时代了。当然,比起后端的成熟,前端还处于一个混乱时期,但是很多技术开始崭露头角。基本的思想也是越来越趋向于面向组件化,版本化,可复用性等后端的思想。也许未来,前端后端又和在一起了,想起了很久以前的swing,确实怀念。历史所谓前端,就是用户直接接触的东西,直接面对用户。早期的html只是个标记,并不能...
2016-11-14 15:05:13
251
原创 机器学习-正则化
目前为止我们已经学习了两种机器学习的方法了。如果你去实践,会发现很多问题,其中一项很可能就是过拟合(overfit)的问题。什么是过拟合呢?过拟合就是我们在学习中,对样本的拟合非常好,但是一旦对新的样本就完全失效。这类问题以后还会有分析,究其原因,我们使用模型中某些特征的影响被放大了(多项式高指数),这是我们需要“惩罚”这些特征,是的参数减少。来看下面的例子: Andrew老...
2016-10-23 23:10:47
297
原创 机器学习-逻辑回归
如果了解了线性回归,那么对于逻辑回归,基本上同理,只是具体上有些差别。对于预测结果是0,和1这样的应用,我们有时也叫分类(classification).如果我们使用线性回归来处理这样的问题,那么会发现效果不是很好,而且很容易受到干扰。这里,NG使用了“肿瘤预测”的案例来说明问题。 上图是使用线性回归来解决这个问题,我们很明显可以从中间划一条线来分割,左边的就是良性,右边的...
2016-09-25 19:41:34
252
机器学习-线性回归-特征优化
上一篇我们知道了线性回归的理论知识,如果看懂了就有大干一场的冲动。于是上代码,这时,很多问题可能就浮出水面了。 Feature Scaling多个特征变量的情况下,这些特征变量五花八门,数值上从几千到个位数,总觉得不靠谱。这里,NG大神用等高图给我们分析了这种情况,特征变量的差距,只会增加我们的迭代次数,是的学习性能下降。等高图画出来,是个狭长的椭圆,要到圆心自然经历颇多,所以...
2016-09-11 10:55:52
630
机器学习笔记-线性回归
线性回归,从数学上来说是可导函数作为假想模型的机器学习算法中的一种。其主要思想还是概述中的那样。首先寻找特征变量,然后根据已有数据,找到这个可导函数。这里可以发挥数学上的各种线性函数了。这里可能我说的不是很严谨,如此逻辑回归也可能在此。那么我还是把线性回归的假想模型描述下一下: 这里不再从单一变量说起,直接来个高大上的了。这里是多特征变量的,如果我们熟悉(必须熟悉)矩阵向量 ,那么可以...
2016-08-27 10:48:35
148
机器学习笔记-概述
机器学习实际上是一个比较古老的领域。这些年突然火了起来,原因很可能是硬件的发展,网络以及数据的 爆发式增长,然后机器学习开始越来越实际,可以帮我们做很多事情。 本博客将记录我学习机器学习的过程以及一些理解。首先选择的是吴恩达大师的课程《机器学习》,这是一门机器学习的入门课程,并不需要太多数学知识,也比较全面,个人比较推荐。 那么机器学习到底是什么鬼? 算法。还是一系列的...
2016-08-21 15:12:35
206
使用 CXF 构建WebService中的问题分享
CXF成为java构建Webservice的首选。虽然很简单,但是由于历史原因,还是有不少问题。首先,因为版本问题,在3.0以后的版本,<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>这一句可以删掉了。因为无法找到了,不需要了。 其次,在使用 <jaxws:server&g...
2015-03-10 11:38:55
158
创业之路(一)
创业也许是每个不羁的程序员的想法,但是,创业和写程序,却是两个范畴。创业,不仅仅是写程序。涉及到的事情会多到让你难以想象。写程序,这么说吧,如果是制造行业,仅仅是车间工人的工作。 写代码是美好的。但是如果没有对现有世界深刻的认识,那么代码也只是别人咀嚼过的残渣而已。如果用庄公的道来说,那么一切都可以统一了。这个宇宙大统一理论就是道,道是什么呢?道就是抽象。 创业是...
2014-09-03 09:51:16
161
时间去哪儿了
人生的意义就在于你永远也不清楚下一秒钟会发生什么! 创业公司的故事还么完,而我为什么没写呢? 我找回了时间。我的另一个计划正在发生中。而现在我终于有机会坐下来和大家聊聊时间的问题了 作为程序员,时间比别人都过得快。修改代码,编译,部署,测试,调试,修改,编译……不知不觉已经深夜。突然有一天,我的生活变了。每天的生活是,喝茶,一泡,再一泡,又一泡,也不知了多少泡,...
2014-05-14 23:33:01
146
创业公司 (五)
关于我最后有没有再次杀入帝都的猜想,我现在还不想写。其实创业的故事就不会有完结。创业是痛并快乐着,也许一群人在努力的创造着什么,但是他们的的最终目的也许都不一样,只有成功过后,大家才知道各自的想法。面对薪资协议,我其实很矛盾。人生总是在寻找一个平衡点。我突然感觉这个老板并不是我开始想象的那样。他最终的目的是什么呢?有人为了钱,有人为了名,还有人为了权力。如果你是老板,进入一个陌生的行业,...
2014-03-01 13:41:45
149
原创 创业公司(四)
公司扩大了,不仅从投资上,还是人员数目上。老板开始考虑到是否这些人能和他一起去北京。鉴于之前没有合同,因为要到北京去了所以延期签合同,所以搞了个薪资协议,开始想稳定一下人心,因为这之后他就要继续去北京落实新公司注册,办公地址,各种人才资源等问题。我这边想法很简单,努力把我之前想的都完成了,虽然不算是什么好产品,至少能实现之前的大部分功能吧。而去北京,想想就折腾,我已经去了两次了。这次再去就是三...
2014-01-16 19:50:06
181
创业公司(三)
关于房子,好像有这么个说法,因为天国的年轻人们都被房贷压得透不过气来了,所以很少有人出来创业的。我也是个凡人啊。不久前还在和一个朋友灌输不买房的思想,结果自己就完全把曾经那一番长篇大论抛诸脑后。楼盘叫XX科技城,毕竟也是做技术的,似乎被吸引了,事实上和科技毫无关系,只是我看了样板房后觉得如果以后的人生能在此晒晒太阳,喝喝茶,也算是功德圆满了。 人生啊,总是充满变数。如果你还在不停的变,那么你也许...
2014-01-13 23:22:38
148
创业公司(二)
新的公司的老板是XDF的老师,在当地小有名气,看上去瘦瘦尖尖的脸给人一种精明而能干的感觉。新的办公地点楼层很高,窗外一片明媚,俯瞰这个城市,一切都那么的渺小。我终于有了一张单独的“办公桌”,其实就是一个类似网吧的电脑桌。这里隔开的每一小间,都是那些来上各种补习班的同学们,一般周末会比较多。我就和老板在一个屋子。另外的有两个技术人员,胖的叫小万,瘦高的叫小张。另外屋里还有两个小姑娘,弯弯和兰兰,...
2014-01-13 00:27:29
152
创业公司(一)
这些年来,各种类型的公司都经历了,人也从小城市到省会再到首都,然后直奔硅谷后又回到家乡。回想起来,自己还没在创业公司呆过。于是在填入职表格的时候,我告诉部门经理,我不干了。经理回问我原因的时候,我已经在一家“小公司”开始自己的创业公司之旅了。具体情况,请听我慢慢道来。 我今年30岁。经历了风风雨雨的北漂,回家,继续北漂后,还是选择回到自己的家乡。虽然没那么多钱赚,但是离...
2014-01-12 00:06:59
135
Java Spring+JUnit
Spring 对于单元测试来说,我感觉还是挺方便的。我们可以用maven来构建项目,这样对于包的依赖就交给maven处理。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/...
2013-09-22 15:41:00
196
原创 C#中的Spring Test
C#中也是可以使用Spring的。这里主要是记录下如何使用Spring来做单元测试。首先,开发工具是vs2012 ,我们使用 nuget来获取需要的软件包,类似maven然后,需要spring开发包 可以通过nuget来管理。如果没有就自己找找。应该有 Spring.Aop Spring.Core Spring.Data ...
2013-09-22 13:56:51
328
全排列递归思路(c)版本
附上 c 版本#include<stdio.h>#include<string.h>#include<stdlib.h>#define MAX 10char * subElement(char *input,int pos);void permutation(char *input,int len, int pos, char ...
2013-09-04 15:26:45
151
全排列递归思路(java)
全排列,full permutation, 经常用于博彩行业。当然我也是一时心血来潮,突然想看看具体如何实现。这里,我选择递归,因为递归的用法真是多种多样,而且这里正好也反应了一个事实,递归对应着数据结构中的树。 根据二叉树的递归遍历,我们认识到了递归的强大,而她的故事也远远不止于此。这里要说的是,二叉树的递归遍历,前中后都简洁的难以置信,但是都有一个共同特点,那就是一个函数里包含...
2013-08-24 16:53:36
371
最伟大的职业
职业无贵贱,但是却有一些职业,已经超出了他所能描述的范畴。他们已经不再是一种职业,而是神的代名词。几十年前,还没有所谓的程序员。那些计算机革命的先驱者们,用非人的头脑,给我们的上帝之路修好了起点,于是越来越多的人开始筑起一座座神坛,把这条路引向了天堂。今天,无论是那些工作多年的程序员,还是那些对计算机一无所知的人来说,他们可能从来没有感到过这条通往天堂之路的存在,因为他们走到了歧途,并...
2013-07-29 22:18:08
194
python与web
如果说java是建造高楼的砖石,那么python就是一支素质良好的施工队。有一天,我苦于在ubuntu下没有找到词典应用,不得不打开网页,诸如有道词典这样的,然后输入单词。凑合可用。但是网页内容太多,而且切换不易。于是决定用python解析这些网页,提取翻译。首先,我们需要一个类似httpclient的工具,相当于浏览器的交流工具,然后还要一个html解析器。当然我们不许要自己动...
2013-07-12 08:50:39
158
graphviz画UML类图
说到画图,我们可能首先想到photoshop 这样的工具,不一定人人都是学美术的,但是作为程序员,偶尔画个图,以方便更好的表达技术,那是很常有的事情,实际上画图的工具很多很多。这里,我要介绍一种和他们都不一样的工具, graphviz。 What is Graphviz?Graphviz is open source graph visualization software. Gra...
2013-07-06 16:27:14
826
netty4.0之MultithreadEventLoopGroup
昨天只看到EventLoop了。还有一种MultithreadEventLoopGroup,实际上他们实现的接口都是EventExecutorGroup和EventLoopGroup看看抽象类 MultithreadEventExecutorGroup:实际上她就是一个EventExecutor池。所以她还是提供EventExecutor的。而且这里的EventExecutor的实...
2012-12-19 00:00:39
1105
1
netty4.0 之 EventLoop
在此之前,我们回顾下传统的网络编程。也就是socket。socket编程中,客户端是发起连接的,服务端呢就监听某一个端口。一档客户端连接被监听到,就在客户端和服务端建立一个连接,于是他们就可以传数据了。NIO利用操作系统中的select,epoll等系统特性,避开了线程的开销和限制,由操作系统在数据到来时通知Selector, 当然NIO使用起来,还是需要自己去写一些框架性质的东西,不...
2012-12-17 23:38:38
144
netty4.0 关于Handler
ChannelHandler是netty中核心, 因为看起来是这样。我们看看4.0的ChannelHandler,就会发现其实不太一样。[code="java"]public interface ChannelHandler { /** * Gets called before the {@link ChannelHandler} is added to th...
2012-12-17 00:27:19
156
netty4.0 关于buffer
NIO中的buffer很经典,但是也需要小心翼翼。比如,flip如果不用好,就可能出错。netty中重新封装了buffer,于是ByteBuf出现了。[code="java"]public interface ByteBuf extends ChannelBuf, Comparable {public ByteBufAllocator alloc();public byte[]...
2012-12-14 21:53:09
125
原创 netty 源码之Bootstrap
Bootstrap 以及 ServerBootstrap类都继承自 AbstractBootstrap这个抽象类很有趣,请看[code="java"]public abstract class AbstractBootstrap> { private EventLoopGroup group; private ChannelFactory factory; ...
2012-12-13 21:54:27
149
并发与缓存——读《JCP》
缓存方法在我们编程中经常遇到。例如一个通过很复杂计算的值,但是一旦计算以后,就不再变化,我们可以用缓存存放。最简单的写法如下:[code="java"]Object value = null;if ( (value = cache.get(key)) == null ) { value = compteValue(key); }cache.put(key, value...
2012-11-26 20:57:42
113
CountDownLatch 理解
Latch 在英文中是门阀的意思。也就是控制门的开关的关键。所以,Latch在并发中,就是控制线程访问的。《JCP》中列举了几点用途:1,等待资源初始化。2,等待依赖服务启动。3,等待队友加入活动。具体的Latch有 CountDownLatch,如果只是说功能什么的,还是比较疑惑。CountDownLatch 的功能就是初始化一个值,每次调用countDown方法时这...
2012-11-26 14:20:26
131
java-concurrency 之 JMM
自从JSR-133在jdk5中完善后,java的并发能力大大提升。我们可以使用concurrent包来完成很多线程工作,而不用处理线程所带来的复杂性。这里要说的自然是JMM。这是JSR-133中描述的,并且在jdk1.5后得到完善。如果抛开JMM谈java并发,就显得毫无底气了。因为JSR-133正是为了线程才针对JMM的规范。如果你了解计算机的缓存机制,其实JMM很好理解。为了使...
2012-11-02 11:31:18
113
java concurrency
并发编程是一个趋势。多核的出现,使得并发编程越来越重要。这里对于多核处理器来说,如果跑单一线程的程序,那么利用率是很低的。多线程正好成了人们压榨计算机的利器。多线程是好的,可是,多线程也引入了一些复杂的东西。比如说同步。记得在学操作系统的时候,就学过类似的东西,对临界资源的访问,PV操作啊什么的。万变不离其宗,多线程编程也同样如此。java多线程实现是很简单的,大家也都知道sync...
2012-11-01 23:01:21
154
原创 Java-NIO-Selector
Selector 的出现,大大改善了多个 Java Socket的效率。在没有NIO的时候,轮询多个socket是通过read阻塞来完成,即使是非阻塞模式,我们在轮询socket是否就绪的时候依然需要使用系统调用。而Selector的出现,把就绪选择交给了操作系统(我们熟知的selec函数),把就绪判断和读取数据分开,不仅性能上大有改善,而且使得代码上更加清晰。Java NIO的选择器部分...
2012-07-16 22:52:28
144
学习JavaNIO-文件内存映射
...文件映射有个需要注意的问题,就是你无法确保他被释放了。也就是只有映射的内存被回收,文件才会被释放。否则其他进程访问就是被锁状态。所以这个对于一个进程一个文件。如果多个进程访问一个文件,还是不是很适合。最近看了文件内存映射。在NIO中,使用起来很方便。文件通过内存映射以后,访问速度自然是提高了。当然也有很多问题,现在我们来看看NIO中的内存映射文件。[code=...
2012-05-16 23:03:19
135
原创 JavaNIO-文件通道
文件通道,是一种特殊的通道。对于文件通道来说,是不能阻塞的。所以并不能设置非阻塞模式。对于异步文件I/O来说,这是很多操作系统支持的,NIO也会增强。一个FileChannel只能从RandomAccessFile,FileInputStream和FileOutputStream来获取(getChannel),然后你就获得了某种能力,请看:[code="java"]pack...
2012-04-30 23:32:17
143
JavaNIO-通道
Channel这里的Channel接口很细。一个Channel能做什么呢?[code="java"]package java.nio.channels; public interface Channel { public boolean isOpen( ); public void close( ) throws IOException; }[/code]很简单...
2012-04-29 18:15:19
134
Java NIO 缓冲区基础二
上一篇讲了基本的缓冲区概念,以及NIO的缓冲区属性以及部分操作。现在让我们在看看缓冲区的一些细节。1、缓冲区的创建之前也许你已经看到了。我们使用alocate方法创建一个缓冲区。下面是一个创建方法集合。[code="java"]public abstract class CharBufferextends Buffer implements CharSequence, Co...
2012-04-16 16:07:28
122
Java-NIO-缓冲区基础
NIO中,有自己设计的一套缓冲区系统。使用I/O,离不开缓冲区,高效的缓冲区,往往起到事半功倍的效果。下面就看看NIO中的缓冲区是如何设计的。首先,我们是针对概念来说明缓冲区的属性。缓冲区的四个属性:1、[b]容量[/b](Capacity)这是一个缓冲区被创建后的固定属性,不可改变。代表该缓冲区的最大容量。2、[b]上界[/b](Limit)这个表明当前缓冲区中的元素...
2012-04-15 17:49:44
121
一个面试题
这个题目估计类似一些比赛用的题目。现在先说一个。说是有篮子,可以装球,篮子有一定的容量。问题是,给定篮子数量,篮子容量,还有小球数,求出有几种装法。(原文是英文的)这里还有些限制,比如篮子数不会多余5个,小球不多于50个等。例子:篮子数 容量 小球数2 5 2结果: 3也就是 (0,2),(2,0),(1,1)这三种组合2 5 11结果 0这说明篮子...
2012-04-14 12:45:27
127
ThoughtWorks面试(结对)有感
北京越来越热了,赶到东直门的时候绕了半天路,终于到了。正好准备一间房间做传说中的结对编程。我一看上面写着“元”,顿感不爽(最近在看宋史)。桌子上有两套鼠标键盘,两个显示器,一个是戴尔笔记本的显示器,一个是台式机的显示器。然后HR很又好的倒好水,说一会儿有两个人来面试,一个作为结对的伙伴,一个算“监军”吧。然后来了两个小伙子。问我习惯用台式机键盘还是笔记本键盘,我说随便吧,他说你还是自己...
2012-04-06 17:23:26
2894
1
每天一个设计模式-- Strategy模式
在学习策略模式的时候,我有点迷茫了,因为他和简单工厂模式很像。[img]http://dl.iteye.com/upload/attachment/0066/0267/104fe5e0-c745-3481-88a2-7a8ce2a39ba2.gif[/img]这里的Context不就是工厂吗?对,如果只是从图上看确实一样。但是,我们会发现,他们的侧重点不一样。也就是意图...
2012-04-05 14:47:42
123
TDD 学习笔记(三)
接上一篇。这里到了比较关键的时候了。Kent跨大步了,但是如何找到合适的步伐,还是需要不断从小步尝试。现在看看目前的to-do lists吧。[list][*] 5美元 + 5美元 = 10 美元[*]5美元 + 10法郎 = 10 美元 假设美元对法兰的汇率是 1:2[/list]这里要注意的是两件事,首先,加法的引入,然后,汇率实现。我们需要快速在脑子里...
2012-04-03 23:47:30
175
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人