1. PlentyOfFish 网站架构学习 http://www.dbanotes.net/arch/plentyoffish_arch.html 采取 Windows 技术路线的 Web 2.0 站点并不多,除了 MySpace ,另外就是这个 PlentyOfFish。这个站点提供 “Online Dating” 服务。一个令人津津乐道的、惊人的数据是这个只有一个人(创建人Markus Frind)的站点价值 10 亿,估计要让很多人眼热,更何况 Markus Frind 每天只用两个小时打理网站–可操作性很强嘛。
标签:IT
今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完善的,下面是一个网站架构逐步发展的基本过程,读完后,请思考,你现在在哪个阶段。
各位使用百度、谷歌或淘宝的时候,有没有注意浏览器左上角已经全部出现了一把绿色锁,这把锁表明该网站已经使用了 HTTPS 进行保护。仔细观察,会发现这些网站已经全站使用 HTTPS。同时,iOS 9 系统默认把所有的 http 请求都改为 HTTPS 请求。随着互联网的发展,现代互联网正在逐渐进入全站 HTTPS 时代。
不久前我发表了一篇文章,“月薪3万的程序员都避开了哪些坑”,在我的微信订阅号“程序视界”、CSDN博客、简书等平台都受了非常广泛的关注,点击量和评论出奇的多。有一些朋友觉得很难做到,其实,月薪3万是可以一步一步谋划出来的。
本文为亨利向《Git权威指南》的作者蒋鑫老师的答疑邮件写成。 这里特别感谢蒋鑫老师对我询问gitlab的协同工作流程问题的详细解答。 蒋鑫老师的细致专业的解答让我非常感动。
或许前端开发并没有你想象中那么随意
Openfire 4.0.0 发布,在 4 周前发布了 Openfire 4.0.0 Beta 版本,现在已经正式发布! 开发者已经在生产环境使用 Openfire 4.0.0 Beta 一段时间了,此版本包括一些新特性,大量的 bug 修复,还有一些改进。
人们常常会问--“我应该在我的新项目中要使用 Angular 2吗?”
tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块...
一个开源的在网页上使用的Flash视频、音频以及图片播放器,支持 Sliverlight 播放,可以通过一个XML文件使播放器自动切换显示一组图片,并播放背景音乐。
昨天jQuery 迎来了ta的十岁生日,jQuery 是在 2006 年 1 月 14 日的 BarCamp NYC 上由 John Resig 发布的一个 JavaScript 库。
真正写这个的原因是因为项目中乱七八糟的代码实在是太让人无语了。甚至有人用a,b,c这种完全无意义的参数名,很多时候我对中国的程序员想的可能太理想了,尤其是在前端,一大堆从静态页面转过来的所谓的程序员,他们缺少必要的编程素养甚至连技术追求都没有,换句话说就是欠调教。
百度硅谷 AI 研究所 (SVAIL) 今天开源了百度的关键人工智能 (AI) 软件 WARP-CTC,基于 Apache 协议,WARP-CTC 的 C 语言库和可选 Torch 绑定都已托管到 GitHub: https://github.com/baidu-research/warp-ctc
我的理想国,放肆去活
如何在前端开发这种高精尖的技术领域找到心仪的工作?实现在咖啡馆喝喝咖啡敲敲代码就能升职加薪、买房买车、迎娶白富美走上人生巅峰的职业梦想?这 篇《进化论:从 0 到 100,前端猿茁壮成长的精神饲料史》,肯定能给你事业的加速动力。前端开发工作已经变的越来越复杂,仅仅是想罗列一份前端开发的学习列表就已经是一件艰 巨的工作。曾经只要会编写 HTML, CSS 和 Javascript 就是能够找到一份前端开发工作的全部要求。而现在,web 开发远远不止是简单编码。因为我们的互联网上有了更多的内容,也因为有更多的人、更多设备可以访问互联网, web 前端开发技能也就更多了。我们现在需要考虑的问题很多,比如载入时间,性能,不同的屏幕尺寸, 不同的输入方式, build 系统, 部署策略,还有如何组织好我们的代码。这还是想象中前端开发么?好吧其实只要你有热情,这些还是很有趣的,现在就来仔细看看,一份前端开发的工作,到底需 要你准备些什么?
kisso = cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀
资金的积累无外乎开源节流,不断的通过工作经验的积累增加收入,并不断的通过生活的积累减少不必要的支出,这中间的部分就是你的积蓄了。
你常常听说“全栈工程师”这个叫法吧,不过这到底表示什么意思呢,你觉得自己应该成为一名全栈工程师么?下面我们就来探讨一下这个话题。在Web与软件开发的世界中有3个基本的关注点:前端、后端与全栈。下面就来解释一下他们的含义。
简单来讲就是能用键盘搞定的坚决不用鼠标...
Firefox for iOS 终于登陆中国了
为打破外界对程序员简单平面的偏见,一系列程序员访谈正在进行中...
我们自豪的宣布 MySQL 5.7 稳定版开放下载了。 MySQL 5.7.9 是目前世界上最流行开源数据库的一令人兴奋的新版本, 比 MySQL 5.6 快 3 倍,同时还提高了可用性,可管理性和安全性。
Srb4j, Simple RESTFul backend for Java, 一个JAX-RS服务端代码脚手架(就像AppFuse之于Webapp),基于OAuth2提供了完整的注册、登录、密码恢复等功能。
译自 Philip Walton 的博客 看过之后非常有感触,很多观点都是自己长期非常坚持和认同的,所以翻译出来分享给更多的前端同学! 最近我收到一封读者来信让我陷入了思考,信是这么写的: Hi Philip,您是否介意我问您是如何成为一名卓越 (great) 的前端工程师的?对此您有什么建议吗...
援引国外科技博客AppleInsider报道称,有用户发现苹果从iOS 9.1开始在系统缓存文件中加入了对“LiFi Capability(Li-Fi兼容)”的描述,不少同行也进行了一番大胆猜测:今年的iPhone7有可能会支持Li-Fi技术。那么问题也就来了,这个“神秘”的Li-Fi是什么,它和我们目前所熟知的Wi-Fi有哪些不同?今天我们就和大家来聊一聊这个话题。
2014年底,Google Chromium安全团队提议将所有的HTTP协议网站标注为不安全。现在,Chrome浏览器准备公开执行这一标准了。
本周,关于Google回归中国大陆的猜测又再热烈起来。因为,据外媒报道,本周Google在职业社交媒体LinkedIn发布了准备在北京上海扩员的招聘广告,招聘计划多达60人。
Stay Hungry, Stay Foolish---我们必须用谦虚者的自觉,饥饿者的渴望的求职态度,来拥抱我们的未来。
对每一个程序员而言,故障都是悬在头上的达摩克利斯之剑,都唯恐避之不及,如何避免故障是每一个程序员都在苦苦追寻希望解决的问题。对于这一问题,大家都可以从需求分析、架构设计 、代码编写、测试、code review、上线、线上服务运维等各个视角给出自己的答案。本人结合自己两年有限的互联网后端工作经验,从某几个视角谈谈自己对这一问题的理解,不足之处,望大家多多指出。
什么是CDN?笔者初见时也是摸不着头脑,查阅了大量的资料才明白什么是CDN,笔者为您揭秘什么是CDN?
这可能是领英历史上最惨痛的一天。40%的股价下跌,对于这个市值超过百亿的公司来说,新季度的财报就像是一场地震,将曾经社交网站的领军人物扫出百亿俱乐部的大门。
技术领导要不要写代码?这是一个问题。
继百度云OS、点心OS、魔趣OS等第三方ROM关闭之后,号称是国内最大的第三方ROM平台的乐蛙OS,日前也宣布了放弃国内市场的消息,时间距离第7个大版本LeWa OS7发布正好是一个月。乐蛙停更有两个含义,一是“停止国内适配ROM的更新”,二是“进军海外(尤指印度市场)寻求机遇”。
总结了下前端这两年的主流技术,大部分技术在我的博客里有较深入的研究学习,对应技术博客地址:http://ouvens.github.io,博客持续更新中,欢迎大家关注~
年轻的程序猿朋友们,从东岸、中部、南加……迁徙到硅谷的你,是否希望远处的美女向你投来崇拜的目光?希望身边的朋友觉得你很酷很牛逼?今天我们来聊聊如何在硅谷装成一个牛逼(身价20万刀以上)的程序猿。
Web 发展了几十个春秋,风起云涌,千变万化。我很庆幸自己没有完整地经历过这些年头,而是站在前人的肩膀上行走。Web 技术发展的速度让人感觉那几乎不是继承式的迭代,而是一次又一次的变革,一次又一次的创造。这几年的前端,更为之甚!
找工作的时候是否经常看到要求有高并发,分布式系统的开发设计经验,或者高并发,分布式系统的开发设计经验者优先等字样,这时候情不自禁的搜索一下什么是并发,多少算高并发,再思索一下自己的经历哪些是符合这个要求的?那么什么是并发,开发中的并发是怎么处理的,简单了解一下吧。
一口气创办10家公司!他的创业模式吓傻周鸿祎!他叫宗毅,芬尼克兹创始人,一个绝顶聪明的创业者。
我已经在ThoughtWorks工作了12年。是不是有点不可思议?回首我的职业生涯,我想写一写我在这些年中经历的困难,以及总结得到的12个非常重要的经验教训。虽然我只选择了12个,但其实远远不止这个数字,但是我觉得12年12个经验教训更有韵味。
本文根据4月12日UCloud结构化存储研发部经理吴斌炜于〖KVM社区&UCloud技术微信群〗线上分享内容整理而成。
曾任职于Google和Quora等公司、现任Quip软件工程师的Edmond Lau,于《The Effective Engineer》一书中访问任职于Facebook、Instagram和Google等知名网路公司的资深软件工程师,归纳出他们眼中高生产力的杰出软件工程师都具备的五种能力。
今天阅读了一本关于互联网思维的书,很不错,下面是几个感悟, 纯干货,分享给大家。
受其他程序员汇编 PHP 资源,kahun 在 Github 发起系统管理员相关的开源资源整理。
jBPM 6.5.0.final 发布了,虽然官方对jBPM v7的开发已经有一段时间了,但V6系列的更新尚未停止。
此文是想要进入人工智能这个领域、但不知道从哪里开始的初学者最佳的学习资源列表。原文是 Ray Alez 编写的“Artificial Intelligence resources”,简单翻译和整理后供大家参考。
腾讯高级音视频架构师郭亮带来的《互动直播技术解密》,主要是对目前主流直播方案的解析,以及依托于QQ音视频的腾讯云互动直播SDK在多个关键技术上的深度优化方案的分享。
当谈到编程时,很多人应该都有听过10x程序员的说法。 据说一个10x程序员的效率大约是其他程序员的10倍。 这是一个有争议的话题,无论你选择相信10x程序员,还是认为这十分可笑,下面的10个习惯可以在一定程度上助你成为一名势不可挡的优秀程序员。
这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用UML进行比如类图设计时能够更加清晰明了。
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.
两年多以前,自己还是一个懵懵懂懂的新人,转眼间,断断续续带过一些新人,在这个过程中遇到过一些问题,走过一些弯路,也在这个过程中有不少收获。加上,最近去西安校招,面试了很多应届生,他们有很多优点,同时也存在的一些不足。因此本文在自己有限经验的基础上,总结下对新人入职后,需要在哪些方面进行指导。
58到家数据库30条军规,有一条是“禁止使用存储过程、视图、触发器、Event”,高并发大数据的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”, 并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”。
iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助于理解 iOS App 签名的原理和流程。
度娘上对设计模式(Design pattern)的定义是:“一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。”它由著名的“四人帮”,又称 GOF (即 Gang of Four),在《设计模式》(《Design Patterns: Elements of Reusable Object-Oriented Software》)一书中提升到理论高度,并将之规范化。在我看来,设计模式是前人对一些有共性的问题的优秀解决方案的经验总结,一个设计模式针对一类不断重复发生的问题给出了可复用的、经过了时间考验的较完善的解决方案。使用设计模式可以提高代码的可重用性、可靠性,从而大大提高开发效率,值得我们细细研究。
最近面试常问到kafka,由此跟之前用到的amq做了下对比分析。
58到家数据库30条军规解读
本网翻译整理Apache kafka,提供整理Apache kafka的完整学习文档。
整理kafka相关的常用命令。
对于职场小白或者要跳槽的老司机来说,是否加入创业公司,还需要考虑自身的素质。本文作者在30岁时,从一家省心舒服的公司换到一家创业公司,经历了一次“生长”。对一个创业公司的员工而言,最重要的是什么?这篇文章是她的思考。
日常开发当中eclipse遇到的问题配置,再次汇总一下
阿里云备案常见问题解惑如下,如有错误请留言指正
本手册的愿景是码出高效,码出质量。现代软件架构都需要协同开发完成,高效协作即降低协同成本,提升沟通效率,所谓无规矩不成方圆,无规范不能协作。
Teamviewer是一款非常酷的远程控制系统,可以远程协同工作,分为个人版本和商业版本。个人版本可以基于非商业目的自由使用,商业版本需要付费(至少一个月49美元)。
这是一个我们经常听到的客户咨询的问题,开发一个APP需要多少钱。其实,这个价格的计算公式 是非常简单的:投入的人力 * 开发的周期。
招聘高峰季,最近面试了一些人,聊到关于学习话题的时候,发现很多人有学不进去,没时间学的问题,加上之前断断续续有很多人咨询我关于如何学习的问题,我觉得可以好好讲讲我对于学习这件事的一些经验和看法。
最近项目组安排了一个任务,项目中用到了基于 Solr 的全文搜索,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步。
过去一年以来,一批来自欧美的、不墨守陈规的系统管理员和开发人员一直在谈论一个新概念:DevOps。DevOps就是开发(Development)和运维(Operations)这两个领域的合并。(如果没错的话,DevOps还包括产品管理、QA、*winces* 甚至销售等领域)
越来越多的软件,开始采用云服务。 云服务只是一个统称,可以分成三大类:IaaS、PaaS和SaaS。它们有什么区别呢? IBM 的软件架构师 Albert Barron 曾经使用披萨作为比喻,解释这个问题。David Ng 进一步引申,让它变得更准确易懂。
本文主要总结了慢查询优化的过程中常用的以及不合理的操作,适合有 MySQL 基础的开发人员。
什么是经营性的互联网信息服务?什么是非经营性互联网信息服务?
what is SEO?!
微信小程序开发资源汇总
程序员简历模板系列。包括PHP程序员简历模板、iOS程序员简历模板、Android程序员简历模板、Web前端程序员简历模板、Java程序员简历模板、C/C++程序员简历模板、NodeJS程序员简历模板、架构师简历模板以及通用程序员简历模板。
通用程序员简历模板
架构师简历模板
NodeJS程序员简历模板
C/C++程序员简历模板
Java程序员简历模板
Web前端程序员简历模板
Android程序员简历模板
iOS程序员简历模板
PHP程序员简历模板
最近微信开发的认证问题有几点需要注意下,微信开放平台的开发者认证、公众号认证、小程序认证和订阅号认证费用
Java类方法访问权限一览表
Java 重写(Override)与重载(Overload)区别一二三
首先明确一点,Marker Interface(标记接口)决不是Java这门编程语言特有的,而是计算机科学中一种通用的设计理念。
SQL注入(SQLi)是一种注入攻击,它使执行恶意SQL语句成为可能。这些语句控制Web应用程序后面的数据库服务器。攻击者可以使用SQL Injection漏洞绕过应用程序安全措施。他们可以遍历网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容。他们还可以使用SQL Injection添加,修改和删除数据库中的记录。
什么是中台?
我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素,从这一角度来说,锁对于数据库而言就显得尤为重要。
sleep和wait的区别
在高并发业务场景下,典型的阿里双11秒杀等业务,消息队列中间件在流量削峰、解耦上有不可替代的作用。
高并发架构系列:详解RPC远程调用和消息队列MQ的区别
垃圾收集器主要用于堆内存中,先从一张图中看下堆中老年代和新生代所适合的垃圾收集器,JDK11出来的ZGC不在其中。
业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一。那么如何设计一套易于扩展和维护的营销系统呢? 今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工程之间的转化,从DDD引出了设计模式,并详细介绍了工厂方法模式、策略模式、责任链模式以及状态模式这四种模式在美团营销业务中的具体实现,将理论与实践进行了一次深度结合。
收集并持续更新微信支付相关产品常见QA
今天一同事问我有木有比较靠谱的mysql压力测试工具可用。其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的。下面举例说说。mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考官方手册。如果是系统自带或者使用rpm包安装的mysql,安装了MySQL-client端的包就有mysqlslap这个工具。
随着大数据越来越被重视,数据采集的挑战变的尤为突出,今天为大家介绍几款数据采集平台。
牛新庄博士,是国内顶尖数据库维护、优化和架构专家,以217万年薪受聘于中国建行总行资深技术专家,在国内的金融六大行、证券、保险、电信、邮政、移动等行业,以及青岛海尔、云南红塔、中远集团、上海宝钢等知名企业做数据库的设计、维护、问题诊断和性能调优。
本文主要介绍SGD算法,和两篇分析它逃离鞍点的论文: 我与鬲融,金驰,黄芙蓉写的Escaping From Saddle Points – Online Stochastic Gradient for Tensor Decomposition, 以及由金驰,鬲融等人写的最新力作:How to Escape Saddle Points Efficiently
一切的改进都是源自于人类的缺陷
Java的倒排问题
这篇文章覆盖了计算机科学里面常见算法的时间和空间的大 OBig-O 复杂度。
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。
能看完都是爱学习的人~
关键在于字符串转成字符数组,然后巧用hashmap比对。
古往今来的年轻人,最突出的特质是什么?比较一致的,是迷茫。 这种迷茫,是年轻人在二十多岁的时候,初入社会,摸爬滚打,不知路在何方的忐忑。除了富有激情、勇气,其他方面都很匮乏,遇上困难挫折,很容易产生不安和焦虑。
Java 诞生距今已有 25 年,但它仍然长期占据着“天下第一”编程语言的宝座。只是其统治地位并非坚不可摧,反倒可以说是危机四伏。云原生时代,Java 技术体系的许多前提假设都受到了挑战,目前已经有可预见的、足以威胁动摇其根基的潜在可能性正在酝酿。同时,像 Golang、Rust 这样的新生语言,以及 C、C++、C#、Python 等老对手也都对 Java 的市场份额虎视眈眈。面对危机,Java 正在尝试哪些变革?未来,Java 是会继续向前、再攀高峰,还是由盛转衰?
排序:时间复杂度O(n*logn)
排序:其它排序算法
排序:其它排序算法
问题:topk问题
问题:迷宫问题
问题:2-sum问题
问题:最长公共子序列问题
欧几里得算法
RSA加密算法
常用Linux命令
Vue入门
Nginx入门
前几天突然有了一个很有趣的想法,假如能与一年前刚入门深度学习的我进行交流,那么此时的我会有什么经验想分享给过去的我呢?想到入门深度学习以来踩的各种坑以及经历过的迷茫,我决定写一篇文章,从过来人(入门一年?)的角度说一下对新手的一些建议。由于我的水平有限,所以文章肯定会有遗漏与错误之处,望各位大佬轻拍。
我之前经常提到一句话:大多数时候所谓的“技术之玻璃天花板”,其实只是缺乏软技能而已。
越权漏洞分为垂直越权和水平越权,是开发者对用户访问的资源没有进行合适的权限校验导致可以访问或操作其他权限内容或者其他用户数据
【重学计算机】计算机组成原理