2018-01-06 08:20:26
新加坡Java用户组在2018年首次活动中邀请我演讲,主题为“Java 9,第二集”,深入探讨了Java 9中一些较小、不太为人所知的API。活动在Pivotal的支持下顺利进行,提供了披萨和饮料,并得到了与会者的积极反馈和良好提问。演讲通过JShell实时演示了Collections、Stream、CompletableFuture等API的更新,并迅速发布了高质量的演讲视频和幻灯片,供未能到场者观看和学习。
2018-01-06 08:20:26
新加坡Java用户组在2018年首次活动中邀请我演讲,主题为“Java 9,第二集”,深入探讨了Java 9中一些较小、不太为人所知的API。活动在Pivotal的支持下顺利进行,提供了披萨和饮料,并得到了与会者的积极反馈和良好提问。演讲通过JShell实时演示了Collections、Stream、CompletableFuture等API的更新,并迅速发布了高质量的演讲视频和幻灯片,供未能到场者观看和学习。
2018-01-06 02:00:00
今年,作者参加了SpawnFest 2017黑客马拉松,项目是一个基于BEAM虚拟机的经典Minecraft服务器。服务器使用Elixir编写,功能有限,仅支持聊天、放置方块和移动流体。作者采用了actor模型,通过消息传递实现高并发,简化了客户端管理。在地图表示方面,作者尝试了两种方法:使用Erlang Term Storage和Run-length encoding,最终选择了后者以优化性能和内存使用。尽管在短时间内取得了成果,但作者仍认为游戏服务器和流体处理等方面可以进一步改进。
2018-01-05 21:00:00
在Emacs中,键盘快捷键(键绑定)是编辑器操作的核心。尽管这些快捷键对初学者来说可能难以理解,但作者强调,这些键绑定有其逻辑和目的。Emacs拥有大量键绑定,其中许多基于命令名称的助记符,如C-n代表“next-line”。文章解释了键绑定的组织方式,包括按字符、单词或表达式操作的模式。此外,Emacs提供了多种方式来发现和自定义键绑定,如使用C-h k来查询键绑定对应的命令。尽管Emacs的键绑定可能与常规程序不同,但用户仍然可以根据个人喜好进行自定义,同时遵循一些基本的组织原则。通过学习和理解这些模式,用户可以更高效地使用Emacs,并最终通过“Emacs大师测试”。
2018-01-05 20:54:33
StackShare Awards 2017即将举行,这是对众多让开发者生活更轻松的工具的庆祝活动。今年的奖项类别包括应用、DevOps、新工具等,由StackShare社区成员投票选出。评选标准基于工具的使用率、增长和社区影响力。参与者需在1月9日之前更新自己的工具栈。StackShare团队也分享了他们今年添加到工具栈中的几款工具,并将在本月底以盛大的方式宣布获奖者。
2018-01-04 21:00:00
Marvin,这款React通用模板,迎来了1.0版本的重大更新。主要变化包括:从redux-thunk切换到更强大的redux-saga,以简化异步操作管理;支持服务器端异步数据获取,并保存到Redux store供客户端复用;以及从SASS迁移到PostCSS,确保代码的现代化和未来兼容性。这些更新基于团队经验和需求,旨在为开发者提供一个易于修改的起点。目前,Marvin已在GitHub上获得700多星,并有众多社区贡献。
2018-01-04 12:00:00
本文介绍了如何使用Ionic Framework和Angular构建适用于Android和iOS的Ripple XRP钱包。作者首先回顾了之前使用Vue.js和Electron开发的桌面版钱包,然后转向移动端开发。由于Ripple库仅与Node.js或浏览器兼容,作者选择了Ionic Framework,因为它在打包的Web浏览器中运行,可以使用浏览器兼容的库。文章详细介绍了创建新项目、构建Ripple库、实现钱包功能以及使用API和库进行开发的过程。最终,作者展示了如何构建适用于Android和iOS的应用,并强调了使用Web技术构建移动钱包的优势。
2018-01-04 06:00:00
新的一年,小企业主应从过去一年的财务状况中学习,审查财务报表,分析库存和收入支出,评估目标达成情况。同时,通过审计发现节省成本的机会,如优化能源供应、谈判租赁合同、减少银行费用。研究竞争对手,提升产品、服务和营销策略,并考虑增长计划,如拓展新市场或寻求外部融资。重视现金流管理,使用会计软件和信用检查,确保及时收款。引入直接借记等支付方式,减少逾期付款问题。总之,小企业主应保持警觉,适应变化,为客户提供优质服务,确保业务健康发展。
2018-01-03 21:00:00
Jody Butts在2017年UX澳大利亚会议上强调了数据可视化在医疗保健技术中的重要性。他指出,即使是图表中的微小设计细节也可能对患者的安全和结果产生重大影响。他强调,清晰、上下文和创意是确保数据可视化准确和有影响力的关键。Butts还讨论了Cerner公司如何通过改进数据可视化来提高医疗保健中的患者安全,并强调了在设计中考虑可访问性和患者隐私的重要性。他强调,通过清晰、有上下文和创意的数据可视化,我们可以推动改变世界并挽救生命。
2018-01-03 15:59:58
2017年,作者在职业生涯上取得了显著成就。他参与了多个技术会议和研讨会,发表了17场演讲,并完成了从Planet 9 Energy到Vectra的职位变动。此外,他还投身于多个开源项目,包括Fullstack Bulletin、Serverless Lab、Middy和Fastify。在技术学习方面,他继续深化对AWS、serverless、Node.js、React等技术的了解,并开始学习新的技术如Terraform、Ansible等。作者对2018年充满期待,计划继续参与更多技术活动,撰写更多博客文章,并深入学习新的技术领域。
2018-01-03 01:33:21
Node.js版本8.9.4(LTS)更新了npm至5.6.0,并优化了构建过程,包括允许从任何目录运行configure,修复了benchmark和build中的多个问题。此外,文档进行了多项改进,包括错误描述的简化、术语标准化和链接更新。提供了多种平台的安装包和源代码下载链接。
2018-01-02 21:00:00
本文介绍了如何设置Webpack以运行Svelte组件的CSS并通过PostCSS进行预处理。Svelte框架允许将HTML、样式和脚本放在一个文件中,并支持对组件文件的不同部分进行预处理。文章详细介绍了两种方法:第一种是组件动态插入样式,第二种是生成外部CSS文件。在第一种方法中,使用`svelte-loader`和PostCSS插件对CSS进行预处理;在第二种方法中,通过配置CSS加载器链和PostCSS插件来生成外部CSS文件。
2018-01-02 21:00:00
在软件开发过程中,为了减少错误和提高效率,WyeWorks项目组采用了Git钩子(git-hooks)来预防不良提交。这些钩子包括`pre-commit`、`commit-msg`和`pre-push`,分别用于在提交前检查代码风格、验证提交信息和确认重要分支的推送。通过这些钩子,可以避免不必要的CI运行,提高开发效率,并确保代码质量。
2018-01-02 21:00:00
《All Songs Considered》节目在2017年末继续了多年的传统,通过Google表单向听众征集他们最喜欢的专辑。活动共收集了超过4,800份投票。为了提高数据质量,节目组对提交表单进行了改进,包括将专辑和艺术家分开输入,并要求必须填写第一选择。此外,他们使用了csvdedupe工具来识别和合并相似的艺术家和专辑组合,并利用makefiles来构建数据处理流程。最后,节目组采用了2016年的排名策略,通过pandas库在Python中重新实现了分析,最终发布了听众评选出的2017年Top 100专辑。
2018-01-02 21:00:00
本文介绍了如何使用Serverless架构和GitHub webhook来创建一个自动在Slack频道中发布庆祝信息的系统。首先,在Slack中设置一个 Incoming Webhook,用于接收消息。然后,在Serverless服务中编写一个handler.js文件,用于处理GitHub webhook事件,并将信息发送到Slack。最后,在GitHub仓库中设置一个webhook,使其在项目被star时触发Serverless服务。通过这一系列操作,每当有用户star项目时,Slack频道就会自动发布庆祝信息。
2018-01-02 12:00:00
本文介绍了如何使用Vue.js、Electron和Node.js构建一个跨平台的桌面版Ripple XRP钱包。作者首先介绍了自己购买Ripple的原因和对现有钱包的不满,随后详细讲解了如何使用Vue CLI创建Vue.js项目,并引入Bootstrap和Electron框架。接着,作者展示了如何使用ripple-lib库与Ripple网络交互,并通过CoinMarketCap API获取XRP的市场信息。最后,作者展示了如何将Vue.js逻辑与HTML UI结合,实现钱包的显示功能,并提供了运行和测试应用的步骤。通过这个项目,读者可以了解如何使用现代技术构建跨平台桌面应用,并深入了解加密货币和区块链技术。
2018-01-02 03:00:00
本教程介绍了如何使用Node.js、Koa和koa-passport库在Koa应用中设置本地认证策略。教程中,用户可以使用用户名和密码进行注册和登录。此外,使用Postgres存储用户信息,Redis用于会话管理。教程涵盖了从设置项目环境到配置bcrypt.js进行密码加密,以及使用Redis作为外部会话存储的整个过程。通过一系列的步骤和示例代码,读者可以学习如何实现用户认证流程,并理解如何通过Passport和Koa进行用户认证。
2018-01-02 00:00:00
Unix的fork设计被作者认为是存在诸多问题的设计选择。作者回顾了Unix早期设计时的场景,指出fork设计在早期Unix版本中会导致整个进程空间被复制,造成资源浪费。尽管现代操作系统有所改进,但fork设计仍存在诸多缺陷,如继承过多的文件描述符、内存过度承诺等问题。作者对比了fork、vfork、posix_spawn等进程创建模型,认为rfork和spawn模型更为优秀。作者呼吁未来的操作系统设计者重新考虑fork设计,采用更优的进程创建模型。
2018-01-01 21:00:00
作者回顾了自己在2017年的经历,尽管他通常不喜欢写年度总结,但这次他意识到通过总结可以认识到自己的成就。他回顾了自己在GitHub上的贡献、参与的会议、构建的侧项目、加入Unicode Emoji委员会等,并反思了自己的技术广度与深度。他还提到了个人生活的点滴,如学习滑板、看演唱会、学习制作陶瓷等。最后,他提出了新年的目标:尝试12件新事物。
2017-12-31 21:00:00
为了获得更好的浏览体验,请确保您的浏览器已启用JavaScript。若需要帮助启用,请点击链接获取指导。
2017-12-31 21:00:00
新年伊始,作者立下决心:将更加专注于编程、写作、娱乐和手工制作。这不仅是个人成长的目标,也是对生活热情的体现。
2017-12-31 21:00:00
作者讲述了自己的编程历程。从四岁开始接触电脑,学习BASIC语言,到对网页制作产生兴趣,再到大学期间接触Linux并参与开源项目,再到职业生涯中不断变换工作,最终在Null Object公司找到了自己的归宿。作者认为,编程是一种创造性的活动,能够带来成就感和乐趣,并鼓励大家继续创造。