Tips–2018年09月24日

栏目: 数据库 · 发布时间: 6年前

内容简介:一直以来,凡是涉及到参数的东西,自己的记性一直很好,问题是脑子里想装下的东西太多,总有溢出的时候,从上一篇博客开始前就想记录很多东西,因为没时间而不断搁置,一旦搁置就回归虚无。上一篇博客照抄Go 1.11的Release Note,翻译起来的难度不大,比写自己的东西快多了,写博客的心情就和以前写命题作文一样,总是卡住,偶尔又回想不起自己想写什么东西,所以Tips系列就当做简单的记录,有时间再深入学习,单独开一篇来讨论,直到把自己的思绪完全理顺。这篇博客会讨论什么?

前言

一直以来,凡是涉及到参数的东西,自己的记性一直很好,问题是脑子里想装下的东西太多,总有溢出的时候,从上一篇博客开始前就想记录很多东西,因为没时间而不断搁置,一旦搁置就回归虚无。

上一篇博客照抄 Go 1.11的Release Note,翻译起来的难度不大,比写自己的东西快多了,写博客的心情就和以前写命题作文一样,总是卡住,偶尔又回想不起自己想写什么东西,所以Tips系列就当做简单的记录,有时间再深入学习,单独开一篇来讨论,直到把自己的思绪完全理顺。

这篇博客会讨论什么?

  • Go的database/sql库
  • 显示器中的色彩空间
  • 虚拟机中安装 Linux 后报Host SMBus controller not enabled

Host SMBus controller not enabled

换了工作后需要用Windows来运行一些串口工具,但是开发习惯还是保持Linux/Unix,就不可避免地需要使用虚拟化,字符界面的虚拟化软件没有太多的差别,但桌面系统的虚拟化只有Parallels和VMWare可以随心使用吧。

工作上用Windows 10家庭版,虚拟机使用VMware搭配Ubuntu 18.04,安装后一直报Host SMBus controller not enabled,在blacklist中禁用相应了也没有效果,最后发现,忘记重新生成引导文件。以前安装虚拟机,在blacklist中添加屏蔽的模块后,都会升级内核,间接触发引导文件生成,这次安装得太匆忙,更新完内核后才配置blacklist,结果一直不生效,下面以 i2c_piix4 为例子。

(1)编辑 /etc/modprobe.d/blacklist.conf ,在文件的最后添加 blacklist i2c_piix4 ,保存退出

(2)执行 update-initramfs  -u  -k  all 命令,重新生成引导文件

(3)重启

从macOS切换到Ubuntu,最大的差别还是快捷键,macOS上的快捷键配置自带优化,同样的软件,macOS的就是比LInux和Windows少按一个键,日常使用起来的速度也有所提升的。

database/sql

Go的数据库连接只有一个库,就是标题里提到的,不过它并不是实际操作的执行者,而是一个统一接口。对用户来讲,只需要关注database/sql库,弄清语句执行流程、连接池、复用等,对应的driver库会处理好对应的数据库交互,在 docker 的存储引擎上也有相应的情景。

这里提一下之前遇到的一个prepare语句问题,原来的一位同事在对接物联网设备时都遵循一个套路,新建一个stmt后复用,专门处理节点上行数据的入库,若新建句柄失败,触发fatal error,不巧的是prepare句柄的数量有限,对于多人共用的数据库,很容易在一些配额上冲突。另一个程序使用prepare语句的程序在使用后忘记释放句柄,导致数据库prepare句柄数量递增,直至上限,其它尝试创建prepare句柄的操作全部失败,所以 fatal error绝对不能乱用,prepare语句也是。

另一次在使用HTTP Client时也遇到类似问题,忘记关闭请求体,直到最后占满全部文件描述符才报错,这种需要达到一定条件才会触发的问题就像定时炸弹一样,比闪退问题还可怕,对于Go的基础库,除了代码外还需要理解设计理念。对database/sql理解较深的人,应该就是driver的相关开发者了,这里存档一份关于database/sql的教程,网络上一些中文的内容看过后发现还是基于它的: A tutorial for Go’s database/sql package

显示器的色彩空间

关于色彩空间的内容很复杂,但是只要搜索 HDMI 1.4 4k输出 ,就会蹦出一系列的相关内容。HDMI 1.4的带宽无法承载标准4K显示画面的,但只要缩水一部分参数,就有可能实现,比较经典的案例是英伟达采用YUV色彩空间方案实现老显卡上的4K输出。有了第一个吃螃蟹的人,就会有第二个、第三个,包括自己手上的ThinkPad e585也中枪了,明明只是接口的问题,但联想还是采取了HDMI 1.4的方案,使用YUV420方案输出,与电视的4K输出方案一致。这对于 程序员 来说并不友好,因为蓝色字体会出现模糊的情况。

自己现有的装备是一台支持10bit的显示器,在看过HDMI 1.4相关内容后才知道这也是一个坑,色彩显示使用的是YUV422的10bit方案,并不支持标准RGB的10bit,毕竟这是价格徘徊在1500块人民币的显示器。

所以又回到了最初的起点,如何选择一款合适的显示器?支持Display-P3的显示器,基本可以概括为苹果,其他支持DCI-P3的显示器大多是MVA面板,相对iMAC的显示器的差距巨大……iMAC 27系列已经完全沦丧为买显示器送电脑了。


以上所述就是小编给大家介绍的《Tips–2018年09月24日》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

国际大学生程序设计竞赛例题解

国际大学生程序设计竞赛例题解

郭嵩山 / 电子工业出版社 / 2006-5 / 32.0

《国际大学生程序设计竞赛例题解1:数论、计算几何、搜索算法专集》可以作为高等院校有关专业的研究生和本科学生参加国际大学生程序设计竞赛的辅导教材,也可作为高等院校有关专业相关课程的教材和教学参考书,也比较适合作为中学青少年信息学奥林匹克竞赛省级及省级以上优秀选手备战信息学奥林匹克竞赛的培训教材及训练题集。一起来看看 《国际大学生程序设计竞赛例题解》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试