详情

全站展示位

Github Action 自动构建 Flutter Android Apk | Leetao's Blog

前言前段时间用 Flutter 做了一个开源的项目 RSSAid,因为需要打包 apk,在此之前一直是在本地签名打包的。后来和别人交流了一下,想起来可以用 Github Action 构建持续化集成,自动打包。然后就研究了一下,最后完成了根据 tag 版本自动生成 apk 的 workflows。 Workflows自动化构建脚本如下: 123456789101112131415161718192。。。

推荐

Anaconda Navigator启动失败 | Leetao's Blog

我的最终启动失败的原因是:No Module named ‘pywintypes’ 缺失引起的 Anaconda Navigator 启动失败,但是解决问题的方法是通用的. 定位问题找到应用,点击打开文件位置 右键快捷方式,将箭头所在栏的内容复制下来 你会得到类似如下的命令: pathto\Anaconda3\pythonw.exe pathoto\Anaconda3\cwp.py pathto

wtforms 使用的一些问题总结 | Leetao's Blog

Q&A Q1. 用IntegerField来限制form只能用数字 但是发现它只能接受1以上 不能接受0 如何设置 A1:添加代码validators=[InputRequired()] Q2. 让 IntegerField 的输入框只允许输入数字,即选渲染后的输入框类型为 number A2: 添加代码widget=NumberInput(), 引入 from wtforms

偏函数-functools之partial | Leetao's Blog

前段时间在讲述 Flask-Login 的源码中遇见了一个函数 ——partial,这个函数来自于functools模块,这个模块定义为”The functools module is for higher-order functions: functions that act on or return other functions. In general, any callable objec

心灵鸡汤

哲理小故事、佛塔上的老鼠

  一只四处漂泊的老鼠在佛塔顶上安了家。

  佛塔里的生活实在是幸福极了,它既可以在各层之间随意穿越,又可以享受到丰富的供品。它甚至还享有别人所无法想象的特权,那些不为人知的秘笈,它可以随意咀嚼;人们不敢正视的佛像,它可以自由休闲,兴起之时,甚至还可以在佛像头上留些排泄物。

  每当善男信女们烧香叩头的时候,这只老鼠总是看着那令人陶醉的烟气,慢慢升起,它猛抽着鼻子,心中暗笑:“可笑的人类,膝盖竟然这样柔软,说跪就跪下了!”

  有一天,一只饿极了的野猫闯了进来,它一把将老鼠抓住。

  “你不能吃我!你应该向我跪拜!我代表着佛!”这位高贵的俘虏抗议道。

  “人们向你跪拜,只是因为你所占的位置,不是因为你!”

  野猫讥讽道,然后,它像掰开一个汉堡包那样把老鼠掰成了两半。

  【人生感悟】人生中,很多人都有得意的时候,要客观地想一想,别人对你毕恭毕敬时,是因为你自身的人格、学识,恩德,还是因为你临时所处的位置。

列表展示

主站展示位

Pymysql error- cryptography is required for sha256_password or caching_sha2_password | Leetao's Blog

前言重新安装了 Docker,然后启动其中的 MySQL 镜像,通过 pymysql 去连接数据库,出现了下面错误: cryptography is required for sha256_password or caching_sha2_password 解决方法1解决方法其实很简答,安装 cryptography 这个库就可以解决问题了。 1pip install cryptography

Keyboard Row | Leetao's Blog

Given a List of words, return the words that can be typed using letters of alphabet on only one row’s of American keyboard like the image below. Example 1: 12Input: ["Hello", "Alaska&q

ImportError- unable to find Qt5Core.dll on PATH | Leetao's Blog

前言今天在 windows 下打包 PyQt5 应用出现了 ImportError: unable to find Qt5Core.dll on PATH 错误,搜索了一下找到以下解决办法 解决办法使用 –path 参数由于我们打包出错的原因是缺少 Qt5Core.dll,所以在打包过程中,指定路径。使用方法如下 1pyinstaller --path path_to_\Python\Lib\si

Distribute Candies | Leetao's Blog

Given an integer array with even length, where different numbers in this array represent different kinds of candies. Each number means one candy of the corresponding kind. You need to distribute these

SpringBoot 使用 @Valid 配合 BindingResult 校验数据 | Leetao's Blog

前言在实际开发过程中,经常需要对前端传来的数据模型进行校验,一般情况下都是写一个专门的校验函数去校验,这种方式很显然不适合复杂的项目,因为随着项目复杂度的增加需要校验的数据模型越来越多,并且在开发过程中可能也需要时常修改数据模型,这就导致原来的校验方法可能需要时常的变动,也不利于维护。因为我们需要一种更简单的方式去完成这个工作。 @Valid 和 BindingResultSpringBoot 在

ModuleNotFoundError No module named 'PyQt5.sip' | Leetao's Blog

前言最近用 pyqt5 开发了一款图形化界面工具,完成之后用 pyinstaller 将其打包成 exe 后出现了问题: ModuleNotFoundError: No module named ‘PyQt5.sip’ 解决方法通过在网上查找一些资料,找到三种办法,网上都有人说成功了. 方法一安装旧版本 pyqt5,原因是: pyinstaller 内置的 sip 版本与最新的 pyqt5 不

导出 VuePress 构建的网站为 PDF | Leetao's Blog

前言学 Rust 也有一段时间了,网上也有不少官方文档的中文翻译版,但是似乎只有 Rust中文网站 文档一直是最新的,奈何并没有 PDF 供直接下载,是在是不太方便,为了方便阅读以及方便后续文档更新,决定用 Python 写一个爬虫将网页下载下来保持为 PDF. 最后完成结果如下: 是的没错,将官网样式也保留下来成功转为 PDF,接下来分享一下整个爬虫的过程,最终的爬虫可以导出任意 VuePre

Scrapy 中 spider 覆盖默认的 pipelines | Leetao's Blog

前言scrapy 是 python 中一个优秀的爬虫框架,基于这个框架,用户可以快速构建自己的爬虫程序。框架涉及很多模块,其中有两个核心概念 items 和 item pipelines。 Items: 爬取的主要目标就是从非结构性的数据源提取结构性数据,例如网页。 Scrapy提供 Item 类来满足这样的需求。Item 对象是种简单的容器,保存了爬取到得数据。 其提供了 类似于词典(dict

Increasing Triplet Subsequence | Leetao's Blog

给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。 示例 1: 12输入:

Rust笔记-数据类型(二)-- 复合 | Leetao's Blog

这是自己学习 Rust 的学习笔记,由于 Rust 语言处于初期,变动可能会比较大,文章不一定会及时同步,学习过程中需要仔细甄别 复合类型复合类型(Compound types)可以将多个值组合成一个类型。Rust 有两个原生的复合类型:元组(tuple)和数组(array) 元组元组是一个将多个其他类型的值组合进一个复合类型的主要方式。我们使用包含在圆括号中的逗号分隔的值列表来创建一个元组。元组

MVP for Android | Leetao's Blog

翻译自 MVP for Android: how to organize the presentation layer原文地址 MVP(Model View Presenter) 模式是从著名的 MVC(Model View Controller)中衍生出来的.MVC 有段时间哪怕是现在在 Android 应用开发中也是有着举足轻重的作用.现在有越来越多的人们讨论它(MVP),但是却少有可靠的

list1 += list2 和 list1= list1 + list2 的故事 | Leetao's Blog

前言前几天在某乎上有人问问题,问道 list.append(ele) 和 list = list + [ele] 一样吗? 这个问题的答案自然是不一样的,这里就不过多描述了.重要的是,借由这个问题,我产生了一个新的问题: list1 += list2 和 list1= list1 + list2 这两者有区别吗 先说结论,自然是有区别的. 测试花一分钟看个两个例子,如果你能正确的知道输出结果,那

Jinjia2 自定义 filter | Leetao's Blog

前言用过 flask 的人肯定对 jinjia2 不会陌生,自然对 Jinjia2 自带的 filter 也有印象,但是其自带的 filter 实在有限,有些时候就不得不需要我们自己定义 filter 了,接下来的例子将介绍如何自定义 filter 自定义 filter举个例子自定义 filter 其实很简单,写一个函数实现你需要的功能,然后添加到 jinjia_env 中,这里以一个返回列表长度

context_processor 上下文处理器 | Leetao's Blog

前言写专栏写了一段时间了,但是一直都没有带大家做一个完整的小项目,俗话说的好,“光说不练假把式,光练不说真把式,连说带练全把式”,自然我要当仁不让做“全把式”了,然后自己就偷偷摸摸的花了几天时间撸了一个博客,功能暂时没有全部完成,完成后会写一个教程教大家从零开始撸一个自己的博客,博客地址:

Parsing error x-invalid-end-tag | Leetao's Blog

问题前端时间使用iview进行开发,在运行过程中出现类似下图的错误: 解决办法.eslintrc.js 的 rules 加上 1"vue/no-parsing-error": [2, &#123; "x-invalid-end-tag": false &#125;] 参考链接Parsing error: x-invalid-end-tag Col comp

Isomorphic Strings | Leetao's Blog

Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the characters in s can be replaced to get t. All occurrences of a character must be replaced with another ch

Set Mismatch | Leetao's Blog

The set S originally contains numbers from 1 to n. But unfortunately, due to the data error, one of the numbers in the set got duplicated to another number in the set, which results in repetition of o

Find the Difference | Leetao's Blog

Given two strings s and t which consist of only lowercase letters. String t is generated by random shuffling string s and then add one more letter at a random position. Find the letter that was added

Distribute Candies | Leetao's Blog

Given an integer array with even length, where different numbers in this array represent different kinds of candies. Each number means one candy of the corresponding kind. You need to distribute these

Contains Duplicate II | Leetao's Blog

Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at most k.

博客寄语:

    一个爱折腾的90后,喜欢写有趣的代码,做有趣的事

实时播报:

博客号-学习成长

相信每一分耕耘都有每一分收获,致力帮助博客主所创作的博客能更快的被收录! 如果有其它需求,可联系下方邮箱。