详情

全站展示位

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

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

推荐

Elasticsearch 支持 PDF 等文件搜索 | Leetao's Blog

前言默认情况下 es 是不支持 pdf、doc 等文档的搜索的,但是可以通过安装 Ingest attachment plugin 插件来使得 es 提取通用格式的文件,从而可以实现搜索的功能。 安装与使用安装 Ingest attachment plugin安装很简单,通过 elasticsearch-plugin 可以直接进行安装 1bin/elasticsearch-plugin insta

Python读写文件之读文件 | Leetao's Blog

读文件打开文件读写文件,自然第一步是打开文件,使用open( ),其返回一个文件对象,通常有两个参数 1open(filena,mode) 第一个参数是文件名,第二个参数则是文件对象的访问模式.访问模式可参照下图: 使用实例测试文件名为 test.txt ,内容如下: 123>>> f = open('test.txt', 'r')>

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

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

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

心灵鸡汤

  晋代人吴隐之任广州太守,在广州城外,见一池泉水名“贪泉”。当地传说饮了贪泉之水,便会贪婪成性。他不信这些,照饮不误,饮后还写了一首诗:“古人云:此水,一歃怀千金。试使夷齐饮,终当不易心。”

  他在任期间,果然廉洁自律,坚持了自我的操守。

列表展示

主站展示位

Insertion Sort List | Leetao's Blog

Sort a linked list using insertion sort. Solution 插入排序 Python 12345678910111213141516171819202122232425262728293031323334# Definition for singly-linked list.# class ListNode(object):# def __init__

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

Ubuntu 找回 Mysql 的 root 密码 | Leetao's Blog

前言年纪大了就容易忘事,一转眼就把自己的服务器上 MySQL 的 root 密码给忘记了,几经周折最后把密码找回来了,准确的说是把密码重新设置了一下。 解决办法Mysql 版本 5.7.23 修改 mysql 的配置文件在命令下输入如下命令: 1sudo nano /etc/mysql/mysql.cnf 然后添加如下配置,网上都说在 [mysqld] 下面添加,我的配置文件什么都没有,我只好手

py2app 打包相关问题 | Leetao's Blog

前言最近一直在研究用 py2app 给自己写的 PyQt5 应用打包应用,在打包过程中遇到了一次问题,写在这里备忘一下。 问题问题一 AttributeError: module ‘string’ has no attribute ‘maketrans’ 这个问题从网上查找了一下发现好像是 PyQt 的问题,但是到现在也没有被修复。 解决方法:修复起来也很简单,由于出问题的地方在 ascii_up

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

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

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

Flask Web 开发 -- 开发博客应用 -- 第一部分 安装 | Leetao's Blog

写在前面该项目在 Ubuntu16.04 平台下开发,基于 Flask 版本 1.0.2, 项目基本完成,现已开源,源码地址 : peach-blog, 网站实际运行效果: Leetao’s Blog 环境的搭建 本项目中的项目代码基于 Python 3.6 | 3.5 开发完成,建议使用以上两个版本 1.1 使用虚拟环境关于为什么使用虚拟环境,可以参考很久之前我写的一篇文章 为什么使用virt

基于 Ajax 请求的 Flask-Login 认证 | Leetao's Blog

index.htmlexample.py 12345678910111213141516171819202122## index.html```index.html<!DOCTYPE html><html> <head> <title> test login by Leetao</title> </head

-is- 和 -==- 的故事 | Leetao's Blog

前言相比写过 Python 的小伙伴对 “is” 和 “==” 这两个运算符肯定不会陌生,但是你真的能清楚两者的区别吗? 别着急,听我慢慢道来. is 和 ==“is” 和 “==” 都是用来比较两个对象的,区别在于 “is” 是用来判断,两个对象是否为相同,即它们实际的内存地址是否相等,也就是说 id() 值是否一样, 而 “==” 就很简单了,它只是比较两个对象的值是不是相同. 是不是很简单,

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),但是却少有可靠的

Set Matrix Zeroes | Leetao's Blog

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例 1: 输入: [ &nbsp;&nbsp;&nbsp;&nbsp;[1,1,1], &nbsp;&nbsp;&nbsp;&nbsp;[1,0,1], &nbsp;&nbsp;&nbsp;&nbsp;[1,1,1]]输出:[ &nbsp;&nbsp;&nbsp;&nbsp;[1,

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

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

venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv 之间的区别 | Leetao's Blog

关于python的版本管理,库管理使用不少工具,现在对这些工具进行一下简单的总结. PyPIvirtualenvvirtualenv 是一个非常实用的三方包,可以为 Python 创建各自独立开的python库.具体用法可以参考我之前的文章为什么使用virtualenv pyenvpyenv 是用来隔离开各种版本的 Python. 举个例子,比如你想在各个版本的Python中测试你的代码,你就需要

python内置常量(built-in constants)-NotImplemented | Leetao's Blog

定义NotImplemented 的在标准库的定义如下: Special value which should be returned by the binary special methods (e.g. eq() , lt(), add(), rsub(), etc.) to indicate that the operation is not implemented with respec

Island Perimeter | Leetao's Blog

You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water. Grid cells are connected horizontally/vertically (not diagonally). The grid is completely

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

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

Number of Boomerangs | Leetao's Blog

Given n points in the plane that are all pairwise distinct, a “boomerang” is a tuple of points (i, j, k) such that the distance between i and j equals the distance between i and k (the order of the tu

博客寄语:

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

实时播报:

博客号-学习成长

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