原因查了下还真是网上说的crontab产生的,邮件发不出去就憋那了
比较简单的方法是在crontab -e 中加一行
MAILTO=””
就不会产生新文件了
SDL LNK2019 无法解析的外部符号 _SDL_main,该符号在函数 _main_utf8 中被引用
LNK2019 无法解析的外部符号 _SDL_main,该符号在函数 _main_utf8 中被引用
#include "stdafx.h"
#include "SDL.h"
int main()
{
return 0;
}
其实就是main格式问题..
这个也是错误的:
int main(int argc, char *argv)
这种是正确的!!
int main(int argc, char *argv[])
MegaCli 磁盘Rebuild,Firmware state: Unconfigured(good), Spun Up
开始是这样的: 机房发邮件说硬盘橙色灯了, 然后我就找公司小朋友去看了,然后其实没有警告灯,但小朋友不太懂,还是把好的硬盘给拔出来了.
悲剧发生了,硬盘橙色警告, 系统橙色叹号也亮了.
查硬盘状态
Firmware state: Unconfigured(good), Spun Up
重建警告状态不对. 其实是流程没整对
网上搜了下处理方式主要如下:
https://community.mcafee.com/thread/60189?tstart=0
setp1:查状态:
# check out the slot ena enclosureDevice
/opt/MegaRAID/CmdTool2/CmdTool2 -pdlist -a0 | egrep “(Slot|Firmware state|Encl)”
EnclosureDevice ID: 0
SlotNumber: 0
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 1
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 2
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 3
Firmwarestate: Online, Spun Up
EnclosureDevice ID: 0
SlotNumber: 4
Firmwarestate: Online, Spun Up
Enclosure Device ID: 0
Slot Number: 5
Firmware state: Unconfigured(good), Spun Up
发现目标了
setp2:
查这个丢失磁盘的信息
/opt/MegaRAID/CmdTool2/CmdTool2 -PDGetMissing -a0
Adapter 0 – Missing Physical drives
No. Array Row Size Expected
0 0 1 285148 MB
这里No=0, array=0 row=1
setp3:
重建
# Bring device back in array
#/opt/MegaRAID/CmdTool2/CmdTool2-PdReplaceMissing -PhysDrv[
/opt/MegaRAID/CmdTool2/CmdTool2 -PdReplaceMissing -PhysDrv[0:5] –array0 -row1 -a0
Adapter: 0:Missing PD at Array 0, Row 1 is replaced.
这里用到了setp2的信息
# now rebuild the array
/opt/MegaRAID/CmdTool2/CmdTool2 -PDRbld -Start -PhysDrv[0:5] -a0
Started rebuild progress on device(Encl-0 Slot-5)
然后再查下状态,开始重建了!!泪奔
nginx 虚拟目录 php环境
虚拟目录这样就行了,顺利地话.
location /dd/ {
root /chroot/dd;
rewrite /huodong/(.*) /$1 break;
index index.html index.htm index.php;
}
location ~ /dd.+.php$ {
root /chroot/dd;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
rewrite /dd/(.*\.php?) /$1 break;
}
php出现异常
FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream
原因可能是顺序问题
location ~ \.php$ {
….
}
有这样的配置放新加php配置的后面。否则无法生效。php会报404。
Spring Security 异常 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘myUserDetailService’ is defined
Spring Security 新版本已经不再建议使用 password-encoder了
跟着网上的例子写
提示:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘myUserDetailService’ is defined
注解了但还是找不到,如果写成
发现最后居然是因为:aspectj版本低啊! 原来写的1.5.4,写最新的就解决了….
org.aspectj
aspectjweaver
1.8.3
org.aspectj
aspectjrt
1.8.3
utf8mb4 – Emoji(Segoe UI 符号字体)显示
ios Emoji表情其他平台也是能支持的
win7 和以下的系统需要安装补丁
http://support.microsoft.com/kb/2729094
即使安装了补丁,还是有少部分不支持
测试页:
http://www.istartedsomething.com/uploads/emojisegoe.html
win2012还有mac表情是彩色的,win7补丁版本显示是黑白的。
数据库需要保存的话需要utf8mb4编码,mysql5.5+
有个不升级数据库的low方案,是存储的时候转下码。
————————
如何让mysql已有字段支持?
ALTER TABLE [tablename] CHANGE [columnname] [columnname] VARCHAR(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
网上有些是给database和table都转换成utf8mb4。其实没必要,转换字段就够了。
然后php也需要设置字符编码,thinkphp中需要如下设置,如果不设置,无法正常存储
‘DB_CHARSET’=> ‘utf8mb4’,
nodejs express 模板感想
安装就不说了,网上很多.
然后试用了 webstorm 集成了 nodejs环境,很给力. 我没用过别家的.
然后里面新建nodejs express的时候有模板选项 jade,ejs,handlebars,hogans
1:jade,非标签语言的模板,类似python的缩进. 但让前端调试,修改的话会加大很多工作量.
2:ejs,<%= VARIABLE_NAME %> 标签格式类似古老的 asp,php,jsp 带<尖括号>视觉上会跟html混淆,看着不舒服.
3:handlebars,{{变量名格式}},看着舒服.就是功能有点弱,比如比较什么的,得自己写下扩展叫helper,也不难.
4:hogans,这个网上文档教程实在是太少,就官网看了下,没有尝试.
没有找别家是因为 webstorm既然支持了,就直接用,简单方便.
最终选择了 handlebars 作为入门模板
消息发送相关记录-socket mqtt
场景是,想在app中增加个私信功能,可以实时收到,应该是还有离线消息保存功能.
目前计划是使用第三方功能, 以防万一研究下其他处理方法.
mqtt 服务端:
moquette : java写的基于netty,netty基于nio
mosquitto : c写的,也开源的,不过c我不熟悉.看网上的测试,性能这个是最好的.
activemq: apache基金会的项目,有个web后台会便于查看.网上测试说普通消息性能没别家高.而且吃内存比较厉害.
我们应用用户不会同时在线那么多,用起来哪家都差不多, 用mosquitto就行.
自定义消息
自己写个消息体也行,3个分割方式,消息定长,消息头定,固定分割符. 然后基于netty处理下.性能应该也没问题.
离线消息
qos协议本身是支持离线数据的,客户端需要设置 clientId ,client开启的时候不清除session.
这样消息没法通过别的程序获得,没法集中管理.有个low点的办法是,所有消息都发给服务器client,服务器client根据内容进行分发. 客户端client收到消息的时候给服务端发送一个回执消息. 服务器收到回调后删除.这样的话服务端也相当于一个client,消息量加一倍.
iOS 非ui主线程更新ui
用线程下载,完成后更新ui,一直更新不了。也不报错。
然后发现需要用
[self performSelectorOnMainThread:@selector(refresh) withObject:nil waitUntilDone:NO];
非ui线程调用这个方法就行了
ios播放器精确控制时间avplayer
首先 试用了MPMoviePlayerViewController
里面提供了方法setCurrentPlaybackTime ,但他会跳到10的整数倍,比如想跳到1-9秒都是从0秒开始,11到19会跳到10秒开始。没发现合适的方法.
后来试用了AVPlayer,
里面提供方法,测试是靠谱好用的
[player seekToTime:t toleranceBefore:kCMTimeZero
toleranceAfter:kCMTimeZero];
重点是后两个参数,是否允许提前播放,和错后播放。如果不设置就跟原来一样10秒倍数播放了。