SSH登录卡在‘Last login‘提示界面
问题如下最近要对一台服务器做一些操作,以前我也没有登录过,今天要去操作的时候发现直接卡着如下图的界面。最开始我以为是网络差,但是等登录进去了之后发现一点都不卡。方案一般出现卡顿就是修改ssh配置文件里面的修改UseDNS和GSSAPIAuthentication为no。但是这一次发现不行。觉得很奇怪。然后觉得卡半天太烦了,就操作了Ctrl+C。偶然发现居然进去了。然后根据这个操作反推那应该是执行了
SSH 登录失败:no matching host key type found. Their offer: ssh-dss
问题如下最近登录一台服务器,提示如下错误并截图如下:nomatchinghostkeytypefound.Theiroffer:ssh-dss。解决方案查阅了下资料说是因为OpenSSH7.0以后的版本不再支持ssh-dss(DSA)算法,官方的说法是这个算法太弱了。Mac电脑升级之后版本是高于7的。可以通过加参数支持改算法如下ssh-oHostKeyAlgorithms=+ssh-dssuser
logrotate copytruncate 模式滚动切割日志
问题最近我们遇到了一个问题,我们有的Job是常驻的,输出的日志是固定为了,例如如下命令(once.sh是一个死循环的脚本),这样所有的命令都要输出日志到notice_wechat.log{/bin/shjobs/bin/once.shnotice/wechat;}>>/data/logs/jobs/notice_wechat.log2>&1如果使用默认的logrotate
【工具分享】Mac无线投屏软件
需求大家常用的分享就是把电脑屏幕或者手机屏幕投屏到电视上面。这个一般手机都支持,电脑投屏到电视这个需要安装一些软件。我的需求是将我的设备投屏到我的Mac电脑上面,这种需求听起来有点不太常用,但是对我来说常用,因为我经常用ipad画图和设计,在电脑上给大家讲解。我有如下几个设备1个ipad1个ios手机2个android手机满足过程我在测试各种软件过程中发现,很多软件都无法满足android投屏到笔
SNAT和DNAT原理和应用场景
问题最近我们在重新部署线上云主机的堡垒机环境,其中用到了OpenVPN。最后安装好了之后发现,客户端虽然可以连接服务端,但是无法访问外网等网站,也就是只能访问这一台堡垒机。分析过程我个人对网络其实不怎么熟悉,我就和上海一个在拼多多的运维朋友请教。最开始他也挺懵逼的,我们自己都在自己公司内网配置VPN都没有遇到过这个问题。我们就觉得有几个点会出出问题:服务端配置有问题VPN客户端网络有问题服务器网络
【课程章节更新】猫影项目新爬虫源代码
起因我在慕课有个flask入门的课程:点击这里查看慕课课程。当时课程讲解的使用学习的视频网站已经不再提供服务了,为了方便大家学习这里重新找了一个视频源。这里郑重声明:该代码仅用于学习演示,请大家妥善使用,不要给源网站造成任何压力。示例代码新建一个python文件,文件名称是movie2.py,代码如下#-*-coding:utf-8-*-fromapplicationimportapp,dbimp
ELK 之 GeoIP
需求我们都知道nginx日志里面有域名,同时也有用户的远程ip。但是ip其实我们看不出什么东西,我们知道通过ip其实可以查询一些地理位置信息出来的(很多网站都可以直接查的)。这个过程就是GeoIP:就是通过来访者的IP,定位他的经纬度,国家/地区,省市,甚至街道等位置信息。而在logstash里面就有一个解决这个需求的插件:logstash-filter-geoip数据格式logstash-fil
ELK 之解析域名的TLD
缘由我们在大数据数据里面有一类数据是域名,例如www.jixuejima.cn,我们需要把cn和jixuejima.cn提取处理,这个其实就是TLD(TOPLEVELDOMAIN)顶级域名解析过程。大家看过我们前面ELK相关文章的,都知道我们处理过程是FileBeat->Redis->LogStash->ES。在聊聊公司的技术栈这篇文章中我就说过这个过程,但是肯定很多人很郁闷,为
大数据查询 ELK 之 ES集群搭建
缘由前面我们讲解了ELK的搭建过程。最近在处理系统数据发现了一个问题,一个ES节点处理太慢了,基本上要20多个小时才能处理完。这样我们就只能增加ES节点,部署集群模式了。当前是这种单节点服务集群搭建目的要搭建成3节点的服务器,其中3个节点是主节点也是数据节点其实配置ES集群是比较方便了,大家主要几个参数就可以了,主要注意以下几个参数就好了#集群的名字cluster.name:app-data#节点
Gitea - 企业搭建私有git服务器
缘由git目前已经是非常流行的版本管理工具了。当时我在安居客的时候就已经使用这个工具了。而代码私有化管理是正常的一个需求,因为代码也是公司的资产。这几年使用过好几个,最开始的是gitlab,我专门写过一篇文章:用GitLab搭建自己的私有GitHub。然后是gogs。目前我们使用的是gitea。Giteagitea是从gogs发展而来的,我个人使用过程发现感觉比gogs安装和使用都方便,还有是开源
运维神器:asciinema 记录你所有的操作
缘由最近看到了2个项目,促使我再次核查了以下这个软件是什么。这两个项目是webterminal和jumpserver。这两个项目里面都有一个功能运维审计,用户行为录像。挺好奇这个录像怎么做的,就去找了下有咩有类似的开源软件。其实以前在上海安居客的时候我们运维也有这种软件,但是具体是不是叫这个名字我不太清楚,我个人觉得这种录屏软件挺神奇了就想了解下,当然由于种种原因直到本周我才认真查阅了下,找到了这
php 间歇性报 Segmentation fault
缘由大概9月份有一个脚本总是无法正常执行完,后来手动执行总是会看到出现“Segmentationfault”错误。我就根据这个错误去搜索引擎查了下,大部分都说是内存错误,我以为是内存不够大,就修改了运行的内存。但是最后发现还是会出现这个错误。排查错误这种错误一般要生成core.dump文件方便分析,如何生成?如何分析?生成core.dump默认是不生成的,需要执行如下命令打开。如果再出现上面的错误
Dell服务器安装OMSA管理工具
缘由最近购买了一批二手Dell服务器,由于一些原因远程控制卡没办法使用,所以只能安装OMSA管理工具OMSA介绍DELLOMSA的全称为DellOpenmanageServerAdministrator,它是戴尔公司基于自主研发力量开发的IT系统管理解决方案,通过与业内领先的系统管理解决方案供应商密切配合,在深入了解用户对系统管理需求的基础上,OMSA系统管理方案可以全面解决系统管理人员最关心的系
局域网内网机器上网实操
缘由最近我们接到一个客户项目,客户所有的东西必须部署在独立内网里面的,但是整个程序有一部分是需要访问外网的,可以理解为调用外部网址接口,所以我们就要出一个方案来解决这个问题。假如内网服务器列表如下服务器名称操作系统IP描述服务器ACentos7.9192.168.1.10程序服务器服务器BCentos7.9192.168.1.11程序服务器服务器CCentos7.9192.168.1.12这台机器
【解决方法】ModuleNotFoundError: No module named 'flask._compat'
起源最近发下很多人在我的python课程下面提问,关于安装完扩展运行程序的时候出现如下的莫名其妙的错误Traceback(mostrecentcalllast):File"manage_web.py",line2,infromapplicationimportapp,managerFile"/data/www/private_deploy/python3_yuanwe
【课程章节更新】微信小程序 getUserProfile 新接口使用
起因大家都知道我有个PythonFlask构建微信小程序订餐系统课程。这个课程主要是讲解小程序在线商城的。最近微信小程序更新了获取用户信息的接口:getUserInfo换成了getUserProfile实践过程小程序修改pages/index/index.wxml修改如下<buttonclass="confirm-btn"bindtap="getUserProf
时间同步ntpdate报错的其他解决方案
缘由最近我们一台高防服务器,在同步服务器时间时报noserversuitableforsynchronizationfound,最后经查实是机房屏蔽了udp端口所致,因为ntpdate同步时间使用的是udp123端口。rdate解决方案既然ntp不行我们改用rdate完全可以解决因国内一些高防机房屏蔽UDP端口而造成的时间无法同步问题。同时rdate使用的端口是37安装yuminstallrdat
【解决方法】ModuleNotFoundError: No module named '_ctypes'
起源最近发下很多人在我的python课程下面提问,关于执行python3.7安装某些扩展有如下报错ModuleNotFoundError:Nomodulenamed‘_ctypes’出现原因Python3中有个内置模块叫ctypes,它是Python3的外部函数库模块,它提供兼容C语言的数据类型,并通过它调用Linux系统下的共享库(Sharedlibrary),此模块需要使用CentOS7系统中
In aggregated query without GROUP BY, expression #1 of SELECT list contains
起源最近发下很多人在我的python课程下面提问,关于执行python定时器Job会报错如下InaggregatedquerywithoutGROUPBY,expression#1ofSELECTlistcontains出现原因在MySQL5.7.5后,默认开启了ONLY_FULL_GROUP_BY,所以导致了之前的一些SQL无法正常执行,其实,是我们的SQL不规范造成的,因为groupby之后,
Yii2实现Mysql断线重连
缘由大家都知道我们做一个客服系统,是基于websocket长连接服务的。在这些长连接服务进程中,会对数据库有些操作。建议尽量在这些长连接服务中,少查询数据,能用缓存都用缓存。我们都知道数据库服务保持连接是有时间限制的,过了时间在操作数据库会出现错误:MySQLserverhasgoneaway。这里就要用到数据库重连机制来实现了我们的客服系统使用的MVC框架是Yii2,大家都知道我一直使用这个框架
乔布斯Jobs管理调度平台
缘由由于公司系统相对来说还是挺多的,定时任务也非常多,一直使用crontab配置存在几个问题。这几个问题只要使用该方式应该都会深有感触。问题一管理维护问题:定时Job太多,不清楚总共有多个Job,不知道每个Job到底是谁写的主要功能是什么。如果Job部署在多台服务器那就更要人命了问题二调度监控问题:crontab在一定程度上解决了调度问题,但是调度不光光是运行状态。在实际工作中还会关注,什么时间运
【框架发布】Python Flask CMS V2
缘由我在工作过程中发现,我们经常会开发很多相同类似的东西,每一次都是从零开始,既浪费时间还没有意义,基本都是复制。我个人认为我们应该把很多基础东西开发好以后所有其他的应用系统都基于这个上面进行开发,既可以让基础越来越丰富,也可以统一维护。学过我Python视频课程的应该知道,我都是用了同一个自己整理过的Flask框架。用的多了慢慢就整理和优化了很多技巧。技术选型有很多人肯定有疑问,为什么我们要选择
CentOS7 搭建ELK日志分析系统过程
ELK简介ELK是什么?elk是三个开源软件的缩写,分别是:Elasticsearch、Logstash、Kibana。由于Logstash客户端太占用资源,对服务器的要求比较高,后来FileBeat出现了,解决了资源问题,官方也推荐这个工具。Elasticsearch:实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能Logstash:日志收集,分析,过滤并转化到对应的存储库Kibana:
【悲催】机房跑路,服务迁移之路
起因最近总是遇到悲催的事情,这次的事情更悲催,某机房提供服务供应商跑路了,早上10点多通知晚上6点断电,我X你的仙人板板。抱怨归抱怨,但是烂屁股的事情还得擦。没办法只能换机房了,幸好早都勾搭上了一家高防供应商。但是迁移也是一个麻烦事情。窘境需要备份的文件过大目前这边公司的主要提供广告服务,所有各种图片,静态页面比较多,图片总共差不多80G(分别是30G、50G两个文件夹)待迁移的服务器过多大概负责
curl: (56) Recv failure: Connection reset by peer 分析解决过程
悲催的事情今天下午2点多(时间发生故障的时间是14:14,反馈时间却是:14:25)收到运营推广部门同事告知,网站打不开了,这个烦呀,怎么会打不开了,由于以前的系统有问题,都重新写了,切换到新的系统上面了,打不开就直接报错了,报错页面如下分析过程找到错误日志出现错误不可怕,这一点我们必须第一时间明确,千万不要担心,担心解决不了任何问题。对我们最有帮助的就是各种业务日志。通过查阅日志得出如下的错误,
【免费视频课程】从不知到全面了解HTTPS
缘由为什么要录制关于HTTPS的一个小课程,本来我是准备给我们团队分享下关于HTTP请求过程的主题。最近关于数据安全的话题越来越多,2020也可以称之为数据治理年。所以计算要讲HTTP,那就把HTTPS一起讲了算了,不然可能PPT都凑不够30分钟哈哈。大纲HTTPS是什么HTTPS为什么安全如何申请HTTPS证书如何配置HTTPS证书HTTPS是什么解读HTTP请求流程HTTPS为什么安全如何申请
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
缘由最近在录制从不知到全面了解HTTPS这个视频,在使用acme.sh申请ssl证书的时候,安装脚本出错,错误信息大致如下curl:(7)Failedtoconnecttoraw.githubusercontent.comport443:Connectionrefused解决方案绑定hosts的方式$vim/etc/hosts199.232.68.133raw.githubusercontent.
Mac 升级之后 无法通过域名 SSH 连接
问题最近心血来潮把mac版本升级了下,然后就发现我写的登录SSH的脚本无法登录服务器了。一开始以为是dns出问题了,但是单独ping域名ip却是对的,我就非常郁闷了。但是由于比较忙一直就没有在乎这个问题,今天上网搜索了下发现有人遇到同样的问题,原来是mac升级之后的一个Bug、Bug、Bug。解决方法按照新版本的opensshbrewinstallopenssh
【课程章节更新】突破 没有支付权限的小程序 完成支付闭环
起因大家都知道我有个PythonFlask构建微信小程序订餐系统课程。这个课程主要是讲解小程序在线商城的。但是有很多学生小程序的账号是没有支付权限的,那么如何完成整个闭环课程的学习咧?接下来我来给大家讲解整个过程。实现过程原理其实很简单,就是模拟支付完成跳过支付过程。这里我用两种方案给大家实现。如下图,由于没有支付权限就会导致支付回调没有。那么我们就得做一件事情:模拟支付回调等于就是自己做一个入口
每次sudo su切换root用户,都要source /etc/profile
每次使用sudosu切换为root用户的,时候,发现/etc/profile里面的配置竟然不可用系统是centos6.4的,然后研究了一下/etc/profile/etc/environment(这个文件为空,那就是什么都不执行)~/.profile/etc/bashrc~/.bashrc当用普通用户登陆的时候,会执行/etc/profile/etc/bashrc当使用sudosu切花的时候,会执
【分享】分层明确高度定制化的 Python Flask MVC
缘由Python在AI,ARVR这块使用越来越广泛。同时在Web方面也有很多成熟的框架。而我本身由于使用Flask比较多,个人认为就是比较简单,容易入手,可定制化强。这里我将我经过多个项目多次迭代的自认为还可以的框架结构整理出来。方便自己可以更容易创建新项目。大家也知道我录制了两门关于python的课程都是基于这个定制化的分层结构的框架开发系统的目录结构.├──apiapi存放│├──contro
微信小程序 订阅消息 对接详细记录
起因由于我录制过一个小程序的课程,里面有消息模板的讲解。最近有几位同学反馈官方要取消消息模板,使用订阅消息。为了方便大家容易学PythonFlask构建微信小程序订餐系统课程。我把订阅消息结合这个课程讲解下如何实现实现过程其实对于我们来讲,对接第三方无非就是接口地址换了,或者流程上做一些调整。好,废话少说我们直接来通过实战讲解如何对接订阅消息第一步:阅读订阅消息官方文档对接任何东西必然要先了解这个
修复Linux下curl等无法使用 Let's Encrypt 证书
最近使用了acme.sh生产了Let'sEncrypt的https证书,但是在实际服务器上测试遇到如下问题$curl"https://www.aaa.com"如下错误curl:(60)Peer'sCertificateissuerisnotrecognized.Moredetailshere:http://curl.haxx.se/docs/sslcerts.h
呕心沥血 AR VR 好资源分享
缘由最近在偶然机会下看了些关于ARVR的资料。查找资料还是挺耗时的一件事情,记录下来一来可以方便大家,二来也可以方便我们自己查阅资源列表前端人脸识别框架Tracking.js与JqueryFaceDetection微信小程序可实现AR效果,将带来哪些影响?技术实现有哪些?微信小程序拍照后提取指定框内的图片微信小程序实现拍照画布指定区域生成图片微信小程序可实现AR效果,将带来哪些影响?技术实现有哪些
FTP时显示500 Illegal PORT command的解决
缘由由于过年期间,大家都在外地,临时需要登录FTP,特别2020年面临肺炎事件,大部分员工都在家办公了。但是非常奇怪的是一直出现如下错误ftp>ls500IllegalPORTcommand.ftp:bind:Addressalreadyinuseftp>ftp>dir500IllegalPORTcommand.解决方案我开始还以为是网络问题,但是测试各种情况,都不行。然后就上网
linux服务器出现大量TIME_WAIT的解决方法
起因今天登陆服务器想查看一个端口的占用情况,发现好多TIME_WAIT的情况,吓我一跳。如下是TCP建立连接的示意图缘由time_wait的作用TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信
使用Python Flask 开发微信机器人
缘由由于我个人有个小博客,然后还录制了一些课程,所有就建立了对应的微信群,但是微信群的二维码是变化的,总不能经常换了。所以就想搞一个微信机器人,自动加微信,自动拉群。废话不多说,先上图效果展示大家可以试试效果,效果相当棒需求其他人可以通过二维码加我好友自动通过好友通过之后主动发送一些邀请入群链接和介绍信回复邀请、加群可以发送邀请入群链接所有聊天数据都要存储起来并且可以通过Web展示根据用户输入信息
Yii2 报错 Headers already sent in
有时候我们把Yii2版本进行升级之后会报一些莫名其妙的错误,这次就遇到如下错误信息anErroroccurredwhilehandlinganothererror:exception'yii\web\HeadersAlreadySentException'withmessage'Headersalreadysentin/xxxx/xxxx/xxx.phponline90.&
号外!! Python Flask 从入门到精通 上线啦
缘由在前面写过一个文章人生苦短,我用Python给大家简单介绍了一下Python能做什么。然后广告了下当时的新课程PythonFlask构建微信小程序订餐系统。该课程上线之后有些同学反馈没有详细讲解Flask的基础知识和课程改造的框架为什么这么来的。基于该原因,重新录制了一门新课程:PythonFlask从入门到精通。希望大家可以喜欢演示地址:http://movie.54php.cn大纲课程简介
bootstrap select2使用模态框,搜索框无法输入问题解决
使用模态框,一般都会自动带上一个属性,tabindex="-1",因为这个属性的存在,导致select2的搜索框无法输入,去掉这个属性即可解决html中的tabIndex属性可以设置键盘中的TAB键在控件中的移动顺序,即焦点的顺序。把控件的tabIndex属性设成1到32767的一个值,就可以把这个控件加入到TAB键的序列中。
Redis 服务常见的几个错误解决方案
问题一:somaxconnredis启动警告问题:WARNING:TheTCPbacklogsettingof511cannotbeenforcedbecause/proc/sys/net/core/somaxconnissettothelowervalueof128.这句话的翻译大概就是:对一个高负载的环境来说tcp设置128这个值,太小了。这是我的理解,绝对的还需到官网理解。然后我们可以手动设
Python Flask jsonify a Decimal Error
问题最近使用flaskjsonify进行序列号的过程发现如果是decimal类型就会出错,错误如下typeerrorobjectoftype'decimal'isnotjsonserializablejsonify解决方案根据https://github.com/pallets/flask/issues/835的解决方案如下pipinstallsimplejson
Nginx目录遍历功能时间相差8小时
一台nginx服务器开了目录浏览功能。方便下载文件。使用时发现,目录内的文件,创建时间比实际时间少8小时。查看官方文档:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html,找到这个:autoindex_localtime,作用:是否用本地时间显示时间。默认:否,使用UTC时间。设置autoindex_localtimeon问题解
免费为网站加上HTTPS
前言最近有好几位同学直接微信赞助说快点更新文章。这个要和大家说声抱歉,的确很久没有写文章了。我们也不找借口,我会尽力保证多写文章。今天我们的主题来讲解如何给自己的网站加上HTTPSHTTPS是什么?相对于http,你会发现https多了一个S,没错这个S表示的就是Secure安全的意思。为什么要加入这个?主要是由于HTTP是明文传输的,如果被不法相关人截取了可以直接看到。并且在如今互联网下面很多人
Mac 下安装Fiddler抓包工具
需求我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles。但是这个只能抓代理的数据包。但是有时候想要调试本地网卡的数据库Charles就没办法了。就想到了在windows下面的一个Fiddler。搜索了下相关文章发现还真可以在Mac下面安装Fiddler。Mono安装首先,Mac下需要使用.Net编译后的程序,需要用到跨平台的方案Mono(现阶段微软已推出跨平台的方案.NetCore,
AIROBOT系统 之 网络配置
需求背景在上一个章节我们讲究了私有云的部署,但是会有一个问题,我如果在外面,如何访问家里电脑上部署的私有云服务?其实这个问题在扩大化说就是如何可以在家庭网络以外可以访问到家庭网络:公网访问内网。内网转外网顾名思义:就是想办法把自己的内网机器可以直接让外网可以访问。由于我们互联网技术不是我们国家发明的,在加入互联网之后我们分配到的公网IP也不多,不像美国人口少IP还多,基本每家都有公网IP(好羡慕)
音频 m4a 转 wav
背景最近做智能家居,需要用到一些应答词需要自己录制。但是在mac下面通过QuickTime录制的是m4a格式。但是应答词需要wav格式。所以就需要转化了解决方法#sox不行,ffmpeg很麻烦,用avconv很简单。安装如果没有就安装#apt-getinstalllibav-toolsavconv-ixx.m4axx.wav
AIROBOT系统 之 私人存储 和 DLNA 智能电视云
需求背景工作多年之后发现有太多的电子资料到处存放。个人电脑是Mac,硬盘都不大,放不了太多东西。并且有时候想随时随地存放一些东西。所有就有了大家一个私有存储的需求个人休息在家经常喜欢看电影电视剧,所有就有个想法,上班空隙可以下载自己喜欢看的资源,然后晚上或者休息日可以直接在电视上看,这样就想到了通过DLNA服务来和私有云结合起来效果图私人存储PC手机端DLNA智能电视硬件准备上图是我家的私人机房,
AIROBOT系统 之 踏浪而来
缘由为什么要做AIROBOT?其实自从我知道智能家居这个领域之后,就一直想打造一个自己的智能家居控制平台,算是我的一个梦。最开始的项目还是在安居客当时工作的时候做的,项目地址:https://github.com/apanly/autohome需求是什么就像我们在公司开发产品一样,要先知道自己想实现什么需求,才能动工。其实本人最开始的想法就是能够控制家里的家电,例如电视,空调。现在目前变的越来越多
Mac苹果电脑没有声音怎么办
有时候Mac从睡眠状态恢复之后没有声音,这是MacOSX系统的一个Bug。这是因为MacOSX的核心音频守护进程「coreaudiod」出了问题,虽然简单的重启电脑就能解决,但是如果此时开启了很多程序后者有其他情况不想重启电脑的话,可以按照下面的方法解决此问题。操作步骤:1、在Mac中打开活动监视器(在Finder的「应用程序」中搜索「活动监视器」可以找到)。2、在「活动监视器」窗口右上角的搜索框
Ubuntu系统启动后停在(initramfs)
问题今天我在启动虚拟机过程遇到莫名其妙的问题,启动不了。如下图。提示某个文件系统错误了。例如我的就是/dev/mapper/vagrant--vg-root。上面问题可把我急坏了,以为虚拟机坏了。最后找到了解决方法,分享出来。解决方法在如上截图的命令行直接输入命令:fsck/dev/mapper/vagrant--vg-root。奇迹就发生了,居然好了。哈哈
MacOS High Sierra 引起 VirtualBox Vagrant 同步慢
问题最近把mac的操作系统升级到了最新版本发现了一个问题,通过共享文件夹的方式修改的文件,无法立即同步到虚拟机中,大概需要30秒才能同步到共享文件夹。操作环境如下虚拟机:Virtualbox虚拟机操作系统:Ubuntu16.04虚拟机管理工具:Vagrant物理机:MacHighSierra10.13.4现象截图正常截图修改文件之后的截图可以发现,当修改之后通过终端查看文件发现直接提示error了
编程浪子我的个人知识树
开场白一转眼工作将近7个年头,时间过得好快哇。年少不懂事,上天惩罚我,婚也结了。不要暗恋哥,哥已是传说。恍恍惚惚过了这么多年,想整理下个人技能树,也提醒下自己我的技能树经常看到各种技能树,那我也来一发,我认为作为一个研发人员,不应该只会自己领域内的东西,不要让自己的路越走越窄。熟话说:技多不压身,有精力就多学点了。如下图(点击打开大图:我要看大图)个人实战过得系统工作这么多年,做过了不少东西,想到
树莓派3 之 pi3Robot 控制系统配置
需求个人正在用Python写一个控制系统,技术选型是python3+Flask+Mysql+Bootstrap。需要将这套系统直接部署到树莓派中.代码地址:https://github.com/apanly/pi3Robot目录结构准备sudomkdir-p/data/wwwsudochown-Rpi:pi/data/wwwmkdir-p/data/www/logs.|--logs|--pi3Ro
分析占用了大量 CPU 处理时间的是Java 进程中哪个线程
下面是详细步骤:1.首先确定进程的ID,可以使用jps-v或者top命令直接查看2.查看该进程中哪个线程占用大量CPU,执行top-H-p[PID]结果如下:可以发现编号为350xx的共有9个线程占用了100%的CPU,好,接下来咱们随便取一个线程ID,假设我们想看编号为35053这个线程。首先将35053转成16进制是88ED(可以用开源中国在线工具转换)3.接下来我们将进程中的所有线程输出到一
【Mysql数据库访问利器】phpMyadmin
缘由我们程序员难免要和数据库打交道,经过这几年的锻炼,感觉手写SQL语句已经忘记的差不错了,促使我一定要这篇文章的原因是,有一次晚上我更新某个系统的数据库的表(由于目前公司比较严格,数据库都只能通过命令行访问,无法通过GUI工具操作),然后由于where条件写错了,然后数据更新错了不少。痛定思痛:用好的工具来避免这种情况,那就是phpMyadminphpMyadminphpMyAdmin是一个以P
【Java】一台服务器配置多个Tomcat
需求缘由最近接收了一个新的工具业务:ipublish发布系统,刚接手这个业务的时候,发现每次发布新的代码需要到群里告知大家,我要停服务几分钟,准备更新代码啦。这尼玛哪个公司都不敢这么牛逼的和用户说,我们网站要停服务几分钟,准备发布的。基于这个原因我要对ipublish进行优化,如何优雅的发布代码,而用户是无感的功能需求发布系统自己更新迭代需求的过程中,不能停止服务,对用户是无感知的实现设计方案其实
tp5, laravel, yii2我该选择哪个
为什么写这篇文章我个人有一个技术群,里面学什么框架的都有,经常会有人问某某功能在哪个框架怎么实现,用什么框架实现更好,说道这里我大家讲一个同类型问题的笑话某女:你能让这个论坛的人都吵起来,我今晚就跟你走。某软件工程师:PHP是最好的语言!某论坛就真的炸锅了,各种吵架../..某女:服了你了,我们走吧,你想干啥都行。某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言大家注意重点哦(可能
Ngrok NatApp 微信本地化调试利器
何为内网转外网从名称我们就可以猜到大概的意思。内网指的是我们的家庭网络(特指亚洲地区了),主要是我们亚洲地区公网IP不够每个家庭分配,所以就有了大的局域网内网。外|公网指的可以直接被访问的网络为什么需要为什么会有“内网转外网的工具“的需求?个人觉得原因有如下在我国的国情下面,基本都是内网IP,不像美国,个人家庭都是公网IP了购买公网IP就相当于要购买服务器,代价有点高本地化调试:例如微信开发基于以
【实战】Docker 入门实战一:ubuntu 和 centos 安装Docker
Docker是什么Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低从这个解释我们不知道大家有没有想到一个优点类似的东西,没错就是
完美解决failed to open stream: HTTP request failed!(file_get_contents引起的)
当使用php5自带的file_get_contents方法来获取远程文件的时候,有时候会出现file_get_contents():failedtoopenstream:HTTPrequestfailed!这个警告信息。google或者baidu一下,好多这样的问题,解决的方法都是修改PHP.ini,把allow_url_fopen给启用,改成allow_url_fopen=On这样做可以解决某些
【nginx,apache】thinkphp ,laravel,yii2开发运行环境搭建
缘由经常会有人问xx框架怎么配置运行环境,这里我就给贴出吉祥三宝(Yii2,Laravel5,Thinkphp5)的Nginx和Apache的配置,供大家参考NginxYii2server{charsetutf-8;client_max_body_size128M;listen80;server_nameyii.local.test;root/home/www/yii2/web;indexinde
【数据库】Invalid default value for 'create_date' timestamp field
问题最近遇到一个这样的问题,新建数据库表的时候提示错误如下Invaliddefaultvaluefor'created_time'timestampfield语句如下`created_time`timestampNOTNULLDEFAULT'0000-00-0000:00:00'COMMENT'插入时间'错误大致的意思就是不能为timestamp字段
图解说说 正向代理、反向代理、透明代理
代理是互联网发展初期就有的一项技术,主要是通过在服务器上安装代理软件提供代理功能的。常见的代理主要有三类正向代理反向代理透明代理有点迷糊吧,什么正向、反向了。其实我刚开始听到这个概率也是挺迷糊的,下面我们一起来详细了解下正向代理在没有特别说明的情况下,代理说的就是正向代理。定义正向代理(forwardproxy)是位于客户端【用户A】和原生服务器【服务器B】之间的代理服务器C图解从上图我们可以看出
【Demo】QQ,github,微博第三方社交登录
本文主要讲解集成第三方社交账号登录为什么会有这个需求?主要是因为目前互联网的网站数量太多,如果在各个站点都注册一个账号用户非常不容易记住每个账号的用户名和密码,并且非常难保证每个账号的密码足够安全而目前流行的社交网站基本上每个用户都有账号,如果通过这类社交网站登录就能得到如下几点好处用户不用再注册其他账号用户只能维护社交账户足够安全就行了,使用此社交账号登录的就是安全的了常见的第三方社交账号有哪些
crontab执行时间和系统时间不一致
最近发现一个非常奇怪的问题,症状如下:crontab定时任务配置时间是105***(每日凌晨5点10分执行)运行脚本时间却是18:10左右Dec2405:10:01htuidcCROND[7550]:(ubuntu)CMD(phpyiibackup/mysql>>jobs/backup.log)2016-12-2418:10:01=======start======2016-12-24
CDN服务技术架构图
前言在博文中解读大型网站的演变过程浅谈举家搬迁静态文件到CDN博文中都有涉及CDN,这次我们来详细讲解下CDN的架构简介CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服
【php】命名空间 和 自动加载的关系
目的本文的目的主要是说明命名空间的use关键词和newClassName这两个步骤,哪个步骤才会执行自动加载,这是逻辑有点混乱的表现,这种想法也是很正常的,让我们来解密吧命名空间(namespace)php从5.3加入了命名空间,我略懂一些java,所以命名空间还是比较好理解的,为什么需要命名空间啦?主要解决自己写的内部类/函数/常量和第三方的类/函数/常量冲突。引用命名空间下资源都要使用关键字u
Virtualbox 虚拟机支持硬件摄像头
最近我们公司做了一个摄像头项目,需要测试各种浏览器的情况,我就安装了一个Winxp的虚拟机,但是发现无法找到摄像头,经过查阅资料找到了解决办法前提环境Mac电脑Virtualbox虚拟机虚拟机系统XP解决办法其实只要安装一个Virtualbox扩展就好了,可以直接去官网下,安装好了就如下图可以直接选择摄像头了安装前安装后参考资料MacOSX系统下利用VirtualBox安装和配置WindowsXP
【Composer】实战操作二:自己创建composer包并提交
大纲创建自己的composer库提交到指定平台测试安装自己的库设置composer平台自动更新如何方便测试自己开发的库开始动手创建自己的composer库个人博客后台有一部分是关于统计的,通过UA获取浏览器,设备,操作系统。本人封装了一个库,放在github上,源码地址:https://github.com/apanly/browser-detector,任何一个文件夹只有有个composer.j
【个人重点】开发中应该重视的几点
个人总结URL统一管理,调用统一方法,并且URL必须返回全路径,可以封装成service,并且url是全路径(包含域名),以后更改都非常方便了静态资源加版本好,调用统一方法用户密码必须加salt,最好记录在数据库中,每个用户都有不同的salt静态资源版本号,每次上线需要版本号不一样了对于数据量很大的查询,时刻记得要释放内存详见phpexcel内存溢出优化手机API必须指定版本号,例如/v1/use
【ionic】Mac IOS下真机调试
模拟调试不能保证真机一定没问题,所以真机调试是非常必要的一步IOS设备启用设备调试在IOS设备中(Iphone,Ipad)中开始web检测器设备->safari->高级->web检测器编译代码ionicbuildios调试通过命令直接启动或者通过xcode导入会自动运行APPionicrunios--device这时打开Safari的“开发”,就可以看到如下界面:
PSR : php编码规范
诸王混战关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的。目前我们国内比较出名的几个框架(Yii,Laravel)都已经支持Composer并且加入了PHP-FIG(php框架程序组)。其中Composer的自动加载就支持PHP-FIG指定的PSR-0和PSR-4规范来实现自动加载机制,并且Composer推荐使用PSR-4PHP-FIG这是一个自愿非正式的机构,
Composer : php依赖管理工具
原始时代我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了总结如下代码混乱规范不统一没有后续统一更新等管理Composer侠应运而生composer直到如今已有5个年头了,也是直到今年才有了第一个稳定版本1.0,以前都是alpha版本了,其实composer的发展也和PHP-
phpexcel 内存溢出 优化
最近我们公司的项目的在导出excel的时候偶尔出现内存溢出错误,经过测试发现当数据量大于5000条就出现这个问题(默认php.inimemory是128M)Allowedmemorysizeof134217728bytesexhausted(triedtoallocate43bytes)解决内存溢出问题方法如下增加内存了,修改php.ini中memory_limit或者@ini_set('
【No.5 Ionic】修改 应用名,icon,启动界面
修改应用名直接修改config.xml中的name修改icon和启动界面在resources目录有个icon.png和splash.png文件,直接把文件覆盖执行重新生成命令ionicresources#重新生成icon和splashionicresources--icon#重新生成iconionicresources--splash#重新生成splash
混合App 框架选型
个人一直想做个App,但是学习IOS的过程发现原生的做界面还是听麻烦的就放弃了。后来就转到混合式App阵营了混合式App定义HybridApp(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“NativeApp良好用户交互体验的优势”和“WebApp跨平台开发的优势”平台框架选择APICloudDcloudIonic平台对比Dcloud平台大量使用H5接口提
【No.4 Ionic】修改 cordova 插件
在使用cordova过程使用的插件有可能不能满足个人需求,就需要修改,下面就直接说说步骤插件结构我用cordova-plugin-inappbrowser插件讲解在目录中有个src目录,然后有android和ios目录,直接按需修改就行了.|--CONTRIBUTING.md|--LICENSE|--NOTICE|--package.json|--plugin.xml|--README.md|--
【No.2 Ionic】Android打包
项目做完之后接下来就是打包操作了,接下来直接说Android打包操作生成签名证书keytool-genkey-aliasvincentguo-keyalgRSA-validity20000-keystorevincentguo.keystore#说明:#-genkey产生密钥#-aliasvincentguo别名vincentguo#-keyalgRSA使用RSA算法对签名加密#-validity
【No.3 Ionic】超级逗表情 App
本人使用Ionic框架开发了一个超级逗表情的App依赖插件cordova-plugin-app-version0.1.9"AppVersion"cordova-plugin-file4.3.0"File"cordova-plugin-file-opener22.0.2"FileOpener2"cordova-plugin-file-tra
【No.1 Ionic】基础环境配置
Node安装gitclonehttps://github.com/nodejs/nodecdnode./configuremakesudomakeinstallnode-vnpm-vnpm设置淘宝镜像npmconfigsetregistryhttps://registry.npm.taobao.orgnpmconfigsetdisturlhttps://npm.taobao.org/distIOS
【重要】ASCII码表
我们在做业务项目,客户端的输入总是无法控制,有各种各样的特殊字符,这些特殊字符就要借助ASCII码表才能判断,所以我做了一张图,方便查看为什么要搞个表出来,下面的字符串中,你看看你能否看的出来是什么特殊字符嘛(中间空白地方)201608071看不出来吧,让我们看看16进制是什么$hexdump-Ctmp.md0000000323031363038303720c2a031000000c三个特殊字符是
深入了解php opcode缓存原理
什么是opcodeopcode(operatecode)是计算机指令中的一部分,用于指定要执行的操作,指令的格式和规范由处理器的指定规范指定opcode是一种php脚本编译后的中间语言,就像java的ByteCode,或者.NET的MSL为什么要使用opcode缓存opcodecache的目的是避免重复编译,减少CPU和内存开销的。如果动态内容的性能瓶颈不在于CPU和内容,而在于IO操作,比如数据
php 请求参数限制
公司有个群发短信的小项目,项目上线了很久也没有什么问题,最近有商家说我短信群发不能用现象是:发现有时候可以发送,有时候不可以发送,看截图发送的手机数量不一样通过调试php代码发现php只接受了1000个请求参数,然后参看nginx的access状态是200,正常。在查看php的errorlog发现有句提示如下Unknown:Inputvariablesexceeded1000这句提示就是最多100
【Demo】 生成二维码 和 条形码
条形码和二维码对比一维条形码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。在水平和垂直方向的二维空间存储信息的条形码,称为二维条形码(dimensionalbarcode)。相比一维条码,二维码记载更复杂的数据,比如图片、网络链接等。一维条形码的应用可以提高信息录入的速度,减少差错率,但是一维条形码也存在一些不足之处:●数据容量较小
【运维工具】logrotate 日志管理神器
服务器经常会产生各种各样的日志文件,我们需要定期清理日志的分类系统日志应用日志系统日志例如系统的history历史信息crontab的运行日志一般系统日志系统都帮我们运维好了,不需要额外配置应用日志例如nginx的access和error日志,php框架的运行日志,这些日志是我们排查问题的有力证据工具logrotatelogrotate是什么logrotate是大多数linux系统自带的日志切割工
phpexcel 读取数据
最近公司做一个客户导入会员的功能,以前导入都是使用csv格式导入的,但是客户反应问题挺多的,普遍是乱码(由于各种系统各种环境可能引起编码问题)。最近想着就把这个导入完全改成excel导入,就研究了下phpexcel,发现读取excel还是挺方便的,这样也方便客户了,比较excel无论用office还是wps打开都是没有问题的示例读取代码如下/**$pathexcel文件路径*$header_map
常用开发资源收集
所见所得编辑器网址:http://wangeditor.github.io/datepickerdatetimepicker网址:https://github.com/xdan/datetimepickergoogle-code-prettify网址:https://github.com/google/code-prettifyGoogleCodePrettify是一个JavaScript库,用来
【No.2】监控Linux性能25个命令行工具
接着上一篇博文继续【No.1】监控Linux性能25个命令行工具10:mpstat--显示每个CPU的占用情况该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一个单线程应用程序引起的mpstat-PALL1Linux3.13.0-75-generic(lnmp)06/25/2016_x86_64_(2CPU)02:28:59PMCPU%usr%nice%sys%iow
打造 PHP版本 1password
以前注册很多网站密码都使用简单密码,但是由于今年频繁曝出密码不安全问题,所以要使用更加复杂的密码。但是好多个账号,密码也不能设置成一样的,防止一个被盗全部不安全了,记密码就成了意见很头疼的事情。在手机上有个1password软件,非常好,不过收费的。本着节约和利用自己的技能,自己就想到开发一个加密的账号功能在php中有个ssl加密功能,本文就是用此功能。步骤如下前提:什么样的秘密才安全密码没有绝对
phpstorm9 无法输入中文逗号句号等符号了,怎么破?
最近手贱把phpstorm升级到了最新版,发现输入中文符号输入不了呀,全部都变成英文符号了,例如输入的逗号、句号(,。)等都被转换成了(,.)经过各方搜索,这个在官方也说了,是个bug,JDK的bug,点击这里去官方查看目前官方还没有解决补丁,只有降低JDK版本了,目前测试出来jdk1.8.0_45是可以的,下载地址:http://www.oracle.com/technetwork/java/j
【Demo】微信上墙
微信墙效果图使用简单说明关于微信公众号回复“上墙“,查看指引回复”#+上墙内容“即可发表上墙消息了查看微信墙列表,点击这里
Startssl 现在就启用 HTTPS,免费的!
为什么要使用HTTPS主要是为了安全,虽然没有100%的安全,但是我们可以尽量提高安全级别,目前大型网站都已经使用HTTPS了注册StartSSL注册页面选择国家和输入邮箱他们会通过邮箱地址给你个验证码,在这期间不要关闭选项卡或浏览器,所以你只要保持打开状态,知道获得验证码并贴上它点击注册,设置证书密码下载证书到本地,点击证书文件,提示输入密码就输入上一步设置的密码,然后点击下图第三个框的here
Jetbrains phpstorm pycharm 免费授权注册码
通过授权服务器授权jetbrains是一家专门做IDE的软件公司,软件也非常好用,但是授权特别贵,下面就说说免费的方式,就是使用授权服务器,地址:http://idea.qinxi1992.cn自己搭建授权服务如若上述公共授权服务被封了,那就只能自己搭建了,不难,按需从附件中选择版本就好了附件地址https://yunpan.cn/cvBFY3G5rSisC访问密码b3ce根据自己电脑系统选择对应
Ubuntu常用200条命令
查看软件xxx安装内容:dpkg-Lxxx查找软件库中的软件:apt-cachesearch正则表达式查找软件库中的软件:aptitudesearch软件包查找文件属于哪个包:dpkg-Sfilename查找文件属于哪个包:apt-filesearchfilename查询软件xxx依赖哪些包:apt-cachedependsxxx查询软件xxx被哪些包依赖:apt-cacherdependsxxx
【iTerm2】美化你的Terminal 赠佛祖像
我们开发就是喜欢各种酷炫的东西,对于有洁癖的我,连命令行都不放过了先上图看效果,命令行显示高亮部分实现过程:第一步:.bash_prompt脚本#~/.bash_prompt#Thispromptinspiredbygf3,sindresorhus,alrra,andmathiasbynens.#butcustomizedtome.<3default_username='paulir
Yii2 捕获错误日志
在技术开发中,捕获程序框架错误,是非常必要的一件事情,我们公司使用Yii2框架,简单说下Yii2的错误捕获处理Yii2web应用1配置如下其中errorHandler就是错误处理配置,执行ErrorController的actionError'components'=>["urlManager"=>require(__DIR__.'/rout
捕获JS 错误日志
最近在做项目的过程中,发现很多JS报错没有引起重视,我就想想把JS错误捕获了,然后展示在我们一个平台上具体实现代码:window.onerror=function(message,url,lineNumber,columnNo,error){vardata={'message':message,'url':url,'error':error.stac
增长黑客
“增长黑客”这一概念近年来兴起于美国互联网创业圈,最早是由互联网创业者SeanEllis提出。增长黑客是介于技术和市场之间的新型团队角色,主要依靠技术和数据的力量来达成各种营销目标,而非传统意义上靠砸钱来获取用户的市场推广角色。他们能从单线思维者时常忽略的角度和难以企及的高度通盘考虑影响产品发展的因素,提出基于产品本身的改造和开发策略,以切实的依据、低廉的成本、可控的风险来达成用户增长、活跃度上升
Mac 下 命令收藏
1.查看文件的二进制xxd-btest.wav2.所有占用的端口sudolsof-i-P|grep-i"listen"
【No.1】监控Linux性能25个命令行工具
如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位topvmstatlsoftcpdumpnetstathtopiotopiostatuptimedmesg|tailmpstat-PALL1pidstat1free-msar-nDEV1sar-nTCP,ETCP1IPTrafpsacct或者acctMonitN
PAC 自动代理
最近看了HTTP权威指南里面有关于代理的介绍,代理有很多种,今天主要来说说自动代理PACPAC(ProxyAutoConfig)是一个Script;经由编写这个Script,我们可以让系统判断在怎么样的情形下,要利用哪一台Proxy来进行联机PAC文件是纯文本格式的,实际上也是个Javascript文件。在PAC文件中一定要定义FunctionFindProxyForURL//参数url是用户输入
Squid 操作实践
Squid简介Squid可以做什么性能要素Squid安装Squid快速体验Squid配置Squid简介SquidisacachingproxyfortheWebsupportingHTTP,HTTPS,FTP,andmore.Itreducesbandwidthandimprovesresponsetimesbycachingandreusingfrequently-requestedwebpag
ntpdate[16603]: the NTP socket is in use
ubuntu使用ntpdate更新时间的时候提示错误如下root@lnmp:/etc/squid3#sudontpdatecn.pool.ntp.org5Jan07:22:59ntpdate[4129]:theNTPsocketisinuse,exiting解决方法$psaux|grepntpd#将进程号记录下来$sudokill2378#杀死刚才记录的进程号$sudontpdatecn.pool
Ubuntu apparmor何方神圣
AppArmor是一款与SeLinux类似的安全框架/工具,其主要作用是控制应用程序的各种权限,例如对某个目录/文件的读/写,对网络端口的打开/读/写等等。来之Novell网站的引用:AppArmorisdesignedtoprovideeasy-to-useapplicationsecurityforbothserversandworkstations.NovellAppArmorisanacc
打造私有的DNS 服务
在企业内部一般都会有自己的DNS服务,主要为了企业方便管理,例如访问一些内部系统,控制一些网站不让访问,今天我们就说说如何打造私有的DNS服务系统基础配置Ubuntu14.04内存:354M(使用vagrant创建的虚拟机,快速打造自己开发环境vagrant+virtualbox)安装DNS服务sudoapt-getinstallbind9bind9utils修改配置上篮三步简单设置用dr.loc
用GitLab搭建自己的私有GitHub
相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一本周有个朋友公司需要一个类似github的代码仓库管理系统,本人选择了gitlab(没有什么对比了,好像目前就gitlab最好了并且维护也不错了),下面就来说说搭建私有github系统的过程服务器设备信息如下Ubuntu14.04(64)memory:8Gcpu:4
MetaWeblog 同时管理51cto,csdn,sina,163,oschina,cnblogs等博客
我们技术人一般都会有自己的一个博客,用于记录一些技术笔记,也期望自己的笔记文章可以让更多人知道。如何让更多人知道自己的博客?搜索引擎收录,用户通过关键词搜索可能会进入内容运营,但是一般技术人为了文章做运营的人应该没有几个通过大流量同类型网站导流量我是使用方法一和方法三,方法一就不说了,互联网人都知道了,但是小网站效果不会太好了。方法三就是充当复读机:复制和粘贴到其他技术网站“复制和粘贴到其他技术网
Python 虚拟环境Virtualenv
本人也是Python爱好者,众所周知,Python扩展多,每次为了测试,安装各种各样的扩展,这样导致本地的Python环境非常混乱,就有人想到搞个隔离环境和本地环境没有关系,随时可以删除这个隔离环境,在创建,这就是Python虚拟环境Virtualenv(是不是感觉和虚拟操作系统有点相似Virtualbox)下面直接上操作步骤安装Virtualenv$sudoapt-getinstallpytho
【QQ音乐Api】移花接木 打造自己的音乐电台
最近突发奇想想做个在线音乐小网页。需求很简单,如下搜索歌曲或歌手在线播放音乐借用qq或者百度的音乐接口需求明确那就直接动手了我首先尝试的百度音乐,但是不能在线播放(提示forbidden),虽然不能在线播放,但是下载是可以的百度音乐具体Api如下1:搜索接口$url="http://musicmini.baidu.com/app/search/searchList.php?qword=%
IOS 移除storyboard
我是IOS新手,都说storyboard是个好东西,但是我搞了一会始终没有搞懂,并且我觉得学习一门语言,使用类似以前网页三剑客这种所见所得工具,不太利于学习,所以我就想着移除storyboard1:我们通过xcode新建的项目,默认会有个Main.storyboard,我们就是要干掉这个2:移除storyboard3:删除Main.storyboard之后,再启动app就和黑屏,这个时候就需要修改
浮点型 转化 成 整形 那点事
我们都知道浮点型不是很精确的,所以在进行类型转化的时候就会出现很多意向不到的问题我使用php给大家用代码说说这事$a=2.01;var_dump(sprintf('%.20F',$a*100));//string(24)"200.99999999999997157829"var_dump(intval($a*100));//int(200)上面的结果很出人意料吧
我的Mac软件集
哥总算用上了mac,走上了小康了phpstorm:个人工作中最常用的软件了pycharm:这个写python的,和phpstorm是一家开发的sourceTree:git可视化工具xcode:如果是你个开发并且用mac,那么你不知道这个软件就去一边凉快去SequelPro:数据库管理工具Audacity:这货基本不用,我在做一个项目用到了,就是通过手机发射红外波,需要看看其他软件发的波形,用这个录
OAuth的机制原理讲解及开发流程
本想前段时间就把自己通过QQOAuth1.0、OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oauth1.0的认证开发。闲话多说了点,下面直接进入主题。1、OAuth的简述OAuth(OpenAuthorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的
virtualbox + ubuntu虚拟机 目录共享
Tips:使用虚拟机都要安装加强工具,撒,加强工具是什么?自己google去吧新建一个共享目录然后重启系统进行如下代码设置即可~$df//可以看到vincent盘已经有了~$sudomkdir/mnt/share~$sudomount-tvboxsfvincent/mnt/share如果想自动挂载的话,可以在/etc/fstab中添加一项vincent/mnt/sharevboxsfrw,gid
解读大型网站的演变过程
有一次去图书馆看书,遇到一个刚毕业不久,在图书馆学习php,我就和他聊天,他期间问到一个问题“如何开发一个大型网站”,这个问题吓不倒我呀,我了解一些了,当时就和他连说带比划了一次,回家了我仔细又想了想,觉得还是写篇文章记录下任何网站都是从一个小网站演变成一个复杂的网站的(后面我们用成熟的网站表示大型网站)才开始一个网站不可能非常成熟的,都是随着用户量的增长,业务功能的不断扩展逐渐完善的第一:最初的
IOS NSDate NSDateFormatter 导致相差8小时
时间问题应该是所有编程语言都要处理的。详细学过php的同学知道,php中也会有相差8小时的问题,然而php可以非常方便的解决的,直接设置下就好了我最近在学习IOS的过程中,发现IOS的日期处理也是个大坑。记录下我遇到的问题我开始使用NSDate获取时间发现相差8小时,解决方法如下NSDate*date=[NSDatedate];NSTimeZone*zone=[NSTimeZonesystemTi
程序猿打招自己的电子图书馆
我是一个懒人,所以很多事情都不喜欢手工处理。随着年份的增加,个人的书籍也越来越多了,但是如果要找什么东西时候,我可能自己都不知道我有什么书,书籍主要讲解什么内容了。所以我就想到了电子书库,将自己的书籍都录入到电子数据,这样可以方便以后查找了。只说不做非程序猿了。还说什么了,直接开做了说下我的思路,很简单每本书籍都有条形码ISBN,千万不要告诉我你不知道条形码是神马,算了,我还是截张图。根据ISBN
【技能】提高网站可用性
提高网站可用性,这个话题就太广了,就按照我想到的写几点了,以后想到了再加1)容灾备份对于有点规模的网站,服务器都不止1台,最简单的就是代码分布在好几台机器上。第一:可以起到备份的作用,一台坏了,可以马上切到其他机器上第二:降低机器的压力,增加并发处理能力2)负载均衡上面一点我们提到代码放在好几台机器上,根据每台的硬件配置情况,很多软件都可以实现请求分发的(反向代理),例如nginx,lvs了。我常
【逗比作孽呀】网站缓存优化
为什么想到写篇缓存网站优化?都是逗比穷惹的祸,本人的vps内存比较小,而我自己又做了图片系统,博客的图片都是经过裁剪的,图片做裁剪可以非常占用内存了为了降低vps的压力,就只能在前端做缓存优化了。http真是一个伟大的协议,我们就来通过httpheader关键字来做网站优化1)修改时间:Last-Modified和IF_MODIFIED_SINCELast-Modified关键字是用来设置文档的最
iOS开发工具-网络封包分析工具Charles
简介Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将
【RBAC】打造Web权限控制系统
引言权限系统模块对于互联网产品是一个非常重要的功能,可以控制不同的角色合理的访问不同的资源从而达到安全访问的作用此外本次课程有视频讲解:http://www.imooc.com/learn/799,对应演示系统:http://rbac.54php.cn权限控制模型ACLRBAC基于角色的访问控制从上图我们可以看出,ACL是用户和权限直接关系的,RBAC则是通过角色间接关联用户和权限的。所以角色是R
用PHP编写一个APP的API
第一部分,通信接口的实现标签(空格分隔):PHP手机后台api通信接口AndyPHP开发手机API时,一般返回XML或JSON数据类型的数据,除了要返回从源数据(程序本身需要的数据)外还应附上状态码,以下是一段封装后的数据,它使用JSON格式展现:{code:200,message:"Success",data:[{username:"安明哲",password:"123456",level:"1
nginx处理问题笔记
1.处理所有请求到单一入口(rewriteallrequeststoindex.phpwithnginx)目前我们做开发一般都是单入口的,所以都会使用web服务器做重定向到入口文件rewrite^/(.*)$/index.php?/$1last;在nginx中加入这项配置就好了或者可以使用htaccess文件RewriteRule.index.php2.Nginx出现的413RequestEnti
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
本人使用mac系统,命令行工具使用的iterm2,登录自己的云主机的时候每次都要提示如下错误-bash:warning:setlocale:LC_CTYPE:cannotchangelocale(UTF-8):Nosuchfileordirectory解决方法:打开iterm2的preferences的Terminal关闭最下面的Setlocalevariablesautomatically为什么
快速打造跨平台开发环境 vagrant + virtualbox + box
工欲善其事必先利其器,开发环境和开发工具就是我们开发人员的剑,所以我们需要一个快并且好用的剑关于本篇博文有视频讲解的:vagrant打造跨平台可移动的开发环境对应章节介绍刚开始做开发的时候的都是把开发环境配置在自己的电脑上,随着后面我们接触的东西越来越多,慢慢的电脑上都是各种环境了,php,java,python,nodejs等等,非常麻烦,并且经常由于某种原因就把电脑重装了,ORZ,所以环境都要
【Git 使用笔记】第四部分:git在公司中的开发流程
先声明几个变量仓管A:主分支,只有master分支仓管B:开发分支,只有各个业务开发分支仓管Bfork于A如下图为了保证代码的稳定性,只有仓管B中的某个分支测试完毕并进行了代码review才可以和仓管A进行mergePS:只有仓库B所有开发都有权限仓库A只有特定人才有权限,这样可以保证仓库A的代码稳定性流程和命令如下:1.某业务功能确定要开发,2015年6月20号开始开发,新建分支gitcheck
【Git 使用笔记】第二部分:基本命令 和 单分支开发
git基本命令gitadd.gitcommit-am"请填写你NB的备注"gitfetch--allgitfetch-p//如果远程分支删除了,本地发现还是有备份,可以使用此命令gitpushoriginmaster:mastergitremoteaddorigin仓库地址gitremotermorigingitremote-vgitrebaseorigin/mastergit
Java网络编程(中文版 第三版)(O'Reilly Java系列)
《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK1.4和1.5(现在已命名为J2SE5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDPsocket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的网络应用程序,
持续交付
JezHumble编著的《持续交付(发布可靠软件的系统方法)》讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。《持续交付(发布可靠软件的系统方法)》由三部分组成。第一部分阐述了持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。第三部分围绕部署流水线的投入产出讨论
程序员修炼之道
《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。
Java编程思想 (第4版)
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在BruceEckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见
Wireshark网络分析就这么简单
Wireshark可能是世界上最好的开源网络包分析器,能在多种平台上(比如Windows、Linux和Mac)抓取和分析网络包,在IT业界有着广泛的应用。《Wireshark网络分析就这么简单》采用诙谐风趣的手法,由浅入深地用Wireshark分析了常见的网络协议,读者在学习Wireshark的同时,也会在不知不觉中理解这些协议。作者还通过身边发生的一些真实案例,分享了Wireshark的实战技巧
Hadoop权威指南
《Hadoop权威指南(第2版)(修订•升级版)》从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hadoop这一高性能处理海量数据集的理想工具。全书共16章,3个附录,涉及的主题包括:Haddoop简介;MapReduce简介;Hadoop分布式文件系统;Hadoop的I/O、MapReduce应用程序开发;MapReduce的工作机制;MapReduce的类型和格式;MapRe
In MySQL, a zero number equals any string
最近在做项目的过程中发现了一个问题数据库表test有个字段是target_idint(11),这个字段可能为零使用如下查询select*fromtestwheretarget_id='';select*fromtestwheretarget_id='abcd';这样,所有target_id=0的结果都会出来,为什么?查阅资料,这是类型转化导致的,在mysql中0意味着任何字符串其实不是mysql特
解决UITableView分割线距左边有距离的办法
首先在viewDidLoad方法中加上如下代码:if([self.tableViewrespondsToSelector:@selector(setSeparatorInset:)]){[self.tableViewsetSeparatorInset:UIEdgeInsetsZero];}if([self.tableViewrespondsToSelector:@selector(setLayou
MYSQL 命令行显示乱码 解决方案
中文乱码是因为编码集不支持,所以要改变编码先查看下设置的编码使用如下命令showvariableslike'character%';在mysql.conf(Ubuntumysql5.5)中的[client]区域加上default-character-set=utf8在[mysqld]区域加上character_set_server=utf8重启服务
iOS开发tableView去掉顶部上部空表区域
tableview中的第一个cell里上部有空白区域,大概64像素在viewDidLoad中加入如下代码self.automaticallyAdjustsScrollViewInsets=NO;
apparmor 引起自定义mysql 日志问题
今天手贱,看到mysql的日志在/var/log/mysql下面。总是觉得别扭,于是就想改变日志的位置,本人开发环境vagrant+ubuntu12.04,在/etc/mysql/mysql中修改了general_log的位置,放在/data/logs/mysql下面然后重启服务,servicemysqlrestart查看错误日志发现说/usr/sbin/mysqld:File'/data
php Only variables can be passed by reference
最近做项目,发现了一个报错Onlyvariablescanbepassedbyreference,意思是“只有变量能通过‘引用’”就是在代码中使用了一个方法,这个方法的参数值传址引用的例如php的end方法php官网的说法(PHP4,PHP5)end—将数组的内部指针指向最后一个单元说明¶mixedend(array&$array)end()将array的内部指针移动到最后一个单元并返回其
开启 NFS 文件系统提升 Vagrant 共享目录的性能
Vagrant默认的VirtualBox共享目录方式读写性能表现并不好,好在Vagrant支持NFS文件系统方式的共享,我们可以启用NFS提升性能开启方法首先要把虚拟机的网络设置成:private_network模式。然后确认宿主机系统是否安装了nfsd,MacOSX默认是集成了的,部分Linux需要安装对应package才能支持(以Ubuntu为例):$sudoapt-getinstallnfs
【ZBar】ios错误ignoring file xxx missing required architecture x86_64 in file
解决方法:1、在Projecttarget里“Architectures”设置为:Standard(armv7,armv7s)或者Standard(armv7,arm64)2、设置”BuildActiveArchitectureOnly”为“NO”还有一篇文章说的很牛逼,但是还咩有看,http://blog.csdn.net/lanmanck/article/details/39055503
微信内置浏览器UserAgent的判断
需求分析现在微信火了,很多线上的APP都希望通过分享的URL或直接的URL进行产品宣传(写这篇博文的时候,听说微信下个版本将要屏蔽微信中的URL链接),这些链接都将通过微信内置的浏览器打开。PM希望在微信内置浏览器中展示的页面进行个性化处理,那么前端这边必然要去区别判断是否是微信内置浏览器。微信内置浏览器的UserAgent检测浏览器的UserAgent应该是非常简单的事情,微信在Android下
MySQL 常用命令集
1.mysqlbinlog工具使用方法如下:先使用showbinarylogs查看在使用导出命令mysqlbinlog-R-uroot-pxxxx-hxxx.xxx.xxx.xxx-ddb_name--base64-output=decode-rows--start-datetime='2015-08-1313:11:21'--stop-datetime="2015-08
文章
图书馆
富媒体
关于
小玩意
回到顶部