个人网站搭建(Day 20)— 25号端口被阿里云禁用,无法发送邮件 在博客个人网站搭建(Day 19)— Django-User 用户邮箱认证中提到了我们新的注册功能会发送激活邮件给用户,在本地测试时使能够正常地发送邮件的,但是在部署到阿里云后发现在发送邮件时会出错,经过检查发现是阿里云官方禁用了邮件的发送端口(25号端口),想必是防止阿里云的服务器被滥用来发送垃圾邮件叭,可以通过申请来解决,但是处理申请的手续比较麻烦,可能花费很多的时间还是未能通过审核,所以...
个人网站搭建(Day 19)— Django-User 用户邮箱认证 这篇博客主要是来讲一下我升级过后的用户users模块,从原来的Schnee的users模块继承而来,但是加入了用户邮箱验证等功能。参考博客:杨仕航—我的网站搭建(第15天) 注册认证在新的用户系统中,我默认只能够以合法的邮箱作为用户名来注册,这样能够避免出现奇奇怪怪的用户名,也便于后续的通过邮件激活用户的操作。用户在网站注册新用户后,会创建一个未激活的新用户(无法登录网站),需要点击通...
个人网站搭建(Day 18)— Html + js 实现消息提示跳转页面 emmm,这个页面是我的项目中的一个通用页面,主要功能是显示提示信息,在经过指定的时间后跳转到目标链接,前端代码如下所示。<!DOCTYPE html> <html lang="zxx" class="no-js"><body> <section class="project-area section-gap" id="project...
LeetCode刷题日记(Day7)— Math LeetCode 204. Count Primesint countPrimes(int n) { vector<int> notPrime(n, 0); int count = 0; for(int i = 2; i < n; i++) { if(!notPrime[i]) { count++; ...
LeetCode刷题日记(Day6)— Math LeetCode 7.Reverse Integerint reverse(int x) { if(x == 0) return 0; bool belowZero = x < 0 ? true : false; long long num = x; string str = to_string(abs(num)); std::rever...
LeetCode刷题日记(Day5)— String LeetCode 87. Scramble Stringbool isScramble(string s1, string s2) { if(s1 == s2) return true; int counter[26] = {0}, len = s1.size(); for(int i = 0; i < len; i++) { counter[...
LeetCode刷题日记(Day4)— String LeetCode 28. Implement strStr()int strStr(string haystack, string needle) { const int max_num = 1024; int shift[max_num]; int n = haystack.size(), m = needle.size(); for(int i = 0;...
LeetCode刷题日记(Day 3)— Array LeetCode 274. H-Indexint hIndex(vector<int>& citations) { sort(citations.begin(), citations.end()); reverse(citations.begin(), citations.end()); int n = citations.size(), ind...
LeetCode刷题日记(Day 2)— Array LeetCode 299. Bulls and Cowsstring getHint(string secret, string guess) { int a = 0, b = 0, counter[11] = {0}; for(int i = 0; i < secret.size(); i++) counter[secret[i]-'0']++; ...
Leetcode 刷题日记(Day1)— Array 之前有陆续刷过部分的 leetcode 题目,但为了春招做准备,决定重新按序刷一遍,也做好总结的工作,方便复习。参考的刷题顺序是 Leetcode 分类顺序表第二版 ,有一定的参考价值。LeetCode c++ 提速小技巧:关闭流同步,效果极好。static const auto speedup = []() { std::ios::sync_with_stdio(false...
个人网站搭建(Day 17)— Apache2 使用SSL证书,启用HTTPS 数天前发现同学在配置小程序的后台是使用到了SSL证书,想起自己网站上线数月,依旧顶着http的名头,不够安全也是略显寒酸,因此决定为我们的网站配置一波SSL证书,进入HTTPS的时代嘿嘿 参考博客:Django 开启HTTPS时代——安装证书、启用HTTPS 一、证书购买与下载 登陆阿里云的管理后台,选择云盾的SSL证书功能 购买对应的证书,选择免费类型即可 (...
Windows-Mysql 的安装 及 由sql文件还原数据库 之前一直使用 Django框架下的 shell 以及 dbshell 来管理数据库,并没有直接接触项目的mysql数据库,今天为了学习更多的mysql基本操作,但是由不敢动服务器上的数据库(害怕不小心炸库2333),因此决定在windows下安装mysql供学习所用,总结了之前安装失败的教训之后,成功在windows下安装mysql-8.0.13数据库,并将服务器上备份出来的sql文件导入数据库,...
个人网站搭建(Day 16)— 小插曲:Django时区问题 时间差8小时 这篇博客讲的是一次 debug 的过程,觉得比较有意思就写一写233311.14 的早上,当我在 Lenotes 中创建一个新的 Diary 的时候呢,发现在创建当天的Diary后,还显示着 create new diary 的按钮,因为我们的页面设计导致如果存在日期为同一天的两篇 Diary 会导致时间条的混乱,因此呢,我们便开始我们的Debug之旅啦。 首先,我们登陆服务器,打开 ...
清除 Git 及 Github 上的敏感信息 我们在之前的博客 个人网站搭建(Day 11)— git 与 github 的使用 中有说过,Github是一个供用户使用的远程仓库,我们能够将我们的代码托管至github,但是如果我们使用的是免费版的话,那么我们的项目代码便是完全开源的。那么问题来了,我们知道 Django 项目中有一个 settings.py 文件,包含了我们项目的所有设置信息,自然包括我们的密码(比如说mysql 数据...
个人网站搭建(Day 15)— 分页器的设计 唉?这篇博客应当是放到较前的位置的,因为忘了所以就在这里补上啦2333,莫介意 (´- ω ก`)今天说的是分页器的设计,随着我们的博客越写越多,在同一个页面内放下所有的博客的话,就会显得emmm,不方便阅读也不好看2333。本文参考博客:杨仕航—我的网站搭建(第3天) Django分页器 分页器的设计主要有两方面的内容:1. 博客分页处理;2. 前端相关设计 一、博客分页处理...
个人网站搭建(Day 14)— MySQL 的使用及数据迁移,备份 当当当,今天我们来讲一讲 MySQL 在Django项目中的使用,以及如何完成我们的项目的数据迁移,还有就是 MySQL 数据自动备份的问题。参考博客:Ubuntu 安装mysql和简单操作杨仕航 — Django使用MySQL数据库MySQL 数据库定时自动备份 主要有六个部分:MySQL 与 sqlite3 数据库的区别,MySQL 在 linux 下的安装,创建数据库...
个人网站搭建(Day 13)— 服务器部署(下)使用 Apache2 部署项目 在上一篇博客中,我们完成了服务器的外部配置,即相关的域名,安全组,系统选择等等。今天,我们要登陆服务器对我们的项目进行部署。我们选择的是使用 Apache2 进行部署,参考的博客是 Django 部署(Apache2) 原来的博客中排版比较乱,我们在这里整理一下,也加上自己踩的一些坑。 部署步骤 1.安装 apache2 和 mod_wsgi sudo apt-get...
个人网站搭建(Day 12)— 部署服务器(上) 服务器的基础设置 既然我们的网站已经基本成形,那么我们就来把它部署到服务器上吧,这样我们就能够通过网络访问我们的网站了。 服务器的选择服务器的选择目前来说主要有两种:1. 自己购买相应设备搭建属于自己的服务器,优点是能够根据自己的需要更改相应的配置,也便于管理;但是缺点也很明显:首先,服务器需要保持24小时开机的状态,能耗就是一个大问题,其次是环境的问题,自己搭建服务器需要从零开始,完成服务器的环境...
个人网站搭建(Day 11)— git 与 github 的使用 经过前面的开发,我们的网站也已经初步成形了,接下来的步骤就是将其部署至服务器,但是再此之前,我们要介绍一下git工具的使用。git 是由 linux 之父 Linus 开发的基于C语言的分布式版本控制系统,git 工具的诞生也是相当的有戏剧性,参考 廖雪峰 Git的诞生起因是BitMover公司因发现linux社区中有大牛试图破解BitKeeper的协议,因此要收回Linux社区的免费使用...
个人网站搭建(Day 10)— 博客页面右侧小栏,博文搜索功能的实现 在写了好几篇博文后,查看博客列表的页面的时候,便会发现有点过于单一,仔细思考,我们可以在右侧添加一个区域来添加不同的功能,使得我们的博客页面不会过于单调。说干就干,我们目前添加的三个功能分别是博文搜索,作者推荐以及随机推荐,后续想到其他有趣的Ideas再更新上去,这里先说说三个功能的实现: 1.博文搜索参考博客:杨仕航—我的网站搭建(第11天) 博文搜索功能的话我们做的比较...