-
利用Click和argparse给你Python程序构建一个优雅的命令行界面
所属栏目:[优化] 日期:2019-08-20 热度:82
副标题#e# 我们知道在Linux下有优雅的shell终端命令行界面,shell脚本都可以优雅用命令行的方式来运行。而且shell也再带优化命令行参数解析的bash内部命令getopts和大多数发行版附带的外部命令getops。Perl语言也有Getopt::XX系列模块来实现类似功能;Gola[详细]
-
一文读懂客户端请求是如何到达服务器的(干货)
所属栏目:[优化] 日期:2019-08-20 热度:79
副标题#e# 互联网是人类历史上最伟大的发明创造之一,而构成互联网架构的核心在于TCP/IP协议。那么TCP/IP是如何工作的呢,我们先从数据包开始讲起。 1、数据包 一、HTTP请求和响应步骤 http请求全过程 请求 响应 以上完整表示了HTTP请求和响应的7个步骤,下[详细]
-
码农都该知道的开发工具
所属栏目:[优化] 日期:2019-08-20 热度:71
副标题#e# 阿里篇 一、Java 线上诊断工具 Arthas Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具。 使用场景: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇[详细]
-
为什么要放弃一切选择python?这里给你答案
所属栏目:[优化] 日期:2019-08-20 热度:151
作为新手,在面对广泛应用于企业级应用开发的 Java、游戏客户端开发的 C++、嵌入式开发的 C、人工智能领域的 Python 等数百种编程语言时,你会如何选择自己的第一门编程语言? 刚入行的程序员总是询问他们应该从哪种语言开始,我告诉他们,他们应该首先学习[详细]
-
超详细的Oracle数据库表碎片整理规范,值得收藏
所属栏目:[优化] 日期:2019-08-20 热度:131
副标题#e# 概述 生产环境中,经常会遇到表由于数据不断插入,导致空间越来越大,由于前期配置问题,没有做分区或者其他优化,而且生产数据实时向表插入。要删除历史数据来释放空间。所以DBA一般都需要定期去对Oracle表碎片做整理,简单整理表碎片整理流程如[详细]
-
集思广议!Python、Java、C语言到底选择谁更适合编程语言的学习
所属栏目:[优化] 日期:2019-08-20 热度:141
IT行业飞速发展,除了水涨船高的薪资水平,还有不断推陈出新的编程技术。不同的技术,应用在不同的领域。但对于小白来说,想要投身这个行业,我该从何学起?那些应用领域是未来的大趋势?而我未来的学习方向又有哪些呢? 没关系,小编最近得来一张《编程语言[详细]
-
10分钟快速掌握Docker必备基础知识
所属栏目:[优化] 日期:2019-08-20 热度:184
副标题#e# Docker是时下热门的容器技术,相信作为一名开发人员,你一定听说过或者使用过,很多人会把Docker理解为一个轻量级虚拟机,但其实Docker与虚拟机(VM)是两种不同的计算机虚拟化技术,也有很多人会觉得,有了虚拟机,那为什么还要使用Docker呢? 带着[详细]
-
16个通用高效 Java 工具类总结
所属栏目:[优化] 日期:2019-08-20 热度:87
副标题#e# 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。 一. org.apache.commons.io.IOUtils closeQuietly:关闭一[详细]
-
JavaScript 的一些常用设计模式
所属栏目:[优化] 日期:2019-08-20 热度:90
副标题#e# 设计模式是前人解决某个特定场景下对而总结出来的一些解决方案。可能刚开始接触编程还没有什么经验的时候,会感觉设计模式没那么好理解,这个也很正常。有些简单的设计模式我们有时候用到,不过没意识到也是存在的。 学习设计模式,可以让我们在[详细]
-
粉丝关系链,10亿数据,如何设计?
所属栏目:[优化] 日期:2019-08-20 热度:127
副标题#e# 继续答星球水友提问,大数据量,高并发量,好友关系链、粉丝关系链要如何设计? 什么是关系链业务? 关系链主要分为两类,弱好友关系与强好友关系,两类都有典型的互联网产品应用。 弱好友关系的建立,不需要双方彼此同意: 用户A关注用户B,不需要[详细]
-
代码详解:用Pytorch训练快速神经网络的9个技巧
所属栏目:[优化] 日期:2019-08-19 热度:63
副标题#e# 事实上,你的模型可能还停留在石器时代的水平。估计你还在用32位精度或*GASP(一般活动仿真语言)*训练,甚至可能只在单GPU上训练。如果市面上有99个加速指南,但你可能只看过1个?(没错,就是这样)。但这份终极指南,会一步步教你清除模型中所有的([详细]
-
一个天天用消息队列的人,不知道为啥用 MQ,这就有点尴尬
所属栏目:[优化] 日期:2019-08-17 热度:150
副标题#e# 1、为什么要使用消息队列? 分析:一个用消息队列的人,不知道为啥用,有点尴尬。没有复习这点,很容易被问蒙,然后就开始胡扯了。 回答:这个问题,咱只答三个最主要的应用场景(不可否认还有其他的,但是只答三个主要的),即以下六个字:解耦、异步、[详细]
-
阿里大神分享API网关在微服务架构中的应用
所属栏目:[优化] 日期:2019-08-16 热度:143
案例背景介绍: 在实践微服务架构时,我们经常会面对以下需求:如何隔离外部和内部,如何保障后台服务安全性,如何降低运维成本,如何减少变更的流程和错误成本,如何减少客户端与服务的耦合等,API网关是一个非常重要的集中管控点。 解决思路/成功要点:[详细]
-
Java程序员必须熟记流程图
所属栏目:[优化] 日期:2019-08-16 热度:137
副标题#e# 1.spring的生命周期 Spring作为当前Java最流行、最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要; 首先容器启动后,对bean进行初始化 按照bean的定义,注入属性 检测该对象是否实现了xxxAware接口,并将相关的xxxAware实例注入给bea[详细]
-
技术干货分享:微服务浅谈服务治理的演变过程
所属栏目:[优化] 日期:2019-08-16 热度:80
副标题#e# 本篇文章先简单介绍了互联网架构的演变,进而介绍了服务化,最后介绍了微服务及最新的服务网格(Service Mesh)。 互联网架构演变 一体架构 在计算机软件发展早期,一般桌面软件都是采用这种架构,不管是界面还是业务处理还是数据处理都放到一个包[详细]
-
HTTP缓存和浏览器的本地存储
所属栏目:[优化] 日期:2019-08-16 热度:134
副标题#e# 一、HTTP缓存 http请求做为影响前端性能极为重要的一环,因为请求受网络影响很大,如果网络很慢的情况下,页面很可能会空白很久。对于首次进入网站的用户可能要通过优化接口性能和接口数量来解决。但是,对于重复进入页面的用户,除了浏览器缓存,[详细]
-
Kubernetes身份认证和授权操作全攻略:K8s 访问控制入门
所属栏目:[优化] 日期:2019-08-15 热度:76
副标题#e# 随着Kubernetes被广泛使用,成为业界公认的容器编排管理的标准框架,许多开发人员以及管理员对部署、弹性伸缩以及管理容器化应用程序等Kubernetes的关键概念都十分熟悉。而对于生产部署而言,Kubernetes的安全性至关重要。因此,了解平台如何管理[详细]
-
浅谈 Webpack 背后的运行机制
所属栏目:[优化] 日期:2019-08-15 热度:73
副标题#e# 在平时开发中我们经常会用到 Webpack这个时下最流行的前端打包工具。它打包开发代码,输出能在各种浏览器运行的代码,提升了开发至发布过程的效率。 我们知道一份 Webpack配置文件主要包含入口( entry)、输出文件( output)、模式、加载器( Loader[详细]
-
Web框架的前生今世--从Servlet到Spring mvc到Spring boot
所属栏目:[优化] 日期:2019-08-15 热度:185
副标题#e# 背景 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来。最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html、css等。 但是可以想象:根据用户请求的不同动态的处理并返回资源是理所当[详细]
-
Java技术干货分享:浅谈订单号生成设计方案
所属栏目:[优化] 日期:2019-08-15 热度:126
副标题#e# 最简单的方式 基于数据库 auto_increment_increment 来获取 ID。首先在数据库中创建一张 sequence 表,其中 seq_name 用以区分不同业务标识,从而实现支持多种业务场景下的自增 ID, current_value 为当前值, _increment 为步长,可支持分布式数[详细]
-
深入理解Node.js 进程与线程(8000字长文彻底搞懂)
所属栏目:[优化] 日期:2019-08-15 热度:110
副标题#e# 前言 进程与线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少。本篇文章除了介绍概念,通过Node.js 的角度讲解进程与线程,并且讲解一些在项目中的实战[详细]
-
程序员必备十款开发工具,会用的可以召唤神龙了!
所属栏目:[优化] 日期:2019-08-15 热度:113
Telegram Telegram Messenger 很好用的聊天应用 ,有价值的是学习它的开源的代码,不管用户体验还是编码都值得学习,公司创始人背景也很神秘。特点:1,简洁,那么臃肿的一定不是好的软件.2,多平台 3,半开源.软件开源,服务器闭源.可以打造自己的加密APP.4,贴[详细]
-
系统管理员必读的容器入门指南
所属栏目:[优化] 日期:2019-08-14 热度:70
容器无疑是近年IT业界的buzzword,不过,在不同语境下,它对不同的人有不同的含义。在本文中,我将从Linux容器、容器镜像、写时复制等方面来阐释容器的具体含义。 Linux容器 传统意义上的Linux容器实际上只是Linux系统上的普通进程。这些进程组使用资源约[详细]
-
我答编程为什么不用中文?:中文API的意义和探索
所属栏目:[优化] 日期:2019-08-14 热度:64
原问题的题目比较宽泛,先引用原问题的描述: 不要说什么中文难打,难记,难读之类的荒谬话语。 也不要说关键字只有几十个。我一点不觉得那些for,if,+,=有什么价值。阅读代码的时候我希望尽量不要看到哪怕一个运算符和关键字,尽量全封装起来才好。(愿世界[详细]
-
看完这篇还不清楚Netty的内存管理,那我就哭了!
所属栏目:[优化] 日期:2019-08-14 热度:130
副标题#e# 说明 在学习Netty的时候,ByteBuf随处可见,但是如何高效分配ByteBuf还是很复杂的,Netty的池化内存分配这块还是比较难的,很多人学习过,看过但是还是云里雾里的,本篇文章就是主要来讲解:Netty分配池化的堆外内存的细节,期待可以让你明白!!![详细]