<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lingjiphp的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lingjiphp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lingjiphp]]></copyright><item><title><![CDATA[每天3小时学前端之JS-第06天-对象]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/120413027</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/120413027</guid><author>lingjiphp</author><pubDate>Wed, 22 Sep 2021 13:06:24 +0800</pubDate><description><![CDATA[对象

对象（object）是 JavaScript 语言的核心概念，也是最重要的数据类型。

什么是对象？简单说，对象就是一组“键值对”（key-value）的集合，是一种无序的复合数据集合。
对象的字面量生成方法
var obj = {
  foo: 'Hello',
  bar: 'World'
};

对象的键名

对象的所有键名都是字符串（ES6 又引入了 Symbol 值也可以作为键名），所以加不加引号都可以。

如果键名是数值，会被自动转为字符串。
var obj = {
  1: 'a',
]]></description><category></category></item><item><title><![CDATA[每天3小时学前端之JS-第05天-数组]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/120413018</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/120413018</guid><author>lingjiphp</author><pubDate>Wed, 22 Sep 2021 13:05:43 +0800</pubDate><description><![CDATA[数组

按次序排列的一组值。每个值的位置都有编号（从0开始），整个数组用方括号表示。

var arr = ['a', 'b', 'c'];

除了在定义时赋值，数组也可以先定义后赋值。
var arr = [];

arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';

任何类型的数据，都可以放入数组。
var arr = [
  {a: 1},
  [1, 2, 3],
  function() {return true;}
];

arr[0] // Object {a:]]></description><category></category></item><item><title><![CDATA[每天3小时学前端之JS-第04天-字符串-布尔值-undefined和null]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/120413012</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/120413012</guid><author>lingjiphp</author><pubDate>Wed, 22 Sep 2021 13:04:35 +0800</pubDate><description><![CDATA[字符串
定义

字符串就是零个或多个排在一起的字符，放在单引号或双引号之中。

'abc'
"abc"

单引号字符串的内部，可以使用双引号。双引号字符串的内部，可以使用单引号。
'key = "value"'
"Let's go!"

字符串默认只能写在一行内，分成多行将会报错。
'a
b
c'
// 报错

如果长字符串必须分成多行，可以在每一行的尾部使用反斜杠。
var str = 'abc \
def \
ghij \
klmn';

str
// "abc def ghij klmn"

输出的时]]></description><category></category></item><item><title><![CDATA[每天3小时学前端之JS-第03天-数值类型]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/120413005</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/120413005</guid><author>lingjiphp</author><pubDate>Wed, 22 Sep 2021 13:03:42 +0800</pubDate><description><![CDATA[数值
整数与浮点数
js语言的底层根本没有整数，所有数字都是小数(浮点数)
1与1.0是相同的，是同一个数。
1 === 1.0 // true
由于浮点数不是精确的值，所以涉及小数的比较和运算要特别小心。
0.1 + 0.2 === 0.3
// false

0.3 / 0.1
// 2.9999999999999996

(0.3 - 0.2) === (0.2 - 0.1)
// false


进制

js对整数提供四种进制的表示方法：十进制、十六进制、八进制、二进制。


十进制：没有前导0的数]]></description><category></category></item><item><title><![CDATA[每天3小时学前端之JS-第02天-变量基础与变量类型简介]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/120413001</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/120413001</guid><author>lingjiphp</author><pubDate>Wed, 22 Sep 2021 13:02:36 +0800</pubDate><description><![CDATA[变量基础
关键字

语言内置的用于定义语法的：var、function等

保留字

未来将要使用的关键字：enum、public等

标识符

所谓标识符，就是变量、函数、属性或函数参数的名称。

命名规范

第一个字符必须是一个字母、下划线（_）或美元符号（$）；
剩下的其他字符可以是字母、下划线、美元符号或数字。
关键字不能用来作为标识符
区分大小写

命名习惯

小驼峰：firstName。一般用在变量名、函数名等
大驼峰：Array、RegExp。一般用在类库、构造函数等

字面量与变量

字面量]]></description><category></category></item><item><title><![CDATA[每天3小时学前端之JS-第01天-初识JS]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/120412968</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/120412968</guid><author>lingjiphp</author><pubDate>Wed, 22 Sep 2021 12:58:53 +0800</pubDate><description><![CDATA[初识JS
标记语言与编程语言

跟之前学过的HTML和CSS不同，JavaScript才算是一门真正意义上的编程语言

#mermaid-svg-r0fSP2RnYakYi3od .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-r0fSP2RnYakYi3od .label text{fill:#333}#mer]]></description><category></category></item><item><title><![CDATA[Flask09——数据库迁移]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/90735556</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/90735556</guid><author>lingjiphp</author><pubDate>Sun, 02 Jun 2019 04:02:32 +0800</pubDate><description><![CDATA[我们在开发软件的时候往往会有这样的情况，数据库里面的表不是一下子全部键好的，往往是随着开发功能的增加，会不断的增加新表，新的字段，而我们之前也讲了清空表的语句drop_all，创建表的语句creat_all，我们好像可以通过这两个语句对表进行更改，添加新的字段，新的表。
但是，大家有没有想过一个问题，我们每次要添加新的字段的时候都要将表数据全部清空，这就意味着我们要删除之前的数据，再重新建立表结构...]]></description><category></category></item><item><title><![CDATA[Flask08——数据库操作-增删改查作者书籍]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/90732411</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/90732411</guid><author>lingjiphp</author><pubDate>Sat, 01 Jun 2019 19:04:32 +0800</pubDate><description><![CDATA[文章目录增加书籍表修改所有作者模板添加书籍作者书籍方法一作者书籍方法二编辑书籍删除单本书籍批量删除多本书籍修改删除作者
增加书籍表
下面我们用flask_sqlalchemy提供的建表语句来通过类的形式创建表。
class Author(db.Model):
    id = db.Column(db.Integer, primary_key=True, comment='作者主键ID')
   ...]]></description><category></category></item><item><title><![CDATA[Flask01——最小实例及路由传参]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/89477266</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/89477266</guid><author>lingjiphp</author><pubDate>Mon, 27 May 2019 01:12:31 +0800</pubDate><description><![CDATA[写在最前适合人群：Web开发从黑窗口到浏览器web框架怎么实现网站开发的最小实例刚才发生了什么？
适合人群：
本教程适合于掌握了Python的基础语法，掌握了基本的MySQL语法，了解HTML，CSS，JS等前端技术，了解基本的Web技术原理，了解HTTP协议更好。
Web开发
早起提到web开发，一般指网站开发，当然现在web开发包括的范围更广了，包括电脑端网站，移动端（手机、平板等）网站，Ap...]]></description><category></category></item><item><title><![CDATA[Flask10——蓝图]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/90183043</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/90183043</guid><author>lingjiphp</author><pubDate>Mon, 13 May 2019 23:21:43 +0800</pubDate><description><![CDATA[截止目前为止，我们所写的所有视图函数都放在一个文件当中，对于我们开发一个非常小的应用的话，还勉强可以接受，但是在我们真正的开发中，我们可能会需要开发前台应用，后台应用，我们也可能需要操作不同的表，那么，为了便于日后的维护，一般我们会根据不同的功能模块，将文件按功能模块，或者按操作的表的不同来拆分我们的文件到不同的文件当中。下面就仿照真实的开发需求，来模拟一下我们需要解决的问题，已经需要怎么解决。
...]]></description><category></category></item><item><title><![CDATA[Flask07——数据库操作-增删改查作者]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/89865557</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/89865557</guid><author>lingjiphp</author><pubDate>Mon, 06 May 2019 06:23:18 +0800</pubDate><description><![CDATA[终于到了我们要操作数据库的时候了，接下来的学习将会让你更有成就感，学完了基础的枯燥的语法，现在就到了我们去做一些功能的时候了，我们在网上看到的形形色色的网站从技术上来说其实可以包括两大块：代码实现业务逻辑，数据库保存真实的数据。两者有机的配合才得以形成了我们看到的各种网站。具体数据该怎么展示，这就是代码要做的事情了，这就是我们经常会用到的查询数据。另外，当然还有访问者与网站的交互，可能会添加新数据...]]></description><category></category></item><item><title><![CDATA[Flask06——Jinja2模板引擎]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/89815124</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/89815124</guid><author>lingjiphp</author><pubDate>Sun, 05 May 2019 00:07:43 +0800</pubDate><description><![CDATA[文章目录为什么要用模板模板的功能如何调用模板和传递变量过滤器自定义过滤器模板中定义宏模板的继承包含模板中访问内置函数和对象flash闪现
为什么要用模板
到目前为止，我们的视图函数返回的一直是简单的字符串，而我们很清楚的知道，我们的flask框架是做web开发的，也就是要做出来漂亮的页面出来，可是我们现在仅仅只返回了几个字符串，好像跟我们所预想的网站相差甚远。我们要怎样做出我们所看到的各种绚丽多彩...]]></description><category></category></item><item><title><![CDATA[Flask05——请求钩子和异常捕获]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/89785265</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/89785265</guid><author>lingjiphp</author><pubDate>Fri, 03 May 2019 10:57:15 +0800</pubDate><description><![CDATA[文章目录请求钩子请求钩子执行先后顺序before_request的拦截作用统计网站浏览次数记录最后访问网站时间限制指定IP访问异常捕获
我们在写项目的时候往往会有一些全局性的需求，比如在应用启动之初初始化一些数据，建立数据库链接等。对发起的所有请求记录一些数据，对某些请求进行一些拦截。在请求结束的时候自定义响应数据等。
请求钩子
针对这些全局性的需求，flask框架提供了请求钩子，所谓请求钩子就是...]]></description><category></category></item><item><title><![CDATA[Flask04——请求上下文和应用上下文]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/89742907</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/89742907</guid><author>lingjiphp</author><pubDate>Thu, 02 May 2019 11:58:27 +0800</pubDate><description><![CDATA[在flask框架中，引入了上下文的概念，为了能够让大家真实的感受到上下文在flask框架中所起到的作用，所以下面我就用一个具体的需求实例来给大家进行说明，首先在我不使用上下文思路的情况下来解决这一需求，然后再改造成使用了上下文的方式，那么我们就可以更好的来对比前后的不同，从而感受到上下文的作用、原理、以及给我们带来的好处。
在实际的开发中，当用户登录之后，就会把用户登录时候的时间，IP地址这些数据...]]></description><category></category></item><item><title><![CDATA[Flask03——cookie和session]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/89702488</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/89702488</guid><author>lingjiphp</author><pubDate>Tue, 30 Apr 2019 06:53:00 +0800</pubDate><description><![CDATA[@ cot
cookie技术的必要性
今天来讲一个在现今web应用中，最最基础和最最重要的技术点，几乎没有他们就无法促成web技术的推广和应用，他们就是cookie和session一对孪生兄弟。先说一下他们诞生的存在的必要性。
我们在浏览网站的时候，访问每一个页面都需要使用“http协议”来实现。而http协议时无状态的协议，就是说http协议没有一个内部的机制来维护两次请求之间的状态保持。也就是...]]></description><category></category></item><item><title><![CDATA[Flask02——request请求及传递接收参数]]></title><link>https://blog.youkuaiyun.com/lingjiphp/article/details/89599550</link><guid>https://blog.youkuaiyun.com/lingjiphp/article/details/89599550</guid><author>lingjiphp</author><pubDate>Sat, 27 Apr 2019 17:27:39 +0800</pubDate><description><![CDATA[GET和POST
上一讲，我们已经介绍了flask的最小实例，我们已经可以通过浏览器来请求访问视图函数了，细心的同学应该可以发现我们在浏览器中输入的请求地址前面带的有http://，这也是我们在网上浏览各种网站的时候经常见到的。这就是http协议，它告诉浏览器要通过什么协议去服务器请求数据。当然http协议包含很多内容，我们在此只讨论我们眼前需要了解的一些技术点。
首先提到http协议就不得不说一...]]></description><category></category></item></channel></rss>