IT杂谈日记
三名狂客
success without applause,diligence without reward!Becoming、Cognifying、Flowing、Screening、Accessing、Sharing、Filtering、Remixing、Interacting、Tracking、Questioning、Beginning.
展开
-
给程序员的10条中肯建议
1.想清楚,再动手写代码刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌!2.不交流,就会头破血流不爱说话和沟通,需求都理解错误了,最后做出来才发现,只能加班返工。3.文档没人看,但还是要写文档的作用大部分时候不是用来沟通的,是用来做记录的,大部分需求还是通过口头沟通,但是不写文档做记录,后续就容易扯皮。转载 2018-01-23 22:36:58 · 260 阅读 · 0 评论 -
背包问题详解
转载链接 http://web.jobbole.com/93722/01背包问题篇幅可能有点长,但请耐心看一下,你会觉得物有所值的。本文以后还会扩展,因为我还没有想到完全背包与多重背包打印物品编号的方法。如果有高人知道,劳烦在评论区指教一下。注意,由于社区不支持LaTex数学公式,你们看到${xxxx}$,就自己将它们过滤吧。1.1 问题描述:有${n}$件转载 2018-01-23 22:59:16 · 630 阅读 · 1 评论 -
Linux面试题
1.解释下什么是GPL,GNU,自由软件?GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。2.如何选择Linux操作系统版本?一般来讲,转载 2018-01-24 09:24:37 · 651 阅读 · 0 评论 -
商业项目中最受欢迎的 7 种编程语言
ElixirElixir 是一个相当年轻的语言,自然几乎所有的项目都是基于最新版本的。40% 的项目使用的是今年发布的Elixir 1.4 及以上版本,该版本于 2016 年 1 月 1日发布。GoGo的发布政策规定,支持Go的每个主要的版本。因此,使用Go的商业项目中有60%正在使用官方支持的版本。Java大多数项目都基于Java 8。Ja转载 2018-01-07 20:05:15 · 751 阅读 · 0 评论 -
机器学习导论
在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻 这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责转载 2018-01-31 21:05:33 · 591 阅读 · 0 评论 -
2017年前端框架情况
上图显示了2016年10月至2017年10月的12个月期间,各个框架的绝对受欢迎程度及其增长情况。从总体情况中,可以得到以下结论Preact 虽然很小,但发展最快。Vue 的成长速度也非常快。Ember 在过去的12个月里受欢迎程度有所上升。Backbone 已经不再那么受欢迎了。当用户从1.x转移到2.x时,Angular 的受欢迎程度保持不变。jQuery 仍然非常受欢迎,但用户使用量越来越少转载 2018-01-17 23:01:12 · 711 阅读 · 0 评论 -
今日头条推荐算法原理全文详解
如今,算法分发已经逐步成为信息平台、搜索引擎、浏览器、社交软件等几乎所有软件的标配,但同时也开始面临各种不同的质疑、挑战与误解。2018年1月,今日头条资深算法架构师曹欢欢博士,首次公开今日头条的算法原理,以期推动整个行业问诊算法、建言算法。通过让算法透明,来消除各界对算法的误解。据悉,今日头条的信息推荐算法自2012年9月第一版开发运行至今,已经经过四次大调整和修改。目前服务全球转载 2018-01-17 23:21:48 · 950 阅读 · 0 评论 -
Spark大数据项目架构
一、实际项目处理流程二、具体的功能翻译 2018-01-26 12:59:23 · 762 阅读 · 0 评论 -
常用正则表达式
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$正数、负数、和小数:^(\-|\+)?\d转载 2018-02-02 16:20:17 · 186 阅读 · 0 评论 -
热门java开源项目
1. Apache的开源软件列表http://www.oschina.net/project/apache2. Java开源Apache项目http://www.open-open.com/56.htm3. 阿里巴巴的开源软件列表http://www.oschina.net/project/alibaba4. 百度的开源软件列转载 2018-01-26 19:56:51 · 864 阅读 · 0 评论 -
学会Git
转载 2018-01-27 10:28:03 · 235 阅读 · 0 评论 -
GitHub上Python的爬虫工具
网络相关通用urllib - 网络库(标准库)requests - 网络库grab - 网络库(基于pycurl)pycurl - 网络库 (与libcurl绑定)urllib3 - 具有线程安全连接池、文件psot支持、高可用的Python HTTP库httplib2 - 网络库RoboBrowser - 一个无需独立浏览器即可访问网页的简单、pyth转载 2018-01-28 21:16:10 · 3455 阅读 · 0 评论 -
前端视频教程
Vue2.x基础视频(27集)技术胖Vue2.0基础视频01__HelloWord实例技术胖Vue2.0基础视频02_v-if和v-show 技术胖Vue2.0基础视频03_v-for循环指令技术胖Vue2.0基础视频04v-text和v-html指令技术胖Vue2.0基础视频05v-on指令技术胖Vue2.0基础视频06v-model数据源绑定指令技术胖Vue2.转载 2018-02-04 23:57:09 · 1134 阅读 · 0 评论 -
90 个名企笔试题和算法题
名企笔试名企笔试:美团2016招聘笔试(股票交易日)名企笔试:搜狐2016招聘笔试题(扎金花)名企笔试:凤凰网2015招聘(二分查找)名企笔试:4399游戏校招笔试题(快速排序)名企笔试:蘑菇街2016招聘笔试(回文串)名企笔试:网易招聘笔试(升级之路)名企笔试 : 完美世界招聘笔试(子序列)转载 2018-01-20 23:02:26 · 1066 阅读 · 0 评论 -
认知时代的人工智能与机器人
认知时代的人工智能与机器人在2017年5月18日SR SUMMIT 2017第五届(北京)国际服务机器人核心技术及渠道应用大会上,中国人工智能学会常务理事、清华大学教授、智能技术与系统国家重点实验室常务副主任孙富春带来了“认知时代的人工智能与机器人”的主题演讲。孙教授提到,人工智能( AI )过去主要研究的是机器认知,AI 的现实目标之一,就是用计算机实现人类的智能所能翻译 2018-02-05 19:30:07 · 1030 阅读 · 0 评论 -
TCP三次握手与四次挥手
引言TCP三次握手和四次挥手不管是在开发还是面试中都是一个非常重要的知识点,它是我们优化web程序性能的基础。但是大部分教材都对这部分解释的比较抽象,本文我们就利用wireshark来抓包以真正体会整个流程的细节。三次握手根据下面这幅图我们来看一下TCP三次握手。p.s: 每个箭头代表一次握手。第一次握手client发送一个SYN(J)包给server,然后等待se转载 2018-02-06 22:31:35 · 303 阅读 · 0 评论 -
2018年Java开发值得学习的10大技术
作为一个开发人员,我们最大的挑战就是保持自己了解新的技术。技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架。就拿2017年来说,AR、VR、区块链、人工智能等等已经扑面而来了。除了这些离我们较远的,说几个离我们最近的:JDK 9、 Spring 5、 Spring Security 5、 Spring Boot 2、ServiceMesh等。这一年对于一个Jav转载 2018-02-07 20:30:37 · 26175 阅读 · 2 评论 -
IT行业的三大定律
一、摩尔定律 相比汽车工业等传统行业,计算机行业的发展速度则快很多。早在1965年,英特尔公司创始人戈登-摩尔(Gordon Moore)博士就提出,在至多10年内,集成电路的集成度会每两年翻一番。 后来果然如此。并且大家把这个周期缩短至18个月。现在,每18个月,计算机等IT产品的性能会翻一番。或者说相同性能的计算机等IT产品,每隔18个月价钱就会降一半。 ...转载 2018-03-07 13:42:59 · 8178 阅读 · 0 评论 -
Windows 系统必备软件
一、浏览器1.第一名必须是谷歌 Chrome 浏览器,启动快、速度快、插件也多,全球用户最多。如果你想拥有一个浏览快速、更新频繁的网络体验,选它没错。Chrome 稳定版64位最新版下载:谷歌服务器63.0.3239.108(64位)缓存服务器63.0.3239.108(64位)Chrome 稳定版32位最新版下载:谷歌服务器63.0.3239.108(32位)缓存服务器63.0.3239.108...转载 2018-03-01 00:20:03 · 1366 阅读 · 0 评论 -
十大经典算法
第十名:Huffman coding(霍夫曼编码) 霍夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩的熵编码(权编码)算法。1952年,David A. Huffman在麻省理工攻读博士时所发明的,并发表于《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文。第...转载 2018-03-01 15:35:13 · 8583 阅读 · 0 评论 -
10大基础实用算法
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(...转载 2018-03-01 15:40:21 · 244 阅读 · 0 评论 -
程序员书单合集
1、java学习基础编程篇下载地址:http://blog.csdn.net/shenzhq1980/article/details/48375543Java程序设计语言.(美国)阿诺德.清晰版 JAVA2核心技术第1卷.基础知识7thJAVA.2核心技术.卷II:高级特性7thJava语言程序设计-基础篇(原书第8版)Java语言程序设计-进阶篇(原书第8版)Java核心技术 卷II 高级特性 ...转载 2018-03-01 19:46:44 · 595 阅读 · 0 评论 -
一个有效的面试——善用STAR法则
下面从两个招聘官和求职者两个维度来简单阐述:一、对于招聘官而言首先基于一个原理,那就是成功面试公式:成功的面试 = 把握正确清晰的用人标准 + 挖掘真实匹配的应聘者信息 = 以素质模型去“发问” + 用STAR方式去“追问”那么什么是STAR行为面试法?估计很多人都知道。行为面试,也称行为事件访谈,它是一种效度较高的面试技术。在行为面试中,追问是必不可少的。 获取...转载 2018-03-02 21:35:50 · 13774 阅读 · 0 评论 -
TCP/IP三次握手与四次挥手
背景和女朋友异地恋一年多,为了保持感情我提议每天晚上视频聊天一次。从好上开始,到现在,一年多也算坚持下来了。问题有时候聊天的过程中,我的网络或者她的网络可能会不好,视频就会卡住,听不到对方的声音,过一会儿之后才会恢复。中间双方可能就要不断的确认网络是否恢复,但是有时候会:她:“你可以听到了吗?”我:“可以了,你呢?”、她:“喂喂,你可以听到了吗?”我:“可以了,我可以听到了,你呢?”她:“你可以听...转载 2018-03-03 21:58:00 · 249 阅读 · 0 评论 -
查看各个java版本源码和API
一、各个版本API (1) java9 下载(2) java8 下载(3) java7 下载二、各个版本源码(1) java9 java9新特性(2) java8(3) java7补充 git 使用 (1) 教程 (2) 自我总结...原创 2018-03-20 13:57:32 · 3887 阅读 · 2 评论 -
谈谈2018华为精英挑战赛
背景介绍云平台为了满足不同租户的需求,提供了一种可随时自助获取、可弹性伸缩的云服务器,即弹性云服务器(Elastic Cloud Server,ECS)。为容纳更多的租户请求、并尽可能提高资源利用率、降低成本,自动化、智能化的资源调度管理系统非常关键。由于租户对ECS实例(虚拟机,VM)请求的行为具有一定规律,可以通过对历史ECS实例请求的分析,预测...翻译 2018-04-14 23:55:26 · 2940 阅读 · 0 评论 -
了解阿里“dubbo”服务框架
“分布式架构”:后来我按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。通过系统之间配合完成整个业务逻辑。但是随着我的网站功能的日益完善,我发现各个模块有一些通用的业务逻辑无法共用,这样可不好,这时候我就在考虑为啥部直接来个面向服务呢???“面向服务架构”:我把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻...转载 2018-04-15 23:44:23 · 1135 阅读 · 0 评论 -
技术人员的发展之路
转载链接:点击打开链接 点击打开链接 2012年的时候写过一篇叫《程序算法与人生选择》的文章,我用算法来类比如何做选择,说白了就是怎么去计算,但是并没有讲程序员可以发展的方向有哪些。 所以,就算是有这些所谓的方法论,我们可能对自己的发展还是会很纠结和无所事从,尤其是人到了30岁,这种彷徨和迷惑越来越重。虽然我之前也写过一篇《编程年龄和编程技能》的文章,但是还是有很多做技术的人对于自己...转载 2018-03-28 23:58:53 · 170 阅读 · 0 评论 -
设计模式与设计原则
一、23种设计模式总体来说分为三大类创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。二...转载 2018-03-29 00:26:36 · 160 阅读 · 0 评论 -
Java 10 新特性解密
如何下载 JDK 10?用户要先加入早期使用者计划,然后才可以下载 JDK 10 测试版http://jdk.java.net/10/OpenJDK https://download.java.net/java/jdk10/archive/45/GPL/openjdk-10+45_linux-x64_bin.tar.gzOracle JDK https://download.jav...转载 2018-04-19 00:52:52 · 888 阅读 · 0 评论 -
常用的算法
A*搜寻算法 俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。 Beam Search 束搜索(beam search) 方法是解决优化问题的一种启发式方法,它是在分枝定界方法基础上发展起来的,它使用启发式方法...转载 2018-04-19 17:15:04 · 291 阅读 · 0 评论 -
微服务架构
一、微服务架构介绍微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。概念:把一个大型的单个应用程序和服务拆分...转载 2018-06-04 14:09:33 · 456 阅读 · 0 评论 -
消息队列对比
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构 使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ ...翻译 2018-06-04 17:49:47 · 202 阅读 · 0 评论 -
浅谈docker
一、什么是Docker Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。二、Docker运用场景:(1)web应用的自动化打包和发布; (2)自动化测试和持续集成、发布; ...翻译 2018-06-04 22:17:30 · 429 阅读 · 0 评论 -
给Java程序员几点建议
程序员该怎样才能成为高薪架构师,还有一个就对当前的状态感到迷茫。我在此做一个简单的说明,或者对迷茫中的你来说有些许帮助。当前你感到迷茫吗?有很多人对现在的工作感到很没意思,因为当前的工作,完全是实现业务,技术上没有任何提高。在这种状态下就会感到迷茫,特别是一想到将来这种迷茫感就更强烈了。与其说迷茫还不如说是担忧,随着时间的推移,自己的技术又没有长进,所以感觉忧心忡忡。这里分为二种人...转载 2018-06-05 08:44:01 · 384 阅读 · 0 评论 -
推荐阅读博客系列
一、阮一峰的网络日志二、廖雪峰的官方博客三、芋道源码原创 2018-05-29 11:52:23 · 259 阅读 · 0 评论 -
优秀程序员的十个习惯
在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习...转载 2018-06-12 23:26:25 · 410 阅读 · 0 评论 -
java核心技术
1、谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗?考点分析:对于这类笼统的问题,你需要尽量表现出自己的思维深入并系统化,Java 知识理解得也比较全面,一定要避免让面试官觉得你是个“知其然不知其所以然”的人。毕竟明白基本组成和机制,是日常工作中进行问题诊断或者性能调优等很多事情的基础,相信没有招聘方会不喜欢“热爱学习和思考”的面试者。回归正题,对于 Jav...翻译 2018-06-15 12:39:05 · 1150 阅读 · 2 评论 -
产品原型工具推荐
一、原型工具 原文网址原创 2018-06-09 12:14:02 · 1096 阅读 · 0 评论 -
2018年github上热门项目
developer-roadmap-chinese image.png 项目简介: 2018年web程序员路线中文版, 这个仓库里包含了一些前端,后端,服务器开发人员的路线图,可以参考学习��地址https://github.com/goodjack/developer-roadmap-chineseFront-End-Design-Checklist项目简介: 前...转载 2018-06-25 09:00:56 · 941 阅读 · 0 评论