服务端
AI架构师易筋
工作10+年,AI方向架构师,曾经任职阿里巴巴,世界500强HSBC。擅长大模型LLM原理、架构、深度学习、Transformer、算法、数据结构、设计模式。易筋乃阿里巴巴花名。
展开
-
Docker 核心技术 NameSpace, CGroup, AUFS, DeviceMapper
文章目录Docker 简介1. NameSpace - Linux2. CGroup - LinuxCGroup的子系统CGroup的术语下一代的CGroup3. AUFSAUFS的一些特性相关术语Whiteout 和 OpaqueAUFS的性能4. DeviceMapper - LinuxThin Provisioning 简介Device Mapper 行不行?参考Docker 简介Do...原创 2020-04-22 23:20:15 · 938 阅读 · 0 评论 -
易筋SpringBoot 2.2 | 第三十二篇:Redis Docker入门
写作时间:2019-09-28Spring Boot: 2.1 ,JDK: 1.8, IDE: IntelliJ IDEA说明REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value...原创 2019-12-01 10:41:12 · 258 阅读 · 0 评论 -
Kubernetes可以代替Docker,可笑
随着Kubernetes作为容器编排解决方案变得越来越流行,“ Kubernetes与Docker”这个词在如今越来越多地听到。但是,“ Kubernetes与Docker”也是一个令人误解的短语。当您将其分解时,这些词并不意味着许多人想要表达的意思,因为Docker和Kubernetes不是直接竞争对手。Docker是一个容器化平台,而Kubernetes是Docker等容器平台的容器协调器。...翻译 2020-04-06 23:05:19 · 5330 阅读 · 3 评论 -
Docker概述 官方文档 Google翻译
Docker概述预计阅读时间: 10分钟Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助Docker,您可以以与管理应用程序相同的方式来管理基础架构。通过利用Docker的快速交付,测试和部署代码的方法,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。Docker平台Docker提供了在松散隔离的环境...翻译 2020-04-02 08:58:32 · 327 阅读 · 0 评论 -
易筋SpringBoot 2.1 | 第廿三篇:SpringBoot之Docker入门
写作时间:2019-09-10Spring Boot: 2.1 ,JDK: 1.8, IDE: IntelliJ IDEA说明MyBatis PageHelper (https://pagehelper.github.io)支持多种数据库支持多种分页方式SpringBoot 支持 (https://github.com/pagehelper/pagehelper-spring-boo...原创 2019-09-16 12:30:40 · 524 阅读 · 0 评论 -
Docker的核心概念镜像Images, 容器Containers, 数据卷Volumes
写作时间:2020-01-29Docker: 2.1.0.2, MySQL: 8, MacOS: 10.15.2,说明Docker很容易部署应用和服务在容器Containers中,产生的数据可以存在数据卷Volumes,打包成镜像Images,所以可以容易迁移。这也使本地机器占用了磁盘去存储Images,Containers, Volumes,此文记录如何查询、删除相关数据.清除所有没用的...原创 2020-01-30 00:00:23 · 2667 阅读 · 0 评论 -
Google Code Review 如何编写代码评论
如何编写代码评论摘要善待。说明您的推理。在给出明确的指示与指出问题并让开发人员决定之间保持平衡。鼓励开发人员简化代码或添加代码注释,而不仅仅是向您解释复杂性。礼貌通常,重要的是要礼貌和尊重,同时也要对正在查看其代码的开发人员非常清楚和有帮助。一种方法是确保您始终对代码进行注释,而不对开发人员进行注释。您不必总是遵循这种做法,但是在说出可能令人不快或有争议的内容时,一定要使用它。例如:坏:“为什么从并发中没有任何好处,为什么要在这里使用线程?”好:“并发模型在这里增加了系统的复杂性,而我翻译 2020-06-28 18:17:50 · 400 阅读 · 0 评论 -
Google Code Review 如何进行代码审查
Google基于长期的经验,本节中的页面包含有关进行代码审查的最佳方法的建议。它们共同代表一个完整的文档,分为许多单独的部分。您不必全部阅读,但很多人发现阅读整本书籍对自己和团队非常有帮助。代码审查标准在代码审查中寻找什么导航评论中的CL代码审查速度如何编写代码评论注释在代码审查中处理推回另请参阅《CL作者指南》,该指南为正在审查其CL的开发人员提供了详细的指导。CL: Change List.参考https://google.github.io/eng-practices/revi翻译 2020-06-28 17:55:36 · 345 阅读 · 0 评论 -
Google Code Review代码审查标准
代码审查标准代码审查的主要目的是确保Google代码库的总体代码运行状况随着时间的推移而不断改善。为此目的,设计了所有代码审查工具和过程。为了实现这一点,必须权衡一系列折衷。首先,开发人员必须能够在他们的任务上取得进展。如果您从未向代码库提交过改进,那么代码库将永远不会得到改进。另外,如果审阅者很难进行任何更改,那么开发人员就没有动力在将来进行改进。另一方面,审阅者有责任确保每个CL的质量都使得其代码库的整体代码运行状况不会随着时间的流逝而减少。这可能很棘手,因为随着时间的推移,代码库通常会由于代码翻译 2020-06-28 17:59:25 · 423 阅读 · 0 评论 -
Google Code Review在代码审查中寻找什么
在代码审查中寻找什么注意:在考虑以上各点时,请务必确保考虑 《代码审查标准》。设计审查中最重要的内容是CL的总体设计。CL中各个代码段的交互是否有意义?此更改是属于您的代码库还是属于库?它是否与您的系统的其余部分很好地集成?现在是添加此功能的好时机吗?功能性此CL是否达到开发人员的预期目的?开发人员打算为该代码的用户带来什么好处?“用户”通常既是最终用户(当他们受到变更影响时)又是开发人员(将来他们将不得不“使用”此代码)。通常,我们希望开发人员能够对CL进行充分的测试,以确保它们在进行代码审查翻译 2020-06-28 18:05:20 · 245 阅读 · 0 评论 -
Google Code Review 处理代码审查中的推回
处理代码审查中的推回有时,开发人员会推迟进行代码审查。他们要么会不同意您的建议,要么会抱怨您总体上过于严格。谁是对的?当开发人员不同意您的建议时,请先花点时间考虑一下它们是否正确。通常,它们比您更接近代码,因此他们实际上可能对代码的某些方面有更好的了解。他们的论点有意义吗?从代码健康角度来看,这有意义吗?如果是这样,请让他们知道他们是对的,然后让问题解决。但是,开发人员并不总是正确的。在这种情况下,审稿人应进一步解释为什么他们认为自己的建议正确。良好的解释不仅说明了对开发人员回复的理解,而且还说明了翻译 2020-06-28 18:20:26 · 201 阅读 · 0 评论 -
Google Code Review 浏览评论中的CL
浏览评论中的CL摘要现在您知道要查找的内容了,管理分布在多个文件中的审阅的最有效方法是什么?更改有意义吗?它有一个很好的 描述吗?首先看一下变化中最重要的部分。整体设计得好吗?以适当的顺序查看其余的CL。第一步:全面了解变化查看CL的说明以及CL的一般功能。这种变化甚至有意义吗?如果最初不应该进行此更改,请立即做出答复,说明为什么不应该进行更改。当您拒绝这样的更改时,最好还是向开发人员建议他们应该做些什么。例如,您可能会说:“看起来您为此做了一些出色的工作,谢谢!但是,实际上,我们正朝着翻译 2020-06-28 18:08:43 · 520 阅读 · 0 评论 -
Google Code Review 代码审查速度
代码审查速度为什么代码审查应该很快?在Google,我们优化了一组开发人员可以一起生产产品的速度,而不是优化了单个开发人员可以编写代码的速度。个人发展的速度很重要,但并不像整个团队的速度那么重要。当代码审查缓慢时,会发生几件事:整个团队的速度下降。是的,对评论没有快速回应的个人可以完成其他工作。但是,由于每个CL等待审查和重新审查,因此团队其余成员的新功能和错误修复被延迟了几天,几周或几个月。开发人员开始抗议代码审查过程。如果审阅者仅每隔几天回答一次,但是每次都要求对CL进行重大更改,那么这对于翻译 2020-06-28 18:15:43 · 327 阅读 · 0 评论 -
【易实战】Spring Cloud Greenwich Eureka:服务注册与发现
dd the run configurations to the Configurations available in Run Dashboard list in the Edit Run/Debug Configurations dialog under the Defaults (Templates in the current IDE versions) node:In Spring...原创 2020-02-11 08:48:24 · 402 阅读 · 0 评论 -
【易实战】SpringCloud Greenwich架构概览深度详解
说明在远古时代算盘可以解决算力问题,在20世纪初期电脑单机还是少数精英的特权,在21世纪互联网风起云涌超级单机服务器不仅贵也应对不了海啸般的流量,集群、分布式系统来解围,SpringCloud微服务作为解决方案的佼佼者出现了。Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spr...原创 2020-01-31 12:28:09 · 2562 阅读 · 0 评论 -
【易实战】Spring Cloud微服务架构12要素应用 Twelve‑Factor App
说明如今任何人都在构建微服务. 不管你在哪里工作,在大公司或者刚起步的创业公司都会遇到微服务架构. Heroku干了一件伟大的事情,定义了坚实的微服务基础架构.在2011, Adam Wiggins [Heroku联合创始人]发布了12要素应用(The Twelve-Factor App) 方法论,阐述他们如何构建云平台SAAS (software-as-a-service). 12要素应用是...原创 2020-02-12 08:24:19 · 510 阅读 · 0 评论 -
【易实战】Spring Cloud Greenwich Ribbon:负载均衡的服务调用
写作时间:2020-02-16Spring Cloud: Greenwich, Spring Boot: 2.1, JDK: 1.8, IDE: IntelliJ IDEA说明Spring Cloud Ribbon 是Spring Cloud Netflix 子项目的核心组件之一,主要给服务间调用及API网关转发提供负载均衡的功能,本文将对其用法进行详细介绍。Ribbon简介在微服务架构...原创 2020-02-16 13:07:38 · 266 阅读 · 0 评论 -
【易实战】Spring Cloud Greenwich Hystrix:服务容错保护
You need a HystrixRequestContext in your controller//initHystrixRequestContext context = HystrixRequestContext.initializeContext();// get cache logic …//closecontext.close();The better way is th...原创 2020-03-06 09:50:49 · 467 阅读 · 0 评论 -
【易实战】Spring Cloud Greenwich版本发布
说明2019年1月23日,Spring Cloud创始人Spencer Gibb在博客发布了Spring Cloud Greenwich版本正式发版的消息,可以在 Spring Milestone 和 Maven Central 库获取到,现在来看看Greenwich有哪些变化。2020年2月1号,发布Spring Cloud Service Release 5 (SR5) 发布。Sprin...原创 2020-02-12 09:29:14 · 475 阅读 · 0 评论 -
Docker安装MySQL 8 for Mac(图文详解)
安装拉取镜像image报错Docker获取镜像报错 docker: Error response from daemon% docker pull mysql:8 Error response from daemon: Get https://registry-1.docker.io/v2/library/mysql/manifests/8: EOF解决方案:点击桌面顶栏的 Doc...原创 2020-01-29 17:13:06 · 5744 阅读 · 0 评论 -
猴子都能懂的数据库范式详解
说明范式来自英文Normal form,简称NF。要想设计—个好的关系,必须使关系满足一定的约束条件,此约束已经形成了规范,分成几个等级,一级比一级要求得严格。满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。目前关系数...原创 2020-03-28 09:07:36 · 392 阅读 · 0 评论 -
Docker MySQL 8 慢查询日志监控详解
慢查询日志概念MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该...原创 2020-01-30 16:46:40 · 2464 阅读 · 0 评论 -
Google cloud 存储 Storage
参考https://dcclouds.qwiklabs.com/classrooms/1/notes/25232原创 2022-02-26 15:08:28 · 584 阅读 · 0 评论 -
Google Cloud 虚拟机 Virtual Machines
参考https://dcclouds.qwiklabs.com/classrooms/1/notes/25224原创 2022-02-26 13:41:15 · 462 阅读 · 0 评论 -
Google Cloud资源层级, IAM Identity and Access Management, 控制台云交互
参考https://dcclouds.qwiklabs.com/classrooms/1/notes/25216原创 2022-02-26 11:57:00 · 259 阅读 · 0 评论 -
Google Cloud Fundamentals简介
https://dcclouds.qwiklabs.com/https://dcclouds.qwiklabs.com/classrooms/1/notes/25200原创 2022-02-26 10:45:33 · 198 阅读 · 0 评论 -
使用 ssh-keygen访问服务器
正常访问服务器192.168.0.1ssh root@192.168.0.1# waiting for input passwordpassword用ssh-keygen的方式生成 ssh-keygenssh-keygen接着上传公钥到服务器ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.1# waiting for input passwordpassword以后,直接访问下面的命令即可登录ssh -i ~/.ssh/id_rs原创 2021-08-27 18:54:58 · 208 阅读 · 0 评论 -
Linux Centos8上使用系统定时任务crond
1. 查看crond的状态:# systemctl status crond说明:和其他service的执行相同:启动:systemctl start crond停止:systemctl stop crond说明:crond服务一般linux系统会默认安装,如果不存在,可以用这个命令安装:# yum install crontabs2. crond的日志位于何处?默认位于/var/log目录下,cron打头复制代码# ll /var/log/cron*-rw-------原创 2021-08-23 13:32:14 · 1751 阅读 · 0 评论 -
翻译:如何在 RHEL 8 / CentOS 8 Linux 上打开和关闭端口
Firewalld 是一个强大而简单易用的工具,用于管理RHEL 8 /CentOS 8 服务器或GNOME 工作站上的防火墙。Firewalld 允许使用预定义服务以及打开和关闭用户自定义端口来管理打开或关闭端口。在本教程中,您将学习:如何使用 Firewalld 在 RHEL 8 / CentOS 8 上打开和关闭端口。如何在 RHEL 8 / CentOS 8 上打开和关闭服务。如何重新加载防火墙配置。如何列出打开的端口或服务。使用firewall-cmd命令在 RHEL 8 / Cen原创 2021-08-21 19:20:32 · 1741 阅读 · 0 评论 -
翻译:Vim从入门到精通 Mac OS
说明Vim是Mac随附的免费且功能强大的文本编辑器。在本教程中,我将向您展示此文本编辑器的基础知识。Pycharm 开启vim编辑器后,tab功能不起作用,其实是用> 来缩进。打开文件您可以像任何命令行编辑器一样在Vim中打开文件。如果要编辑的文件是life.md,请在“终端”窗口中键入:vim life.mdVim将在该终端中打开并加载该文件。Vim是终端程序,而不是图形系统程序。Vim模式的基础Vim有四种模式:Normal,Insert,Visual和Command。每种模原创 2020-10-04 16:02:02 · 1200 阅读 · 0 评论 -
什么是java OOM Out Of Memory 内存溢出?如何分析及解决oom问题?
最近查找了很多关于OOM,甚至于Java内存管理以及JVM的相关资料,发现这方面的东西太多了,竟有一种眼花缭乱的感觉,要想了解全面的话,恐非一篇文章能说清的,因此按照自己的理解整理了一篇,剩下的还需要继续学习。1)什么是OOM?OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object转载 2020-09-02 14:35:06 · 637 阅读 · 0 评论 -
Amazon AWS创建Elastic Beanstalk,部署Tomcat,配置MySQL,发布Spring Boot应用
说明本文记录笔者在AWS创建Elastic Beanstalk应用的详细实现。包括内容:括Tomcat应用的创建MySQL数据库的创建MySQL Work Bench数据库业务库scheme创建MySQL Work Bench数据库表创建, 填充数据,查询数据Spring Boot应用操作数据库生产环境部署开发环境部署1. 创建Tomcat应用1.1. Elastic B...原创 2020-03-08 10:04:22 · 1227 阅读 · 1 评论 -
Mac查看占用端口进程
说明有的时候IDEA Intellij突然闪退了,Tomcat还没在运行,需要用命令行根据端口找出pid,并杀掉进程。#查看进程lsof -i tcp:8001#杀掉进程kill -9 $PID举例:% lsof -i:8001COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava...原创 2020-03-04 12:33:31 · 1635 阅读 · 0 评论 -
Mac下安装配置Tomcat 9, Homebrew安装Tomcat
1. 下载登录Apache Tomcat官网,地址 http://tomcat.apache.org ,点击左边的Download,选择需要下载的版本。2. 解压,打开Terminal定位到bin目录解压后的目录名字为apache-tomcat-9.0.31% cd /Users/zgpeace/Workspace/apache-tomcat-9.0.31/bin 3. 启动Tomc...原创 2020-02-27 09:53:33 · 7156 阅读 · 3 评论 -
域名备案 资料整理
说明笔者整理此文,解决:一级域名备案,二级域名还需要备案么?一级域名 备案 材料 流程1. 一级域名备案过二级域名还需备案吗https://zhuanlan.zhihu.com/p/47845678关于备案备案的目的就是为了防止在网上从事非法的网站运营活动,打击不良互联网信息的传播。二级域名是建立在一级域名上的,一级域名已经备案,二级域名不管是解析到国外主机还是解析到国内主机都...原创 2020-02-20 08:57:51 · 1133 阅读 · 0 评论 -
AWS亚马逊ssh登录失败 Permissions 0644 for .pem are too open
说明AWS亚马逊ssh登录失败 Permissions 0644 for .pem are too openssh -i yourPath/yourPrivateKey.pem ec2-user@yourAwsAddress.compute.amazonaws.comWarning: Permanently added 'yourAwsAddress.compute.amazonaws.c...原创 2020-02-18 08:01:17 · 3251 阅读 · 2 评论 -
IDEA建立Spring MVC Hello World 详细入门教程
通过IDEA新建Spring MVC项目设置运行、调试相关配置导入Spring MVC 相关类库添加 Controller修改 url-pattern(web.xml)配置 component-scan(dispatcher-servlet.xml)配置 ViewResolver(dispatcher-servlet.xml)添加视图文件(.jsp)通过 Model 向 View 传值转载 2019-10-19 17:31:33 · 336 阅读 · 0 评论