5 MISAYAONE

尚未进行身份认证

勤学如春起之苗,不见其增,日有所长。

等级
TA的排名 781

计算广告阅读理解(一):阅读目标

互联网的发展改变了世界,百度的搜索、头条的新闻、腾讯的即时通讯工具、阿里的免费购物渠道.....,它们改变了人们的生活方式,甚至颠覆了原有的商业产业。但是为什么这些服务大多都是免费的呢?没有了收入这些公司是怎样持续提供这些免费的互联网服务的呢?答案就是广告业务,它能够将互联网带来的巨大流量和数据变现。流量变现:智能电视的开机广告、信息流的广告、朋友圈的植入广告数据变现:...

2020-02-03 11:59:58

分布式系统幂等性详解

幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中.一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“getUsername()和setTrue()”函数就是一个幂等函数.更复...

2019-11-03 08:19:38

Hadoop Combine 的作用

本机数据的规约,以减少 map 向 reduce 传递的数据,节约 IO 时间,节省 reduce 的时间,最终提高 MR 性能。一、Combiner的出现背景1.1 回顾Map阶段五大步骤  在第四篇博文《初识MapReduce》中,我们认识了MapReduce的八大步凑,其中在Map阶段总共五个步骤,如下图所示:  其中,step1.5是一个可选步骤,它就是我们今天需...

2019-10-30 19:21:36

typeid().name() 返回 Ss ?

Ssis the mangled name forstd::basic_string<char, std::char_traits<char>, std::allocator<char>>其实就是个 std::string ,只不过名字太长,在内部被简化了。

2019-10-30 19:16:10

Linux 基础知识 磁盘配额 quota

一、什么是磁盘配额磁盘配额从字面意思上看就是给一个磁盘配置多少额度,而quota就是有多少限额的意思,所以总的来说就是限制用户对磁盘空间的使用量。因为Linux是多用户多任务的操作系统,许多人公用磁盘空间,举个例子像/home目录是存放普通用户家目录的地方,我们假如home目录一共有10G空间,而home下一共有三个用户,那么正常划分的话每个人应该是分得大概333M空间,但是其中有个用...

2019-10-30 18:58:07

mysql 复制数据库

mysqldump假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newdb #mysql -u root -ppassword mysql>CREATE DATABASE `newdb` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI; 2....

2019-10-29 20:09:24

Mysql Error 2002: Can't connect to local MySQL server through socket

首先查看一下mysql是否启动,ps -ef | grep mysqld如果没有,则启动mysql:sh ~/ 你的mysql 安装目录/bin/mysqld_safe --user=mysql &如果有,则关闭后重新启动:依次kill掉 ~/你的mysql 安装目录/bin/mysqld_safe 和 ~/ 你的mysql 安装目录/bin/mysqld 的进程创建roo...

2019-10-29 19:21:57

python 多个装饰器函数的执行顺序

先背背定义:装饰器是Python用于封装函数或类的代码工具,是Python函数的高级特性之一。其主要功能是使某个函数在不需要做任何变动的前提下增加额外功能,即对某个函数进行功能”装饰“;主要作用是可以提高代码的可读性、简洁性以及扩展性,常用于后期功能升级;具体做法是将一些特定或者通用的方法写成装饰器,在待装饰函数定义前加上@+装饰器名称。思想上和栈结构的先入后出是一样的执行起来是...

2019-10-26 23:54:38

python 定时任务的实现方式

https://blog.51cto.com/huangyg/2367088APScheduler 比较好用,简单方便定时任务,可能有写需要涉及到一些内容的实时更新,这里可能就会用到双缓冲的思想http://blog.codeg.cn/2016/01/27/double-buffering/其实解决的就是数据的热加载问题...

2019-10-26 23:45:18

Vim 撤销与恢复撤销

撤销:u恢复撤销:Ctrl + r

2019-10-26 23:42:03

GIt 常用操作

开发过程中,你肯定会遇到这样的场景:场景一:糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作!场景二:彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码!场景三:刚才我发现之前的某次提交太愚蠢了,现在想要干掉它!撤销上述场景一,在未进行git push前的所有操作,都是在“本地仓库”中执行的。我们暂且将“本地仓库”的代码还原操作...

2019-10-26 23:23:11

Python @functools.wraps 的作用

1:装饰器是干什么用的?为了对一个函数在运行期的功能的拓展2:装饰器加上之后产生的问题:解释器认为函数本身发生了改变,其函数本身的属性改变了,在某些情况下——比如测试时——会导致一些问题Python 通过functool.wraps为我们解决了这个问题:在编写装饰器时,在实现前加入@functools.wraps(func)可以保证装饰器不会对被装饰函数造成影响。...

2019-10-26 23:08:52

Linux 常用命令 curl 模拟 post/get 请求

举例:curl http://10.77.129.43:8058/ 发一个空请求发送GET请求:curl protocol://address:port/url?argscurl http://127.0.0.1:8080/login?admin&passwd=12345678使用curl发送POST请求:curl -d "args" protocol://add...

2019-10-22 21:14:45

Linux 常用命令 lsof 查看端口的占用情况

lsof -i:5000查看5000端口 的占用情况

2019-10-22 21:14:08

Linux 常用命令 ifconfig 查看 IP 地址

[root@localhost ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20 inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0 UP BROADCAST RUNNING MU...

2019-10-22 21:10:14

Python并发编程之谈谈线程中的“锁机制”

本文目录何为Lock( 锁 )? 如何使用Lock( 锁 )? 为何要使用锁? 可重入锁(RLock) 防止死锁的加锁机制 饱受争议的GIL(全局锁). 何为Lock( 锁 )?何为 Lock( 锁 ),在网上找了很久,也没有找到合适的定义。可能 锁 这个词已经足够直白了,不需要再解释了。但是,对于新手来说,我还是要说下我的理解。我自己想了个生活中例子来看下。...

2019-10-22 21:06:41

Flask启动app.run(host='0.0.0.0',port=5000),外网依然不能访问

把端口改成 80 开头的,比如:8058flask 默认是5000端口,

2019-10-22 21:04:34

gunicorn -k 参数详解 (worker type)

网上最简单的说法:worker_class-k STRTING, --worker-class STRTING要使用的工作模式,默认为sync。可引用以下常见类型“字符串”作为捆绑类:synceventlet:需要下载eventlet>=0.9.7gevent:需要下载gevent>=0.13tornado:需要下载tornado>=0.2gthreadg...

2019-10-22 20:56:22

解决多进程中APScheduler重复运行的问题

问题在一个python web应用中需要定时执行一些任务,所以用了APScheduler这个库。又因为是用flask这个web框架,所以用了flask-apscheduler这个插件(本质上与直接用APScheduler一样,这里不作区分)。在开发中直接测试运行是没有问题的,但是用gunicorn部署以后发生了重复运行的问题:每个任务在时间到的时刻会同时执行好几遍。注意了一下重复的数...

2019-10-22 16:05:43

AssertionError: View function mapping is overwriting an existing endpoint function

问题:给两个函数添加两个装饰器@app.route("/path1")@exception_handlerdef func1(): pass@app.route("/path2")@exception_handlerdef func2(): pass这样就会造成函数名的重定义。解决:改一下包装的函数名即可:wrapper.__name__ = fun...

2019-10-22 15:57:43

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。