Mediumcn
实时分享高质量软件开发文章和教程
Tag istio
原文地址 https://medium.com/faun/istio-step-by-step-part-08-istio-with-elastic-kubernetes-service-amazon-eks-eecd971635ed
原文地址 https://medium.com/faun/istio-step-by-step-part-06-istio-in-gke-google-kubernetes-engine-85a7f489ad0d
原文地址 https://medium.com/faun/istio-step-by-step-part-06-istio-in-aws-amazon-web-services-cd095343fdfe
原文地址 https://medium.com/faun/istio-step-by-step-part-05-istio-and-linkerd-570b511f7a85
原文地址 https://medium.com/faun/istio-step-by-step-part-04-traffic-routing-path-of-istio-service-mesh-part-a-ingress-routing-28e03cdaa048
原文地址 https://medium.com/faun/istio-step-by-step-part-03-deploying-an-application-with-istio-in-kubernetes-d2b1de64fb6b
原文地址 https://medium.com/faun/istio-step-by-step-part-02-getting-started-with-istio-c24ed8137741
原文地址 https://medium.com/faun/istio-step-by-step-part-01-introduction-to-istio-b9fd0df30a9e
原文地址 https://medium.com/avitotech/istio-and-kubernetes-in-production-part-2-tracing-6304a5af82e9
原文地址 https://medium.com/avitotech/running-istio-on-kubernetes-in-production-part-i-a8bbf7fec18e
Tag kubernetes
原文地址 https://medium.com/faun/istio-step-by-step-part-08-istio-with-elastic-kubernetes-service-amazon-eks-eecd971635ed
原文地址 https://medium.com/faun/istio-step-by-step-part-06-istio-in-gke-google-kubernetes-engine-85a7f489ad0d
原文地址 https://medium.com/faun/istio-step-by-step-part-06-istio-in-aws-amazon-web-services-cd095343fdfe
原文地址 https://medium.com/faun/istio-step-by-step-part-05-istio-and-linkerd-570b511f7a85
原文地址 https://medium.com/faun/istio-step-by-step-part-04-traffic-routing-path-of-istio-service-mesh-part-a-ingress-routing-28e03cdaa048
原文地址 https://medium.com/faun/istio-step-by-step-part-03-deploying-an-application-with-istio-in-kubernetes-d2b1de64fb6b
原文地址 https://medium.com/faun/istio-step-by-step-part-02-getting-started-with-istio-c24ed8137741
原文地址 https://medium.com/faun/istio-step-by-step-part-01-introduction-to-istio-b9fd0df30a9e
原文地址 https://medium.com/avitotech/istio-and-kubernetes-in-production-part-2-tracing-6304a5af82e9
原文地址 https://medium.com/avitotech/running-istio-on-kubernetes-in-production-part-i-a8bbf7fec18e
Tag markdown
在之前的两篇文章中,我们讲了常用的 Markdown 基础和一些常用的 Markdown 扩展功能。大部分时候,这些语法是够用的。但是有时,我们需要缩写的文章具有更好的视觉表现力,光靠 Markdown 本身是无能为力的,此时可以在 Markdown 中内置一些 HTML 和 CSS 样式来提升文章的表现能力.
在Markdown 速查笔记中,已经讲过了 Markdown 基础语法。基本能满足我们多数写作需求。除此之外,Markdown 还有一些扩展语法,能够让我们更加直观清晰的表达内容。
我们在书写 Markdown 的时候,经常会希望有些 Markdown 语法符号不被当作 Markdown 标记渲染,此时需要对这些符号进行转义。
Markdown 是一种适合程序员做笔记的文本书写格式。按照官方文档解释:
Tag 转义
我们在书写 Markdown 的时候,经常会希望有些 Markdown 语法符号不被当作 Markdown 标记渲染,此时需要对这些符号进行转义。
Tag 页面内跳转
在Markdown 速查笔记中,已经讲过了 Markdown 基础语法。基本能满足我们多数写作需求。除此之外,Markdown 还有一些扩展语法,能够让我们更加直观清晰的表达内容。
Tag wordpress
搭建一个个人博客,那么首选 wordpress,作为一个老牌且使用最为广泛的 cms 系统,wordpress 拥有丰富的模板主题以及插件,可以轻松应对各种需求。
Tag tutorial
搭建一个个人博客,那么首选 wordpress,作为一个老牌且使用最为广泛的 cms 系统,wordpress 拥有丰富的模板主题以及插件,可以轻松应对各种需求。
Tag gpl
开源许可证 是开源项目为本项目所设立的一种使用约束和规范,你必须遵循该规范才能使用该开源项目,否则可能会构成侵权。根据 wiki 百科 对开源软件的定义
Tag flutter
原文地址 https://medium.com/flutterpub/exploring-streams-in-flutter-4732e5524dd8
原文地址 https://medium.com/flutterpub/architect-your-flutter-project-using-bloc-pattern-part-2-d8dd1eca9ba5
原文地址 https://medium.com/flutterpub/architecting-your-flutter-project-bd04e144a8f1
原文地址 https://medium.com/hackernoon/why-flutter-uses-dart-dd635a054ebf
原文地址 https://medium.com/hackernoon/whats-revolutionary-about-flutter-946915b09514
Tag dart
原文地址 https://medium.com/hackernoon/why-flutter-uses-dart-dd635a054ebf
Tag BLOC
原文地址 https://medium.com/flutterpub/exploring-streams-in-flutter-4732e5524dd8
原文地址 https://medium.com/flutterpub/architect-your-flutter-project-using-bloc-pattern-part-2-d8dd1eca9ba5
原文地址 https://medium.com/flutterpub/architecting-your-flutter-project-bd04e144a8f1
Tag Architect
原文地址 https://medium.com/flutterpub/architect-your-flutter-project-using-bloc-pattern-part-2-d8dd1eca9ba5
原文地址 https://medium.com/flutterpub/architecting-your-flutter-project-bd04e144a8f1
Tag Stream
原文地址 https://medium.com/flutterpub/exploring-streams-in-flutter-4732e5524dd8
Tag StreamController
原文地址 https://medium.com/flutterpub/exploring-streams-in-flutter-4732e5524dd8
Tag macbook
苹果公司于 2019 年 10 月 7 日发布了新一代 MacOS, 代号为Catalina。这次可以说是一次体验全面升级。以下是维基百科1的说法:
维基百科-MacOS_Catalina ↩
Tag catalina
苹果公司于 2019 年 10 月 7 日发布了新一代 MacOS, 代号为Catalina。这次可以说是一次体验全面升级。以下是维基百科1的说法:
维基百科-MacOS_Catalina ↩
Tag RPC
RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。下面举个简单的例子来理解 RPC。
远程过程调用相对应的就是本地过程调用。打个比方,你在家里,要洗衣服,你直接把衣服放到洗衣机,开启洗衣机开关,这就是本地过程调用。远程调用就是,你不在家里,你打个电话回家里,跟妈说帮忙洗个衣服,这就是远程调用。
Tag gRPC
RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。下面举个简单的例子来理解 RPC。
远程过程调用相对应的就是本地过程调用。打个比方,你在家里,要洗衣服,你直接把衣服放到洗衣机,开启洗衣机开关,这就是本地过程调用。远程调用就是,你不在家里,你打个电话回家里,跟妈说帮忙洗个衣服,这就是远程调用。
Tag Dubbo
RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。下面举个简单的例子来理解 RPC。
远程过程调用相对应的就是本地过程调用。打个比方,你在家里,要洗衣服,你直接把衣服放到洗衣机,开启洗衣机开关,这就是本地过程调用。远程调用就是,你不在家里,你打个电话回家里,跟妈说帮忙洗个衣服,这就是远程调用。
Tag HTTP2.0
RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。下面举个简单的例子来理解 RPC。
远程过程调用相对应的就是本地过程调用。打个比方,你在家里,要洗衣服,你直接把衣服放到洗衣机,开启洗衣机开关,这就是本地过程调用。远程调用就是,你不在家里,你打个电话回家里,跟妈说帮忙洗个衣服,这就是远程调用。
Tag node
在创建 Node 项目时,需要配置很多基础设置和包依赖。如果每次都需要从头开始,效率会非常低。我们配置一个通用的环境,这样会在之后的工作中变得更有效率。如同下棋时弈手起手落子,久经考验且之后变化多端。
Tag typescript
在创建 Node 项目时,需要配置很多基础设置和包依赖。如果每次都需要从头开始,效率会非常低。我们配置一个通用的环境,这样会在之后的工作中变得更有效率。如同下棋时弈手起手落子,久经考验且之后变化多端。
Tag eslint
在创建 Node 项目时,需要配置很多基础设置和包依赖。如果每次都需要从头开始,效率会非常低。我们配置一个通用的环境,这样会在之后的工作中变得更有效率。如同下棋时弈手起手落子,久经考验且之后变化多端。
Tag crontab
crontab 配置面临的问题: 做过 linux 开发运维的人都知道,crontab 给我们提供了很好的的定时任务工具。但是,绝大多数人都会在修改 crontab 时犯错,经常出现配置完成后,没有生效的情况。即使你是老鸟,也难免出现问题。
Tag regex
正则表达式在我们的编码过程中经常会用到,正确解读正则表达式是个非常考验功底的活。有没有办法通过机器帮我们解决这个问题呢?这里推荐一个网站:https://regexper.com,下面是一组常用正则表达式测试截图:
Tag python3
这里整理了该网站一系列的python教程,想从事python的同学,可以按照此处的教程一步步操作。后续我们会整理更多的python应用,以方便我们在实际工作生活中收益。
教程列表
在上一章中,我们介绍了测试。希望您会使用所学知识来确保代码安全无误。在本文中,我们将讨论优化您的工作流程。您已经知道自己开始所需的一切,但是如果您在寻找有关设置开发环境以使工作流程更舒适的提示和技巧,请坚持学习。
在上一篇文章中,我们介绍了多处理,完成异步。在本文中,我们将介绍所有编程语言中最关键的方面: 测试驱动开发。
在上一篇文章中,我们介绍了多线程。在这里,我们将介绍 Python 提供的另一个名为”multiprocessing”的库。像“线程”一样,“多进程”允许我们同时运行代码。但是,此代码可在多个处理器上运行。让我们从定义开始。
在上一篇文章中,我们介绍了asyncio,只是介绍了异步代码的表面。今天,我们将通过研究另一种称为多线程的方法来继续朝着异步的方向发展。如果您还没有阅读上一篇文章,强烈建议您阅读介绍作为入门。
在上一篇文章中,我们介绍了迭代器和生成器。在本文中,我们将深入研究异步代码或可以同时执行多项操作的代码。只是警告一下,这一课将很难。到目前为止,您需要对我们所涵盖的所有内容都有很好的了解。好消息是,在此之后,其余的将比较容易。
在上一篇文章中,我们介绍了软件包和虚拟环境。今天,我们将回过头来介绍一些尚未介绍的内置类方法。
接触过很多程序老手,遇到时间戳、时区问题总是搞不清楚。今天主要分享下,如何正确的理解和使用时间戳、时区和日期。简单起见,我们只讨论两个库。
在上一篇文章中,我们深入研究了类,并掌握了它们是如何创建和销毁的。
有了所有这些灵活性,我们还使代码变得复杂。当您拥有复杂的代码库时,一定会遇到错误,这就是错误处理起作用的地方。
在上一篇文章中,我们介绍了与错误有关的所有内容,以帮助减少程序中的错误数量。今天,我们将更进一步,学习更多技术,以帮助您减少代码中的错误数量。
格式化技术,列表推导和 lambda
在上一篇文章中,了解了类以及如何创建和销毁它们。我们还研究了如何针对不同用例覆盖子类中的特定功能。今天,我们将介绍字符串格式,列表推导和 lambda。
在上一篇文章中,我们介绍了类,方法和属性。这些是在代码中创建可重用对象的基本元素,同时还能保持代码干净。在 Python 中经常使用类,因此您需要对该工具有充分的了解。在本文中,我们将研究如何创建类。
在上一篇文章中,我们介绍了函数和作用域。本文重点讲解代码可重用性。
了解代码层次结构以及如何使代码可重用。在上一篇文章中,我们介绍了 if 语句,while 循环和 for 循环。
if 语句,for 循环和 while 循环如何帮助您做出更好的决策并使重复的任务变得简单。在上一篇文章中,我们了解了运算符和None。今天,我们将利用这些知识来使我们的程序更智能。
python3.5 以后的版本支持 glob 语法 **。 可通过该语法列举出目录和文件列表。
这个需求来源于自己对资源的整理,我们在某站收集了一些视频,但发现具备很长的前缀,决定通过脚本去除这些前缀。可以轻松通过 python 实现。基本步骤
本文讲一下几种合并 python 字典的方法。并做一些简要分析。
假设是有两个字典 x,y
ini 格式的配置文件简单易读,经常会用在一些简单应用场合。在 python 中, 可以通过 ConfigParser 进行 ini 文件的操作。
代码示例
假定我们有个 test.ini 文件,位于 assets 目录下面,/assets/test.ini 文件内容如下
介绍两种办法生成随机数,通过 python 的 random 和 secrets 库可以生成随机整数。示例代码如下:
掌握 Python 常用技巧,可大量节省开发和精力。包括数组分解、变量置换,字符串、集合、函数参数、系统相关功能等
Python自带xml库,可以通过xml.dom读取xml文件。比如有如下xml文件
在我们的 Python 文件中使用 import 语句非常常见。即使对于有经验的 Pythonista 使用者,导入也可能会造成混淆,因为没有单一的方法可以确保导入始终有效。
列表切片是 Python 提供的便捷功能之一。切片通常用于访问有序集合中的元素范围。切片的最简单用法是内置类型”list”,”str”和”bytes”。切片基本语法形式是”somelist[start:end:stride]”,其中”start”是包含在内的,而”end”是排斥的。
列出目录下的文件是个常见的操作,python 提供了非常简单的方法: os.walk
集中讲一下如何删除字典中元素,在 python3 中有四种方法,可以清理元素,各有使用场景。
用python实现简单的计算器功能,有很多思路,这里介绍三种方法,并分析各自的优缺点。下图是一个真是的计算器,由StellrWeb摄于Unsplash:
可通过encode 和 decode进行string和bytes转换
1
2
str = str.encode('UTF-8','strict');
str.decode(encoding='UTF-8,errors='strict')
如果没有判断 key 是否在 dict 中,而直接访问,则会报错:KeyError: ‘key’。 可通过 in 操作符判定,语法如下
Python 中合并列表是非常常见的操作,本文提供6种方法实现列表的拼接:
通过 + 运算直接拼接
通过循环调用list.append()进行拼接
通过列表表达式拼接
通过 ‘*’ 解构方式实现拼接
通过内置的extend方法实现拼接
通过itertools.chain()实现拼接
可以直接调用print打印,也可以通过遍历字典的方式打印词典中的key和value
在python中,通过 for var in list 或者 for k,v in enumerate(list)的方式可以遍历list,前者直接获取列表中的值,后者可以同时取得下标和值。
我们偶尔会遇到一些函数执行特别耗时的问题,此时需要对代码进行性能剖析。python 为我们提供了优秀的工具解决此类问题:cProfile。
Python 有自己的包管理器,通过 pip 命令管理。本文介绍 pip 使用,遇到的问题以及解决方案。我们使用的 python 版本为 3.7, 对应的 pip 命令为 pip3。此外会介绍另一个命令 pipreqs,生成局部的安装包列表。
Tag pip
Python 有自己的包管理器,通过 pip 命令管理。本文介绍 pip 使用,遇到的问题以及解决方案。我们使用的 python 版本为 3.7, 对应的 pip 命令为 pip3。此外会介绍另一个命令 pipreqs,生成局部的安装包列表。
Tag profile
我们偶尔会遇到一些函数执行特别耗时的问题,此时需要对代码进行性能剖析。python 为我们提供了优秀的工具解决此类问题:cProfile。
Tag loop
可以直接调用print打印,也可以通过遍历字典的方式打印词典中的key和value
在python中,通过 for var in list 或者 for k,v in enumerate(list)的方式可以遍历list,前者直接获取列表中的值,后者可以同时取得下标和值。
Tag list
列表切片是 Python 提供的便捷功能之一。切片通常用于访问有序集合中的元素范围。切片的最简单用法是内置类型”list”,”str”和”bytes”。切片基本语法形式是”somelist[start:end:stride]”,其中”start”是包含在内的,而”end”是排斥的。
Python 中合并列表是非常常见的操作,本文提供6种方法实现列表的拼接:
通过 + 运算直接拼接
通过循环调用list.append()进行拼接
通过列表表达式拼接
通过 ‘*’ 解构方式实现拼接
通过内置的extend方法实现拼接
通过itertools.chain()实现拼接
在python中,通过 for var in list 或者 for k,v in enumerate(list)的方式可以遍历list,前者直接获取列表中的值,后者可以同时取得下标和值。
Tag dict
集中讲一下如何删除字典中元素,在 python3 中有四种方法,可以清理元素,各有使用场景。
如果没有判断 key 是否在 dict 中,而直接访问,则会报错:KeyError: ‘key’。 可通过 in 操作符判定,语法如下
可以直接调用print打印,也可以通过遍历字典的方式打印词典中的key和value
Tag bytes
可通过encode 和 decode进行string和bytes转换
1
2
str = str.encode('UTF-8','strict');
str.decode(encoding='UTF-8,errors='strict')
Tag string
可通过encode 和 decode进行string和bytes转换
1
2
str = str.encode('UTF-8','strict');
str.decode(encoding='UTF-8,errors='strict')
Tag file
列出目录下的文件是个常见的操作,python 提供了非常简单的方法: os.walk
Tag os
列出目录下的文件是个常见的操作,python 提供了非常简单的方法: os.walk
Tag slice
列表切片是 Python 提供的便捷功能之一。切片通常用于访问有序集合中的元素范围。切片的最简单用法是内置类型”list”,”str”和”bytes”。切片基本语法形式是”somelist[start:end:stride]”,其中”start”是包含在内的,而”end”是排斥的。
Tag import
在我们的 Python 文件中使用 import 语句非常常见。即使对于有经验的 Pythonista 使用者,导入也可能会造成混淆,因为没有单一的方法可以确保导入始终有效。
Tag xml
Python自带xml库,可以通过xml.dom读取xml文件。比如有如下xml文件
Tag trick
掌握 Python 常用技巧,可大量节省开发和精力。包括数组分解、变量置换,字符串、集合、函数参数、系统相关功能等
Tag number
介绍两种办法生成随机数,通过 python 的 random 和 secrets 库可以生成随机整数。示例代码如下:
Tag git
问题出现:
本地已经一个仓库A,没有关联远程仓库,因此,从github创建了一个远程仓库B,并增加了一个README文件。现在要将二者进行关联:
在本地执行:
1
git remote add origin https://github.com/zjmmjzzjm/pythontips
Tag ini
ini 格式的配置文件简单易读,经常会用在一些简单应用场合。在 python 中, 可以通过 ConfigParser 进行 ini 文件的操作。
代码示例
假定我们有个 test.ini 文件,位于 assets 目录下面,/assets/test.ini 文件内容如下
Tag dictionary
接触过很多程序老手,遇到时间戳、时区问题总是搞不清楚。今天主要分享下,如何正确的理解和使用时间戳、时区和日期。简单起见,我们只讨论两个库。
本文讲一下几种合并 python 字典的方法。并做一些简要分析。
假设是有两个字典 x,y
Tag glob
python3.5 以后的版本支持 glob 语法 **。 可通过该语法列举出目录和文件列表。
Tag docker
docker的历史记录包含了所有的docker层的生成过程,可以基于此来生成Dockerfile:
查看 docker 镜像中的内容,在进行 docker build 调试时非常有用。最常见的方式是创建容器,然后金融容器的 bash 查看镜像内容。以下我们以 nginx 为例
docker 容器或镜像和主机之间传输文件非常简单,简要说明如下:
通过 Dockerfile 可以轻松编辑已有的 docker 镜像。下面以 nginx 为例
Tag shell
苹果系统的安全性一直在提升,到时我们在安装一些第三方的.app文件时,提示系统“文件已损坏“之类的错误,这个实际上是签名校验失败导致。我们可以通过如下方法绕过苹果的校验:
自从苹果的 catalina 版本系统推出后,官方将默认的 shell 由 bash 改成了 zsh,这样我们之前的 bash_profile 中的配置失效了。原因:
Tag macos
苹果系统的安全性一直在提升,到时我们在安装一些第三方的.app文件时,提示系统“文件已损坏“之类的错误,这个实际上是签名校验失败导致。我们可以通过如下方法绕过苹果的校验:
自从苹果的 catalina 版本系统推出后,官方将默认的 shell 由 bash 改成了 zsh,这样我们之前的 bash_profile 中的配置失效了。原因: