本页 12 篇文章
StarBloghttps://blog.deali.cn/blog/csharp-attributes-vs-py-ts-decorators
... Response Get() { return ... } 我第一反应觉得不是,这玩意在C#中叫“特性”(英文名Attribute,下文统称为特性),在Java中叫注解,虽然写法和Python/TypeScript中的差不多,但印象中实现方式应该是不同的。 但咱学理工科的就是要严谨,不能仅凭经验和感觉,为此,我查了一下资料,看了之前杨旭大佬推荐的《C# in nutshell》这本书,不...
StarBloghttps://blog.deali.cn/blog/data-analysis-pyqt-charts-beautiful
...8526b38a29.webp) 这是一个基于机器学习的数据分析结果展示,可以看到元素包括了坐标轴标注,两条折线和图例。 为了实现在PyQt中画图,我们用到了pyqtgraph这个绘图库,它是完全python实现的,与PyQt程序可以完美融合,并且具备很多优势: 拥有丰富的图形种类; 能够快速地实时更新绘图数据; 能够进行交互式的操作; 多种标记功能; 接下来进入正题,开始使用pyqt...
StarBloghttps://blog.deali.cn/blog/2025-python-web-litestar-granian-robyn-async-orm
...ngo)该如何面对新趋势。 最近在翻新 DjangoStarter 项目的时候,我顺便做了一些调研,发现 Python Web 生态的变化比我想象得还要快。 一方面,老牌选手 Django 也有了像 Ninja 这样的新鲜外挂;另一方面,如果不走 Django 全家桶路线,还有一批正在崛起的轻量级框架和工具,把 P...
StarBloghttps://blog.deali.cn/blog/2020-personal-tech-retrospective
...那么靠谱,转而把代码提交到Gitee,并把GitHub作为备份,而且后来在公司也开始使用Gitee的企业版,所以后半年在Gitee的提交特别多~ 我看了一下,今年主要涉及的技术(语言)按代码量排序:Python -> C# -> Flutter(Dart) -> 前端(JS) -> Kotlin -> Go -> Java -> PHP 下面挑几个说说相关的应用和心得吧~ Python  -> int: return x + y 没用过类型注解(Type Annotations)的同学可能咋一看有点迷糊,其实上面这段代码和下面这个代码是一样的。 python def add(x, y): return x + y 类型注解介绍 我们知道 Python 是一种...
StarBloghttps://blog.deali.cn/blog/python-pitfalls-class-object-type-params
前言 对初学者来说,Python确实简单好用,毕竟动态类型语言,不用定义就可以拿来用,类型之间随意转换简直不要太方便,因此Python用来写写小脚本,爬虫程序什么的,没什么问题。 不过,一旦用来开发稍微大型一点的项目,例如搭建一个Web应用,就会遇到一些问题,一般缺乏经验的人都会陷入某些坑中。= =... 坑 先说坑,函数参数类型是一坑,类与类的对象这又是一坑。 虽然之前用其他静态类型语言(...
StarBloghttps://blog.deali.cn/blog/civil-affairs-bureau-project-django3x
...过程中,有一些问题和细节,还是有必要记录一下 切换MySQL数据库 开发的时候默认用的SQLite数据库,到了正式环境,需要切换到CS架构的服务器,比如MySQL 我的配置是这样 python 数据库配置 database_config = { 'sqlite3': { 'ENGINE': 'django.db.backends.sqlite3', ...
StarBloghttps://blog.deali.cn/blog/mysterious-crawler-bug-python
每一位成功的程序员,背后也许都站着无数秃头的男人——为其提供各种开发工具&代码库,当然也包括…… 各种玄学bug…… 玄学的开端 最近在用Python做一个爬虫项目的时候遇到一个很奇怪的问题,而且还不是每次都会触发,实在是**令人费解**…… 报错信息如下: UnicodeEncodeError: 'latin-1' codec can't encode character '\u2...
StarBloghttps://blog.deali.cn/blog/diy-simple-message-queue-python
又是造轮子系列咯,Python上有很多成熟完善的异步任务队列框架可以用,比如Celery,或者RQ,不过这些都不自带消息队列服务,都需要使用Redis、RabbitMQ之类的消息队列才行,我用到小项目中又不需要附带这么多东西,于是自己动手来实现咯。 思路 1. 将需要异步执行的任务添加到队列 2. 自动从队列中取出任务,创建新线程执行 3. 保存任务的执行结果和输出 4. 任务完成,调用回调函数,处...
StarBloghttps://blog.deali.cn/blog/django-deployment-docker-containerization
在此之前,我一直用uwsgi+virtualenv+nginx方式进行应用部署,操作起来比较麻烦,而且依赖于服务器上的Python版本,服务的管理方面单纯uwsgi + pid算不上特别麻烦但总没有docker compose方便,无奈原本的服务器是32位系统的用不上docker,现在又增加了一个新服务器,所以赶紧把docker安排上~ 不得不说真的太简单太方便了,全程傻瓜式操作,也基本没像之前uwsgi...
StarBloghttps://blog.deali.cn/blog/django-import-export-data
前言 Django以快速开发闻名,但是如果处理数据的导出导入还需要自己写脚本,那就有违“Python之禅”了…… 而且导数据通常需要不同的格式,Excel、csv、json等,每种格式的数据就要写一个脚本太麻烦了,这时直接祭出django-import-export这个神器,官方一句话介绍:django-import-export is a Django application and librar...
StarBloghttps://blog.deali.cn/blog/django-integrate-cos
...目中使用也没有问题,只是需要根据实际情况做一些修改(文件路径不同) 配置 编辑 src/config/settings/components/tencent_cos.py 文件 python DEFAULT_FILE_STORAGE = "django_starter.contrib.storages.backends.TencentCOSStorage" TENCENTCOS_STO...