技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 编程语言
    Objective-C 和 C++ 同样从兼容 C 语言开始,以给 C 语言增加面向对象为初衷,他们的出现的时间都很类似(1983 年左右)。但面向对象编程的源头却不同:C++ 受 Simula 和 Ada 的影响比较多,而 Objective-C 的相关思想源至 Smalltalk ,最终的结果是他们在对象模型上有不小的差异。
    美国太空总署喷气推进实验室提供的一些编码规范指导,当然,他们是开发火箭和宇宙飞船的,所以,他们的指导并不是对所有人都合适,但还是非常有趣的。特别要提到,他们正在起草一个针对Java的编码规范。
    现在很多软件公司采用的编码规范基本是PEP8,但每行80个字符的限制除外。GitHub上的项目,大多数都遵循PEP8规范(这一点似乎达到了高度的统一),但遵守80个字符限制的很少。在一些有明确规定的规范标准中,这个限制可能会增加(100或120),甚至完全删除。
    用了下 Objective-C Cocoa 里的 JSON 相关类 NSJSONSerialization, 发现简单的事情突然变得太复杂了. 想想用 php 语言的时候, 如果想把 php 语言对象转成字符串, 直接 json_encode(); 如果想把网络或者文件中的一段二进制数据(JSON 字符串)转成 php 对象, 直接 json_decode(). 但是, 在 Cocoa 里就不那么直接了. 首先, 你会遇到字符编码的问题, 所以你得到的和操作的不能是字符串, 而是 NSData. 其次, NSJSONSerialization 无谓地增加了限制, 顶层 Objective-C 对象只能是数组和字典. 我不想探讨这里面的原因, 我当然知道这里面的原因, 我只是说, 这些原因可以避免.
    在学习PHP的时候,感觉自己对面向对象理解还不深刻,很多时候是一头雾水。通过别人的推荐,找到了这篇通过星际争霸来讲解面向对象概念的文章,转载出来供有需要的朋友学习。
    前几天在Twitter上有朋友问:ln的参数顺序要怎么记忆比较好,因为总是搞错。这个问题我也遇到过,以前每次都记不住两个参数的先后顺序,最终办法是花了点时间背诵命令模板,每次用到时心里默念就好了: ln option target linkname 我没想到的是,搞混顺序竟然是个普遍问题,我本来以为哪怕有疑问,背背模板也好了,大家都应该是如此。
    Moco在程序库设计包括两个方面,如何设置服务器和如何让服务器运行起来。 先说简单的,如何让服务器运行。最简单的选择是让用户自己启动服务器,然后,在测试结束之后关闭服务器。小结一番,简化用户接口,设计DSL,利用好类型,区分Publish接口。
     微软C++编程译器define这个事相当的奇葩,这让我非常不解,对微软的C++编译器再度失望,而这让好多人把这种undefined的东西当成defined来用,还赞扬做得好,真是令人无语。 读完本文,你将知道Base* pBase = new Derived[10];这个问题是C语言的转型的问题,你也应该知道用于数组的指针是怎么回事了吧。 最后,我越来越发现,很多说C++难用的人,其实是不懂C语言。
    分享两个强符号,弱符号引起的编译问题。由于SP的编译分为debug和release两种模式(话说也没有谁不这么编吧),往往在debug开发的时候没有遇到的问题,在release阶段暴露了,这里面最容易出现的就是弱符号丢失,导致符号定位出错或者符号没找到的问题。
    早几年有Ruby粉抨击设计模式,如今王垠又来,还有各种框架之争、平台之争,不计其数,争吵到最后又归结到程序语言问题,最后程序语言问题又归结为两个: 1.语言A能做的语言B能做吗? 2.如果都能做哪个做起来更方便?
    在360云引擎技术博客的“深入剖析linux GCC 4.4的STL string”这篇blog的指导下,看了一些STL string的实现代码,并针对我们平时对string的一些常规用法做了一些测试。这里做一下总结,希望能帮助大家更好的理解理解STL string,更高效的使用STL string。
    在正式说明GoF的那23个经典的设计模式其实和OO关系不大并和Unix的设计思想很相似的这个观点之前,让我先来说说什么是模式?设计模式的英文是Design Pattern,模式是Pattern的汉译。所谓Pattern就是一种规则,或是一种模型,或是一种习惯。Pattern这个东西到处都是,并不只有技术圏子里才有。
     John Backus据说说过下面的话,“赋值语句将程序割裂为两个世界。第一个世界是赋值语句右边的世界。这是一个有序的表达式世界,这个世界有许多有用的代数特性…….。最有用的计算都发生在这里。第二个世界是语句的世界,这是一个无序的世界,在那里找不到什么有用的数学特性。结构化编程一定层度上为这个混乱的世界带来一些秩序,但是它那些原始的循环,子函数,分支流程技术从未击中过冯诺依曼型语言的本质问题---一次一条指令的控制流模式”。“
     昨天写一个读取bmp文件的小程序,出现了一个bug,但是不清楚到底是什么原因。 程序是要读取一个bmp文件然后保存成Bmp文件,我发现读取的时候有小错误,保存的时候也有。保存Bmp的时候居然文件大小比原来的文件大小多了3个字节,这三个字节的差异让图片的内容有了巨大的变化。
    我以前给一些公司讲一些设计模式的培训课,我一再提到,那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了。设计模式就三个准则:1)中意于组合而不是继承,2)依赖于接口而不是实现,3)高内聚,低耦合。你看,这完全就是Unix的设计准则。
     从本质上看模板也是一个微型语言,因此可以从 DSL 的角度着手,使用工具快速构建一个适合于特定前端框架的模板引擎。 本文讨论的话题和承玉的差不多,相信大家都知道coffeescript,handlerbars。承玉的DSL和handlerbars类似,我完成了一个模板语言velocity的解析,更接近coffeescript的编译。在此,与大家分享一些经验,如果你也希望知道coffeescript语法解析如何完成的,那么,本文应该对你有所启示。
    每个使用MySQL数据库的人都应该看代码吗?不是的,那意味着MySQL数据库的使用门槛太高,几乎不可用;但另一方面,如果看MySQL代码的人多了,意味着有更多的人对MySQL数据库的了解更加深入。能够进一步推动MySQL数据库广泛而恰当地使用,为使用者、相关从业者创造更多的赢利机会和就业机会。
    组合还是继承,这是一个问题  ——由模式谈面向对象的原则之多用组合、少用继承 刚刚接触模式或者学习模式的人,经常会有这样的问题,为什么模式是成功的呢?很多人都会说模式是经验的积累,当然是正确的。可是经验为什么偏偏就证明了这种模式是正确的呢?这其中起用作的就是面向对象的基本原则。正是因为模式都或多或少的符合了面向对象的基本原则,所以模式才成为我们面向对象的设计和编码过程中不败的法则。那么什么是面向对象的基本原则呢?这就是我们将要一一讲到的问题。 单纯的讲到一个个的原则,就是那么的寥寥几句,非常的简单,但又是非常抽象的,难以理解。怎么办? 任何的理论,只要有生动的例子来讲解或证明,就能极大的帮助理解。
    linux内核和其他一些开源的代码中,经常会遇到这样的代码: do{ ... }while(0) 这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?
    只要是知道“正则”这个词的,上网搜集个把资料,应该就不是问题吧。我获得正则消息的网絡渠道有这样几个,以质量从高到低排序:dilicious标签(颇有些不错的文章) > 一些与正则相关的博客(可以参考我整理的这个页面正则链接 ,不定期更新中) > google alerts (关键词[regex, regular expressions, 正则,正则表达式]都建议添加,有时也能发现好文章)。
[ 共183篇文章 ][ 第5页/共10页 ][ 1 ][ 2 ][ 3 ][ 4 ][ 5 ][ 6 ][ 7 ][ 8 ][ 9 ][ 10 ][ >| ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1