自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Golang使用go mod管理包

之前使用GOPATH全局变量进行go工程的包管理,总觉得有些别扭。今天抽时间研究了一下go mod,发现还是很方便的。环境准备1. 设置GO111MODULEGO111MODULE有三个取值,分别是on, off, auto,默认值为auto。on:开启模块管理,忽略GOPATH目录,根据go.mod下载依赖。off:关闭模块管理,从GOPATH目录寻找包。auto:如果在$GOPATH/src目录中,则忽略go.mod,否则根据go.mod下载依赖。如果你的代码没有处于$GOP

2021-08-23 09:29:36 579

原创 ftp服务的主动模式(active)和被动模式(passive)

当ftp传输出现问题的时候,你首先应该检查的就是你的ftp的传输模式。根据不同的网络配置情况,该模式应该被设置为主动模式或被动模式。ftp的命令通道和数据通道典型的ftp会话使用两个通道,命令通道和数据通道,一个用来传输命令,一个用来传输数据。默认情况下,ftp的命令通道使用21端口,而数据通道的端口则取决于ftp的模式。主动模式下,服务器端数据通道的端口是20,被动模式下,服务器端数据通道端口是随机的。ftp的主动模式最开始ftp只有主动模式,是一个很古老的模式...

2021-06-09 17:03:47 2763

原创 记一次mysql主从不同步的经历

记一次mysql主从不同步的经历近期进行机房迁移,很重要的一步就是迁移数据库。问题描述:几个月前搭建好了数据库的双主结构,使用vip漂移的形式。近期发现数据没有同步。可能的原因:可能是中间关过机导致的?问题说明:方便叙述,假设两台主机的ip分别为A和B双主结构采用binlog互相复制的形式,可以在A主机上使用命令show master status命令查看自己的binlog文件和postion。这里的postion指的是binlog当前的写入位置。比如bin.

2021-05-27 16:56:34 136

原创 通过两个表的联查结果将一个表的数据批量导入到另一个表中

例子:UPDATE zhr_risk_point_supervisor AS superJOIN user AS uON super.user_name = u.cn AND (super.user_ipa is NULL OR user_id is NULL)SET super.user_ipa = u.name, super.user_id = u.id;通过将量表相连,再从连接的结果向原表进行更新...

2020-09-20 12:55:26 387

原创 mysql在LEFT JOIN中使用多个条件,发现查询结果个数有问题

今天在导数据的过程中发现,在LEFT JOIN的过程中,多个匹配条件的结果个数不对。比如有三张表A, B, C,在A left join B leftjoin C的过程中,总的数量应该与表A个数相同,但是当有多个匹配条件时,发现结果的个数不对,经过排查,原来原因出在where上。开始写的语句类似于:SELECT * FROM A LEFT JOIN B ON A.field1 = B.field1LEFT JOIN C ON A.field2 = C.field2 AND B.field3

2020-09-19 17:52:34 1839

原创 自主编译安装的软件找不到动态链接库的问题

找不到动态链接库的问题Python多版本编译安装的问题ubuntu16.04默认的Python3版本是3.5,最新的已经是3.8.2了,想要编译安装一个新版本的与旧版本共存。于是很开心的下载了tar包,执行:./configure --prefix=/opt/python3.8 --enable-shared CFLAGS=-fPICmakesudo make install想着这样...

2020-03-04 14:22:16 981

原创 uWSGI学习笔记5——uWSGI挂载多个Flask application

上一章讲了好多uWSGI的特性,本章再看一个好玩的特性——用一个uWSGI部署多个Flask application用一个uWSGI部署多个Flask app有的时候我们可能要同时部署多个服务应用,可以使用同一个uWSGI进程挂载多个Flask app首先我们写三个flask app:# app1.pyfrom flask import Flask ap...

2019-12-10 20:38:25 1488

原创 uWSGI学习笔记4——uWSGI的一些特性

上一章我们实现了nginx+uWSGI+Flask的应用部署,并且研究了一下uWSGI启动的进程,这一章聊一下uWSGI的一些特性和需要注意的地方本章概览uWSGI与多线程application的关系 uWSGI启动的应用如何加载虚拟环境中的包 永远不要使用root 一个释放work的优化方式——卸载 如何让uWSGI支持多版本的Python应用。uWSGI与多线程如...

2019-12-09 20:42:17 756

原创 uWSGI学习笔记3——使用uWSGI部署Flask应用

上一篇文章介绍了如何使用uWSGI将部署一个简单的hello world WSGI application,并介绍了uWSGI的processes,threads,status参数和一个查看uwsgi状态的小工具——uwsgitop。但是我们正常的开发过程中,不会自己从头到尾实现WSGI application,而是会使用一些框架,比如Django,Flask,Bottle等。这一章以Flask为...

2019-12-09 19:40:54 3226

原创 uWSGI学习笔记2——使用uWSGI作为WSGI server

在上一篇认识wsgi走红,我们了解了WSGI协议,知道了该协议在网络中扮演的角色,并且使用Python自带的WSGI模块wsgiref编写了一个简单的WSGI server。wsgiref是用纯Python写的,性能不行,生产环境还是需要用uWSGI这一类高性能的WSGI server。这一篇我们使用uwsgi替代上一篇提到的自己编写的WSGI server。本章概览使用uWSGI运行简单...

2019-12-07 15:06:59 914

原创 uWSGI学习笔记1——认识WSGI

引子最近项目引入了apscheduler模块做定时任务,在flask本身的调试server中跑的好好的,但是部署到生产环境,就各种报504错误。于是上网搜了一些解决方案,虽然临时解决了,但总觉得心里不放心。加之之前用uwsgi的时候也有一些问题,一直都是临时解决没有深究。这回想接着这个机会好好读一下官方文档,研究一下uwsgi。初识wsgi官方文档说uWSGI这个名字中的"WSGI"部...

2019-12-06 19:57:58 241

原创 用groupby对可迭代对象进行分组

itertools中的groupby可对可迭代对象进行分组。形式为:itertools.groupby(iterable, key=None)参数: iterable: 一个可迭代对象,对其进行分组。 key: 分组用的函数,该函数作用于iterable的每个元素,若是返回相同的值就认为是同一组。 返回:返回由元组组成的列表。元组的第一个值是key返回的值,第二个值是一个可迭代对象,就是该分

2017-04-15 21:51:52 1617

原创 在 Django 中使用 logging

在 Django 中使用 logginglogging 模块简介logging 是 python 标准库中的模块,用于记录 log。主要包括以下四个组件:Loggers 向应用程序提供log接口Handlers 将log记录发送到指定的目的地(控制台输出,或写入文件或发向网络等等)Filters 提供一个分级策略控制 log 输出等级Formatters 指定输出的最终格式。下面是 Pyt

2017-03-12 15:23:16 4606

转载 菜鸟网络工程师的成长笔记——第20天(2016.09.06)

有时候全栈是孤独的,因为所有任务都是一人完成,没人跟你交流

2016-09-07 19:59:27 481

原创 菜鸟网络工程师的成长笔记——第19天(2016.09.05)

不知道要有多久的浸润,才能算是精通web全栈开发

2016-09-06 22:02:16 389

原创 菜鸟网络工程师的成长笔记——第16天(2016.09.02)

终于又到周五

2016-09-02 20:31:19 367

原创 菜鸟网络工程师的成长笔记——第15天(2016.09.01)

其实网站开发蛮有意思的,每天都是不同的东西,而且正如之前与c/c++开发比较起来,所写即所得,无需等待编译,造成的结果是,之前编译的时候可以刷刷手机,现在,时时刻刻都是盯着电脑屏幕。

2016-09-01 21:04:42 365

原创 菜鸟网络工程师的成长笔记——第14天(2016.08.31)

其实感觉Python真的很简单,前端开发,网站开发真的很简单,毕竟很多问题都是很快就能解决的,哪像当初的C++,潜心学那么就,也学不明白。

2016-08-31 21:45:00 553

原创 菜鸟网络工程师的成长笔记——第13天(2016.08.30)

这些天真是压力很大,这种压力不是说工作强度大,而是来自能力上力不从心。我算是明白了,Django的开发可不是后台开发,Django就是让你能够一个人开发整个网站任务,所以前端要做,后台要做,数据库也要做。力不从心之时,甚至冒出了想法,想要辞职去专门培训一段时间。昨天把游戏卸载了,Dota2,炉石。缓解压力最好的方法绝对不是打游戏。

2016-08-30 20:55:22 621

原创 菜鸟网络工程师的成长笔记——第8天(2016.08.25)

菜鸟网络工程师的成长笔记——第8天(2016.08.25)最近开始做的培训贷款项目很不顺利,还是不熟练。今天一个登陆就弄了好久,仅仅是表单提交、ajax就好多需要解决的东西。看着身边年级比我小的同事都比我厉害好多,越发觉得,研究生读下来,其实并没有得到什么,还是一无所有,随着年龄与学历增长的,只有愈发强烈的自尊心和无谓的虚荣而已。12.改变火狐浏览器的User-Agent首部字段问题类型:前端,浏览

2016-08-25 21:24:21 453

原创 菜鸟网络工程师的成长笔记——第7天(2016.08.24)

网络公司,尤其是小公司,好像总是有做不完的事儿,如果再加上业务不熟,技能不精,压力还是蛮大的。今天面对刚接手的培训贷款项目就有点无从下手的感觉。继续总结问题。

2016-08-24 21:49:58 269

原创 菜鸟网络工程师的成长笔记——第6天(2016.08.23)

有时候感觉自己跟周围同事比起来实在是太次了,啥也不懂,然后用一种方式安慰自己,他们只是比我更熟悉业务。当初在通信公司,业务就一些通信协议,现在在互联网公司,业务其实就是一些HTTP的知识,一些服务器知识、前后台交互、部署等等。无他,唯手熟尔。

2016-08-23 22:09:42 622

原创 菜鸟网络工程师的成长笔记——第5天(2016.08.22)

最近一个关系不错的同事准备离职了,其实这哥们儿在这也没待太久,我准备接手他的项目,一个培训贷费用贷款的平台,今天基本都在交接工作,外加讨论需求,讨论数据库,没有太多实际编码。

2016-08-22 20:27:56 634

原创 菜鸟网络工程师的成长笔记——第4天(2016.08.21)

今天看了中国女排里约夺冠,女排精神的确令国人精神振奋。但所谓女排精神,一方面互帮互助,一方面顽强拼搏坚毅不屈,世界舞台上片刻的辉煌,凝结的是多少背后的汗水,只有她们自己知道,这种精神的确值得我们学习,任何成功都不是轻而易举的。

2016-08-21 21:22:42 692

原创 菜鸟网络工程师的成长笔记——第2天(2016.08.19)

这几天公司离职的人不少,其实说来这些同事也大都是新来这里没多长时间的,看来网络公司人才流动性还是蛮大的。当然,这种推测可能是窥一斑而知全豹,也可能是一叶障目。但无论如何,我知道我要接手离职同事的项目了。当然,我之前的项目也在继续。

2016-08-20 10:44:24 428

原创 菜鸟网络工程师的成长笔记——第1天(2016.08.18)

菜鸟网络工程师的成长历程,由此开始记录。

2016-08-18 21:55:12 846

原创 读《黑客与画家》

读《黑客与画家》作者Paul Graham算是个奇人,主要倒不是他作为硅谷创业教父的身份,毕竟,当一个人成功了,之后再做些成功事儿也相对容易很多,关键这人上学时对本专业的研究很不顺利(当时研究人工智能),然后就跑去学画画了,还梦想着成为画家。结果折腾了一年,钱花完了,没办法,又得回来写程序赚面包。之后就是屌丝逆袭之路了,创个公司被雅虎收购,套现一大笔钱,从此走上了指导别人创业之路。书中写的东西也蛮有

2016-07-16 13:41:38 1148 4

原创 读《联盟》

读《联盟》 最近杜兰特加盟勇士的消息又点燃了朋友圈的议论刷屏,相当一部分是看热闹的,但也有人不喜欢杜兰特这种抱大腿的行为。其实在篮球足球这样商业和的职业联赛中,转会实在是在正常不过了,属于一种双向选择,球队与球员达成一种互惠互利的联盟关系,没有什么忠诚不忠诚的。当初看纳什,还是在小牛的三剑客时代,或许纳什在小牛也能有更好的发展,但转会太阳却使纳什称为了一种颠覆性打法的象征,也使得太阳称为当时联盟中

2016-07-06 21:09:03 352

原创 读《商业的本质》

“全球第一CEO”杰克·韦尔奇的最新作品,70岁的老人还拥有这如此新潮而锐利的观点。这里记下我的一点读书体会。现代的公司管理方式传统的工业管理讲究management,因为工业时代以来,团队合作的方式更多是建立在机械化流水线的基础上,那么每个员工要做的,就是做好本职工作,象大机器上的一个齿轮一样每天做着同样的旋转就好了。工业时代的员工不需要什么创造力,创造力是设计流水线的工程师或专

2016-06-30 16:55:48 899

原创 读《理性乐观派》

读《理性乐观派》感觉是在读一本通俗的学术书籍,有理有据的拿出一大堆数据和相关分析。关于商业之前有说科技是第一生产力,读了《理性乐观派》,看到了商业的价值。的确,当数百万年前第一个勇敢的人类带着有几分惊恐又有几分试探的眼神向一个陌生人递出自己采摘的果子,换回了想要的石斧,人类文明才真正走向了分工协作。而商业恰恰是现代分工协作的粘合剂。为什么工业革命发生在欧洲,而同时期的中国生产力却进

2016-06-26 17:04:50 607

原创 算法学习与代码实现6——快速排序

算法学习与代码实现6——快速排序快速排序是实际使用最广的一个排序方法,虽然最坏时间复杂度大,但一般来说时间复杂度还是很低的。算法思路仍然是分治的思想。在《啊哈!算法》中有非常形象的描述。就是想办法以数组一个元素a为分界,前半部分都小于等于a,后半部分都大于等于a,然后递归的对前后两部分调用快速排序。划分的方法是选择数组的第一个数为基准,两个哨兵分别从第二个数和最后一个数开始相向而行,右面的哨兵找到比

2016-06-12 22:37:04 333

原创 算法学习与代码实现5——堆排序

算法学习与代码实现5——堆排序堆排序的思想当年看《算法导论》看了好几遍也没理解,现在算是明白了。算法思路堆排序借助的是堆这个数据结构。堆首先是个完全二叉树,可以用数组表示。下面一张《算法导论》中的插图形象的表示了二叉堆在数组中的表示:而最大堆又满足一个额外的条件:A[PARENT(i)] ≥A[i]这样,在堆排序中,我们需要首先将一个数组变成最大堆,然后将数组的第一个数和最后一个数互换,再将最后一

2016-06-11 10:38:41 292

原创 我的工具集1——集中删除系统中的消息队列

我的工具集1——集中删除系统中的消息队列最近看到一个说法——不做任何超过90秒的工作。这真是偷懒达到一定境界了。不过其实很有道理,程序员嘛,就是要做些东西可以让大家偷懒,解放生产力。而第一个享用着当然应该是自己了。之前也会偶尔写些脚本帮助处理重复性的工作,不过没有什么记录,今天开始,所有写过的小工具要做个记录了。需求最近在做消息队列的开发,由于代码还在测试过程中,会在系统中产生好多消息队列。比如这样

2016-06-05 09:46:04 374

原创 算法学习与代码实现4——冒泡排序

算法学习与代码实现4——冒泡排序生命中接触的第一个排序算法。算法思路想当年读大一的时候学习C语言,冒泡排序是C语言课上讲的第一个排序算法,可能也是唯一一个。思路很有趣,为了确保序列从小到大排列,从最后两个数开始,依次比较相邻的两个数,如果需要交换,就将两个数进行交换。这种比较依次向前,直到前面的数都已经是排好序的数为止。这样一趟一趟的进行比较,每一趟都将最小的数“挤”到最前面。

2016-05-28 10:18:52 367

原创 算法学习与代码实现3——合并排序

合并排序的解释与c语言代码实现

2016-05-27 22:39:35 503

原创 C++中使用基类指针调用派生类中定义的方法

我们需要告诉傻傻的编译器,基类的指针实际上指向了派生类,可以通过这个指针调用派生类的方法。而告诉编译器这个信息的途径,就是dynamic_cast

2016-05-24 22:17:13 9998 2

原创 在C++中使用类模板帮助用户创建类实例

在C++中使用类模板帮助用户创建类实例问题的产生最近工作中使用C++遇到一个问题,我创建了一个管理线程的类ThreadCenter,这个类中包含一个存放Thread类指针的向量,而Thread是一个虚基类,我需要在ThreadCenter类中帮助用户创建他们的派生类实例,以便确保管理的每个Thread实例都存放于堆内存中,可以安全delete掉。于是我自然而然的想到提供一个接口,让用户将他们的类作为

2016-05-24 22:05:47 770

原创 使用svn的合理姿势

使用svn的合理姿势何为合理的姿势我将svn的使用指南起这样一个名字,是因为很多公司使用svn作为版本管理工具(虽然git更好用),可以说我们每天都在使用svn,但我们使用的真的合理吗。要回答这个问题,只需要问自己几个问题:我们还在通过foo.c.bak的方式备份文件吗?我们还在为“合版本”花费大量时间,而且叫苦连天吗?我们还会有“xxx修改是xx个月之前的事情了,不记得为啥要改了”这样的说法

2016-05-23 22:20:04 1028

原创 算法学习与代码实现2——插入排序

算法学习与实现2——插入排序算法思路插入排序其实就是斗地主抓拍的过程,大神级玩家除外,上学时我们寝室一大神,打牌时手中的牌从来不按套路放,我看的是云里雾里,但人家却心中有数。我不是大神,我斗地主只能按顺序放牌,右边小左边大,而且摸牌的时候必须随时排序。插入排序就是个摸牌的过程,每摸到一张牌,就从左边开始对比,知道找到一张手中已有的牌小于或等于这张新摸到的牌,然后把这张牌插入到该牌的左边。算法性能插入

2016-05-22 11:30:45 444

原创 算法学习与代码实现1——开始、生成随机数

开端作为一个非科班出身的程序猿,算法始终是个软肋。之前倒也抽时间断断续续看了点算法的书,但基本过目即忘,可能每个算法都实际实现以下,编写下练习代码才能更好的学习。于是在github上创建了一个仓库,用来一个个实现算法。置于语言的选择,都说语言不过是工具,算法才是核心,那么就多用几种语言来实现吧。其实我会的语言也不多,c/c++可能还好,再就是个初学者阶段的Python,在实现算法的过程中,

2016-05-08 16:48:05 847

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除