[置顶] 程序员修炼之路

0.前言:在路上,再上路在前言《程序员修炼之路-(0)前言:在路上, 再上路》中已经对知识体系进行了梳理,主要分为问题定义、算法与数据结构、系统平台API、编程语言实现、代码设计、测试验证等等。目前集中精力编写算法与数据结构部分,这可能也是最艰难的一部分。其他部分之前零零散散有所涉及,之后再慢慢补充。1.计算机数学离散数学与具体数学。2.算法分析设计对于这一部分的内容编排,主要以《算法设计与分析基础...
阅读(4510) 评论(6)

[置顶] 内存计算技术资料整理

先来看一下一张技术的全景图,其中涉及内存计算的技术标成红色。 1)事务处理:主要分为Cache(Memcached, Redis, GemFire)、RDBMS、NewSQL(以VoltDB为首的)三部分,缓存和NewSQL数据库是关注的重点。2)流式处理:Storm本身只是计算的框架,而Spark-Streaming才实现了内存计算式的流处理。3)分析阶段的对比:Ø  通用处理:MapReduc...
阅读(10422) 评论(3)

程序员如何学数学

最近在找一些传统离散数学以外的数学书,想从其他角度补习一下计算机科学相关的数学知识,偶然间就看到一些人都推荐了这篇文章Math For Programmers,通读了一遍果然不错。但文章有点长,所以没逐字逐句地翻译,只是对每个部分做一下总结,并标注了一些写得很不错的地方。非常难能可贵地是,作者并没有像老师或者大牛一样说教或者“炫技”,而是一直在强调两点:兴趣热情和解决问题的直觉。不管通篇作者说了多少...
阅读(82) 评论(0)

北美CS求学找工指南

这篇文章主要谈谈来美求学工作这一路的点点滴滴,因为之前留言中不少同学对这方面内容比较感兴趣,有些已经在准备,有些还在犹豫,希望本文能对大家有些许帮助。因为来美的途径也有不少,有上学、有投资、有通过国内公司transfer过来,所以这里只能谈谈最了解的求学工作这条路吧。下面是之前写过的一些留学生活方面的文章,按照时间顺序排列: 而立之年说离别 入学一月谈 春夏秋冬又一年 毕业了,开始新的生活! 关于课...
阅读(5144) 评论(22)

毕业了,开始新的生活!

转眼间就毕业了,短短的18个月过得真快!因为一直忙于上课找工作,所以好久没发文章了。现在已经重新开始上班一个月了,渐渐安稳了下来。开始适应新生活,也重新开始走自己的学习节奏。希望渐渐能多写一些技术文章,继续学习进步!这篇“回归”的文章就先简要总结一下这一年半的经历吧,也算是给过去的生活画上个句号。1.研究生学习总结读研期间最骄傲的三件事儿就是:读了一所不算很有名但是性价比很高的学校,选了很多很好的课...
阅读(19787) 评论(101)

当你编码时你在做什么:谈编程的本质(一)状态机

当你编码时你在做什么:谈编程的本质(一)状态机1.State Machine这学期学习了两门有意思的课,Theory of Computation和Distributed System,一低一高完全两个层次上的分支,却意外地发现两者在理论方面的重叠——那就是状态机。在Theory of Computation中,DFA、NFA、Turing Machine都是非常经典的State Machine,而...
阅读(2514) 评论(4)

当你编码时你在做什么:谈编程的本质(零)

当你编码时你在做什么:谈编程的本质(零)编码时间也不算短了,一直想写这么一篇文章,但苦于知识面和功力不够。经过了一年的读研学习,终于对什么是计算、什么是编程的本质有了些领悟。于是断断续续花了几天时间,斗胆提笔来谈一谈自己的理解。写着写着就越写越多,于是干脆就写成一个系列吧。还没搞懂的就先放下,等搞懂了写好了再发,用这个系列先占个位置,督促自己不断地深入学习,不要停歇。目前已经想到的比较重要的内容有:...
阅读(2003) 评论(2)

如何突破编程学习的瓶颈期

如何突破编程学习的瓶颈期1.谁未曾彷徨对于每个学习编程的工程师来说,肯定都会遇到或长或短的瓶颈期。基本症状就是:不知道该学什么、该怎样继续提高。看什么都能上手弄一弄,但好像又什么都不精通。本文谈谈笔者在不到十年的整个职业生涯中碰到的三次瓶颈期,以及是如何克服的。方法因人而异,本文只供大家参考借鉴。2.真实的项目是什么样这是本人在本科学习时还未实习前最好奇的一点。因为学了C++/JAVA等专业课,尤其...
阅读(1887) 评论(4)

春夏秋冬又一年

春夏秋冬又一年春夏秋冬,一年又一年。可总有那些岁月,可能是几个月,几天甚至一瞬间,让人刻骨铭心难以忘怀的。2016就是我生命中最难忘的一年,不是几个月、几天或者一瞬间,而是满满的一年。到国外求学,学到自己想要的东西,还度过了三十岁的生日,辛苦忙碌却又非常充实而欣慰的一年。1.春:飘洋过海去求学2016最重要的一件事就是:工作了六七年后,又重新回到了校园。本科学习时的种种遗憾,终于有了机会弥补。一整年...
阅读(4073) 评论(40)

当Linux Mint遇上Thinkpad

当Linux Mint遇上Thinkpad1.再谈好工具的重要性大概两年前开始使用Linux Mint,从此无法自拔,真的太方便了!但真正进入Linux世界之前,笔者也是经历了小心翼翼在虚拟机里用Ubuntu、安装Cygwin模拟等一系列的过程,大概也有个两三年的适应之后,才真正在真机上安装Linux Mint的。安装过程出奇的简单,真后悔没早点弄个双系统。以下便是之前整理关于Linux系统安装、开...
阅读(2191) 评论(5)

Leetcode分类解析:二分查找

Leetcode分类解析:二分查找1.原始二分查找1.1 典型例题35-Search Insert Position (Medium): Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it w...
阅读(2137) 评论(3)

Leetcode分类解析:链表

Leetcode分类解析:链表1.分类地图按照惯例,首先来看一下链表在本系列所处的位置: 基础结构(Fundamentals) 1.1 数组和链表(Array&List):插入、删除、旋转等操作。 1.2 栈和队列(Stack&Queue):栈的典型应用。 1.3 树(Tree):构建、验证、遍历、转换。 1.4 字符串(String):转换、搜索、运算。 积木块(Building Bloc...
阅读(2600) 评论(2)

Linux Mint 18升级失败记

Linux Mint 18升级失败记上月末看到Linux Mint 18发布的消息,非常期待,但官方迟迟没有给出具体的升级办法,于是就没敢轻举妄动。今天看到官方终于发布升级手册了,于是简单备份了一下系统(大部分重要资料都保存在DropBox了)就开始动手升级了。结果不出所料,失败了,千小心万小心,还是没躲开这一劫……1.升级失败满心欢喜按照升级Instruction一步步来,结果在最后一步升级各种包...
阅读(5385) 评论(1)

Leetcode分类解析:组合算法

Leetcode分类解析:组合算法所谓组合算法就是指:在解决一些算法问题时,需要产生输入数据的各种组合、排列、子集、分区等等,然后逐一确认每种是不是我们要的解。从广义上来说,组合算法可以包罗万象,甚至排序、各种搜索算法都可以算进去。最近读《The Algorithm Design Manual》时了解到这种归类,上网一查,甚至有专门的书籍讲解,而且Knuth的巨著TAOCP的第四卷就叫组合算法,看来...
阅读(4808) 评论(3)

操作系统内核的绝佳学习材料——JOS

操作系统内核的绝佳学习材料——JOS 前言:关于JOS和一些经验之谈 这一学期的操作系统课使用的是MIT用于教学的JOS操作系统,并且StonyBrook在其基础上做了大量改动,最重要的变化就是从32位移植到了64位。因为个人之前曾系统学习过Linux 0.11内核(《操作系统内核Hack:(四)内核雏形》,实现到时钟中断部分停下了),深知自己从零开始实现内核的工作量。即便是如我个人实...
阅读(7860) 评论(1)

深入数据库理论:查询语言

深入数据库理论:查询语言“Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows w...
阅读(5446) 评论(3)

关于算法,那些你不知道的事

关于算法,那些你不知道的事1.算法,不止于刷题提到算法,不管是科班出身还是半路出家的程序员可能都会说上几句,算法谁没学过谁不知道啊?对于走工业界路线而非学术路线的同学来说,算法学习的最大作用也许是找工作…… 毕竟工作后,绝大多数时候都用各种成熟的类库,少有自己实现高级数据结构和算法的时候。但刚结束一学期修的算法课,上得我还真跟没学过算法似的,让我大开眼界,虽然每次课上我都听的不是很懂,但每节都期盼着...
阅读(7491) 评论(6)

Leetcode算法题分类解析:(一)总览

Leetcode算法题分类解析:(一)总览1.为何/如何刷题1.1 必要性刷题刷题,从“刷”字就能看出其中的机械性和应试性,但这就是几乎所有IT公司面试中的一环。尽管面试者可能也对这种考察方式不是很满意,可在没有更好的方式之前,这个现状会一直保持下去。我们改变不了这个现状,那就适应它吧。1.2 分类攻破为什么要这么麻烦地分类呢?照着Leetcode的题目顺序做不就好了?个人觉得分类有几个动机: 一是...
阅读(4847) 评论(2)

十年之后重学C语言

十年之后重学C语言1.每个程序员都该有本翻烂的K&R1.1 多次自学,不得其法距离大学时学习C语言已有十个年头了。印象里最深的就是当时一位海归老师,在讲课时流露出对K&R的崇敬之情,以及用Hanoi塔的例子讲解递归。但当时的我还无法体会,也只是不走心的听听。那时的我还不知道K&R有多牛,递归有多重要。十年间经历了很多项目,也业余时间自学了很多东西。温习过C、自学过汇编、尝试操作系统内核。看过不少推荐...
阅读(8218) 评论(9)

CS研究生学习阶段必读书籍

CS研究生学习阶段必读书籍书单、书单、还是书单现在各种大牛推荐的书单已经太多太多了,大多包含如《Code Complete》、SICP、龙书等等经典之作,但后果就是十分雷同。因为特别经典的书的数量有限吧,多少年也出不了一本吧。所以,为了能有些新意,笔者决定推荐书单时针对特别群体或特别话题,让推荐的东西更多样性、有趣,也更有价值一些。本文就针对计算机科学专业的研究生群体,推荐一些教材和必读书籍。特别说...
阅读(6916) 评论(4)

留美CS学习的第一学期总结

留美CS学习的第一学期总结来美学习的第一学期就这么结束了!总体来说,在StonyBrook的这一学期没有辜负我的期望,有些方面甚至远超出我的预期。用受益匪浅四个字都不足以形容收获之大,夸张一点说:可能学到了许多自己可能一辈子都不会想到的东西。下面简单整理一下自己的心得和收获,有些东西也许对大家开阔思路能有些帮助。1.专业与课程特点CS专业可能是研究生专业里属得上的“累”专业了,学习压力是很大的!几乎...
阅读(8460) 评论(8)

算法学习的新阶段

算法学习的新阶段最近忙得一塌糊涂,所以根本没时间总结整理学习成果了。之前刚开学不太忙时写了几篇都没写完,因为发现面前开启了一道道大门,想系统整理的东西太多了。于是时隔快两个月,先发一篇以作记录,系统整理只能等到暑假开始时了……1.基本数据结构一开始接触到算法是在大学,具体有什么用也不清楚。但老师一般都说:算法+数据结构=程序。当时听起来觉得太重要了(确实重要,但现在知道了,程序的世界何止算法和数据结...
阅读(3910) 评论(2)
362条 共19页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:2808690次
    • 积分:22399
    • 等级:
    • 排名:第312名
    • 原创:304篇
    • 转载:56篇
    • 译文:2篇
    • 评论:1465条
    博客专栏
    最新评论