《Docker 教程》(二):Dockerfile
你好,我是看山。
本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《Docker 教程》 中的第二篇。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Docker 教程》(二):Dockerfile
你好,我是看山。
本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《Docker 教程》 中的第二篇。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Docker 教程》(二):Dockerfile
本文源自并发编程网的翻译邀请,翻译的是 Jakob Jenkov 的 《Docker 教程》 中的第一篇,本文大概介绍了 Docker 是什么和有什么用。可能在工作中,会有专业运维同学管理服务器镜像或其他内容,但是如果不了解这些概念,很多时候我们不会全面了解到系统的全貌。
Docker 是一种将应用程序和服务器配置打包成 Docker 镜像的方法,使用了一种称为 Dockerfile 的简单打包规范。Docker 镜像可以启动多个多个实例,这些运行的实例被称为 Docker 容器。这个系列的内容主要包括讲解什么是 Docker 镜像、什么是容器、什么是 Dockerfile,以及如何创建、运行和发布等。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Docker 教程(一):Docker 是什么
大卫说:“服务的调用最终是通过函数实现的”。“但函数要绑定数据以确定并行的粒度”:皮特争辩道。早上大卫和皮特在花园里争论着,我们所开发的软件的结构究竟是面向对象还是面向函数?这个问题猛然听来好像非常矛盾。软件的结构似乎只能在面向对象和面向函数之间进行选择。但其实不然,面向对象和面向函数不过是我们在开发过程中的一种思考方式。当你从用户的角度来看开发的过程,就是面向对象的。因为用户最终操作的是一个很小的数据集合。这个集合可以抽象的叫做对象。当你换个角度从服务器这边去看时。服务器的数据被各种用户函数所操作。所有函数所拥有的数据的子集的合,构成了服务器的全部数据。并且每个函数的范围都不固定。可能操作很小的数据,也可能操作很大的数据。小到用户状态的更改。大到对几年的数据进行统计分析。哪么从服务器的角度来看就叫面向函数的编程。
阅读全文原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 面向对象和面向函数之争
原文地址 作者:Jakob Jenkov 译者:小龙虾
Java的volatile关键字用于标记一个变量“应当存储在主存”。更确切地说,每次读取volatile变量,都应该从主存读取,而不是从CPU缓存读取。每次写入一个volatile变量,应该写到主存中,而不是仅仅写到CPU缓存。
实际上,从Java 5开始,volatile关键字除了保证volatile变量从主存读写外,还提供了更多的保障。我将在后面的章节中进行说明。
阅读全文原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Java Volatile关键字
Apache Log4j 2是Log4j 1.x的升级版本,相比前任它有着显著的提升。它不仅具备Logback所包含的改进,同时还修复了Logback框架的固有bug。
不定期对 Apache Log4j 2 v.2.11.2 User’s Guide 进行翻译,水平有限,欢迎指正。
阅读全文原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Apache Log4j 2 用户指南
原文链接 译者:Carvendy
Python应用程序总会使用一些包和模块,它们离不开标准库。应用程序需要指定标准库的版本,因为应用程序可能需要避免一个已经修复的bug,或者是应用程序重写了具体版本标准库的接口的实现。
这意味着也许不可能需要给每一个应用程序安装它所需要的的版本。如果应用A需要1.0的部分模块,而应用B需要版本2.0的,这样是会产生冲突的,并且只安装1.0或者2.0版本将会使得另外一个应用无法正常运行。
解决这个问题的方法就创建虚拟环境,它是一个自包含目录树,里面安装有Python各个版本,一个数字一个包版本地区分开来。
不同的应用程序可以使用不同的环境变量。为了解决前面的冲突,应用程序A可以有自己的虚拟环境并使用版本1.0,同时应用程序B可以使用虚拟环境的版本2.0。如果应用程序B需要升级到版本3.0,也一样不会对应用程序的环境影响。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Python3.6官方文档》– 第12章 虚拟环境和包
读到个别的指南,也许你已经迫不及待想使用python了——你渴望使用Python来解决现实发生的问题。你应该从何学习得更多呢?
指南是Python文档的一部分。其他的文档如下: 阅读全文
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Python3.6官方文档》– 第13章 接下来
Python解释器一般安装在 /usr/local/bin/python3.6
目录下,将 /usr/local/bin
目录加入到Unix Shell脚本的命令搜索目录下,这样便可以通过输入以下shell命令已启动它[1]:
python3.7
既然解释器的存放目录是安装时可选的,那么其他位置也是可以的;请与python的安装用户或系统管理员确认。(/usr/local/python
是常用可选目录)
在Windows系统上,python一般安装到 C:\Python36
目录下,你同样可以再安装时选择其他目录。将次目录添加到Path环境变量,你可以通过在DOS命令窗体输入以下命令:
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Python3.6官方文档》– 第二章 使用python解释器
第二部分涵盖了更高阶的模块,支持更专业的编程需求,这些模块很少出现在小的脚本中。
reprlib
提供一系列repr()
对很大或深度层叠的容器进行定制化的压缩展示。
import reprlib reprlib.repr(set('supercalifragilisticexpialidocious'))
pprint
提供更成熟的控制,将内建对象和用户定义对象更易读地打印出来,当结果长于一行时,”pretty printer”添加行数和缩进来将数据结构更清楚地展现出来。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Python3.6官方文档》– 第十一章
Hibernate查询语言(HQL)和Java持久性查询语言(JPQL)都是与SQL类似的面向对象模型的查询语言。JPQL是受HQL影响很大的子集。所有的JPQL查询都是有效的HQL查询,但反过来并不正确。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Hibernate快速开始》Query /HQL and JPQL (上)
原文链接 译者:小村长
RocketMQ使用FIFO队列提供有序消息.
以下示例演示发送/接收全局和分区有序消息。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》之有序的消息示例
原文链接 译者:suzhuo
配置请求路由
这里将向你展示如何根据权重和HTTP请求头去配置动态路由。
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》配置请求路由
原文链接 译者:carvendy
当使者边车/代理提供了一大堆故障恢复机制让服务在Istio上运行,这依然有必要去测试端对端的故障恢复作为了应用的整体功能。错误配置的故障策略(例如:矛盾的或者服务响应的超时限制)会让在程序中的服务界定为不可用,影响到我们希望的结果。 阅读全文
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》—— 错误注入
原文链接 译者:carvendy
使者在故障恢复中,提供了一个拆箱即用的集合,可以更方便地在服务中移除应用。特性包括:
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》—— 故障处理
原文链接 译者:carvendy
本文讲述Istio在服务网格中,如何对交互的服务进行负载均衡。 阅读全文
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》—— 服务发现与负载均衡