月度存档: 9 月 2013

haxe loop循环递减写法

Haxe: migrating For-loops

跨平台技术选型air,haxenme or cocos2dx

air技术优点:flash代码全部可用,无缝移植
air技术缺点:
1.完全由adobe操控,如果有天adobe说不支持了,那所有玩air的就死翘翘了!
2.运行效率对比:
http://blog.glyfdesign.com/post/33786420350/physics-engine-performance-on-mobile-air-haxenme
简单点说就是air=2*haxenme=4*cocos2dx

cocos2dx的最大优点就是运行快,占用内存小,缺点就是开发工具简陋,开发周期长,虽然号称跨平台,但是跨的过程各种坑,不比air少,缺点这篇文章描述比较细致了:

Why I’m not comfortable with cocos2d or cocos2d-x

haxenme优点:as3开发者上手比较快
haxenme缺点:摸石头过河,开源也导致一些库类不兼容,jar有的毛病它都有了

ps:很高兴看到adobe air技术获得2014年最佳移动应用产品的殊荣
adobe AIR wins award at CES for the best “Mobile Application” product in 2014!
google趋势图:
google趋势
google趋势
看来adobe air的跨平台解决方案,在世界范围内来看还是用得很多的

照片

照片

iphone如何显示电池百分比

进入 设置—通用—用量—电池百分比

iphone home键失灵软件解决方案

设置-通用-辅助功能-肢体活动栏目中点击“Assistivetouch”-点击打开
这时你的手机上出现一个灰色的小块,就是虚拟的home按键!这个软件很人性化。
在这个软件里面有个个人收藏,你可以自建手势,使用方便。

wordpress搬家问题

1.备份数据库脚本

[code]#!/bin/bash
# 要备份的数据库名,多个数据库用空格分开
databases=(db1 db2 db3)
# 备份文件要保存的目录
basepath=’/root/backup/b3log.org/mysql/’
if [ ! -d "$basepath" ]; then
mkdir -p "$basepath"
fi

# 循环databases数组
for db in ${databases[*]}
do
# 备份数据库生成SQL文件
/bin/nice -n 19 /usr/bin/mysqldump -uUSER -pPASSWORD –databases $db > $basepath$db-$(date +%Y%m%d).sql

# 将生成的SQL文件压缩
/bin/nice -n 19 tar zPcf $basepath$db-$(date +%Y%m%d).sql.tar.gz $basepath$db-$(date +%Y%m%d).sql

# 删除7天之前的备份数据
find $basepath -mtime +7 -name "*.sql.tar.gz" -exec rm -rf {} \;
done

# 删除生成的SQL文件
rm -rf $basepath/*.sql
[/code]

其中备份目录、MySQL 口令需要配置。
然后使用 crontab 设置该脚本定时执行:
crontab -e
设置为凌晨 3 点执行:
0 3 * * * /root/backup_mysql.sh

  1. mac下传文件 scp -p 4588 username@www.abc.com:/uploadfiles /home/administrator
    3.更改域名
    问题:虽然我们并不主张这样做,但也许有时你需要在保留博客和数据的同时改变博客的域名。由于WordPress把域名存储在数据库中,所以为了把新域名和博客连接起来,你必须更改数据库。

解决方法:

登陆phpMyAdmin,选中你的WordPress数据库。

更改博客的安装地址和博客地址,首先用phpmyadmin打开你的数据库,然后找到wp-options这个数据表,找到第一条记录也就是siteurl这条,还有第39条home,这两条将地址改成你更换后的最域名即可。只有完成这一步后,才可以顺利进入后台,否则即使你输入密码,也会自动跳转到原来的老域名。PHP My管理中选择数据库,—->点击 SQL 在输入栏中输入如下代码:

[code]
UPDATE wp_options SET option_value = replace( option_value,"http://老域名","http://新域名") WHERE option_name ="home" OR option_name ="siteurl";[/code]

使用以下语句替代所有日志的相对URL(guid全局唯一标识符)

[code]
UPDATE wp_posts SET guid = replace(guid, ‘http://www.oldsite.com’,’http://www.newsite.com’);[/code]

搜索wp_posts表并替代其中的URL,以确保没有老的URL存在了:

[code]UPDATE wp_posts SET post_content = replace(post_content, ‘http://www.oldsite.com’, ‘http://www.newsite.com’);[/code]

完成!现在可以使用新URL登陆WordPress控制台了。
注解:为了更快地更改WordPress域名,我选择使用超级有用的MySQL函数“replace,”,这会完全替代所有需要替代的内容。

为了安全或者避免多个表同名,有时候需要批量修改数据库表前缀:

1.将以下代码保存为rename_suffix.php,并根据自己需要修改第11、12行,上传到wp-config.php同目录。
注:如果你不清楚当前数据库前缀,可以查看站点根目录下的wp-config.php文件,确定前缀。

<?php

/**
* 修改wordpress表名前缀的工具.
*filename:rename_suffix.php
* @By http://www.amyflash.com
*/

header("Content-type: text/html; charset=utf-8");
/////////下面两行您需要修改///////////
$oldtablepre='wp_'; //旧的表前缀
$newtablepre='lq_'; //您要修改成新的表前缀
/////////上面两行您需要修改///////////

##########@以下请勿修改@###########################!DONT CHANGE BELOW!##################################################
require_once( dirname(__FILE__) . '/wp-load.php' );

$tables=array("{$oldtablepre}commentmeta","{$oldtablepre}comments","{$oldtablepre}links","{$oldtablepre}options","{$oldtablepre}postmeta","{$oldtablepre}posts","{$oldtablepre}terms","{$oldtablepre}term_relationships","{$oldtablepre}term_taxonomy","{$oldtablepre}usermeta","{$oldtablepre}users");

echo '<div style="font-size:1.2em;"><span style="color:gray;font-weight:bold;">下面更改表名:</span><hr></hr>';

foreach ($tables as $key => $value){
    $oldtable=$value;
    $newtable=str_replace($oldtablepre,$newtablepre,$value);
    $wpdb->query("ALTER TABLE `$oldtable` RENAME TO `$newtable`");
    echo '成功更改表名'.$oldtable.'为:<span style="color:green;">'.$newtable.'</span><br></br>';
}

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'options表中的键值:</span><hr></hr>';

$wpdb->query("update `{$newtablepre}options` set `option_name`=replace(option_name,'{$oldtablepre}user_roles','{$newtablepre}user_roles')");

echo '成功更改'.$oldtablepre.'user_roles为:<span style="color:green;">'.$newtablepre.'user_roles</span><br></br>';

$meta_key=array("{$oldtablepre}capabilities","{$oldtablepre}user_level","{$oldtablepre}autosave_draft_ids","{$oldtablepre}usersettings","{$oldtablepre}usersettingstime");

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'usermeta表中的键值:</span><hr></hr>';

foreach ($meta_key as $key => $value){
    $oldoption=$value;
    $newoption=str_replace($oldtablepre,$newtablepre,$value);
    $rs=$wpdb->query("update `{$newtablepre}usermeta` set `meta_key` =replace(meta_key,'$oldoption','$newoption')");
    echo '成功更改'.$oldoption.'为:<span style="color:green;">'.$newoption.'</span><br></br>';
}

echo '</div>';

?>

2.将站点根目录下的wp-config.php文件中的数据库前缀修改为最新前缀,并保存就可以了。
如果你是通过FTP将wp-config.php文件文件下载到本地后修改,还需要将保存后的文件上传至服务器并覆盖原有文件。

MySQL数据库备份命令

linux下

1 导出一个数据库的结构

mysqldump -d dbname -uroot -p > dbname.sql

2 导出多个数据库的结构

mysqldump -d -B dbname1 dbname2 -uroot -p > dbname.sql

3 导出一个数据库中数据(不包含结构)

mysqldump -t dbname -uroot -p > dbname.sql

4 导出多个数据库中数据(不包含结构)

mysqldump -t -B dbname1 dbname2 -uroot -p > dbname.sql

5 导出一个数据库的结构以及数据

mysqldump dbname -uroot -p > dbname.sql

6 导出多个数据库的结构以及数据

mysqldump -B dbname1 dbname2 -uroot -p > dbname.sql

7 导出一个数据库中一个表的结构

mysqldump -d dbname1 tablename -uroot -p > tablename.sql

8 导出一个数据库中多个表的结构

mysqldump -d -B dbname1 –tables tablename1 tablename2 -uroot -p > tablename.sql

9 导出一个数据库中一个表的数据(不包含结构)

mysqldump -t dbname1 tablename -uroot -p > tablename.sql

10 导出一个数据库中多个表的数据(不包含结构)

mysqldump -t -B dbname1 –tables tablename1 tablename2 -uroot -p > tablename.sql

11 导出一个数据库中一个表的结构以及数据

mysqldump dbname1 tablename -uroot -p > tablename.sql

12 导出一个数据库中多个表的结构以及数据

mysqldump -B dbname1 –tables tablename1 tablename2 -uroot -p > tablename.sql

存储过程&函数操作

1 只导出存储过程和函数(不导出结构和数据,要同时导出结构的话,需要同时使用-d)

mysqldump -R -ndt dbname -u root -p > dbname.sql

2 只导出事件

mysqldump -E -ndt dbname -u root -p > dbname.sql

3 不导出触发器(触发器是默认导出的–triggers,使用–skip-triggers屏蔽导出触发器)

mysqldump –skip-triggers dbname1 -u root -p > dbname.sql

把导出的数据导入到数据库

mysql -u root -p
use dbname;
source dbname.sql

总结一下:
-d 结构(–no-data:不导出任何数据,只导出数据库表结构)

-t 数据(–no-create-info:只导出数据,而不添加CREATE TABLE 语句)

-n (–no-create-db:只导出数据,而不添加CREATE DATABASE 语句)

-R (–routines:导出存储过程以及自定义函数)

-E (–events:导出事件)

–triggers (默认导出触发器,使用–skip-triggers屏蔽导出)

-B (–databases:导出数据库列表,单个库时可省略)

–tables 表列表(单个表时可省略)
①同时导出结构以及数据时可同时省略-d和-t
②同时 不 导出结构和数据可使用-ntd
③只导出存储过程和函数可使用-R -ntd
④导出所有(结构&数据&存储过程&函数&事件&触发器)使用-R -E(相当于①,省略了-d -t;触发器默认导出)
⑤只导出结构&函数&事件&触发器使用 -R -E -d
二、导入数据库
1、首先建空数据库
mysql>create database abc;

2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql

 

三 . shell mode:

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
备份MySQL数据库为带删除表的格式
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
直接将MySQL数据库压缩备份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
备份MySQL数据库某个(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同时备份多个MySQL数据库

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
仅仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql
还原MySQL数据库的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql
还原压缩的MySQL数据库

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
将数据库转移到新服务器

mysqldump -uusername -ppassword databasename | mysql –host=... -C databasename

关于ajax跨域问题

flash跨域加载只要求服务器根目录下有crossdomain即可,ajax跨域可以用jsonp解决
简单点说,就是访问的url里加上callback参数,就像这样:
http://xxx.com/getAuctionReport.php?start_time=2013-09-26+9:15:7&end_time=2013-09-26+10:17:13&code=all&vendor=1&callback=aaa
返回:
aaa({jsondata});
然后在页面定义一个function aaa(s){alert(s);}

mysql创建自增id

CREATE TABLE `da` (
`id` INT(12) NOT NULL AUTO_INCREMENT,
`DATE` DATE DEFAULT NULL,
PRIMARY KEY (`id`)
)

div水平排列

[code]

123213123
123213123
123213123
123213123

[/code]