笔记本内存条闲置

今天把之前2根8G的金士顿骇客神条8G DDR4在咸鱼上卖掉了,定价1根150,2根249,原意是买给需要的人的,不清楚价格区间,怕没人买,就定得比较低。

但是我已经换了16G的,闲置的东西最贵,这2根内存条我已经用了3年了,虽说内存条没什么磨损。

但是一发布,立即就被贩子拍卖了(后来才知道,贩子卖了一千多件东西),不得不说贩子简直一直在线,真是不舒服,原来咸鱼的价格是可以改价的,买家不满意可以讨价。

下次,闲置的物品:

  • 先调研,将价格定在区间上游
  • 不想卖给贩子,卖给真正需要的人

这也说明了,在理想主义的机制下,总有依赖机制盈利的投机者,他们对机制、渠道、市场十分熟悉。也早已将最初的利他的意向,转变为纯粹的利己行为。

第3讲 谈谈final、finally、 finalize有什么不同?

谈谈 final、finally、 finalize 有什么不同?

典型回答
final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。
finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlock 锁等动作。
finalize 是基础类 java.lang.Object 的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。finalize 机制现在已经不推荐使用,并且在 JDK 9 开始被标记为 deprecated。

继续阅读第3讲 谈谈final、finally、 finalize有什么不同?

第4讲 强引用、软引用、弱引用、幻象引用有什么区别?

强引用、软引用、弱引用、幻象引用有什么区别?具体使用场景是什么?

典型回答不同的引用类型,主要体现的是对象不同的可达性(reachable)状态和对垃圾收集的影响。见下1 引用类型。

继续阅读第4讲 强引用、软引用、弱引用、幻象引用有什么区别?

Exception和Error 超形象!

假如你开车上山,车坏了,你拿出工具箱修一修,修好继续上路(Exception被捕获,从异常中恢复,继续程序的运行),车坏了,你不知道怎么修,打电话告诉修车行,告诉你是什么问题,要车行过来修。(在当前的逻辑背景下,你不知道是怎么样的处理逻辑,把异常抛出去到更高的业务层来处理)。
你打电话的时候,要尽量具体,不能只说我车动不了了。那修车行很难定位你的问题。(要捕获特定的异常,不能捕获类似Exception的通用异常)。
还有一种情况是,你开车上山,山塌了,这你还能修吗?(Error:导致你的运行环境进入不正常的状态,很难恢复)

摘自极客时间评论

Nomad提供FaaS服务

通过搜索到的材料 https://www.google.com/search?q=nomad+faas&oq=nomad+faas 整理

  1. Katacoda上有一个Nomad整合OpenFaaS的实验环境但是尝试一下,实验环境初始化有问题。

  2. 官方faas-nomad项目OpenFaaS provider for the Nomad scheduler,描述了如何在本地搭建实验环境,文档描述清晰,上手简单。

这篇博客纯命令行,注意修改网关地址,验证可行。

  1. OpenFaaS官方博客Introducing Serverless with Hashicorp Nomad, Consul, and Vault基于Nomad v0.9

  2. Youtube OpenFass 介绍及源码分析 https://www.youtube.com/watch?v=bZtgrAVR9HQ


除了Amazon functions等商业服务外,开源FaaS项目有很多:OpenFaaS, OpenWhisk, Knative, Kubeless, Fission, Fn Project, and Nuclio.

看到Istio 可以在 Nomad+Consul上部署,但是没有严谨地测试过,Knative是基于Kubernetes和Istio的Serverless框架;当前,还是faas-nomad项目可以用于生产环境。

hashicorp宣布对Kubernetes的第一等支持


Jet公司的所有微服务都部署在Nomad上,与Consul、Vault等进行透明集成,Consul用于服务发现,Vault用于秘密管理,Prometheus和Grafana用于监控,Splunk用于日志管理。这意味着如果可以在Nomad上部署公司选择的Serverless运行时,可以以几乎零成本获得所有这些集成。

Jet公司分享的一篇FaaS运行时选型调研中,有这么一张FaaS运行时对比: FaaS运行时对比

在性能考虑上,选用的指标是冷启动时间自动扩缩容效率。文章中关于cold-start time 和 auto-scaler efficiency的性能测试方法可以借鉴,有时间希望复现

提出的观点很犀利:

Don’t call it serverless yet, if you don’t have production ready controllers abstracting away IO interactions between different functions, between functions and external systems, and between functions and their triggers.

文章认为,如果企业已有微服务架构、CI/CD等敏捷开发工具链,使用现有FaaS架构既没有抽象IO,也没有实现预期的降低成本,提高开发人员工作效率的承诺。

该技术选型结论是:目前serverless技术栈不够成熟,与当前的微服务策略相比,无法更加节约成本和改进生产力。

Nomad vs. Terraform

Nomad 和 Terraform 都是HashiCorp公司下的产品。

原文链接

Terraform是一种安全有效地构建,更改和版本化基础架构的工具。配置文件向Terraform描述运行单个应用程序或整个数据中心所需的组件。Terraform生成一个执行计划,描述它将如何做到达到所需的状态,然后执行它来构建所描述的基础架构。随着配置的更改,Terraform能够确定更改的内容并创建可应用的增量执行计划。

Nomad在很多关键方面与Terraform不同。 Terraform旨在支持任何类型的资源,包括计算实例,存储和网络等低级组件,以及DNS条目,SaaS功能等高级组件。Terraform知道如何创建,配置和管理这些资源的生命周期。 Nomad在现有基础架构上运行,并管理在该基础架构上运行的应用程序的生命周期。

另一个主要区别是Terraform是一个运行直至完成的离线工具,而Nomad是一个具有长寿命服务器的在线系统。 Nomad允许提交新作业,更新或删除现有作业,并可以处理节点故障。这需要连续操作而不是像Terraform一样。

对于只有少量服务器或应用程序的小型基础架构,Nomad的复杂性可能不会超过简单地使用Terraform静态地将应用程序分配给机器。在较大规模上,Terraform应该用于为Nomad提供容量,而Nomad用于动态地管理应用程序到机器。

Nomad是一个灵活的工作负载协调器,可用于在多个区域或云提供商之间轻松部署容器化和遗留应用程序。 Nomad易于操作和扩展,并与用于服务发现的HashiCorp Consul、用于秘密管理的HashiCorp Vault无缝集成。基于Nomad可以构建应用调度、扩缩容的弹性基础架构。

阿里云Linux系统云虚拟主机如何更换PHP版本

真的很方便!

原来PHP5.5,之前还担心会不会PHP升级导致问题,站点不可用就完了。因为WordPress的更新,不得不更新到5.6。

从5.5升级到点击5.6,提示“需在数据库信息>>重置数据库密码时,
将数据库加密模式设置为41位加密”,之前也是41位加密,不需要改,直接升级,亲测可以,吹一波。