如果您参与软件开发,请阅读“用代码作梦”

一位朋友送给我这本书,我很高兴他做到了。 如果我只能对这本书说一句话,那就是“ 这对于软件开发人员,软件产品经理和软件工程CS学生来说应该是必读的。”是的,就是那么好。 这本书记述了2000年初开发名为Chandler的个人信息管理器软件的过程。它是根据我们对软件工程及其困境的看法,处理和应对的方式进行的。 尽管它描述了一些代码,但有关描述软件开发人员,管理开发工作的人员以及领导工作的人员的叙述,从描述真实的软件开发的工作方式(辛苦,流畅,破裂,不断被固定,艺术,科学。 是的,自2004年以来我们已经走了很长一段路。即使如此,许多观察甚至在今天仍然成立。 除了描述开发工作的章节外,很少有章节(例如“方法”以及“工程师和艺术家”)以令人愉悦,内容丰富且感知力强的方式绕开了软件工程的历史,先驱者对软件工程的看法以及我们如何搞砸了,我们如何弄混,以及如何“修复”软件工程的替代视图。 他们考虑了不同人群的观点:艾伦·凯(Smalltalk),弗雷德·布鲁克斯(Fred Brooks)(神话般的人月),唐纳德·努斯(Donald Knuth)(TAoCP,TeX),乔尔·斯波斯基( Joel Spolsky)( 乔尔在软件上 ),查尔斯·西蒙尼(Charles Simonyi)(有意编程)和贾隆·拉尼尔(Jaron Lanier(防液软件)。 这些绕道实际上可以挑战当前对软件工程的看法。 如果您曾经参加过战trench,那么这些弯路将使您自鸣得意,并增强了您对软件工程的认识。🙂总而言之,这些章节值得一读。…

整合手机钱包支付的经验教训

错误地放在庇护所时,您如何说服您理智的人呢? 直截了当地说出您的理智或者您无意去那里,因为很多人都这么想,很多人都说这是错的,这很可能是行不通的。 经过多次失败的尝试来证明自己的理智之后,您可能会发现自己无法保持镇定自若,脾气暴躁,冷嘲热讽,并且推理,现在已经多次向几个人重申,似乎有些古怪。 当这些人后来离开您时,他们可能会发现您向一个人解释的内容与另一个人的解释有所不同,细节被遗漏或术语被更改,如果您在那里填补空白,则可以,但是您不是因此,他们的最初诊断是正确的,您可能并不理智。 上面的内容意味深长,比喻我在尝试解决我们为组织站点集成新的付款方式时遇到的问题时的感受。 付款方式是一种移动钱包,旨在成为我们要引入该网站的众多不同付款机制中的第一种,因为随着逻辑的发展,人们可以使用更多付款方式支付更多的款项,因此我们希望能收到更多款项。 如果将这种支付方式介绍给利益相关者和开发人员,那么将很难集成,我们的支付发行商已经将其作为附加组件提供! 启用它,发送令牌和bada-bing bada-boom,我们现在接受这些移动钱包付款。 这种虚假承诺的刺痛导致从该项目中学到了很多教训:在对时间或精力做出任何假设之前,应由软件开发人员/与软件开发人员一起研究软件集成。 提出的虚假缓和是由于付款方式公司的销售人员与我们组织的经理进行了会谈,并且确定的结果已被所有人真诚接受。 如果您想要轻松,那这就是销售人员将为您提供的 忽略的第一个障碍是集成不仅在页面*中包含了几段JavaScript代码*,而且还要求服务器和付款方式之间进行TLS握手以验证会话。 *当然,一旦您设置了开发者帐户,将自己注册为商人,设置并验证了您的域后,就可以了。 考虑移动钱包支付如何在没有这样的步骤的情况下会如何工作,当然会让您意识到,这不可能实现,您需要先验证商家的身份,然后才能安全地进行支付,但是集成中的这一步骤似乎是可行的排除在销售范围之外,而是强调了从文档轻松复制/粘贴JS代码的便利,以支持完整的端到端入门。 更加令人沮丧的是,除了商户身份证明书之外,我们找不到(也许可能有所改善)除了我们的商户身份证明书之外,我们还需要支付方式供应商使用哪些证明书,我们需要证明他们的信用,他们在2天之内做出了回应。 开始使用此验证服务的时间比预期的要晚,这意味着在剩下的sprint中,从事该服务的后端开发人员休假的时间才刚刚开始,因此您的确成为了sprint的继承者。这项工作(我自己选择,我不想假装自己不愿意接受定时炸弹)。 通过验证服务的编写和工作,支付方式供应商成功地吐出了代币,我们可以将其传递给发行人。…

人人有间隔的重复:认知科学在瞬息万变的世界中遇到大数据

在Quizlet,我们的目标是帮助学生练习和掌握所学内容,并尽可能有效地做到这一点。 研究表明,最有效的学习方法是长时间分散学习内容,每次复习词条的时延都会越来越长,这一过程称为间隔重复。 但是,学生并非总是有花几天或几周时间反复阅读材料的奢侈。 他们明天要考试,他们现在需要学习材料。 因此,我们面临的挑战是:我们如何展示学习材料,使学生始终专注于他们最需要做的事情? 考虑到这一目标,我们着手建立一个全新的框架,用于选择和订购要在Quizlet上学习的术语。 我们称之为学习助手平台。 它为新的Learn提供了动力,该版本今天在iOS上发布,很快将在Android和Web上发布! 我们旨在让该算法为Quizlet上的许多学习经验驱动问题的选择。 现有解决方案 经典Quizlet学习 最初的Quizlet Learn有一个非常简单的算法:为每个术语回答一个问题,重复所有您输入错误的问题,然后继续直到您正确地确定了每个问题。 这是一个很好的开始,但通常不足以准备进行测试。 我们查看了Quizlet上所有答案的一小部分样本,发现在第一次尝试获得正确的字词后,一旦用户第二次看到该字词(无论何时),他们只有大约87%的机会会正确的。 而且,如果花了一些努力才算正确,那么这个数字就会下降很多:低于70%。 学生可以通过从头开始重新启动“学习”来继续学习,但是现在他们花费大量时间重新研究他们已经非常了解的术语,而不是专注于需要更多工作的术语。 那不是最有效地利用时间,我们知道我们可以对此进行改进。…

完成70%

็จไปแล้วานซ้ายงานเสร็จไปแล้ว70%ด้านขวาก็เสร็จไปแล้ว70%…ดูผิวเผินทั้งซ้ายและขวานั้นเหมือนกันแต่แท้จริงแล้วแตกต่างกันมากนัก %นขณะที่ซ้ายมีเพียงหนึ่งงานที่เสร็จสมบูรณ์ทั้ง100%เลยทางขวามีสี่งานและนั่นคือคือแตกต่างที่ใหญ่หลวง 10ารทำงาน10งานให้เสร็จ70%นั้นเปรียบได้กับว่าไม่มีงานไหนเสร็จอย่างแท้จริงซักงานและนั่นแปลว่า…นมก้นวหาแปลว่อ0 0% การทำงานสี่งานจาก10งานให้เสร็จสมบูรณ์แปลว่าเรามีโอกาสที่ดีที่จะได้เริ่มตรวจสอบการทำงานของมันในภาภรวมออำเสานำเสนต่อหน้า้นอื่น %นโอเคที่งานจะเสร็จแค่70%…ถ้ามันเป็น70%ที่สมบูรณ์ในตัวเองและไม่กระจัดกระจรเกิายเกินไป คิดและเขียนคือสิ่งที่ผมชอสิ่งที่ผมชบนคือสิ่งที่ผมรักเพราะแบบนี้ทุกวันผมเขียนเพื่อถ่ายทอดเรื่องราวจากชีวิตจริงจากประสบการณ์จากแนวคิดจากอนาคตที่ดีผมมองเห็นและทุกอย่างที่ผมประยุกต์ใช้เพื่อสร้างให้ อินเท็ ติก เป็นบ้านที่น่าอยู่บ้านที่เป็นจุดเริ่มต้นของการเปลี่ยนแปลงเล็กๆที่สร้างความแตกต่างในสังคมได้—มันน่าภูมิใจที่ผมรู้ว่า…่ นเดียวที่อยากเห็นการพัฒนา🙂 在 Facebook上 狂热 狂热开 推特 狂热开 Instagram的

评论:Ken Kocienda的创意选择

我于2019年1月阅读了本书,并拥有Kocienda研发的原始iPhone。 本书包含乔布斯任职期间苹果公司软件决策过程的一些非常有趣的发现,正如您所期望的那样,这是高度专制的。 乔布斯使用直觉而非任何形式的经验,培训或知识来做主。 他似乎无视员工的建议。 值得称赞的是,苹果产品的表现与他们一样出色,来自与朝鲜专政等同的软件。 Kocienda视乔布斯为神的形象,在他被邀请在他面前演示他的软件的几次情况下,不由自主地告诉了伟大领袖的最后一句话。 伟大的领袖通过不给演讲中的狗屎来奖励Kocienda。 所有人都称赞伟大的领袖。 这本书的长度约为所需时间的两倍-深入讨论会议和演示的细节,然后直接转述它们,以显示伟大领袖所说的这句话是多么的有益和有益,以及他如何感激在大领袖粗鲁地打了另一个电话然后把他们赶出房间之前,他的话就被打了。 “当他辞退我后,他通过迅速关闭的门向我大喊’谢谢,无论你他妈的是谁’,我的心跳了起来。 史蒂夫对我说了谢谢。 我! 他一直把重点放在“感谢”上,为此,我将永远感激不已,因为史蒂夫感谢我,即使在我因为某些原因而拒绝我做他不想要的作品之后也是如此。 在接下来的几个星期中,我将详细说明原因,然后再问老板他的意思。 是史蒂夫,凭借他的专注和无私,将我的团队带到了今天的今天。” (这不是真实的报价,但坦率地说,可能是)。 这并不是要摆脱有关iPhone键盘的构造以及该团队当时遇到的问题的有趣故事。 iPhone的软件团队非常小:这也许就是原始版本表现出色的原因之一。…