Vim global 命令

global 命令结合了 Ex 命令和 Vim 模式匹配的能力,借助该命令,可以在指定模式的所有匹配行上运行 Ex 命令。global 命令是除了点操作和宏命令之外,最强大的 Vim 工具之一。 Basic global 命令基本形式,可以读作在 range 上,如果行匹配 pattern,那么执行全局命令 cmd :[range] global[!]/{pattern}/[cmd] 说明: 缺省情况下,global 命令作用范围是整个文件 (%). 除了 global 还有 :vglobal 表示反转,在没有匹配 pattern 的 Read more ...

2019-09-22 vim , vim-global , ex-command , vim-mode , editor , linux

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 查漏补缺: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

最近文章

  • VideoLingo:一键自动将视频翻译成中文字幕 我之前的文章和视频中也介绍过好几款,或收费或开源的视频翻译工具,包括
  • 每天学习一个命令:wrk 单机性能测试工具 wrk 是一个使用 C 编写的 HTTP 压力测试工具,性能基准测试工具。可以在单机多核 CPU 的条件下,充分利用系统的高性能 IO,epoll,kqueue 等,通过多线程和事件,对目标机产生大量的负载。
  • 爱沙尼亚电子公民身份启动及邮件转发 今年 6 月份的时候申请 了爱沙尼亚电子居民卡,其实一个月左右就已经审批通过了,但是一直懒得没有去拿,直到 9 月底,终于抽出空来去了趟东京的爱沙尼亚大使馆,领取了实体卡片。
  • 使用 Tailscale Funnel 暴露本地服务 之前我介绍过 Tailscale,也介绍过如何使用 Tailscale 的出口节点功能配置流量出口,今天再介绍一个 Tailscale 的功能 Tailscale Funnel,可以将本地服务完全地暴露在互联网上。Tailscale Funnel 允许将运行在私有 Tailnet 上的 Web 服务与公共互联网共享,提供了一种简单的方式,无需配置复杂的网络。
  • 我购买了一台懒猫微服 前些天写了一篇文章,表达了一下我对懒猫微服 的一点看法,但是前两天没忍住还是在微信小程序上下了单,与此同时我还在京东购买 [[SER8]],准备将两台微型主机放到一起对比一下,并根据自己的需求分别给这两台机器不同的作用,懒猫微服在购买之前我就已经打算将其作为照片存储的一个备份,我在之前的文章中也提过一些我的疑虑,在机器拿到手之后有一些疑虑依然还是没有打消,尤其是数据安全性方面的问题,如果这个问题无法解决,那么我最多也只能将其作为照片备份的一个存储。另外就是会将懒猫微服作为家用的服务器,不折腾放在家中。但是 SER8 我则会根据之前我配置的 NAS 重新安装 [[Proxmox VE]] 然后安装 [[OpenMediaVault]] 作为 NAS 管理放在家中。