Oracle 提供免费的云服务

前两天在 Twitter 上看到有人分享新闻说,Oracle 发布了新的云服务政策,提供 Always Free 的主机和对象存储还是数据库,所以就看了一下,搜了一下新闻,还真的有 Oracle Offers Always Free Autonomous Database and Cloud Infrastructure,所以就注册一下。但是当天晚上创建 VM 的时候提示我 “out of host capacity”,Google 了一下才发现,原来这条消息早就在羊毛党炸锅了,不亚于 Google Cloud Platform 当年的新闻。不过我个人作 Read more ...

2019-09-22 linux , oracle , gcp , cloud , vps , server

ModuleNotFoundError: No module named 'marshmallow.compat'

今天重新部署一个服务时发现了一个奇怪的错误,之前用很久都没有错,重新部署一个新环境就发生了这样的问题,问题应该就出现在新依赖的包中。 File "/usr/local/lib/python3.6/dist-packages/flask_marshmallow/fields.py", line 15, in <module> from marshmallow.compat import iteritems ModuleNotFoundError: No module named 'marshmallow.compat' 所以搜了一圈 Read more ...


又一 Google 服务停止:Google Translator Toolkit 关闭

前两天收到一份邮件,标题写着 Google Translator Toolkit to be shut down on December 4, 20191,感叹又一款良心服务要终结其生命了。虽然不常用 Google 翻译工具包,甚至很长时间这个翻译工具都偷偷的被隐藏在翻译页面的角落里面,但是不得不说这个工具曾经帮助我翻译过不少文档内容,也非常适合学习。Google 翻译工具包提供上传文档自动翻译,术语翻译等等功能,结合 Google Translate 的帮助能非常快速的辅助完成一篇文档的翻译。在自动翻译完成的基础上可以人工的进行修改润色。更甚至可以添加 Read more ...


gpg: keyserver receive failed: Server indicated a failure 解决

在 sudo add-apt-repository 添加 PPA 时突然遇到 gpg 添加 key 失败,大概知道可能是因为网络问题,但是这个问题在我家里的网络一直存在,非常恼人。 gpg: keyserver receive failed: Server indicated a failure 所以我想从根本上解决这个问题,这个问题的根源可能是因为网络问题导致 gpg key 没有被导入到本地。所以如果能够手动下载 gpg public key 然后手动导入不就可以了? 所以随意打开一个 PPA,比如 https://launchpad Read more ...

2019-09-20 gpg , ppa , ubuntu , apt-repository

Linux 下使用 emoji

Ubuntu 或者其他一些 Linux 发行版 (Debian/Ubuntu/Linux Mint) 会内置 Google Noto Color emoji font,如果没有也可以直接通过一个命令直接安装 Noto Color emoji. 安装字体 首先要安装支持 Emoji 的字体,个人比较喜欢 Google Noto Color Emoji,这是 Google 开源的用于 Android 的字体。并且支持力度一直都非常大。 Noto color Emoji 直接安装 sudo apt install fonts-noto-color-emo Read more ...

2019-09-12 linux , ubuntu , linux-mint , mint , emoji

java reflection

Java 中的提供了一组 API 用来在运行时动态修改方法,类,接口的行为,这个被称为 Reflection。 For every type of object, the Java virtual machine instantiates an immutable instance of java.lang.Class which provides methods to examine the runtime properties of the object including its members and type information. Read more ...

2019-09-11 java , jvm , java-reflection

Java 查漏补缺:Java 8 中接口 default 方法

Java 8 新特性: lambda expressions functional interfaces method references streams Optional 还有 interface 中的 static 和 default 方法。 基本使用 Java 8 允许在接口中定义默认方法。 interface Collection { void add(); default void debug(){ System.out.println("put the key in"); } } 为什么要引 Read more ...

2019-09-10 java , java8 , interface

理解 GraphQL Schema 结构定义

在上一篇 GraphQL 使用 中了解了 GraphQL 大致用法,如果要更加深入的了解 GraphQL ,那就不得不重新从 Schema 来认识 GraphQL,说到底 GraphQL 还是一个强类型定义,客户端可操作的类型都是需要提前定义好的,这个结构就是这篇文章的重点 – Schema. 因为已经有很多的语言已经实现了 GraphQL,官方不能以某一个语言来具体表达,所以他们自定义了一套表示 GraphQL Schema 的简单表达。1 GraphQL 支持的数据操作 GraphQL 对数据支持的操作: 查询 Query,获取数据的基本 Read more ...


从 MySQL 迁移到 PostgreSQL 方案调研

之前的文章 PostgreSQL 初识 和 PostgreSQL 数据类型 大致的把 PostgreSQL 了解了一下,那么接下来就是真正地把它用起来。 PGLoader 开源迁移工具,通过一行命令即可做到无缝迁移 https://github.com/dimitri/pgloader PGLoader 原本可以将不同数据源导入到 PostgreSQL 数据库,MySQL 只是它支持的一种。PGLoader 使用 PostgreSQL 的 COPY 命令将数据从源数据库或文件复制到目标 PostgreSQL 数据库中。 安装 Debian Read more ...


GraphQL 使用

很多人都知道 GraphQL 起源于 Facebook,但是似乎很少中文材料提到 GraphQL 出现的契机,我在看完这个纪录片 之后才对 GraphQL 的出现有更加深刻的了解。都知道当年 Facebook 的移动客户端都是网页,随着移动互联网发展,Facebook 网页实现的客户端性能和体验受到非常严重的影响,所以后来不得不去做原生的应用。那么这个时候就遇到了一个问题,原来直接使用网页,那么不同客户端用的接口都是给网页用的,最多做一下屏幕的适配,但是如果使用原生的应用,那么必然会需要设计不同的 API,而 Facebook 的工程师发现,对于复杂的 Read more ...

2019-09-07 graphql , apollo , facebook , restful , api

最近文章

  • Helm 使用 Helm 是 [[Kubernetes]] 的一个包管理工具,用来简化 Kubernetes 应用的部署和管理。
  • K8s 部署 TiDB TiDB 是由 PingCAP 开发的一款开源分布式 SQL 数据库,支持事务处理和实时分析。它与 Kubernetes 的结合使得数据库能够实现云原生化,具备弹性扩展、自动故障转移等特性。
  • 开源 Kotlin ORM 框架 Exposed 使用说明 Exposed 是 JetBrains 在数年前推出的轻量级 ORM 框架,Kotlin 编写,已经在 JetBrains 内部多个关键产品使用。
  • Open WebUI 基于网页的大语言交互界面及联网搜索配置 之前的视频也介绍过,ChatWise,Cherry Studio,Chatbox 等大语言模型调用的本地客户端,虽然这些客户端都还是跨平台的,但是总还是需要占用本地的空间,今天我就来介绍一款基于网页的 LLM 交互客户端 Open WebUI,以及再介绍一下如何配置 Open WebUI 让其支持联网搜索。
  • 多版本管理工具 mise 使用详解 我用了很多年的 asdf 作为管理各种语言版本的工具,但是最近一次更新,asdf 多了一些变化,我也写了一篇文章介绍怎么升级的。在文章下方有小伙伴(lonelyhentxi) 给我推荐了 mise 这样一款使用 Rust 编写的多版本管理工具 mise,我大致的看了一下 mise,觉得是一个非常不错的项目,在这里再次感谢。