分享一段Magento关于刷新索引的代码

在调整Magento的Index,偶然间看到这样一段代码,写得很好,摘录出来分享下。

/**
* Reindex all data what this process responsible is
*
* @return unknown_type
*/
public function reindexAll()
{
if ($this->isLocked()) {
Mage::throwException(Mage::helper('index')->__('%s Index process is working now. Please try run this process later.', $this->getIndexer()->getName()));
}
$this->_getResource()->startProcess($this);
$this->lock();
$this->getIndexer()->reindexAll();
$this->unlock();
$this->_getResource()->endProcess($this);
}

/**
* Lock process without blocking.
* This method allow protect multiple process runing and fast lock validation.
*
* @return Mage_Index_Model_Process
*/
public function lock()
{
$this->_isLocked = true;
flock($this->_getLockFile(), LOCK_EX | LOCK_NB);
return $this;
}

/**
* Lock and block process.
* If new instance of the process will try validate locking state
* script will wait until process will be unlocked
*
* @return Mage_Index_Model_Process
*/
public function lockAndBlock()
{
$this->_isLocked = true;
flock($this->_getLockFile(), LOCK_EX);
return $this;
}

/**
* Unlock process
*
* @return Mage_Index_Model_Process
*/
public function unlock()
{
$this->_isLocked = false;
flock($this->_getLockFile(), LOCK_UN);
return $this;
}

/**
* Get lock file resource
*
* @return resource
*/
protected function _getLockFile()
{
if ($this->_lockFile === null) {
$varDir = Mage::getConfig()->getVarDir('locks');
$file = $varDir . DS . 'index_process_'.$this->getId().'.lock';
if (is_file($file)) {
$this->_lockFile = fopen($file, 'w');
} else {
$this->_lockFile = fopen($file, 'x');
}
fwrite($this->_lockFile, date('r'));
}
return $this->_lockFile;
}

关于flock函数的用法。
/**
* Portable advisory file locking
* @link http://www.php.net/manual/en/function.flock.php
* @param handle resource <p>
* An open file pointer.
* </p>
* @param operation int <p>
* operation is one of the following:
* LOCK_SH to acquire a shared lock (reader).
* @param wouldblock int[optional] <p>
* The optional third argument is set to true if the lock would block
* (EWOULDBLOCK errno condition). (not supported on Windows)
* </p>
* @return bool Returns true on success or false on failure.
*/
function flock ($handle, $operation, &$wouldblock = null) {}

“小强与小明”——正在疯传的故事

1.小强每天在村里晃悠,爹妈看着发愁,心想这孩子将来怎么办呀;小明每日都苦读诗书,父母喜在心里,村里人认定他必有出息。

2.那年,小强和小明都是十九岁,小强跟着村里的外出打工,来到了高速公路的工地,保底工资三千块;小明考上了一所211重点大学,读的是道路与桥梁专业,学费每年六千多。

3.那年,小强和小明都是二十三岁,小强的爹妈给他说个巧媳妇,是邻村的,特别贤惠;小明在大学里谈了个女朋友,是邻校的,很有文化。

4.那年,小强和小明都是二十四岁,小强在老家结了婚,把媳妇带到工地上,来给他洗衣做饭,恩爱有加;小明终于大学毕业,找了施工单位工作,跟女友分居两地,朝思暮想。

5.小强每天很快乐,下了班就没事,吃了饭和媳妇散散步,晚上便和工友打麻将看电视;小明每天很忙碌,白天跑遍工地,晚上还做资料画图纸,好久不见的女友跟他分手了。

6.那年,小强和小明都是二十八岁,小强攒下了二十万,已是两个娃娃的爹,心想着回家盖栋漂亮的楼房;小明过了中级职称,还是单身一个人过,心想着再干几年就是高级了;

7.小强在农村老家盖了两层小楼,装修很漂亮,剩的钱买了一群仔,让媳妇回家种地养猪;小明在城里贷款买了一套新房,按揭三千多,父母给介绍了新女朋友,在城里上班很少见面。

8. 那年,小强和小明都是三十一岁,小强媳妇从老家打电话来说:小强,现在家里有房有存款,咱喂喂猪,种种地,很幸福了,家里不能没有男人,你快回来吧;小明媳妇从城里打电话来说:小明,小孩的借读费要十万呢,家里没有存款了,你看能不能找公司借点。

9.小强听了媳妇的话,离开了工地,回老家跟老婆一起养猪,照顾父母小孩;小明听了妻子的话,更努力工作,去了偏远又艰苦的工地,很难回家一次。

10.那年,小强和小明都是三十五岁,猪肉价格疯涨,小强的一大圈猪成了宝贝,一年赚了十几万;通货膨胀严重,小明的公司很难接到项目,很多人都待岗了;

11.那年,小强和小明都是五十岁了,小强已是三个孙子的爷爷,天天晒着太阳抽着旱烟在村里转悠;小明已是高级路桥工程师,天天顶着太阳皱着眉头在工地检查;

12.那年,小强和小明都是六十岁了,小强过六十大寿,老伴说:一家团圆多好呀,家里的事就让娃们操心吧,外面有啥好玩的地方咱出去转转;小明退休摆酒席,领导说:回家歇着没意思,返聘回单位做技术顾问吧,工地上有什么问题您给指导指导;

13.小强病了一场,小强拉着老伴的手说:我活了快七十岁了,有儿有孙的,知足了;小明病了一场,小明抚着妻子的手说:我在外工作几十年,让你受苦了,对不起;

14.……由于长期体力劳动,身心愉快,吃的是自家种的菜、养的猪,吸的是少污染的农村空气,小强身体很硬朗,慢慢就恢复了。由于长期熬夜加班、小明喝酒应酬、饮食无规律,电脑幅射,身上落下很多毛病,很快就去世了。

15.八十岁的小强蹲在村头抽着旱烟袋,看着远远的山;远远的山上有一片公墓,小明已在那里静静睡去;小强在鞋底磕磕烟灰,拄着拐杖站起身,望了望那片公墓,自言自语地说:唉,都是一辈子呀…

谨以此文献给工作在城市,付出了青春、爱情、亲情甚至生命的人。
人的一生很短暂,希望大家给自己和家人多一些时间,活得潇洒痛快!!

敢问少年之精神路在何方?

1、《儒风大家》:美韩军演,去畿几里?山雨欲来、乌云压城;项庄舞剑,意在沛公。今国有大涝,外有敌患,“入则无法家拂士,出则无敌国外患者,国恒亡。然后知生于忧患而死于安乐也”。想我少年中国,多态参差、良莠不齐,列强展示肌肉,国人安可高枕无忧,熟视无睹也?”君子安而不忘危,存而不忘亡,治而不忘乱,是以身安而国家可保也”,文治九功、武有七德,文明其精神、野蛮其体魄,国人当醒,“少年智则国智,少年富则国富,少年强则国强,少年独立则国独立,少年自由则国自由,少年进步则国进步,少年胜于欧洲,则国胜于欧洲,少年雄于地球,则国雄于地球。红日初升,其道大光;河出伏流,一泻汪洋……”反观现在国内不少青少年早恋、滥交、堕胎、网瘾、厌学、逆反、抑郁、打架、不敬师尊、不孝爹娘……青少年普遍的道德水准也大不如前,令人痛心扼腕!这样的少年怎么担当起重任,这不禁不引起我们的担忧。《齐鲁晚报》报道,在杭州西湖区,当地疾控中心从自愿参加艾滋病病毒检测的195名“同志”中检测出11名感染者,其中10名是大学生,真是触目惊心的数字啊!回首古代中国,倡导修身齐家治国平天下的德行,今天还能唤回古中国的道德善行水准吗?面对国内外种种忧患,您所担忧的是什么?

2、《儒风大家》:未雨绸缪、防患于未然、治之于未发,功大矣哉。冰冻三尺,非一日之寒,现代不良青少年的精神状况,也是有缘由慢慢发展而来的,请问它的社会土壤是什么?如果社会评判标准只是功名利禄,那么奢求少年不拜金、社会不尚名、全民不浮躁,这是非常困难的事情。唯利是图,则弊病丛生,反观古代君子见利思义,求德本而不舍财末,以义取利,义利双举,那么请问,从国家到个人,利背后的根本支撑是什么?传承的背后靠的是否就是优秀文化? 阅读全文

从老爸那里抄来的几句《论语》 很经典

好仁不好学,其蔽也愚;好知不好学,其蔽也荡;好信不好学,其蔽也贼;好直不好学,其蔽也绞;好勇不好学,其蔽也乱;好刚不好学,其蔽也狂。

“好仁不好学,其蔽也愚”,“学”后省一“礼”字,“礼”即“度”。好仁若无礼度,则愚仁。孔子对“仁、知、信、直、勇、刚”等美好的品德都要求要有“礼”有“度”,如孔子说:“好仁不好学,其蔽也愚;好知不好学,其蔽也荡;好信不好学,其蔽也贼;好直不好学,其蔽也绞;好勇不好学,其蔽也乱;好刚不好学,其蔽也狂。”仁而无礼度则愚;智而无礼度则荡;信而无礼度则贼;直而无礼度则绞(伤人);勇而无礼度则乱;刚而无礼度则狂。在施恩方面也有一个尺度。

解释:出自《论语 阳货第十七》
【原文】
子曰:“由也!女①闻六言六蔽②矣乎?”对曰:“未也。”“居③!吾语女。好仁不好学④,其蔽也愚;好直不好学,其蔽也荡(5);好信不好学,,其蔽也贼(6);好直不好学,其蔽也绞(7);好勇不好学,其蔽也乱;好刚不好学,其蔽也狂。
【注释】
①女:同“汝”,你。②六言六蔽:六言指下文说的仁、智、信、直、勇,刚六种品德,六蔽指与言想对的愚、荡、贼、,绞、乱、狂。蔽同“弊”。③居:坐。④不好学:指不学就不能明理,不能把握好“六言”的分寸,所以会出现“六蔽”。(5)荡:指无所适从。(6)贼:害。(7)绞:尖刻刺人。
【译文】
孔子说:“仲由!你听说过六种品德和六种弊病吗?”子路回答:“没有。”孔子说:“来坐下!我告诉你。喜好仁德却不喜好学习,弊病是容易被人愚弄;喜好聪明却不喜好学习,弊病是容易放荡不羁;喜好信实却不喜好学习,弊病是拘于小信而贼害自己;喜好直率却不喜好学习,弊病是说话尖刻刺人;喜好勇敢而不喜好学习,弊病是捣乱闯祸;喜好刚强而不喜好学习,弊病是狂妄自大。”
【读解】
这里所谈的六种品德和六种弊病,古成语称为“六言六蔽”。
仁、智、信、直、勇、刚都是好品德,都是我们应该喜好好而加以修养的。但是,如果不通过学习而明白事理,通权这变地把握其实质,便很容易偏执一隅,造成危害,从而由“六言”(六种美好的品德)变成“六蔽”。这种事例,无论是在历史上还是现实中都是很多的。就以春秋时期为例,宋国和楚国在弘这个地方开战,楚军正在渡河时,宋军中有将建议冲锋过去消灭楚军。可宋襄公为了表示“仁”,说是“不鼓不成列”,要等楚军完全渡过河列好阵以后才开战。结果宋军大败,宋襄公自己也因伤腿而送了命。这是“好仁不好学,其蔽也愚”的典型。此外如著名的“东郭先生与狼”的寓言故事,实际上也是说的“好仁不好学,其蔽也愚;好信不好学,其蔽也贼”的道理。东郭先生对狼讲仁慈,讲信用,结果拚命害了自己。这些教训都是非常深刻的。
推而广之,“六言六蔽”实№上就是反对教科文,反对本本主义,反对理论脱离实,而主张理论与实践相结合,具体问题具体分析,通权达变,掌握精髓和实质。这是要我们特别加以注意的。

高级应用Magento-订单创建流程及程序代码

老规矩,直接看代码吧。下面的代码是如何通过程序创建一个完美订单。

<?php
require_once 'app/Mage.php';
 
Mage::app('default');//初始化程序,设置当前店铺
 
$store = Mage::app()->getStore('default');
//通过电子邮件获取用户,当然也可以不获取,创建guest订单
$customer = Mage::getModel('customer/customer');
$customer->setStore($store);
$customer->loadByEmail('email_address@gmail.com');
 
//初始化Quote,Magento的订单是通过Quote来转化过去的
$quote = Mage::getModel('sales/quote');
$quote->setStore($store);
$quote->assignCustomer($customer);//如果有用户则执行这个
 
$product1 = Mage::getModel('catalog/product')->load(166); /* HTC Touch Diamond */
$buyInfo1 = array('qty' => 1);
 
$product2 = Mage::getModel('catalog/product')->load(18); /* Sony Ericsson W810i */
$buyInfo2 = array('qty' => 3);
//添加商品到Quote
$quote->addProduct($product1, new Varien_Object($buyInfo1));
$quote->addProduct($product2, new Varien_Object($buyInfo2));
//设置账单和收货品地址
$billingAddress = $quote->getBillingAddress()->addData($customer->getPrimaryBillingAddress());
$shippingAddress = $quote->getShippingAddress()->addData($customer->getPrimaryShippingAddress());
//设置配送和支付方式
$shippingAddress->setCollectShippingRates(true)->collectShippingRates()
                ->setShippingMethod('flatrate_flatrate')
                ->setPaymentMethod('checkmo');
 
$quote->getPayment()->importData(array('method' => 'checkmo'));
//Quote计算运费
$quote->collectTotals()->save();
//将Quote转化为订单
$service = Mage::getModel('sales/service_quote', $quote);
$service->submitAll();
$order = $service->getOrder();
/***至此订单已经成功生成,下面是注册付款信息***/
 
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
 
$transaction = Mage::getModel('core/resource_transaction')
                    ->addObject($invoice)
                    ->addObject($invoice->getOrder());
 
$transaction->save();

Nginx 配置 for Magento

应群众要求,把nginx配置晒出来了,适用于magento程序。主要请看server这段,其他的要针对自己服务器和用途配置。

user  nobody;
worker_processes  1;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
        include       mime.types;
        default_type  application/octet-stream;
 
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
        #access_log off;
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 300m;
 
        sendfile on;
        tcp_nopush     on;
 
        keepalive_timeout 360000;
 
        tcp_nodelay on;
 
        client_body_buffer_size  512k;
        proxy_connect_timeout    5;
        proxy_read_timeout       60;
        proxy_send_timeout       5;
        proxy_buffer_size        16k;
        proxy_buffers            4 64k;
        proxy_busy_buffers_size 128k;
        proxy_temp_file_write_size 128k;
 
        fastcgi_connect_timeout 3600;
        fastcgi_send_timeout 3600;
        fastcgi_read_timeout 3600;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 128k;
 
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_types       text/plain application/x-javascript text/css application/xml;
        gzip_vary on;
 
        proxy_cache_path  /app/nginx/proxy_cache levels=2:2 keys_zone=one:200m inactive=1d max_size=30g;
        proxy_temp_path /app/nginx/proxy_temp;
 
        fastcgi_cache_path   /app/nginx/fastcgi_cache levels=2:2 keys_zone=two:200m inactive=1d max_size=30g;
 
        server {
                listen          80;
                server_name     www.demo.cn;
                root            /app/projects/demo;
 
                #设置索引文件和URL重写
                location / {
                        index index.html index.php; ## Allow a static html file to be shown first
                        try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler
                        expires 30d; ## Assume all files are cachable
                }
 
				#屏蔽一些目录,防止被外部访问
                ## These locations would be hidden by .htaccess normally
                location /app/                  { deny all; }
                location /includes/             { deny all; }
                location /lib/                  { deny all; }
                location /media/downloadable/   { deny all; }
                location /pkginfo/              { deny all; }
                location /report/config.xml     { deny all; }
                location /var/                  { deny all; }
 
				#将错误报告加个密码保护
                location /var/export/ { ## Allow admins only to view export folder
                                auth_basic                                   "Restricted"; ## Message shown in login window
                                auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword
                                autoindex                                                on;
                }
				#禁止访问.htaccess文件
                location  /. { ## Disable .htaccess and other hidden files
                        return 404;
                }
				#用来进行URL重写
                location @handler { ## Magento uses a common front handler
                        rewrite / /index.php;
                }
				#转发.php文件的请求
                location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
                        rewrite ^(.*.php)/ $1 last;
                }
				#将php请求传递到后端php-fpm CGI程序,端口是9000
                location ~ .php$ { ## Execute PHP scripts
                        if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss
 
                        expires         off; ## Do not cache dynamic content
                        fastcgi_pass    127.0.0.1:9000;
                        #fastcgi_param  HTTPS $fastcgi_https;
                        fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                        fastcgi_param   MAGE_RUN_CODE default; ## Store code is defined in administration > Configuration > Manage Stores
                        fastcgi_param   MAGE_RUN_TYPE store;
                        include                                fastcgi_params; ## See /etc/nginx/fastcgi_params
                }
				#这里是禁止访问SVN信息的配置
                location ~ ^(.*)\/\.svn\/{
                        deny all;
                }
        }
}

Nothing in the world can take the place of persistence

Nothing in the world can take the place of persistence. Talent will not; nothing is more common than unsuccessful individuals with talent. Genius will not; unrewarding genius is almost a proverb. Education will not; the world is full of educated derelicts. Persistence and determination alone are omnipotent.

Perseverance does not always mean sticking to the same thing forever. It means giving full concentration and effort to whatever you are doing, right now! It means doing the tough things first and looking downstream for gratification and rewards. It means being happy in your work, but hungry for more knowledge and progress. It means making more calls, going more miles, pulling more weeds, getting up earlier in the day and always being on the lookout for a better way of doing what you’re doing. Persistence is success though trial and error.

淘宝新规遭遇抵制 电商转型“阵痛”何解

出处:新华网| 2011-10-13 21:30:46

  新华网杭州10月13日电(记者王政、张遥)淘宝商城近日公布的2012年招商新规受到抵制,数万名自称迫于成本压力的“中小卖家”通过网络集结,通过批量拍货、申请退款等方式攻击部分商城大卖家,数十家大型淘宝商城店铺被网民“攻陷”,部分或全部商品被迫下架。

  一边是面临压力的卖家,一边是力推新规欲求梳理网购环境的平台,意见交锋是否必然?中国电子商务转型期这一“阵痛”如何求解?

  淘宝新规引发“攻击”

  淘宝商城10日发布新规表示,2012年向商家收取的年费将从现行的每年6000元调整到3万元或6万元两档,大部分商家作为服务信誉押金的消费者保证金将从现行的1万元,调整到1万元至15万元不等。

  与费用调整同时实施的是一套“返还制度”。据淘宝商城总裁张勇介绍,根据消费者的服务水平和经营规模,年费将部分或者全部退还商家,这也是新规则的关键所在,即“用流量分配机制和经济杠杆等市场手段来引导商家提升商品和服务的质量,让用户享受到更好的购买体验。”

  新规很快在网商群体中引起反应。11日晚间开始,淘宝商城受到数万名自称“中小卖家”的网民集体“攻击”。批量拍货再申请赔偿,或是宣称要收货、给差评、再申请退款。

  12日凌晨,淘宝在官方网站发出紧急公告表示,“因为自身的不满,去攻击别人的店铺,无论从出发点和采取的手段看,都是赤裸裸的流氓暴行”,并称已向警方报案。

  截至12日晚,已有数十家大型淘宝商城店铺被网民“攻陷”,部分或全部商品被迫下架。

  淘宝商城表示不会更改规则。淘宝商城总裁张勇说,提高年费和保证金是为了净化电子商务环境,而且新的收费规则有配套的年费返还制度,“只要卖家提供好的服务,可以获得部分甚至全部返还,并没有增加费用”。

  小微商户“因小而美”已过时?

  “淘宝也是靠我们支持才发展起来的,突然这样提高门槛,让中小卖家怎么活?”在接受电话采访时,语音聊天群里自称是淘宝商城小卖家的“兔子急了也咬人”说,他在商城里的一个店铺代理两个品牌,目前每年缴纳的费用是16000元,而更改标准后的年费加保证金每年得16万元。

  “即便是年底可以全额返还,我的流动资金一共只有20多万元,大部分都做了抵押,网店只能关门。”“兔子急了也咬人”说。

  淘宝方面对此表示,对于暂时达不到服务水平和经营规模的商城卖家,淘宝已经从技术层面做好了协助商家从商城转移到淘宝集市的准备。

  据了解,与2008年作为淘宝网分支建立的淘宝商城相比,从2003年最初创建的淘宝网延续至今的淘宝集市主打C2C模式,以个人店家为主,不收取服务费,但品牌认证、品质保证处于相对弱势。

  在业内观察者看来,引发广泛争议的收费新规并不算意外。“起初吸引卖家把网店铺满,现在再通过制定规则厘清电子商务环境,这是淘宝发展的必然趋势。这一天早晚会来,但没想到这么快,至少应该给卖家留足缓冲期。”自称有过多年淘宝开店经验的网民“小李飞刀”在接受采访时说。

  专家认为,此次淘宝新规实际上是构建电子商务平台秩序的一种尝试,如果大小企业、商户能在电商平台各行其道,找到适合自己发展的商业模式,“那么这次‘小卖家’围攻‘大卖家’就是我国电子商务领域转型的‘阵痛’。”中国社会科学院信息化研究中心秘书长姜奇平说。

  “小微企业、商户也应转变观念。”姜奇平说。就在部分商户集结“操作”的同时,部分小微商户也开始理性探讨自己未来发展之路,如果淘宝方面的新规真的实行,将“倒逼”小微企业走服务差异化、品种多样化和个性化定制的道路,而这正是小微商户“因小而美”的关键。

  “阵痛”求解尚需多方发力

  从7年前公开叫板美国电子商务巨头Ebay旗下的中文购物网站易趣,到国内业务逐渐反超,直至开设美国版淘宝网声称要“占据Ebay失落的美国市场”,阿里巴巴集团旗下多家公司在一定意义上折射出中国电子商务发展的轨迹。

  来自中国互联网络信息中心(CNNIC)的数据显示,截至2010年底,中国网民规模达到4.57亿人,其中网络购物用户规模年增长48.6%,达到1.61亿户,网购成为当年用户增长最快的网络应用项目。而这一机构在今年7月发布的最新报告认为,电子商务类应用迎来相对平缓的发展期,目前中国网络购物市场正在转型升级,从鱼龙混杂的集市模式更多地走向了品牌化、品质化竞争时代。

  电子商务从集市向品牌化跃进该有何种路径?中国互联网实验室董事长、博客中国创始人方兴东认为,注重建立诚信、健康的电子商务平台是大势所趋,但如何制定规则适当引导,值得探讨。尤其是对于淘宝这样处于行业龙头、甚至带有垄断地位的平台,如何监管、处罚,确实值得深思。

  姜奇平表示,小企业、小商户并不一定缺乏竞争力,如果能借鉴意大利或德国模式,走服务差异化、品种多样化和个性化定制的路子,将让不同规模的电子商务企业走出适合自己的商业模式。

  有关研究者认为,此次淘宝新规引发的“攻击”,本身会造成部分小微客户撤离,从而丧失部分市场活性。中央财经大学信息学院电子商务系副主任张巍表示,改变规则之前,多元市场主体共同协商显得尤为必要。

  “淘宝新规效应暴露出我国电商领域的法制、管理体系还不完善,规则制定仍然缺乏政府管理部门和行业协会的协助,而使企业成为规则制定的主体。”方兴东说。有关专家表示,随着中国电子商务步入转型期,相关部门机构的协调职能亟待增强。

博客搬家

跟各位同学们说声抱歉哦。。因为之前的服务器托管到期,所以把博客搬家了。
期间工作比较繁忙,导致数日博客无法访问。很是抱歉~~

Gap中国官网招聘PHP程序员

岗位要求
1. 专科及以上学历(条件特别 优越者可放宽学历要求),计算机及相关专业;
2. 熟悉B/S架构软件的开发流程,精通PHP和MySQL数据库,有一定大型、高并发网站开发经验;
3. 注重用户体验与需求(UE),熟悉W3C标准,熟悉CSS+DIV;
4. 熟悉AJAX,Javascript,JQuery;
5. 了解面向对象开发与设计,了解设计模式;了解分布式系统的开发与运用;
6. 了解linux操作系统和安全防护;
7. 热爱钻研技术,能进行一定需求分析和文档管理工作;
8. 有良好的工作态度与团队合作精神,能在压力下工作;
9. 熟悉ZendFramework、Magento等框架者优先。

特别优秀者可以放宽要求,有意者请加QQ:86338829(注明面试)

另招聘网页设计师

岗位要求:
1) 精通Html、DHTML、XHTML、CSS等网页制作语言,熟练运用
DIV+CSS网页设计布局
2) 精通Photoshop,Flash,Illustrator等设计软件
3) 熟悉网站制作、设计流程,能跟踪最新的网页设计、制作技术
4) 做事认真负责,有耐心

工作地点:上海市长宁区