微信小程序~.Json配置
json配置可以分为:
1、app.json
2、page.json
一、app.json
app.json文件用来对微信小程序进行全局配置
{
"pages": [
"pages/index/index",
"pages/logs/index"
],
//调试快捷键:将鼠标点击到需要调试的页面,按住Alt同时按上键,这时,需要调试的页面就会一行一行的向上移动...
微信小程序~表单提交、验证
在wxml中:
<form bindsubmit="formSubmit" bindreset="formReset">
<input type="text" name="name_1"></input>
<button form-type='submit'>登录</button&
18.04ubuntu下使用github简单介绍
18.04ubuntu下简单使用github流程
由于之前一直用的是Windows的,因为开发原因换到Ubuntu下,想总结一下使用过程:
第一步安装git
:~$ sudo apt-get install git
第二步配置你的设置你的密码
:~$ git config –global user.name “Your Name”
第三步配置你的邮箱
...
Python网络编程之进程与线程(一)
网络编程
假如有俩程序,第一个程序执行到一半,需要I/O操作,这时候需要切换到第二个程序,“切换”引发的问题涉及到状态的保存,状态的恢复,加上俩程序所需要的系统资源(如内存,硬盘,磁盘等)是不一样的。自然而然就需要一个东西区记录俩程序分别需要的资源,怎么识别俩程序等等。所以就有了一个叫进程的抽象。
进程
进程定义:
进程就是一个程序在一个数据集上的一次动态执行过程(抽象的概念)。
进程一...
python网络编程之GIL和同步锁(二)
Python之GIL
问题:俩程序,在里面同时定义俩函数,执行1到100000的加法和执行100000阶乘,一个程序用多线程,一个正常执行,用python2.7运行(python3.5及以上有优化不明显,python2.7明显),会发现多进程的竟然比正常执行的时间长。
原因:多线程不能真正让多核CPU实现并行,cpython解释器中存在一个GIL(全局解释器锁),他的作用就是保证同一时刻只有一...
python基于centos云服务器的简单高并发部署
使用nginx的简单云服务器部署
1.申请云主机:
a.阿里云 (注意:阿里云的服务器需要手动添加安全规则使能80端口)
b.腾讯云
2.把网站服务器程序拷贝到云主机:
lzy@lzy-ThinkPad-E460:~/uplooking$ scp 03IotServer.tar.bz2 [email protected]:/root
...
python算法之快速排列(Quicksort)
python 实现快速排列算法(Quicksort)
快速排列算法:
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
快速排列思想:
1、取一个参考值放到列表中间,初...
python算法之堆排序(Heapsort)
python 实现堆排序算法(Heapsort)
堆排序算法:
堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根...
python算法之归并排序
python实现归并排序(MERGE-SORT)
归并排序:
归并排序从字面意思来看,有两个过程:“归”和“并”。“归”是递归的意思,“并”当然是合并的意思。
“归”。递归是归并排序的核心思想。其基本思想是对于一个无序的序列我们总是可以将它一分为二。直到切分出来的序列有序。按照这个分法,我们总可以通过有限步的切分,将待排序序列切分成若干个有序的子序列。然后通过递归的逆过程,将切分出来的有序...
python网络编程之死锁与递归锁、信号量(三)
python之死锁与递归锁
说到递归锁就要先说到死锁,下面给出死锁的定义:
在线程间共享多个资源的时候,如果俩个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁,因为系统判断这部分资源正在使用,所以这俩线程在无外力作用下将一直等待下去。
死锁代码示例:
import threading
import time
class MyThread(threading.Thread...
python网络编程之线程队列(queue)
多线程利器——队列(queue)
首先来看一个示例:
import threading
import time
li = [1,2,3,4,5]
def pri():
while li:
a = li[-1]
print(a)
time.sleep(1)
try:
li.remove(a)
...
python算法之Dijkstra算法(迪杰斯特拉)——最短路径问题
python算法之Dijkstra
Dijkstra算法是由荷兰计算机科学家迪杰斯特拉(Dijkstra)于1959 年提出的,因此又叫迪杰斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。
实现原理:
每次新扩展一个距离最短的点,更新与其相邻的点的距离。当所有边权都为正时,由于不会存在一个距离更短的没扩展过的点,所以这个点的距离永远不会再被改变,因而保证了算...
python网络编程之多进程模块multiprocessing(四)
python多进程模块
由于GIL的存在,python的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。
multiprocessing包是python的多进程管理包。与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程。该进程可以运行在python程序内部编写的函数。该P...
python网络编程之进程通信(五)
进程通信
进程队列Queue:
from multiprocessing import Process,Queue#进程队列
def info(q):
q.put(123)
q.put('huang')
if __name__ == '__main__':
q = Queue()#进程队列
p = Process(target=info,args=(...
python网络编程之进程池(六)
进程池
进程池:
进程池内部维护一个进程序列,当使用时,则去进程池中获取一个进程,如果进程池序列中没有可供使用的进程,那么程序就会等待,直到进程池中有可用进程为止。
进程池中有俩个方法:
apply(同步 一般不用)
apply_async(异步)
进程池示例:
from multiprocessing import Process,Pool
import time,os
d...
python网络编程之协程(七)
协程(协作式,非抢占式,进程线程都是抢占式)
协程:又称微线程,纤程。英文名Coroutine。
优点:
协程极高的执行效率。因为子程序切换不是线程切换,而是程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。
不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。...
python网络编程之事件驱动模型以及IO阻塞,IO非阻塞,IO多路复用,异步IO(八)
事件驱动模型
上节问题:
协程:遇到IO操作就切换
问题:它是什么时候切换回来的?怎么确定IO操作完了?
在UI编程中,常常要对鼠标点击进行响应,首先如何获得鼠标点击呢?两种方式:
1.创建一个线程循环检测是否有鼠标点击
那么这个方式有以下几个缺点:
CPU资源浪费,可能鼠标点击的频率非常小,但是扫描线程还是会一直循环检测,这会造成很多的CPU资源浪费;如果扫描鼠标点击的接口是阻塞...
@classmethod 与 @staticmethod
@classmethod:当类中的方法只使用类中的资源,即方法中不需要用到self来传递信息,那么可以将这个方法装饰成类方法,这样的方法里的默认参数会变成cls,cls用来传递当前的类,self用来传递当前类的实例。这样子可以直接用类名操作类中的私有属性。 @staticmethod:当一个程序只允许用面向对象编程时,所有的函数都要写在类里,这种普通函数,没有用到类命名空间和对象命名空间的信息的函数,可以用@static method进行伪装,就不会传入self或cls默认参数。 class
今日推荐
周排行