“黑客马拉松”让我们学到了什么?

黑客马拉松是一种开发软件的活动形式:开发者们在一定期间内协同开发软件。黑客马拉松为开发者和团体提供学习机会和场地,并把活动发布到网络上。开发者在这里玩得很开心。

Shirly Ronen创建了roojoomWTF is a hackathon。这个roojoom是一个关于黑客马拉松的例子和好的实践的集合。上面有一篇Dave Fontenot发表在Medium上的文章,他在这篇文章中解释了什么是黑客马拉松:

黑客马拉松通过技术为个性表现和创意提供了展示舞台。有技术背景的人们聚在一起,围绕某个问题或想法组成团队并且从头开始协作完成一个独特的解决方案:这些通常以网站、移动应用和机器人程序的形式出现。
无论是开发网站、移动应用,甚至是硬件编码,目的都是从头开始并最终完成一个可运行的原型。通常,这些活动持续24到28小时,并且有食物、咖啡、奖金,和你能猜到的,更多的咖啡。当时间结束后,团队会展示他们的成果并竞争奖金。

Shirly创建的roojoom上有一个YouTube采访Peter Morano关于如何组织和举办自己的黑客马拉松的链接和一个来自Tess Rinearson的博客文章,里面介绍了黑客马拉松上的8种项目:

  • 前沿研究项目
  • 网站提升
  • 插件
  • “三小时学会三种新技术”编程
  • 炫耀
  • “相信我它可以工作”编程
  • 打磨的项目
  • 过分打磨的项目

Tess Rinearson也是Medium的hackers and hacking栏目的编辑,在这里几位开发者分享了他们参加黑客马拉松的经验:

Rafa Moreno在我的黑客马拉松经历中写道:我以前对如何编程一无所知并且在我的学校里只认识3位左右有计算机编程经验的人。我不是计算机专业,也不认识这个领域的任何人。由于今年在黑客马拉松的经历,我学会了计算机编程并认识了很多遍布美国的朋友,甚至有了一位印度朋友。我跟一些公司和创业团队有了接触,他们让我在这个秋天去面谈和旅行,这在以前都是没有过的。
Jose Luis Teran在把黑客马拉松中的想法变为创业中写道:实现想法并享受一起合作的愉快周末,很快就会有更多含义。事实上, 如果我们决定全身心投入,这个网站mentorcube.com很可能变成创业。
Danny Espinoza在彻底编程中写道:我会花下面的48小时编码来操作像素,从组装的部件创建原型。我会享受美食、嘈杂的气氛、几百人把生活融入到想法中的努力。

Jim Lim在VentureBeat发表了一篇关于黑客马拉松中最有用的3种技能。他建议黑客马拉松参与者应该学会下面的技能:

  • 学会使用Git -- 作为一个参与者, 你必须学会如何提交代码、合并分支和恢复变化。这会让你维护一个安全的检查点:当事情出错时,你知道如何恢复。在这个基础上,你可以分而治之,尝试新的想法和验证不同的实现。
  • 停下来调试 -- 黑客马拉松常常会令人沮丧,因为你的代码大部分时间不工作。然而这正是关键所在 -- 黑客马拉松是一个高强度的学习时期。在这期间,你可以尝试新的应用编程接口(APIs)、软件开发包(SDKs)、框架、甚至新语言。期待问题并学会解决它们。
  • 使用Google(明智地)-- 首先明确弄清需要学习的内容。你需要什么函数?它如何被调用?如果你是在库/API/SDK基础上开发的工程师,你会如何使用它?你会把它放在哪?开始在Google上面搜索并快速浏览前面结果来确定相关性。使用相关内容去猜测和发现关键词,直到你选定了你所需要的。

Sam Sturgis在CityLab上发表的博客城市应该重新审视黑客马拉松来提高数字基础设施?中描述了一个由波士顿举办的黑客马拉松成功的故事:

经过36小时的精心代码编写,在线数字系统Permit Finder完全改变了波士顿处理成千上万个许可证申请的方式。

由黑客马拉松交付的解决方案能够让提交者实时监控许可证申请被处理的进度。

“发许可证的根本挑战不是我们发不了许可证”,波士顿的首席信息官Jascha Franklin--Hodge解释说,“而是对于我们的居民,这个过程太不友好和太慢了。”

现在因为有了“Permit Finder”,一个申请者只要浏览这个新网站并输入他的申请号,那么他就能很快知道申请在这个7步过程中的进度了。

这次黑客马拉松成功的关键是花时间去分析那些需要被解决的问题,如Sam所解释的:

在编码开始之前,城市发布了想让黑客马拉松参与者处理的4个不同的挑战,其中一个是“居民需要一个清晰的方式跟踪所有和他们活动相关的许可证”。

毫无疑问,市政府应该明确告知技术团队需要让他们解决的挑战。遗憾的是,在许多政府举办的黑客马拉松上,缺乏这种明确的目标。

你参加过一次或多次黑客马拉松吗?你学到了什么?请分享你的经验!


英文原文
via infoQ

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)内容概要:本文介绍了基于IEEE33节点的配电网韧性提升方法,重点研究了移动储能系统的预布局与动态调度策略。通过Matlab代码实现,提出了一种结合预配置和动态调度的两阶段优化模型,旨在应对电网故障或极端事件时快速恢复供电能力。文中采用了多种智能优化算法(如PSO、MPSO、TACPSO、SOA、GA等)进行对比分析,验证所提策略的有效性和优越性。研究不仅关注移动储能单元的初始部署位置,还深入探讨其在故障发生后的动态路径规划与电力支援过程,从而全面提升配电网的韧性水平。; 适合人群:具备电力系统基础知识和Matlab编程能力的研究生、科研人员及从事智能电网、能源系统优化等相关领域的工程技术人员。; 使用场景及目标:①用于科研复现,特别是IEEE顶刊或SCI一区论文中关于配电网韧性、应急电源调度的研究;②支撑电力系统在灾害或故障条件下的恢复力优化设计,提升实际电网应对突发事件的能力;③为移动储能系统在智能配电网中的应用提供理论依据和技术支持。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析,重点关注目标函数建模、约束条件设置以及智能算法的实现细节。同时推荐参考文中提及的MPS预配置与动态调度上下两部分,系统掌握完整的技术路线,并可通过替换不同算法或测试系统进一步拓展研究。
先看效果: https://pan.quark.cn/s/3756295eddc9 在C#软件开发过程中,DateTimePicker组件被视为一种常见且关键的构成部分,它为用户提供了图形化的途径来选取日期与时间。 此类控件多应用于需要用户输入日期或时间数据的场景,例如日程管理、订单管理或时间记录等情境。 针对这一主题,我们将细致研究DateTimePicker的操作方法、具备的功能以及相关的C#编程理念。 DateTimePicker控件是由.NET Framework所支持的一种界面组件,适用于在Windows Forms应用程序中部署。 在构建阶段,程序员能够通过调整属性来设定其视觉形态及运作模式,诸如设定日期的显示格式、是否展现时间选项、预设的初始值等。 在执行阶段,用户能够通过点击日历图标的下拉列表来选定日期,或是在文本区域直接键入日期信息,随后按下Tab键或回车键以确认所选定的内容。 在C#语言中,DateTime结构是处理日期与时间数据的核心,而DateTimePicker控件的值则表现为DateTime类型的实例。 用户能够借助`Value`属性来读取或设定用户所选择的日期与时间。 例如,以下代码片段展示了如何为DateTimePicker设定初始的日期值:```csharpDateTimePicker dateTimePicker = new DateTimePicker();dateTimePicker.Value = DateTime.Now;```再者,DateTimePicker控件还内置了事件响应机制,比如`ValueChanged`事件,当用户修改日期或时间时会自动激活。 开发者可以注册该事件以执行特定的功能,例如进行输入验证或更新关联的数据:``...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值