摘要:
1)使用in查询, 保持顺序 SELECT * FROM `template_data` where template_id in (7339747298123169843,7339747324194799625,7339747298123153459); 使用Order by field(); 来 阅读全文
摘要:
我们在平时的项目开发或者学习中,有可能使用不同的Python版本,大家都知道Python的版本非常多,如果我们把需要的不同版本的Python都下载到服务器上,管理起来会非常困难,多版本并存又容易互相干扰,搞不好整个服务器的Python环境会因此乱掉导致不能正常工作,那么我们应该如何解决Python多 阅读全文
摘要:
枚举类型是一种常用的数据类型,用于表示一组有限的、预定义的、具名的常量值。在枚举类型中,每个常量都是一个枚举值,它们之间的值相等且唯一。 枚举类型通常用于表示一组相关的常量,比如星期、月份、性别等等。在其他语言里(比如 Java 和 C),都内置了枚举类型,而在 Go 语言里是没有内置枚举类型的,因 阅读全文
摘要:
gf框架提供了非常强大的类型转换包gconv,可以实现将任何数据类型转换为指定的数据类型,对常用基本数据类型之间的无缝转换,同时也支持任意类型到struct对象的属性赋值。由于gconv模块内部大量使用了断言而非反射(仅struct转换使用到了反射),因此执行的效率非常高。 使用方式: import 阅读全文
摘要:
转载: https://juejin.cn/post/7327157426298011663 Timer 是一个一次性的定时器,用于在未来的某一时刻执行一次操作。 基本使用 创建 Timer 定时器的方式有两种: NewTimer(d Duration) *Timer:该函数接受一个 time.Du 阅读全文
摘要:
1. import "runtime/debug" func Stack func Stack() []byte Stack 返回格式化的go程的调用栈踪迹。 对于每一个调用栈,它包括原文件的行信息和PC值;对go函数还会尝试获取调用该函数的函数或方法,及调用所在行的文本。 func PrintSt 阅读全文
摘要:
[选项模式] package main import "fmt" type OptionFunc func(*DoSomethingOption) type DoSomethingOption struct { a int b string c bool } func NewDoSomethingO 阅读全文
摘要:
常用grpc工具: github: https://github.com/grpc-ecosystem/awesome-grpc 一般开发中会使用gui工具方便进行调用调试 1)postman 2)BloomRPC https://github.com/bloomrpc/bloomrpc 3)grp 阅读全文
摘要:
gevent 是一个基于协程的 Python 网络库,它使用 Greenlet 库提供了一种高效的协程实现。 协程是一种轻量级的线程,允许并发执行,但没有真正的并行性。协程可 以在遇到 I/O 操作时自动地切换到其他任务,从而提高程序的并发能力。然而,在标准的 Python 线程模型中,当一个线程遇 阅读全文
摘要:
Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。 1. Pla 阅读全文
摘要:
poetry,是一个强大的Python项目依赖管理工具,旨在简化和优化项目的依赖管理过程。它提供了一种简单且一致的方式来定义、安装和管理项目所需的依赖项。本文将详细介绍poetry库的安装方法、使用方法、优缺点、应用场景和总结。 安装 在开始使用poetry库之前,您需要进行一些安装准备。以下是安装 阅读全文
摘要:
正则模块re: 元字符: 字符 描述 . 除换行符外的任意字符 \ 转义字符 [...] 字符集合,匹配任务其中一个 \d 数字:[0-9] \D 非数字:[^\d] \w 单词字符[A-Za-z0-9] \W 非单词字符[^\w] \s 空白字符[\t\r\n\f 空格] \S 非空白字符[^\s 阅读全文
摘要:
Laravel 支持原生的 SQL 查询、流畅的查询构造器 和 Eloquent ORM 三种查询方式: 流畅的查询构造器(简称DB),它是为创建和运行数据库查询提供的一个接口,支持大部分数据库操作,和手写SQL 的本质是一样的。 Eloquent ORM(简称ORM),是一个对象关系映射(Obje 阅读全文
摘要:
缘起: 之前在Python中使用最多的就是Celery, 同样的在这次项目中使用了Celery+eventlet的方式,但是由于具体执行的逻辑是使用的异步编写的, 当时就出现了一个问题,当使用httpx的AsyncClient发送一个网络请求的时候, 发生了阻塞, 导致整个程序无法完整执行. 于是就 阅读全文
摘要:
转载:https://blog.csdn.net/weixin_43790276/article/details/101944628 logging 模块是 Python 内置的标准模块,用于输出代码日志。 一、logging 模块简介 在工作中,运行的代码量是非常大的,为了更方便的管理代码运行,监 阅读全文
摘要:
简介 首先我们先来了解下orjson的优缺点: 可以将datetime、date和time实例序列化为RFC 3339格式,例如:"2022-06-12T00:00:00+00:00" 序列化numpy.ndarray实例的速度比其他库快4-12倍,但使用的内存更少,约为其他库的1/3左右 输出速度 阅读全文
摘要:
Python 在版本 3.7 (PEP 557) 中引入了dataclass。dataclass允许你用更少的代码和更多的开箱即用功能来定义类。 下面定义了一个具有两个实例属性 name 和 age 的常规 Person 类: class Person: def __init__(self, nam 阅读全文
摘要:
typing介绍 Python是一门动态语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,typing模块可以很好的解 阅读全文
摘要:
原起: 最近项目中现存的是使用的python的异步方式进行开发, 但是只是存在脚本部分, 并没有提供对外的Web服务,正好趁机将Fastapi嵌入其中使用. 官方文档: https://fastapi.tiangolo.com/zh/tutorial/first-steps/ 后期计划,包括之后的所 阅读全文
摘要:
Go 1.18版本增加了对泛型的支持,泛型也是自 Go 语言开源以来所做的最大改变。 泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。ーー换句话说,在编写某些代码或数据结构时先不提供值的类型,而是之后再提供。 泛型是一种独立于所使用的特定类型的 阅读全文
摘要:
[视频] 获取视频封面图: 1) 如果是使用oss的话, 可以添加指定的后缀生成指定图片 视频截帧: https://help.aliyun.com/zh/oss/user-guide/video-snapshots?spm=a2c4g.11186623.0.0.8ea266d4kR5bST 2) 阅读全文
摘要:
前言 日常开发中,秒杀下单、抢红包等等业务场景,都需要用到分布式锁。而Redis非常适合作为分布式锁使用。 什么是分布式锁 方案一:SETNX + EXPIRE 方案二:SETNX + value值是(系统时间+过期时间) 方案三:使用Lua脚本(包含SETNX + EXPIRE两条指令) 方案四: 阅读全文
摘要:
什么是消息推送(push) 推送的场景比较多,比如有人关注我的公众号,这时我就会收到一条推送消息,以此来吸引我点击打开应用。 消息推送(push)通常是指网站的运营工作等人员,通过某种工具对用户当前网页或移动设备APP进行的主动消息推送。 消息推送一般又分为web端消息推送和移动端消息推送。上边的这 阅读全文
摘要:
[使用] 1.设置SSH客户端 工具 > 选项 设置OpenSSH, SSH 密钥这一栏自然会去选择当前用户下的 .ssh 目录下的 id_rsa 这个私钥: 阅读全文
摘要:
Asynq[1]是一个Go实现的分布式任务队列和异步处理库,基于redis,类似Ruby的sidekiq[2]和Python的celery[3]。Go生态类似的还有machinery[4]和goworker 同时提供一个WebUI asynqmon[5],可以源码形式安装或使用Docker imag 阅读全文