Django+React全栈开发:动态字段

2020-05-17
阅读 4 分钟
2k
之前我们编写了ArticleDetail这个组件,不过它目前只能显示article+ID这样一串文本,让我们修改代码,让这个组件显示实际的文章内容吧。

Django+React全栈开发:OAuth(后端部分)

2020-05-15
阅读 3 分钟
2.4k
在上一篇文章中,大家应该对验证与授权有了一定的认识,但是对于一些小型网站,自己维护一个用户系统有些多余,并且往往用户也不愿意经历麻烦的流程在小网站注册一个账户。这是很OAuth就显得很有用了,现在很多网站都会有QQ登录、微信登录等,非常方便,但是对于前后端分离的项目,使用OAuth会与传统流程有些不同,这篇...

Django+React全栈开发:自定义验证与授权

2020-05-02
阅读 10 分钟
2.3k
之前看到有不少人提问有关Django定制User的问题,正好教程准备讲到REST与OAuth,那么在这里就先说一下有关REST framework,这里就讲一下有关定制User模型以及REST framework验证授权相关的问题,不过在后续教程的实际应用中还是采用第三方登录的方式做验证授权,事实上在我的博客上已经不打算做用户功能了(感觉还是在QQ...

Django+React全栈开发:路由

2020-04-12
阅读 5 分钟
2.8k
单页应用(SPA):可能你在官方介绍create-react-app这个脚手架时已经看到了这个名词(注意不是做按摩的那个spa啊),但千万不要误以为单页面的意思是没有“可以点击的链接”的。在这里所说的单页应用实际上就是:既然我们将一个网页应用看作一堆组件的组合,那么动态的页面其实只需要动态更新显示部分组件就行,而不是像...

Django+React全栈开发:界面优化

2020-04-05
阅读 4 分钟
2.3k
不少博客都会在文章列表界面仅显示文章发布距今的时间(如下图),之前我们是粗暴地将后台传回的ISO 8601格式的时间字符串显示出来,现在我们来处理一下。

Django+React全栈开发:文章列表

2020-03-30
阅读 6 分钟
1.9k
现在我们有了一个属于文章的API,可以添加、修改、删除、查看文章,但是对于我们的网站来说,还需要一个用户界面才行。现在开始探索一下ReactJS吧。

Django+React全栈开发:视图

2020-03-22
阅读 7 分钟
2.2k
以上视图函数将列出所有已存在的Article对象,并且接受POST请求来新增文章。这里使用了装饰器csrf_exempt,因为Django为了防止CSRF攻击要求POST请求需要带上CSRF token,但是我们这里要用工具来简单测试一下,所以加上装饰器用于忽略。

Django+React全栈开发:序列化器

2020-03-21
阅读 5 分钟
1.9k
Django REST framework is a powerful and flexible toolkit for building Web APIs.

Django+React全栈开发:前置知识

2020-03-14
阅读 4 分钟
3k
这篇文章来简要讲一下在后续开发工作中可能碰到的一些概念,我会尽量将这些概念讲得易于理解,并列出一些我认为比较好的学习资源,以尽量避免读者在以后碰到这些概念时茫然无措。

Django+React全栈开发:MTV初试

2020-03-08
阅读 4 分钟
2.1k
环境配置 首先说一下我的环境: Manjaro 19.02 Python 3.8.1 Django 3.0.4 Django REST framework 3.11.0 Node 13.9.0 yarn 1.22.0 基本上我会一直保持使用最新版本(就是爱折腾),在博客上会不断更新哒。 首先新建一个项目文件夹mkdir react_drf,为了和本地环境隔离开,我们新建一个虚拟环境: {代码...} 如果你使用W...

Django+React全栈开发:前言

2020-03-07
阅读 1 分钟
3.6k
去年开始尝试用Django框架写了一个博客应用,今年想要学习React,正好想体验体验前后端分离开发。但是苦于在网上一直没找到优质(免费)的教程,搞得我无心更新,Github上次提交时间停留在了两个月前(绝不是因为懒

刷题笔记0x08:石子游戏

2020-02-22
阅读 3 分钟
1.2k
题目描述 思路 首先,我们要求的答案是两人中谁会赢,或者说最终谁手中的石子数多。 其次,我们知道两人都是高手,将发挥出最高水平,并且石子总数为奇数,一定会有人赢。 那么让我们假设f(i, j)为对于一个序列索引i到j区间内,先手玩家最大所得与后手玩家最大所得的差值。 先假设个数组piles为[2, 7, 3, 9]的例子画个图...

刷题笔记0x07:不同路径

2020-02-17
阅读 2 分钟
1.1k
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?

睡眠排序——没什么事是睡一觉解决不了的

2020-01-25
阅读 1 分钟
2.5k
新年快乐呀 前几天看到一段js代码,脑洞属实够大。 {代码...} 以上代码利用setTimeout()函数,对于要排序的数组,根据不同的数值在不同的线程中休眠不同时间在push进结果中,以此来实现排序。 这种排序算法被称为“睡眠排序”。试着用Python来写个多线程程序玩一下。 {代码...} 我没有对源数据做任何处理就将其做为time.sl...

给个人博客添加后台管理友链与全站公告功能

2019-12-29
阅读 3 分钟
1.8k
其实友情链接直接在首页页面html里面写就可以(到现在我还没有友链呢~),但是我想通过后台来管理这个数据,索性专门建了个名为extras的app。

刷题笔记0x06:双指针问题

2019-12-10
阅读 2 分钟
865
试着优化,可以试试用空间换时间,建个哈希表,遍历列表,将直接凑三个数简化为确定一个数,寻找能和它相加为0的两个数。这下时间复杂度降到了O(n2),空间复杂度O(n)。

Java笔记05:异常处理

2019-11-12
阅读 3 分钟
1.1k
程序在运行时总是会出现各种各样的错误,一个健壮的程序必须要能够处理各种各样的错误。在Java中,错误恢复机制尤其重要,因为Java的主要目标之一就是创建供他人使用的程序构件。

Django项目部署避坑指南(一)

2019-10-30
阅读 3 分钟
2.5k
这篇文章主要是要写一下我在将Django项目部署到阿里云服务器上时遇到的一些坑,将它们分享出来,希望遇到相同问题的人可以参考着解决。需要注意这不是部署教程,这里并不会教你如何部署,更不会教你如何使用Django搭建网站,这些内容可以很容易的在网上找到。

Java笔记04:面向对象基础

2019-10-11
阅读 3 分钟
929
通过继承,子类Student获得了父类Person已有的字段与方法,节省了重复编写代码的时间。Java中所有的类都继承自Object这个类,除了它自身。private关键字修饰的字段,只能在类中被访问,子类也无法访问,为了让子类也能使用父类的字段,要把修饰符改成protected。

Java笔记03:构造方法

2019-10-05
阅读 4 分钟
1.1k
编程中有两个安全性问题很常见:初始化与清理。C语言中很多的bug都是因为程序员忘记初始化导致的。清理则是另一个重要的问题,常常会有人在程序中使用了一些资源(特别是内存空间)而忘记回收。Java引入了构造器机制,每个类都有一个特殊的构造方法,当创建这个类的对象时,构造方法就会自动被调用。另外Java还使用了垃...

Java笔记02:控制流

2019-10-01
阅读 4 分钟
853
这是if判断的基本形式,和C语言没有什么差别,括号中的布尔表达式(Boolean-expression)必须要生成一个boolean类型的结果,要么是true要么是false,而花括号中的语句块只会在表达式为true时执行。

Java笔记01:从Hello World开始

2019-09-24
阅读 3 分钟
872
这个程序可以说简单了,但是有几点需要注意的地方Java遵循万物皆对象的思想,程序必须放在类中。和C语言一样,必须有main()函数来作为程序入口,但在面向对象的术语中,这里的main()要称为方法(method)。Java程序以类(class)为基本单位,public和static被称为修饰符,每个.java文件中只能有一个public类,并且这个类...

让对象明白什么是面向对象

2019-09-15
阅读 5 分钟
1.7k
之所以写下这篇文章,是因为女朋友这学期要修Java,但在这之前只接触过C语言,对于面向对象的概念一时难以理解,于是这里写一篇文章来讲一讲。我之前并没有接触过Java,原本只是打算讲讲OOP的一些概念的,不过后来还是打算开始学习一下Java,并且整理一个笔记系列,这篇文章就做个开头吧。有关Java的内容基本上是基于对...

Python函数使用技巧

2019-09-06
阅读 3 分钟
1k
如果我们想要一个可以接受任意数量参数的函数,该怎么定义呢?比如说想要一个函数,接受一组数据,并计算它们的平方值的和。当然可以直接传递列表或者元组做函数的参数:

来谈谈贪心算法

2019-08-22
阅读 4 分钟
7.7k
之前讲了动态规划,在翻阅资料的时候看到了不少谈论贪心算法的,这两种算法也很有相似之处,正好最近又做到了有关贪心的题,所以今天写篇文章来谈一谈。

来谈谈动态规划

2019-08-19
阅读 3 分钟
1.9k
在leetcode上做题时,经常会碰到有关动态规划的问题,在leetcode的题库界面可以看到有着动态规划标签的题目还是挺多的,为了搞明白这个东东,我查了不少资料,现在来整理一下思路,试试把动态规划这个概念讲清楚。

高效利用Python内置的数据结构

2019-08-11
阅读 3 分钟
1.5k
字典是Python中的一种可变容器,通常以这种形式出现:d = {key1:value1, key2:value2, key3:value3}Python没有规定字典中值的类型,所以如果想让字典中的一个键对应多个值,只要把这些值放到列表这样的容器里就行了。

滑动窗口算法

2019-08-05
阅读 2 分钟
4k
leetcode上有好几道个子字符串有关的题目,两天前看到一题要求找到字符串中所有字母异位词,题目大致意思是有s和p两个字符串,找出s中和p字母相同但顺序可以不相同的子字符串,并返回这些子串的起始索引。

Python数值处理(一)

2019-06-09
阅读 2 分钟
1.5k
round()取整 使用round()函数可以轻松的对浮点数进行取整操作。示例如下: {代码...} round()第二个参数可以是负数: {代码...} 但是要注意,这里有两个很奇怪的例子: {代码...} 可以发现,这里完全没有按照我们所熟悉的四舍五入的取整规则来。这是因为round()函数在应对这种与两个整数距离相同的情况时,会取到最近的...

排序算法(一):堆排序

2019-05-25
阅读 2 分钟
4.9k
堆(二叉堆)是一种用于实现优先队列模型的数据结构,堆具有堆序(heap order)性,每个节点的关键字都大于他的父节点的只有根除外(没有父亲),也可以是都小于,子节点与父节点的关系决定了这个堆是最小堆还是最大堆,分别可以用来做升序和降序。使用优先队列理论上可以实现花费O(N log N)时间的排序。