首页 文章 精选 留言 我的

精选列表

搜索[notes],共1428篇文章
优秀的个人博客,低调大师

Clean Code Notes

一、有意义的命名及函数 类名:使用名词,方法名:动词 别用双关语:避免将同一单词用于不同目的。eg. add 使用解决方案领域名称。eg. JobQueue;如果不能使用程序员熟悉的术语来给手头的工作命名,就采用从所涉问题而来的名称。 函数应短小(每行150字符,不超过100行,20行封顶最佳)。 函数只做一件事,同设计模式一样,应尽量遵循单一权责原则及开闭原则。 每个函数中的语句,理应都要在同一抽象层级上。 沃德原则:如果每个例程都让你感到深合己意,那就是整洁代码(并且不要怕长名称方法名) 函数的参数:最理想的参数数量是零,其次是一,再次是二,尽量避免三。有足够特殊的理由才能用三个以上参数(阿里巴巴Java开发手册:相同参数类型,相同业务含义,才可以使用 Java 的可变参数,可变参数放在最后,尽量不用可变参数,避免使用 Object) 标识参数:丑陋不堪,render(Boolean isSuite)代表了该函数在标识为true会这样做,为false会那样做。应该一分为二——renderForSuite()和renderForSingleTest() 二元及三元函数:在当单个值的有序组成部分不确定时,多元函数并不是好的选择 参数对象:如果函数看来需要两个、三个或三个以上参数,就说明其中一些参数应该封装为类了。Circle makeCircle(double x,double y,double radius) Circle makeCircle(Point center,double radius) 后者优于前者 函数与参数:应是一种非常良好的动词/名词对形式write(name) 无副作用:在执行函数时,应不该造成其他部分的更改 分隔指令与询问:函数要么做什么事,要么回答什么事 使用异常代替返回错误代码,抽离Try/Catch代码块。Try/Catch代码块丑陋不堪,搞乱了代码结构,最好把其中内容单独写成一个函数。 二、注释 注释并不能美化糟糕的代码,最好用代码来阐述 TODO 是一种程序员认为应该做,但由于某些原因目前还没做的工作,它可能是要提醒删除某个不必要的特性,或者要求他人注意某个问题等。 坏注释:喃喃自语、多余的注释、误导性注释、循规式注释、日志式注释、废话注释。(p55-p61) 不应当有的注释:位置标记、括号后面的注释、归属与署名、注释掉的代码、HTML注释、非本地信息、信息过多、不明显的联系(p62-p65) 非公共代码中的Javadoc 三、格式 垂直格式 单个文件代码行数fitnese多在200行到500行之间 (作者认为尽量精简代码在单个文件中,并且文件之间代码行数最小与最大值差距不要过大) 向报纸学习(自上而下,内容逐次展开)。实际编程中注意很难注意这个 适当的换行 方法与方法之间 变量与方法之间 import 与类之间 import 系统类和导入包中的类或者自定义类之间 垂直距离 变量声明应尽可能靠近其使用位置 实体变量应放在类的顶部声明 相关函数应尽量放在一起,一个方法调用了该类中的另一个方法,应尽量放在一块 概念相关的代码应该放在一起,重载的方法也算 横向距离(一行代码所用字符 [阿里巴巴java开发手册中有定义],水品对齐,水平方向上的取个与靠近-不认同) 同一层级的代码应该缩进至同一个层级(Python中采用强制缩进) 四、对象和数据结构 面向过程式代码与面向对象式代码(p89-p90) 对于面向对象较难的事,对于过程式代码却较容易,反之亦然。 得墨忒耳律认为,类 C 的方法f只应该调用以下对象的方法: C 由 f 创建的对象 作为参数传递给 f 的对象 由 C 的实体变量持有的对象方法不应调用有任何函数返回的对象的方法,换言之,只跟朋友谈话,不与陌生人谈话。(实际生产环境用jfinal service 调 dao 是用的该实体类的静态内部对象,与ssm有不同) DTO(Data Transfer Objects) 里最好不要有业务规则代码。 五、错误处理 使用异常而非返回码 先写 try - catch - finally 某种意义上,try 代码块就像是事务,catch 代码块将程序维持在一中持续状态,无论 try 代码库中发生了什么均如此。 给出异常发生的环境说明。 别传递 null 值:可以用断言代替判空。 assert p1 != null: "p1 should not be null"; 六、边界 学习 log4j 使用上尚不存在的代码:适配器模式(作者采用的) 七、类 类的组织:公共静态变量->私有静态变量->私有实体变量。很少出现公共实体变量 类应该短小:对于类,我们采用不同的衡量方法,计算权责。 单一权责原则:类或模块应有且只有一条加以修改的理由。 内聚:类应该只有少量实体变量,类中的每个方法都应该操作一个或多个这种变量。 文中举例说明了一个 Sql 类的重构。将一个 Sql 类中所有的 CRUD 方法抽象成一个 generate 方法,并由相应的 CRUD 类继承。(和现在 jfinal 的使用方法不一样,虽然违反了设计模式开闭原则。但我认为对中小型项目开发,反设计模式更为便捷) 八、系统 依赖注入(Dependency Injection DI),控制反转(Inversion of Control IOC):可以实现分离构造与使用,控制反转将第二权责从对象中拿出来,转义到另一个专注于此的对象中,从而遵循了单一权责原则。因为初始设置是一种全局问题,这种授权机制通常要么是 main 例程,要么是有特定的目的的容器(Spring 中采用 ConcurrentHashMap 作为该容器)。 扩容:为达到松耦合,采用 AOP 实现某些代码的行为修改。(最终的系统,系统内的模块达到高内聚低耦合的状态,并且易扩展) Java代理:详情 p148 九、并发编程 并发是一种解耦策略。它帮助我们把做什么(目的)和 何时(时机)做分解开。 常见的迷思与误解 并发总能改进性能?并发有时候能改进性能,单只在多个线程或处理器之间能分享大量等待时间的时候管用。事情没那么简单。(编排考生时,又开了一个线程,编排所有考生) 编写并发程序无需修改设计事实上,并发算法的设计有可能与单线程系统的设计极不相同。目的与时间的解耦往往对系统结构产生巨大影响。 采用Web 或 EJB 容器的时候,理解并发问题并不重要(实际开发中,面向servlet开发。。。) 并发防御原则 单一权责原则建议将并发相关代码与其他代码进行分离 限制数据作用域产生并发问题的原因,其实就是共享变量,在 JMM 中,共享变量存在于主存中,多个线程从主存中拷贝共享变量到当前线程中,在线程内部进行对变量的操作。 CPU 给每个线程分配时间片,当线程 A 将共享变量刷回主存中前,线程 B 可能得到了 CPU 分配的时间片,由于 A 线程未及时刷新共享变量至主存,B 线程取得的是未经过 A 线程修改的值,会造成数据与理想情况不一致。最经典的多线程入门,进行自增操作时,如果开了多线程进行该操作,结果永远是小于等于 期望值。例如 `java int num=0; for(int i=0;i<100;i++){ num++; } }

优秀的个人博客,低调大师

today reading notes

paminit manager from upstart to systemd/systemctl;Vivid Vervet + openStack kilo;为容器开发者(OpenStack工作环境)推出 Canonical 公司的 LXD (Linux Container Daemon) Hypervisorandroid 安全机制;ndroid的安全机制看起来也是很常规的安全框架,由这些组成:Platform Hardening, Application Isolation, Device Integrity 和 Enterprise Services( Android for Work).Adrian Ludwig表示,Android致力于开放,成千上万的设备均可使用,随之的是Android开源后呈现了数以百万的代码,在生态系统中也有着上百家的 OEMs 、 ISVs 和安全解决方案。 当然,安全问题问题随之而来,谷歌有也诸多的策略:初级的安全保障就是应用验证机制和Android Safety Net(去年已扫描了超过十亿台设备)。据Internet giant统计数据显示,去年只有不到1%设备有潜在恶意软件(Potentially Harmful App, PHA),而如果设备仅从Google Play商店安装应用,则这一比例还将下降至0.15%。另外,PHA安装量同比下降50%,后门软件安装量同比下降90%。不过也有地区的差异性,俄罗斯和中国的PHA安装量还是很高。打击Android恶意软件是谷歌清理整个生态系统的一部分。而谷歌还在清理有害的Chrome浏览器插件。月初,谷歌工程师宣布,已经禁用了近200个有害的Chrome插件。这些插件影响了约1400万用户。关于RSA Conference 20154月20日-24日,全球知名信息安全峰会RSA Conference 2015在美国旧金山召开。作为IT安全领域的权威科技大会,RSA大会不仅会邀请各地区著名安全专家出席与分享,更吸引汇集了全球众多顶级安全厂商的联袂参展。因此,现在的RSA大会已成为一个快速了解全球安全趋势的风向标,更是影响安全产业转型与持续发展的重要会议平台。所以有预计表示,出席今年RSA大会的人数或达到3万之众

优秀的个人博客,低调大师

OpenStack Ocata Release Notes

本文整理了OpenStack Ocata版本的主要项目更新情况,供大家参考。 Nova Ocata 版本加入了许多 Cell V2 的功能 。 但是不是所有的都可以用于生产 。 现在部署 Nova 需要最少创建一个 Cell。 FilterScheduler 只能基于 Placement 服务做调度 。 现在只支持 CPU, RAM 和 Disk 资源 。 将来会支持更多资源类型 。 Nova api 的 microversion 版本支持到 v2.42. 增加了一个 nova-status 命令 , 方便运维人员做升级检查。 增加对 OSProfiler 工具的支持 。 方便分析 OpenStack 控制平面的性能 。 serial console 支持 ironic。 Vlan tags 信息可以通过 metadata 服务获取 。 增强 Hyer-V 的支持 。 增强对 Virtuozzo 的支持 。 Keystone Fernet 成为默认的 Token Provider PKI 和 PKIz token provider 被移除 。 增加 OSProfile 支持 。 Glance 支持无宕机的数据库升级 Minor Version API 升级到 2.5 镜像可见性增加 community 选项 。 支持 ploop 格式的镜像 Cinder 增加 Active-Active 的高可用支持 ( 实验 )。 大量的 Driver 增强 , 包括 : Dell SC,Ceph, Datera, Hitachi 等 。 Neutron Linux Bridge agent 支持 QoS DSCP。 Resource tag 机制支持 subnet, port, subnetpool 和 router. 增加对 Placement API 的支持 。 增加 neutron-netns-cleanup 工具进行 namespace 清理 。 支持 oslo.privsep Ceilometer 增加对 Cinder volume, snapshot 和 backup 大小的计量 。 通过 libvirt api 来获取 metadata 信息 , 不用再请求 Nova API。 废弃 ceilometer-api 和 ceilometer-collector。 Heat 增加 OS::Aodh::CompositeAlarm 增加 OS::Cinder::QoSAssociation 增加 OS::Designate::Zone 和 OS::Designate::RecordSet 增加 OS::Keystone::Domain 增加 OS::Neutron::Quota 增加 OS::Nova::Quota 增加 OS::Sahara::Job 增加 OS::Zaqar::Notification 和 OS::Zaqar::MistralTrigger Horizon 支持 Keystone to keystone feration。 Access & Security 移到了单独的 panel 里面。 增加对 osprofiler 的支持。 Ironic Port Group 允许用户做 Bond。 API 支持 power off, soft reboot 和 sending non-maskable interrupts 删除 AMT, iBoot, msftocs, seamicro, VirtualBox, and Wake-On-Lan 驱动 。 Ironic API 支持审计。 增加对 Dynamic Driver 的支持 。 支持从一个 conductor 节点部署不同 CPU 类型的机器。 支持 OneView Driver。 Sahara 支持 Kafka MapR 插件 支持 CDH 5.9.0 Kolla 增加 Freezer, Karbor, Monasca, Panko, Zun, Redis 等镜像构建 支持用户指定 policy.json 文件 。 增加 kolla-host 命令 , 用来初始化系统及安装 docker。 增加静态 uid, gid 支持 。 实现部署 Designate, Cloudkitty, Panko, Ocatavia, Collectd 等服务 本文转自 OpenStack2015 博客,原文链接: http://blog.51cto.com/andyliu/1916125 如需转载请自行联系原作者

优秀的个人博客,低调大师

TiDB 5.0 RC Release Notes

TiDB 5.0.0-rc 版本是 5.0 版本的前序版本。在 5.0 版本中,我们专注于帮助企业基于 TiDB 数据库快速构建应用程序,使企业在构建过程中无需担心数据库的性能、性能抖动、安全、高可用、容灾、SQL 语句的性能问题排查等问题。 在 TiDB 5.0 版本中,你可以获得以下关键特性: 开启聚簇索引功能,提升数据库的性能。例如:TPC-C tpmC 测试下的性能提升了 39%。 开启异步提交事务功能,降低写入数据的延迟。例如:Sysbench oltp-insert 测试中延迟降低了 37.3%。 通过提升优化器的稳定性及限制系统任务对 I/O、网络、CPU、内存等资源的占用,降低系统的抖动。例如:长期测试 72 小时,衡量 Sysbench TPS 抖动标准差的值从 11.09% 降低到 3.36%。 引入 Raft Joint Consensus 算法,确保 Region 成员变更时系统的可用性。 优化 EXPLAIN 功能、引入不可见索引等功能帮助提升 DBA 调试及 SQL 语句的效率。 通过备份文件到 AWS S3、Google Cloud GCS 或者从 AWS S3、Google Cloud GCS 恢复到 TiDB,确保企业数据的可靠性。 提升从 AWS S3 或者 TiDB/MySQL导入导出数据的性能,帮忙企业在云上快速构建应用。例如:导入 1TiB TPC-C 数据性能提升了 40%,由 254 GiB/h 提升到 366 GiB/h。 SQL 支持聚簇索引(实验特性) 开启聚簇索引功能后,TiDB 性能在以下条件下会有较大幅度的提升, 例如: TPC-C tpmC 的性能提升了 39%。聚簇索引主要在以下条件时会有性能提升: 插入数据时会减少一次从网络写入索引数据。 等值条件查询仅涉及主键时会减少一次从网络读取数据。 范围条件查询仅涉及主键时会减少多次从网络读取数据。 -等值或范围条件查询涉及主键的前缀时会减少多次从网络读取数据。 聚簇索引定义了数据在表中的物理存储顺序,表的数据只能按照聚簇索引的定义进行排序,每个表只能有一个聚簇索引。 用户可通过修改 tidb_enable_clustered_index 变量的方式开启聚簇索引功能。开启后仅在创建新表时生效,适用于主键是多个列或者单个列的非整数类型。如果主键是单列整数类型或者表没有主键,系统会按照原有的方式进行数据排序,不受聚簇索引的影响。 例如,可通过 select tidb_pk_type from information_schema.tables where table_name = '{tbl_name}' 语名可查询 tbl_name 是否有聚簇索引。 用户文档 相关 issue:#4841 支持不可见索引 DBA 调试和选择相对最优的索引时,可以通过 SQL 语句将某个索引设置成 Visible 或者 Invisible,避免执行消耗资源较多的操作,例如:DROP INDEX 或 ADD INDEX。 DBA 通过 ALTER INDEX 语句来修改某个索引的可见性。修改后优化器会根据索引的可见性决定是否将此索引加入到索引列表中。 用户文档 相关 issue:#9246 支持 EXCEPT/INTERSECT 操作符 INTERSECT 操作符是一个集合操作符,返回两个或者多个查询结果集的交集。一定程度上可以替代 Inner Join 操作符。 EXCEPT 操作符是一个集合操作符,将两个查询语句的结果合并在一起,并返回在第一个查询语句中有但在第二个查询句中不存在的结果集。 用户文档 相关 issue:#18031 事务 提升悲观事务执行成功的概率 悲观事务模式下,如果事务所涉及到的表存在并发 DDL 操作和 SCHEMA VERSION 变更,系统会自动将该事务的 SCHEMA VERSION 更新到最新版本,确保事务会提交成功,避免事务因 DDL 操作而中断。事务中断时客户端会收到 Information schema is changed 的错误信息。 用户文档 相关 issue:#18005 字符集和排序规则 使用 utf8mb4_unicode_ci 和 utf8_unicode_ci 排序规则和字符集比较排序时不区分大小写。 用户文档 相关 issue:#17596 安全 错误信息和日志信息的脱敏 系统在输出错误信息和日志信息时,支持对敏感信息进行脱敏处理,避免敏感信息泄露。敏感信息可能是身份证信息、信用卡号等。 通过 SQL 语句修改 tidb_redact_log=1 开启 tidb-server 的错误信息和日志信息脱敏功能 通过修改 tikv-server 的 security.redact-info-log = true 配置项开启错误信息和日志信息脱敏功能 通过修改 pd-server 的 security.redact-info-log = true 配置项开启错误信息和日志信息脱敏功能 #2852 #3011 通过修改 tiflash-server 的 security.redact_info_log = true 以及 tiflash-learner 的 security.redact-info-log = true 配置项开启错误信息和日志信息脱敏功能 用户文档 相关 issue:#18566 性能提升 支持异步提交事务(实验特性) 开启异步提交事务可使延迟有较大幅度的降低,例如:Sysbench oltp-insert 测试中开启异步提交事务的延迟与不开启时相比降低了 37.3%。 数据库的客户端会同步等待数据库通过两阶段 (2PC) 完成事务的提交。开启 Async Commit 特性后事务两阶段提交在第一阶段提交成功后就会返回结果给客户端,第二阶段会在后台异步执行。通过事务两阶段异步提交的方式降低事务提交的延迟。 此特性只能显式地修改 tidb_guarantee_external_consistency = ON 变量后才能保证事务的外部一致性。开启后性能有较大幅度的下降。 用户可通过修改 tidb_enable_async_commit = ON 全局变量开启此功能。 用户文档 相关 issue:#8316 提升优化器选择索引的稳定性(实验特性) 优化器若无法长期稳定地选择相对合适的索引,会在很大程度上决定着查询语句的延迟是否有抖动。为确保相同的 SQL 语句不会因为统计信息缺失、不准确等因素导致优化器每次都从多个候选索引选持不同的索引,我们对统计信息模块进行了完善和重构。主要完善如下: 扩展统计信息功能,收集多列 NDV、多列顺序依赖性、多列函数依赖性等信息,帮助优化器选择相对较优的索引。 重构统计信息模块,帮助优化器选择相对较优的索引。 从 SKetch 中删除 TopN 值。 重构 TopN 搜索逻辑。 从直方图中删除 TopN 信息,建立直方图的索引,方便维护 Bucket NDV。 相关 issue:#18065 优化因调度功能不完善或者 I/O 限流不完善引起的性能抖动问题 TiDB 调度过程中会占用 I/O、Network、CPU、Memory 等资源,若不对调度的任务进行控制,QPS 和延时会因为资源被抢占而出现性能抖动问题。通过以下几项的优化,长期测试 72 小时,衡量 Sysbench TPS 抖动标准差的值从 11.09% 降低到 3.36%。 减少节点的容量总是在水位线附近波动引起的调度及 PD 的 store-limit 配置项设置过大引起的调度,引入一套新的调度算分公式并通过 region-score-formula-version = v2 配置项启用新的调度算分公式 #3269 通过修改 enable-cross-table-merge = true 开启跨 Region 合并功能,减少空 Region 的数量 #3129 TiKV 后台压缩数据会占用大量 I/O 资源,系统通过自动调整压缩的速度来平衡后台任务与前端的数据读写对 I/O 资源的争抢,通过 rate-limiter-auto-tuned 配置项开启此功能后,延迟抖动比未开启此功能时的抖动大幅减少 #18011 TiKV 在进行垃圾数据回收和数据压缩时,分区会占用 CPU、I/O 资源,系统执行这两个任务过程中存在数据重叠。GC Compaction Filter 特性将这两个任务合二为一在同一个任务中完成,减 I/O 的占用。此特性为实验性特性,通过 gc.enable-compaction-filter = ture 开启 #18009 TiFlash 压缩或者整理数据会占用大量 I/O 资源,系统通过限制压缩或整理数据占用的 I/O 量缓解资源争抢。此特性为实验性特性,通过 bg_task_io_rate_limit 配置项开启限制压缩或整理数据 I/O 资源。 相关 issue:#18005 提升 Real-time BI / Data Warehousing 场景下 TiFlash 的稳定性 限制 DeltaIndex 的内存使用量,避免大数据量下内存使用过多导致系统 OOM。 限制后台数据整理任务使用的 I/O 写流量,降低对前台任务的影响。 新增加线程池,排队处理 coprocessor 任务,避免高并发处理 coprocessor 时内存占用过多导致系统 OOM。 其他性能优化 提升 delete * from table where id < ? 语句执行的性能,p99 性能提升了 4 倍 #18028 TiFlash 支持同时向本地多块磁盘并发读、写数据,充分利用本地多块磁盘并发的读、写数据的能力,提升性能 高可用和容灾 提升 Region 成员变更时的可用性(实验特性) Region 在完成成员变更时,由于“添加”和“删除”成员操作分成两步,如果此时有故障发生会引起 Region 不可用并且会返回前端业务的错误信息。引入的 Raft Joint Consensus 算法,可提升 Region 成员变更时的可用性,将成员变更操作中的“添加”和“删除”合并为一个操作,并发送给所有成员。在变更过程中,Region 处于中间的状态,如果任何被修改的成员失败,系统仍然可以使用。用户可通过 pd-ctl config set enable-joint-consensus true 修改成员变量的方式开启此功能。 用户文档 相关 issue:#18079 #7587 #2860 优化内存管理模块,降低系统内存溢出的风险 减少缓存统计信息的内存消耗。 减少使用 Dumpling 工具导出数据时的内存消耗。 通过将数据加密码的中间结果存储到磁盘,减少内存消耗。 备份与恢复 BR 支持将数据备份到 AWS S3、Google Cloud GCS(用户文档) BR 支持从 AWS S3、Google Cloud GCS 恢复数据到 TiDB(用户文档) 相关 issue:#89 数据的导入和导出 TiDB Lightning 支持从 AWS S3 将 Aurora Snapshot 数据导入 TiDB(相关 issue:#266) 使用 TiDB Lightning 在 DBaaS T1.standard 中导入 1TiB TPCC 数据,性能提升了 40%,由 254 GiB/h 提升到 366 GiB/h Dumpling 支持将 TiDB/MySQL 数据导出到 AWS S3(实验特性)(相关 issue:#8,用户文档) 问题诊断 优化 EXPLAIN 功能,收集更多的信息,方便 DBA 排查性能问题 DBA 在排查 SQL 语句性能问题时,需要比较详细的信息来判断引起性能问题的原因。之前版本中 EXPLAIN 收集的信息不够完善, DBA 只能通过日志信息、监控信息或者盲猜的方式来判断问题的原因,效率比较低。此版本通过以下几项优化事项提升排查问题效率: 支持对所有 DML 语句使用 EXPLAIN ANALYZE 语句以查看实际的执行计划及各个算子的执行详情 #18056 支持对正在执行的 SQL 语句使用 EXPLAIN FOR CONNECTION 语句以查看实时执行状态,如各个算子的执行时间、已处理的数据行数等 #18233 EXPLAIN ANALYZE 语句显示的算子执行详情中新增算子发送的 RPC 请求数、处理锁冲突耗时、网络延迟、RocksDB 已删除数据的扫描量、RocksDB 缓存命中情况等 #18663 慢查询日志中自动记录 SQL 语句执行时的详细执行状态,输出的信息与 EXPLAIN ANALYZE 语句输出信息保持一致,例如各个算子消耗的时间、处理数据行数、发送的 RPC 请求数等 #15009 用户文档 部署及运维 TiUP 支持将 TiDB Ansible 的配置信息导入到 TiUP。以前导入 Ansible 集群的时候 TiUP 会将用户的配置放在 ansible-imported-configs 目录下面。用户后续修改配置执行 tiup cluster edit 时,配置编辑界面中不显示导入的配置,会给用户造成困扰。现在导入 TiDB Ansible 配置信息的时候 TiUP 不仅会放一份到 ansible-imported-configs 目录下面,还会导入到 tiup cluster edit 的配置编辑界面,这样用户以后编辑集群配置时就能够看到导入的配置了。 增强 TiUP mirror 命令的功能,支持将多个镜像合并成一个,支持在本地镜像发布组件,支持添加组件所有者到本地镜像 #814 金融行业或者大型企业生产环境的变更是一项非常严肃的事情,若每个版本都采用光盘安装一次,用户使用起来不是很方便。TiUP 提升 merge 命令将多个安装包合并成一个,方便 DBA 安装部署。 在 v4.0 中,用户发布自建的镜像时需要启动 tiup-server,使用起来不是很方便。在 v5.0 中,执行 tiup mirror set 将当前镜像设置成本地的镜像就可以方便发布自建镜像。

优秀的个人博客,低调大师

【 Release Notes】CodePipeline 产品更新

2017年12月22日 CodePipeline全面支持子账号登录以及权限控制,具体操作请参阅帮助文档 https://help.aliyun.com/document_detail/63612.html 新增 Go 语言构建环境,Go语言版本是 v1.9.2。示例代码相关请参阅 https://code.aliyun.com/CodePipeline/go-demo Nodejs 构建环境Nodejs升级到 v8.9.3, yarn同步升级到 v1.3.2。 2017年12月8日 CodePipeline API和SDK全面上线,支持查看项目列表,执行项目,删除项目等。详细使用说明请阅读帮助文档开发指南部分(https://help.aliyun.com/document_detail/62887.html)。 CodePipeline增加

优秀的个人博客,低调大师

【Release Notes】Kubernetes解决方案更新

2017年8月 支持Kubernetes 1.7.2, 相应变更请参见 CHANGELOG。 去部署Kubernetes CloudProvider切换使用ECS实例ID标识集群节点,支持用户自由更改控制台实例名称。 CloudProvider支持创建VPC内网类型的SLB,同时保留classic网络类型的内网SLB供用户选择。 支持阿里云磁盘。 支持out-of-tree CloudProvider,用户可以运行一个原生的Kubernetes集群,通过添加controller的方式为集群添加阿里云资源支持。 flannel更新到0.8.0版本 nginx-ingress-controller更新到0.9.0-beta.12 heapster更新到1.4.2 2017年7月 支持Kubernetes1.6.7,相应变更请参见 CHANGLOG 支持在K

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册