Docker打包优化

老高最近快被工作掩埋了,各种赶上线,各种修BUG,真凄惨! 今天来说说Docker打包的优化问题。为什么要说这个问题呢?请听我慢慢道来。 ...

April 1, 2016 · 2 min · Me

大流量网站怎么优化

最近面试总是多多少少会出现这个问题,虽然老高的网站流量不大,但是如果解决这个问题,但是在理论上还是能回答的。 首先能够明确的是,一般问这个问题的人应该没听过C10K这个问题吧,注意修饰词一般。所以你有挺高的概率不需要从更底层的回答这个问题,比如多线程和多进程的取舍,或者使用异步和非阻塞等等。。。不过老高还是建议你去了解一下C10K这个概念!这个地方有原文点我,这个地方有翻译点我 这个问题回答的方式,出发点很多。老高认为这样回答比较好: ...

August 24, 2015 · 1 min · Me

CentOS精简命令

删除自带web、数据库、php yum remove httpd* php* mysql-server mysql* php-mysql -y 删除不需要的程序 yum remove Deployment_Guide-en-US finger cups-libs cups ypbind bluez-libs desktop-file-utils ppp rp-pppoe wireless-tools irda-utils sendmail* samba* talk-server finger-server bind* xinetd nfs-utils nfs-utils-lib rdate fetchmail eject ksh mkbootdisk mtools syslinux tcsh startup-notification talk apmd rmt dump setserial portmap yp-tools -y yum groupremove "Mail Server" "Games and Entertainment" "X Window System" "X Software Development" "Development Libraries" "Dialup Networking Support" "Games and Entertainment" "Sound and Video" "Graphics" "Editors" "Text-based Internet" "GNOME Desktop Environment" "GNOME Software Development" -y yum -y groupremove "FTP Server" "PostgreSQL Database client" "PostgreSQL Database server" "MySQL Database server" "MySQL Database client" "Web Server" "Office Suite and Productivity" "E-mail server" "Ruby Support" "Printing client" 关闭selinux...

September 19, 2014 · 3 min · Me

为你的网站开启ssl支持

前几天再Startssl已经为我的博客申请的证书通过,今天早上学习了RSA加密原理,趁着热乎劲还没过,下午就把本站全部升级为https啦! 看到这个https,瞬间觉得高大上了许多。大家可能认为为自己的网站开启ssl功能很麻烦,其实不然。下面老高就简单的介绍一下开启的步骤,自己也做个记录。 不同的服务器配置ssl的方法大题思路相同,本文以nginx为例。 当然你还可以试试使用Let’s Encrypt – 免费的https证书 ...

September 13, 2014 · 2 min · Me

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....

August 17, 2014 · 1 min · Me

typecho的优化设置

[TOC] typecho的出现让我终结了使用多年的WP,小巧的体积,不错的速度 markdown支持 如果你还不懂markdown语法,请参考markdown语法 由于typecho使用了md语法,那么强烈推荐这篇文章,为你的博客加入目录功能 伪静态 如果想让你的博文地址变成这个样子www.phpgao.com/typecho.html,那就需要开启地址重写功能,俗称伪静态。 这样需要在新链接形式和旧链接形式间做一些转换,而转换的规则就定义在.htaccess或httpd.ini文件里! linux的下的.htaccess可以直接参考WP的配置,而windows下的IIS请参考如下配置,将下面的代码拷贝至httpd.ini文件,放置到web根目录下 [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteRule ^/(admin|usr)/(.*) /$1/$2 [L] RewriteRule ^/(.*).html$ /index.php/$1.html [L] RewriteRule ^/archives/(.*) /index.php/archives/$1 [L] RewriteRule ^/category/(.*) /index.php/category/$1 [L] RewriteRule ^/author/(.*) /index.php/author/$1 [L] RewriteRule ^/([0-9]+)/([0-9]+)/$ /index.php/$1/$2/ [L] RewriteRule ^/tag/(.*)/$ /index.php/tag/$1 [L] RewriteRule ^/search/(.*)/$ /index.php/search/$1 [L] RewriteRule ^/(.*)page/(.*) /index.php/$1page/$2 [L] RewriteRule ^/(feed.*) /index.php/$1 [L] RewriteRule ^/action/(.*) /index.php/action/$1 [L] RewriteRule ^/(.*)comment /index.php/$1/comment [L] RewriteRule ^/sitemap /index.php/sitemap [L] RewriteRule ^/go/(....

July 25, 2014 · 1 min · Me

让typecho支持table-of-contents

什么是toc? [toc] table of contents 即文章目录 toc有什么用 废话,你说目录有啥用,方便查找呗 使用typecho的TX,一定会一点markdown吧,在文章中如果出现##this's h2 tag##,会被程序转换为 <h2>this's h2 tag</h2> 一个h标签就好比一本书的各个章节,如果我们能把他们清点一下,组成一个目录输出,岂不是妙哉! TOC如何使用 简单到不能再简单,在你想插入目录的地方放一个[toc]或[TOC]即可(推荐大写)! [TOC]必须处于顶格 typecho中的markdown typecho的源代码中已经使用了激进的MarkdownExtraExtended类来转化md文件,为什么说他很激进呢?因为他扩展了标准的markdown,添加了很多个性化的语法,如直接给元素添加id或者class,还有脚注、缩写词等,用起来确实很爽!但需要注意的是:太多的非标准语法可能会带来移植性差的问题 具体的语法参考请看这里php Markdown Extra 如何使typecho支持toc 要使typecho支持toc需要替换位于源程序中的/wwwroot/var/文件夹下的MarkdownExtraExtended.php 为 MarkdownExtraExtended.php 原理 这个文件的作用就是为typecho提供md2html的作用,我修改了MarkdownExtraExtended类的__construct方法,为block_gamut数组添加了 doToc 处理模块,并把优先级降到最低。 转换细节位于doToc与_doToc_callback中,在此不作赘述。 不完美的地方 要是能加入一个锚点之间平滑滚动的效果就更完美了,改天写个插件弄一弄 在首页也能看到目录,改天看看源代码研究一下,看能不能解决 希望后台加一个选项,自动生成目录,这个比较麻烦,以后看情况解决

July 24, 2014 · 1 min · Me

如何防止你的网站被百度转码

现在只要新一点的HTML页面都会支持响应式,但是在移动端百度会把本来整齐的页面强行转码成他所需要的格式来呈现,简直是丑爆了!而且URL也会变的很长,简直对不起我的伪静态!!最近UC(也可以说是阿里,更可以说是马大帅)也开始搞这个事儿了 ...

June 18, 2014 · 1 min · Me

google被封的几个解决办法

唉。。。功夫网大开杀戒了。P民如何应对,请看下面的网址 http://www.googlestable.com/ https://s3-ap-southeast-1.amazonaws.com/google.cn/index.html http://ls.ganquancun.com/ggip/ http://www.hotbot.com/ http://www.dogpile.com/ https://www.projecth.us/sources 这篇文章教你怎么配置go-agent代理*翻**q墙,推荐一下,点我

June 13, 2014 · 1 min · Me

windows远程连接优化

工作需要必须使用mstsc(Microsoft terminal services client)连接生产服务器,之前因为不知什么原因,mstsc开始很卡,所以用了teamviewer一段时间,感觉还是不如mstsc稳定 但是win7的mstsc问题多多,一个一个说吧 总是新建进程 每次使用保存好的密码登陆后总是和上一次显示的桌面环境不一样,就好像注销了一样,每次都要在任务管理器里切换一回,很是麻烦,原因是mstsc新建了一个进程,导致了操作环境的初始化,按照老高的方法试试: 运行mstsc时在后面加上 /admin,原理是直接接管控制台 mstsc /admin 在目标机器上设置一下 这是由于远程桌面允许一个用户可以有多个远程会话,如果不想有这个效果,可以在目标机器运行gpedit.msc,然后进入组策略-计算机设置-管理模板-终端服务,设置限制终端服务用户到一个远程会话为启用即可。 3.开始-管理工具-终端服务配制-设置 连接 - RDP-TCP - 网卡 - 2个链接 服务器设置 - 限制用户使用一个会话 开始—控制面板—授权—选择“每设备或每用户”—否—确定 连接后操作很卡 原因在于从vista开始,微软在TCP/IP协议栈里新加了一个叫做Window Auto-Tuning的功能。这个功能本身的目的是为了让操作系统根据网络的实时性能(比如响应时间)来动态调整网络上传输的数据窗口的大小,从而达到实时优化网络性能的目的。但是,在某种情况下,这个功能反而会使远程桌面的响应变的非常的慢。解决办法如下: 开始-运行-输入 netsh interface tcp set global autotuninglevel=disabled 端口修改 端口3389表示亚历山大!换一个自己喜欢的数字吧,嫌麻烦的TX可以直接百度 mstsc端口修改工具 打开“开始→运行”,输入"regedit",打开注册表,进入以下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp, 修改PortNamber值3389为3390。 打开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP\Tcp, 将PortNumber值3389为3390。 修改完毕,重启以下服务(控制面板中的服务中): Microsoft Remote Desktop Connection 和 Remote Desktop Services UserMode Port Redirector 登陆方式[IP:3390] 部分转自网络!

June 9, 2014 · 1 min · Me