秒杀地点:肯德基北京安定门店
秒杀主题:肯德基中国公司于北京时间2010年4月6日发起了“超值星期二 特别秒杀”活动,有效期4月6日至4月9日。
秒杀内容: 超值星期二 热别秒杀 外带全家桶一份 原价64.00元 力减32元。
秒杀过程 :怀着对肯德基品牌的几分热度掏出优惠券,“它”说我的优惠价已经第二轮甚至第三轮了。
秒杀”一种快速而高效的制敌方式。呈几何时蜂拥互联网。
近来一些公司也看中其公关效应,大力“秒杀”消费者的热情。典型的案例是“淘宝的一元秒杀房子”。
我们“被秒杀”了
又一次“被”
肯德基说只想让秒杀“N元” 可是对肯德基品牌忠诚的中国人疯狂了
肯德基怕了
“不是怕中国人疯狂 因为他们爱我们”肯德基说
“坚持住” “沉默住” 他们会散去
于是他们坚持住了
无情的白纸写着 “中国人“ 你们已经是二轮或三轮了
我怕了 请不要再秒杀我了
“让利 超值” 一种可笑公关
可笑活动的开始 注定要秒杀消费者
可笑活动的开始 注定要秒杀企业的信用



在进行IE toolbar(工具条)开发的时候会碰到IE版本差距 造成的句柄获取为空,主要是ie8采用了卡片切换的原因。我之前是用delphi 进行 ie toolbar开发 因为图delphi的方便。说实在话 vcl的开发效率要比atl高。但是受限vcl 的 ie8 线程问题 后来改用vc 的atl。(做客服端我还是选用vcl)。
回到正题 delphi和vc获取ie8当前url的方法
delphi
- function GetUrlFromIE8 (Handle: THandle; List: TStringList): boolean; stdcall;
- var
- hWndIE, hWndIEChild : HWND;
- Buffer : array[0..255] of Char;
- begin
- SendMessage(Handle, WM_GETTEXT,1023, integer(@Buffer[0]));
- hWndIE := FindWindow(‘IEFrame’, Buffer);
- if (hWndIE > 0)
- begin
- hWndIEChild := FindWindowEx(hWndIE, 0, ‘WorkerW’, nil);
- if (hWndIEChild > 0) and (ie8log=0) then
- begin
- hWndIEChild := FindWindowEx(hWndIEChild, 0, ‘ReBarWindow32′, nil);
- hWndIEChild := FindWindowEx(hWndIEChild, 0, ‘Address Band Root’,nil);
- hWndIEChild := FindWindowEx(hWndIEChild, 0, ‘edit’,nil);
- SendMessage(hWndIEChild, WM_GETTEXT, 1023, integer(@Buffer));
- thisUrl:=Buffer;
- showmessage(thisUrl);
- end;
- end;
vc:
- HWND IEURLhwnd = 0;
- IEURLhwnd = ::FindWindowEx(IEURLhwnd, 0,TEXT(“IEFrame”), NULL);
- IEURLhwnd = ::FindWindowEx(IEURLhwnd,0,TEXT(“WorkerW”), NULL);
- IEURLhwnd = ::FindWindowEx(IEURLhwnd,0,TEXT(“RebarWindow32″), NULL);
- IEURLhwnd = ::FindWindowEx(IEURLhwnd,0,TEXT(“Address Band Root”), NULL);
- IEURLhwnd = FindWindowEx(IEURLhwnd, 0,TEXT(“Edit”), NULL);
- TCHAR IEURL[1024];
- memset(IEURL, 0, sizeof TCHAR * 1024);
- ::SendMessage(IEURLhwnd, WM_GETTEXT, 1024, (LPARAM)IEURL);
- MessageBox(IEURL);
另外, 具体的窗体 可以用spy 进行查看。
最近的项目中一个早期规划的版面大部分基于文字的,图片不多,所以前期没有做图片分离,随着公测,以及页面效果的体验。
决定要用大量图片来做视觉冲击。所以必须架设分布式文件系统来实现图片分离。之前用过mogilefs,感觉还是不错,就是配置起来还是繁琐,
并且是基于mysql做节点日志控制的,所以比较麻烦点。
之所以采用FastDFS,使用它协议比较简单。php操作也比较方便,当然更重要的是性能也不错。
简单配置
/*————–安装—————————*/
wget http://fastdfs.googlecode.com/files/FastDFS_v1.22.tar.gz
tar zvxf FastDFS_v1.22.tar.gz
cd FastDFS
./make.sh
./make.sh install
/*————–配置—————————*/
服务器设定
tracker: 192.168.1.1
storage: 192.168.1.2
/*————–添加配置文件—————————*/
mkdir /usr/local/fasrdfs/
vim /usr/local/fasrdfs/tracker_config
vim /usr/local/fasrdfs/storage_config
/*——tracker_config——–tracker(跟踪器)服务器——————-*/
bind_addr=
port=22122
network_timeout=20
base_path= /www/dlsite/uploads/events/
max_connections=256
store_lookup=0
store_group=group2
store_server=1
reserved_storage_space = 4GB
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
/*——storage_config——–存储节点(storage)服务器—————–*/
disabled=false
group_name=group1
bind_addr=12
port=23000
network_timeout=20
heart_beat_interval=30
stat_report_interval=600
base_path=/www/dlsite/uploads/events/
sync_wait_msec=200
max_connections=256
tracker_server=192.168.1.2:22122
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
/*——————-启动————————————*/
/usr/local/bin/fdfs_trackerd /usr/local/fastdfs/tracker_config
/usr/local/bin/fdfs_storaged /usr/local/fastdfs/storage_config
/*————–向存储节点(storage)发送数据—————————*/
/usr/local/bin/fdfs_test /usr/local/fastdfs/storage_config upload 数据文件
/*————–查看进程—————————*/
ps aux | grep fdfs
前两天域名供应商的dns出现问题,恢复之后也没有在意。今天程序上的类似file_get_content php_network_getaddresses: getaddrinfo failed的错误。
解决办法
重新配置了 服务器的dns
vi /etc/resolv.conf
重启配置.
今天配一台MySQL数据库服务器的时候出现:
Lost connection to MySQL server at ‘reading initial communication packet
解决办法
修改mysql my.cnf :
把 bind-address = 127.0.0.1
改成 #bind-address = 127.0.0.1
今天想把之前系统的注册验证码(GD)改成imagick。没想到出现以下错误
bug 已经提交http://pecl.php.net/bugs/bug.php?id=16792
Fatal error: Uncaught exception 'ImagickException' with message 'Unable to annotate image' in /www/xxx/xxx.php:16 Stack trace: #0 /www/dlsite/1.php(16): Imagick->annotateimage(Object(ImagickDraw), 10, 45, 0, '1111') #1 {main} thrown in /www/xxx/xxx.php on line 16
另外一台服务器上 运行没有问题 ,两台服务器的imagick配置是一样的



php验证码程序:
- <?php
- $image = new Imagick();
- $draw = new ImagickDraw();
- $pixel = new ImagickPixel();
- $pixel->setColor("rgb(220,220,220)");
- $draw->setFont('simsun.ttc');
- $image->newImage(200, 75, $pixel);
- $array=array('恭喜发财','吉祥如意','财源滚滚','万事大吉','财源广进','一家瑞气','二气雍和','三星拱户','四季平安',
- '五星高照','六畜兴旺','万事如意','欣欣向荣','大展经纶','万商云集','骏业日新','骏业崇隆','大展鸿图',
- '源远流长','骏业宏开','贷财恒足','德必有邻','通商惠工','实业昌隆','信孚中外','金玉满堂','焕然一新');
- $key =array_rand($array,1);
- $text=$array[$key];
- $draw->setFontSize(30);
- $image->annotateImage($draw, 10, 45, 0,1111);
- $image->setImageFormat('png');
- $image->medianFilterImage();
- header('Content-type: image/png;charset=utf-8' );
- echo $image;
- ?>
浏览地址:http://blog.woyuw.com/1.php
memcachedb扩展数据存储
这几天一直都在测试系统压力,因为业务的关系,大部分的页面不能采用静态化
处理(当然互联网上的一句名言还是要借鉴的:为了并发和效率,请适当的忘记及时性),
这就意味着缓存的设计至关重要。之前在业务的数据层已经有memcache在处理了。但是考虑到缓存的
持久化存储还是决定引入memcachedb,另外还有它在主从方面的能力。
下面是安装过程
- wget http://www.monkey.org/~provos/libevent-1.3.tar.gz
- tar zvzf libevent-1.3.tar.gz
- cd libevent-1.3
- ./configure
- make && make install
- wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
- tar zvxf memcached-1.2.0.tar.gz
- cd memcached-1.2.0
- ./configure --prefix=/usr/local/memcached
- make && make install
- wget http://pecl.php.net/get/memcache-2.2.5.tgz
- tar zvxf memcache-2.2.5.tgz
- cd memcache-2.2.5
- /usr/local/php5/bin/phpize
- ./configure --with-php-config=/usr/local/php5/bin/php-config
- make && make install
- vi /usr/local/php5/etc/php.ini
- 增加 extensions=memcache.so
- wget http://download.oracle.com/berkeley-db/db-4.7.25.NC.tar.gz
- tar zvxf db-4.7.25.NC.tar.gz
- cd db-4.7.25.NC
- cd db
- ../dist/configure
- make && make install
- vim /etc/ld.so.conf
- 增加
- /usr/local/lib
- /usr/local/BerkeleyDB.4.7/lib
执行:
- wget http://memcachedb.googlecode.com/files/memcachedb-1.2.0.tar.gz
- tar zvxf memcachedb-1.2.0.tar.gz
- cd memcached-1.2.0
- ./configure --enable-threads
- make && make install
启动memcache(若使用memcachedb 则无需启动):
- /usr/local/bin/memcached -d -m 128 -p 11211 -u root
启动memcachedb
- memcachedb -p11211 -d -r -H /data1/11211 -N -v >/data1/11211.log 2>&1
memcacedb 还有其他启动方式具体见(http://memcachedb.googlecode.com/svn/trunk/INSTALL)
客户端地址:
- <?php
- $memcache = new Memcache;
- $memcache->connect('localhost', 11211);
- $memcache->getVersion();
- $memcache->set('cyd001', 'http://blog.woyuw.com');
- echo $memcache->get('cyd001');
- ?>
完毕是不是和memcache没有区别? 不要紧 重启你的服务器就知道了。
早上在自己的ubuntu环境下编译一个东西时侯出现:
curl: error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
解绝办法:
ln -s /usr/lib/libcurl.so.3 /usr/lib/libcurl.so.4
vi /etc/selinux/config
setenforce 0
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache2/modules/libphp5.so
编译方式安装samba出现以下错误:
error while loading shared libraries: libtalloc.so.1: cannot open shared object file: No such file or directory
解决办法:
vi /etc/ld.so.conf
加入:
/usr/local/samba/lib
执行
ldconfig