Skynet 中,其实提供了常规的 套接字 功能,如监听,连接,发送数据等,其中包含了几个模块,现在我们就来看一下它是如何实现的。比如snax.gateserver
就是利用这个功能来实现的。
关于Python连接数据库的一些选择
由于工作中经常需要到查询 MySQL 的操作,有的时候,把固定的操作做成命令行的话就会方便多了。不过,我们涉及的数据库多为 Oracle 和 MySQL。因此只需要在这两种之中进行选择就行了。
Oracle
这个没有什么好讲的,采用 cx_oracle 就行了,官方出品,就是精品了。但是需要注意的是,对于高版本版本,库已经不带 native 的代码了,需要你自己去安装 oracle instant client。
cx_Oracle 7.3 是最后一个支持 python 2 版本。
11.2 的 Client 才能连接 11 以后的数据库哦。比如我们用的 9i 。
因此,instantclient 选择 11.2 好了
关于JavaScript的ArrayBuffer
今天遇到一个情况,就是服务器端是采用的 WebSocket 进行通信的,但是协议是 ASCII
,因此,传输给到我客户端的,是字节流,在 JS 看来,就是 ArrayBuffer。现在面临的问题,就是要要将字节流转换成字符串,然后解析其中的 JSON 信息。之前还没有遇到过,因此就来探究了一下。
pandoc从markdown到pdf与docx全过程
在之前的一篇文章 使用pandoc转换pdf与docx加上书签目录 已经有很多基础的知识,现在是来再次回顾一下这个过程。
pandoc一个比较经典的latex模板
pandoc 确实是神器啊。加上对 docx 的支持也很棒了,现在来仔细阅读一番 Eisvogel latex 模板的使用了。比 docx 的操作更加的灵活。关于 pandoc 的基本相关知识见 使用pandoc转换pdf与docx加上书签目录
cx_oracle连接9i以上的Oracle数据库
因为业务系统中用的数据库还是 Oracle 9i,因此,当我使用 sqlplus 或者是 cx_oracle 连接的时候,经常会报 connect to this version is not supported。这是因为,对于 9i 以下的版本,客户端 12 以上就不再支持了,必须使用 11 版本的,最后支持 9i 的版本就是 11.0.2.4
了。o
Oracle12c中创建库与用户
因为 Oracle 12c 中引入了 CDP 和 PDB 的概念,就是在一个数据库实例中容纳多个数据库,因此与以前的版本就会有所不同了。最明显的,就是创建用户不同了。
GNU-Parallel并行计算提高大文件处理效率
之所以遇到这个问题,是因为,要对一个比较大的文件进行分析,统计。5 亿行数据,20G 左右。采用 awk 进行分列,归集,效率低得发指,用 top
命令看了一下情况,发现只用了 100% 的 CPU,也就是说在一个核上跑,这是万万不能接受的。
React函数式组件中使用Refs和Hook
事情的缘由,是在于我想要在一个列表的数据变更的时候,自动将列表滑动到最底部;同时对于一个输入框,保持焦点。这就需要直接操作组件了。而对于函数组件,是不能使用生命周期回调函数的。折腾了许久才找到了解决的办法。这个例子中的我是使用了 React Native 和 Redux ,所以就不做什么变更了。
ReactNative中WebSocket实现的BUG
本来,在 JS 或者是 Node 中使用 WebSocket 都是很简单的问题。但是,想用 React Native 进行开发的时候,使用其自带的 WebSocket 库,就出现很多的问题。