作者存档

老王python学习教程

亲爱的朋友:
    欢迎你!很高兴能在这里见到你,你能来到这里说明你真的很喜欢python,很想把python给学好!我觉的你很幸运,开始我学python的时候比较少资料,学起来也比较头疼,现在随着python越来越流行, 资料也越来越多,大家以后学起来应该会轻松很多了。我前段时间花了很多时间整理了一些python 入门教程,我觉的对初学python的朋友来说是个很好的引路人,我相信通过它你可以快速的上手python的。不信可以试试哦!
最近索取资料的朋友比较多,让老王python感到欣慰!为了让更多的朋友了解python,学习python,喜欢python!
我做出了一个艰难的决定:如果你想要得到这份资料的话:只要做下面列举的5件事情中的2件事,对你来说轻而易举!
  1. 如果你有一些python相关群的话,除我的群:跟着老王学python外,将这篇文章的链接发到群里,分享给想学python的朋友
  2. 如果你有QQ而且有微博的话,将这篇文章的链接发到在微博里面,分享给想学python的朋友
  3. 如果你有个人的技术博客的话,将这篇文章转发到你的博客里,分享给想学python的朋友
  4. 如果你有技术论坛的账户的话,把这篇文章转发到论坛的文章里,分享给想学python的朋友
  5. 如果你有QQ空间的话,把这篇文章转发到QQ空间里并且分享这篇文章,把信息分享给想学python的朋友
如果你做了上面5件事情的2件事情,请你把做的相关链接或者信息截图整理好后通过邮箱发给我,我的邮箱是:

280026798@qq.com

我会把教程的地址发到你的邮箱里

老王python 提供简单实用的python 教程python 书籍。本文地址:python基础教程  转载请保留

先分享先学习哦!希望你不要错过这个和python亲密接触的机会!另外分享相关的

百度Laruence谈php

惠新宸(网名:Laruence,博客),百度PHP高级顾问,年二十有八,好追根究底,有不良嗜好,
幸性本善。乙酉年识互联网,丁亥年入雅虎,翌年入百度。虽性好安稳,然经变无数,唯常叹”人生,菠菜汤尔”。

大家好,今天我主要介绍是PHP在百度一个发展历程,最早的时候百度成立于2000年,2000年的时候,百度刚刚成立,刚刚在北大资源宾馆建立百度,直到2001年的竞价排名,我不评价这个产品怎么样,竞价排名当时是第一个采用PHP,在百度的PHP系统。从2001年到今年已经10年时间了,这10年时间百度PHP经历一些什么变化呢?

我们现在看到是百度,那天我自己脑子里想了一遍,当然不是全部,大家能够知道的一些用户产品,无线产品,商业产品。包括贴吧这个比较大了,还有最新的旅游。对于贴吧来说,前端可能是CUI,或者业务逻辑,一直到后来已经迁到PHP。我列出来这些产品,都是使用了PHP,还有没列出来也是使用了PHP的,很多。所以,如果说让我去介绍每个产品是怎么用PHP的,我觉得这个不太现实,我一共只有30分钟。

这30分钟我主要想跟大家分享的我们发现一些问题和怎么去解决,这些问题是大家都会遇到的。我们最早的时候,就像我刚才提到的我们一些,因为处于最高性能要求,以及对于PHP的不了解,以及对于外部我们可能觉得PHP很慢,所以我们以前的时候,这些大的访问量产品都是用C来做的。他可能在模板上用Cu-i来做展现,这样的方式大家都知道开发,调试,部署都很复杂,成本也比较高,门槛也比较高,招人也比较难招。 阅读全文

继续写blog

每天起来至少还有一件事情可以做, 写blog

ecshop 商品属性

在B2C电子商务系统中,很可能在一个系统中,出售多种商品,而且不同的商品,却有不同的规格,不同的属性。在商品详情页会用到 商品属性,在ecshop中,通过三个字段来控制.

1:ecshop商品类型

2:ecshop属性名称

3:ecshop属性名称对应的属性值

首先,需要增加商品类型.增加商品类型的步骤为:后台->商品管理->商品类型->新建商品类型A

选择商品类型A,点属性列表.输入属性.

其次,使用属性.

新增商品->商品属性->输入属性所对应的值.

ecshop系统中,商品类型是存储在ecs_goods_type表里面,属性名称存储在ecs_attribute里面,商品对应属性名称的值.存储在 ecs_goods_attr表里面。用三字段,来控制他的值.

在goods.php中。你发现,以下代码来处理属性的。

$properties = get_goods_properties($goods_id);  // 获得商品的规格和属性

$smarty->assign(‘specification’,       $properties['spe']);

而ecshop 函数get_goods_properties()就是取得某个商品属性数组的。 阅读全文

收集了几篇javascript的文章

学习Javascript闭包Closurehttp://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
领悟 JavaScript 中的面向对象 http://www.javaeye.com/topic/155109
深入理解Javascript闭包 http://blog.csdn.net/hitman9099/archive/2009/01/28/3854171.aspx

Javascript命名空间

在小规模的脚本开发中,有时候并不值得去引用命名空间,因为会带来某种程度的复杂性;但是当在同一个网页里引入10多个js文件之后,各js中的同名函数就很容易冲突了。比如xxx库里写了个addCssStyle方法,yyy类库里也写了个addCssStyle方法,而这两个方法的具体实现又有一定差别。那么同时引用这两个组件的时候,函数冲突之后导致页面效果发生变化,调试和修改都是非常痛苦的,如果为了避免冲突,而放弃引用一些优秀的组件,那更是让人郁闷的事情。为此,在封装javascript组件库的时候,请使用命名空间来避免冲突。将所有的方法和变量都要按包名类名的方式来写。(这个时候写代码的感觉和封装java的util方法一样方便,呵呵)

所以,请记住:请为你封装的JavaScript库加上命名空间以提高代码重用性。

但是JavaScript原生并不支持命名空间,需要变通来实现。

JavaScript中,所有的对象(或者称类型,例如Boolean,Array,Function)都可以认为是一个关联数组。关联数组中的对象可以使用点(.)进行引用,这样我们可以利用关联数组变相地实现命名空间。首先声明一个关联数组作为根,因为页面声明的对象都是window这个变量的成员,所以一般命名空间的实现都以window为根。当向window申请a.b.c的命名空间时,首先在window中查看是否存在a这个成员,如果没有则在window下新建一个名为a的空关联数组,如果已经存在a,则继续在window.a中查看b是否存在,以此类推。下面分别是Atlas和YUI中的实现方法。 阅读全文

javascript 中的大括号

javascript大括号最普遍的还是用在函数体上 ,

 function(h){

code。。。

}最近在看淘宝的开源框架KISSY看到一些考究点
用法,就像是ruby中的hash用法一样,通过key对应值来表达一个意思时,往往
在脑海中当作类似对象而一阅而过。

JavaScript 中的对象其实就是属性(方法)的一个集合,并没有严格意义的类的概念。
它提供了另外一种简单的方式来创建对象,即大括号({})语法:
    {
      property1:statement,
      property2:statement2,
         …,
     propertyN:statmentN
    }

   通过大括号括住多个属性或方法及其定义(这些属性或方法用逗号隔开),
来实现对象的定义,这段代码就直接定义个了具有n个属性或方法的对象,
其中属性名和其定义之间用冒号(:)隔开。

   var user={
              name:”jack”,                //定义了name属性,初始化为jack
             favoriteColor:["red","green","black","white"],//定义了颜色喜好数组
             hello:function(){            //定义了方法hello
                                     alert(“hello,”+this.name);
                                    },
             sex:”male”                 //定义了性别属性sex,初始化为sex
           }
  和json格式差不多,不过函数也作为key值来表示,而这在ruby中,也是通用的
  格式。不过用=> 来代替:而已。

ECSHOP增加一个新模板

新增一个dwt模板文件,

1,  假如文件名为addmoban..dwt,此文件编辑好后,放在theme文件夹下的一个模板包(假如文件夹为newmoban)文件夹下(theme/newmoban/)。

2,  需要在模板文件管理的程序里添加此模板文件信息,就是在admin\includes\lib_templates.php文件中$template_files数组中,加入’ ‘addmoban..dwt’。同时在$page_libs数组中添加’addmoban’=>array();

3,  在语言包文件languages\zh_cn\admin\templates.php中.加入以下代码$_LANG[‘template_files’][‘addmoban’]=’添加的模板名称’;

新增一个lbi模板库文件,

1,    假如文件名为addlibrary.lbi,此文件编辑好后,应放在放在theme下的一个模板包(假如文件夹为newmoban)下的library文件夹下(theme/newmoban/libray/)。一个lbi文件可以放在多个dwt文件的多个地方,用<!– #BeginLibraryItem “/library/ addlibrary.lbi” –><!– #EndLibraryItem –>此代码调用进来。

2,    在theme\newmoban\下新建个libs.xml文件,内容参考默认的模板defalut下的libs.xml文件。<file name=”addmoban.dwt”>

<region name=””>

<lib>….</lib>

<lib>addlibrary</lib>

</region>

3,    在admin\includes\lib_ templates.php文件中addmoban数组添加’/library/addlibrary.lbi’=>0;

Objective-C语法快速参考转自cocoachina.com

大部分有一点其他平台开发基础的初学者看到XCode,第一感想是磨拳擦掌,看到Interface Builder之后,第一感想是跃跃欲试,而看到Objective-C的语法,第一感想就变成就望而却步了。好吧,我是在说我自己。
 如果你和我一样,对苹果相关的开发:Mac OS X或是iPhone有兴趣,但是第一时间看到Objective-C就会头疼并伴有发烧症状的话,疗效比较好的快速治疗方法是阅读本文。大概花二十分钟左右,而且绝不无聊的时间,你就会对Objective-C有那么一点点了解,至少读读例子不会那么头疼了。
  不过假定你要有那么一点点c++、c#或是java的基础,至少能看到c++、c#或是java的源码,能够大致明白说得是什么。
 这篇文章不是一篇科技文章,希望你也不要把它当做科技文章来读。文章非常不严谨,但是我相信你能看得懂。 

一、XCode、Objective-C、Cocoa说的是几样东西?

答案:三样东西。

XCode:你可以把它看成是一个开发环境,就好像Visual Studio或者Netbeans或者SharpDevelop一样的玩意。你可以将Interface Builder认为是Visual Studio中用来画界面的那部分功能单独提出来的程序。
Objective-C:这是一种语言,就好像c++是一种语言,Java是一种语言,c#是一种语言,莺歌历史也是一种语言一样。
Cocoa:是一大堆函数库,就好像MFC、.NET、Swing这类玩意,人家已经写好了一堆现成的东西,你只要知道怎么用就可以了。
有些人会比较容易混淆Objective-C和Cocoa,就好像有些人会混淆c#和.NET一样。这两个东西真的是两个不一样的东西。

二、Objective-C是什么?

你可以把它认为是语法稍稍有点不一样的c语言。虽然第一眼望上去你可能会认为它是火星语,和你所认知的任何一种语言都不一样。

先简单列出一点差别:

问题一:我在程序中看到大量的减号、中括号和NS****这种东西,他们是什么玩意儿? 

1 减号(或者加号) 

减号表示一个函数、或者方法、或者消息的开始,怎么说都行。 

比如c#中,一个方法的写法可能是:

private void hello(bool ishello)

{

//OOXX

}
用Objective-C写出来就是

-(void) hello:(BOOL)ishello

{

//OOXX

}

挺好懂的吧? 

不过在Objective-C里面没有public和private的概念,你可以认为全是public。 

而用加号的意思就是其他函数可以直接调用这个类中的这个函数,而不用创建这个类的实例。 

2 中括号 

中括号可以认为是如何调用你刚才写的这个方法,通常在Objective-C里说“消息”。 

比如C#里你可以这么写: 

this.hello(true); 

在Objective-C里,就要写成:

[self hello:YES]; 

3 NS**** 

老乔当年被人挤兑出苹果,自立门户的时候做了个公司叫做NextStep,里面这一整套开发包很是让一些科学家们喜欢,而现在Mac OS用的就是NextStep这一套函数库。 

这些开发NextStep的人们比较自恋地把函数库里面所有的类都用NextStep的缩写打头命名,也就是NS****了。比较常见的比如: 阅读全文

搜索引擎是你最好的老师

大部分人毕业后所从事的工 作都是与大学所学的专业无关的,所以很多东西都需要自学,即使是自己所学的专业,碰到不懂的问题是再正常不过的事,在互联 网时代,我们有着最好的老师—搜索引擎。

互联网上的知识,应该可以说涵盖了所有的教科书知识。与教科书不同的是互联网上的知识更加碎片化,这时就更需要我们使用搜索引擎来找到我们所需要的 知识,而且比我们遇到问题时去翻书更准确和快捷。

我们的大脑最重要的功能是思考,没必要去跟计算机比计算能力,更没必要去跟硬盘去比存储能力,能从硬盘里把我们需要的内容找出来,并读懂它就可以 了。我们所需要做的事情是在搜索引擎中输入适当的关键词,将这些信息找出来。

将信息搜索出来之后,经过自己的过滤,整理、汇总,最终形成理解。

其实很多问题理解之后,能不能全部记得住我觉得并不重要,就好像我们不必记能心算出68乘以168等于多少一样,但有需要的时候不管用是用计算机还 是用笔算,都必须很快的算出来。我认为知识也是一样,我们不可能把所有学过的知识都记在脑子里,在网络时代,我们没必要将圆周率背到小数点后面多少位,也 没必要背下鲁迅、郭沫若都是哪年生人,家在何处,只需要通过搜索引擎,这些知识的时候能很快的找到。

在这个知识爆炸、信息爆炸的时代,我们的脑子记不下这么多信息和知识的时候,熟练使用搜索引擎是很必要的,我们可以记不住这些知识,但一定要能在用到这些 知识的时候把它找到。学习如何使用搜索引擎从Google或百度搜索下面这个关键词开始吧:“搜索引擎技巧”。

搜索引擎“懂”的知识,绝对比任何一个老师都要多。老师更重要的是启蒙和教我们学习的方法,所以老师不可能教我们一辈子,而我们一辈子有问题都可以 随时请教搜索引擎这位“老师”。

看过之后同感,特转来跟大家分享,原文地址

http://www.daqianduan.com/search-engine-best-teacher/