target

爬虫学习笔记-多线程(1)

我怕爱的太早我们不能终老 提交于 2020-03-09 13:40:48
一个线程只属于一个进程 一个进程可以有多个线程 在进程内部,如果要干多个事情,就需要运行多个子任务,这些子任务叫线程,线程共享所属进程地内存空间 模块: 1,_thrad模块 低级模块 2,threading模块 高级模块,对低级模块进行封装 普通实例 import threading , time def run ( num ) : print ( '子线程(%s)开始' % ( threading . current_thread ( ) . name ) ) time . sleep ( 2 ) print ( '打印' , num ) time . sleep ( 2 ) print ( '子线程(%s)结束' % ( threading . current_thread ( ) . name ) ) if __name__ == '__main__' : print ( '主线程(%s)开始' % ( threading . current_thread ( ) . name ) ) t = threading . Thread ( target = run , name = 'runthread' , args = ( 1 , ) ) #target为这个主线程要执行地函数名字 #args为要传入的函数参数 #用t这个变量接收线程 t . start ( ) #运行线程

Hi35xx NVR GDB调试

Deadly 提交于 2020-03-09 07:30:00
Hi35xx NVR GDB调试 1. 下载 gdb 源代码 嵌入式 Linux 的 GDB 调试环境由 Host 和 Target 两部分组成, Host 端使用 arm - linuxgdb , T arget Board 端使用 gdbserver 。这样,应用程序在嵌入式目标系统上执行。而 gdb 调试在 Host 端,所以要採用远程调试 (remote) 的方法。进行 GDB 调试。目标系统必须包含 gdbserver 程序 ( 在主机上正对硬件平台编译成功后下载到目标机上 ) ,宿主机也必须安装 GDB 程序。 一般 Linux 发行版中都有一个能够执行的 GDB ,但开发者不能直接使用该发行版中的 GDB 来做远程调试,而要获取 GDB 的源码包。针对 arm 平台作一个简单配置,又一次编译得到对应 GDB 。 GDB 的源码包能够从 http://www.gnu.org/software/gdb/download/ http://ftp.gnu.org/gnu/gdb/ 211.95.105.202 : 3128 能够上去的,全部的版本号都有啊 http: //ftp.cs.pu.edu.tw/linux/sourceware/gdb/releases/ 下载 ftp://ftp.gnu.org/gnu/gdb 外网的 ftp 我常常上不去

Ant中如何添加第三方jar包依赖

♀尐吖头ヾ 提交于 2020-03-08 22:16:23
如果使用ant进行java项目的编译部署,那怎么添加第三方jar包的依赖呢?方法如下: 1.在项目的更目录下创建lib目录,并把所有需要的第三方jar包放到此目录下。 2.在build.xml中依次添加:path、property,并在javac中添加classpath,添加unjar。完整配置如下: <?xml version="1.0" encoding="UTF-8"?> <project name="MyTool" default="build" basedir="."> <description>The ant project to build MyTool.</description> <property name="srcDir" location="src" description="源文件的存放目录" /> <property name="libDir" location="lib" description="第三方jar包的存放目录" /> <property name="antDir" location="ant" description="编译后所有文件存放的根目录" /> <property name="binDir" location="${antDir}/bin" description="编译后class文件的存放目录" /> <property

ES6新特性——Proxy代理

只愿长相守 提交于 2020-03-08 22:11:34
Proxy如其名, 它的作用是在对象和和对象的属性值之间设置一个代理,获取该对象的值或者设置该对象的值, 以及实例化等等多种操作, 都会被拦截住, 经过这一层我们可以统一处理,我们可以认为它就是“代理器” 。 let obj = new Proxy(target, handler); Proxy 是一个构造函数, 使用 new Proxy 创建代理器, 它的第一个参数 target 是要包装的目标对象 Proxy 。它可以是任何类型的对象,包括本机数组,函数或甚至另一个代理,第二个参数 handler 也为一个对象, 返回被包裹后的代理器。举个例子: //被代理的对象 let item = { userName:'don', age:18 } //代理对象 let proxyItem = new Proxy(item, { get : function( target , prop ) { console.log("我要获取值了"); return target[prop]; }, set : function( target, prop, value) { console.log("我要设置值了"); target[prop] = value; return true } }); obj.userName = 'alice'; // 我要设置值了 console.log(obj

线程的启动和终止

拥有回忆 提交于 2020-03-08 20:03:34
python中的进程和线程 进程:资源的容器,会启动一个解释器进程,里面跑你的程序,多线程共享同一个解释器进程 线程:干活的 python的线程开发 使用标准库threading 我们来敲一个小demo来测试一下什么是多线程编程 import threading import time def worker ( ) : count = 0 while True : print ( "I am working" ) count += 1 if count > 10 : break t = threading . Thread ( target = worker ) # 创建新的线程 t . start ( ) print ( "====fin====" ) 返回结果 我们来对比一下以下代码 import threading import time def worker ( ) : count = 0 while True : print ( "I am working" ) count += 1 if count > 10 : break t = threading . Thread ( target = worker ) # 创建新的线程 if __name__ == "__main__" : print ( "====fin====" ) t . start ( ) 返回结果

C++实现 | 和为s的两个数字

让人想犯罪 __ 提交于 2020-03-08 17:45:25
C++实现 | 和为s的两个数字 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[2,7] 或者 [7,2] 示例 2: 输入:nums = [10,26,30,31,47,60], target = 40 输出:[10,30] 或者 [30,10] 限制: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^6 来源:力扣(LeetCode) 链接: https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 class Solution { public : vector < int > twoSum ( vector < int > & nums , int target ) { vector < int > v ; int i = 0 ; int j = nums . size ( ) - 1 ; while ( i < j ) { int sum = nums [ i ] + nums [ j ] ; if ( sum > target

spring——AOP原理及源码五【系列完】

为君一笑 提交于 2020-03-08 17:33:44
前情回顾:   在 上一篇 中,通过 wrapIfNecessary 方法,我们获取到了合适的增强器(日志方法)与业务类进行包装,最终返回了我们业务类的代理对象。      本篇我们将从业务方法的执行开始,看看增强器(日志方法)是怎么在方法执行的前后和发生异常时被调用的。以及在文章的最后总结整个AOP的执行流程。 调试的起点: 给测试方法打上断点,然后一直跳到下一个断点直到执行方法,如下   进入断点: 1 @Override 2 public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable { 3 Object oldProxy = null; 4 boolean setProxyContext = false; 5 Class<?> targetClass = null; 6 Object target = null; 7 try { 8 if (this.advised.exposeProxy) { 9 // Make invocation available if necessary. 10 oldProxy = AopContext.setCurrentProxy(proxy); 11 setProxyContext

使用原生JS封装一个动画函数

守給你的承諾、 提交于 2020-03-08 16:37:52
最近一直在忙项目,很少有时间回顾之前的知识,今天刚好要做一个轮播,因为对兼容性有一定的要求,使用了各种插件和库中的轮播,效果都不是很理想,一怒之下,使用原生JS封装了一个轮播组件,其中重要的功能就是一个动画,看了一下以前封装的函数,千疮百孔,又进行了重新封装,先上代码,有详细的备注。 function animate(el, target, step, dtime) { /** * 参数说明: * - el 表示操作的元素对象 * - target 表示移动的目标距离 单位 px * - step 表示步长,即每次移动的距离 单位 px * - dtime 表示移动的间隔时间 单位 ms */ // 步长和间隔时间设置了默认值 step = step || 10; dtime = dtime || 30; // 判断是否开启定时器,如果有就清除 if (el.timeId) { clearInterval(el.timeId); el.timeId = null; }; // 开启一个定时器,并将定时器挂载道当前元素上 el.timeId = setInterval(function () { /** * 获取盒子移动前的水平方向的位置(当前位置) - 偏移的位置 * - 可以使用 el.offsetLeft 获取,但会将外边距也获取到,不精准,不采用 * -

iOS开发~CocoaPods使用详细说明

你离开我真会死。 提交于 2020-03-08 09:36:27
一、概要 iOS 开发时,项目中会引用许多第三方库,CocoaPods( https://github.com/CocoaPods/CocoaPods )可以用来方便的统一管理这些第三方库(从一个坑出来,又进了另一个坑而已……)。 二、安装 由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下: 注:要使用 CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境 1、Ruby环境搭建 当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。 a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby) [objc] view plain copy print ? ritekiMac-mini:PodTest lucky$ ruby -v ruby 1 .8 .7 ( 2 0 1 2- 0 2- 0 8 patchlevel 3 5 8) [universal-darwin 1 2 .0] ritekiMac-mini:PodTest lucky$ b 更新ruby 终端输入如下命令( 把Ruby镜像指向taobao,避免被墙,你懂得) gem sources --remove

剑指Offer题解(持续更新)

送分小仙女□ 提交于 2020-03-08 09:12:33
文章目录 第2️⃣章 03 | [数组中重复的数字](https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/) 问题描述 解题思路 代码 其他方法分析 若果不允许修改数组呢?(二分法,详情见书,时间复杂度O(nlogn)) 04 | [二维数组中的查找](https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/) 问题描述 解题思路 代码 09 | [用两个栈实现队列](https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/) 问题描述 解题思路 代码 相关题目-225. [用两个队列实现栈](https://leetcode-cn.com/problems/implement-stack-using-queues/) 15 | [二进制中1的个数](https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof/) 问题描述 解题思路 代码 第3️⃣章 第4️⃣章 30 | [ 包含min函数的栈](https://leetcode-cn.com