作家
登录

不到500行Python代码,你能编出什么?这些Github大神太牛了!

作者: 来源: 2017-11-22 09:05:16 阅读 我要评论

Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践


不到500行Python代码,你能写出什么器械?Github上一个名为“500lines”的开源项目集结了浩瀚业内较为有名的开辟者,同时,所有供献项目标代码行数均在500行以内。完全版本每章包含一个法度榜样练习训练,该法度榜样在至多500条源代码行中解决了软件工程中的规范问题。来看看业内一线的编程大年夜牛能在500行代码之内编出什么法度榜样吧!

每位建筑师在进修时代都邑研究家庭室庐、公寓、黉舍和其他常见建筑类型。同样,每个法度榜样员都应当知道编译器若何将文本转换为指令,电子表格若何更新单位格以及数据库若何高效保持数据。

不到500行Python代码,你能编出什么?这些Github大年夜神太牛了!

项目完全清单

为什么竽暌姑这些特定的接口将应用法度榜样分成某些特定模块?

  • 为什么要在这里持续?

  • 若何猜测法度榜样可能须要扩大的处所,以及若何让其他法度榜样员应用更轻易?

  • (以下为500 Lines or Less项目内包含的部分开源项目简短介绍,完全项目文件和解说均可经由过程文末链接查看)

    1、500 Lines or Less——可视化编程对象(Blockcode)

    该项目重要用于为龟图(turtle graphics)实现块说话,经由过程简单拖放创建图案,全部过程经由过程常用的Html、CSS和JavaScript来实现(每一个块由html元素构成,CSS用于设制揭捉?式,JavaScript时光处理器进行拖拽并修改参数)。其次,作者将块构建为一个框架以办事其他编程说话。

    不到500行Python代码,你能编出什么?这些Github大年夜神太牛了!

    该项目也是图形编程的一种方法,今朝图形编程也被广泛应用于低年级学生编程教授教化中。Github上也有很多类似项目,固然编程说话可能不合,但实现逻辑有异曲同工之妙。

    2、500 Lines or Less——持续集成体系

    该项目作者曾任职于Mozilla,后转去Twitch工作,一向致力于在包管代码安然的前提下晋升法度榜样员的编码速度。

    在这个敏捷开辟、敏捷交付的时代,很多法度榜样在上线前的测试都不完全。多半情况下,开辟人员会在开辟过程中直接测试代码以确保功能实现的完全和稳定,跟着版本的赓续迭代,须要进行的测试越来越多,持续集成体系可以很好地解决这类问题,在开辟情况中对赓续迭代的代码进行完全测试。

    这类体系重要功能就三项:获取更改后代码、主动测试代码、生成测试申报。然则,这个过程必须是稳定的、精确的以及可恢复的。

    3、500 Lines or Less——Python 说冥器

    该项目名为Byterun,是一个用Python实现的Python说冥器。它的构造与CPython异常类似,然则Byterun更小。它最大年夜的缺点是速度略慢,但已经可以解析大年夜多半代码了,毕竟这是500行代码以内完成的,肯定会有一些不足。并且,CPython基于C说话实现并做了大年夜量优化。

    4、500 Lines or Less——简单的对象模型

    该项目重要实现了一套简单的对象模型,先实现一个简单的类与实例,并可以或许经由过程实例拜访一些办法,这是很多早期面向对象说话所采取的面向对象模型。然后,在此基本上逐渐扩大,进一步优化机能获得一个低配版的Python对象模型。

    5、500 Lines or Less——光学文字辨认

    很多书本和材料会给出异常棒和相对成熟的高等架构,但这些可能并不实用,现代码行数缩减,很多不须要的设计就会被避免,选择什么样的接口、框架、若何扩大、若何合劳顿用持续等会变得很重要,这对于法度榜样员来说,很轻易被接收。

    该项目涉及今朝大年夜火的人工智能技巧,项目解释针对人工智能、反向传播进行了部分化说,对于想要进入人工智能范畴的开辟者而言,这是异常棒的进修材料和实践项目。

    作者应用前馈神经收集摸索搭建了一个OCR体系,重要由5部分构成,分别写在5个文件之中。它们是:客户端(ocr.js)、办事器(server.py)、简单的用户界面(ocr.html)、基于反向传播练习的ANN(ocr.py)、ANN的实现脚本(neural_network_design.py)

    6、500 Lines or Less——决定计划采样器

    有必定命学基本的开辟者对采样、多项分布、随机分布等名词必定不陌生,简单来说,该项目将全部过程经由过程编程方法来实现。

    7、500 Lines or Less——模板引擎

    作为一个说冥器,Byterun很轻易被懂得,如不雅你欲望搞清跋扈一个说冥器的编写过程,这是一个异常不错的测验测验,并且Python说话本身就很轻易懂得。

    Web应用法度榜样是典范以文字为主的常见义务,这类应用法度榜样最重要的一个阶段就是将生成的HTML送到浏览器,一般的HTML至少会包含一些小的动态数据,比如用户名之类的。对于若何生成一个动静态数据混淆的大年夜型字符串是很多开辟者一向在测验测验解决的问题,模板引擎就是如许一个解决筹划。

    8、500 Lines or Less——简略单纯web办事器

    尽管互联网技巧产生了天崩地裂翻禀赋地的变更,但以前20年迈,收集核心的修改却不多,大年夜多半web办事器仍然遵守以前的方法处理数据,这个简略单纯的web办事器同样如斯,如不雅你想懂得web办事器的简单搭建过程,这个开源项目绝对是最好的选择。

    完全的开源项目清单当然远不止这8个项目,但部分项目尚未竽暌箍现中文翻译版,中文版地址中涵盖了所有开源项目标具体解释链接,如不雅有兴趣,可以自行移步至Github平台。

    不到500行Python代码,你能编出什么?这些Github大年夜神太牛了!


      推荐阅读

      Linux 后台开发工作中常用的开源库

    Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 后台开辟,说话主如果 c 和 c++ , 这里简单列举一下工作顶用的很频繁的那些开源软件1. OpenSSLopenssl下载>>>详细阅读


    本文标题:不到500行Python代码,你能编出什么?这些Github大神太牛了!

    地址:http://www.17bianji.com/lsqh/39108.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)