- 博客(68)
- 资源 (3)
- 收藏
- 关注
原创 【踩坑idea 2021.2.3】【Gradle】 Building with Lombok‘s @Slf4j and Intellij: Cannot find symbol log
对于idea 2020.3以上版本都带有lombok插件,用maven正常运行的项目,由于改用gradle7.3,导致报错Cannot find symbol log,排查lombok有问题,将注意事项记录一下,希望对大家有用
2021-12-23 23:00:57
1609
翻译 Flask Mega-Tutorial V2.0 第23章:应用程序编程接口(API)
我为此应用构建的所有功能都只适用于特定类型的客户端:Web浏览器。 但其他类型的客户端呢? 例如,如果我想构建Android或iOS APP,有两种主流方法可以解决这个问题。 最简单的解决方案是构建一个简单的APP,仅使用一个Web视图组件并用Microblog网站填充整个屏幕,但相比在设备的Web浏览器中打开网站,这种方案几乎没有什么卖点。 一个更好的解决方案(尽管更费力)将是构建一个本地APP,但这个APP如何与仅返回HTML页面的服务器交互呢?
2021-03-23 08:09:14
435
翻译 Flask Mega-Tutorial V2.0 第22章:后台工作
本章致力于为应用程序中运行时间较长或复杂的异步任务进程进行优化。这些进程不能在请求的上下文中同步执行,因为这会在任务持续期间阻塞对客户端的响应。在第十章中,我将邮件的发送转移到后台线程中执行,以免阻塞响应。 虽然使用线程处理电子邮件是可以接受的,但当问题处理时间更长时,此解决方案就不足以支撑了。 公认的做法是将耗时长的任务移交到worker进程(或进程池)。为了证明长时间运行任务存在的必要性,我将介绍Microblog的一个导出功能,用户通过它可以请求一个包含他们所有用户tie的数据文件。 当用户使用该
2021-03-21 22:01:44
387
翻译 Flask Mega-Tutorial V2.0 第21章:用户通知
在本章中,我想继续致力于改善我的Microblog应用的用户体验。有一个广泛应用的功能是向用户显示警报或通知。 社交应用通常会通过在顶部导航栏中显示带有数字的小徽章显示这些通知来让您知道有新的提及(@)或私有消息。 虽然这是最明显的用法,但通知模式还可以应用于许多其他类型的应用程序,以通知用户需要注意的事情。为了向您展示构建用户通知所涉及的技术,我需要扩展Microblog。因此在本章的第一部分中,我将构建一个用户消息传递系统,它允许任何用户发送私有消息给另一个用户。 这实际上比听起来更简单,通过它,我
2021-03-21 21:02:19
344
翻译 Flask Mega-Tutorial V2.0 第20章:一些JavaScript Magic
如今,构建一个Web应用而不使用JavaScript是不可能的。 您一定知道,JavaScript是Web浏览器中可本地运行的唯一语言。在第14章中,您看到了我在Flask模板中添加一个简单的JavaScript的启用链接,以提供博客文章的实时语言翻译。在本章中,我将深入探讨该主题,并向您展示另一个有用的JavaScript技巧,以使应用更有趣并吸引用户。社交网站的常见用户交互模式是,当您将鼠标悬停在用户名上的任意位置(在页面上出现的任何位置)时,会在弹出面板中显示该用户的主要信息。如果您从未注意到这
2021-03-21 16:46:49
302
翻译 Flask Mega-Tutorial V2.0 第19章:Docker容器上的部署
容器基于轻量级虚拟化技术构建,该技术允许应用程序及其依赖项和配置完全隔离地运行,而无需使用功能强大的虚拟化解决方案(例如虚拟机),因为虚拟化解决方案需要更多的资源,并且有时可能与宿主机相比,性能明显下降。配置为容器宿主机的系统可以运行大量容器,所有这些容器共享主机的内核并直接访问主机的硬件。这与虚拟机不同,虚拟机必须模拟一个完整的系统,包括CPU,磁盘,其他硬件,内核等。尽管必须共享内核,但容器中的隔离级别仍然很高。容器具有自己的文件系统,并且可以基于与容器主机使用的操作系统不同的操作系统。
2021-03-21 13:26:21
356
翻译 Flask Mega-Tutorial V2.0 第18章:在Heroku上部署
在上一篇文章中,我向您展示了托管Python应用的“传统”方式,并且为您提供了两个实际的示例,以将其部署到基于Linux的服务器上。如果您不习惯于管理Linux系统,您可能会认为需要花很多精力在任务上,并且肯定有一种更简单的方法。在本章中,我将向您展示一种完全不同的方法,在这种方法中,您依赖第三方云托管提供商来执行大多数管理任务,从而使您腾出更多时间来处理应用程序。许多云托管提供商提供了一个应用程序可以运行的托管平台。 你只需提供部署到这些平台上的实际应用程序,因为硬件,操作系统,脚本语言解释器,数
2021-03-20 22:50:17
283
翻译 Flask Mega-Tutorial V2.0 第17章:在Linux上部署
在本章中,我将达到Microblog应用生命中的一个里程碑,因为我将讨论在生产服务器上部署该应用的方式,以便真实用户可以访问该应用。部署的主题很广泛,因此不可能在这里涵盖所有范畴。 本章致力于探讨传统托管方式,包括Ubuntu发行版的Linux服务器和流行的树莓派微机。 我将在后面的章节中介绍其他选项,例如云和容器部署。
2021-03-20 21:05:33
340
翻译 Flask Mega-Tutorial V2.0 第16章:全文搜索
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第十六章,其中我将为Microblog添加全文搜索功能。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 第3章:Web表单 第4章:数据库 第5章:用户登录 第6章:配置文件页面和头像 第7章:错误处理 第8章:关注与被关注..
2021-03-20 14:38:20
343
翻译 Flask Mega-Tutorial V2.0 第15章:大型应用程序结构
Microblog已经是一个初具规模的应用了,所以我认为这是讨论Flask应用如何在持续增长中不会变得混乱和难以管理的好时机。 Flask是一个框架,旨在让你选择以任何方式来组织项目,基于该理念,在应用日益庞大或者技能水平变化的时候,才有可能更改和调整其结构。在本章中,我将讨论适用于大型应用的一些模式,并且为了演示他们,我将对Microblog项目的结构进行一些更改,目标是使代码更易于维护和组织。 当然,在真正的Flask精神中,我鼓励你在尝试决定组织自己的项目的方式时仅仅将这些更改作为参考。
2021-03-14 17:37:20
364
翻译 Flask Mega-Tutorial V2.0 第14章:Ajax
在本文中,我将偏离服务器端开发的“安全区域”,并致力于具有同等重要的服务器和客户端组件的功能。您是否看到某些网站在用户生成的内容旁边显示的“翻译”链接?这些链接可触发实时自动翻译非用户本国语言的内容。通常将翻译后的内容插入原始版本的下方。Google将其显示为外语搜索结果。Facebook将其发布。Twitter将其用于推文。今天,我将向您展示如何向Microblog添加相同的功能!
2021-03-14 11:28:48
319
翻译 Flask Mega-Tutorial V2.0 第13章:I18n和L10n
本章的主题是国际化和本地化,通常缩写为I18n和L10n。为了使我的应用程序对不说英语的人友好,我将实现一个翻译工作流程,该工作流程将在语言翻译人员的帮助下,允许我以多种语言向用户提供该应用。
2021-03-13 21:33:39
383
翻译 Flask Mega-Tutorial V2.0 第12章:日期和时间
显示日期和时间,在Microblog应用中,是我长期被忽略的一个方面。 直到现在,我也只是让Python渲染了User模型中的datetime对象,并且完全忽略了Post模型中的datetime对象。
2021-03-13 19:50:26
261
原创 在Mybatis xml使用mysql数据库进行多字段模糊查询(Like)
在mysql中使用Like进行一些简单轻量级的查询,并不需要考虑太多效率问题。一、Like单字段查询比较简单。没有特殊要求的话,直接使用%关键字%就进行左右匹配查询.....<mapper..> ... <select...> SELECT c.* FROM contacts c WHERE c.delete_time IS NULL <if test="keyWord != null and..
2020-05-23 22:38:19
6195
原创 使用git获取最新的代码合并到本地分支
目录1、git pull 获取最新代码到本地,并自动合并到当前分支2、git fetch + merge: 获取最新代码到本地,然后手动合并分支适用场景:团队开发、跟进GitHub项目等在多人协同开发中,我们经常会遇到这样的问题:A在本地开发完成后,将代码推送到远程,这时候B的本地代码的版本就低于远程代码的版本,B该如何从远程拉取最新的代码,并与自己的本地代码合并呢?大致有两种方式:1、git pull 获取最新代码到本地,并自动合并到当前分支// 查询当前远程的版本git
2020-05-16 22:35:07
5733
原创 使用邻接矩阵实现商品SKU表单联动
什么是邻接矩阵不了解邻接矩阵,请查看邻接矩阵邻接矩阵是一个用来描绘顶点与边关系的数据结构。它的本质是一个二维数组,适合用来处理最小数据单元之间的关联关系。邻接矩阵有两种模式:无向图以及有向图。无向图主要的特点是不表示方向点与点之间可以双向流通,有向图则包含方向两点间可单向亦可双向。他们主要应用在迷宫、简单地图、级联表单等等图形化场景先看看我们要实现效果交互分析当用户选...
2020-01-13 08:53:36
3206
14
转载 如何在Nginx中使用不同的PHP版本运行多个网站
有时PHP开发人员想要在同一个Web服务器上使用不同版本的PHP来构建和运行不同的网站/应用程序。作为一名Linux系统管理员,您需要设置一个环境,使您可以在单个Web服务器(即Nginx)上使用不同的PHP版本运行多个网站。在本教程中,我们将向您解释如何安装多个版本的PHP,并配置Web服务器Nginx,以使用LEMP在CentOS / RHEL 7发行版中通过服务器模块(Apache中...
2019-11-12 21:16:38
1896
原创 封装一些GitHub常用命令,加入到终端命令中
我们在日常的开发过程中,肯定会经常要用到一些代码版本控制工具,其中较为常用的如GitHub,当然GitHub的命令已经比较精简了,不过依照我们每个人的个人习惯不同还是可以进行一些简单的封装的。封装一些重复使用的命令比如说,我每天可能都会有很多次的提交,每次提交可能输入的都是那么几个命令:git pullgit add .git commit -m "description"gi...
2018-10-26 21:47:29
440
原创 flask中jinja2模板引擎详解– 块 (Block)和宏 (Macro)
flask 考虑到模板代码的重用性,Jiaja2提供了块 (Block)和宏 (Macro)来提高代码的继承和复用性。其中块 (Block)的使用可以极大精简代码,可以通过继承(extend)扩展让大量代码重复使用,并在Block自由定制替换内容块;而宏 (Macro) 的使用更可以极大的提高模板的复用性,减少复杂度,类似于函数,可以传入参数。这篇我们就来学习下 块 (Block)和宏 (...
2018-08-17 00:42:27
6004
翻译 Flask Mega-Tutorial 中文教程 V2.0 第11章:整容
这是Flask Mega-Tutorial系列的第十一部分,我将告诉你如何用基于Bootstrap用户界面框架的新模板替换基础的HTML模板 最受欢迎的CSS框架之一是由Twitter推出的Bootstrap。 这些是使用Bootstrap来设置网页风格的一些好处:在所有主流网页浏览器中都有相似的外观自动处理PC桌面,平板电脑和手机屏幕尺寸可定制的布局精心设计的导航栏,表单,按钮,警示,弹出窗口等 flask-bootstrap 渲染分页链接 渲染博客帖子 渲染Bootstrap表单
2018-08-14 21:59:35
966
翻译 Flask Mega-Tutorial 中文教程 V2.0 第10章:电子邮件支持
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第十章,其中我将告诉您应用程序如何向用户发送电子邮件,以及如何在电子邮件支持之上构建密码重置功能。供您参考,以下是本系列文章的列表。第1章:Hello, World...
2018-08-14 15:55:18
1525
翻译 Flask Mega-Tutorial 中文教程 V2.0 第9章:分页
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第九章,其中我将告诉您如何对数据库列表进行分页。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 第3章:Web表单 第4...
2018-08-13 14:48:30
780
翻译 Flask Mega-Tutorial 中文教程 V2.0 第8章:关注与被关注
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第八章,其中我将告诉你如何实现类似于Twitter和其他社交网络的“关注”功能。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板...
2018-08-11 20:21:33
843
翻译 Flask Mega-Tutorial 中文教程 V2.0 第7章:错误处理
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第七章,其中我将告诉您如何在Flask应用程序中进行错误处理。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 第3章:We...
2018-08-08 16:01:36
564
3
翻译 Flask Mega-Tutorial 中文教程 V2.0 第6章:配置文件页面和头像
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第六章,其中我将告诉您如何创建用户个人资料页面。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 第3章:Web表单 第4...
2018-08-08 08:29:44
1247
翻译 Flask Mega-Tutorial 中文教程 V2.0 第5章:用户登录
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第五章,其中我将告诉您如何创建用户登录子系统。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 第3章:Web表单 第4章...
2018-08-07 21:30:21
1339
2
翻译 Flask Mega-Tutorial 中文教程 V2.0 第4章:数据库
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第四章,其中我将告诉您如何使用数据库。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 第3章:Web表单 第4章:数据库...
2018-08-07 15:08:26
1982
翻译 Flask Mega-Tutorial 中文教程 V2.0 第3章:Web表单
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。这是Flask Mega-Tutorial系列的第三章,其中我将告诉您如何使用Web表单(flask-WTF)。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 第3章:W...
2018-08-05 00:34:05
1625
翻译 Flask Mega-Tutorial 中文教程 V2.0 第2章:模板
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。在Flask Mega-Tutorial系列的第二章中,我将讨论如何使用模板。供您参考,以下是本系列文章的列表。第1章:Hello, World! 第2章:模板 (本文) 第3章:Web表单 第4章:数据...
2018-08-04 16:15:00
1546
翻译 Flask Mega-Tutorial 中文教程 V2.0 第1章:Hello,World!
最近在Flask Web Development作者博客看到第二版Flask Mega-Tutorial已在2017年底更新,现翻译给大家参考,希望帮助大家学习flask。 欢迎!您即将开始学习如何使用Python和Flask框架创建Web应用程序。在第一章中,您将学习如何设置Flask项目。在本章结束时,您将在计算机上运行一个简单的Flask Web应用程序!供您参考,以下是本系列文...
2018-08-04 15:08:52
4659
1
原创 加速nginx: 开启gzip和缓存
nginx 是一个高性能的 Web 服务器,之前也写过一些关于 nginx 的文章。为了提高博客的响应速度,可以从设置 nginx 的 gzip 和缓存这2方面入手。为字体开启 gzip 和缓存能大大减少带宽的消耗。nginx 是一个高性能的 Web 服务器,之前也写过一些关于 nginx 的文章。为了提高博客的响应速度,可以从设置 nginx 的 gzip 和缓存这2方面入手。为字体开启 g...
2018-08-04 10:54:58
2917
原创 flask-security Babel I18n 汉化语言包
在网上搜了半天也没介绍flask-security汉化方法,于是查看源代码,发现里面是支持Babellex翻译,于是Git源代码,自己增加了中文简体的翻译文件,并提交到作者,不过还没审核通过,详见如何参与Github上的开源项目Flask-security语言翻译由于需要在项目中使用,等到作者合并到项目中并发布,不知道什么时候,于是就自己编译之后放到项目中,记录一下方法给小伙伴参考。编...
2018-08-04 00:01:41
967
原创 如何参与Github上的开源项目Flask-security语言翻译
以项目flask-security为例Fork 开源项目到自己的账号 打开https://github.com/并登录自己的账号 打要参与的开源开项目主页: 比如 https://github.com/mattupstate/flask-security/ Fork该项目到自己的账户下(点击右上角的Fork按钮) 打开刚刚Fork的仓库主页(在自己的账...
2018-08-03 12:22:35
565
原创 flask-admin modelView 如何在create和edit显示不同表单提交
在一个客户项目中,对客户来说一些没必要的字段,需要隐藏。而使用flask-admin构建后台时,它的CRUD模型的编辑和创建都是根据Model设置的。于是我使用form_create_rules和form_edit_rules来进行选择编辑,但是Debug命令行会总是发出警告:UserWarning: Fields missing from ruleset ,设置只读字段
2018-08-02 17:01:05
2313
4
原创 使用flask-security SECURITY_TRACKABLE 获得实际IP地址
使用Flask-Security时,如果SECURITY_TRACKABLE设置为True,将会在统计用户登录信息并记录到数据库,但是使用时需要主要一下两点设置:确认User Model中是否有记录登录信息的字段 使用代理服务器,如nginx,需要在服务器端 代理设置 首先确认User Model中是否有如下额外字段:current_login_iplast_login_ip
2018-08-02 16:28:30
890
原创 如何用git命令行上传本地代码到github
注意:安装的前提条件是配置好Git的相关环境或者安装好git.exe,此处不再重点提及 上传的步骤: 本文采用git 命令界面进行操作,先执行以下两个命令,配置用户名和email【设置用戶名和e-mail地址。这是非常重要的,因為每次Git提交都会使用该信息。它被永遠的嵌入到了你的提交中】 git config --global user.email "y...
2018-07-31 23:15:46
235
原创 Flask-Assets 使用autoprefixer并压缩css/JS文件提高访问速度
扩展阅读http://flask-assets.readthedocs.io/en/latest/ Flask-Assets实例学习 Flask-Assets中文参考Flask-Assets在访问 Web 应用的时候浏览器会在加载和解析为 HTML 文件之后, 再下载大量的 CSS/JS 文件, 发送了大量的 HTTP 请求. 虽然现在很多浏览器能够支持并行下载, 但也是由限制的, 所...
2018-07-31 22:57:47
832
原创 使用Flask构建网站流量分析应用
这篇文章我会展示怎样使用 Flask 来构建一个轻量的统计分析服务,由于原文使用的是peewee和SqliteDatabase,我是使用的是flask-sqlalchemy和mysql,数据库操作有所不同。分析请求/响应流程我们将要构建的分析服务有点类似 Google Analytics (更像是个简化版)工作流程:每个要被跟踪的页面都会使用 <script> 标...
2018-07-31 00:40:06
2725
原创 Laravel5.1 搭建简单的社区(十三)--Jcrop裁剪头像
首先在app.blade.php中引入jcrop(在github上可以找到) {{--引入jcrop--}} <link rel="stylesheet" href="/css/jquery.Jcrop.css"> <script src="/js/jquery.Jcrop.min.js"></script>在bootstrap官..
2018-07-27 15:59:51
248
2
原创 Laravel5.5 搭建简单的社区(十二)--Ajax更换头像
此篇记录如何使用ajax进行头像的更换,使用ajax需要引入一个jQuery的插件 jQuery form,在app.blade.php中引入: <link rel="stylesheet" href="/css/bootstrap.css"> {{--引入fontawesome--}} <link rel="stylesheet" href="/...
2018-07-27 15:59:33
343
macOS Catalina MultiBeast 12.3.0 Catalina Edition
2021-12-11
nss-softokn-freebl-3.14.3-23.el6_7.x86_64.rpm
2015-11-09
Chinese Simplified Language Pack for opencart 2.1.x 简体中文包
2015-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人