2016-10-12 曹强
用策略模式实现缓动动画 需求:让小球以各种缓动效果在页面中运动 动画开始前需要记录的: 小球所在原始位置 小球移动的目标位置 动画开始时的时间点 小球运动的时间点 之后,用setInterval创建一个定时器,定时器每19秒循环一次。 //缓动算法,此算法移植于flash var tween = { //t:动画已消耗的时间,b:小球原始位置,c:小球目标位置,d:动画持续时间 linear: function(t, b, c, d) { return c*t/d + b; }, reseIn: function(t, b, c, d) { ret 继续阅读 »
2017-05-06 张炎泼
mdtoc start 表现 解决方法 定位问题过程 gdb-python: 搞清楚python程序在做什么 准备gdb 接入gdb 查看线程 查看调用栈 coredump 其他命令 pyrasite: 连接进入python程序 psutil 查看python进程状态 guppy 取得内存使用的各种对象占用情况 无法回收的对象 不可回收对象的例子 🌰 objgraph 查找循环引用 继续阅读 »
2016-10-12 曹强
迭代器模式是指提供一种方法,顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心内部构造,也可以按顺序访问其中的每个元素。 jQuery中的迭代器 迭代器模式无非就是循环访问聚合对象中的各个元素。比如jQuery中的$.each函数,其中回调函数中的i为当前 索引,n为当前元素,代码如下 $.each([1, 2, 3], function(i, n) { console.log('当前坐标:' + i); console.log('当前值:' + n); }); 然而,作为一个合格的前端开发者,我们不应该只是会用,而 继续阅读 »
2016-09-19 曹强
你可能知道,Javascript语言的执行环境是"单线程"(single thread)。 所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。 more 这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行。常见的浏览器无响应(假死),往往就是因为某一段Javascript代码长时间运行(比如死循环),导致整个页面卡在这个地方,其他任务无法执行。 为了解决这个问题,Javascript语言将任务的执行模式分成两种:同步(Synchronous)和异步(Asynchronous)。 继续阅读 »
2016-06-09 Lu Huang
本节实现的是使用内建摄像头捕获视频,并显示视频的每一帧以实现视频的播放。 创建摄像头对象 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下。 python import cv2 import numpy import matplotlib.pyplot as plot 创建摄像头对象 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。 python cap = cv2.VideoCapture(0) 逐帧显示实现视频播放 在while循环中,利用摄像头对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间 继续阅读 »
2020-12-07 安兴乐-siler
好久之前写过K-Means, 但写的极其丑陋,使用的时候还得用 sklearn.cluster.KMeans 包来干。最近需要手撕k-Means,自己也受不了多重for 循环这么disgusting的方式。sklearn.cluster.KMeans等包加入了相当多细节优化和向量化计算,同时也想能否用 numpy 来原生实现更高效的加速。在网上找了半天,终于看到简洁又高效的numpy 实现 了。 继续阅读 »
2017-07-29 kk
很多时候,我需要写脚本去做一些自动化操作,简单的可以直接写 Shell 脚本,但一些稍复杂的情况, 比如要用到分支语句,循环语句,或者调用一些高级函数,用 Shell 就太费劲了。 我更喜欢用一种完整的语言(比如 Python),调用 Shell 程序并获取它的输出,执行复杂操作。 继续阅读 »
2015-06-12 党洁
细说Android动画 动画感觉说白了就是一句话 在触发范围内 循环的修改view特点后 使view重新绘制 展示新的效果 所以只要有满足三个条件就能完成一个效果 触发范围 比如给个时间 在范围内做个事,或者是给个滑动距离 手指在范围内跟随滑动做个事。 继续阅读 »
2014-10-01 Xie Jingyi
链接:Link 耗时:0.139s 前言 这道题的主要思路就是打表,看看Fibonacci数列模n几个一循环。但由于这题给的数太大了,从而在细节上耗了很久。在此记录一下: var x: qword; y: longint; begin x := 1<<64-1; y := 100; x := x mod y; //报错201 x := x mod qword(y); //正确 end. Code var a,b: qword; _, n, i, k, cnt: longint; f: array [1..1000000] of longint; fun 继续阅读 »
2016-11-01 JustWe
Handler - Message - Looper 说起来也就是这么一回事,Looper实现在Thread中负责不断的循环监听处理Message,要不然Thread运行完就自己关了。当你不需要的时候就可以把Looper关了,线程就自动运行完了。 Message 实现了序列化接口,what区分类型,arg的参数使用简单的整形,obj存储对象,data存储一个bundle,target是一个Handler。剩下的就是搞了个对象池回收Message,所以才会推荐用Message.obtain()来新建,其实就是从回收池里拿东西。 总之没什么好说的。 Looper ``` java 继续阅读 »