-
七个开源的 Spring Boot 前后端分离项目
所属栏目:[优化] 日期:2019-09-17 热度:168
前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SSH 框架用的滚瓜烂熟,出来却发现自[详细]
-
GitHub上找到的更适合初学者的几本Docker免费电子书
所属栏目:[优化] 日期:2019-09-17 热度:183
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目,自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。 作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。有了Docke[详细]
-
为什么时至今日编码面试依然这么糟糕?
所属栏目:[优化] 日期:2019-09-17 热度:122
副标题#e# 作为候选人,最重要的是要记住:45 分钟的编码面试并不能准确评估你是否会胜任这份工作。 高错误否定比率意味着你绝不应该为被拒绝而感到难过。拒绝通常只意味着在一个人工设定的、时间紧迫的环境中,你需要更多练习来展示你已具备的技术能力。[详细]
-
铁打的Python连续3年第一,PHP跌出前十:IEEE编程语言排行榜出炉
所属栏目:[优化] 日期:2019-09-16 热度:139
Python势头不减,依旧第一,而且进一步拉开了与其他语言的差距。 这一结果,来自IEEE Spectrum2019年度编程语言排行榜。 这已经是Python连续3年保持第一。 在Python之下,第二交椅的位置再度发生变化:变成了Java。 这一位置,去年属于C++,前年属于C。 可[详细]
-
深入理解递归,是你误解了递归
所属栏目:[优化] 日期:2019-09-16 热度:114
副标题#e# 递归是一个神奇的算法,它是编程书籍中讲解的最尴尬部分。这些书籍通常会展示一个递归的阶乘实现,然后警告你,虽然它能运行但是它非常的慢并且可能会堆栈溢出而崩溃。虽然大家对它持怀疑态度,但是这不影响递归是算法中最强大的想法。 让我们来[详细]
-
如何保证前端项目代码质量
所属栏目:[优化] 日期:2019-09-16 热度:55
副标题#e# What 什么是代码本身的质量? 代码本身的质量: 包括复杂度, 重复率, 代码风格等。 复杂度: 项目代码量,模块大小,耦合度等 重复率: 重复出现的代码区块占比,通常要求在5%以下(借助平台化工具如Sonar) 代码风格: 代码风格是否统一(动态语言代码如[详细]
-
值得收藏!16段代码入门Python循环语句
所属栏目:[优化] 日期:2019-09-16 热度:108
副标题#e# 循环语句又称为重复结构,用于反复执行某一操作。面对大数量级的重复运算,即使借助计算机,重复编写代码也是费时的,这时就需要借助循环语句。使用循环语句一般要用到条件判断,根据判断式的返回值决定是否执行循环体。 循环分为两种模式,一种[详细]
-
简单地理解区分CountDownLatch与CyclicBarrier--高并发编程
所属栏目:[优化] 日期:2019-09-16 热度:153
本文主要讨论在高并发编程中两非常实用工具CyclicBarrier(同步屏障)和CountDownLatch(倒计时锁),两者都是java.util.concurrent并发包内非常有用的并发工具类,为了帮助理解会结合一些有趣的比喻,下面将对两者进行讨论。 一、CountDownLatch倒计时锁(一个[详细]
-
16岁成为全栈开发者:我从开发游戏到写加密货币投资机器人的心路历程
所属栏目:[优化] 日期:2019-09-16 热度:118
副标题#e# 全栈开发者听起来是个很高大上的程序员岗位,似乎没有几年工作经验是 Hold 不住的。但是,有个葡萄牙少年 16 岁就成为了全栈开发者,这是他从接触编程开始经历的故事。 我叫 Nuno,今年 16 岁,来自葡萄牙。今天我想跟大家聊聊我是如何成为一名全[详细]
-
每秒100W请求,12306秒杀业务,架构如何优化?
所属栏目:[优化] 日期:2019-09-16 热度:177
副标题#e# 如《同样是高并发,QQ/微博/12306的架构难度一样吗?》一文所述,同样是高并发场景,三类业务的架构挑战不一样: QQ类业务,用户主要读写自己的数据,访问基本带有uid属性,数据访问锁冲突较小 微博类业务,用户的feed主页由别人发布的消息构成,[详细]
-
Google员工吐槽TypeScript:我觉得你的类型检查不太好
所属栏目:[优化] 日期:2019-09-13 热度:191
近日名为 Evan Martin 的 Google 员工在 TypeScript 的 GitHub repo 中发表了对 TypeScript 的吐槽(就是提了一个 issue),说吐槽可能不太合适,准确来说是对 TypeScript 3.5 的使用反[详细]
-
利用Kafka设置可靠的高性能分布式消息传递基础架构
所属栏目:[优化] 日期:2019-09-13 热度:186
副标题#e# 世界已经迈进移动时代,现在应用程序必须能够实时提供数据,这不仅包括数据库表中存储的重要最终结果,还包括用户使用应用程序时执行的所有操作。任何可用信息,例如,用户点击量、日志数据或传感器数据都可用于改善用户体验、生成报告、向机器学[详细]
-
浏览器垃圾回收机制与 Vue 项目内存泄漏场景分析
所属栏目:[优化] 日期:2019-09-13 热度:80
副标题#e# 1. 介绍 浏览器的 Javascript 具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存。其原理是:垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放其内存。但是这个过程不是实时的[详细]
-
腾讯正式开源面向 Unity 项目的 Bug 修复神器 InjectFix
所属栏目:[优化] 日期:2019-09-13 热度:117
副标题#e# InjectFix是腾讯最新对外开源的Unity代码逻辑热修复方案,可实现在Unity线上客户端内,不用迭代新版本,就能快速修复游戏的线上bug。 先说几个亮点: 直接在Unity工程上修改C#即可更新;老项目无需修改原有代码即可使用; 更符合苹果热更新条款;[详细]
-
Nginx何防止流量攻击,大部分程序员都收藏了...
所属栏目:[优化] 日期:2019-09-13 热度:55
两种实现方式分别是基于Ehcache和Redis的session管理策略。 大家都知道服务器资源有限的,但是客户端来的请求是无限的(不排除恶意攻击), 为了保证大部分的请求能够正常响应,不得不放弃一些客户端来的请求,所以我们会采用Nginx的限流操作, 这种操作可以[详细]
-
程序员最重要的技能:知道什么时候不写代码
所属栏目:[优化] 日期:2019-09-13 热度:132
副标题#e# 本文指出大多数程序员都容易犯下的错是,因为对编程的兴奋,不知道什么时候应该对编码说不。程序员需要知道什么时候不需要编码,并从项目中删除所有不必要的代码,这将让工作变得更容易,并使软件寿命更持久。 对什么说不 学会说不是一个好的开端[详细]
-
谁说 Vim 不好用?送你一个五彩斑斓的编辑器!
所属栏目:[优化] 日期:2019-09-13 热度:55
副标题#e# 相信大家在使用各种各样强大的 IDE 写代码时都会注意到,代码中各种类型的关键字会用独特的颜色标记出来,然后形成一套语法高亮规则。这样不仅美观,而且方便代码的阅读。而在上古神器 Vim 中,我们通常看到的是黑底白字,没有任何其它颜色。难道[详细]
-
技术面试时该反问什么问题?灵魂50问,GitHub日入2500星
所属栏目:[优化] 日期:2019-09-13 热度:115
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 看了那么多技术类岗位面试攻略,好不容易到了最后一步。部门leader/HR反问一句: 你还有什么要问我的? 没有问题,略显尴尬,显得你对这份工作不上心。如何问出水平,问出更多信息,加[详细]
-
神话还是现实?Docker 和 Kubernetes 架构
所属栏目:[优化] 日期:2019-09-13 热度:93
副标题#e# 在 Docker 和 Kubernetes 时代,软件开发的世界发生了怎样的变化?有可能使用这些技术一劳永逸地构建一个放之四海而皆准的架构吗?当所有东西都打包在容器中时,有可能统一开发和集成的过程吗?这些决策有什么要求?它们会带来什么限制?它们会让开发[详细]
-
GitHub 宣布已经顺利升级到 Rails 6.0
所属栏目:[优化] 日期:2019-09-12 热度:142
GitHub 宣布它顺利升级到了 Rails 6.0。GitHub 平台是用 Rails 构建的,而 Rails 也是最早托管在 GitHub 上大型开源项目之一。GitHub 称他们的开发者与上游紧密合作,参与了新版本的开发。 在 Rails 6.0 开发期间,GitHub 工程师递交了 100 多个 pull requ[详细]
-
计算机组成原理:计算机的层次与编程语言
所属栏目:[优化] 日期:2019-09-11 热度:180
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识。关于计算机基础的课程很多,内容繁杂,但无论是相关书籍还是大学课程,都[详细]
-
Python 2大限来了!113天后自生自灭 | 附升级指南
所属栏目:[优化] 日期:2019-09-11 热度:50
副标题#e# 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 Python 2终于走到了尽头。 官方宣布,新一年的钟声响起之时(2020年1月1日),就是Python 2落幕之日。 之后,Python 2自生自灭,就算天塌下来,官方也不会再改进了。 他们解[详细]
-
一篇文章让你了解 MVC、MVP 、MVVM
所属栏目:[优化] 日期:2019-09-11 热度:193
副标题#e# MVC MVC全名是Model--View--Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中Mod[详细]
-
如何打造应对超大流量的高性能负载均衡?
所属栏目:[优化] 日期:2019-09-11 热度:60
副标题#e# 负载均衡 负载均衡是云计算的基础组件,是网络流量的入口,其重要性不言而喻。 什么是负载均衡呢?用户输入的流量通过负载均衡器按照某种负载均衡算法把流量均匀地分散到后端的多个服务器上,接收到请求的服务器可以独立的响应请求,达到负载分担[详细]
-
云时代的编程语言 Ballerina:轻松创建跨分布式端的弹性服务
所属栏目:[优化] 日期:2019-09-11 热度:119
Ballerina 是一种编程语言和平台,它的目标是让创建跨分布式端的弹性服务变得更轻松。Ballerina 使用分布式系统原语的编译时抽象,这为数据转换提供了类型安全性,编译器可以生成诸如用于将应用部署到 Docker 和 Kubernetes 的 API 网关等构件。 此外,Bal[详细]