**资料合集 其他**

**资料合集 其他**

最后修改于 2022-5-8 ⋅ 共 2.5k 字 ⋅ 6分钟 / #Tutorial / #资料, #合集

相关链接 #

资料合集 JAVA
资料合集 Kubernetes
资料合集 其他

CI/CD #

DevOps(开发与运维 – Development and Operations)是一种理念,而CI/CD是实现这两者理念的一种方法。持续集成(Continuous Integration),持续部署(Continuous Deployment)。

cnblog

GitHub Actions 是 GitHub 官方推出的持续集成/部署模块服务(CI/CD),和 jenkins、Travis CI 是同一类产品定位。
但 Actions 的最大优势,就是它是与 GitHub 高度整合的,只需一个配置文件即可自动开启服务。甚至你不需要购买服务器 —— GitHub Actions 自带云环境运行,包括私有仓库也可以享用,而且云环境性能也十分强劲。

tcloud

苗兆丰:近十年来,CI 市场的波动并没有十分剧烈。私有化部署市场,Jenkins 一骑绝尘;公有云服务市场,Travis-ci 和 Circle-ci 各占半壁江山。但是站在 2019 年的视角往回来看,除了 GitHub Actions 最近引发了深水炸弹之外,在云原生概念 2015 年出来之后,确实给行业带来了新的变化。Drone.io 和 Jenkins X 便是 CI 与云原生化学反应的产物,至于前景如何,我们可以拭目以待。

蓝绿发布 #

利用负载均衡(如 Nginx)。项目逻辑上分为AB..Z组,在项目系统时,首先把A组从负载均衡中摘除,进行新版本的部署。其他组仍然继续提供服务。当A组升级完毕,负载均衡重新接入A组,再把B组从负载列表中摘除,进行新版本的部署。A组重新提供服务。直到所有组的版本都已经升级完成,并且都对外提供服务。

云服务 #

gRPC 远程过程调用 #

zhihu

广义上来讲,所有本应用程序外的调用都可以归类为RPC,不管是分布式服务,第三方服务的HTTP接口,还是读写Redis的一次请求。从抽象的角度来讲,它们都一样是RPC,由于不在本地执行,都有三个特点:需要事先约定调用的语义(接口语法)、需要网络传输、需要约定网络传输中的内容格式
网络传输方式有:ONC RPC(早期),RESTfull HTTP JSON(数据冗余和低压缩率),gRPC HTTP2.0 Protobuf。
gRPC是一款RPC框架,也是本系列的主角,在性能和版本兼容上做了提升和让步:
Protobuf进行数据编码,提高数据压缩率
使用HTTP2.0弥补了HTTP1.1的不足
同样在调用方和服务方使用协议约定文件,提供参数可选,为版本兼容留下缓冲空间

网站配置 #

SSL 申请 #

acme.sh: 两种方式(脚本自动在网站目录下生成验证文件和 DNS TXT 记录校验生成),支持自动续订和泛域名。

算法 #

HUDOJ 杭电 POJ 北大 BZOJ 大视野在线评测 洛谷 LeetCode-CN(好像说没讨论区)

OJ 平台
对付大多数公司的算法面试 LeetCode 足够了。大多数 OJ 针对的场景是算法竞赛而不是算法面试。
针对面试的话,貌似都会推荐 leetcode,因为按照国内的环境, 面试官没准也会上去找题。
如果感兴趣的话, 可以试试 topcoder,参加一下 srm,看看自己能拿多少分。

来自 Stackoverflow 的数据 #

survey2019

  1. 语言比例 2020 (问卷数量 57,378)
  2. 编程的时候听的音乐
    genre
  3. 语言关联性 correlation

其他语言 #

golang #

go 性能略低于 java,gin 框架依旧类似于原生,开发效率不高。go 比较适合中间件还有 docker,优点是内存占用少。相当于性能 C++=rust=1.1C=2C#=3Java=3go=…

reus

java 是虚拟机,天然就多占内存,再加上没有值类型,很多数据结构都不是紧凑布局的 .net core 同理 go 的自动 GC 相对于非自动 GC,多使用的内存主要是 GC bitmap,这部分是 2bit 对应堆里的 64bit,也就是 512GB 的堆全分配满的话,GC bitmap 就会有 16GB,三十二分之一的 overhead。 另外,GC 算法不同,占内存也会不同。会复制对象的 GC,在复制过程里就需要占用额外的内存。java 的 CMS, G1 都是 copying GC。zgc 暂时不做复制。 还有个影响因素是向 os 申请页和释放页回 os 的策略。如果虚拟机选择一开始就申请很大的内存,那占用自然高。释放慢,也会高。go 不会预先申请很大的内存,释放页也比较积极,所以内存占用相对就低。

https://hk.v2ex.com/t/680575#reply12

gin 吧,java 的不适合中小项目。 或者你们可以换 dotnet core


一开始我也找 go 的 web 框架,后来转向 dotnetcore,然后自己鼓捣了验证和 consul 注册两个小轮子,学习了 NPoco,总的来说,最起码 swagger 文档方面 spring 和 netcore mvc 吊打 python 和 go web 。而且 netcore 可以编译成单文件,和 go 一样到处部署,有一点就是对没有 root 权限的 cent6 部署不太友好,因为要额外的依赖包
另外我觉得 web 不是 go 的最佳赛道


Go 适合写业务逻辑清晰稳定的中间件, 做 Web 业务开发真的不合适, 特别是因为没有异常机制, 满屏 if err != nil …


go 开发 web 其实效率很低,现在基本没有哪个框架够得上及格线。 所谓百花齐放,其实就是在说一堆垃圾,一个能打的都没有 gin 什么的,谁用谁知道,跟没有框架,用 go 直接撸基本没有什么区别 什么框架太重,我就喜欢这样么重口味的,最好是那种一键就自动生成,就是楼主说的,只用写逻辑不用关心其他的 越重越好。 我现在用 django,起码开发的时候基本可以做到只关心逻辑。运行效率根本不在考虑的选项。开发效率才是最重要的


莫慌,golang 也卷 而且目前看 golang 很有可能走 node 的老路

还在学校就老老实实看基础,比如体系结构,数据结构和算法之类。语言就 C 学完 C++,然后学点 Haskell 、Python 啥的。学完再看 golang 、Java 之流你就会觉得这些都是个什么撒比玩意儿。但 JVM 是好东西可以看看。

所谓中间件是个纯工程化的东西,不建议理论基础都还没打好又没有实际经验的时候深入。 遇到问就说大概看过原理,其他不知道就行。花式问应届生中间件的公司 /项目组大多也不靠谱。

https://v2ex.com/t/733096?p=2

go,加上 k8s,再加上 istio ;写到简历上,美美的

.net core #

mmdsun

@yeqizhang 目前欧美多 大陆少 ,估计是热度还没传进来。我们现在公司 springcloud 和 k8s 混用,k8s 逐步替换 springcloud 。基础框架往.net core 或 go 方向。

daijinming

朋友们,真的不是问大家 java 还是 .net core 哪个好,.net core 很熟悉,易用性非常好,但是组件化却没有 java spring 的给力,比如 spring mybatis、spring security 这种成体系的架构支持。我考虑组织机构、角色用户、权限授权、表单设计、工作流 这些怎么办

chenqh

国内还是 java, 大公司好一点的还有 golang,其他基本都凉了


.Net/.NetCore/.Net Framework/ASP.Net/ASP.NET MVC/Web Forms/Core CLR………………
每次想学.Net 的 web 开发都被这些搞大了头,所以真不明白为什么还有人说.Net 简单? 光特么这些概念都把人搞头大了。
你们鄙视的 java 也比他简单啊 ,java web 就是 servlet 那一套,完了主流框架 spring 等就是对 servlet 的封装,完事儿。
有大佬帮忙解释下吗?


这个。。。。其实都一样,没区别,没有谁更简单谁更复杂之说。 .Net/.NetCore/.Net Framework 你就拿 java/java se/java ee 来理解 ASP.Net/ASP.NET MVC/Web Forms 你就拿 java web/spring mvc/java jsp 来理解 CLR 就是 jvm 咯


dot net 泛指整个体系,和 spring 同等级的是 asp[dot]net