-
大型项目该如何分层架构,该和MVC说再见了
所属栏目:[优化] 日期:2019-10-11 热度:147
最近用laravel做自己的个人博客,过程中也思考了一些问题,如何把自己的代码写的更优雅呢,为什么laravel没有models目录呢,逻辑代码,数据库查询代码要怎样放置呢? 我们一直以来都被灌输的设计思想,即M-V-C,模型(Model)、视图(view)、控制器(Controller[详细]
-
新手也能看懂的 SpringBoot 异步编程指南
所属栏目:[优化] 日期:2019-10-11 热度:130
通过本文你可以了解到下面这些知识点: Future 模式介绍以及核心思想 核心线程数、最大线程数的区别,队列容量代表什么; ThreadPoolTaskExecutor 饱和策略; SpringBoot 异步编程实战,搞懂代码的执行逻辑。 Future 模式 异步编程在处理耗时操作以及多任务[详细]
-
精选14条 PyCharm 实用技巧
所属栏目:[优化] 日期:2019-10-11 热度:61
今天主要跟大家介绍PyCharm的高效使用技巧! 以下代码演示是在 Mac 环境下,Windows 也类似,Command 键 相当于 Windows 上的 Control 键。 1. 代码排版,自动PEP8 pep8 是Python 语言的一个代码编写规范。如若你是新手,目前只想快速掌握基础,而不想过多[详细]
-
30秒内便能学会的30个超实用Python代码片段
所属栏目:[优化] 日期:2019-10-11 热度:168
许多人在数据科学、机器学习、web开发、脚本编写和自动化等领域中都会使用Python,它是一种十分流行的语言。 Python流行的部分原因在于简单易学。 本文将简要介绍30个简短的、且能在30秒内掌握的代码片段。 1. 唯一性 以下方法可以检查给定列表是否有重复[详细]
-
详解大数据处理中的Lambda架构和Kappa架构
所属栏目:[优化] 日期:2019-10-11 热度:103
典型互联网大数据平台架构 首先我们来看一个典型的互联网大数据平台的架构,如下图所示: 在这张架构图中,大数据平台里面向用户的在线业务处理组件用褐色标示出来,这部分是属于互联网在线应用的部分,其他蓝色的部分属于大数据相关组件,使用开源大数据[详细]
-
如何通过wrap malloc定位C/C++程序的内存泄漏
所属栏目:[优化] 日期:2019-09-30 热度:153
用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路。 什么是内存泄漏? 动态申请的内存丢失引用,造成没有办法回收它(我知道杠jing要说进程退出前系统会统一回收),这便是内存泄漏。 Java等编[详细]
-
老牌运维教你如何快速分析Linux服务器的性能问题
所属栏目:[优化] 日期:2019-09-30 热度:118
作为一名linux系统运维人员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题、软件问题、网络环境等的复杂性 和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪个方面,是性能优化的一大难题, 本章从系统[详细]
-
如何设计API接口,实现统一格式返回?
所属栏目:[优化] 日期:2019-09-30 热度:107
前言 在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后端人员瞧不起前端人员,那现在后端人员要[详细]
-
Redis集合类型使用说明
所属栏目:[优化] 日期:2019-09-30 热度:65
今天我们了解一下Redis中的集合类型,也就是set集合。在Redis中set也是可以保存多个字符串的。那么set集合和list链表到底有什么不同呢?下面我们重点介绍一下它们之间的不同。 set中的元素是不可以重复的,而list是可以保存重复元素的。 set中的元素是无序[详细]
-
你对JavaScript掌握多少?项目大牛详细解读JavaScript框架结构
所属栏目:[优化] 日期:2019-09-30 热度:127
对于任何一个程序员来说,最关注的两个问题无非就是:时间复杂度和空间复杂度。第一部分介绍了 V8 为改进 JavaScript 执行时间所做的速度提升和优化,第二部分则将着重介绍内存管理方面的知识。 这篇文章,小编简要概述了编程语言的一般工作机制,并深入探[详细]
-
代码详解:Python正则表达式的优秀使用指南
所属栏目:[优化] 日期:2019-09-30 热度:141
处理文本数据的一个主要任务就是创建许多以文本为基础的特性。 人们可能想要在文本中找出特定格式的内容,比如找出存在于文本中的电子邮件,或者大型文本中的电话号码。 虽然想要实现上述功能听起来很繁琐,但是如果使用Python正则表达式模块,就可以使这[详细]
-
负载均衡层设计方案之负载均衡技术总结篇
所属栏目:[优化] 日期:2019-09-28 热度:78
1、概述 通过前面文章的介绍,并不能覆盖负载均衡层的所有技术,但是可以作为一个引子,告诉各位读者一个学习和使用负载均衡技术的思路。虽然后面我们将转向业务层和业务通信层的介绍,但是对负载均衡层的介绍也不会停止。在后续的时间我们将穿插进行负载[详细]
-
架构师分析 架构的重要性
所属栏目:[优化] 日期:2019-09-28 热度:126
技术需要架构,芯片的架构,软件需要架构,公司需要架构,建筑需要架构,产品需要架构,人也需要架构,聊聊架构的话题。 忘了哪里看的文章有一句话,架构不对,什么都不对。 这是有道理的,架构是我们搭建一栋楼,一个项目,一个公司,一种技术的基础,就[详细]
-
Redis哈希类型使用命令
所属栏目:[优化] 日期:2019-09-28 热度:158
我们知道在Redis中有5种数据类型,之前的文章中我们已经介绍过了String类型,也就是字符串类型,今天我们学习第二种数据类型,哈希类型。大部分语言基本都提供了哈希类型,如Java语言中的Map类型及Python语言中的字典类型等等。虽然语言不同,但它们基本使[详细]
-
低代码虽好,但如何平衡开发质量和速度?
所属栏目:[优化] 日期:2019-09-28 热度:114
在速度成为主要推动力的今天,开发者面临的压力从未如此之大。当今的全天候市场需要一个敏捷的企业,能够在一夜之间开发出新的功能和应用程序,以满足不断增长的需求。开发团队只需要提高开发速度,并尽可能快地将代码推出门外。与此同时,不断增长的客户[详细]
-
写给前端的Docker实战教程
所属栏目:[优化] 日期:2019-09-28 热度:145
本篇文章详细而又简短的介绍了:一名完全不了解 Docker 前端程序员,将全站 Docker 化的过程。内容主要包含: Docker 基本概念 真实站点迁移过程: 静态站点 Nodejs 站点(Express) WordPress(PHP) 一些必备技巧:开机启动、常用Shell 文章会讲解使用 Docke[详细]
-
Kubernetes工具大全,9个集群部署工具
所属栏目:[优化] 日期:2019-09-28 热度:65
在过去的几年中,Kubernetes在容器编排上给它的竞争对手造成了极大冲击,比如Docker Swarm。现在Kubernetes是企业首选的容器解决方案,并得到了迅速普及。今天,就为大家呈现2019年新的Kubernetes工具大全,以飨大家。朋友们喜欢的话,请多多评论转发,给[详细]
-
浅谈10个提升应用程序10倍性能的技巧
所属栏目:[优化] 日期:2019-09-27 热度:165
提高web应用程序性能比以往任何时候都更加重要。在线经济活动的份额正在增长;超过5%的发达国家的经济现在是在互联网上的(参见参考资料中的互联网统计数据)。而我们这个始终在线、高度连接的现代世界意味着用户的期望比以往任何时候都要高。如果您的站点没[详细]
-
Sqlite事务模型、性能优化Tips、常见误区
所属栏目:[优化] 日期:2019-09-27 热度:140
0.前言 本文主要介绍sqlite的事务模型,以及基于事务模型的一些性能优化tips,包括事务封装、WAL+读写分离、分库分表、page size优化等。并基于手淘sqlite的使用现状总结了部分常见问题及误区,主要集中在多线程的设置、多线程下性能优化的误区等。本文先[详细]
-
大势所趋!数据科学家必知的5种图算法
所属栏目:[优化] 日期:2019-09-27 热度:80
在万物相连的世界里,用户并不是独立的个体,彼此之间都有某种联系。构建机器学习模型时,有时也会将这种联系放入模型中。 虽然关系数据库中无法在不同数行(用户)间使用这种关系,但在图数据库里,这样做非常简单。 本文将介绍一些数据科学家必知的重要的[详细]
-
详解Docker容器监控之Cadvisor,值得收藏
所属栏目:[优化] 日期:2019-09-27 热度:52
概述 我们可以使用多种方法监控容器的运行情况,比如EFK等,但是我们仍旧需要一个资源利用率监控系统。这个时候,google开发的cadvisor就可以帮上我们的忙了。 cadvisor是google创建的用于监控icmtfy容器资源使用情况和性能的软件,cadvisor在宿主机上以容[详细]
-
没有爬虫,就没有今天的搜索引擎
所属栏目:[优化] 日期:2019-09-27 热度:195
在如今信息化、数字化的时代,人们已经离不开网络搜索了,但细想一下,你在搜索过程中能够真正获得相关信息,是因为有人在帮你把与之相关的内容筛选和呈递到你面前了。 就像在饭店里,你点了土豆并且能吃到,是因为有人帮你在土豆、萝卜、西红柿等中找到土[详细]
-
多线程开发中线程数量设计问题
所属栏目:[优化] 日期:2019-09-27 热度:51
前言 前面我们用了几篇文章系统的说了一下有关Java并发编程模型中的一些基础的知识。比如同步,锁,原子性操作,信号量等以及它们的一些延展实现闩锁,栅锁等等。 今天我们回过头来简单说一下并发编程模型的设计和选择。 主要涉及到我们如何利用多线程设计[详细]
-
再见 Docker,是时候拥抱下一代容器工具了
所属栏目:[优化] 日期:2019-09-27 热度:133
什么是 Linux 容器? Linux 容器是由 Linux 内核所提供的具有特定隔离功能的进程,Linux 容器技术能够让你对应用及其整个运行时环境(包括全部所需文件)一起进行打包或隔离。从而让你在不同环境(如开发、测试和生产等环境)之间轻松迁移应用的同时,还可保留[详细]
-
Hadoop之完全分布式集群
所属栏目:[优化] 日期:2019-09-27 热度:167
首先准备三台客户机(hadoop102,hadoop103,hadoop104),关闭防火墙,修改为静态ip和ip地址映射 配置集群 编写集群分发脚本 创建一个远程同步的脚本xsync,并放到当前用户下新建的bin目录下,配置到PATH中,使得此脚本在任何目录下都可以执行 脚本实现 [ko[详细]