最新 | 最热门 | 最高评价

+0  一段集合操作的不同语言表达

Tag: Programming Paradigm | C++ | Clojure | Java | Perl | PHP | Python | Ruby | Scala | 循环 | 集合
四火 发于 2014年04月09日 10:01 | 点击: 1888 | 展开摘要
看到这样一条微博,觉得挺有意思,就记录在这里:

所谓对比,Java真是足够啰嗦:

图不清楚,我来再叙述一下。要做的事情就是,把原有列表里面的每个元素都变成大写的,再放到一个新列表里面去。

这是Java7的版本: 

List list = Arrays.asList("andy", "michael", "thomas");
List list2 = new ArrayList<>();
for(String s : list)
list2.add(s.t

查看全文: http://www.udpwork.com/item/12106.html

+0  多重继承的演变

Tag: Programming Paradigm | Recommended | C++ | Go | Java | JavaScript | Ruby | Scala | 多重继承 | 接口 | 继承
四火 发于 2014年03月19日 14:45 | 点击: 1559 | 展开摘要
本来想告一段落别写编程范型的东西,但是这个话题最近发现很有意思,就拣出来唠一唠。从中除了能看出很多有趣的语言特性,观察不同语言的设计,还可以发现程序语言的发展过程。这里谈到的语言特性,都是从C++的多重继承演变而来的,都没法完整地实现和代替多重继承本身,但是有了改进和变通,大部分功能保留了下来,又避免了多重继承本身的问题。

C++的多重继承

这个问题我觉得需要从老祖宗C++谈起,我记得刚开始学C++的时候老师就反复教育我们,多重继承的问题。比如说二义性问题,也就是说,两个

查看全文: http://www.udpwork.com/item/11974.html

+0  数据即代码:元驱动编程

Tag: C/C++语言 | Ruby | 杂项资源 | 编程语言 | C++ | Javascript | Lisp
Todd 发于 2013年08月09日 10:18 | 点击: 2431 | 展开摘要
(感谢 @文艺复兴记(todd) 投递此文)

几个小伙伴在考虑下面这个各个语言都会遇到的问题:

问题:设计一个命令行参数解析API

一个好的命令行参数解析库一般涉及到这几个常见的方面:

1) 支持方便地生成帮助信息

2) 支持子命令,比如:git包含了push, pull, commit等多种子命令

3) 支持单字符选项、多字符选项、标志选项、参数选项等多种选项和位置参数

4) 支持选项默认值,比如:–port选项若未指定认为5037

5) 支持使

查看全文: http://www.udpwork.com/item/10359.html

+0  个人知识管理工具更新

Tag: Life | Technology | DevOps | Git | GitHub | GTD | knowledge | Linux | Ruby | wiki
Terry 发于 2013年01月17日 12:00 | 点击: 11671 | 展开摘要
个人知识管理 – Personal Knowledge Management 工具组合继续进化中;-)

当前使用的工具组合:Confluence (Centralized) + Google Drive (Docs) + Evernote (mobile) 在不能访问 Confluence (需要 VPN 或 SSH 隧道)的情况下不能很有效地对付有代码混编的笔记。直接用 Markdown 编辑器的话,不同系统上的同步又成了问题。

无意中发现 GitHub 开

查看全文: http://www.udpwork.com/item/9217.html

+0  吐槽一下Ruby里面的奇技淫巧

Tag: Programming | meta-programming | ruby
liuw 发于 2012年06月22日 22:23 | 点击: 2287 | 展开摘要
Ruby的元编程是很强大,用起来也方便。但是一般来说,太方便太灵活的东西有时候也不一定全是好事——这意味着坑会比较多,一不小心就跳进去了。这里吐槽一下一些Gem里面用到的技巧。

module MyModule
def self.included(base)
base.extend Extend
end
def dance; puts "dancing"; end
module Extend
def sing; puts &

查看全文: http://www.udpwork.com/item/7567.html

+0  API设计:用流畅接口构造内部DSL

Tag: 程序设计 | 编程语言 | API | Java | Javascript | Ruby
Todd 发于 2011年10月31日 08:28 | 点击: 2459 | 展开摘要
感谢@weidagang (Todd)向酷壳投递本文。

程序设计语言的抽象机制包含了两个最基本的方面:一是语言关注的基本元素/语义;另一个是从基本元素/语义到复合元素/语义的构造规则。在C、C++、Java、C#、Python等通用语言中,语言的基本元素/语义往往离问题域较远,通过API库的形式进行层层抽象是降低问题难度最常用的方法。比如,在C语言中最常见的方式是提供函数库来封装复杂逻辑,方便外部调用。

不过普通的API设计方法存在一种天然的陷阱,那就是不管怎样封装,大过

查看全文: http://www.udpwork.com/item/6180.html

+2  创业三部曲之一——学技术

Tag: Programming | Science | Startups | Tips | 业界评论 | 技术评论 | 42区 | Ruby on Rails | 坚果铺子 | 宽岛 | 轻博客
何 李石 发于 2011年09月01日 22:07 | 点击: 3160 | 展开摘要
我从创立3家科技公司的经历中学到了什么?36kr上的这篇文章直截了当的告诉你,作为一个想要成功的创业者,你需要具备哪些素质。然而,这些素质因人而异,并不是所有创业者都需要从同一个模子里造出来才能成功。但是,在与许多创业者接触的交流中,我们发现大家遇到一些共性问题。这些问题并不是创业者自身素质问题,也并不是无法改变的,而是很多有想法有激情的创业者不擅长的。比如,创业之初如何进行技术的选择和学习,如何寻找自己的创业伙伴,如何为你的团队募集资金。

基于此,我们采访了多位互联网和移

查看全文: http://www.udpwork.com/item/5738.html

+0  对象的消息模型

Tag: 编程语言 | C++ | Javascript | OOP | Ruby
Todd 发于 2011年08月15日 10:37 | 点击: 1974 | 展开摘要
[ ———— 感谢 Todd 同学 投递本文,原文链接 ———— ]

C++对象模型

话题从下面这段C++程序说起,你认为它可以顺利执行吗?

//C++
class A {
public:
void Hello(const std::string& name) {
std::cout << "hello " << name;
}
};
int main(i

查看全文: http://www.udpwork.com/item/5649.html

-1  Bundler: 帮你Ruby环境下管理应用程序依赖

Tag: Programming | 技术文章 | Bundler | Gem | Ruby | Ruby on Rails
何 李石 发于 2011年07月16日 23:55 | 点击: 3682 | 展开摘要
每次新建Rails程序的时候,Rails总会在程序的根目录下生成一个名为Gemfile和名为Gemfile.lock文件。初学Rails时往往不知道这些那些默认生产的文件和目录是做什么用的,Gemfile和Gemfile.lock就是其中的两个文件。慢慢熟练之后,就有必要知道这些东西都是干嘛的。

其实,Gemfile和Gemfile.lock是Bundler这个管理Ruby环境下应用程序依赖的配置文件。对于Rails 3,Bundler的官方网站上有个简短的说明。

新建好

查看全文: http://www.udpwork.com/item/5488.html

+1  用一堆Gem来架起你的Rails3机枪

Tag: Programming | Web | Gems | Ruby on Rails
何 李石 发于 2011年05月14日 22:43 | 点击: 3337 | 展开摘要
Good coders code, great reuse.
在Hack News上看到一篇文章:Rails 3: Fully Loaded,里面介绍了很多Rails 3 Gems,遂将其拷贝过来,“以此存档”。

Authentication
OmniAuth (https://github.com/intridea/omniauth)
Devise (https://github.com/plataformatec/devise)
Access Control
CanCa

查看全文: http://www.udpwork.com/item/5048.html

+0  Meta-Programming小试

Tag: Programming | example | meta-programming | perl | python | ruby
liuw 发于 2011年03月02日 15:02 | 点击: 2384 | 展开摘要
今天下午搜索了一把,了解了一下Perl、Python和Ruby的Meta-Programming能力,发现Ruby的设计层面和语法层面的支持是三者中最好的。Rails中大量用到了Meta-Programming的技巧:比如:has_many和find_by_XXX等等。

Ruby在Meta-Programming方面的优势有:

所有对象都是开放的

所有定义都是“活跃”的,可以直接执行代码

提供很多Meta-Programming可用的hook

我原来对Meta-Pr

查看全文: http://www.udpwork.com/item/4403.html

-1  用Python做科学计算

Tag: Science | Python | Ruby
何 李石 发于 2011年01月20日 22:41 | 点击: 4134 | 展开摘要
计算机方面的科研,很大一部分是用模拟或者仿真完成的。所谓的理论研究大概就是这样吧,可惜我之前不知道。我还以为很高深,因此当时就义不容辞的选择了做工程。为了混毕业,我也得发文章啊。

做仿真或者模拟,有人用别人写好的比较成熟的仿真器。网络方面有NS-2(现在应该NS-3了吧?),模拟TinyOS平台上程序的运行的话可以用TOSSIM或者Avrora。不过,对于小型的模拟还要了解这些在时间成本上就比较麻烦了。因此,对于WSN(WIreless Sensor Networks)我们

查看全文: http://www.udpwork.com/item/4173.html
|<<<12>>>| 一共2页, 20条记录