最近一直在写Ruby脚本,说出来你可能不相信,我用Ruby写游戏脚本
。用的是JRuby,采用JRuby是因为定时器的问题,Ruby1.8.6因为线程是用户空间内的本地线程,标准库没有提供强大的定时器功能,而对于游戏逻辑有相当多的任务需要定时处理,权衡之下,最后决定使用JRuby,封装了java的
ScheduledExecutorService,
等以后Ruby有更完善的定时器的时候就切换回来(我猜测引入了native
thread的Ruby1.9应该有更强大的定时器),基本满足了要求。这一过程也更让我觉的JRuby是个非常有前途的项目,利用Ruby的语法以及动
态语言的高效加上java极其丰富的类库,这样的组合有莫大的威力,况且 JRuby的性能比之c ruby在某些方面更有优势,在1.1出来后应该可以有一个更大的提升。
写Ruby脚本唯一比较郁闷的是重构,尽管Netbeans比RDT提供了更好的重构功能,但是对于一些复杂重构仍然没有比较好的支持,况且我也不敢完全
信任IDE的自动化,这种时候更显示出完备的单元测试的重要性,如果没有单元测试,对Ruby脚本的重构简直难以想象。另外一个比较麻烦的是,Ruby对
二进制的处理并不是很方便,尽管使用了bit-struct,但是它只能支持定长的数据结构,而不是可变长度的array
list,变长的string,或者switch结构;尽管我自己做了简单的扩展,仍然很局限。幸好我遇到这样的情况不多,通过其他手段变通处理也还能接
受。后来javaeye上的庄表伟老大发布了
DynamicStruct,这个才是根本解决之道,两者结合使用应该可以处理所有情况了。不过那时我的协议处理部分都已经完成,下次有机会再试试。
读书嘛,最近终于开始读买了许久的《代码大全2》,以前是真怕这种大部头,看着就没信心读完,哇哈哈,没想到一读下去就一发不可收拾,真是好书一本,就软
件构建中的设计一章就值回书钱了。又利用晚上在重读sicp前三章,在注释这样的边边角角原来也非常有价值,例如对闭包和组合的解释,静态语言由于有太多
的声明式结构(struct、class
etc.)反而对组合造成了阻碍和惩罚,而在Lisp中由于通用的组合粘合剂cons的存在,可以以一种统一的方式去处理组合结构,模拟各种复杂的数据结
构。今天托同事在当当上买的书到了,《unix编程艺术》到手,这书按牛人的说法是sicp的实践版,不读就相当遗憾了。
分享到:
相关推荐
这涉及到一系列复杂的算法,包括监督学习、无监督学习和半监督学习。深度学习是机器学习的一个分支,它模拟人脑神经网络的工作方式,构建多层的神经网络结构,如深度神经网络(DNN)、卷积神经网络(CNN)和循环神经...
为此,深度学习加速器、图形处理单元(GPU)、现场可编程门阵列(FPGA)和专用集成电路(ASIC)等硬件平台应运而生,它们可以为深度学习工作负载提供必要的计算能力。 此外,本书还将探讨深度学习技术如何影响...
主要分为监督学习、无监督学习和强化学习。Python中的Scikit-Learn库提供了各种机器学习算法,如线性回归、逻辑回归、决策树、随机森林、支持向量机等。 **深度学习(Deep Learning)** 深度学习是机器学习的一个子...
在深度学习中,这通常涉及到卷积神经网络(CNN)用于图像识别,循环神经网络(RNN)或长短时记忆网络(LSTM)用于序列数据的识别,以及最近的Transformer模型在自然语言处理中的应用。识别任务的目标是使模型在测试...
机器学习工作原理主要通过两种技术:监督式学习和无监督学习。监督式学习需要一组已知的输入和输出数据,通过训练使模型能够预测未来的数据输出。这种方法通常用于分类(如垃圾邮件检测、肿瘤良恶性预测)和回归(如...
机器学习的技术可以分为监督学习和无监督学习两种,监督学习是指在训练数据集中,每个样本都有对应的标签,而无监督学习则是指在训练数据集中,每个样本都没有对应的标签。本文采用监督学习的方法,通过训练数据集和...
在机器学习和深度学习的世界里,我们探讨的是让计算机通过数据自我学习并改善其性能的能力。这份"机器学习和深度学习的学习笔记"压缩包显然包含了关于这两个领域的详细资料,可以帮助我们深入了解这一领域的核心概念...
机器学习的路线有监督学习、半监督学习、迁移学习和非监督学习等。监督学习是有数据标注情况下学习,包括回归和分类两种问题。半监督学习是训练数据中带标记的数据不够多,需要使用迁移学习来弥补不足。非监督学习是...
KNN(K-Nearest Neighbors,K最近邻)算法是一种基本且易于理解的分类与回归方法。它的工作原理非常简单:通过测量不同特征值之间的距离来进行预测。 ...- **懒惰学习**:KNN算法通常被认为是一种
但是,最近的研究表明,学习学习收益的分布要比学习其预期价值具有不同的优势,如在不同的RL任务中所见。 从使用传统RL的收益期望到分配RL收益分配的转变,为RL的动力学提供了新见解。 本文基于我们最近的研究RL...
“帮助”区域是学习和解决问题的好去处,提供新功能介绍、文档资源和培训信息查询,对初学者来说尤其有用。若不希望每次启动时显示“欢迎”屏幕,可以通过“编辑”菜单的“首选参数”进行设置。 接下来,我们来了解...
最近在学习机器学习,深度学习,自然语言处理,统计学习方法等知识,所以决定自己将学习的相关算法用Python实现一遍,
本次出差学习总结报告PPT课件...此次出差学习《 Global MMOG/LE 》,收获了许多有价值的经验和知识,对供应链管理和物流策划有了更深入的理解,希望在今后的工作中能够更好地应用这些知识和经验,提高自己的职业能力。
K 最近邻 (KNN) 算法是一种用于解决分类和回归问题的监督式机器学习方法。Evelyn Fix 和 Joseph Hodges 于 1951 年开发了此算法,随后由 Thomas Cover 扩展。本文探讨了 KNN 算法的基本原理、工作原理和实现。 • ...
在接下来的几十年里,机器学习领域取得了许多重要的进展,包括最近邻算法、决策树、随机森林、深度学习等算法和技术的发展。 机器学习有着广泛的应用场景,如自然语言处理、物体识别和智能驾驶、市场营销和个性化...
总之,这个合集是学习和实践Python机器学习的宝贵资源。通过探索这些内容,初学者可以逐步掌握机器学习的基本概念,熟悉常用库的用法,并能够动手实践各种算法。对于有经验的开发者,这个合集也可能提供新的思路和...
在接下来的几十年里,机器学习领域取得了许多重要的进展,包括最近邻算法、决策树、随机森林、深度学习等算法和技术的发展。 机器学习有着广泛的应用场景,如自然语言处理、物体识别和智能驾驶、市场营销和个性化...