内容简介:一直以来,凡是涉及到参数的东西,自己的记性一直很好,问题是脑子里想装下的东西太多,总有溢出的时候,从上一篇博客开始前就想记录很多东西,因为没时间而不断搁置,一旦搁置就回归虚无。上一篇博客照抄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日》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。