带帽的Go Func Scheduler

几年前,我正在研究一个有趣的问题,但显然所需的软件设计超出了我的专业知识。 当时,我主要编写用于处理矩阵代数和GPIB,串行端口等硬件通信的科学计算程序。 这些都不需要并发执行设计或使用允许parallel运行循环的库。 但是,当我们不得不扩展代码以在中央通信主机上运行数十(有时是数百)个硬件设备时,情况发生了变化。 特别地,目标是产生具有最小依赖性的二进制文件,该二进制文件将调用并发通信请求到连接到系统的多个设备。 因此,软件设计的模式更多地是关于管理这些并发请求,而不是管理实际的计算。 计算将在远程设备上进行。 换句话说,这就像进行并发HTTP Get调用并等待……一个典型的问题域,尝试使用Go的并发功能! 那时我刚接触Go,但是生成例行程序的想法似乎既强大又危险。 尽管生成一个例程很容易,但是仍然存在关于如何在考虑可用主机资源的情况下如何控制执行速度的问题。 go func(){}()//产生一个新的go例程...立即执行 这篇文章是关于我控制go例程的执行的旅程,我将描述我最近一直在使用的代码模式。 让我们从接口定义开始。 调度程序界面 界面应尽可能简单和最小化,并在实现中将细节隐藏在幕后。 对于这种情况,其想法是能够调度和执行函数,并检查调度程序中是否正在运行任何内容。…

rsp —实时搜索平台

在过去的8个月左右的时间里,我一直对实时搜索感兴趣:例如,实时跟踪推文(在事件发生的时间非常接近的情况下)并对其进行操作。 在上次美国总统大选(2016年)期间,我一个晚上的个人计划是一项工具,用于检查与选举相关的推文中的内容,并实时对短语和媒体(例如视频)进行操作。 实时交付信息是一项复杂的工程壮举,我赞扬各自的提供商(例如Twitter,Google,Facebook),因为该过程涉及上传,处理,过滤,建立索引,将内容交付给您的社交图谱以及更多工作比眼睛所见。 这意味着一旦您的设备发布了一条推文,有权访问您的提要的各方就可以对其进行搜索和检查。 提供内容的能力立即打开了机会,以建立适应性服务,以适应用户的输入,例如,情绪分析以确定对事件的反应,生成有关流行主题的文章,在公司的品牌或产品流行时通知公司,找到最受欢迎的公司视频并立即分享它们,制作模因,在比赛前制作趋势流行的短语和事件的T恤,进行模仿,购买公司的股票或出售股票,定位广告等。 作为动觉学习者(一个边做边学的人),我认为进入这一领域的最佳方法是构建一些实时作用于信息的应用程序。 另外,刚启动了后端/服务器端工程启动公司orijtech https://orijtech.com/,我的目标之一就是提供现成的软件解决方案,以帮助希望构建其产品的公司,想要预算分配他们的资源,劳动力,专业知识或资产。 可以将它视为一种合作伙伴关系,为您提供定制件来完成拼图游戏,而无需花很多钱就可以聘请精英工程师,也不必为建立一家完全可以成立的公司而陷入困境只是一个前端,或者一个不希望您的工程团队花费数周甚至数月的工作。 2016年末,在一个公共假期延长的周末里,当我在旧金山的公寓里时,我很无聊,每个人都出门在外,我刚从长途旅行中回来,一切都被关闭了,我重新看了2詹姆斯邦德电影,但这一天还很年轻,所以我决定要使用Facebook Messenger机器人。 该机器人是我可以用来在iTunes和YouTube上搜索内容的机器人,它会立即向我吐出结果。 这使我陷入了研究searchyt https://m.me/searchyt的繁琐工作中,然后我决定在2017年2月进一步迈出一步,并构建了一个等效的Web应用程序medisa https://medisa.orijtech。 com /。 对于medisa,我在星期五晚上在学校的图书馆中构建了一个具有正常工作后端的功能原型(我的重点领域),但是前端非常丑陋(我了解UI设计的局限性),因此可以进行修复在前端,我从2012年开始聘用了一位才华横溢的朋友和前同事的服务。经过大约2次迭代,我开始看到这个小应用程序适合我从事实时搜索的目标。…