-
Python开发必备:如何建立一个优秀的项目工程环境
所属栏目:[优化] 日期:2019-09-07 热度:151
在程序开发时候一套好的开发环境和工具栈,可以帮我们极大的提高开发的效率,避免把大量时间浪费在周边琐事上。本文以Python为例,教大家如何快速打造优秀的Python项目开发环境:内容涵盖了模块依赖管理、代码风格管理、调试测试管理和Git版本管理,使用gi[详细]
-
如何在 Linux 上重命名一组文件
所属栏目:[优化] 日期:2019-09-07 热度:158
几十年来,Linux 用户一直使用 mv 命令重命名文件。它很简单,并且能做到你要做的。但有时你需要重命名一大组文件。在这种情况下,rename 命令可以使这个任务更容易。它只需要一些正则表达式的技巧。 与 mv 命令不同,rename 不允许你简单地指定旧名称和新[详细]
-
一文看懂数据结构中的树 值得收藏
所属栏目:[优化] 日期:2019-09-07 热度:143
通常在开始学编程的时候,你会接触一些常用数据结构。 到最后一般会学到哈希表。对于修读计算机科学学位的朋友,你通常要上专门的数据结构课,从了解有关链表、队列和栈的各种知识。这些统称为线性数据结构,因为依逻辑次序从头排到尾。 当你开始进入下一[详细]
-
如何在磁盘上查找 MySQL 表的大小
所属栏目:[优化] 日期:2019-09-07 热度:59
我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 这个看似简单的问题实际上在 MySQL 中非常复杂。MySQL 支持许多存储引擎(其中一些根本不在磁盘上存储数据), 不同的存储数据格[详细]
-
细说Python的Lambda函数用法,建议收藏
所属栏目:[优化] 日期:2019-09-07 热度:57
在Python中有两种函数,一种是def定义的函数,另一种是lambda函数,也就是大家常说的匿名函数。今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式。 1.为什么要用lambda函数? 先举一个例子:将一个列表里的每个元素都平方。 先用def[详细]
-
当JSON解析遇上了泛型该如何处理泛型擦除问题
所属栏目:[优化] 日期:2019-09-07 热度:106
JSON是一种轻量级的数据交换格式,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言,常被用于实际项目中。Java生态圈中有很多处理JSON格式化的类库,如json-lib框架、Jackson、Google的Gson、阿里的FastJson等,通过这些类库可以使我们更加简便地处[详细]
-
深入理解Java的Volatile关键字
所属栏目:[优化] 日期:2019-09-07 热度:54
前言 在Java并发编程中,volatile关键字有着至关重要的作用,在面试中也常常会是必备的一个问题。本文将会介绍volatile关键字的作用以及其实现原理。 volatile作用 volatile在并发编程中扮演着重要的角色,volatile是轻量级的synchronized,volatile关键字[详细]
-
Puppet 搭建与部署,看这一篇就够了
所属栏目:[优化] 日期:2019-09-07 热度:149
Puppet工作原理 让管理员只集中于要管理的目标,而忽视实现的细节。puppet既可以在单机上使用,也可以以C/S结构使用。在大规模使用puppet的情况下,通常使用C/S结构,在这种结构中puppet客户端只运行puppetclient,Puppet服务端只运行puppetmaster。具体的[详细]
-
并发扣款一致性优化,CAS下ABA问题,这个话题还没聊完!!!
所属栏目:[优化] 日期:2019-09-06 热度:67
上一篇答星球水友提问,《并发扣款,如何保证数据的一致性?》中提到:用CAS乐观锁,可以在尽量不影响吞吐量的情况下,保证数据的一致性。 大家有非常多的留言,大概有这么几类: 是否存在ABA问题? 为什么不能用: UPDATEt_yueSETmoneymoney=money-$diffAND[详细]
-
让线程按顺序执行8种方法
所属栏目:[优化] 日期:2019-09-06 热度:176
一.前言 本文使用了8种方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止为了知道如何让线程按顺序运行,更是让读者对多线程的使用有更深刻的了解。使用的方法如下: [1] 使用线程的join方法[ 2] 使用主线程的join方法 [3] 使[详细]
-
分布式ID生成--雪花算法
所属栏目:[优化] 日期:2019-09-06 热度:92
唯一ID可以标识数据的唯一性,在分布式系统中生成唯一ID的方案有很多,常见的方式大概有以下三种 依赖数据库,使用如MySQL自增列或Oracle序列等。 UUID随机数 snowflake雪花算法(本文将要讨论) 一、数据库和UUID方案的不足之处 采用数据库自增序列: 读写[详细]
-
这篇Java的NIO编程,保证你能看懂
所属栏目:[优化] 日期:2019-09-06 热度:196
NIO编程一直是Java知识体系中的一个重点。前几年的时间面试的门槛是了解NIO,现在就不一样了,最起码也要精通NIO,因此学习javaNIO编程是非常有必要的。这篇文章就开始对NIO进行一个认识。本文参考了慕课网,特在此说明。 一、认识NIO 1、什么是BIO? 想要学习[详细]
-
简单介绍几种Java后台开发常用框架组合
所属栏目:[优化] 日期:2019-09-06 热度:94
01 前言 Java框架一直以来都是面试必备的知识点,而掌握Java框架,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能对当前正在开发中的系统有整体的认知,从而更好的熟悉和学习技术,这篇文章胖达就打算给大家介绍几款现阶段流行的框架组合[详细]
-
Docker容器的导入导出操作整理
所属栏目:[优化] 日期:2019-09-06 热度:54
背景 Docker的流行与它对容器的易分享和易移植密不可分,用户不仅可以把容器提交到公共服务器上,还可以把容器导出到本地文件系统中。同样,我们也可以把导出的容器重新导入到Docker运行环境中。 方法1:容器的导入与导出(export和import) 1、查看需要导出[详细]
-
Linux有什么好用系统克隆工具?这里介绍6个
所属栏目:[优化] 日期:2019-09-06 热度:194
1. 前言 磁盘克隆是将一个硬盘(或分区)的内容复制到另一个磁盘或映像文件的过程。我使用rsnapshot工具定期备份,但我也每月克隆一次或两次硬盘。此工具允许我快速恢复操作系统和安装的软件。 Linux附带了各种用于执行磁盘克隆的实用程序。在这篇文章中,我[详细]
-
16岁的我是如何成为全栈开发人员的?
所属栏目:[优化] 日期:2019-09-06 热度:98
我与计算机技术的缘分要从我七岁的时候说起,当时的我拥有了人生第一台计算机,这为我打开了一个新世界,其内置的 Win 7 系统对当时的我来说是世界上最精彩、宝贵的东西。14 岁的时候,我获得了第一份工作,16 岁,我有了一个新梦想移动应用开发梦想。 先[详细]
-
Netflix应用架构之用于个性化和推荐的系统架构
所属栏目:[优化] 日期:2019-09-06 热度:59
本文我们将探索如何创建一个能够交付并支持快速创新的软件架构。提出一种能够处理大量现有数据、响应用户交互并易于试验新的推荐方法的软件体系结构并非易事。在这篇文章中,我们将描述我们如何解决Netflix面临的一些挑战。 首先,我们在下图中展示了推荐[详细]
-
编程语言Nim 中文官网现已上线
所属栏目:[优化] 日期:2019-09-06 热度:70
近期 Nim 中文官网现已上线!大家可以通过https://nim-lang-cn.org来访问。 Nim 是一个新型的静态类型、命令式编程语言,支持过程式、函数式、面向对象和泛型编程风格而保持简单和高效。Nim 从 Lisp 继承来的一个特殊特性--抽象语法树(AST)作为语言规范的[详细]
-
C++中是如何调用C接口的?
所属栏目:[优化] 日期:2019-09-06 热度:70
如何在C++代码中调用写好的C接口?你可能会奇怪,C++不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C++如何调用C代码接口。 C++如何调用C接口 为什么会有这样的情况呢?想象一下,有些接口是用C实现的,并提供了库,那么C++中该如何使用呢?我们[详细]
-
7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有
所属栏目:[优化] 日期:2019-09-06 热度:174
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 做图表,谁不会?打开Excel,自动就可以生成各种各样的图表。 但你看这些图表呢? 结合真实地理数据,展现美国每个县的失业率。 全球自然灾害统计,类型、规模、时间,一目了然。 甚至[详细]
-
异构数据半小时实现搜索功能,一个系统搞定
所属栏目:[优化] 日期:2019-09-06 热度:91
背景 对于闲鱼这种处于高速增长期的部门来说,业务场景在快速膨胀,越来越多的业务数据对搜索能力有诉求。如果按照常规的方式为各个业务搭建独立搜索引擎服务,那么开发和维护的时间成本将是非常巨大的。能否只用一套搜索引擎系统支撑不同业务场景产出的数[详细]
-
大规模采用 Kotlin 替代 Java?我们应该知道这些利弊
所属栏目:[优化] 日期:2019-09-06 热度:123
当大规模采用一门新语言时,有许多不同的因素需要考虑,因为事情可能会发生巨大的变化。对于许多人来说,选择一门语言可以说是取决于个人偏好,但在 LinkedIn,我们有一个基础团队,负责评估这些基本技术决策的影响。最近,我们经历了评估 Android 开发语[详细]
-
只需5分钟就能Get到的神器:Python虚拟环境安装使用
所属栏目:[优化] 日期:2019-09-06 热度:164
一、虚拟环境介绍 什么是虚拟环境: 它是一个虚拟化,从电脑独立开辟出来的python环境,可以把它看作一个容器,我们可以在这个容器(环境)中安装我们项目中所依赖的相关模块和包。 为什么要用到虚拟环境: 在实际项目开发中,我们通常会根据自己的需求去下[详细]
-
应用架构的核心使命是什么?阿里高级技术专家这样说
所属栏目:[优化] 日期:2019-09-06 热度:177
什么是架构?关于架构这个概念很难给出一个明确的定义,也没有一个标准的定义。如果,硬是要给一个概述,阿里巴巴高级技术专家张建飞认为架构就是对系统中的实体以及实体之间的关系所进行的抽象描述。今天,张建飞来谈谈应用架构的核心使命是什么,是否与你[详细]
-
Python趣味实战项目:抢红包提醒助手
所属栏目:[优化] 日期:2019-09-06 热度:78
最近后台有朋友问我学Python去哪刷题?我觉得看完Python的基础知识后,如果不着急找工作,在力扣上适当的刷刷题巩固下基础知识后,可以慢慢学着写一些有趣的小项目,对你学习Python会更有帮助些。 对于大家困惑的怎么从Python理论跨越到实践的问题,可以看[详细]