分类: istio

Istio分步指南(八):Elastic Kubernetes服务(Amazon EKS)中的Istio

原文地址 https://medium.com/faun/istio-step-by-step-part-08-istio-with-elastic-kubernetes-service-amazon-eks-eecd971635ed

Istio分步指南(七):GKE中的Istio(Google Kubernetes引擎)

原文地址 https://medium.com/faun/istio-step-by-step-part-06-istio-in-gke-google-kubernetes-engine-85a7f489ad0d

Istio分步指南(六):AWS中的Istio(EC2 + Minikube)

原文地址 https://medium.com/faun/istio-step-by-step-part-06-istio-in-aws-amazon-web-services-cd095343fdfe

Istio分步指南(五):Istio和Linkerd

原文地址 https://medium.com/faun/istio-step-by-step-part-05-istio-and-linkerd-570b511f7a85

Istio分步指南(四):Istio服务网格的流量路由路径(入口路由)

原文地址 https://medium.com/faun/istio-step-by-step-part-04-traffic-routing-path-of-istio-service-mesh-part-a-ingress-routing-28e03cdaa048

Istio分步指南(三):在 Kubernetes 中使用 Istio 部署应用程序

原文地址 https://medium.com/faun/istio-step-by-step-part-03-deploying-an-application-with-istio-in-kubernetes-d2b1de64fb6b

Istio分步指南(二):Istio 入门

原文地址 https://medium.com/faun/istio-step-by-step-part-02-getting-started-with-istio-c24ed8137741

Istio分步指南(一):Istio简介

原文地址 https://medium.com/faun/istio-step-by-step-part-01-introduction-to-istio-b9fd0df30a9e

生产环境里的Istio和Kubernetes(二):Tracing

原文地址 https://medium.com/avitotech/istio-and-kubernetes-in-production-part-2-tracing-6304a5af82e9

在生产环境运行Istio(一)

原文地址 https://medium.com/avitotech/running-istio-on-kubernetes-in-production-part-i-a8bbf7fec18e

分类: Markdown

Markdown 内联 HTML 和 CSS

在之前的两篇文章中,我们讲了常用的 Markdown 基础和一些常用的 Markdown 扩展功能。大部分时候,这些语法是够用的。但是有时,我们需要缩写的文章具有更好的视觉表现力,光靠 Markdown 本身是无能为力的,此时可以在 Markdown 中内置一些 HTML 和 CSS 样式来提升文章的表现能力.

Markdown 常用扩展语法

在Markdown 速查笔记中,已经讲过了 Markdown 基础语法。基本能满足我们多数写作需求。除此之外,Markdown 还有一些扩展语法,能够让我们更加直观清晰的表达内容。

Markdown 转义字符

我们在书写 Markdown 的时候,经常会希望有些 Markdown 语法符号不被当作 Markdown 标记渲染,此时需要对这些符号进行转义。

Markdown速查笔记

Markdown 是一种适合程序员做笔记的文本书写格式。按照官方文档解释:

分类: Website

Wordpress 搭建教程

搭建一个个人博客,那么首选 wordpress,作为一个老牌且使用最为广泛的 cms 系统,wordpress 拥有丰富的模板主题以及插件,可以轻松应对各种需求。

分类: gpl

如何选择开源协议许可证

开源许可证 是开源项目为本项目所设立的一种使用约束和规范,你必须遵循该规范才能使用该开源项目,否则可能会构成侵权。根据 wiki 百科 对开源软件的定义

分类: flutter

Flutter 中的流(Stream)详解

原文地址 https://medium.com/flutterpub/exploring-streams-in-flutter-4732e5524dd8

使用 BLOC 模式构建 Flutter 项目(二)

原文地址 https://medium.com/flutterpub/architect-your-flutter-project-using-bloc-pattern-part-2-d8dd1eca9ba5

使用 BLOC 模式构建 Flutter 项目(一)

原文地址 https://medium.com/flutterpub/architecting-your-flutter-project-bd04e144a8f1

为何 Flutter 选择 Dart 语言

原文地址 https://medium.com/hackernoon/why-flutter-uses-dart-dd635a054ebf

一文理解Flutter全貌

原文地址 https://medium.com/hackernoon/whats-revolutionary-about-flutter-946915b09514

分类: howtos

Macbook - 为何bash_profile在zsh不生效

自从苹果的 catalina 版本系统推出后,官方将默认的 shell 由 bash 改成了 zsh,这样我们之前的 bash_profile 中的配置失效了。原因:

如何解读你的正则表达式

正则表达式在我们的编码过程中经常会用到,正确解读正则表达式是个非常考验功底的活。有没有办法通过机器帮我们解决这个问题呢?这里推荐一个网站:https://regexper.com,下面是一组常用正则表达式测试截图:

如何快速测试你的crontab配置是否正确

crontab 配置面临的问题: 做过 linux 开发运维的人都知道,crontab 给我们提供了很好的的定时任务工具。但是,绝大多数人都会在修改 crontab 时犯错,经常出现配置完成后,没有生效的情况。即使你是老鸟,也难免出现问题。

Node 后端项目起手式(一):基础配置与代码审查

在创建 Node 项目时,需要配置很多基础设置和包依赖。如果每次都需要从头开始,效率会非常低。我们配置一个通用的环境,这样会在之后的工作中变得更有效率。如同下棋时弈手起手落子,久经考验且之后变化多端。

Macbook升级至MacOS Catalina 10.15指南

苹果公司于 2019 年 10 月 7 日发布了新一代 MacOS, 代号为Catalina。这次可以说是一次体验全面升级。以下是维基百科1的说法: 维基百科-MacOS_Catalina ↩

分类: RPC

什么是 RPC

RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。下面举个简单的例子来理解 RPC。 远程过程调用相对应的就是本地过程调用。打个比方,你在家里,要洗衣服,你直接把衣服放到洗衣机,开启洗衣机开关,这就是本地过程调用。远程调用就是,你不在家里,你打个电话回家里,跟妈说帮忙洗个衣服,这就是远程调用。

分类: python3

Python3 - 完整教程

这里整理了该网站一系列的python教程,想从事python的同学,可以按照此处的教程一步步操作。后续我们会整理更多的python应用,以方便我们在实际工作生活中收益。 教程列表

Python3 - 开始python编程(十七)

在上一章中,我们介绍了测试。希望您会使用所学知识来确保代码安全无误。在本文中,我们将讨论优化您的工作流程。您已经知道自己开始所需的一切,但是如果您在寻找有关设置开发环境以使工作流程更舒适的提示和技巧,请坚持学习。

Python3 - 开始python编程(十六)

在上一篇文章中,我们介绍了多处理,完成异步。在本文中,我们将介绍所有编程语言中最关键的方面: 测试驱动开发。

Python3 - 开始python编程(十五)

在上一篇文章中,我们介绍了多线程。在这里,我们将介绍 Python 提供的另一个名为”multiprocessing”的库。像“线程”一样,“多进程”允许我们同时运行代码。但是,此代码可在多个处理器上运行。让我们从定义开始。

Python3 - 开始python编程(十四)

在上一篇文章中,我们介绍了asyncio,只是介绍了异步代码的表面。今天,我们将通过研究另一种称为多线程的方法来继续朝着异步的方向发展。如果您还没有阅读上一篇文章,强烈建议您阅读介绍作为入门。

Python3 - 开始python编程(十三)

在上一篇文章中,我们介绍了迭代器和生成器。在本文中,我们将深入研究异步代码或可以同时执行多项操作的代码。只是警告一下,这一课将很难。到目前为止,您需要对我们所涵盖的所有内容都有很好的了解。好消息是,在此之后,其余的将比较容易。

Python3 - 开始python编程(十二)

在上一篇文章中,我们介绍了软件包和虚拟环境。今天,我们将回过头来介绍一些尚未介绍的内置类方法。

Python3 - 时间戳、时区和日期转换傻傻分不清楚

接触过很多程序老手,遇到时间戳、时区问题总是搞不清楚。今天主要分享下,如何正确的理解和使用时间戳、时区和日期。简单起见,我们只讨论两个库。

Python3 - 开始python编程(十一)

使用模块和虚拟环境

Python3 - 开始python编程(九)

在上一篇文章中,我们深入研究了类,并掌握了它们是如何创建和销毁的。 有了所有这些灵活性,我们还使代码变得复杂。当您拥有复杂的代码库时,一定会遇到错误,这就是错误处理起作用的地方。

Python3 - 开始python编程(十)

在上一篇文章中,我们介绍了与错误有关的所有内容,以帮助减少程序中的错误数量。今天,我们将更进一步,学习更多技术,以帮助您减少代码中的错误数量。

Python3 - 开始python编程(八)

格式化技术,列表推导和 lambda 在上一篇文章中,了解了类以及如何创建和销毁它们。我们还研究了如何针对不同用例覆盖子类中的特定功能。今天,我们将介绍字符串格式,列表推导和 lambda。

Python3 - 开始python编程(七)

在上一篇文章中,我们介绍了类,方法和属性。这些是在代码中创建可重用对象的基本元素,同时还能保持代码干净。在 Python 中经常使用类,因此您需要对该工具有充分的了解。在本文中,我们将研究如何创建类。

Python3 - 开始python编程(六)

在上一篇文章中,我们介绍了函数和作用域。本文重点讲解代码可重用性。

Python3 - 开始python编程(五)

了解代码层次结构以及如何使代码可重用。在上一篇文章中,我们介绍了 if 语句,while 循环和 for 循环。

Python3 - 开始python编程(四)

if 语句,for 循环和 while 循环如何帮助您做出更好的决策并使重复的任务变得简单。在上一篇文章中,我们了解了运算符和None。今天,我们将利用这些知识来使我们的程序更智能。

Python3 - 开始python编程(三)

熟悉使用运算符

Python3 - 开始python编程(二)

引用类型,指针和集合类型

Python3-使用glob模块显示目录和文件列表

python3.5 以后的版本支持 glob 语法 **。 可通过该语法列举出目录和文件列表。

Python3-去除目录中相同的文件名前缀

这个需求来源于自己对资源的整理,我们在某站收集了一些视频,但发现具备很长的前缀,决定通过脚本去除这些前缀。可以轻松通过 python 实现。基本步骤

Python3-开始Python编程(一)

变量,常量和类型的介绍

Python3 - 如何合并词典

本文讲一下几种合并 python 字典的方法。并做一些简要分析。 假设是有两个字典 x,y

Python3 - 如何操作(增删改查)ini文件

ini 格式的配置文件简单易读,经常会用在一些简单应用场合。在 python 中, 可以通过 ConfigParser 进行 ini 文件的操作。 代码示例 假定我们有个 test.ini 文件,位于 assets 目录下面,/assets/test.ini 文件内容如下

Python3 - 如何生成随机数

介绍两种办法生成随机数,通过 python 的 random 和 secrets 库可以生成随机整数。示例代码如下:

Python3 - 常用编程技巧

掌握 Python 常用技巧,可大量节省开发和精力。包括数组分解、变量置换,字符串、集合、函数参数、系统相关功能等

Python3 - 如何读取xml文件

Python自带xml库,可以通过xml.dom读取xml文件。比如有如下xml文件

Python3 - 理解 Python 模块(import) 原理

在我们的 Python 文件中使用 import 语句非常常见。即使对于有经验的 Pythonista 使用者,导入也可能会造成混淆,因为没有单一的方法可以确保导入始终有效。

Python3 - 切片技巧-列表(list),字符串(str),字节(bytes)

列表切片是 Python 提供的便捷功能之一。切片通常用于访问有序集合中的元素范围。切片的最简单用法是内置类型”list”,”str”和”bytes”。切片基本语法形式是”somelist[start:end:stride]”,其中”start”是包含在内的,而”end”是排斥的。

Python3 - 如何如何显示目录下所有文件

列出目录下的文件是个常见的操作,python 提供了非常简单的方法: os.walk

Python3 - 如何删除字典中的元素

集中讲一下如何删除字典中元素,在 python3 中有四种方法,可以清理元素,各有使用场景。

Python3-用Python编写计算器的3种方法

用python实现简单的计算器功能,有很多思路,这里介绍三种方法,并分析各自的优缺点。下图是一个真是的计算器,由StellrWeb摄于Unsplash:

Python3 - 如何将string转换成数组

可通过encode 和 decode进行string和bytes转换 1 2 str = str.encode('UTF-8','strict'); str.decode(encoding='UTF-8,errors='strict')

Python3 - 测试dictionary字典中是否存在某个key

如果没有判断 key 是否在 dict 中,而直接访问,则会报错:KeyError: ‘key’。 可通过 in 操作符判定,语法如下

Python3 - 如何删除列表中的元素

对于列表,删除元素的方法常用的有四种:

Python3 - 6种方法拼接合并列表(list)

Python 中合并列表是非常常见的操作,本文提供6种方法实现列表的拼接: 通过 + 运算直接拼接 通过循环调用list.append()进行拼接 通过列表表达式拼接 通过 ‘*’ 解构方式实现拼接 通过内置的extend方法实现拼接 通过itertools.chain()实现拼接

Python3 - 如何正确的打印字典

可以直接调用print打印,也可以通过遍历字典的方式打印词典中的key和value

Python3 - 如何遍历列表

在python中,通过 for var in list 或者 for k,v in enumerate(list)的方式可以遍历list,前者直接获取列表中的值,后者可以同时取得下标和值。

Python3 - 如何做性能剖析

我们偶尔会遇到一些函数执行特别耗时的问题,此时需要对代码进行性能剖析。python 为我们提供了优秀的工具解决此类问题:cProfile。

Python3 - 如何正确的使用pip

Python 有自己的包管理器,通过 pip 命令管理。本文介绍 pip 使用,遇到的问题以及解决方案。我们使用的 python 版本为 3.7, 对应的 pip 命令为 pip3。此外会介绍另一个命令 pipreqs,生成局部的安装包列表。

分类: git

Git-问题fatal: refusing to merge unrelated histories

问题出现: 本地已经一个仓库A,没有关联远程仓库,因此,从github创建了一个远程仓库B,并增加了一个README文件。现在要将二者进行关联: 在本地执行: 1 git remote add origin https://github.com/zjmmjzzjm/pythontips

分类: docker

Docker - 如何从镜像生成Dockerfile

docker的历史记录包含了所有的docker层的生成过程,可以基于此来生成Dockerfile:

Docker - 查看镜像中的内容

查看 docker 镜像中的内容,在进行 docker build 调试时非常有用。最常见的方式是创建容器,然后金融容器的 bash 查看镜像内容。以下我们以 nginx 为例

Docker - 如何在主机容、器和镜像间拷贝文件

docker 容器或镜像和主机之间传输文件非常简单,简要说明如下:

Docker - 如何编辑已有的docker镜像

通过 Dockerfile 可以轻松编辑已有的 docker 镜像。下面以 nginx 为例