• Gitea - 企业搭建私有git服务器

    缘由git目前已经是非常流行的版本管理工具了。当时我在安居客的时候就已经使用这个工具了。而代码私有化管理是正常的一个需求,因为代码也是公司的资产。这几年使用过好几个,最开始的是gitlab,我专门写过一篇文章:用GitLab搭建自己的私有GitHub。然后是gogs。目前我们使用的是gitea。Giteagitea是从gogs发展而来的,我个人使用过程发现感觉比gogs安装和使用都方便,还有是开源
  • 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之后,
  • 个性化定制你的 GitHub 首页

    燃点最近在查阅很多人的github的时候发现他们的首页都非常个性化,感觉挺新奇的,就去了解了如何配置个性化github首页效果展示动手实践这个小彩蛋不知道是否一直都有,反正是被发现使用的时间好像不长。主要原理就是github的这个个性化首页会自动记载获取和你用户名一样的一个仓库。如下图创建一个和自己用户名一样的仓库,然后README.MD就可以写个性化首页的内容了后续计划后续在做一个自动化同步脚本
  • 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.
  • linux服务器出现大量TIME_WAIT的解决方法

    起因今天登陆服务器想查看一个端口的占用情况,发现好多TIME_WAIT的情况,吓我一跳。如下是TCP建立连接的示意图缘由time_wait的作用TIME_WAIT状态存在的理由:1)可靠地实现TCP全双工连接的终止在进行关闭连接四次挥手协议时,最后的ACK是由主动关闭端发出的,如果这个最终的ACK丢失,服务器将重发最终的FIN,因此客户端必须维护状态信息允许它重发最终的ACK。如果不维持这个状态信
  • CentOS中service命令与/etc/init.d的关系以及centos7的变化

    缘由由于个人经常在ubuntu和centos系统中切换,习惯了以前的ubuntu中通过/etc/init.d/xxx进行软件服务控制。后来发现centos7中换了服务的控制方式:serviceservice关键字servicehttpdstart其实是启动了存放在/etc/init.d目录下的脚本。但是centos7的服务管理改规则了。CentOS7继承了RHEL7的新的特性,例如强大的syste
  • Ubuntu系统启动后停在(initramfs)

    问题今天我在启动虚拟机过程遇到莫名其妙的问题,启动不了。如下图。提示某个文件系统错误了。例如我的就是/dev/mapper/vagrant--vg-root。上面问题可把我急坏了,以为虚拟机坏了。最后找到了解决方法,分享出来。解决方法在如上截图的命令行直接输入命令:fsck/dev/mapper/vagrant--vg-root。奇迹就发生了,居然好了。哈哈
  • 树莓派3 之 启动 和 系统配置

    在上一篇文章中系统已经烧写到SD卡中了,接下来我们来启动,启动系统。为了方便操作,需要一个HDMI的显示器,USB鼠标和键盘。启动直接将SD卡放入树莓派,通电就启动了。不需要特殊配置就启动了配置网络我家里的网络都是wifi,所以我就直接连接到wifi上了,如下图,配置完成之后IP是192.168.0.106开启远程SSH#在终端中操作$sudoraspi-config如上图选择Interfacin
  • 【Demo】QQ,github,微博第三方社交登录

    本文主要讲解集成第三方社交账号登录为什么会有这个需求?主要是因为目前互联网的网站数量太多,如果在各个站点都注册一个账号用户非常不容易记住每个账号的用户名和密码,并且非常难保证每个账号的密码足够安全而目前流行的社交网站基本上每个用户都有账号,如果通过这类社交网站登录就能得到如下几点好处用户不用再注册其他账号用户只能维护社交账户足够安全就行了,使用此社交账号登录的就是安全的了常见的第三方社交账号有哪些
  • 【运维工具】Git代码发布系统

    引言代码发布系统是互联网公司必备的运维系统,作用主要用户发布业务代码到业务服务器为什么需要代码发布系统有的同学可能说,我们公司服务器就那么一台,做个发布系统太麻烦了?不认同这说法发布系统有如下好处流程管理,加上权限管理,可以在系统记录谁做了什么操作减少人工误操作影响,登录服务器本身操作就是有误操作的可能的运维自动化为运维工作减负加快发布速度不用人工登录N台服务器发布方便快速回滚版本技术选型git:
  • 【Composer】实战操作二:自己创建composer包并提交

    大纲创建自己的composer库提交到指定平台测试安装自己的库设置composer平台自动更新如何方便测试自己开发的库开始动手创建自己的composer库个人博客后台有一部分是关于统计的,通过UA获取浏览器,设备,操作系统。本人封装了一个库,放在github上,源码地址:https://github.com/apanly/browser-detector,任何一个文件夹只有有个composer.j
  • 常用开发资源收集

    所见所得编辑器网址:http://wangeditor.github.io/datepickerdatetimepicker网址:https://github.com/xdan/datetimepickergoogle-code-prettify网址:https://github.com/google/code-prettifyGoogleCodePrettify是一个JavaScript库,用来
  • php 通过exec 创建git分支失败

    今天给我们自己的发布系统增加一个新建分支的功能,操作比较简单,但是使用php执行shell命令的时候总是无法push分支到远程,但是登陆服务器执行却是可以的新建分支命令如下gitfetch--allgitcheckout-bpmt_20160624_v10.7.4origin/mastergitpushoriginpmt_20160624_v10.7.4:pmt_20160624_v10.7.4p
  • Nginx 常用全局变量 及Rewrite规则详解

    每次都很容易忘记Nginx的变量,下面列出来了一些常用$remote_addr//获取客户端ip$binary_remote_addr//客户端ip(二进制)$remote_port//客户端port,如:50472$remote_user//已经经过AuthBasicModule验证的用户名$host//请求主机头字段,否则为服务器名称,如:blog.sakmon.com$request//用户
  • 【iTerm2】美化你的Terminal 赠佛祖像

    我们开发就是喜欢各种酷炫的东西,对于有洁癖的我,连命令行都不放过了先上图看效果,命令行显示高亮部分实现过程:第一步:.bash_prompt脚本#~/.bash_prompt#Thispromptinspiredbygf3,sindresorhus,alrra,andmathiasbynens.#butcustomizedtome.<3default_username='paulir
  • 网站网络带宽 和 流量的区别

    关于带宽和流量一直分的不是很清楚,最近查看了详细解释,这里按照我自己的理解做些备注脑补基础:带宽单位是:Kbit/s,Mbit/s,Gbit/s流量单位是:KB,MB,GB1Byte=8bit(常说的大B和小b就是这个)1Mbit/s=1024Kbit/s1MB=1024KB1GB=1024MB我们来一个算术题来讲解带宽与流量如果我们有台服务器带宽10Mbit/s,每日最多产生多少流量?10Mbi
  • 用GitLab搭建自己的私有GitHub

    相信很多技术人员都知道有个github造福开发人员的git(分布式版本管理工具)代码管理社区,可以说现在git是开发人员的必备技能之一本周有个朋友公司需要一个类似github的代码仓库管理系统,本人选择了gitlab(没有什么对比了,好像目前就gitlab最好了并且维护也不错了),下面就来说说搭建私有github系统的过程服务器设备信息如下Ubuntu14.04(64)memory:8Gcpu:4
  • 【git】删除某个文件的所有历史记录,批量删除远程分支

    删除git某个文件的所有历史记录git的目的就是版本控制,记录每一个版本的变动。然而有的时候我们往往希望从版本库中彻底删除某个文件,不再显示在历史记录中。例如不小心上传了一堆错误的文件,或者不小心上传了帐号、密码,那么这个时候怎么办呢?下面的命令可以完美解决你的问题$gitfilter-branch-f--tree-filter'rm-rfcommon/service/SyncBlogSe
  • nginx rewrite 参数和例子

    本日志内容来自互联网和平日使用经验,整理一下方便日后参考。正则表达式匹配,其中:*~为区分大小写匹配*~*为不区分大小写匹配*!~和!~*分别为区分大小写不匹配及不区分大小写不匹配文件及目录匹配,其中:*-f和!-f用来判断是否存在文件*-d和!-d用来判断是否存在目录*-e和!-e用来判断是否存在文件或目录*-x和!-x用来判断文件是否可执行flag标记有:*last相当于Apache里的[L]
  • nginx处理问题笔记

    1.处理所有请求到单一入口(rewriteallrequeststoindex.phpwithnginx)目前我们做开发一般都是单入口的,所以都会使用web服务器做重定向到入口文件rewrite^/(.*)$/index.php?/$1last;在nginx中加入这项配置就好了或者可以使用htaccess文件RewriteRule.index.php2.Nginx出现的413RequestEnti
  • 快速打造跨平台开发环境 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 使用笔记】第三部分:多分支开发

    ###举例仓库仓库地址A:git@gitlab.54php.cn:guowei/demos.git仓库地址B:git@gitlab.54php.cn:infra/demos.git开发人员仓库C:git@gitlab.54php.cn:lurenjia/demos.git###多分支开发背景以demos为例子,主分支是仓库B,开发分支是仓库A,然后每个开发人员从仓库Aclone,每周会在仓库A切一
  • 【Git 使用笔记】第二部分:基本命令 和 单分支开发

    git基本命令gitadd.gitcommit-am"请填写你NB的备注"gitfetch--allgitfetch-p//如果远程分支删除了,本地发现还是有备份,可以使用此命令gitpushoriginmaster:mastergitremoteaddorigin仓库地址gitremotermorigingitremote-vgitrebaseorigin/mastergit
  • 持续交付

    JezHumble编著的《持续交付(发布可靠软件的系统方法)》讲述如何实现更快、更可靠、低成本的自动化软件交付,描述了如何通过增加反馈,并改进开发人员、测试人员、运维人员和项目经理之间的协作来达到这个目标。《持续交付(发布可靠软件的系统方法)》由三部分组成。第一部分阐述了持续交付背后的一些原则,以及支持这些原则的实践。第二部分是本书的核心,全面讲述了部署流水线。第三部分围绕部署流水线的投入产出讨论
  • 鸟哥的Linux私房菜.基础学习篇(第三版)

    本书是最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇》的最新版,全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统
  • 浪潮之巅(上册)

    《浪潮之巅(第2版)(上册)》不是一本科技产业发展历史集,而是在这个数字时代,一本IT人非读不可,而非IT人也应该阅读的作品。一个企业的发展与崛起,绝非只是空有领导强人即可达成。任何的决策、同期的商业环境,都在都影响着企业的兴衰。《浪潮之巅》不只是一本历史书,除了讲述科技顶尖企业的发展规律,对于华尔街如何左右科技公司,以及金融风暴对科技产业的冲击,也多有着墨。此外,《浪潮之巅》也着力讲述很多尚在普
  • 浪潮之巅(下册)

    《浪潮之巅(第2版)(下册)》不是一本科技产业发展历史集,而是在这个数字时代,一本IT人非读不可,而非IT人也应该阅读的作品。一个企业的发展与崛起,绝非只是空有领导强人即可达成。任何的决策、同期的商业环境,都在都影响着企业的兴衰。《浪潮之巅》不只是一本历史书,除了讲述科技顶尖企业的发展规律,对于华尔街如何左右科技公司,以及金融风暴对科技产业的冲击,也多有着墨。此外,《浪潮之巅》也着力讲述很多尚在普
  • CMDB分步构建指南

    《CMDB分步构建指南》这是中国第一本专门介绍CMDB的书籍,从一个企业内部的视角出发,讲解一个CMDB完整的建设过程。它将一个CMI)B项目设计成5大阶段,每一个阶段各包含若干个步骤(共计26个步骤),每一个步骤又包含若干个任务(共计152个任务),从组建项目团队到定义需求与立项,从产品选型到CMDB的实施,直到将项目成果与项目目标匹配,对实际业务运作进行了深入指导。书中浓缩了一家软件公司的全球
  • 高性能MySQL

    《高性能mysql(第3版)》是mysql领域的经典之作,拥有广泛的影响力。第3版更新了大量的内容,不但涵盖了最新mysql5.5版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。全书共分为16章和6个附录,内容涵盖mysql架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展
  • 【Git 使用笔记】第一部分:安装git 和 使用git

    第一部分:安装git(本人使用ubuntu系统)sudoapt-getinstallgit第二部分:基本配置gitconfigcore.filemodefalse//忽略文件属性的修改gitconfig--globaluser.name"vincentguo"gitconfig--globaluser.email"apanly@163.com"第三部分:生成sshkey放到github或者其他gi
  • 解决UITableView分割线距左边有距离的办法

    首先在viewDidLoad方法中加上如下代码:if([self.tableViewrespondsToSelector:@selector(setSeparatorInset:)]){[self.tableViewsetSeparatorInset:UIEdgeInsetsZero];}if([self.tableViewrespondsToSelector:@selector(setLayou
  • 【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