为什么 AI 时代,人人都需要学一点编程

2023-05-28
阅读 2 分钟
1.3k
经常有人调侃说,ChatGPT 来了,你们这些码农和程序员都要失业了,这当然首先是在吸引眼球,有流量才有钱么。这些做自媒体的up主是不会认真想想,AI 到底对编程造成了怎样的冲击,对码农们的影响到底是是什么?真要他们认真想,也想不出来——大部分人本来也写过代码,当然他们也不在乎,反正焦虑值上来了,流量有了就行了...
封面图

跟 GPT 学编程 1 —— 找到自己的目标

2023-05-28
阅读 2 分钟
1.2k
(题图:Python 的本意是森林蟒)之前说过,AI 时代,人人都应该学学编程,今天咱们就开始 python 编程系列哈,首先推荐一本书《Python 编程:从入门到实践》,为什么推荐它呢?可以可以看一下目录:从第二章开始啊,它就带着你做小游戏,小应用了,咱们一般人学编程,很难坚持下去,甚至很难开始的一个原因,就是觉得学...
封面图

Flask-caching 的缓存与删除 —— 避坑指南

2023-04-11
阅读 2 分钟
4.6k
基于 Flask 应用,难免会用到 Flask-cache (或 Flask-cacheing,两者API 基本相同)。它通过装饰器,非常优雅地实现了函数调用的缓存。装饰器可以直接加在 view function ,或者普通 function 上,类似下面的样子:
封面图

修复 Element UI NavMenu 顶导菜单的鼠标悬停错误

2023-01-24
阅读 1 分钟
1.7k
最近在重构管理前端代码(Vue Element Admin实现)的时候,发现鼠标每次悬停在顶导菜单,控制台就会输出错误信息:Uncaught RangeError: Maximum call stack size exceeded
封面图

2023 新年好(顺便记 Flask 的 Bad request 错误)

2023-01-01
阅读 1 分钟
2.2k
如果你用 Flask 实现过 restful 的接口,可能经常会遇到发送 POST 请求的时候,返回 400 BAD REQUEST 的情况,这时候即使可以调试,也看不到更多的错误信息了,因为还没执行到自己的业务代码呢。这十有八九是因为 POST 请求体重,json 数据格式不对造成的——Flask 对 json 的格式要求异常严格,比如下面这段:
封面图

Sqlalchemy 数据模型序列化(转JSON)

2022-11-23
阅读 3 分钟
6.6k
问题Sqlalchemy 可以很方便地做ORMapping,把数据库记录映射为业务实体类的实例,例如下面这样: {代码...} 但这种实例不方便序列化,比如要想在 Flask Web Service 接口中返回这个对象: {代码...} 或者是直接转 JSON 字符串: {代码...} 都会报错:Object of type Student is not JSON serializable。方法在网上搜的话...
封面图

Python + Sqlalchemy 对数据库的批量插入或更新(Upsert)

2022-11-06
阅读 3 分钟
13.5k
由于不同数据库对这种 upsert 的实现机制不同,Sqlalchemy 也就不再试图做一致性的封装了,而是提供了各自的方言 API,具体到 Mysql,就是给 insert statement ,增加了 on_duplicate_key_update 方法。
封面图

Mysql 数据库的批量插入或更新(Upsert)

2022-11-05
阅读 2 分钟
8.3k
这个问题已经困扰我一段时间了,对于大量数据的插入或更新,批量操作肯定比每条记录调用一次快得多,新数据可以用 insert 批量插入,老数据可以用 replace into 批量更新。但如果不知道数据是否存在(是否有唯一key和数据库中已有记录重复)想在一批数据库中,插入新记录,更新老记录怎么办?之前甚至想过封装一个函数,...
封面图

mysql 大数据表的分页性能优化

2022-10-30
阅读 1 分钟
1.8k
源表数据量相当大,有几千万行,显然不适合一次性取出(如果是一次性的脚本,在大内存的机器上也是可以考虑的,但定时任务每次启动都占用数十GB内存就太夸张了),需要分页查询。
封面图

MoveGuides-交易生命周期

2022-10-25
阅读 7 分钟
1k
这一章会举个例子,让我们来看看整个交易的生命周期是怎么运行的。提要假设有这样一个场景:Alice和Bob是两个用户,他们各自有一个Aptos公链账户(account)Alice的账户里有 110 个 Aptos 币Alice 要转给 Bob 10 个币目前,Alice 的账户序列号(sequece nubmer)是 5(这说明历史上,从 Alice 的账户中,曾经发出过5笔交易)...
封面图

Aptos概念——基础 Gas 费

2022-10-23
阅读 7 分钟
1.4k
Aptos 链上的交易,在不考虑市场供需的情况下,会收取一笔“基础 Gas 费”。它是由以下3部分组成:指令存储载荷一笔交易含有越多的函数调用,分支判断之类的复杂逻辑,就消耗越多的“指令” Gas 。相应地,如果交易中有越多的读写请求,就消耗越多的“存储” Gas。而一笔交易上附带的载荷(payload)越长(字节数多),就消耗...

Aptos概念——Gas费和交易手续费

2022-10-12
阅读 3 分钟
2.2k
在 Aptos 主网络上,想要完成任意一笔交易,都需要缴纳处理手续费。这笔手续费,会被分发给客户端应用、币权质押人、节点处理人或者投票人。交易手续费的多少,取决于你在链上消耗的计算和存储资源:
封面图

Vue Element Admin 设置顶部导航并隐藏侧边栏

2022-10-11
阅读 4 分钟
4.7k
Vue Element Admin 可能是使用最广泛的后台管理前端框架了,虽然技术栈已经老了(Vue 2.0 全家桶 + npm8),但社区依旧活跃。
封面图

Aptos概念——事件

2022-10-07
阅读 2 分钟
1.1k
在执行交易的过程中,会触发事件。每个 Move 模块都可以定义自己的事件,并且决定何时触发这些事件。例如,在一个“转账”(coin tranfer)动作发生时,发送人和接收人账户,会依次分别触发SentEvent事件和ReceiveEvent事件。事件触发的数据,会被存储到链上,并且可以通过 REST 服务来查询,参见“通过事件句柄获取事件信...
封面图

Aptos概念——账户

2022-10-06
阅读 3 分钟
2.4k
Aptos 链上的资产,都属于某个账户。所谓资产,是指包括币、NFT在内的,天然稀缺的东西,所以他们的访问,一定要有控制。任何资产,在区块链账户中,都表现为一种资源(resource)。资源是 Move 语言中一种原始数据类型,它表现出稀缺性和访问控制能力。不过,资源也可以用于代表其他的链上能力,可识别信息,或者访问控...
封面图

Aptos概念——交易和状态

2022-10-05
阅读 2 分钟
1.6k
Aptos 区块链中,最基本的两个概念,就是交易(transaction)和状态(state):交易:交易是指在 Aptos 链上,两个账户之间的数据(比如 Aptos 币,或者 NFT 都是数据)交换状态:这里指 Aptos 链上账户的状态,比如记账簿(ledger)的状态! 执行一笔交易,就会改变Aptos链上记账簿的状态记账簿状态所谓 Aptos 链上记账...
封面图

Aptos概念——治理

2022-10-05
阅读 1 分钟
689
简单来说,所谓“治理”(Governance)就是对影响Aptos公链的重大修改做出投票表决的规则。表决是在链上进行的,选举人将对以下领域的提案进行投票:
封面图

Dock极简使用指南

2022-09-19
阅读 2 分钟
2k
网上“入门”“十分钟掌握”之类的文章,总觉得不够精当,还是自己总结一份吧:获取镜像一般来说,我们常用的基础环境,都可以从docker官方仓库获取到了,比如需要node,就直接: {代码...} 还可以指定版本,比如: {代码...} 或者: {代码...} 从镜像创建容器(运行实例) {代码...} 进入容器后,所有的命令行指令都是在容...
封面图

mysql海量数据表的归档

2022-09-13
阅读 2 分钟
2.2k
日常的业务系统,跟用户相关的操作数据,或者日志记录,往往会越来越多,而早期数据的查询需求没有那么强,就可以进行归档处理——作为冷数据保存,并从在线数据库中删除。
封面图

LaTeX公式中的多级上下标(下标的下标)

2022-07-02
阅读 1 分钟
4.6k
这个问题其实很简单,就是当公式中下标还有自己的下标(上标),应该怎么写?嵌套在{}里面就是了:目标效果表达式下标的下标\( A_{b_c} \)A_{b_c}下标的上标\( A_{b^c} \)A_{b^c}上标的上标\( A^{b^c} \)A^{b^c}上标的下标\( A^{b_c} \)A^{b_c}
封面图

flask-sqlalchemy中使用cursor游标

2022-05-23
阅读 2 分钟
5k
假设某数据表有1亿条记录,都需要导出,或者做业务数据处理,用OR Mapping一次性读入内存显然是不可能的,那么显然要分段处理。常见的分段方式,是通过offset+limit来指定返回的记录窗口(flask-sqlalchemy直接提供了paginate对象实现分页,应该是对offset+limit的封装)。这种方式很直观,但缺点也很明显:每一段的都重...
封面图

基于Python的代码重构(一)

2022-05-12
阅读 2 分钟
1.3k
相信在你的程序员生涯中,肯定有过这种体验:打开一个项目,开始看里面的代码,不大一会儿就想吐了——明明是同样的逻辑,为什么好几个地方都要重新写?表达同一个意思,为什么这里用type,那里用category?更别说还有YiChuiDingYin这种神一样的变量名存在了。你不禁恶向胆边生,打开git log想看看是谁写下如此丧心病狂的...
封面图

google cloud中使用TPU

2022-05-08
阅读 1 分钟
1.6k
首先,应该先尝试google colab —— 因为直接注册google cloud中的VM和TPU,只能免费用3个月,注册早了实在是亏了,等colab里试得差不多了,再注册cloud不迟。
封面图

mysql 查询语句中的 order by 对索引的影响

2022-03-12
阅读 4 分钟
4.3k
Mysql从5.0以后,索引的使用就相当智能了,甚至还支持索引聚合(一次查询使用多条索引),但昨天一次业务查询中,一条where子句(例如 where user_id=1000)明明可以使用联合索引,把扫描行限制在数千范围内的select语句,竟然使用了全主键索引扫描,导致花费将近40s秒才返回结果集。更神奇的是,该where子句只有特定的数...
封面图

在Sqlalchemy的查询中新共享filter

2022-03-06
阅读 1 分钟
2.2k
使用Python做web开发,OR Mapping的部分,通常会用到Sqlalchemy,它是一个相对重量级的数据库封装层,提供了丰富的调用接口。
封面图

使用Google Cloud虚拟机做学习测试

2022-02-27
阅读 3 分钟
1.3k
说实话,现在云环境真是非常易得,国内还是推荐阿里云,比其他竞品平台好用多了(如果是新人新公司,建议双11去撸服务器,真是超级便宜,小公司够用3年的)。
封面图

Python Enum 使用的几点注意事项

2022-02-21
阅读 2 分钟
1.5k
Enum 是个类所以基本的类操作都可以用也就是我们可以添加自己的方法 {代码...} {代码...} Enum的每个类成员,都会自动被转换成当前类的一个实例 {代码...} {代码...} 这就意味着,我们不能用枚举成员直接当成它的value来用: {代码...} 枚举成员还有个name属性,跟它的变量名相同 {代码...} 枚举类有个大坑:父类有成员的...

conda install 和 pip install 安装python依赖库的选择

2022-02-20
阅读 1 分钟
2.2k
首先网上已经有很多文章讲了它们的区别了,完整内容不再赘述:[链接][链接][链接]简要概括一下关键点,作为选择的依据:conda里的python库数量很少,只有1500+,不是知名库基本就不要想了;相比之下pip源有23万+的库资源,高了两个数量级但是pip有个明显的缺点:它在安装一个库的时候,会同时装对应的依赖,然而如果这个...

软件开发到底像什么?

2022-02-07
阅读 3 分钟
1.2k
程序员应该没人不知道《Code Complete》,这本30年前的著作是Code心中的“Bible”,不可超越的经典(国内初版译为《代码大全》这么low的名字,也没有影响它的流行,就像和合本圣经中那些半文半白的字句一样,反而增加了一点神秘的光辉)。
封面图

Python import 时要注意的几个问题

2022-01-30
阅读 2 分钟
2.6k
我们在Python中,总是使用import来导入另外一个模块(文件)中的内容,如果是从Java或C转过来的程序员,有几个常见的坑要注意一下:
封面图