- 博客(41)
- 收藏
- 关注
原创 个人网站搭建(Day 20)— 25号端口被阿里云禁用,无法发送邮件
在博客个人网站搭建(Day 19)— Django-User 用户邮箱认证中提到了我们新的注册功能会发送激活邮件给用户,在本地测试时使能够正常地发送邮件的,但是在部署到阿里云后发现在发送邮件时会出错,经过检查发现是阿里云官方禁用了邮件的发送端口(25号端口),想必是防止阿里云的服务器被滥用来发送垃圾邮件叭,可以通过申请来解决,但是处理申请的手续比较麻烦,可能花费很多的时间还是未能通过审核,所以...
2019-06-04 19:55:45
523
原创 个人网站搭建(Day 19)— Django-User 用户邮箱认证
这篇博客主要是来讲一下我升级过后的用户users模块,从原来的Schnee的users模块继承而来,但是加入了用户邮箱验证等功能。参考博客:杨仕航—我的网站搭建(第15天) 注册认证在新的用户系统中,我默认只能够以合法的邮箱作为用户名来注册,这样能够避免出现奇奇怪怪的用户名,也便于后续的通过邮件激活用户的操作。用户在网站注册新用户后,会创建一个未激活的新用户(无法登录网站),需要点击通...
2019-06-04 19:55:12
669
原创 个人网站搭建(Day 18)— Html + js 实现消息提示跳转页面
emmm,这个页面是我的项目中的一个通用页面,主要功能是显示提示信息,在经过指定的时间后跳转到目标链接,前端代码如下所示。<!DOCTYPE html> <html lang="zxx" class="no-js"><body> <section class="project-area section-gap" id="project...
2019-06-04 19:54:33
567
原创 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++; ...
2019-02-20 21:04:00
261
原创 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...
2019-02-19 23:26:37
308
原创 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[...
2019-02-18 21:59:19
252
原创 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;...
2019-02-17 23:40:37
226
原创 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...
2019-02-16 22:23:47
244
原创 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']++; ...
2019-02-15 15:45:46
185
原创 Leetcode 刷题日记(Day1)— Array
之前有陆续刷过部分的 leetcode 题目,但为了春招做准备,决定重新按序刷一遍,也做好总结的工作,方便复习。参考的刷题顺序是 Leetcode 分类顺序表第二版 ,有一定的参考价值。LeetCode c++ 提速小技巧:关闭流同步,效果极好。static const auto speedup = []() { std::ios::sync_with_stdio(false...
2019-02-15 11:16:34
251
原创 个人网站搭建(Day 17)— Apache2 使用SSL证书,启用HTTPS
数天前发现同学在配置小程序的后台是使用到了SSL证书,想起自己网站上线数月,依旧顶着http的名头,不够安全也是略显寒酸,因此决定为我们的网站配置一波SSL证书,进入HTTPS的时代嘿嘿 参考博客:Django 开启HTTPS时代——安装证书、启用HTTPS 一、证书购买与下载 登陆阿里云的管理后台,选择云盾的SSL证书功能 购买对应的证书,选择免费类型即可 (...
2019-02-14 16:21:27
1953
1
原创 Windows-Mysql 的安装 及 由sql文件还原数据库
之前一直使用 Django框架下的 shell 以及 dbshell 来管理数据库,并没有直接接触项目的mysql数据库,今天为了学习更多的mysql基本操作,但是由不敢动服务器上的数据库(害怕不小心炸库2333),因此决定在windows下安装mysql供学习所用,总结了之前安装失败的教训之后,成功在windows下安装mysql-8.0.13数据库,并将服务器上备份出来的sql文件导入数据库,...
2019-02-14 16:21:01
941
原创 个人网站搭建(Day 16)— 小插曲:Django时区问题 时间差8小时
这篇博客讲的是一次 debug 的过程,觉得比较有意思就写一写233311.14 的早上,当我在 Lenotes 中创建一个新的 Diary 的时候呢,发现在创建当天的Diary后,还显示着 create new diary 的按钮,因为我们的页面设计导致如果存在日期为同一天的两篇 Diary 会导致时间条的混乱,因此呢,我们便开始我们的Debug之旅啦。 首先,我们登陆服务器,打开 ...
2019-02-14 16:20:24
320
原创 清除 Git 及 Github 上的敏感信息
我们在之前的博客 个人网站搭建(Day 11)— git 与 github 的使用 中有说过,Github是一个供用户使用的远程仓库,我们能够将我们的代码托管至github,但是如果我们使用的是免费版的话,那么我们的项目代码便是完全开源的。那么问题来了,我们知道 Django 项目中有一个 settings.py 文件,包含了我们项目的所有设置信息,自然包括我们的密码(比如说mysql 数据...
2019-02-14 16:19:57
1226
原创 个人网站搭建(Day 15)— 分页器的设计
唉?这篇博客应当是放到较前的位置的,因为忘了所以就在这里补上啦2333,莫介意 (´- ω ก`)今天说的是分页器的设计,随着我们的博客越写越多,在同一个页面内放下所有的博客的话,就会显得emmm,不方便阅读也不好看2333。本文参考博客:杨仕航—我的网站搭建(第3天) Django分页器 分页器的设计主要有两方面的内容:1. 博客分页处理;2. 前端相关设计 一、博客分页处理...
2019-02-14 16:18:49
342
原创 个人网站搭建(Day 14)— MySQL 的使用及数据迁移,备份
当当当,今天我们来讲一讲 MySQL 在Django项目中的使用,以及如何完成我们的项目的数据迁移,还有就是 MySQL 数据自动备份的问题。参考博客:Ubuntu 安装mysql和简单操作杨仕航 — Django使用MySQL数据库MySQL 数据库定时自动备份 主要有六个部分:MySQL 与 sqlite3 数据库的区别,MySQL 在 linux 下的安装,创建数据库...
2019-02-14 16:16:42
288
原创 个人网站搭建(Day 13)— 服务器部署(下)使用 Apache2 部署项目
在上一篇博客中,我们完成了服务器的外部配置,即相关的域名,安全组,系统选择等等。今天,我们要登陆服务器对我们的项目进行部署。我们选择的是使用 Apache2 进行部署,参考的博客是 Django 部署(Apache2) 原来的博客中排版比较乱,我们在这里整理一下,也加上自己踩的一些坑。 部署步骤 1.安装 apache2 和 mod_wsgi sudo apt-get...
2019-02-14 16:14:25
670
1
原创 个人网站搭建(Day 12)— 部署服务器(上) 服务器的基础设置
既然我们的网站已经基本成形,那么我们就来把它部署到服务器上吧,这样我们就能够通过网络访问我们的网站了。 服务器的选择服务器的选择目前来说主要有两种:1. 自己购买相应设备搭建属于自己的服务器,优点是能够根据自己的需要更改相应的配置,也便于管理;但是缺点也很明显:首先,服务器需要保持24小时开机的状态,能耗就是一个大问题,其次是环境的问题,自己搭建服务器需要从零开始,完成服务器的环境...
2019-02-14 16:13:49
789
1
原创 个人网站搭建(Day 11)— git 与 github 的使用
经过前面的开发,我们的网站也已经初步成形了,接下来的步骤就是将其部署至服务器,但是再此之前,我们要介绍一下git工具的使用。git 是由 linux 之父 Linus 开发的基于C语言的分布式版本控制系统,git 工具的诞生也是相当的有戏剧性,参考 廖雪峰 Git的诞生起因是BitMover公司因发现linux社区中有大牛试图破解BitKeeper的协议,因此要收回Linux社区的免费使用...
2019-02-14 16:12:59
232
原创 个人网站搭建(Day 10)— 博客页面右侧小栏,博文搜索功能的实现
在写了好几篇博文后,查看博客列表的页面的时候,便会发现有点过于单一,仔细思考,我们可以在右侧添加一个区域来添加不同的功能,使得我们的博客页面不会过于单调。说干就干,我们目前添加的三个功能分别是博文搜索,作者推荐以及随机推荐,后续想到其他有趣的Ideas再更新上去,这里先说说三个功能的实现: 1.博文搜索参考博客:杨仕航—我的网站搭建(第11天) 博文搜索功能的话我们做的比较...
2019-02-12 20:23:42
677
原创 个人网站搭建(Day 9)— Bootstrap4 相关问题
我们这个网站项目是基于 django + bootstrap 框架搭建的,其中的 bootstrap 是美国Twitter公司推出的基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。在django 中使用bootstrap很简单,使用 pip install django-bootstrap4 下载安装,并将 bootstrap4 ...
2019-02-12 20:22:55
962
原创 个人网站搭建(Day 8)— Django-simditor的使用以及代码高亮
Django-simditer富文本编辑器的使用我们在博客 个人网站搭建(Day 4)— My second app:blog 中提及我们改用富文本编辑器来编辑博文,今天我们就介绍一下富文本编辑器 Django-simditer 的使用。开始的时候,作者选择的是使用 django-markdownx 来编写博客,发现尽管markdown有着简洁的语法等等有点,在页面的排版等方面的支持不是很...
2019-02-12 20:20:46
1168
原创 个人网站搭建(Day 7)— My third app:lab
lab app 主要是记录作者在编程中实现的一些有趣的小程序,如果可以的话会制作web界面,否则则以打包成exe文件提供下载。除此之外,对于每一个小程序会给出源代码,以及详细的解析,希望对读者有所帮助。虽说觉得这个 lab 这个 app 并没有什么 model 2333,所以要说成 app 似乎也可太好,不过呢,处于项目结构模块化的考虑,还是作为一个独立的 app 吧。以下是目前已有的...
2019-02-12 20:14:51
211
原创 个人网站搭建(Day 6)— Django-markdownx的使用
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。 Markdown简洁的语法,以及方便转换成各种格式的特点使得它饱受好评,并且得到广泛的应用,比如github上的Readme文档便是由markdown编写的。在个人网站中我们也选择了markdown插件来丰富我们的文本编辑功能,我们就以Message为例子,具体来说明如何使我...
2019-02-12 20:12:10
1683
1
原创 个人网站搭建(Day 5)— 表单设计
尽管说我们的博客功能仅允许管理员进行编辑,但是呢,我们也需要支持用户输入,比如说comment,以及users 中用户登录等等,这时候我们就需要用到表单(form)啦。由于 blog app 中的评论不需要用到表单,因此我们使用 users app 中 userinfo 的表单 InfoForm 作为例子:from django import formsfrom users.model...
2019-02-12 20:11:09
535
原创 个人网站搭建(Day 4)— My second app:blog
今天我们来做第一个应用型的app:blog,这是个人博客功能,主要提供管理员编写/修改博客的功能,以及提供其他用户评论的功能。 blog 的 models.py 如下1)Blog是主要的模型,包含了博客应有的基本属性,注意博客的tags属性,这里涉及到数据库中的模型间的关系。模型间的关系主要有 一对一,一对多,多对多这三种。从名称上就能够知道他们之间的关联关系,具体到这个例子就是说:一...
2019-02-12 20:09:43
235
原创 个人网站搭建(Day 3)— 初探前端
完成后台的逻辑设计以及urls的设计,我们现在来尝试一下前端页面的设计,我们这一部分以html为主,之后再结合css,js的内容来改造我们的前端页面。 资料推荐网络上的参考教程有许多,这里推荐数个html教程(W3C) css教程(W3C) JavaScript教程 bootstrap中文网站前端的相关知识稍微过一遍就可以,主要是熟悉它的语法,具体的样例可以参考网上现有的...
2019-02-12 20:08:51
336
原创 个人网站搭建(Day 2)— My first app:users
我们的网站需要提供用户功能,但是又由于Django自带的用户User功能过于简单,因此我们创建 users app 来扩展用户信息以及功能。 创建app我们使用 python3 manage.py startapp users 来创建app之后需要注意的几个点有1)将我们创建的app添加到 schnee/settings.py 的 INSTALLED_APPS 中。2)将我...
2019-02-12 20:06:16
345
原创 个人网站搭建(Day 1)— Hello Django
项目简介 个人网站Schnee是基于Python的Django框架搭建而成。Django是一个由Python写成的,具有开放源代码的Web应用框架,采用 MVC(MTV)的软件设计模式,能够很方便地开发属于自己的网站。Django框架自带强大的后台管理功能,能够为开发以及维护更新提供很大的支持。初步计划中,网站主要有 Blog,Lab, Lenotes三个子模块。Blog模块为个人博客...
2019-02-12 20:02:03
358
原创 数字水印(文字嵌入)
项目起源: 微信公众号 Crossin的编程教室 中有这么一篇文章【每周一坑】图像的指纹:数字水印 + 【解答】鸡兔同笼 学习python之余发现有这么一个数字水印的技术,觉得挺好玩的于是便实现出来。 文章中的思路已经说明的很是清楚了,主要思路是我们知道图像是由一个一个的像素点构成的,而每个像素点是由rgb三原色组成,也就是说每个点可以表示为(0-255,0-255,0-2...
2018-08-31 22:45:16
7903
2
原创 Django项目 - Lenotes浅谈(未完待续)
首先,简单地介绍一下Lenotes这个项目吧,这是一个类似于在线共享文档的项目,主要的特色是支持多人共同编辑同一份文件,可以用来作为共享日记,开发记录,作业公告板等等。作为首次开发网络应用的尝试,我们在开发的过程中也遇到许多的问题,也是花费许多的功夫才完成项目的基本功能;所以呢,我想在这里,把开发过程中遇到的一些问题以及解决方法总结一下,方便新学者在开发过程中查阅,当然,由于是首次尝试开发这类型的...
2018-07-06 11:16:40
226
原创 leetcode343. Integer Break
最近leetcode好像总是被墙什么鬼哦,不管,发现一道很好玩的题目:343 Integer BreakGiven a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum p...
2018-06-30 19:41:31
307
原创 leetcode23. Merge k Sorted Lists 多种解法总结
23. Merge k Sorted ListsMerge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.Example:Input:[ 1->4->5, 1->3->4, 2->6]Output: 1->1...
2018-06-20 17:39:26
1935
原创 数据分析习题Python
本次作业是emu193教程的课后作业,来源自:https://nbviewer.jupyter.org/github/schmit/cme193-ipython-notebooks-lecture/blob/master/Exercises.ipynbPart 1For each of the four datasets...Compute the mean and variance of bot...
2018-06-11 18:28:29
2349
原创 Python scipy 部分习题
import numpy as np from scipy.linalg import lstsq m = 80n = 40 A = np.random.normal(1, 2, (m, n)) b = np.random.normal(1, 2, (m, 1)) r_norm = lstsq(A, b)[1] print(r_norm) 输出:[203.8...
2018-06-04 12:44:07
331
原创 Python matplotlib 部分习题
这一次的作业必较难,涉及到挺多的新知识,需要查阅各类的官方文档,除此之外,我还参考了其他的一些技术博客import numpy as npimport matplotlib.pyplot as pltx = np.arange(0, 2, 0.01)y = np.sin((x-2)*(np.exp(-x**2)))**2plt.plot(x, y)plt.title("Exercis...
2018-05-28 10:47:06
775
原创 Python Numpy 部分习题
Numpy 习题实战代码文件import numpy as npfrom scipy.linalg import toeplitzdef matAddMat(A): return A+Adef matMultMatT(A): return A*A.Tdef matTMuliMat(A): return A.T*Adef matMultmat(A, B):...
2018-05-19 16:20:13
529
转载 leetcode142. Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null.Note: Do not modify the linked list.Follow up:Can you solve it without using extra space?解题思路还是快慢指针,参考上图易...
2018-05-04 09:45:04
202
原创 leetcode141. Linked List Cycle
Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?# 快慢指针,若快指针能够与慢指针重合,则存在环# Definition for singly-linked list.# class ListNode(object):# ...
2018-05-04 08:56:16
155
原创 leetcode134. Gas Station
There are N gas stations along a circular route, where the amount of gas at station i is gas[i].You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i to its ne...
2018-04-30 16:36:53
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人