- 博客(50)
- 资源 (12)
- 收藏
- 关注
原创 雪花算法+ZsetScore精度问题
文章背景在微服务和分布式整体环境下,为实现事件/消息等唯一标识并方便业务逻辑跟踪,业内通常会使用Twitter开源的分布式ID生成算法,雪花算法(SnowFlake)。在使用场景中,多次遇到ID有序性和分页获取的需求,针对分页获取需求,为简化实现成本,通常会考虑采用Redis存储结构Zset原生命令ZRANGEBYSCORE完成。具体逻辑实现,使用ID作为Value值和Score值,并通过每次获取的数据最大Value作为下一次分页拉取的最小Score值。实际在使用过程中,在ID生成并发量级较大的场景,分页
2020-10-11 17:12:18
1643
原创 Python-XML远程
README运行方式shell1:python client.py urls.txt dir1 http://localhost:4242> fetch test1.txtCouldn't find the file test1.txt> fetch test.txtshell2:python client.py urls.txt dir2 http://localh...
2019-02-01 11:08:31
341
原创 Python-公告板
README运行1.执行数据库创建脚本2.localhost/cgi-bin/main.cgi问题排查若提示数据库文件只读,调整数据库文件权限及其所在文件夹权限为777即可Resourcecreatedatabase.py#!/usr/bin/python# -*- coding: UTF-8import sqlite3conn = sqlite3.connect('...
2019-02-01 11:05:36
649
原创 Python-CGI编程
README搭建Apache环境Mac 自动Apache环境,调整配置支持cgi、py/etc/apache2/httpd.conf删除注释LoadModule cgi_module libexec/apache2/mod_cgi.so删除注释ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) "/Library/WebServ...
2019-02-01 11:04:03
521
原创 Python-简易聊天
simple_chat.py#!/usr/bin/python# -*- coding: UTF-8 -*-from asyncore import dispatcherfrom asynchat import async_chatimport socket, asyncorePORT = 5005NAME = 'TestChat'class ChatSession(asyn...
2019-02-01 11:01:20
323
原创 Python-万能XML
XML文件<website> <page name="index" title="Home Page"> <h1>Welcome to My Home Page</h1> <p>Hi, there
2019-02-01 10:59:39
270
原创 Python-图标生成
分析文件:Predicted_Sunspot_Numbers_and_Radio_Flux: Predict.txt:Created: 2019 Jan 07 0500 UTC# Prepared by the U.S. Dept. of Commerce, NOAA, Space Weather Prediction Center (SWPC).# Please send comment...
2019-02-01 10:57:02
817
原创 Python-即时标记
README项目详情python基础编程 第20章 项目1:自动添加标签运行python markup.py < test_input.txt > test_output.html部分逻辑说明过滤器 filters 替换特定元素为HTML元素规则器 rules 根据判定条件,打印特定HTML头尾及Data元素类型判定规则1.标题,只包含一行的文本块,长度最多为7...
2019-02-01 10:53:07
460
原创 Python入门笔记整理
Python入门Python与其他语言最大的区别就是,Python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断,而是用缩进来写模块数字和表达式整除 //求余 % (适用浮点数)求幂 **内建函数 pow/abs/roundmath模块 floor/ceil/sqrtcmath 复数模块 complex math内建值 None>>> import m...
2019-02-01 10:50:57
603
原创 Go项目结构推荐
概述随着项目文件的增长,若项目结构凌乱,团队协作开发,将加剧项目凌乱程度,维护或查询信息代价越来越高,因此项目构建初期便构建通用目录结构变得必要参考:https://github.com/golang-standards/project-layout目录推荐Go目录/cmd项目主要应用文件(/cmd/myapps),保持文件与项目生成可执行文件名称相同,通常是较简单的main.go文件...
2019-01-31 17:24:52
4804
原创 TOML介绍及试用
TOMLTOML是前Github CEO,Tom Preston-Werner,2013年创建的语言,目标是成为小规模易于使用的语义化配置文件格式,支持无二义性转化为哈希表源码及安装Golang为例地址https://github.com/BurntSushi/toml安装go get github.com/BurntSushi/toml执行实例(摘自以上Golang库)ex...
2019-01-30 16:13:45
2559
原创 Go语法集锦
Go语法集锦(摘自https://github.com/adambard/learnxinyminutes-docs)// 单行注释/* 多行 注释 */// 导入包的子句在每个源文件的开头。// Main比较特殊,它用来声明可执行文件,而不是一个库。package main// Import语句声明了当前文件引用的包。import ( "fmt" /...
2019-01-30 16:12:30
750
原创 Go Module实战测试
go modules官方提倡的包管理方式(go 1.11增加),乃至项目管理机制,使用go mod管理项目,将可以绕开GO项目必须放置到GOPATH目录的约束,以下将与大家一起测试实战测试1.新建文件夹$> mkdir test$> cd test2.初始化$> go mod init testgo: creating new go.mod: module te...
2019-01-30 16:07:16
1601
原创 Lager中的Parse Transform
Parse TransformLager最有味道的地方之一就是每次打印日志都会显示模块名/函数名/行号,而且不是使用的宏,其中诀窍便是编译时添加{parse_tranform, lager_transform}选项 Erlang官方介绍如下{parse_transform,Module}编译erl文件时,若引用以上字段,则会在文件生成abstract code之后,调用Modul...
2018-04-12 17:42:09
809
原创 自定义Lager Handler模块
编写Handler模块模仿Lager Handler编写,以下实现功能为服务每打印一条错误日志触发处理函数what_to_do/0-module(my_lager_backend).-behaviour(gen_event).-export([init/1, handle_call/2, handle_event/2, handle_info/2,...
2018-04-12 17:41:25
285
原创 Lager进程结构及启动
整体进程 注: 1.lager_event实际为gen_event,为event manager 2.lager_handler_watcher_sup监督进程lager_handler_watcher(gen_server),子进程规程为simple_one_for_one,皆由lager启动时读取配置文件动态添加,进程通过gen_event:add_sup_handler/3添加ha...
2018-04-12 17:40:41
400
XMPP高级编程+使用JavaScript和jQuery.pdf
2016-12-21
Erlang OTP并发编程实战-中文版
2016-11-15
Erlang-OTP-设计原理
2016-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人