通过编写适当的用户案例来提高团队绩效
Var,Let y Const — JS ES6
React课程笔记:道具和状态
使用Dev和Prod构建创建Node Express-Webpack App
我们必须停止教孩子讨厌美国
更新Python Mario克隆的币逻辑
为什么触摸打字仍然很重要
为什么触摸打字仍然很重要

随着所有关于人工智能的炒作和Web 3.0逐渐兴起,可以很容易地认为触摸打字是一项仍需发展的技能。 假设大多数时间孩子都在笔记本电脑上,或者时间可以花更多时间,许多学校会忽略它。 跨国软件公司Microsoft的英国分支机构于2014年完成了一项有关打字技能和就业的研究。 这是他们发现的: 几乎1/3的英国雇主表示,如果他们不会打字,他们将不会雇用某人。 41%的员工,38%的学生和29%的父母认为,学校和大学对打字的重视不够。 38%的雇主说打字可以提高生产力。 45%的英国工人不知道如何进行人体工程学打字,这导致24%的雇主说,他们收到了有关打字相关伤害的报告,例如重复性劳损。 资料来源:@MSAccessoriesUK 这是一项必须与我们的数字本地一代紧密联系的技能。 应该告诉他们,并非每个设备都可以通过触摸,捏合或语音命令来操作。 打字和触摸打字特别是提高了生产率,因为它使我们无需考虑过程就可以写下,记下想法和笔记。 这是认知自动化的一个例子,即人们无需考虑就可以做事。 我们永远不会真正忘记骑自行车,并在多年不在的情况下本能地将其捡起。 出于这个原因,在我目前的学校中,我引入了从1年级到5年级的必修触摸打字课程。学生每周至少花费30分钟学习必要的触摸打字技能,并认为5年级学生应该精通。 我们使用基于网络的软件“ Typing Club”,使学生可以在任何可以访问互联网的地方随时练习。 考虑到这一点,我希望父母参与其中。 在家中练习更多意味着在学校中受益更大。 此优惠还扩展到了我们的父母社区。 图片:布拉特·威尔莫特@ https://www.flickr.com/photos/aperturismo/4488250788

CCDSAP考试的经验和见解– Pratik Gadhiya –中
CCDSAP考试的经验和见解– Pratik Gadhiya –中

CodeChef认证的数据结构和算法程序(CCDSAP)是用于评估在受监管环境下使用数据结构和算法进行编程能力的认证。 在官方网页上了解更多信息。 我于2017年11月19日通过CCSAP奖学金参加了孟买(安德烈)中心的CCDSAP基础考试。 来自各学院的十一月长期挑战赛中得分最高的学生,因参加考试而获得了奖学金。 我就是其中之一。 我的经验 考试进行得很顺利。 中心的工作人员很热情。 问题已经解决了。 我的推文总结了总体经验。 为什么要通过DS和算法认证? 数据结构和算法认证的需求 数据结构和算法(DSA)是计算机科学的核心。 该主题构成了… medium.com的基础 考试形式 在有监督的环境下,考试将持续3个小时。 您将获得5个问题,可解决不同难度的问题。 每个问题将有多个子任务。 解决每个子任务将使您获得积分。 评估水平 基础 (流利的算法和数据结构基础,可以用代码实现) 高级 (对算法和数据结构有很好的掌握,可以解决实践中出现的大多数问题) 专家 (算法和数据结构方面的专家,并且对各种各样的主题有深刻的理解) 如何准备 CodeChef精心策划了考试期间要测试的主题列表。 了解课程大纲并开始准备。 该列表足以磨练您的编程技能并通过考试。 此外,我为您准备了一些资源,可以帮助您入门并推动自己参与竞争性编程: 可帮助您开始(竞争性)编程的资源 做一个更好的程序员,一次一步。 medium.com 我的看法 该认证非常重要,在向招聘人员证明我们的编程技能时可能会派上用场。 我(唯一)的担忧 坦白说,我最关心的就是考试费用。 我了解CodeChef试图从考试费用中获利,但我认为它可以降低数百美元。 你应该吃吗? 是。 在练习考试的过程中,您肯定会学到很多东西。 这将是真正的学习。 如果金钱对您来说不是主要问题,那就去解决。 跑!

Python开发的优点和缺点
Python开发的优点和缺点

Python是强调代码可读性的高级,可解释且通用的动态编程语言。 Python语法可以帮助程序员以比Java或C ++更少的步骤进行编码。 该语言由开发人员Guido Van Rossum于1991年创立,编程简单,尝试有趣。 由于Python具有多种编程范例,因此已在大型组织中广泛使用。 它们通常涉及命令式和面向对象的有用编程。 它是一个完整而广泛的标准库,具有自动内存管理和动态功能。 为什么企业偏爱Python? 近年来,Python超越了C,C ++和Java等其他编程语言的排名,并被Python开发人员和程序员广泛使用。 自从25年前发布以来,该语言发生了翻天覆地的变化,引入了许多附加功能。 Python 1.0具有Modula-3模块系统,并通过各种操作工具与Amoeba操作系统进行了交互。 2000年引入的Python 2.0具有垃圾收集器和Unicode支持的功能。 2008年引入的Python 3.0具有建设性的设计,避免了重复的模块和构造。 有了附加功能,企业现在正在使用Python 3.5。 软件开发公司更喜欢Python语言,因为它具有多种功能且编程代码较少。 将近14%的程序员在UNIX,Linux,Windows和Mac OS等操作系统上使用它。 大型公司的程序员之所以使用Python,是因为Python在软件开发中已经建立了一个品牌,其功能包括: 互动 口译员 模块化的 动态 面向对象 随身携带 高水平 可在C ++和C中扩展 Python的优点 Python语言在软件开发公司 (如游戏,Web框架和应用程序,语言开发,原型设计,图形应用程序等)中具有多种应用程序。 它的一些优点是: 扩展对图书馆的支持 它提供了大型标准库,其中包括链操作,Internet,Web服务工具,操作系统接口和协议等域。 大多数流行的编程任务已经被编程,这限制了用Python编写代码的长度。 整合功能 Python集成了企业应用程序集成,该应用程序集成通过调用COM或COBRA组件来促进Web服务的开发。 它具有强大的控制功能,因为它可以通过Jython直接通过C,C ++或Java进行调用。 Python还可以处理XML和其他标记语言,因为它可以通过相同的字节码在所有现代操作系统上运行。 提高程序员的生产力 该语言具有广泛的支持库和专有的面向对象设计,在使用Java,VB,Perl,C,C ++和C#语言时,可将程序员的生产率提高2到10倍。 生产率 凭借强大的流程集成功能,单元测试框架和增强的控制功能有助于加快大多数应用程序的速度并提高应用程序的生产率。 对于构建可扩展的多协议网络应用程序来说,这是一个很好的选择。 Python的缺点 Python具有各种有利的功能,并且与其他编程语言相比,程序员更喜欢这种语言,因为它也易于学习和编码。 但是,这种语言在包括Enterprise […]

少尝试
少尝试

从学术研究转向企业软件时,我遇到的越来越多的东西是密集的尝试块。 我认为这种趋势来自一个好地方: 这段代码可能会失败 ,因此,如果有异常, 我应该如何描述某种行为,以便程序可以干净地退出 当这种合理的原理使错误行为变得不一致并且对最终用户和其他程序员隐藏时,问题就变成了。 让我们看一个例子,我们正在编写提交订单购买。 函数commitPurchase(用户,订单): 尝试: order.validate()//确保订单有效 //使用api验证街道 AddressVerificationClient(order.contact).validate() //使用api向帐户收费 PaymentClient(user.info).charge(订单金额) order.markSuccessful()//提交对数据库的更改 日志(“订单已成功购买”,订单) 退货单 捕获异常e: 日志(“无法处理订单”,订单) 返回null 我认为人们低估了将这样的代码提交给生产分支的频率。 同样来自一个好地方的程序员知道,该块中的某些内容可能无法按预期方式运行,但是任何调用submitPurchase()将无法理解导致问题的原因。 我在编写代码时会尝试这样思考 该代码有时会失败 。 发生意外行为的要点是什么,我将如何处理? 结果,我得出了两个要点: 保持较小的尝试块。 如果存在多个故障点,那么我需要重构该块或内部方法。 让代码失败。 如果此代码库内部有某些内容,则不要在每次调用该代码时都定义错误行为,而要在全局范围内一次。 这将导致整个应用程序中一致的已知错误行为,并在出现新错误时将它们暴露出来。 让我们在牢记这些原则的情况下重新访问submitPurchase(...) 。 函数commitPurchase(用户,订单): 尝试: order.validate() 捕获OrderValidationException e: 抛出 尝试: AddressVerificationClient(user.contact).validate() 捕获AddressValidationException e: //我们做对了所有事情,但是给我们的地址不正确。 //由于我们的API提供了其他地址建议,因此我们应该浮出水面 //那些(如果有)。 如果(替代): 抛出新的AlternativeAddressFound(e.alternative) 其他: 抛出 捕获RequestException e: // API或我们的网络连接已断开:(。 […]

Stoic Mail —产品狩猎制造者节
Stoic Mail —产品狩猎制造者节

感谢Marcus Aurelius Stoic Mail的额外推动 现场直播! —在一周内为Product Hunt Makers Festival打造。 使用 Stoic Mail从 您最喜欢的报价开始新的一天 。 斯多葛哲学对我的生活以及前任州长/健美先生/演员阿诺德·施瓦辛格 ,嘻哈明星LL Cool J ,爱尔兰网球职业球员詹姆斯·麦基 ,美国国家橄榄球联盟边裁加勒特·吉尔基 ,著名的边路记者米歇尔·塔弗亚 ,奥林匹亚越野赛都产生了深远的影响滑雪者钱德拉•克劳福德(Chandra Crawford)和 NFL教练比尔•贝利希克 ( Bill Belichick) 。 来自如此多元背景的人们之所以被斯多葛派哲学吸引,是因为它具有永恒的智慧。 坚忍的智慧在今天和1500年前一样适用。 哲学主张美德(例如智慧)是幸福,判断应该基于行为而不是言语。 我们不控制也不能依靠外部事件,只能依靠我们自己和我们的回应。 斯多葛主义只有一些中心教义。 它的出现提醒我们,世界是多么不可预测。 我们的生活瞬间多么短暂。 如何坚定,坚强并控制自己。 最后,我们不满意的根源在于我们对自反感而非逻辑的冲动依赖。 斯多葛主义并不关乎关于世界的复杂理论,而在于帮助我们克服破坏性的情绪并采取行动。 它是为行动而建,而不是无休止的辩论。 日报 Stoicism的基础由3个人组成: 罗马皇帝马库斯·奥雷留斯 ( Marcus Aurelius) ,地球上最有权势的人。 艾比克提图斯(Epictetus) -他成功克服了从一个残废的罗马奴隶发展成为他那个时代最受欢迎和最受欢迎的哲学家之一的巨大障碍。 塞内卡是一位哲学家,政治家和戏剧家。 他被罗马皇帝尼禄(Nero)要求自杀。 他坚忍而镇定的自杀已成为众多画作的主题。 很长时间以来,我一直在收集这些Stoic领导人的报价,但从来没有一个地方可以一起查看所有报价,将其分类或与朋友分享。 Stoic Mail是3位坚忍者领袖的智慧纲要。 它在设计精美的仪表板中解决了所有这些问题。 […]

第一周-克服冒名顶替综合症。
第一周-克服冒名顶替综合症。

它似乎发展得非常快,但是今天是我在Makers Academy的第一周的最后一天。 教学和学习的速度确实非同寻常-我对在如此短的时间内已经知道的一切感到惊讶。 在过去的一周中,真正使我措手不及的是Makers的整体学习方法。 从第一天开始,我们就被鼓励将学习的重点放在学习代码之上,这帮助我在研讨会上发表了意见并提出了问题。 Makers的学习主管Sam告诉我们拥抱成长心态的重要性,Makers认为这对于成功成为初级开发人员至关重要。 在12周内学习代码这一艰巨的任务,再加上学习从未结束(初级开发人员显然花费了60%的时间来学习),这让我感到艰巨,因此我可以看到,拥有成长心态在这两个方面都将极大地受益扩展代码知识并保持积极的看法。 在第一周中,结构(无论是真实结构还是抽象结构)都非常重要。 每天的结构大致分为两部分,第一部分包括技能研讨会和挑战,第二部分与本周的大型项目配对。 在上课前,我大部分时间都是自己编码,因此我发现新颖与有趣相结合。 专门用于“自动学习”的时间(没有教练的指导)最初令人恐惧,因为这会使您感到非常脆弱,尤其是如果您习惯于在传统的学习环境中获得答案和不断指导的情况下。 但是,第一周的重点是使初学者能够从零开始创建结构的工具,即使用IRB和Rspec的测试驱动开发(TDD)循环以及诸如加强循环并获得处理错误和调试的可见性之类的方法。 毕加索说:“像专家一样学习规则,因此您可以像艺术家一样打破规则。” 作为初学者,您会感觉自己就像漂浮在外太空中,但是这些工具为您提供立足之地,帮助您发挥创造力。 我真正喜欢的一件事是工作挑战是现实世界中的问题(尽管已简化)。 这个周末,我们被要求编写类似于空中控制操作系统的代码,其中包括一些简单的命令,这些命令使用户能够执行具有各种约束的起降等功能。 使用功能测试和单元测试作为我们本周一直在练习的TDD循环的一部分,我慢慢建立了一个工作模型并开始使用代码,以更好地了解各部分如何组合在一起以及什么语法具有弹性和固定的。 星期一早上专门进行代码审查,因此我很高兴看到周末提出了其他建议。

使用“流”进行数据导入管道
使用“流”进行数据导入管道

很久以前,Jose Valim宣布了新的elixir API,可用于批量处理数据收集。 在本文中,我想分享我们如何使用 Flow 处理内部导入服务的数据。 我们在数据库中存储了以下数据收集: 我们需要有一个简单的工作程序,该工作程序以特定的时间间隔轮询数据库,获取一批票据,从messages_url和customer_url中获取相关数据,然后在完成提取后,将票据标志从import:false 更改为 import:true。 很简单的任务,不是吗? 最初,一个非常幼稚的解决方案可能是: 提取批处理数据库,假设我们要提取前100条记录 对于每条记录产生异步任务,Task.async 等待所有结果,然后重新开始 因此,让我们在下面的伪代码中对此进行描述: 此示例将起作用,但问题是所有工作都在一个异步任务中按顺序完成。 我们注意到fetch_messages和fetch_customer应该同时完成,并且还必须确保正确更新票证记录。 着眼于这个问题,我们注意到GenStage (准确地说是Flow )已经拥有了我们以所需的方式完成该任务所需的所有工具集。 有很多示例显示了如何以顺序方式构建数据处理管道,例如分步操作( [步骤1]-> [步骤2]-> [完成] ),我也建议这样做关于如何建立这样的管道的博客文章。 没有关于如何使用多个并发流处理数据的示例。 我们有以下想法: 从来源A同时从第三方API获取消息 从来源B同时从第三方获取客户 等待并发工作和更新共享数据的状态 对我们来说幸运的是,流程可以立即提供给我们,您可以通过使用bounded_join / 7来实现。 而且我们可以将顺序处理重构为单独的流,因此现在我们的处理管道可以用下面的伪代码来描述: 在此示例中,我们构建了2个单独的流,可同时处理票证数据和客户数据,并且当工作完成时,我们可以更新票证记录而不必担心数据冲突。