From: Donald Knuth - My advice to young people (93/97) 译者: 李秋豪 原文 Donald Knuth (b. 1938), American computing pioneer, is known for his greatly influential multi-volume work, 'The Art of Computer Programming', his novel 'Surreal Numbers', his inventio…
高德纳(Donald Ervin Knuth,1938年),美国著名计算机科学家,斯坦福大学电脑系荣誉教授.高德纳教授被誉为现代计算机科学的鼻祖,在计算机科学及数学领域发表了多部 具广泛影响的论文和著作,与Edsger Wybe Dijkstra并称为我们这个时代最伟大的计算机科学家的人. 高德纳还是The Art of Computer Programming(中译本<计算机程序设计艺术>)的作者以及TeX和Metafont排版软件的发明人.   简历 1963年高德纳获得加州理工数学博士学…
概念 高德纳箭号表示法是种用来表示很大的整数的方法,由高德纳于1976年设计.它的意念来自幂是重复的乘法,乘法是重复的加法. 定义 计算 一个箭头 2↑3=2×2×2=8 2↑4=2×2×2×2=16 3↑3=3×3×3=27 a↑b=    两个箭头 2↑↑3=2↑2↑2(注意:此处要从右往左计算)=2↑4=16 3↑↑3=3↑3↑3=3↑27=  =7625597484987 4↑↑3=4↑4↑4=4↑256≍  a↑↑b=   三个箭头 2↑↑↑3=2↑↑2↑↑2=2↑↑2↑2=2↑↑4=…
看了<李开复给计算机系大学生的建议>这篇文章,让我对Donald Knuth这个人产生了兴趣,他是何许人也?于是便有下文. 引用:(1)练内功.不要只花功夫学习各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目.要把数据结构.算法.数据库.操作系统原理.计算机体系结构.计算机网络,离散数学等基础课程学好.不妨试试Donald Knuth的Art of Computer Programming里的题目,如果你能够解决其中的大部分题目,就说明你在算法方面的功力不错了.          D…
李开复说,练内功,不要仅仅花功夫学习各种流行的编程语言和工具,以及一些公司招聘广告上要求的科目.要把数据结构.算法.数据库.操作系统原理.计算机体系结构.计算机网络,离散数学等基础课程学好.最好还是试试Donald Knuth的Art of Computer Programming里的题目,假设你可以解决当中的大部分题目,就说明你在算法方面的功力不错了. Donald Knuth自传的开头这样写道:"Donald Knuth真的仅仅是一个人么?"作为世界顶级计算机科学家之中的一个.Kn…
丸了丸了这位就是我人生的第一位爱豆了owo 感觉他的经历,气质都是我期望的类型呀. 即使没有人家的智商和绝顶天赋,也不断向彼努力吧. 从小喜欢音乐,会多种乐器(管风琴) 其实长得人高马大,高中校篮球队成员,甚至为之编写过程序 工作会废寝忘食 将计算机程序设计视为艺术:艺术是人创造的,而科学不是:艺术是可以无止境提高的,而科学不能:艺术创造需要天赋,而科学不需要. 开源代码运动最早倡导者之一 打字速度比思考速度快(?) 谈吐有风格(我又没见过本人)(至少发表的东西有风格) 将一生奉献给自己的理想…
It's better to light a candle than to curse the darkness 老生常谈的不要使用select * 如果硬要使用select *,那么就请忍受一下以下几种可能会出现的问题 select * 每次都把所有的字段查询出来,但并不是每个字段都是必要的,会造成额外的传输带宽资源,性能不可取 在完成分析之后,MySql会进行优化,也就是选择执行效率最高的(Mysql自己认为的,但并不一定是最优),使用select * 会阻碍优化器选择更优的执行计划,比如走…
http://www.youtube.com/watch?v=75Ju0eM5T2c I took a note of what knuth said in the video. 1. Don't disbelief that because something is trandy, something is good.  I probably go the other extreme, if I find too many people adopt an idea, I probably th…
前言 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议29.区别LINQ查询中的IEnumerable<T>和IQueryable<T> 建议30.使用LINQ取代集合中的比较器和迭代器 建议31.在LINQ查询中避免不必要的迭代 建议29.区别LINQ查询中的IEnumerable<T>和IQueryable<T> LINQ查询方法一共提供了两类扩展方法,在System…
第一章  Java开发中通用的方法和准则 建议1:不要在常量和变量中出现易混淆的字母: (i.l.1:o.0等). 建议2:莫让常量蜕变成变量: (代码运行工程中不要改变常量值). 建议3:三元操作符的类型务必一致: (不一致会导致自动类型转换,类型提升int->float->double等). 建议4:避免带有变长参数的方法重载: (变长参数的方法重载之后可能会包含原方法). 建议5:别让null值和空值威胁到变长方法: (两个都包含变长参数的重载方法,当变长参数部分空值,或者为null值时…
http://blog.csdn.net/aishangyutian12/article/details/52699938 第一章  Java开发中通用的方法和准则 建议1:不要在常量和变量中出现易混淆的字母: (i.l.1:o.0等). 建议2:莫让常量蜕变成变量: (代码运行工程中不要改变常量值). 建议3:三元操作符的类型务必一致: (不一致会导致自动类型转换,类型提升int->float->double等). 建议4:避免带有变长参数的方法重载: (变长参数的方法重载之后可能会包含原方…
软件开发是现时很火的职业.据美国劳动局发布的一项统计数据显示,从2014年至2024年,美国就业市场对开发人员的需求量将增长17%,而这个增长率比起所有职业的平均需求量高出了7%.很多人年轻人会选择编程作为自己职业生涯的起点.如何学好编程?如何成为优秀的程序员?如何规划好程序员这个职业?是许多年轻人关注的问题.在Infoworld最近做的一次调查中,邀请到了JavaScript之父Brendan Eich,Clojure 创建者Rich Hickey,Spring Framework创建者Rod…
开始介绍前先膜拜之~ 密尔沃基市,是美国威斯康辛州最大的城市.1938年1月10日,圣诞刚过不久,密尔沃基市民像往常一样平静地生活着.咖啡店里,有人在议论着罗斯 福总统的救市新政策,有人在议论着到底该不该限制公民持枪.而更多的人呢,则一边品尝着密尔沃基闻名全国的啤酒,一边听着广播里面的实时战况:侵华日军登 陆青岛了.谁也没有想到,这个平静的日子将载入这座城市的史册.这天,密尔沃基路德教会高中的一名印刷管理员,高兴地迎来了一个健康的儿子.他为儿子取了 一个响亮的名字,这个名字在不久的将来,成为了计…
戴维·威廉·唐纳德·卡梅伦(英语:David William Donald Cameron,1966年10月9日-),汉化译名为甘民乐.现任英国首相.第一财政大臣.公务员事务部部长和保守党党魁,也是英国下议院威特尼选区的现任议员,而且是英国近二百年来最年轻的首相.卡梅伦内阁也是二战后英国首个联合政府. 爱不应该被法律而分开,如果法律这样做了,那么这个法律需要被改变. 假如你们不喜欢我,我不会永远在这个位置上.假如你们不喜欢现在的政府,它也不会永远执政下去. 但如果你们离开英国,那就真的永远回不来…
http://dev.cmcm.com/archives/107 Posted on 2014年10月16日 by liuding | 7条评论 以下优化都是基于CentOS系统下的一些优化整理,有不全或有争议的地方望继续补充完善. 一.mysql层面优化 1. innodb_flush_log_at_trx_commit 设置为2 设置0是事务log(ib_logfile0.ib_logfile1)每秒写入到log buffer,1是时时写,2是先写文件系统的缓存,每秒再刷进磁盘,和0的区别是…
这两天一个项目在做压力测试的时候,发现只要并发数超过250个,连续测试两轮就会有连接异常出现,测试轮数越多出现越频繁,异常日志如下: Caused by: com.caucho.hessian.client.HessianConnectionException: 500: java.io.IOException: Error writing to server at com.caucho.hessian.client.HessianURLConnection.sendRequest(Hessia…
1.公司业务调整,把一部分数据由Redis转至MongoDB,业务在测试环境正常,生产环境上线后发现压力一上来MongoDB的服务直接把CPU占满了,和开发的同学分析了一下也参考了一下百度上类似的问题,最后定位原因:未使用索引. 解决方法很简单:对应的关键字段创建索引即可. 参考命令如下: >use Data;                                            #进入数据库Data,注意区分大小写: >db.stats();                 …
以下优化都是基于CentOS系统下的一些MySQL优化整理,有不全或有争议的地方望继续补充完善. 一.mysql层面优化 1. innodb_flush_log_at_trx_commit 设置为2设置0是事务log(ib_logfile0.ib_logfile1)每秒写入到log buffer,1是时时写,2是先写文件系统的缓存,每秒再刷进磁盘,和0的区别是选2即使mysql崩溃也不会丢数据. 2. innodb_write_io_threads=16(该参数需要在配置文件中添加,重启mysq…
一.慢查询日志 慢查询日志帮助开发和运维人员定位系统存在的慢操作.慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来.Redis客户端一条名利分为如下四部分执行: 说明:①慢查询日志只是统计步骤3)执行命令阶段 ②客户端超时不一定慢查询,但是慢查询是客户端超时的一个可能原因. 二. 慢查询的配置参数 2.1 慢查询的预设阀值  slowlog-log-slower-than slowlog-log…
前言: 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步    1.同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其它的命令. 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息…
原文地址 http://mesos.apache.org/documentation/latest/high-availability-framework-guide/ 阅读建议:有写过或者看过Mesos Framework的开发者,或者对Mesos有较多了解的使用者,文章的部分其实包含了分布式系统设计的一些通用的思路.对于分布式系统感兴趣的人也适合本文. 我基于本文改进了自己的框架的可用性,非常有效.另外Mesos支持restful接口,基于Restful接口,我们可以采用更加稳定的.开源的一…
写在前面 让我们来讨论一个我最近一直在思考的问题:Python 的性能.顺便说一下,我是 Python 的忠实拥趸,我在各种情况下都会积极尝试使用 Python 来解决问题.大家对 Python 最大的抱怨就是它的速度慢.有些人甚至因为 Python 的速度不如某个语言而拒绝使用它.本文中我将阐述,即便 Python 这么慢,为什么还值得你对它进行尝试. 速度不再关键 之前,程序的运行时间相当长.CPU 资源和内存资源都十分珍贵,程序的运行时间在这种情况下是一个重要指标.计算机本身十分昂贵,当然…
目录 疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之 -30[ 博客园 总入口 ] 写在前面 1.1. 快速的能力提升,巨大的应用价值 1.1.1. 飞速提升能力,并且满足实际开发要求 1.1.2. 越来越多.大量的应用场景 1.2. 高并发架构中的6大集群 1.2.1. 支撑亿级流量的IM整体架构 1.2.2. IM通讯协议介绍 1.2.3. 长连接和短连接 1.2.4. 技术选型 1.3. 基于Redis 设计分布式Session 1.3.1. SessionLocal本地会话…
目录 Netty+Zookeeper 亿级 高并发实战 (长文) 写在前面 1. 高并发IM架构与部分实现 1.1. 高并发的学习和应用价值 1.1.1. 高并发IM实战的价值 1.1.2. 高并发IM的应用场景 1.2. 高并发IM的架构 1.2.1. 支撑亿级流量的IM整体架构 1.2.2. IM通讯协议介绍 1.2.3. 长连接和短连接 1.2.4. 技术选型 1.3. 分布式IM命名服务 1.3.1. IM节点的POJO类 1.3.2. IM节点的ImWorker类 1.4. 即时通讯消…
编程是非常酷的一件事情,但是在酷炫的背后它对很多人来说还是挺难的.很多人在学习编程之初就被困难击败了. 当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识.只要你通过了这一困难的学习阶段,你就会发现一个全新的世界. 以下是一些能够帮助你快速提高编程技巧的建议. 1.  多写代码 学习某件事情最好的办法就是练习.你应该花大量时间去构建和编写代码除非你认为练习对你的帮助不大.你可以从写一些基础知识相关的简单程序开始. 2.  参与不同类型的项目 当你对某种开发语言非常熟悉之后,…
========== ==多进程== ========== 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识. Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回. 子进程永远返回0,而父进程返回子进程的ID.这样做的理由是,一个父进程可以fork出很多子进程,…
Web渗透测试漏洞手册及修复建议 0x0 配置管理 0x01 HTTP方法测试 漏洞介绍: 目标服务器启用了不安全的传输方法,如PUT.DELETE等,这些方法表示可能在服务器上使用了 WebDAV,由于dav方法允许客户端操纵服务器上的文件,如上传.修改.删除相关文件等危险操作,如果没有合理配置dav,有可能允许未授权的用户对其进行利用,修改服务器上的文件. 修复建议: 1.关闭不安全的传输方法,只开启POST.GET方法. 2.如果服务器不使用 WebDAV 可直接禁用,或为允许webdav…
前文回顾 建议前面文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 「老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩.击穿.穿透」 Redis 主从模式 在生产环境使用 Redis ,完全禁止使用单机模式,单机模式风险太高,一台机器出于某些原因挂掉,就会导致整个缓存服务死掉,所以,我们需要使用多台机器来保证 Redis 的高可用,同时也顺便提升了并发性. 对于 Redis 缓存而言,更常见的应用场景是支持读高并发,而写高…
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483891&idx=1&sn=17dcd7cd0645df509c8e49059a2f00d7&chksm=e9fdd407de8a5d119d439b70dc2c381ec2eceddb63ed43767c2e1b7cffefe077e41955568cb5&cur_album_id=1341273083637989377&sc…
文章转载自:https://mp.weixin.qq.com/s/2sWHt6SeCf7GGam0LJEkkA 一.环境准备 使用服务器 Centos 8.4 镜像,默认操作系统版本 4.18.0-305.3.1.el8.x86_64. 注意:由于云服务器,无法使用VIP,没有办法使用keepalive+nginx使用三节点VIP,这里在kubeadm init初始化配置文件中指定了一个master01节点的IP. 如果你的环境可以使用VIP,可能参考:第五篇 安装keepalived与Ngin…