最近做项目发现在Iphone下,我们上传图片都会被翻转,最后查阅资料发现,的确是IOS的问题不说过程,直接解决方法iOS下,html方式使用<input type="file">上传图片,图片会被旋转。遇到这个问题js是无法解决的,html也没有相应的解决方案。只能放到后台去处理,将旋转的图片再旋转回来。iOS拍摄的图片提供了EXIF信息,Orientation值为6即顺时针90度,有了这个信息我们只需要逆时针旋转90度即可。伪代码 //下面是php的伪代码
$exif = exif_read_data($image_file);//获取exif信息
if (isset($exif['Orientation']) && $exif['Orientation'] == 6) {
//旋转imagerotate($img,-
首先在viewDidLoad方法中加上如下代码:if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableView setLayoutMargins:UIEdgeInsetsZero];
}然后在willDisplayCell方法中加入如下代码:- (void)tableView:(UITableView *)tableView 
最近我们公司的项目的在导出excel的时候偶尔出现内存溢出错误,经过测试发现当数据量大于5000条就出现这个问题(默认php.ini memory 是128M)Allowed memory size of 134217728 bytes exhausted (tried to allocate 43 bytes)解决内存溢出问题方法如下增加内存了,修改php.ini中memory_limit 或者 @ini_set('memory_limit','256M')PHPEXCEL库支持使用缓存 具体缓存使用请查看 phpExcel大数据量情况下内存溢出解决找出内存急剧增加的原因方案1 和 方案2 算是非常简单粗暴的了,但是没有触及根本,就是为什么会内存溢出,作为技术人咱们就应该打破砂锅问到底了本文主要简单描述下我是如何排查内存溢出
本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境 和 本地环境没有关系,随时可以删除这个隔离环境,在创建,这就是Python虚拟环境Virtualenv(是不是感觉和虚拟操作系统有点相似 Virtualbox )下面直接上操作步骤安装Virtualenv$ sudo apt-get install python-dev #python开发包
$ wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-13.1.2.tar.gz#md5=b989598f068d64b32dead530eb25589a
$ tar -xvf virtualenv-13.1.2.tar.gz
$ cd&n
个人一直想做个App,但是学习 IOS 的过程发现 原生的做界面还是听麻烦的就放弃了。后来就转到混合式App阵营了混合式App 定义Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”平台框架选择APICloudDcloud Ionic平台对比Dcloud 平台大量使用H5接口提供一些原生Api(官方号称40万Api),例如 webview,actionsheetMui提供界面框架论坛 和 文档 还算可以,入手快hbuilder开发工具不错(应该这个编辑器最出名了)APICloud 平台官方提供原生模块文档不好入手,新手入手有点高Ionic 平台官网只提供 UI框架 和 JS 组件文档比较完善有大量的插件,借助于 cordova/phonegap 平台遇到的问题 都可以 google 解决开发工具 部署都非常方便个人选择平台个人选择了ioni
项目做完之后 接下来就是打包操作了,接下来直接说Android 打包操作生成签名证书keytool -genkey -alias vincentguo -keyalg RSA -validity 20000 -keystore vincentguo.keystore
#说明:
# -genkey 产生密钥
# -alias vincentguo 别名vincentguo
# -keyalg RSA 使用RSA算法对签名加密
# -validity 20000 有效期限2000天
# -keystore&n
公司有个群发短信的小项目,项目上线了很久也没有什么问题,最近有商家说 我短信群发不能用现象是:发现有时候可以发送,有时候不可以发送,看截图发送的手机数量不一样通过调试php代码发现 php 只接受了1000个 请求参数,然后参看nginx的access 状态是200,正常。在查看php的error log 发现有句提示如下Unknown: Input variables exceeded 1000这句提示就是 最多1000 的请求参数,这个在某些项目中1000可能满足不了需求,所以我们需要修改下,找到php.ini文件 ,搜索关键字 max_input_vars 根据项目需求设置满足你需求的值
大公司一般都会做自动化覆盖测试,会用到不需要节目的浏览器环境,下面有一些开源工具有时间尝试下软件名介绍支持语言Awesomium基于Chromium无图形界面浏览器引擎。C++, .NETbenvBenv是node.js开发的无界面浏览器测试环境,用于测试客户端代码。JavaScriptbrowser-launcherBrowser-Launcher可以检测系统上的所有浏览器版本,并在一个独立的配置文件中启动它们,用于自动测试。JavaScriptbrowser.rb无界面 Ruby 浏览器。RubyBrowserjet无界面webkit浏览器,采用node.js接口。JavaScriptBrowserKit可模拟浏览器的行为。PHPCasperJSCasperJS 是一个开源的导航脚本和测试工具,使用 JavaScript 基于 PhantomJS 编写,用于测试 Web 应用功能,Phantom JS是一个服务器端的 JavaScript API 的 WebKit
服务器经常会产生各种各样的日志文件,我们需要定期清理日志的分类系统日志应用日志系统日志例如系统的history 历史信息 crontab的运行日志 一般系统日志系统都帮我们运维好了,不需要额外配置应用日志例如nginx 的access 和 error 日志 ,php框架的运行日志,这些日志是我们排查问题的有力证据工具logrotatelogrotate是什么logrotate是大多数linux系统自带的日志切割工具logrotate的适用场景logrotate常用来切割仍在被写的“动态”文件,它支持 按时间间隔或文件大小 来触发文件的自动切分(automatic rotation)实战按天保存一周的Nginx日志压缩文件,保留30天,配置文件为「/etc/logrotate.d/nginx」最后代码如下(本人ubuntu系统)/data/logs/nginx/*.log {
&nb
1. 修改root密码 passwd root2.新建用户 useradd vinentguo3.配置免密码登陆 。使用新建用户登陆vps。mkdir ~/.ssh/chmod -R ~/.ssh/touch ~/.ssh/authorized_keys && chmod 644 ~/.ssh/authorized_keys将公钥 放入 新建的 authorized_keys 文件中4.禁止root登陆sudo vim /etc/ssh/sshd_config
将 PermitRootLogin 改成no5. 挂载磁盘(切换到root账号)哥的数据已经没有了,注意注意fdisk /dev/sdb
输入n 新建分区
输入p
输
关于Discuz的加密解密函数,相信大家都有所了解,该authcode函数可以说是对PHP界作出了重大的贡献,真的发觉discuz这个函数写的太精彩啦。研究了一下这个算法,总的来说可以归纳为以下三点:1,动态性,同一字符串使用相同的key,每次加密的密文都不一样,而解密方法只有一个,其实就是把解密的信息放到了密文上面。2,时效性,可以自己加一个限期参数,以秒为单位,这个其实就是在密文里加入了有效时间。3,统一性,加密和解密都用同一个函数,而且用了比较简单的异或算法。由于该函数具有以上功能,所以适用的环境也很多,一般用于用户登陆和开发API时防刷接口等。 代码如下<?php
/**
* $string: 明文 或 密文
* $operation:DECODE表示解密,其它表示加密
* $key: 密匙
* $expiry:密文有效期
*