<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[一个小角落]]></title><description><![CDATA[闲看庭前花开花落，漫随天外云卷云舒]]></description><link>https://blog.youkuaiyun.com/weiwei200</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weiwei200]]></copyright><item><title><![CDATA[投票系统实现（socket套接字）]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/100534436</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/100534436</guid><author>weiwei200</author><pubDate>Fri, 13 Dec 2019 17:43:06 +0800</pubDate><description><![CDATA[设备：

web端

投票服务器

主服务器

app端

流程：

1.在直播场景的时候，web端发起投票（一个字典，包括标题，选项，图片等内容），即把数据保存在主服务器数据库，然后把该数据发送给投票服务器（数据大小限制在8K，因为udp网络层给链路层传输的时候大于8k很容易丢包。而setsockopt函数改变的缓冲区只是在网络层修改）。web后端与投票服务器建立udp连接；

2.app端进入...]]></description><category></category></item><item><title><![CDATA[商品订单问题处理]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/103531097</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/103531097</guid><author>weiwei200</author><pubDate>Fri, 13 Dec 2019 17:40:17 +0800</pubDate><description><![CDATA[1.商品订单涉及到多张表修改，所以关于订单整个sql操作是在事务层面进行处理；

2.有个问题在于订单高并发的情况下，你先查询库存，再减库存的话，可能你查库存的时候别人已经减了库存，数据会有错误。

此时解决方案有三种：1.对于查询库存再减库存的操作应该在代码上加个线程锁；2.使用任务队列celery执行串行任务，启动只有一个进程的celery，让订单一个一个进行处理；3.使用乐观锁，在更新的时候...]]></description><category></category></item><item><title><![CDATA[flask缓存处理]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/100106268</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/100106268</guid><author>weiwei200</author><pubDate>Tue, 27 Aug 2019 18:47:54 +0800</pubDate><description><![CDATA[1.安装依赖


pip install Flask-Caching==1.7.2

2.需要缓存处理业务


主要用在数据库多次查询，数据库几乎不修改情况下

3.新建文件，比如extensions.py


# 缓存对象

from flask_caching import Cache

cache = Cache()

4.配置文件


    # 缓存
    app.config['CA...]]></description><category></category></item><item><title><![CDATA[python对接微吼]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/99863238</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/99863238</guid><author>weiwei200</author><pubDate>Tue, 20 Aug 2019 17:20:10 +0800</pubDate><description><![CDATA[class AccountSync(object):
    def __init__(self):
      
        # 微吼
        self.auth_type = 1  # 授权类型,1为验证帐号和密码(目前只通过帐号和密码验证)
        self.account = 'xxx'  # auth_type为1时为必填项，用于登录e.vhall.com的帐号...]]></description><category></category></item><item><title><![CDATA[python对接环信]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/99862725</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/99862725</guid><author>weiwei200</author><pubDate>Tue, 20 Aug 2019 17:17:40 +0800</pubDate><description><![CDATA[class AccountSync(object):
    def __init__(self):

        # 环信
        self.app_key = 'XXXXX'   # 环信后台获取
        self.client_id = 'XXXXX'
        self.client_secret = 'XXXXX'
        self.url = "ht...]]></description><category></category></item><item><title><![CDATA[Flask+APScheduler定时任务]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/99862076</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/99862076</guid><author>weiwei200</author><pubDate>Tue, 20 Aug 2019 17:11:15 +0800</pubDate><description><![CDATA[from flask_apscheduler import APScheduler
from apscheduler.triggers.interval import IntervalTrigger

    app = Flask(__name__)

    scheduler = APScheduler()
    scheduler.init_app(app)
    interval ...]]></description><category></category></item><item><title><![CDATA[python字符串转json工具]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/95313639</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/95313639</guid><author>weiwei200</author><pubDate>Wed, 10 Jul 2019 10:36:52 +0800</pubDate><description><![CDATA[echo '{"1":111,"b":222}' | python3 -m json.tool


]]></description><category></category></item><item><title><![CDATA[python启动一个下载服务器]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/95312788</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/95312788</guid><author>weiwei200</author><pubDate>Wed, 10 Jul 2019 10:29:38 +0800</pubDate><description><![CDATA[1.把Desktop目录当成根目录


cd Desktop


2.python2启动下载服务器


python2 -m SimpleHttpServer

3.python3启动下载服务器


python3 -m http.server

4.浏览器访问http://127.0.0.1:8000/


...]]></description><category></category></item><item><title><![CDATA[篡改ios锁屏界面信息]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/93485832</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/93485832</guid><author>weiwei200</author><pubDate>Mon, 24 Jun 2019 14:39:09 +0800</pubDate><description><![CDATA[1.安装theos


https://www.jianshu.com/p/db3e99a7717e

2.makefile文件配置


export THEOS_DEVICE_IP = 192.168.1.105  # 手机ip
export THEOS=/opt/theos

ARCHS = armv7 arm64
TARGET = iphone:latest:8.0

INSTALL_TAR...]]></description><category></category></item><item><title><![CDATA[python压测demo]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/92591635</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/92591635</guid><author>weiwei200</author><pubDate>Mon, 17 Jun 2019 11:43:07 +0800</pubDate><description><![CDATA[import requests
import time
import concurrent.futures
import json


class APITest(object):

    def __init__(self):
        self.url = 'http://'
        self.token = ''
        self.headers = {'Conte...]]></description><category></category></item><item><title><![CDATA[Flask项目手动实现mysql数据同步到Elasticsearch]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/89098777</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/89098777</guid><author>weiwei200</author><pubDate>Tue, 16 Apr 2019 11:39:37 +0800</pubDate><description><![CDATA[一、新建索引和type


# 建立索引
from elasticsearch_dsl import DocType, Text, Integer, Keyword
from elasticsearch_dsl.connections import connections

connections.create_connection(hosts=["127.0.0.1:9200"])


clas...]]></description><category></category></item><item><title><![CDATA[python使用ElasticSearch和logstash-input-jdbc实现搜索引擎部署]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/89327280</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/89327280</guid><author>weiwei200</author><pubDate>Tue, 16 Apr 2019 11:36:18 +0800</pubDate><description><![CDATA[一、环境下载(所有文件放在ES6.3.1文件夹下)

1.下载elasticsearch-6.3.1：


1.下载：
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.tar.gz
2.解压：
tar -vxf elasticsearch-6.3.1.tar.gz

2.下载ik分词器（Elastic...]]></description><category></category></item><item><title><![CDATA[sql语句求出一个字段里面多个值对应另一个字段里面的一个值]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/89188917</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/89188917</guid><author>weiwei200</author><pubDate>Wed, 10 Apr 2019 17:32:32 +0800</pubDate><description><![CDATA[表数据如下：

问：比如这张表我要找出同时满足relevance_id_为00000000000000000001002100040000和00000000000000000001002100030000的abstract_id_应该怎么做？

答：


select abstract_id_,count(abstract_id_) as total_ from note_abstract_rel...]]></description><category></category></item><item><title><![CDATA[time模块]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/88998080</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/88998080</guid><author>weiwei200</author><pubDate>Wed, 03 Apr 2019 16:09:08 +0800</pubDate><description><![CDATA[import time

now = time.time()
timestamp = int(time.time() * 1000)  # 13位时间戳
print(now)  # 获取当前时间  1554277091.1742651


#  时间值转换为字符串
str_time = time.localtime(time.time())
print(str_time)  # 类元祖时间  t...]]></description><category></category></item><item><title><![CDATA[Docker 容器使用 cgroups 限制资源使用]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/88638469</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/88638469</guid><author>weiwei200</author><pubDate>Mon, 18 Mar 2019 14:34:57 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/sammyliu/p/5886833.html​

本系列文章将介绍Docker的有关知识：

（1）Docker 安装及基本用法

（2）Docker 镜像

（3）Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境

（4）Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源

...]]></description><category></category></item><item><title><![CDATA[pip打包python项目]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/88568197</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/88568197</guid><author>weiwei200</author><pubDate>Fri, 15 Mar 2019 11:06:57 +0800</pubDate><description><![CDATA[1. 创建目录，结构如下



2. __init__.py为包的初始化文件，要打包的python代码需要放在commu_pkg目录下


name = &quot;commu_pkg&quot;

3.在pchy_commu目录下新建setup.py文件，内容如下：


import setuptools

with open(&quot;README.md&quot;, &quot;r&quot;) as fh:
    long_descriptio...]]></description><category></category></item><item><title><![CDATA[python websocket]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/88555345</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/88555345</guid><author>weiwei200</author><pubDate>Thu, 14 Mar 2019 16:19:31 +0800</pubDate><description><![CDATA[依赖：

pip install ws4py

pip install gevent


# -*- coding: utf-8 -*-
from gevent import monkey
monkey.patch_all()

import argparse
from ws4py.server.geventserver import WebSocketWSGIApplication, WSGIS...]]></description><category></category></item><item><title><![CDATA[docker打包flask项目镜像]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/88537111</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/88537111</guid><author>weiwei200</author><pubDate>Wed, 13 Mar 2019 19:30:46 +0800</pubDate><description><![CDATA[1. 本地新建一个目录config，该目录下新建一个sources.list文件，目的是使用国内镜像源安装

sources.list具体内容如下：


deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.co...]]></description><category></category></item><item><title><![CDATA[python连接levelDB]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/88389464</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/88389464</guid><author>weiwei200</author><pubDate>Mon, 11 Mar 2019 10:38:54 +0800</pubDate><description><![CDATA[安装
$ brew install leveldb
$ pip install cython  # plyvel需要用到c环境
$ pip install plyvel   # python 连接leveldb模块

plyvel源码：https://github.com/wbolster/plyvel

plyvel操作文档：https://plyvel.readthedocs.io/en/l...]]></description><category></category></item><item><title><![CDATA[Mac OSX环境操作levelDB]]></title><link>https://blog.youkuaiyun.com/weiwei200/article/details/88389395</link><guid>https://blog.youkuaiyun.com/weiwei200/article/details/88389395</guid><author>weiwei200</author><pubDate>Mon, 11 Mar 2019 10:36:07 +0800</pubDate><description><![CDATA[# 适用于写多读少场景

# 安装
$ brew install snappy
$ gem install leveldb
$ irb -r leveldb


db = LevelDB::DB.new '/Users/pengwei/Desktop/level_test'  # 创建数据库

#  读/写
db.put('hello', 'world') #写

db.get('hello')...]]></description><category></category></item></channel></rss>