使用 pt-online-schema-change 工具不锁表在线修改 MySQL 表结构

percona-toolkit 源自 Maatkit 和 Aspersa 工具,这两个工具是管理 MySQL 的最有名的工具,但 Maatkit 已经不维护了,全部归并到 percona-toolkit。Percona Toolkit 是一组高级的命令行工具,用来管理 MySQL 和系统任务,主要包括: 验证主节点和复制数据的一致性 有效的对记录行进行归档 找出重复的索引 总结 MySQL 服务器 从日志和 tcpdump 中分析查询 问题发生时收集重要的系统信息 在线修改表结构 这里主要介绍在线修改表结构功能。 在 Read more ...

2018-03-15 linux , mysql , table , ddl , sql

Java 查漏补缺之 stream

Java 8 中 stream 大大简化了 Collection 的操作,所以这篇文章就简单的了解下 stream 的基本用法,关于 collect,flatmap,map 等等更加高级的用法可能还需要另开一篇 总结。 Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任务和加速处理过程。 创建 stream 有很多种方法 通过集合的 stream() 方法或者 parallel Read more ...


VPS 云服务器能够做什么

很早以前买一台VPS主要的功能就是翻墙,然后常年也仅仅是跑一个 Shadowsocks,后来渐渐的发现其实有一台服务器即使只有单核1G,也能够用来做很多事情。以前我也看过一些文章讲述如何充分利用起VPS,但大部分除了说自建网站,挂机刷 YouTube 赚钱外也都没有什么实质性的内容。而自从开始接触Docker,我渐渐的发现了很多服务,因此我自己搜罗了一些。当然其实 GitHub 上有一个 Awesome Selfhosted 这里面列举了成百上千种可以自己托管部署的服务,几乎可以代替掉日常生活中用到的80%的服务,可以自建 nextcloud 代替 Dr Read more ...

2018-03-14 linux , vps , cloud , server , docker

docker volumes 中 -v 和 -mount 区别

Docker Volumes 机制通常用来给 Docker 容器保存持久化数据,使用 Volumes 有很多优势: 更容易备份和迁移 使用 Docker CLI 命令或者 Docker API 来管理 可以在 Linux 和 Windows 上使用 可以更安全得在多个容器中共享 Volume drivers 允许容器将内容保存到远端,云服务提供商,或者加密volume内容,或者增加其他功能 新 Volume 的内容可以被容器预先填充, volume 会先将容器内容拷贝到容器外目录 Volumes 通常也优于容器的可写层,使 Read more ...


使用 Docker 安装 gogs

Gogs 是一个能够自建Git托管服务的开源项目,用 Go 语言实现。因为较之 GitLab 轻量化一些,所以受到一定欢迎。 使用 Docker 来搭建 Gogs 服务时,需要额外依赖 MySQL,网上一般的教程都是先启动一个 MySQL 容器,开放端口,然后在启动 Gogs 容器配置。其实可以使用 docker-compose 一次性启动好。 version: '3.3' services: gogsdb: image: mysql:5.7 container_name: gogsdb restart: always Read more ...

2018-03-12 docker , gogs , git , github

docker-compose 中 links 和 depends_on 区别

以下的内容适用于 docker-compose 版本 version 2 和 version 3。先来看 Docker 官方文档中关于 Docker Compose and Django的例子,可以使用 depends_on 来访问容器中的数据 version: '2' services: db: image: postgres web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/code p Read more ...

2018-03-12 docker , docker-compose , linux

使用 privoxy 转发 socks 到 http

Privoxy 是一款不进行网页缓存且自带过滤功能的代理服务器,本文主要使用其 socks 转 http 代理的功能。Privoxy 也能够过滤网页内容,管理 Cookie,控制访问,去广告、横幅、弹窗等等,因此可以作为广告过滤。 Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and Read more ...

2018-03-11 linux , proxy , socks , http , proxychains

Docker 容器日志相关命令

系统运行一段时间之后难免容器会出现问题,出现问题并不可怕,可怕的是不知道问题出现在哪里,这个时候查看当前容器运行的日志就能够排查出一些问题。 在之前的文章 中,学会了如何创建,查看,移除等等管理容器的方法,其实查看日志也和这些方法类似。 比如要查看容器所有运行的日志可以使用,下面的 containerId 都可以被替换为容器的名字: docker logs [containerId] 如果要持续观察容器的日志输出,可以使用 -f 或者 --follow 参数 docker logs -f [containerId] 但是这个命令在不同系统 Read more ...

2018-03-10 docker , logs , linux

挂载腾讯云对象存储COS

腾讯云对象存储 Cloud Object Storage ,简称 COS,是腾讯云为企业和个人开发者提供的存储海量数据的分布式存储服务。 基本使用 在控制面板申请对象存储基本信息,创建存储桶,输入名字,选择地域,选择访问权限,然后访问秘钥,可以得到如下信息: bucket: backup-1251234567 (格式为 bucketname-appid) SecretId: SecretId SecretKey: SecretKey region: ap-beijing appid: 123456789 将腾讯云 COS 挂载到腾讯云服务器中 安 Read more ...

2018-03-09 linux , cos , tencent , vps , cloud-storage

Flask 使用模板渲染

Flask 使用 Jinja2 模板引擎。 Flask 会在 templates 文件夹里寻找模板。所以,如果你的应用是个模块,这个文件夹应该与模块同级;如果它是一个包,那么这个文件夹作为包的子目录: 情况 1: 模块: /application.py /templates /hello.html 情况 2: 包: /application /__init__.py /templates /hello.html 使用 Jinja2 只需要使用 render_template() 方法 from f Read more ...

2018-03-07 linux , flask , template , jinja2

最近文章

  • 简洁高效的开源网络终端 Next Terminal 我个人一直都是使用本地的 SSH Config 来管理我的 SSH 连接,虽然这个方案有自身的优点,就是安全,易配置,我所有的连接都只允许使用 SSH Key 访问,关闭了用户名密码,另外所有的配置都通过 assh 一键配置,我给所有的节点都配置了昵称,所以我只需要输入 ssh alias 就可以连接到任何我想连接的机器。
  • ChatWise 本地多模型支持的 AI 客户端 在我之前的视频里面当时介绍了三款不同的本地 AI 客户端,[[Cherry Studio]],[[Chatbox]],ChatWise,每个客户端都有自身的优缺点,前两款也还是开源的,但是今天要介绍的 ChatWise 是一款更轻量的,更强大的 AI 客户端,包括一些个人觉得非常好用的功能,比如本地联网搜索,MCP 支持,Artifacts 等等使用起来都非常方便。
  • Alist 风波以及在 K3s 中部署 OpenList 在我的待办事项和视频评论下方很多人提到过 Alist,虽然我自己也有搭建一个 Alist,但实际上并没没有真正使用起来,所以待办事项中的「编写一篇文章介绍一下 Alist」 也就一直延误了,我个人似乎并没有太多 Alist 使用的强需求,虽然 Alist 可以用来挂在很多的网盘,但是如果看过我之前的文章,我现在越来越多的避免将大量的数据存储到云端,也不再大量的使用网盘,所以很多人用 Alist 来挂在网盘并接入 VidHub,Plex,Emby 等来观看高清视频的需求其实我本地一台 Ubuntu(NAS) USB 挂在一块大硬盘,局域网 SMB 共享给 Apple TV 就已经解决我了 99% 的使用场景。
  • 利用 SpecStory 记录每一次和 AI 的对话 今天想给大家介绍一款特别有意思的插件叫做 SpecStory,我们现在会在 VS Code, Cursor 编辑器中使用各种类型的代码辅助工具,也会利用 Cursor 等集成的 IDE 来 vibe coding,但是如果我们每一次都重头开始描述我们想要做的事情,或者每一次都新开一个聊天窗口,AI 大模型大概率会前后表现不一致,虽然我们也可以利用 Cursor Rules 等工具来给 AI 提供一些系统级别的提示词,但是 AI 在回复的过程中也可能跑偏。
  • 让 AI 来编写 Git 提交变更信息 很早之前就看到了 GitHub Copilot 可以在 VS Code 中提交 Git 时自动编写提交 Message,但是实际上我一直没有用起来。正好现在对 Git Message 做一个完整的学习,顺便也了解一下当前的 AI Commits 方案。

赞助