Jimmygao 发布的文章
在mac上使用adb与fastboot
今天给老娘的Mi2S刷机,研究了一下在mac上刷机的方法,在此记录一下。
PS.本方法适用于所有Android机器
Android File Transfer
安装Android File Transfer
brew cask install android-file-transfer
要在OSX上管理Android手机上的文件,需要下载安装这个官方工具http://www.android.com/filetransfer/
由于某些特殊原因网站打不开不要紧,不会翻墙的TX可以到我的网盘下载到目前最新的Android File Transfer。
下载安装完成后运行,就可以轻松管理手机文件了,这个时候把下载好的ROM拷贝到手机目录下,再进入recovery刷机了。
命令行刷机
安装adb工具
brew cask install android-platform-tools
接下来再terminal中运行adb
和fastboot
即可开始刷机
**小提示:**刷机用到的命令可以参考博主的这篇文章adb,fastboot常用命令及刷机技巧
部分参考来自:
PHP编译错误的解决办法
This article is post on https://coderwall.com/p/ggmpfa
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum -y install libxslt-devel
configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
yum -y install net-snmp-devel
configure: error: Please reinstall readline - I cannot find readline.h
yum -y install readline-devel
configure: error: Cannot find pspell
yum -y install aspell-devel
checking for unixODBC support... configure: error: ODBC header file '/usr/include/sqlext.h' not found!
yum -y install unixODBC-devel
configure: error: Unable to detect ICU prefix or /usr/bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works.
yum -y install libicu-devel
configure: error: utf8mime2text() has new signature, but U8TCANONICAL is missing. This should not happen. Check config.log for additional information.
yum -y install libc-client-devel
configure: error: freetype.h not found.
yum -y install freetype-devel
configure: error: xpm.h not found.
yum -y install libXpm-devel
configure: error: png.h not found.
yum -y install libpng-devel
configure: error: vpx_codec.h not found.
yum -y install libvpx-devel
configure: error: Cannot find enchant
yum -y install enchant-devel
configure: error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/
yum -y install libcurl-devel
LAOGAO added 20140907:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar zxf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make && make install
added 20141003:
Cannot find imap
ln -s /usr/lib64/libc-client.so /usr/lib/libc-client.so
configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing.
yum -y install libc-client-devel
Cannot find ldap.h
yum -y install openldap
yum -y install openldap-devel
configure: error: Cannot find ldap libraries in /usr/lib
cp -frp /usr/lib64/libldap* /usr/lib/
configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
yum -y install postgresql-devel
configure: error: Please reinstall the lib curl distribution
yum -y install curl-devel
configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
yum -y install net-snmp-devel
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
yum -y install libxslt-devel
checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution
Fix:
yum -y install bzip2-devel
checking for cURL support… yes checking if we should use cURL for url streams… no checking for cURL in default path… not found configure: error: Please reinstall the libcurl distribution – easy.h should be in/include/curl/
Fix:
yum -y install curl-devel
checking for curl_multi_strerror in -lcurl… yes checking for QDBM support… no checking for GDBM support… no checking for NDBM support… no configure: error: DBA: Could not find necessary header file(s).
Fix:
yum -y install db4-devel
checking for fabsf… yes checking for floorf… yes configure: error: jpeglib.h not found.
Fix:
yum -y install libjpeg-devel
checking for fabsf… yes checking for floorf… yes checking for jpeg_read_header in -ljpeg… yes configure: error: png.h not found.
Fix:
yum -y install libpng-devel
checking for png_write_image in -lpng… yes If configure fails try –with-xpm-dir=
configure: error: freetype.h not found. Fix:
Reconfigure your PHP with the following option. --with-xpm-dir=/usr
checking for png_write_image in -lpng… yes configure: error: libXpm.(a|so) not found.
Fix:
yum -y install libXpm-devel
checking for bind_textdomain_codeset in -lc… yes checking for GNU MP support… yes configure: error: Unable to locate gmp.h
Fix:
yum -y install gmp-devel
checking for utf8_mime2text signature… new checking for U8T_DECOMPOSE… configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
Fix:
yum -y install libc-client-devel
checking for LDAP support… yes, shared checking for LDAP Cyrus SASL support… yes configure: error: Cannot find ldap.h
Fix:
yum -y install openldap-devel
checking for mysql_set_character_set in -lmysqlclient… yes checking for mysql_stmt_next_result in -lmysqlclient… no checking for Oracle Database OCI8 support… no checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!
Fix:
yum -y install unixODBC-devel
checking for PostgreSQL support for PDO… yes, shared checking for pg_config… not found configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
Fix:
yum -y install postgresql-devel
checking for sqlite 3 support for PDO… yes, shared checking for PDO includes… (cached) /usr/local/src/php-5.3.7/ext checking for sqlite3 files in default path… not found configure: error: Please reinstall the sqlite3 distribution
Fix:
yum -y install sqlite-devel
checking for utsname.domainname… yes checking for PSPELL support… yes configure: error: Cannot find pspell
Fix:
yum -y install aspell-devel
checking whether to enable UCD SNMP hack… yes checking for default_store.h… no
checking for kstat_read in -lkstat… no checking for snmp_parse_oid in -lsnmp… no checking for init_snmp in -lsnmp… no configure: error: SNMP sanity check failed. Please check config.log for more information.
Fix:
yum -y install net-snmp-devel
checking whether to enable XMLWriter support… yes, shared checking for xml2-config path… (cached) /usr/bin/xml2-config checking whether libxml build works… (cached) yes checking for XSL support… yes, shared configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
Fix:
yum -y install libxslt-devel
configure: error: xml2-config not found. Please check your libxml2 installation.
Fix:
yum -y install libxml2-devel
checking for PCRE headers location… configure: error: Could not find pcre.h in /usr
Fix:
yum -y install pcre-devel
configure: error: Cannot find MySQL header files under yes. Note that the MySQL client library is not bundled anymore!
Fix:
yum -y install mysql-devel
checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!
Fix:
yum -y install unixODBC-devel
checking for pg_config… not found configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
Fix:
yum -y install postgresql-devel
configure: error: Cannot find pspell
Fix:
yum -y install pspell-devel
configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
Fix:
yum -y install net-snmp-devel
configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
Fix:
yum -y install libxslt-devel
centos7.0 的最小化安装
把python脚本编译成exe
目前有三种方法
web开发者在发布你的作品前需要考虑的技术细节
这篇文章个人觉得很受用,故仔细翻译了一下,有些地方可能翻译的不好,请见谅!
翻译后发现貌似已经有人翻译过,但是翻译的水平就有点。。。。。那篇文章中不仅忽略了知识点,并且出现了明显的语义和语法错误,有一定的误导作用,所以请务必重新阅读老高的翻译。文章中容易出错的地方老高已经注释(在文章中以【】标出)。
如需转载,请注明出处!
web开发者在发布你的作品前需要考虑的技术细节 What technical details should a programmer of a web application consider before making the site public!
原文地址: 来自stackexchange.com quora的回答
界面和用户体验
- 要意识到浏览器的实现标准不一,请确保你的网站在主流浏览器中的正常展现。至少要针对一个最新的Gecko引擎(火狐)的浏览器、一个基于Webkit引擎(Safari或者其他移动端)的浏览器、Chrome、你想要支持的IE浏览器(可以借助IE应用程序兼容性VPC镜像)和Opera浏览器。同时需要考虑到在不同的操作系统下浏览器是如何渲染你的网站。
- 需要考虑来自其他浏览器的用户如何使用你的网站:智能手机、屏幕朗读器和搜索引擎,举个例子。--一些易用性信息:网页易读性倡议(WAI)和网站508规范(Section508),移动站开发:移动互联网开发者论坛(MobiForge)。
- 构架:如果在不影响用户的情况下部署升级。有一个或者多个用来更改架构、代码或者内容更新的可用测试或运行环境,确保他们部署的可控性,以防止造成破坏。有一个自动化部署方案,用来提交更改到生产环境。最优的解决方案是结合使用一个版本控制系统(CVS, Subversion等【译者注:为啥没GIT】)或一个自动构造机制(Ant,NAnt等)。
- 不要直接给用户展现不友好的错误信息。
- 不要用纯文本的形式呈现用户的Email,否则他们会被垃圾邮件骚扰。
- 给用户生成的链接加上
rel="nofollow"
属性,以避免SEO作弊。 - 为你的站点建立合理的限制机制,这一条同时属于安全细则。
- 理解什么是渐进增强(progressive enhancement)【译者注:与之相对的是优雅降级(graceful degradation)】。
- 如果一个请求提交成功,请重定向至其他地方,防止用户的重复提交。
- 不要忘了考虑无障碍阅读,这对网站的优化来讲是一个好主意,而且有些情况下他是法律强制必须有的。 无障碍网页应用(WAI-ARIA)和Web内容无障碍指南2(WCAG 2)在这方面可以帮到你!
- 不要让用户思考该如何操作
安全
- OWASP开发入门可能会让你花一些时间掌握,但是他涵盖了网站开发安全的方方面面。
- 了解注入,尤其是SQL注入,并知道如何防御注入。
- 永远不要相信用户的输入,还有请求中的所有信息(包括cookie和隐藏域)。
- 给你的密码加点盐后在使用哈希,并针对不同行使用不同的盐以防止彩虹攻击。使用慢速【短?】散列算法,如bcrypt(经过时间考验)或者scrypt(更强、比较新)(1, 2) ,针对如何保存密码请参考(如何保存你的密码)。美国国家标准与技术研究院表示支持使用PBKDF2 算法来加密,联邦信息处理标准在dotnet开发中也支持PBKDF2(更多信息)。避免直接使用MD5和SHA族算法来保存密码。
- 不要尝试使用自创的自以为NB的认证系统。因为你很容易在细节和无法测试的地方犯错误,也许被黑了以后你才会后知后觉。
- 了解信用卡的处理规则。(详见这个问题)
- 为登陆页面和任何需要输入敏感信息的页面使用SSL/HTTPS(如信用卡信息)。
- 避免跨站脚本攻击(XSS)。
- 避免跨站请求伪造(CSRF)。
- 避免点击劫持。
- 使你的系统更新到最新的补丁。
- 确保你的数据库连接信息是安全的。
- 时刻注意最新的攻击技术和影响你的平台的漏洞。
- 阅读谷歌浏览器安全手册。
- 阅读网络产品黑客手册。
- 考虑权限最小化原则。试着让你的应用服务器以非ROOT权限运行(以tomcat为例)。
性能
- 必要时使用缓存,理解并使用HTTP缓存技术和HTML5的Manifest技术。
- 图片优化 - 不要使用一个20KB大小的的图片最为重复背景。
- 学习如何使用gzip压缩内容。
- 合并/链接多个样式表或多个脚本文件以减少浏览器的请求数,并且使用gzip压缩文件中重复的内容。
- 看一看雅虎高性能站点,有很多不错的点子,包括提高前端性能和他们的YSlow工具(需求使用Firefox、Safira、Chrome、或Opera浏览器)。同时,Google page speed(使用浏览器插件)也是一个不错的性能调校工具,他同时也会优化你的图片。
- 针对小并且相关的图片使用CSS image sprite技术。
- 访问量大的站点需要考虑将不用内容分至不同的域名下。
- 静态内容(如图片、css、js脚本还有不需要cookie的普通内容)应该被分配到一个不使用cookie的域名下,因为一个域名下的所有cookie和子域下的cookie将会被包含在所有对应的域名下。一个好的主意是使用CND加速,但是考虑到CND可能会挂,到时候本地的拷贝也会提供服务。
- 最小化一个浏览器需要渲染一个页面所需要的请求数。
- 利用工具Google Closure Compiler最小化你的js文件,还有其他的最小化工具。
- 确保有一个
favicon.ico
在服务器的根目录,就算html里没有提到他,浏览器也会自动请求他。如果你没有一个favicon.ico
,那么会导致很多的404错误,并浪费带宽。
SEO
- 使用搜索引擎友好的URL,如使用
www.phpgao.com/technical_details.html
,而不用www.phpgao.com/index.php?p=XXX
。 - 将你的#变为#!,然后再服务端使用$_REQUEST["escaped_fragment"]接收google机器人发来的请求,换句话说,google会把
./#!page=1
变为?_escaped_fragments_=page=1
。同时,针对使用火狐beta4或者Chrome浏览器的用户,使用history.pushState({"foo":"bar"}, "About", "./?page=1");
,是一个不错的选择。这样的话即使浏览器的地址栏有变化,但是页面不会重新加载。这样就允许你使用?
代替#
以保留动态内容,同时告诉服务器当你通过邮件发送的链接到底是什么页面,同时 ajax不需要额外的请求。【这一段如果看不懂:请参考URL的井号】 - 不要给你的链接添加诸如**点我**的说明。这样做是在浪费SEO优化的机会,同时让读者不容易理解。
- 需要提供一个XML网站地图,最好使用默认的地址
/sitemap.xml
。 - 当你有多个URL指向相同的页面,请使用[
指出你需要强调的页面,这个问题可以在Google Webmaster Tools被找到。
- 使用谷歌站长工具和Bing站长工具。
- 一开始就是用Google分析(或者一个开源分析工具,例如Piwik)。
- 了解robots.txt和搜索引擎爬虫的工作机制。
- 在(www.phpgao.com)或(phpgao.com)之间选择一个,然后使用301重定向将域名重定向到主域名,以防止分权。【博主选用了带www的域名www.phpgao.com,所以访问不带www的域名phpgao.com会被301重定向】
- 要知道有一些不守规矩的爬虫。
- 如果你有一些非文本的内容,可以借助Google's sitemap extensions for video 等工具。
技术
- 理解HTTP,诸如GET,POST,sessions,cookies还有“无状态”的含义。
- 使用符合W3C规则的XHTML/HTML + CSS页面并确保他们通过验证。此行的目的是避免出现浏览器的怪异模式,同时作为一个奖励,它会更加兼容非传统的浏览器,如屏幕朗读器和手机设备。
- 理解js在浏览器中如何工作【dom原型】。
- 理解js、样式表和其他资源如何被载入并解析为一个页面并考虑他们对渲染性能的影响。除非你在分析应用或者使用html5-shims做测试,否则把你的脚本放在html的最后是一个不错的选择。
- 理解js的沙盒的工作机制,尤其是你在使用iframes的时候。
- 意识到js是可以被禁用的,而Ajax也仅仅是一个扩展功能,而不是基准功能。尽管大部分用户多ajax置之不顾,但是要记住无脚本已经越来越流行,移动设备也可能不会像你期待的那样运行,并且Google在索引你的站点时几乎不会运行你的JS脚本。
- 了解301和302重定向的区别(这也是一个SEO论题)
- 尽可能的掌握你的产品部署平台。
- 考虑使用样式表重置或者
normalize.css
. - 考虑js框架(jQuery、MooTools、Prototype、Dojo或YUI 3),他们会屏蔽很多不同浏览器使用JS操作DOM的差异。【简化操作,屏蔽差异】
- 同时考虑到渲染性能和js框架,建议使用诸如Google Libraries API的公共服务库载入框架,好处是浏览器在已经缓存的情况下不需要在从网站下载。【如果每个网站都是用公共库,命中率将大大提高】
- 不要重复造轮子。再做任何事情之前先google之,看看有没有合适的组建或者已经实现的例子。有99%的几率你需要的功能已经被实现并开源。
- 另一个方面,在你最终决定需求之前,不要一开始就上很多个库。尤其是针对客户端,最重要的是轻量、快速和灵活。
Bug修复
- 你必须知道这个事实,纵观整个软件周期,你将花费20%的时间写代码,剩下80%的时间都在维护他,所以好好码吧!
- 建立一个良好的错误报告解决方案。
- 有一个客户反馈系统。
- 将应用的工作原理写成文档,以便作为将来支持和运维的参考。
- 有计划行的备份你的站点!(同时确保他们是可恢复的备份)Ed Lucas的回答中包含了一些建议。建立一个恢复机制,而不是备份机制。
- 使用版本控制系统保存你的文件,如Subversion、 Mercurial 和 Git.
- 不要忘了做验收检测。Selenium可以帮你的忙。
- 确保你有足够的空间保存log4j, log4net 或log4r生产的日志。如果你的生产环境出错,你可以用日志找到问题的根源。
- 记录日志时请确保你同时记录了可处理和不可处理的错误。汇报/分析日志,他将会告诉你系统哪里出了问题。
centos下安装python MySQLdb
源码安装:
点击这里下载源码
解压前线装一下必要的包
yum install python-devel mysql-devel zlib-devel openssl-devel
解压
tar xf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
修改mysite.cfg,指定mysql-config的路径
使用whereis mysql-config
找路径
vi mysite.cfg
#找到mysql_config = XXX
改为你的路径
继续安装
python setup.py build
python setup.py install
工具安装:
sudo easy_install mysql-python
sudo pip install mysql-python
出现错误的解决办法
---
```bash
vi ~/.bash_profile
# add
export DYLD_LIBRARY_PATH='/usr/local/mysql/lib';
PATH="$PATH:/usr/local/mysql/bin"
enjoy~
Win下请直接下载编译好的安装包: