- 博客(60)
- 收藏
- 关注
转载 React基础
1.脚手架npx create-react-app appName2.JSX是什么?JSX是一种JS语法扩展,可以在JS中编写类似于HTML的语法。需要明确的是,JSX本质是语法糖,我们写的并非是真正的HTML。3.React组件的存在形式有两种存在形式:函数组件 和 类组件。下面的例子中它们是等价的。function App() { retur...
2019-10-07 15:58:00 181
转载 Django REST Framework之权限组件
权限控制是如何实现的?一般来说,先有认证才有权限,也就是用户登录后才能判断其权限,未登录用户给他一个默认权限。Django接收到一个请求,首先经过权限的检查,如果通过检查,拥有访问的权限,则予以放行,进入到视图处理。如果没有通过检查,不会进入视图层,直接返回前端相应信息。使用权限控制权限控制类:class MyPermission(BasePermission):...
2019-09-29 21:13:00 260
转载 Django REST Framework之版本控制
何谓版本控制?为什么需要版本控制?一个项目在升级迭代的时候,不会立马抛弃旧的版本,甚至会出现多个版本共存同时维护的情况,因此需要版本控制。版本控制做了什么?版本控制做的事情很简单,在前后端分离的情况下,只是对请求做判断,判断这是哪个版本的请求,然后将版本信息封装入request对象中。自定义版本控制类1.settings.py配置REST_FRAMEWOR...
2019-09-29 14:21:00 360
转载 Django REST Framework之频率限制
开放平台的API接口调用需要限制其频率,以节约服务器资源和避免恶意的频繁调用使用自定义频率限制组件:utils/thottle.pyclass MyThrottle(BaseThrottle): def __init__(self): self.history = None def allow_request(self, re...
2019-09-28 17:07:00 563
转载 Django REST Framework之认证组件
什么是认证认证即需要知道是谁在访问服务器,需要有一个合法身份。认证的方式可以有很多种,例如session+cookie、token等,这里以token为例。如果请求中没有token,我们认为这是未登录状态,有些接口要求必须登录才能访问,如果未登录,我们可以一些处理(比如重定向登录页、返回错误信息等)。代码结构urls.pyfrom django.conf.urls i...
2019-09-28 16:33:00 192
转载 Django REST Framework序列化器
Django序列化和json模块的序列化从数据库中取出数据后,虽然不能直接将queryset和model对象以及datetime类型序列化,但都可以将其转化成可以序列化的类型,再序列化。功能需求都能做到,但是比较麻烦,每次需要手动实现。且取出的数据还需要进行转化,比如某些字段在存储时将汉字转化成数字,取出来后要将数字转化成汉字,这都是需要每次手动操作。Django REST ...
2019-09-28 16:24:00 153
转载 webpack4进阶配置
移动端CSS px自动转换成rem需要两步来实现:px2rem-loader 在构建阶段将px转换成remlib-flexible 页面渲染时动态计算根元素的font-size值(手机淘宝开源库)下载插件并配置:npm i px2rem-loader lib-flexiblemodule: { rules: [ { ...
2019-09-23 14:20:00 426
转载 Django REST Framework概述
什么是RESTREST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”。这里说的表征性,就是指资源,通常我们称为资源状态转移。什么是资源?网络上所有的文本、图片、视频等实体,都是资源。除了实体,还可以是抽象概念,比如某人的手机号、住址等。找到某个资源,需要URL,统一资源定位符。...
2019-09-21 11:38:00 117
转载 webpack4配置基础
前言为什么要使用构建工具?1.转换ES6语法(很多老版本的浏览器不支持新语法) 2.转换JSX 3.CSS前缀补全/预处理器 4.压缩混淆(将代码逻辑尽可能地隐藏起来) 5.图片压缩 6.....为什么选择webpack?社区生态丰富配置灵活、插件化扩展官方更新迭代速度快基础概念默认的配置文件是weback.config.js,在pack...
2019-09-20 22:49:00 186
转载 TypeScript && React
环境搭建我们当然可以先用脚手架搭建React项目,然后手动配置成支持TypeScript的环境,虽然比较麻烦,但可以让你更清楚整个过程。这里比较麻烦,就不演示了,直接用命令配置好。npx create-react-app appname --typescript可以安装一些自己需要的库及其声明文件,例如react-router-dom、axios、ant Design...
2019-09-15 17:51:00 111
转载 使用Jest进行单元测试
Jest是Facebook推出的一款单元测试工具。安装npm install --save-dev jest ts-jest @types/jest在package.json中添加脚本:“test”: "jest"生成Jest配置文件(生成jest.config.js)npx ts-jest config:init使用先简单编写一个...
2019-09-14 23:13:00 479
转载 如何在TypeScript中使用JS类库
使用流程1.首先要清除类库是什么类型,不同的类库有不同的使用方式2.寻找声明文件JS类库一般有三类:全局类库、模块类库、UMD库。例如,jQuery是一种UMD库,既可以通过全局方式来引用,也可以模块化引用。声明文件当我们要使用一个类库时,需要ts声明文件,对外暴露API,有时候声明文件在源码中,大部分是单独提供额外安装。比如jQuery需要额外安装类型声明包。幸...
2019-09-14 21:31:00 1108
转载 TypeScript模块系统、命名空间、声明合并
命名空间命名空间能有效避免全局污染。在ES6引入模块之后,命名空间就较少被提及了。如果使用了全局的类库,命名空间仍是一个好的解决方案。namespace Shape{ const pi = Math.PI; // 使用export关键字导出,可以在全局空间内可见 export function circle(r: number) { re...
2019-09-14 19:28:00 635
转载 TypeScript高级类型
交叉类型将多个类型合并成一个类型,去两个类型的并集。与继承的区别是,继承可以有自己的属性,而交叉没有。interface DogInterface { run():void}interface CatInterface { jump():void}let pet: DogInterface & CatInterface = { // 看...
2019-09-14 16:33:00 192
转载 TypeScript类型检查机制
类型推断指不需要指定变量的类型,TS编译器可以根据某些规则自动推断出类型。什么时候会有类型推断?声明变量时没有指定类型函数默认参数函数返回值......let a; // 这时自动推断为any类型let b = 1; // 推断为number类型let c = []; // 推断为由any类型构成的数组let d = (x=1) =&g...
2019-09-14 15:12:00 352
转载 TypeScript泛型
泛型的概念指不预先确定的数据类型,具体的类型要在使用的时候才能确定。咋一听,是不是觉得JavaScript本身就是这样?这是由于理解有误。前面说“在使用的时候确定”,而非在程序执行的时候确定。泛型函数现在有个需求:一个被定义的函数原本输入字符串输出字符串,现在想让它同时支持输入输出字符串数组,如何实现?1.通过函数重载// 函数调用时依照声明的顺序进行匹配fu...
2019-09-14 11:11:00 98
转载 React-router总结
版本v3和v4有一些差距:https://blog.csdn.net/qq_35484341/article/details/80500237以下的总结,都是基于V4的官方文档:https://reacttraining.com/react-router/web/guides/quick-start核心组件和用法<BrowserRouter/> ...
2019-09-12 11:31:00 165
转载 TypeScript语法基础
什么是TypeScript?TypeScript是微软开发的一门编程语言,它是JavaScript的超集,即它基于JavaScript,拓展了JavaScript的语法,遵循ECMAScript规范(ES6/7/8+)。TypeScript = Type + Script(标准JS),它可以编译成纯JavaScript,已经存在的JavaScript也可以不加改动地在TS的环境上...
2019-09-06 20:00:00 1215
转载 React高阶组件 和 Render Props
高阶组件本质本质是函数,将组件作为接收参数,返回一个新的组件。HOC本身不是React API,是一种基于React组合的特而形成的设计模式。解决的问题(作用)一句话概括:功能的复用,减少代码冗余进一步解释:在实际情况中,多个组件可能会做某些相同的事情,有着相同的功能,存在大量的代码冗余。我们可以将这部分功能拆分出来,每个组件尽量只保留自己独有的作用,通过HOC生...
2019-09-02 21:02:00 709
转载 JavaScript异步
JavaScript异步类型延迟类型:setTimeout、setInterval、setImmediate监听事件:监听new Image加载状态、监听script加载状态、监听iframe加载状态、Message带有异步功能类型: Promise、ajax、Worker、async/awaitJavaScript常用异步编程Promise Prom...
2019-08-30 21:17:00 77
转载 CSS预处理——LESS
LESS是什么? less是一门CSS预处理语言。由于CSS本身并不是程序式语言,不方便维护和扩展,没有变量、函数、作用域等概念。而LESS在CSS的基础语法之上,引入了变量、Mixin混入、运算以及函数等功能,大大简化了CSS的编写,降低了CSS的维护成本。 本质上,LESS包含一套自定义的语法及一个解析器,写好的LESS文件会通过解析器编译生成CSS文件。LESS并...
2019-08-27 18:25:00 155
转载 JavaScript字符串、数组、对象方法总结
字符串方法示例字符串:const str = "hello,kitty,hello,vue ";一、基本方法charAt() 返回指定索引的字符startsWith() 判断字符串是否以xxx开头,返回布尔值endsWith() 判断字符串是否以xxx结尾,返回布尔值padStart() 头部补全,返回新字符串pa...
2019-08-24 20:36:00 109
转载 HTML文件上传与下载
文件下载传统的文件下载有两种方法:使用<a/>标签,href属性直接连接到服务器的文件路径window.location.href="url"这两种方法效果一样。但有个很大的问题,如果下载出现异常(连接路径失效、文件不存在、网络问题等),会导致原本的页面被覆盖掉,显示404等错误信息。大致的优化思路如下:使用<a/>标签HTML...
2019-08-18 19:47:00 352
转载 Nginx反向代理解决iframe跨域问题
前言 这几天有个需求:做个表单页面,要求后台人员能自定义发布表单,用户来填写表单。我一想,这不麦克表单有现成的吗,拿来就用!发布表单后,可以选择使用iframe方式嵌入网站,一切顺利。 当时的网站是http协议,后来升级了https,发现完全加载不出来。原因是浏览器的安全限制,在https协议下不允许有http的iframe请求。然而,除了交钱,...
2019-04-28 20:29:00 3205
转载 网站升级HTTPS后WebSocket不能连接的问题
一、前端代码var socket = new WebSocket("wss://www.smcic.cn/wss/");注意点:如果网站使用HTTPS,WebSocket必须要使用wss协议;使用wss协议的连接请求必须只能写域名,而非IP+端口;建议在URL域名后面为websocket定义一个路径,本例中是/wss/;二、Nginx配置前提是...
2019-04-27 22:11:00 4573
转载 网站通信协议升级到HTTPS&HTTP2
为何要升级到HTTPS和HTTP2?http://baijiahao.baidu.com/s?id=1602041305989767011&wfr=spider&for=pchttps://www.jianshu.com/p/67c541a421f9https://segmentfault.com/a/1190000019891825HTTPS一、所需...
2019-04-21 21:03:00 382
转载 HTML5 本地存储
早期Web使用cookie在浏览器端保存数据,但存在以下问题:cookie的大小限制在4KB浏览器会限制所有站点在计算机上的存储cookie总数cookie会随着每次HTTP事务一起发送,会浪费一部分带宽HTML5提供了WebStorage本地存储、IndexedDB本地数据库等,能够存储更多更复杂的数据。一、WebStorageWebStorage以Ke...
2019-04-20 13:02:00 113
转载 微信公众平台——分享接口踩坑记
前言本以为有微信公众平台开发文档,自定义分享样式还不简单?带着这样的想法,经历了两天半的踩坑经历,我写下了这篇文章。开发分享接口在目录中: 微信网页开发 --> 微信SDK说明文档中流程摘要一、按照文档,第一步要绑定安全域名,即“JS接口安全域名”(此处标记1号坑)二、第二步引入JS文件,需要下载并将其上传到服务器。这里要注意,在第一步中绑定的域名(路径)要能够...
2019-04-10 20:37:00 796
转载 HTML5移动端触摸事件
一、移动端事件问题1.click事件300ms延迟问题2007年第一代iphone发布,移动端Safari首创双击缩放功能,原理是click一次后,经过300ms之后检测是否再有一次click,如果有就会缩放,如果没有则是一个click事件。所以cilck操作会有卡顿感觉。2.dblclick事件失效由于双击缩放的存在,移动端的dblclick事件也失效了。二、移动端...
2019-01-01 21:58:00 166
转载 前端——CSS
CSSCSS是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化。存在方式有三种:元素内联、页面嵌入和外部导入,比较三种方式的优缺点。语法:style = "key1:value1;key2:value2;"在标签中使用 style="xx:xxx;"(任何一个标签都可以使用style属性来编写样式)在页面中嵌入 < ...
2018-12-30 22:13:00 160
转载 DOM中获取宽高、位置总结
原生JS一、文档、窗口的宽高和位置// 获取屏幕的宽高window.screen.height | window.screen.width// 屏幕可用工作区宽高window.screen.availHeight | window.screen.availWidth// 浏览器窗口可见区域宽高window.innerHeight ≈ documen...
2018-12-30 21:18:00 225
转载 Python异常处理总结
一、何谓异常处理 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的。异常的出现一方面是因为写代码时粗心导致的语法错误,这种错误在程序编译时就可以发现;另一方面也可能是因为程序逻辑错误,这种错误往往是不可避免地,只能通过异常处理来防止程序退出。二、异常类型 Python自带的异常处理机制非常强大...
2018-12-22 14:57:00 254
转载 Django Template(模板)
一、模板组成组成:HTML代码 + 逻辑控制代码二、逻辑控制代码的组成1.变量语法格式 : {{ name }} # 使用双大括号来引用变量1.Template和Context对象(不推荐使用)from django.template import Context, Template t = Template('My name is {{ n...
2018-12-18 21:40:00 190
转载 Django view(视图)
在Django MTV模式中,View视图负责业务逻辑部分,路由系统接收到HTTP请求,并将任务分配给相应的视图函数,由视图函数来负责响应这个请求。无论视图本身包含什么逻辑,都要返回响应。在这里HTTP请求中产生两个核心对象:HTTP请求:HttpRequest对象HTTP响应:HttpResponse对象所在位置:django.http在Django项目中,...
2018-11-17 15:49:00 102
转载 Django ORM
什么是ORM?MVC框架中重要的一部分就是ORM,实现了数据模型与数据库的解耦,即数据模型不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库。ORM是对象关系映射的简称,主要任务是:根据对象的类型生成表结构将对象、列表操作,转换成SQL语句(或其他数据库的语句)将SQL查询到的结果转换为对象、列表 类名对应 ------&...
2018-10-19 21:44:00 121
转载 Django 路由系统(URLconf)
URLconf是什么?URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的view函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。urlpatterns = [ url(正则表达式, views视图函数,参数,别名), re_path(正则表达式,...
2018-10-10 20:07:00 389
转载 Django简介
Django是一种基于Python的Web开发框架什么是web框架?框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演。对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。最简单的Web应用就是先把HTML用...
2018-10-09 20:27:00 179
转载 Ubuntu 18.04安装MySQL指南
前言Ubuntu18.04想要安装MySQL,只能安装MySQL8.0版本。如果你直接 apt-get install mysql-server 安装,那么恭喜踩坑!先给出彻底删除mysql5.x的命令:#下面命令依次执行sudo rm /var/lib/mysql/ -R # 删除数据库目录sudo rm /etc/mysql/ -R ...
2018-09-20 20:02:00 99
转载 前端——jQuery
初识jQuery什么是jQuery?jQuery就是JavaScript和Query,是辅助JavaScript开发的库,应用广泛,形成了行业标准。它对DOM操作做了很好的封装,我们可以用jQuery非常方便地来代替DOM操作。为什么要使用jQuery?轻量级,最新版本的大小只有85KB;功能强大的选择器;出色的DOM封装;兼容性好(可以在不同浏览器使用);可靠的事件处理...
2018-08-31 19:09:00 205
转载 前端——DOM
什么是DOM?DOM是W3C(万维网联盟)的标准,是Document Object Model(文档对象模型)的缩写,它定义了访问HTML和XML文档的标准:“W3C文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。”DOM标准被分为三个不同的部分:核心 DOM - 针对任何结构化文档的标准模型XM...
2018-08-13 10:16:00 192
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人