SQLAlchemy session 使用问题

在更改 SQLAlchemy Session 从每次请求都创建到共享同一个 Session 之后遇到了如下问题: StatementError: (sqlalchemy.exc.InvalidRequestError) Can’t reconnect until invalid transaction is rolled back [SQL: ] 或者是 raised unexpected: OperationalError(“(_mysql_exceptions.OperationalError) (2006, ‘MySQL ser Read more ...

2017-05-12 python , sqlalchemy , mysql , orm , sql , session , flask

保持 SSH 连接

记录一些 SSH 相关的内容,经常使用。 SSH 是 Secure Shell 的缩写,是一个应用层的加密网络协议,它不只可以用于远程登录,远程命令执行,还可用于数据传输。 当然它由 ssh Client 和 ssh Server 端组成,有很多实现,Ubuntu 上就默认安装的 OpenSSH, Client 端叫做 ssh, Server 端叫做 sshd. OpenSSH 只用来做远程登录和命令执行。 免密登录 查看本地 ~/.ssh/ 目录是否有 id_rsa.pub,如果没有,在本地创建公钥 ssh-keygen -t rsa 一 Read more ...

2017-05-07 ssh , linux , git , github , gitlab

MySQL 命令记录

MySQL 命令行操作相关内容,防止遗忘。MySQL 常用命令记录,总结。 安装 Under Ubuntu sudo apt update sudo apt-get install mysql-server sudo mysql_secure_installation 如果安装过程中没有弹出设置密码的对话,那么可以在安装完成后执行: sudo mysql_secure_installation 来设置密码,及一些安全的设置。之后就可以用 sudo mysql -u root -p 来登录。 启动停止 MySQL 服务 可以使用如下 Read more ...

2017-05-04 mysql , database , linux

Dockerfile 基础镜像

首先随便看看 Python 的镜像 就能看到非常多的版本,这些版本怎么选择呢。 首先解释几个常见的名词,其实都是 Linux 的发行版本 Stretch Debian 9 Jessie , 指的是 Debian 8 Wheezy Debian 7 Alpine 轻型 Linux 发行版 其次基于不同版本系统制作的镜像自身大小都有区别,比较精简的 python:2.7-slim 可能也要比 python:2.7-alpine 来的大。 Read more ...

2017-05-02 linux , docker , dockerfile , docker-image

借助 scrapy-redis 实现 scrapy 分布式爬虫

最原始的 Scrapy 项目是只能将爬虫部署到单机上,如果要实现分布式爬虫就需要手动去维护一个待抓取的列表,那么 scrapy-redis 项目就是这样一个存在。 特性: 分布式抓取,可以部署多个 spider 实例,共享同一个 redis 队列 分布式后处理,抓取的内容会放到一个队列中,这样就意味可以开启足够多的实例来处理结果 提供了即插即用的组件,包括定时,去重,等等 Scrapy 的局限 Scrapy 已经能够满足大部分爬虫的需要,但是有一些场景 Scrapy 并不适用。 对于页面数量比较少的站点,并不需要 Scrap Read more ...


Linux 安装 VMware workstation 12

VMware Workstation 12 虚拟机,适用于 RHEL/CentOS 7, Fedora 20-24, Debian 7-9, Ubuntu 16.04-14.14 and Linux Mint 17-18. Prerequisites 确保系统 64 位 VMware 12 不支持 32 位 CPU 确保有 root 权限 安装 更新 apt-get update && apt-get upgrade # On Debian Systems 下载 wget 'http://www.vmwa Read more ...


在 Python 中使用 redis 作为任务队列 Python RQ 使用

在学习 Flask 时接触 flask-rq2,然后知道了 python-rq 因为之前使用过 Celery ,所以对 python-rq 倒也没有多大的困惑。因为 python-rq 只依赖于 redis,相较于 Celery 轻量很多,如果在 Flask 中不需要非常繁重的后台任务队列(比如只有发送注册邮件任务)可以考虑使用 python-rq,毕竟有 flask-rq2 为 Flask 度身定做,结合 Flask 要比 Celery 容易很多。 RQ (Redis Queue) is a simple Python library for Read more ...

2017-04-25 python , redis , queue , python-rq , flask-rq2

每天学习一个命令:tcpdump 命令行下抓包

tcpdump 是一个运行在命令行下的抓包工具,如果想知道网络中有什么在流通,那么 tcpdump 就是一个很好的工具。它允许用户拦截和显示发送或收到过程中网络连接到该计算机的 TCP/IP 和其他数据包。tcpdump 适用于大多数的类 Unix 系统操作系统(如 Linux,BSD 等)。类 Unix 系统的 tcpdump 需要使用 libpcap 这个捕捉数据的库就像 Windows 下的 WinPcap。 tcpdump 可以识别的协议有: ARP RARP ICMP TCP UDP IP IPv6 App Read more ...

2017-04-23 tcpdump , linux , network

Scrapy 学习笔记及简单使用

Scrapy 是纯 Python 实现的爬虫框架(scraping and crawling framework),可以非常轻松地提取网页结构信息。最初设计时 Scrapy 仅仅作为网页抓取工具,但因其功能强大,配置简单,逐渐的被扩大使用范围,也经常被用于以下方面: 数据挖掘 Data Mining 信息处理 information processing 历史信息存储 historical archival 检测及自动化测试 monitoring and automated testing 因为网上的教程已经非常详细了,这里就重点 Read more ...

2017-04-23 scrapy , python , crawler , spider , 学习笔记

使用 pyenv 管理 Python 版本

记录一下使用过程,留备以后使用。 pyenv 是 Python 版本管理工具。 pyenv 可以改变全局的 Python 版本,在系统中安装多个版本的 Python, 设置目录级别的 Python 版本,还能创建和管理 virtual python environments 。所有的设置都是用户级别的操作,不需要 sudo 命令。 pyenv 的一个典型使用场景就是,比如一个老项目需要使用 Python 2.x ,而另一个新项目需要 Python 3.x 。而 virtualenv 主要是用来管理相同版本 Python 不同项目的包的依赖不同的问题, Read more ...

2017-04-22 python , pyenv , 经验总结 , dev

最近文章

  • 花了一个多小时认真听李录在哥大的演讲,对价值投资新的理解 昨天花了一个多小时,认真把李录在 2006 年哥伦比亚大学商学院的演讲从头听到尾。说实话,最开始点开这个视频的时候,我以为只是一节普通的投资课,听完之后发现远不止于此——李录几乎是把自己二十多年的思考框架,通过两个亲身经历的真实案例,完整地摊开在你面前。那种感觉不像是在听一堂课,更像是在听一个老朋友坦诚地聊他是怎么看待这个世界、怎么做决策的。
  • screen.garden:让 Obsidian 拥有 Google Docs 般的实时协作体验 之前我介绍过 Fast Note Sync,这是一款开源的 Obsidian 笔记同步方案,可以实现多设备之间的笔记同步和实时协作。Fast Note Sync 的优势在于完全开源、数据自主可控,但它有一个门槛——你需要自己搭建和维护服务器。对于有技术背景并且享受折腾的朋友来说这不是问题,但如果你不想操心服务器的事情,或者团队里有非技术背景的成员,那么一个开箱即用的托管服务可能是更好的选择。这就是我今天要介绍的 screen.garden,一个为 Obsidian 设计的付费实时协作服务。
  • Clawdbot 深度调研:打造完全属于自己的全平台 AI 助手 最近在折腾各种 AI 工具的时候,发现了一个有意思的现象:市面上大部分 AI 助手要么被牢牢绑定在某个特定平台上(比如只能在 Discord 里用的机器人),要么就是完全依赖某家公司的 SaaS 服务,你的对话数据都在别人的服务器上。作为一个对隐私比较在意的人,我一直在想,能不能有一个完全由自己掌控、可以在所有常用聊天软件里使用的 AI 助手呢?直到我在 GitHub 上发现了 [[Clawdbot]] 这个项目,才发现原来真的有人在认真解决这个问题。
  • 推荐我使用的 Agent Skills 随着 AI 编程助手的快速发展,[[Claude Code]]、[[Codex]]、[[Gemini CLI]] 等工具已经成为开发者日常工作中不可或缺的伙伴。然而,这些工具的默认功能往往只是冰山一角。通过安装和配置 Agent Skills,我们可以大幅扩展这些 AI 助手的能力,让它们更加智能、更加专业。
  • Antigravity Agent Skills 功能介绍与实战指南 2026 年 1 月 14 日,[[Google]] 为其 AI 驱动的开发工具 [[Antigravity]] 推出了 Agent Skills 功能。这个开放标准的技能系统让开发者可以将专业知识打包成可复用的技能包,极大地扩展了 AI 智能体的能力边界。