- 博客(37)
- 资源 (1)
- 收藏
- 关注
原创 bilibili源代码泄露,go-common
今天各个群都在盛传的事情就是大B站的后台源代码被人传到github, 短短几个小时,star将近1w,fork不计其数,让我们来回顾下前因后果。首先是程序员聚集地开始发openbilibili的github项目(https://github.com/openbilibili/go-common),现在项目已经被删除,空空如也,从这个用户来看,肯定是有预谋的操作,新注册的用户,注册完之后吧源代码...
2019-04-23 13:58:51 15433 3
原创 最流行的 Python 环境管理工具Conda
Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。最流行的 Python 环境管理工具。conda官网。
2023-12-29 11:43:17 589
原创 大模型应用之langchain入门和代码实战
LangChain 是一个开源的语言模型集成框架,旨在简化使用大型语言模型(LLM)创建应用程序的过程。利用它可以让开发者使用语言模型来实现各种复杂的任务,例如文本到图像的生成、文档问答、聊天机器人、调用特定的SaaS服务等等。
2023-10-20 17:02:29 916
原创 Centos7服务器python2安装驱动dmPython实践
达梦官方python驱动包dmPython,可以用来连接达梦数据库和进行相应的增删改查等操作,centos的具体安装步骤如下
2022-08-03 16:17:17 469
原创 PGSQL表分区的实现方案和实践操作
表分区是解决一些因单表过大引用的性能问题的方式,比如某张表过大就会造成查询变慢,可能分区是一种解决方案。一般建议当单表大小超过内存就可以考虑表分区了。1,继承式分区,分为触发器(trigger)和规则(rule)两种方式触发器的方式1)创建表CREATE TABLE "public"."track_info_trigger_partition" ( "id" serial, "object_type" int2 NOT NULL DEFAULT 0, "object_name...
2022-05-18 16:51:23 2006
原创 Python根据当前日期取去年同星期日期
业务的开发时候有一个需求,需要对比当前时间段和去年同星期的时间段的数据,例如当前时间是2019-04-11,是今年的第十五周的周四,如何去取去年的第十五周的周四呢?查了好多资料没有对应的处理方法,于是自己写了这个方法,如果您有更好的方法,可以留言。python的datetime模块有个查看日历的方法date_week_info = datetime.datetime.strptime(...
2022-04-02 16:52:48 739
原创 docker构建镜像时,Alpine Linux无法使用字体控件的问题解决(java.lang.NullPointerException at sun.awt.FontConfiguration.g)
问题背景:Java打镜像时,经常使用最轻量级的Linux系统,Alpine Linux是一个很好地选择问题原因:项目使用了字体控件,也就是系统的字体,但是Alpine Linux默认是未安装字体相关的控件问题解决:Dockerfile构建过程中新增以下构建过程,安装fontconfig和ttf-dejavu字体并生效# 安装 fontconfig 和 ttf-dejavu字体RUN apk add fontconfig \ && apk add --update tt
2022-04-02 15:40:36 1280
原创 基于nginx的健康检查模块
nginx是系统部署时常常用来当做代理,负载均衡的服务。尤其对于后端服务,部署的服务可能会有多个节点,对于出现问题的节点,如何快速的踢出,并在可用的时候加进来呢。1,nginx自带的模块ngx_http_proxy_module和ngx_http_upstream_module使用示例如图所示参数说明proxy_next_upstream 指定出现何种错误或异常,将请求转到下一个节点max_fails fail_timeout 在fail_timeout时间内节点出现失败的次数大于等
2020-07-20 19:46:24 662
原创 如何使用redis进行排序操作
1,有序集合(天然的排序数据结构)数据初始化插入#!/usr/bin/python# -*- coding: utf-8 -*-import redisimport randomif __name__ == '__main__': conn = redis.StrictRedis(host="localhost", port=6379) pipe_line = ...
2020-01-10 17:24:29 3917
原创 python 单例模式简单代码实现
单例模式可以说开发中比较常用的一种设计模式,这种模式适用的情况是当你的系统的需要某个类实例化之后只出现一个相同的实例,而不是多个实例时。通常可以用来存储整个系统的一些常用配置,对他的更新会作用到所有的引用,实现了配置共享。Python比较简单易用也是大家推荐的单例模式实现方式是基于_new_方法实现的,具体代码可见以下:import threadingclass Singleton...
2019-11-30 15:38:08 350
原创 consul-服务注册与发现
随着微服务的风潮的来临,服务注册和发现成了微服务架构中不可或缺的一部分。想象一下,你的系统被拆分成了n个独立的服务,相互直接的调用如果还是使用传统的配置文件来解决的话,管理起来可就违背了微服务的初衷。本篇文章注重介绍一下consul 使用。consul与其他常见的服务发现框架对比zookeeper是一款基于Java的强大的框架,优点是不只是可以做服务发现,他提供了watcher机制可以实时...
2019-09-24 18:04:32 1040
原创 Mysql的GROUP BY之后的COUNT统计优化复盘
group by可以说是mysql的非常强大的命令之一,但你真的会用吗,请看以下案例订单表建表语句CREATE TABLE `test_order` ( `id` int(11) NOT NULL COMMENT '自增id', `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id', `user_name` varchar(...
2019-09-20 14:29:14 1928
原创 docker的简单入门与实战
如果说git是解决代码版本管理的终极方案,那么docker就是解决系统部署需要依赖环境的终极方案。对于传统的解决服务部署环境依赖的方案可能是虚拟机,例如vmware或者是python的virtualenv等,对比传统的虚拟化技术方案,docker有哪些优势呢1,启动方面,docker的启动可以说是秒级的,虚拟机可能会耗费分钟级的2,硬盘使用,docker使用的是MB级别的,虚拟机使用的...
2019-09-09 17:08:40 539
原创 跨域的三种解决方案
跨域问题的出现是由于浏览器为了防止csrf攻击,避免恶意攻击而采取的同源策略限制,也就是当一个页面使用XMLHTTPRequest对象发送HTTP请求时(XHR),必须保证当前页面和请求的资源是同源的(即协议,域名和端口号要完全一致,否则浏览器就会阻止跨域请求返回额的数据)。如何解决跨域的问题的呢, 有以下三种方案1,代理的方案,将请求资源的操作通过一层代理,然后取回数据,再从代理层把数据...
2019-07-24 11:43:34 1519
原创 mysql关于树形存储的查询
由于mysql是关系型数据库,因此对于类似组织架构,子任务等相关的树形结构的处理不是很友好,开发中遇到的需求是查询某任务下所有的任务列表, 由于任务的层级是不做限制的,因此只能把扫描全表,然后业务处理,当然也可以通过sql语句来完成。建表语句CREATE TABLE `test_tree_search` ( `id` int(11) NOT NULL AUTO_INCREMENT C...
2019-07-23 17:26:33 1220
原创 微信公众号开发的详细流程和引导
伴随着微信在各个年龄段人群的普及,公众号作为微信的官方媒介,成为越来越多的公司营销推广,商品发布的重要平台。本文用来初探微信公众号接入开发的具体流程。1,注册公众号,并进行微信认证,一般是企业用户才可以,如果个人想使用,需要企业信息才可以,所以可以从某些渠道获取认证过的微信公众号。2,配置相关的操作,点击左侧公众号设置菜单,,然后点击主页面的功能设置,配置业务域名,JS接口安全域名,网页授...
2019-05-25 21:39:11 2311
原创 微信网站应用开发的详细流程和引导
微信作为强大的通讯工具和社交平台,已经成了手机必不可少的应用,因此很多网站选择把微信登录网站的功能,方便微信用户注册登录和使用网站,也就是所谓的微信扫码登录应用网站。(特别提示,网站应用适用于网站应用(PC端),如果是移动端,你需要有两部手机才能完成操作,体验非常不好,如果你的应用是移动端,可以使用移动应用或者公众号开发来实现)。1,在微信开放平台账号并获得开发者资质,微信开放平台地址:htt...
2019-05-25 21:38:49 2885
原创 浅谈mysql的InnoDb引擎的BTREE索引
MySQL之所以能成为当今主流的关系型数据库,并成为许多Web服务和OLTP优先选用的存储方式,与其强大的InnoDb存储引擎是密不可分的,今天我们来了解下给查询效率带来巨大提高的索引。 索引可以说是关系型数据库非常重要的一项技术,他通过将加索引的一列或者多列按照一定的排序建立索引文件,当对这些列进行查询时,会使用索引大幅度优化查询速度。InnoDb的索引类型有两种,哈希索引和B+TREE索...
2019-05-25 21:37:59 1712
原创 测试工具wrk的安装和使用指南
wrk是一款开源的性能测试工具,不同于Jmeter和Apache Bench这种基于Java的或者依赖Apache的测试工具,wrk是基于操作系统的高性能IO模型,比如 select, epoll, kqueue 等,也就是他复用了类似redis 的 ae 异步事件驱动框架,可以充分利用多核服务器的资源完成压测的需求。wrk的安装git clone https://github.com/w...
2019-04-28 16:10:45 1492
原创 mysql和redis的数据一致性
mysql是如今非常主流的的关系型数据库,尤其是其InnoDB的存储引擎,在索引,事务,数据备份和恢复等方面有巨大的优势,因此也成了企业及个人开发者经常使用的存储方式。redis是与之相对的非关系型数据库的代表(Nosql, not only sql),其支持大量连接,数据存储在内存带来的执行速度快的优势,已经数据持久化保证数据不丢失等特性使得很多应用用其做为缓存。当服务使用了mysql做数据...
2019-04-23 20:28:26 4838
原创 如何理解同步异步和阻塞非阻塞
同步异步,阻塞非阻塞两组概念是面试中经常遇到的概念,也是程序员们非常容易混淆的概念,下面我们来看下两者的概念和区别阻塞和非阻塞针对的程序执行(关注CPU)时在等待结果(返回值,消息的时候)对应的操作1,阻塞指的是在等待调用结果的时候,当前线程会一直等待结果返回才继续向下执行2,非阻塞指的是等待调用结果的时候,当前线程不会一直等待,而是继续向下执行。同步和异步针对的是调用者(关注程序...
2019-04-23 13:57:56 1189
原创 Python连接字符串的方法效率比较
python拼接字符串的方法有一下两种1, 使用 + 连接字符串2, 使用join连接列表对比两者之间的效率下面是测试代码if __name__ =='__main__':import timestart = time.time()s ="".join(["hello_%s" % i for i in range(1333)])...
2019-04-23 13:56:48 1532
原创 二叉树的递归遍历Python实现
二叉树的遍历是在面试中比较常见的题目,下面做下梳理三种遍历都遵循先左节点后右节点的原则,只是根据根节点出现的位置来区分。1,先序遍历先访问根节点,再访问左子树和右子树, 左子树和右子树访问的顺序也按照此原则,直到结束参考代码# 先序打印二叉树(递归)def preOrderTraverse(node): if node is None: retu...
2019-04-23 13:55:22 2039 1
原创 ELK介绍和Elasticsearch实操
随着业务数据的增长和服务器的数量的增加,程序输出的日志也在增长,同时开发人员去查看日志的难度也越来越大,ELK的诞生正是为了解决大量的日志和可视化展示供开发人员纠错和运维监控程序的需求。E 也就是Elasticsearch,是一个开源的分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负...
2019-04-23 13:54:09 1171
原创 Python根据当前日期取去年同星期日期
业务的开发时候有一个需求,需要对比当前时间段和去年同星期的时间段的数据,例如当前时间是2019-04-11,是今年的第十五周的周四,如何去取去年的第十五周的周四呢?查了好多资料没有对应的处理方法,于是自己写了这个方法,如果您有更好的方法,可以留言。python的datetime模块有个查看日历的方法date_week_info = datetime.datetime.strptime(...
2019-04-12 11:05:24 1832
原创 centos7下安装docker
1,搜索dockeryum search docker2,安装dockeryum install -y docker3,启动dockersystemctl start docker4,查看版本或信息docker versiondocker info欢迎加qq群:994625692(可以聊天聊地的那种)...
2018-07-12 14:37:24 1128
原创 git删除ssh-key, 改为http的方式拉取代码
由于服务器的各种原因, 所以git的拉取方式从ssh key改为http, 此时要进行对原有ssh key关联的取消和http拉取方式的建立1, 取消当前的分支对远程分支的关联git remote rm origin2, 以HTTP的方式重新关联git remote add origin http://username:password@project_dir/project.gi...
2018-07-03 11:37:08 8675
原创 python2的windows环境变量配置和pip安装
由于重装系统等各种原因, 可能要重新安装Python,以下是教程1,从官网下载Python2.7的最新版本https://www.python.org/downloads/release/python-2715/根据系统下载对应版本2,运行文件, 下一步下一步, 最终会在C:\Python27生成对应的文件3,配置环境变量配置前将C:\Python27加入到Path环境...
2018-06-09 14:20:47 3821
原创 centos源码安装go以及配置环境变量和工作空间
1, 新建go所在工作目录mkdir datacd datamkdir workcd work2,下载源码和解压源码wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gztar -xvf go1.10.1.linux-amd64.tar.gz3,配置环境变量并生效vim /etc...
2018-06-07 11:49:22 3150
原创 Python连接mysql的模块torndb使用注意事项
1,torndb之前是tornado操作mysql数据库的一个模块, 他是在Mysqldb模块的基础上做的封装处理, 后期独立成单独的模块。2,torndb本身默认是自动commit的, 所以执行更新操作的时候不用再commit3,torndb查询方法有query和get, query方法会返回一个list, 为空时是[], get方法返回的是dict, 为空时是None4,tornd...
2018-05-09 11:43:47 2708
原创 git常用的操作总结
1,git版本如何回退通过git log命令查到对应的版本例如:23e30c54a9;使用git reset --hard23e30c54a9将本地的代码回退到版本23e30c54a9;使用git push -f将版本强制同步到远程仓库。2,git如何新建分支并推送到远程git checkout -b b1 新建别切换到b1分支;git push origin b1...
2018-05-07 16:50:37 1084 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人