2021
行为树基础实现
行为树基础实现
最近的项目需要移植行为树,所以我设计了一个较为简单的行为树框架,在这分享出来。
2020
SSH免密登录
SSH免密登录
分享一下如何使SSH
免密登录和可能的坑
2019
Jenkins编译配置Merge before build
Jenkins编译配置Merge before build
分享一下Jenkins
编译服务配置Merge before build编译前先合并的坑。
共享内存一写多读无锁实现
共享内存一写多读无锁实现
最近的项目开发需要用到多进程,使用PubSub
发布订阅模式进行进程间的通信。通信方式可以是TCP/UDP
,管道Pipe/消息队列
,共享内存shared memory
等等。其中TCP/UDP
的方式是可以用作局域网以及跨平台的通信,Pipe/消息队列
是进程间基于系统实现比较基础的通信,这两者有大量优秀的第三方库支持,如ZeroMQ
,只要加入我们自定义数据的转换方式即可方便实现;而共享内存
是实现进程间通信最快的方式,但因为共享内存
的设计并不是用来做类似PubSub
这种模式的实现的,并且共享内存
实质上就是一段进程间共享的内存空间,使用自由度是极高的,所以也很少有第三方库来实现共享内存
方式的进程间通信。
因此本文的重点是如何使用共享内存shared memory
来实现高效的PubSub
发布订阅模式。
用于继承树的可继承单例模板类
用于继承树的可继承单例模板类
最近需要在一个继承树中大量用到单例模式,最经典的单例实现是不够用了。
经典单例实现
class Singleton { public: ~Singleton() = default; Singleton(const Singleton &) = delete; Singleton &operator=(const Singleton &) = delete; Singleton(Singleton &&) = delete; Singleton &operator=(Singleton &&) = delete; /// Get singleton static Singleton &Instance() { static Singleton instance_; return instance_; } private: Singleton() = default; };
2018
吴恩达机器学习和深度学习编程作业
吴恩达机器学习和深度学习编程作业
最近开始Andrew Ng大牛的机器学习和深度学习之旅,将编程练习和一些心得记录下来,项目地址:ml_dl_coursera_Andrew_Ng
使用python来完成作业是因为后面深度学习也得用python并且可以顺便练习一下numpy、pandas、matplotlib等这些科学计算常用的库。
Tensorflow指定GPU运行
Tensorflow指定GPU运行
今天发现使用GPU来训练,死活都报内存不足,后来想到可否只使用CPU来训练,而我已经装了tensorflow-gpu版,不想重新配置环境。
python迭代器的注意事项
在Google机器学习课程里面发现这段代码,跑了好几次都报错,说找不到latitude_32_to_33
列:
```python
LATITUDE_RANGES = zip(range(32, 44), range(33, 45))
Google机器学习速成课程视频无法播放的问题
Google机器学习速成课程视频无法播放的问题
今天发现https://developers.google.cn/machine-learning/crash-course上面有些视频点击了播放按钮无响应,
用Chrome调试工具发现播放按钮的Play()函数未定义。。。
后来通过切换到英文版对比了下源代码,找到了一个折中的办法。
Jupyter notebook的路径问题
Jupyter notebook的路径问题
昨天遇到的一个问题:import requests
的时候总提示我找不到包,我在检查了启动jupyter notebook的环境中的conda和pip都已经把requests
包更新到最新了。
后来在notebook里面用os.path
查看了当前的路径才发现是在另外一个环境里面。
(我之前按照某个教程新建了个tensorflow环境并且配置过jupyter notebook,但是没注意改了什么)
我今天找回那个教程,结果发现是这一句话的问题
Start python challenge on pythonchallenge.com
回顾pythonchallenge.com
之旅,重新使用jupyter notebook的方式进行思路的表述。
同时转成blog,地址pythonchallenge
建站心得
建站心得
上周与之前某伯乐互相吐槽,也聊了好多心得。
最大的收获就是,在我现在这个年纪,应该多学习多尝试,不应该安于现状。
还有就是要多分享,你懂的别人不一定懂,而别人懂的那部分也是值得你学习的。
这也是建站的原因,一是交流心得,二是提升知名度,作为一个伪程序员两者都很有作用。
至于为什么选择在GitHub上建,当然是因为这里自由度高,并且平时总会往GitHub上上传一些代码,联系起来比较方便。
还有就是平时不会有很多的时间花在逛平台上,不那么偏社交的平台可能更适合我一些。