Discuz!二次开发必备知识——DZ程序变量

Discuz!二次开发必备知识——DZ程序变量

变量名称
[A]字母组
action操作adminid管理级别
adminemailconfigincphp里面设置的那个adminid管理组id(1管理员2超版3普版-1特殊)
adminpaccess不详allowanonymous是否允许匿名
allowavatar是否允许使用头像allowbanip是否允许ban ip
allowbanuser是否允许ban用户allowviewip是否允许查看IP
allowgetattach是否允许下载附件allowpostannounce是否允许发公告
allowcensorword是否允许设置词语过滤(主观臆测)allow反正就是权限的全局变量,等回在整理
attahdir附件上传目录(绝对)attachextsions允许的附件扩展名(应该是)
attachimgpost帖子中是否显示图片附件attachrefcheck下载附件是否来路检查
attachsave附件保存方式attachurl附件上传目录(相对)
attackevasiveconfigincphp中设置,防DDOS攻击设置,详细见该文件avatarshow_license天下秀license
avatarshowdefault系统管理中显示默认形象设置avatarshowheight系统管理中头像最大高度
avatarshowwidth系统管理的头像宽度avatarshowid用户头像所对应用户的 UID
archiverstatus启用 Archiverattachrefcheck下载附件来路检查
avatarshowstatus关闭天下秀allowvisit允许访问
allowpost允许发帖allowreply允许回复
allowpostpoll允许发投票allowdirectpost允许直接发帖
allowgetattach允许查看附件allowpostattach允许上传附件
allowvote允许投票allowmultigroups允许加入/离开公众用户组
allowsearch允许搜索allowavatar允许使用头像
allowcstatus允许使用自定义头衔allowuseblog允许使用BLOG
allowinvisible允许隐身allowtransfer允许积分转账
allowsetreadperm允许设置帖子阅读权限allowsetattachperm允许设置附件阅读权限
allowhidecode允许使用HIDEallowhtml允许使用HTML
allowcusbbcode允许使用自定义BBCODEallowanonymous允许匿名
allownickname 允许用昵称allowsigbbcode允许签名用BBCODE
allowsigimgcode允许签名用IMGallowviewpro允许看个人信息
allowviewstats允许看统计attachextensions附件允许拓展名
adminemail论坛系统 Emailattachdir附件保存位置
attachurl附件路径 URL 地址attackevasive防护大量正常请求造成的拒绝服务攻击

[B]字母组
bbname论坛名boardurl论坛地址
{boardurl}forumdisplay?fid=fid版块地址
{boardurl}viewthreadphp?tid=tid帖子地址
bdaystatus发送生日邮件bannedmessages禁言是否显示“该用户已经被屏蔽”的信息
bbclosed是否关闭论坛bbinsert是否用BBCODE代码
bbrules论坛规则bbrulestxt论坛规则是否允许使用HTML
boardlicensed显示论坛授权信息

[C]字母组credits积分
censoremail启用EMAIL审核censoruser启用用户审核
closedreason论坛关闭显示的信息creditsformula积分公式
creditsformulaexp还是公式?creditsnotify启用的拓展积分
creditspolicy积分策略creditstax积分交易手续费比率
creditstrans交易积分设置custombackup?未知
cookiedomaincookie 作用域cookiepathcookie 作用路径

[D]字母组
db数据库操作类discuz_user discuz_userss当前用户名discuz_uid当前uid
discuz_pw当前用户密码的 MD5discuz_secques当前用户安全提问信息
dateformat用户的日期格式delayviewcount点击数延迟更新
debug显示程序运行信息dotfolders本人发起或回复的主题显示加点图标
dupkarmarate允许重复评分digest精华
dotfolders是否将当前用户的主题加点delayviewcount浏览延迟
deletereason删除理由doublee允许同一 Email 注册不同用户
dupkarmarate允许重复评分dbhost数据库服务器
dbuser数据库用户名dbpw数据库密码
dbname数据库名dbreport是否发送数据库错误报告
databaseMySQL 版本设置dbcharsetMySQL 字符集

[E]字母组
extcredits扩展积分信息(array)extcredits拓展积分
exchangemincredits兑换最低余额edittimelimit编辑帖子限制时间
editedby显示最后编辑信息errorreport是否报告 PHP 错误

[F]字母组
forum[name]版块名字fastpost快速发帖
fullmytopics我的话题全文搜索forumjump显示论坛跳转菜单
floodctrl发帖灌水预防(秒)fastpost显示快速发表
forcesecques管理人员必须设置安全提问才能进入系统设置

[G]字母组gzipcompress页面 Gzip 压缩
globalstick启用全局置顶groupid用户组ID

[H]字母组
hideprivate隐藏无权访问的论坛hottopic热门主题帖数
hideprivate隐藏无权访问的论坛headercharset强制设置字符集,只乱码时使用

[I]字母组
ipaccessIP允许访问后台权限ipregctrlIP注册控制

[J]字母组
jscachelifeJS数据缓存时间(秒)jsrefdomainsJS来路限制
jsstatus启用JS

[K]字母组keyword关键字
karmaratelimit评分时间限制(小时):

[L]字母组loadctrl系统负载控制
losslessdel删帖不减积分最大天数loadctrl负载控制

[N]字母组
navtitle标题navigation描述
nocacheheaders禁止浏览器缓冲newgroupid新用户组别
newsletter?未知newbiespan新手见习时间

[M]字母组
memberperpage每页显示会员数modworkstatus论坛管理工作统计
maxonlines最大在线人数maxspm60秒最大搜索次数
maxsearchresults最大搜索结果maxsmilies最大单一 Smilies解析次数
membermaxpages用户列表最大页数memliststatus允许查看会员列表
maxbdays首页显示生日modworkstatus启用管理统计
modreasons管理理由modratelimit版主评分限制
moddisplay版主显示方式minpostsize最小字数
memliststatus启用会员列表查看memberperpage会员列表每页显示会员
membermaxpages会员列表最大页数maxthreadads主题广告最大数目
maxspm60 秒最大搜索次数maxsmilies同一SMILES最大解析数
maxsigrows最大签名高度maxsearchresults最大搜索结果
maxpostsize帖子最大字数maxpolloptions投票最大选项数
maxonlines最大在线人数maxmodworksmonths管理记录保留最长时间
maxincperthread单主题最高收入maxchargespan单主题最高出售时限(小时):
maxprice最大售价maxattachsize最大附件尺寸
maxsizeperday一天最大附件尺寸maxpmnum最大购买天数

[O]字母组
onlineip用户 IPoltimespan用户在线时间更新时长(分钟)
onlinehold在线保持时间

[P]字母组post[authortitle]用户组
ppp每页显示贴数posts帖数
postperday平均每日的发帖pconnect数据库持久连接

[R]字母组
rssstatus启用 RSSrewritestatusURL 静态化
regfloodctrl24 小时注册尝试次数限制reportpost允许向版主报告帖子
readaccess关系到阅读权限rewritestatus静态启用规律
reportpost启用报告regverify注册审核启用
regstatus允许注册regfloodctrl24 小时注册尝试次数限制
regctrlIP 注册间隔限制(小时)reasonpmPM强制理由
raterange评分范围

[S]字母组styleid当前风格的 ID
stylejump显示风格下拉菜单sessionexists是否更新 sessions
statstatus使用论坛流量统计statscachelife统计系统缓存时间
seccodestatus启用验证码(安全)searchctrl搜索时间限制(秒)
subforumsindex首页显示论坛的下级子论坛stylejump风格跳转菜单
statstatus启用统计statscachelife统计更新时间(分钟)
starthreshold星星升级数smileyinsert启用 SMILES
smcols一行显示 SMILES 个数showemail显示 EMAIL
seokeywords关键字seodescription头部描述
seccodestatus验证码启用searchctrl搜索控制时间
searchbanperiods禁止全文搜索时间段

[T]字母组tablepre表前缀
timestamp时间信息timeformat用户的时间格式
timeoffset用户的时差thread[author]作者
thread[dateline]时间thread[replies]评论次数
thread[views]查看次数thread[subject]帖子名称
tpp每页显示主题数threadmaxpages主题列表最大页数
transsidstatus启用 URL 传递 sidtransfermincredits转账最低余额
topicperpage每页主题threadmaxpages主题列表最大页数
tplrefresh模板自动刷新开关

[U]字母组userstatusby用户组头衔衡量标准

[V]字母组
visitedforums显示最近访问论坛数量vtonlinestatus帖子中显示作者状态
version当前的版本visitbanperiods禁止访问时间段

[W]字母组
welcomemsg禁止自动向新注册用户发送欢迎短消息whosonlinestatus显示在线用户
wapstatus启用 WAPwatermarkquality水印透明度
whosonlinestatus在线列表显示方式welcomemsgtxt欢迎短信息内容
welcomemsg启用欢迎短信息watermarkstatus启用水印
watermarktrans水印融合度waptppWAP浏览页数
wapstatus启用WAPwappppWAP浏览显示主题数
wapmpsWAP 页最大长度wapdateformatWAP时间格式
wapcharsetWAP字符设定
变量名称                          名称说明
IN_DISCUZ是否在论坛里
DISCUZ_ROOT路径
CURSCRIPT某些页面自定义
FORMHASH随机串

 
变量名称                          名称说明
[_]字符组_DCACHE。。。。。。。。。。。。。。。。。。。。。。。。cache数组
_DPLUGIN。。。。。。。。。。。。。。。。。。。。。。。。pluginscache数组(要预先require相关cache文件)

[A]字母组advlist存储广告信息(头部广告等等)

[C]字母组
creditspolicy存储积分策略

[E]字母组extcredits扩展积分信息

[F]字母组
forum看名字是存储版面信息

[G]字母组
[H]字母组hooks钩子

[I]字母组
[J]字母组
[K]字母组
[L]字母组
[N]字母组
[M]字母组
modreasons管理操作时候的默认理由mtime精确的时间

[O]字母组
[P]字母组
plugins前台插件列表

[Q]字母组qihoo_links跟qihoo有关

[R]字母组
raterange评分功能中控制最大值和最小值

[S]字母组
[T]字母组timenow = array(‘timeoffset’ => ‘+8′,’time’ =>’2006-6-3006:22 PM’);好用吧
thread[‘password’]密码

[U]字母组
[V]字母组
[W]字母组
[X]字母组
[Y]字母组
[Z]字母组

作者:thread[author]
时间:thread[dateline]
评论次数:
thread[replies]
查看次数:thread[views]
用户组:
post[authortitle]
论坛名称:bbname
论坛地址:
boardurl
版块名字:forum[name]
版块地址:{
boardurl}forumdisplay?fid=fid
帖子名称:
thread[subject]
帖子地址:{boardurl}viewthreadphp?tid=tid

 
变量:
bbname 论坛名boardurl 论坛地址
styleid 当前风格的idextcredits 扩展积分信息(array)
version D4的版本tablepre 表前缀
timestamp 时间信息(那个字真的不懂怎么拼, 所以不懂写)onlineip 用户ip
db 数据库操作类discuz_user discuz_userss 当前用户名discuz_uid 当前uid
discuz_pw 当前用户密码的md5discuz_secques 当前用户安全提问信息
sessionexists 是否更新 sessionsdateformat 用户的日期格式
timeformat 用户的时间格式timeoffset 用户的时差
navtitle 标题navigation 描述
adminid 管理级别

常量:
IN_DISCUZ 是否在论坛里
DISCUZ_ROOT 路径
CURSCRIPT 某些页面自定义
FORMHASH 随机串
数组类(看详细内容用print_r(数组名))_DCACHE cache数组
_DPLUGIN plugins cache数组(要预先require相关cache文件)advlist 存储广告信息(头部广告等等)
creditspolicy 存储积分策略extcredits 扩展积分信息
forum 看名字是存储版面信息hooks 钩子
modreasons 管理操作时候的默认理由mtime 精确的时间
plugins 前台插件列表qihoo_links跟qihoo有关(废话),具体不知道(无数臭鸡蛋飞来)
raterange 不知道……timenow = array(‘timeoffset’ => ‘+8′,’time’ =>’2006-6-3006:22 PM’);好用吧
应该是全了,剩下还有的什么_SERVER的就不说了

变量部分adminemail configincphp里面设置的那个
adminid 管理组id(1管理员2超版3普版-1特殊)adminpaccess 不详
allowanonymous 是否允许匿名allowavatar 是否允许使用头像
allowbanip 是否允许ban ipallowbanuser 是否允许ban用户
allowcensorword 是否允许设置词语过滤(主管臆测)allow反正就是权限的全局变量,等回在整理
attahdir 附件上传目录(绝对)attachextsions允许的附件扩展名(应该是,我的这个值是chm,pdf,zip,rar,tar,gz,bzip2,gif,jpg,jpeg,png)
attachimgpost 帖子中是否显示图片附件attachrefcheck 下载附件是否来路检查
attachsave 附件保存方式attachurl 附件上传目录(相对)
attackevasiveconfigincphp中设置,放DDOS攻击设置,详细见该文件authkey 不详
avatarshow_license 天下秀license(不需要我们操心的东西)avatarshowdefault 系统管理中显示默认形象设置
avatarshowheight 系统管理中头像最大高度avatarshowid不详,

MySQL查询某一列中不是数字

包含数字的列 :


SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[0-9]{1,}' ;

不包含数字的列 :


 SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[0-9]{1,}' = 0;

Discuz触屏版链接删除尾巴(mobile=2)的方法

现在玩手机的越来越多,DZ的手机模板地位也越来越高,DZ手机版又分触屏版和简易版。现在简易版已经毫无意义,一般说DZ的手机模板就指触屏版。

我们用来区分手机版是触屏版还是简易版等链接是通过&mobile=X来区分。所以现在基本上是&mobile=2;

那么问题就来了,带有&mobile=2的链接在PC上访问是进入misc.php?mod=mobile这个页面,有人会说这有什么关系呢?

这就得说说我们最最关心的了,搜索引擎现在也在大力发展手机方面内容,它有可能收录到带有&mobile=2的链接,那么在PC上访问到这样的链接就惨不忍睹了。

方法如下:

第一步:

找到文件/source/class/helper/helper_mobile.php中:

content = preg_replace(“/href=\”(\w+\.php)(.*?)\”/e”, “mobilereplace(‘\\1’, ‘\\2’)”,content);

复制代码

将其删除或者注释掉即可;

第二步:

查找文件/source/function/function_core.php中:

function dheader(string,replace = true, http_response_code = 0)

复制代码

将其下面的:

if(defined(‘IN_MOBILE’) && strpos(string, ‘mobile’) === false && islocation) {

if (strpos(string, ‘?’) === false) {

string =string.’?mobile=’.IN_MOBILE;

} else {

if(strpos(string, ‘#’) === false) {string = string.’&mobile=’.IN_MOBILE;

} else {str_arr = explode(‘#’, string);str_arr[0] = str_arr[0].’&mobile=’.IN_MOBILE;string = implode(‘#’, $str_arr);

}

}

}

复制代码

删除或者注释掉即可。

这样做之后再手机上访问和PC上访问的是同一个链接,也能正常访问手机版,需要注意的是要设置默认手机版是触屏版,相信现在没人不是这么设置。

这样修改还有一个好处就是理论上会减些轻服务器负担,提升速度虽然人难体会得到。

本文地址:http://itbyc.com/cms/discuz/18138.html
转载请注明出处。

win10 64位安装memcache扩展和开启redis扩展

下载文件

附件有memcached的安装文件和php5.2到php5.6的memcache扩展文件,php_redis.dll下载地址:http://windows.php.net/downloads/pecl/releases/redis/2.2.7/

安装扩展

解压memcached那个压缩文件到任意位置,比如说D盘datas文件夹下。找到cmd.exe(c:\windows\system32\cmd.exe),右键以管理员方式运行(否则会提示failed to install service or service already installed),输入D:回车,接着cd到memcached解压的那个文件夹下执行memcached -d install命令安装,回车,如果没有任何提示则表示安装成功,再输入memcached -d start回车,开启memcached进程,如图所示,可以在服务中看到memcached正在运行

开启扩展

将附件中php_memcache扩展解压到php安装目录下的ext文件夹中,选择好适应的版本,之前安装的php版本是php-5.5.37-Win32-VC11-x64,从phpinfo函数可以看出php版本信息,如下图,所以我选择了php5.5-ts-vc11-x64版本的php_memcache扩展,在php.ini中extension添加一条extension=php_memcache.dll,同理将下载的phpredis扩展解压到php安装目录下的ext文件夹中,在php.ini中extension添加一条extension=php_redis.dll


重启Apache服务器

打开测试文件写入phpinfo()函数,如图所示则表示扩展安装成功。


继续编辑测试文件 输入如下代码

<?php  
    //phpinfo();
    $memcache = new Memcache();  
    $memcache->connect('127.0.0.1', 11211 ) or die ( "Could not connect Memcached server!" );    
    $memcache->set( 'Memcache', "hello Memcache!<br/>");  
    echo $memcache->get('Memcache'); 
    echo "<br>";
    $redis = new Redis();  
    $redis->connect("192.168.1.103","6379");  //php客户端设置的ip及端口  
    //存储一个值  
    $redis->set("say","Hello redis ");  
    echo $redis->get("say");     //Hello redis 
?> 

输出hello Memcache!配置成功!
附件:
http://files.cnblogs.com/files/weblm/memcached%E6%89%A9%E5%B1%95.rar

转载:http://www.cnblogs.com/weblm/p/5793030.html#_labelTop

pycharm快捷键、常用设置、配置管理

PyCharm3.0默认快捷键(翻译的)

PyCharm Default Keymap

1、编辑(Editing)

Ctrl + Space    基本的代码完成(类、方法、属性)
Ctrl + Alt + Space  快速导入任意类
Ctrl + Shift + Enter    语句完成
Ctrl + P    参数信息(在方法中调用参数)

Ctrl + Q    快速查看文档

F1   外部文档

Shift + F1    外部文档,进入web文档主页

Ctrl + Shift + Z –> Redo 重做

Ctrl + 悬浮/单击鼠标左键    简介/进入代码定义
Ctrl + F1    显示错误描述或警告信息
Alt + Insert    自动生成代码
Ctrl + O    重新方法
Ctrl + Alt + T    选中
Ctrl + /    行注释/取消行注释
Ctrl + Shift + /    块注释

Ctrl + W    选中增加的代码块
Ctrl + Shift + W    回到之前状态
Ctrl + Shift + ]/[     选定代码块结束、开始
Alt + Enter    快速修正
Ctrl + Alt + L     代码格式化

Ctrl + Alt + O    优化导入
Ctrl + Alt + I    自动缩进
Tab / Shift + Tab  缩进、不缩进当前行
Ctrl+X/Shift+Delete    剪切当前行或选定的代码块到剪贴板
Ctrl+C/Ctrl+Insert    复制当前行或选定的代码块到剪贴板
Ctrl+V/Shift+Insert    从剪贴板粘贴
Ctrl + Shift + V    从最近的缓冲区粘贴
Ctrl + D  复制选定的区域或行
Ctrl + Y    删除选定的行
Ctrl + Shift + J  添加智能线
Ctrl + Enter   智能线切割
Shift + Enter    另起一行
Ctrl + Shift + U  在选定的区域或代码块间切换
Ctrl + Delete   删除到字符结束
Ctrl + Backspace   删除到字符开始
Ctrl + Numpad+/-   展开/折叠代码块(当前位置的:函数,注释等)
Ctrl + shift + Numpad+/-   展开/折叠所有代码块
Ctrl + F4   关闭运行的选项卡
 2、查找/替换(Search/Replace)
F3   下一个
Shift + F3   前一个
Ctrl + R   替换
Ctrl + Shift + F  或者连续2次敲击shift   全局查找
{可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的}
Ctrl + Shift + R   全局替换
 3、运行(Running)
Alt + Shift + F10   运行模式配置
Alt + Shift + F9    调试模式配置
Shift + F10    运行
Shift + F9   调试
Ctrl + Shift + F10   运行编辑器配置
Ctrl + Alt + R   运行manage.py任务
 4、调试(Debugging)
F8   跳过
F7   进入
Shift + F8   退出
Alt + F9    运行游标
Alt + F8    验证表达式
Ctrl + Alt + F8   快速验证表达式
F9    恢复程序
Ctrl + F8   断点开关
Ctrl + Shift + F8   查看断点
 5、导航(Navigation)
Ctrl + N    跳转到类
Ctrl + Shift + N    跳转到符号

Alt + Right/Left    跳转到下一个、前一个编辑的选项卡(代码文件)

Alt + Up/Down跳转到上一个、下一个方法

F12    回到先前的工具窗口
Esc    从工具窗口回到编辑窗口
Shift + Esc   隐藏运行的、最近运行的窗口
Ctrl + Shift + F4   关闭主动运行的选项卡
Ctrl + G    查看当前行号、字符号
Ctrl + E   当前文件弹出,打开最近使用的文件列表
Ctrl+Alt+Left/Right   后退、前进

Ctrl+Shift+Backspace    导航到最近编辑区域 {差不多就是返回上次编辑的位置}

Alt + F1   查找当前文件或标识
Ctrl+B / Ctrl+Click    跳转到声明
Ctrl + Alt + B    跳转到实现
Ctrl + Shift + I查看快速定义
Ctrl + Shift + B跳转到类型声明

Ctrl + U跳转到父方法、父类

Ctrl + ]/[跳转到代码块结束、开始

Ctrl + F12弹出文件结构
Ctrl + H类型层次结构
Ctrl + Shift + H方法层次结构
Ctrl + Alt + H调用层次结构
F2 / Shift + F2下一条、前一条高亮的错误
F4 / Ctrl + Enter编辑资源、查看资源
Alt + Home显示导航条F11书签开关
Ctrl + Shift + F11书签助记开关
Ctrl + #[0-9]跳转到标识的书签
Shift + F11显示书签
 6、搜索相关(Usage Search)
Alt + F7/Ctrl + F7文件中查询用法
Ctrl + Shift + F7文件中用法高亮显示
Ctrl + Alt + F7显示用法
 7、重构(Refactoring)
F5复制F6剪切
Alt + Delete安全删除
Shift + F6重命名
Ctrl + F6更改签名
Ctrl + Alt + N内联
Ctrl + Alt + M提取方法
Ctrl + Alt + V提取属性
Ctrl + Alt + F提取字段
Ctrl + Alt + C提取常量
Ctrl + Alt + P提取参数
 8、控制VCS/Local History
Ctrl + K提交项目
Ctrl + T更新项目
Alt + Shift + C查看最近的变化
Alt + BackQuote(’)VCS快速弹出
 9、模版(Live Templates)
Ctrl + Alt + J当前行使用模版
Ctrl +J插入模版
 10、基本(General)
Alt + #[0-9]打开相应的工具窗口
Ctrl + Alt + Y同步
Ctrl + Shift + F12最大化编辑开关
Alt + Shift + F添加到最喜欢
Alt + Shift + I根据配置检查当前文件
Ctrl + BackQuote(’)快速切换当前计划
Ctrl + Alt + S 打开设置页
Ctrl + Shift + A查找编辑器里所有的动作

Ctrl + Tab在窗口间进行切换

[pycharm 2.7 快捷键]

皮皮Blog

pycharm常用设置

lz提示一下,pycharm中的设置是可以导入和导出的,file>export settings可以保存当前pycharm中的设置为jar文件,重装时可以直接import settings>jar文件,就不用重复配置了。

file -> Setting ->Editor

1. 设置Python自动引入包,要先在 >general > autoimport -> python :show popup

快捷键:Alt + Enter: 自动添加包

2. “代码自动完成”时间延时设置

> Code Completion   -> Auto code completion in (ms):0  -> Autopopup in (ms):500

3. Pycharm中默认是不能用Ctrl+滚轮改变字体大小的,可以在〉Mouse中设置

4. 显示“行号”与“空白字符”

> Appearance  -> 勾选“Show line numbers”、“Show whitespaces”、“Show method separators”

5. 设置编辑器“颜色与字体”主题

> Colors & Fonts -> Scheme name -> 选择”monokai”“Darcula”

说明:先选择“monokai”,再“Save As”为”monokai-pipi”,因为默认的主题是“只读的”,一些字体大小颜色什么的都不能修改,拷贝一份后方可修改!

修改字体大小

> Colors & Fonts -> Font -> Size -> 设置为“14”

6. 设置缩进符为制表符“Tab”

File -> Default Settings -> Code Style

-> General -> 勾选“Use tab character”

-> Python -> 勾选“Use tab character”

-> 其他的语言代码同理设置

7. 去掉默认折叠

> Code Folding -> Collapse by default -> 全部去掉勾选

8. pycharm默认是自动保存的,习惯自己按ctrl + s  的可以进行如下设置:
> General -> Synchronization -> Save files on frame deactivation  和 Save files automatically if application is idle for .. sec 的勾去掉

> Editor Tabs -> Mark modified tabs with asterisk 打上勾

9.>file and code template>python scripts

#!/usr/bin/env python
# -*- coding: utf-8 -*-
“””
__title__ = ‘Package_name’
__author__ = ‘
USER’
__mtime__ = ‘$DATE’
# code is far away from bugs with the god animal protecting
I love animals. They taste delicious.
┏┓      ┏┓
┏┛┻━━━┛┻┓
┃      ☃      ┃
┃  ┳┛  ┗┳  ┃
┃      ┻      ┃
┗━┓      ┏━┛
┃      ┗━━━┓
┃  神兽保佑    ┣┓
┃ 永无BUG!   ┏┛
┗┓┓┏━┳┓┏┛
┃┫┫  ┃┫┫
┗┻┛  ┗┻┛
“””

10 python文件默认编码

File Encodings> IDE Encoding: UTF-8;Project Encoding: UTF-8;

11. 代码自动整理设置

这里line breaks去掉√,否则bar, 和baz会分开在不同行,不好看。

皮皮Blog

File -> Settings -> appearance

1. 修改IDE快捷键方案

> Keymap

1) execute selection in console : add keymap > ctrl + enter

系统自带了好几种快捷键方案,下拉框中有如“defaul”,“Visual Studio”,在查找Bug时非常有用,“NetBeans 6.5”,“Default for GNOME”等等可选项,

因为“Eclipse”方案比较大众,个人用的也比较多,最终选择了“Eclipse”。

还是有几个常用的快捷键跟Eclipse不一样,为了能修改,还得先对Eclipse方案拷贝一份:

(1).代码提示功能,默认是【Ctrl+空格】,现改为跟Eclipse一样,即【Alt+/】

Main menu -> code -> Completion -> Basic -> 设置为“Alt+/”

Main menu -> code -> Completion -> SmartType -> 设置为“Alt+Shift+/”

不过“Alt+/”默认又被

Main menu -> code -> Completion -> Basic -> Cyclic Expand Word 占用,先把它删除再说吧(单击右键删除)!

(2).关闭当前文档,默认是【Ctrl+F4】,现改为跟Eclipse一样,即【Ctrl+W】

Main menu -> Window -> Active Tool Window -> Close Active Tab -> 设置为 “Ctrl+F4”;

Main menu -> Window -> Editor -> Close -> 设置为 “Ctrl+W”;

2.设置IDE皮肤主题

> Theme -> 选择“Alloy.IDEA Theme”

或者在setting中搜索theme可以改变主题,所有配色统一改变

File > settings > build.excution

每次打开python控制台时自动执行代码

> console > pyconsole

import sys
# print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])
import  os
print('current workdirectory : ', os.getcwd() )
import  numpy as  np
import  scipy as sp
import  matplotlib as mpl

如果安装了ipython,则在pyconsole中使用更强大的ipython

> console

选中use ipython if available

这样每次打开pyconsole就会打开ipython

Note: 在virtualenv中安装ipython: (ubuntu_env) pika:/media/pika/files/mine/python_workspace/ubuntu_env$pip install ipython

File > settings > Languages & Frameworks

如果在项目设置中开启了django支持,打开python console时会自动变成打开django console,当然如果不想这样就关闭项目对django的支持:

如果打开支持就会在 settings > build.excution > console下多显示一个django console:

Django console设置如下

import sys
print('Python %s on %s' % (sys.version, sys.platform))
import django
print('Django %s' % django.get_version())
sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])
if 'setup' in dir(django): django.setup()
import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)

File > settings > Project : initial project

project dependencies > LDA > project depends on these projects > 选择sim_cluster就可以在LDA中调用sim_cluster中的包

[Configure PyCharm]

皮皮Blog

pycharm环境和路径配置

python解释器路径

python项目解释器路径

用于配置python项目执行的python路径

比如,有的项目是运行的是系统python2.7下的环境;有的是3.4;有的项目使用的是virtualenv的python环境[python虚拟环境配置 – pycharm中的项目配置]

在pycharm > file > settings > project:pythonworkspace > project interpreter > 选择对应项目 > project interpreter中指定python解释器

pycharm中运行configuration有一个选项add content roots to pythonpath

选中后sys.path中会多一整个项目project的路径/media/pika/files/mine/python_workspace,里面的目录就被当成包使用,这样就可以通过from SocialNetworks.SocialNetworks引入不是python包的目录中的文件了。

不过最好使用sys.path.append(os.path.join(os.path.split(os.path.realpath(__file__))[0],”../..”))来添加,这样在pycharm外也可以运行不出错 。

[python模块导入及属性:import ]

pycharm中进行python包管理

pycharm中的项目中可以包含package、目录(目录名可以有空格)、等等

目录的某个包中的某个py文件要调用另一个py文件中的函数,首先要将目录设置为source root,这样才能从包中至上至上正确引入函数,否则怎么引入都出错:

SystemError: Parent module ” not loaded, cannot perform relative import

Note:目录 > 右键 > make directory as > source root

python脚本解释路径

ctrl + shift + f10 / f10 执行python脚本时

当前工作目录cwd为run/debug configurations 中的working directory

可在edit configurations > project or defaults中配置

console执行路径和当前工作目录

python console中执行时

cwd为File > settings > build.excution > console > pyconsole中的working directory

并可在其中配置

pycharm配置os.environ环境

pycharm中os.environ不能读取到terminal中的系统环境变量

pycharm中os.environ不能读取.bashrc参数

使用pycharm,无论在python console还是在module中使用os.environ返回的dict中都没有~/.bashrc中的设置的变量,但是有/etc/profile中的变量配置。然而在terminal中使用python,os.environ却可以获取~/.bashrc的内容。

解决方法1:

在~/.bashrc中设置的系统环境只能在terminal shell下运行spark程序才有效,因为.bashrc is only read for interactive shells.

如果要在当前用户整个系统中都有效(包括pycharm等等IDE),就应该将系统环境变量设置在~/.profile文件中。如果是设置所有用户整个系统,修改/etc/profile或者/etc/environment吧。

如SPARK_HOME的设置[Spark:相关错误总结 ]

解决方法2:在代码中设置,这样不管环境有没有问题了

# spark environment settings
import sys, os
os.environ['SPARK_HOME'] = conf.get(SECTION, 'SPARK_HOME')
sys.path.append(os.path.join(conf.get(SECTION, 'SPARK_HOME'), 'python'))
os.environ["PYSPARK_PYTHON"] = conf.get(SECTION, 'PYSPARK_PYTHON')
os.environ['SPARK_LOCAL_IP'] = conf.get(SECTION, 'SPARK_LOCAL_IP')
os.environ['JAVA_HOME'] = conf.get(SECTION, 'JAVA_HOME')
os.environ['PYTHONPATH'] = 'SPARK_HOME/python/lib/py4j-0.10.3-src.zip:PYTHONPATH'

pycharm配置第三方库代码自动提示

参考[Spark安装和配置]

皮皮Blog

Pycharm实用拓展功能

pycharm中清除已编译.pyc中间文件

选中你的workspace > 右键 > clean python compiled files

还可以自己写一个清除代码

pycharm设置外部工具

[python小工具 ]针对当前pycharm中打开的py文件对应的目录删除其中所有的pyc文件。如果是直接运行(而不是在下面的tools中运行),则删除E:\mine\python_workspace\WebSite目录下的pyc文件。

将上面的删除代码改成外部工具

PyCharm > settings > tools > external tools > +添加

Name: DelPyc

program: PyInterpreterDirectory/python Python安装路径

Parameters: ProjectFileDir/Oth/Utility/DelPyc.py FileDir

Work directory: FileDir

Note:Parameters后面的 FileDir参数是说,DelPyc是针对当前pycharm中打开的py文件对应的目录删除其中所有的pyc文件。

之后可以通过下面的方式直接执行

Note:再添加一个Tools名为DelPycIn

program: Python安装路径,e.g.     D:\python3.4.2\python.exe

Parameters: E:\mine\python_workspace\Utility\DelPyc.py

Work directory 使用变量 FileDir

参数中没有FileDir,这样就可以直接删除常用目录r’E:\mine\python_workspace\WebSite’了,两个一起用更方便

代码质量

当你在打字的时候,PyCharm会检查你的代码是否符合PEP8。它会让你知道,你是否有太多的空格或空行等等。如果你愿意,你可以配置PyCharm运行pylint作为外部工具。

python2转python3最快方式

/usr/bin/2to3 -wn FileDir

这样在pycharm中打开某个文件,右键external tools > py2topy3就可以瞬间将当前文件所在目录下的所有py2转换成py3,是不是很机智!

[python2和python3的区别、转换及共存 使用 2to3 工具对代码进行检查和转换]

 

http://blog.csdn.net/pipisorry/article/details/39909057

pycharm把.py文件识别成.text文件

pycharm把.py文件识别成.text文件,代码提示没有了,改掉文件名才能出现提示。

可能是因为创造文件的时候不小心把这个文件名与text关联了。

解决方案:

File->Settings->Editor->File Types 里面找到text,然后在text里找到这个文件名,删除就可以了

Win10关闭系统休眠方法

一、首先使用 Windows + R 打开运行对话框,然后键入命令:cmd 完成后,按回车键或点下方的“确定”打开

二、打开CMD命令窗口之后,再键入命名:powercfg -h off  完成后,按“回车键”运行。

重新打开 powercfg -h on

 

Git 合并多个 Commit

在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。

首先假设我们有3个 commit

git-log-origin.png

我们需要将 2dfbc7e8 和 c4e858b5 合并成一个 commit,那么我们输入如下命令

git-rebase-i.png

其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit, 接着我们就进入到 vi 的编辑模式

git-rebase-edit.png

可以看到其中分为两个部分,上方未注释的部分是填写要执行的指令,而下方注释的部分则是指令的提示说明。指令部分中由前方的命令名称、commit hash 和 commit message 组成。

当前我们只要知道 picksquash 这两个命令即可。

  • pick 的意思是要会执行这个 commit
  • squash 的意思是这个 commit 会被合并到前一个commit

我们将 c4e858b5 这个 commit 前方的命令改成 squashs,然后输入:wq以保存并退出

git-rebase-squash.png

这是我们会看到 commit message 的编辑界面

git-rebase-commit-message.png

其中, 非注释部分就是两次的 commit message, 你要做的就是将这两个修改成新的 commit message。

git-rebase-commit-message-combination.png

输入wq保存并推出, 再次输入git log查看 commit 历史信息,你会发现这两个 commit 已经合并了。

git-rebase-log-new.png

注意事项:如果这个过程中有操作错误,可以使用 git rebase --abort来撤销修改,回到没有开始操作合并之前的状态。

作者:_Ryeeeeee
链接:http://www.jianshu.com/p/964de879904a
來源:简书

PHP从5.3.9开始增加一个变量 max_input_vars 用来限制提交的表单数量

折腾了半天,发现了这个奥秘,原来php小版本升级引起的不兼容,

php.ini 文件里的  max_input_vars 默认值为 1000, 正常情况下够用,偶尔遇到我这种提交2000多个表单的情况还是比较少见的,不过,如果发现提交表单个数不全的情况,可以试试修改这个配置。

用 phpinfo()查看。

修改后重启php