「玩物志」万物皆是 Block——Notion

这一篇「玩物志」要给大家介绍的是一款比较全能的,我个人将它定位为记录和协作应用的一款工具—— Notion . 官方是这么介绍的:

阅读全文

2017 年终小总结

2017 年这就过去了,距离大学毕业就过去半年了,距离入职当前的这家公司也已经 10 个月之久了,过去这年除了忙着毕业,忙着写论文做毕设和准备毕业答辩,剩下的时间都基本花在了工作上了。以前一直没有做总结的习惯,不如现在就趁着元旦假期,针对技术做一个小小的总结吧。

阅读全文

在 Odoo 中生成唯一不重复的序列号

最近在做的项目中有一个需求是要让某个字段值根据记录产生的日期和一定的组合规则按顺序生成一个序列号,这个序列号不可重复,这原本是一个很常见的需求,没有多想就写好了。到后面测试的时候才发现一个比较严重的问题,如果用户同时操作产生的记录,生成的序列号会有重复的情况。

经过讨论和思考后有几种解决方案,一是在数据库表层加锁,一是采用类似 redis 的消息队列,还有就是通过文件锁达到数据库排他锁的目的,鉴于时间和项目当前的情况,最后采用了通过文件锁实现这个需求。

阅读全文

在 Odoo 控制器中捕获数据唯一性约束错误

开发中经常会有的一个需求就是对数据字段做唯一性约束,在 Odoo 中为模型添加约束进行数据校验有两种方法:在 Python 程序中用@api.constrains 装饰器方法定义需要校验的字段;使用 _sql_constraints 属性添加 SQL 约束。一般来说,如果只是做唯一性约束,直接用后者即可,方便快速。

阅读全文

接替Odoo导航栏菜单实现自定义

这篇文章将会教大家如何在保留系统导航栏菜单自带功能的基础上,将其接管以实现自定义菜单。

背景

在使用 Odoo 的一些系统模块时,我们往往只需要使用到其中的一部分功能,一些对我们所开发的模块不重要或者对于客户来说是多余的内容,必要时我们会需要将其隐藏起来。

阅读全文

「API 翻译与应用」- Pixabay

这是新开坑的系列——「API 翻译与应用」的第 1 篇文章。

这个系列的主要目的在于翻译一些国外的好用又好玩的 API 文档,并通过实例应用(如果我不挖坑不填的话)进行使用说明。另一方面,很多人可能在阅读英文文档的时候比较没耐心(实不相瞒我就是其中之一),会忽略掉一些比较重要的信息,例如使用限制等。

阅读全文

「玩物志」精美而强大的Markdown编辑器 - Typora

Markdown编辑器千千万,可是有颜值、功能强并且免费的,就没有几个了。之前一直在用Mou,分屏预览模式方便得很,是一个非常好的选择。不过这篇可不是要推荐大家去用Mou,毕竟它只支持Mac这一平台,如果感兴趣的话可以去官网观摩一下Mou

阅读全文

微信小程序开发尝鲜

微信小程序面世以来受到的关注颇多,直到最近我才动手尝试进行了小程序的开发,总体上感觉还是不错的,有一点不适应的就是要摆脱Web APP开发对DOM的操作。在这里我就把我是如何利用API开发微信小程序的过程写成教程,教大家快速上手体验一次微信小程序的开发。

在开始之前我们先来看下成品的效果图

阅读全文

「玩物志」Shadowrocket的使用及配置

这篇Blog是应朋友要求写的,之前安利他买了Shadowrocket,然后一直没有教他怎么用 :)没错,我就是这么坑XD

一点说明

什么是Shadowrocket? 用它可以干些什么?

阅读全文

「玩物志」Syncthing的安装与使用

现在的网盘,一言不合就被「脱裤」,又或者「根据相关法律法规」要整改,要么干脆就关闭了,你们这样让我非常angry!这样乱搞,还让不让人好好地备份文件啦?本着「自己动手丰衣足食」的理念,今天老司机我带大家用Syncthing来创建属于自己的同步网盘。

什么是Syncthing

按照惯例应该是要先介绍今天的主角的,下面是摘自Syncthing官网首页的一段介绍

阅读全文