1. Go - 以任意类型的slices作为输入参数(译)

    原文:Go – taking slices of any type as input parameters

    译者:youngsterxyf

    最近参与的一个业余项目,go-linq,让我了解到Go语言的类型系统并不是为任何类面向 对象编程而设计的。没有泛型,没有类型继承,也没有提供任何对这些特性有用的东西。

    但是,提供了一个名为interface{}的类型,你可以向其赋予几乎任意类型的值,不会抛出编译错误,就像.NET的Object或Java的Object

    var o interface{}
    o := 3.14
    o := Student{Name: "Ahmet"}
    

    我们假设你需要一个可以接收任意类型slices的函数,如果考虑如下这样实现:

    func Method(in []interface{}){...}
    ...
    slice := []int{1, 2 …
    标签: Golang 翻译
  2. 通过示例学习Git内部构造(译)

    原文:Learning Git Internals by Example

    译者:youngsterxyf


    状态:草稿

    计划修订本文,未来可能会简化一些...

    动机

    从Subversion和Mercurial切换到Git之后的几个月,我始终觉得Git在本质上是不同于Subversion和Mercurial的,但没法确切地说出区别。 我经常在Github上看到tree、parent等术语,也搞不清楚它们确切的含义。

    因此我决定花些时间学学Git。

    我会尝试概述,并阐述一路走来学到的关于Git的关键信息...但这仅是有助于我回答Git与其他源码控制工具区别的Git内部构造基本知识。

    实体、引用、索引(Objects,References,The Index)

    要理解Git内部构造的核心,我们应理解三个东西: 实体引用索引

    我发现这个模型非常优雅。用一个小小的图表就能完全展现,也易于理解记忆。

    Big Picture

    实体

    你提交到一个Git代码仓库中的所有文件,包括每个提交的说明信息(the commit info)都在目录 .git/objects/中存储为实体

    一个实体以一个40字符长度的字符串 …

    标签: Git 翻译
  3. Y分钟学会Python(译)

    原文:Learn Python in Y Minutes

    译者:youngsterxyf

    Python由Guido Van Rossum发明于90年代初期,是目前最流行的编程语言之一,因其语法的清晰简洁我爱上了Python,其代码基本上可以 说是可执行的伪代码。

    非常欢迎反馈!你可以通过推特@louiedinh或louiedinh AT gmail联系我。

    备注:本文是专门针对Python 2.7的,但应该是适用于Python 2.x的。很快我也会为Python 3写这样的一篇文章!

    # 单行注释以井字符开头
    """ 我们可以使用三个双引号(")或单引号(')
        来编写多行注释
    """
    
    
    ##########################################################
    ## 1. 基本数据类型和操作符
    ##########################################################
    
    # 数字
    3 #=> 3
    
    # 你预想的数学运算
    1 + 1 #=> 2
    8 - 1 #=> 7
    10 * 2 #=> 20
    35 …
    标签: Python 翻译
  4. FTP是90年代的,使用Git取代它来部署代码吧!(译)

    原文:FTP is so 90's. Let's deploy via Git instead!

    译者:youngsterxyf

    首先,在你的服务器上创建一个目录,并在其中初始化一个空的git仓库。我喜欢使用~/www/目录来存放网站代码, 因此我会这么做:

    mkdir ~/www/example.com && cd ~/www/example.com
    git init
    

    接着,设置你服务器上的git仓库以便很好地通过git push来部署代码。

    git config core.worktree ~/www/example.com
    git config receive.denycurrentbranch ignore
    

    最后,为git设置一个post-receive钩子来检出master分支 …

    标签: Git 翻译
  5. PHP最佳实践(译)

    原文: PHP Best Practices-A short, practical guide for common and confusing PHP tasks

    译者:youngsterxyf

    最后修订日期&维护者

    本文档最后审阅于2013年3月8日。最后修改于2013年5月8日。

    由我,Alex Cabal,维护该文档。我编写PHP程序已有很长一段时间了,当前我 经营着Scribophile,由认真作家组成的一个在线写作团体, Writerfolio,为自由职业者提供的一个易用写作工具集,以及 Standard Ebooks,一个图文并茂、无数字版权管理的公共领域电子书出版商。 有时我是个为吸引我的项目或客户而工作的自由职业者。

    如果你认为我在某些事情上能够帮到你,或者对本文档有点建议或纠正存在的错误,请给我写封邮件

    简介

    PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都有自己独有的特性、多余和怪异之处,也很难跟踪哪个版本有哪些问题。这也就 很好理解为什么有时它会遭到那么多的厌恶。

    尽管如此 …

    标签: 翻译 PHP
  6. argparse - 命令行选项与参数解析(译)

    原文:argparse – Command line option and argument parsing

    译者:youngsterxyf

    argparse模块作为optparse的一个替代被添加到Python2.7。argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库。

    与optparse相比较

    argparse的API类似于optparse,甚至在很多情况下通过更新所使用的类名和方法名,使用argparse作为一个简单的替代。然而,有些地方在添加新特性时不能保持直接兼容性。

    你必须视情况决定是否升级已有的程序。如果你已编写了额外的代码以弥补optparse的局限,也许你想升级程序以减少你需要维护的代码量。若argparse在所有部署平台上都可用,那么新的程序应尽可能使用argparse。

    设置一个解析器

    使用argparse的第一步就是创建一个解析器对象,并告诉它将会有些什么参数。那么当你的程序运行时,该解析器就可以用于处理命令行参数。

    解析器类是 ArgumentParser 。构造方法接收几个参数来设置用于程序帮助文本的描述信息以及其他全局的行为或设置。

    import argparse
    parser = argparse.ArgumentParser(description='This is a PyMOTW sample program')
    

    定义参数

    argparse是一个全面的参数处理库。参数可以触发不同的动作,动作由 add_argument …

    标签: Python 翻译
  7. 学习JavaScript - 我的经验与建议(译)

    原文:learning JavaScript - my experience and advice

    译者:youngsterxyf

    自从我曾提到自己在刚过去的几个月中学习了JavaScript,很多人就发email给我询问我是如何学习JavaScript的以及推荐如何学习。以下就是我的经验和最佳建议。

    注:我是想真正地学习JavaScript---不是捷径,或快速技巧,或元工具(meta-tools)之类让我不必要学习JavaScript的东西。我想学习、掌握、阅读、理解以及记住JavaScript这门语言,从而在以后的日子里能够理解所有其他以JavaScript编写的很酷的东西。

    首先---很多人可能会告诉你去阅读Douglas Crockford的著作《JavaScript语言精粹》。但当我开始阅读这本书时,才发现它是如此的紧凑简洁以致我根本不知道它在说啥!

    你知道何时一个专家是在谈论自己的领域,就不知道如何为其他人做点简化么?感觉这本书对于那些已有20年的C、Java或C++编程经验来说非常完美,他们只需要快速概览必知的JavaScript知识点。

    但它真的不是要教你学习JavaScript。它不会指导你学习任何东西。因此我建议先跳过这本书。

    相反,从Marijn Haverbeke的著作《JavaScript编程精解》开始学习吧。

    这本书一开始非常简单易学,简直是太简单了 …

    标签: JavaScript 翻译
  8. JavaScript初学者应知的24条最佳实践(译)

    原文:24 JavaScript Best Practices for Beginners

    译者:youngsterxyf

    (注:阅读原文的时候没有注意发布日期,觉得不错就翻译了,翻译到JSON.parse那一节觉得有点不对路才发现是2009年发布的文章,不过还是不错的啦。另外,文章虽说24条最佳实践,其实只有23条,不知道原作者怎么漏了一条。)

    1.优先使用===,而不是==

    JavaScript使用两种相等性操作符:===|!==和==|!=。通常认为做比较的最佳实践是使用前一组操作符。

    "若两个操作数的类型和值相同,那么===比较的结果为真,!==比较的结果为假。" --- JavaScript语言精粹(JavaScript: The Good Parts)

    然而,如果使用==和!=,当比较不同类型的操作数时,你就会碰到问题啦。在这种情况下,这组操作符会尝试对操作数的值做无用的强制转换。

    2.Eval就是糟糕的代名词

    对于那些不熟悉JavaScript的人来说,函数"evel"让我们能够访问JavaScript编译器。我们可以通过给"eval"传递一个字符串参数来得到该字符串执行的结果 …

    标签: JavaScript 翻译

Page 3 / 5