技术笔记
文章平均质量分 62
zmhawk
这个作者很懒,什么都没留下…
展开
-
二叉树的基本操作C源代码
#include#include#include #define OK 1#define FELL 0#define OVERFLOW -2#define ERROR 0typedef int Status;typedef struct LNode{char data; struct LNode *LChild,*RChil原创 2014-10-31 19:26:24 · 1156 阅读 · 0 评论 -
div 等块级标签横向排列的方法总结
块级标签的默认文档流是上下排列的,再配上横向排列的方法,请过适当的嵌套,可以应对几乎所有常见的布局需求,因此,我决定总结一下 div 横向排列的方法。这也是我初学前端时最困扰的问题~原创 2017-06-15 17:59:53 · 56224 阅读 · 1 评论 -
JS 设计模式之单例模式
随着项目做的越来越多,项目越来越大,也越来越意识到设计模式的重要性,好的设计模式可以大幅简化项目的复杂度和耦合性,使编写、维护都变得轻松许多。 单例模式的定义是: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池、全局缓存、浏 览器中的 window 对象等。在 JavaScript 开发中,单例模式的用途同样原创 2017-07-15 19:04:43 · 653 阅读 · 0 评论 -
JS 自定义事件
在写 Vue 项目的时候,对其中的 $emit 和 $on 等方法很感兴趣,于是就试着自己实现了一个,方法的注释是从 Vue 的 API 文档里复制的,因为效果是一样的~~~// 事件总线对象var Event = { // 触发事件的方法 emit (event, ...params) { this.eventList[event].forEach((e, i原创 2017-07-15 15:41:21 · 558 阅读 · 0 评论 -
Angular 和 Vue 等前端框架中的数据绑定模拟
对 Angular 和 Vue 等前端框架中的数据单向绑定和双向绑定很感兴趣,于是自己试着模拟了一个。采用 AngularJS 的语法,在标签中添加 yjb-bind表示单向绑定,yjb-model表示双向绑定。数据监听数据绑定首要要实现的就是数据监听,而数据监听的方法有很多,这里我采用了 setter 方法。废话少说,上代码!HTML部分:<input type="text" yjb-model原创 2017-07-15 19:22:52 · 917 阅读 · 0 评论 -
JS 数据监听方法研究
之前模拟了一个在 HTML标签中通过自定义的 yjb-bind 和 yjb-model来进行数据绑定的,效果很不好。指令解析及数据绑定应该是在解析 DOM 树时做的,采用 getAttribute 和 querySelectorAll 等方式来获取绑定的信息和元素,性能非常差,并且难以通过 person.name 这类的字符串访问到对象内的属性(Vue 好像是自己实现了一个解析路径字符串访问对象内属原创 2017-07-16 16:03:32 · 1471 阅读 · 0 评论 -
vue-cli 构建的项目中如何使用 Less
vue-cli 构建的项目默认是不支持 less 的,需要自己添加。首选,安装 less 和 less-loader ,在项目目录下运行如下命令npm install less less-loader --save-dev当然,比起 npm,我个人更喜欢用 yarnyarn add less less-loader --dev安装成功后,打开 build/webpack.base.conf.js ,原创 2017-07-16 19:38:33 · 21228 阅读 · 7 评论 -
JS 的 prototype(原型)到底是个啥?
相信很多JS学习者心中都会有几个一直困扰的问题:prototype 到底是个啥???构造函数又是什么鬼???为什么没有看见其他面向对象语言中常见的 Class(类)???下面, 我就来讲一下 JS 的 prototype 到底是个啥。首先, 强调一点:JS 里没有类! JS 里没有类!! JS 里没有类!!!让我们从一门小巧的原型语言 Io 入手探寻 JS 中的原型概念。原创 2017-06-10 11:12:07 · 688 阅读 · 0 评论 -
从 ECMAScript 规范来看 JS 的 this 绑定规则
当遇到疑难问题时,最好的办法就是去看官方的规范,于是,为了彻底探究 JS 中的 this 绑定规则, 我打开了ECMAScript 5.1 规范文档。。。。规范中,关于 this 绑定,有如下几处提到,第一处是 4.3.27 节中,这个比较好理解,也就是我们都知道的,* 当一个函数被作为一个对象的方法调用,则函数内的 this 指向那个对象。*对象的方法 4.3.27 方法 (method)原创 2017-07-24 11:33:09 · 906 阅读 · 0 评论 -
微信平台无法使用session的解决方案(Java)
我们知道,微信平台是属于被动式的应答模式,用户发送一条消息或者进行点击菜单上一个按钮,服务器收到请求后进行处理然后回应,整个过程不能超过5秒钟,结束。而要进行较复杂的需要分步骤操作的逻辑时,就需要session机制来辅助,因为我们不能要求用户像我们程序员一样在一行输入一大串参数,那样用户体验太差了,一步一步引导式的操作是最好的。但是因为微信的所有请求都是通过腾讯的服务器转发的,也就是说所有的请求都是原创 2015-03-11 13:49:08 · 25397 阅读 · 7 评论 -
PHP 结合 WebHook 实现代码自动部署
最近一直在研究如何把在把代码 Push 到 Coding 上时能够实现自动部署最新代码到服务器上,解决方案就是利用 Coding 提供的 WebHook(其他 Git 仓库也应该有类似的功能)。 Webhook 允许第三方应用监听 Coding.net 上的特定事件,在这些事件发生时通过 HTTP POST 方式通知( 超时5秒) 到第三方应用指定的 Web URL。 例如项目有新的内容 Pus原创 2017-06-15 15:09:46 · 4590 阅读 · 1 评论 -
inline-block垂直对齐问题
当给某元素设置display:inline-block属性后,有时会出现垂直对齐问题。解决办法:设置vertical-align: top;图片下边的空白也可以如此解决~原创 2017-03-29 21:03:59 · 4556 阅读 · 0 评论 -
Spring 依赖注入 之 设值注入 的小问题
跟学长学做网站,照猫画虎,好多地方都不太懂。做网站的时候,每一个页面一个单独的请求,对应一个单独的action,在applicationcontext.xml配置文件中每个方法配置一个就行,很方便,如<bean id="addYguser" scope="prototype" class="com.xlzx.action.YguserAction"> <property name="ygus原创 2015-02-07 18:23:18 · 678 阅读 · 0 评论 -
情人节送给单身男女的福利
情人节那天早上, 突然看到一个论坛开了一个新功能——“我暗恋你”。如果暗恋某人的话,可以对TA点“我暗恋你”,但是此时只有他自己和系统知道,对方以及其他人是不知道的,如果对方也对TA点了“我暗恋你”的话,那么系统自动给两人发消息,然后。。。祝福他们吧。。。我觉得这个功能不错,就想着能不能在我的微信平台上也弄一个这个功能。首先,在微信里无法像论坛上能够看到彼此,所以我首先想到的是输入对方的学号,因为这原创 2015-02-17 17:59:44 · 1277 阅读 · 0 评论 -
快排改进
快排是平均性能最好的排序算法,但是当面对初始有序序列时,速度将会退化到O(n2)。有一天我就想怎么能把快排在初始有序时排序速度提高,于是在纸上写下一串有序序列,分析其规律,突然发现,如果选择中间的数作为枢轴,是否就能解决这个问题呢?说干就干,当天用了一下午的时间,对快排进行了改进。int PationUp(SqList &L,int low,int high){//快排升级版,原创 2014-12-22 17:27:51 · 2729 阅读 · 1 评论 -
C语言计时函数
前段时间学习排序算法时,感觉对于时间复杂度的概念,仅仅用公式不够直观,于是自己百度,然后在程序中添加了计时的函数。1.利用clock()函数#includeclock_t start,stop; //定义函数运行开始时间与结束时间变量start=clock(); //执行前时间Test();stop=clock(); //执行后后时原创 2014-12-22 16:15:41 · 3671 阅读 · 0 评论 -
双向循环链表基本操作(C语言)
全自己写的哦,原创 2014-10-31 19:49:59 · 866 阅读 · 0 评论 -
微信订阅号无法使用网页授权解决方案
昨天在测试号上用OAuth2.0网页授权方式静默获取用户openid,然后暂存在session中,最后连同注册表单信息一起填入数据库,以达到自动绑定的目的。然而今天偶然发现订阅号无法开通网页授权接口!!!!!!欲哭无泪。。。解决方案如下,虽然用户体验照比网页授权差一点,但总比日后让用户手动绑定体验好得多:如果是view类型自定义菜单的话,修改为click类型。click事件中是包含fromUserN原创 2015-02-10 23:10:14 · 21058 阅读 · 4 评论 -
C语言截取从某位置开始指定长度子字符串方法
C语言中没有从某位置开始指定长度子字符串的函数(还是我没找到?),只有从头开始截取的strncat和strncpy,以strncpy为例:char dest[4] = {""};char src[] = {"123456789"};strncpy(dest, src, 3);puts(dest);输出结果为 123看到了吗,strcpy函数中的参数是字符串数组的名字,而数组名本质上是指针,原创 2015-03-24 22:17:07 · 79795 阅读 · 6 评论 -
Django 1.9 支持中文
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-12-02 23:01:26 · 5721 阅读 · 0 评论 -
Node下一个简单好用的 MongoDB 操作模块
数据库操作总要伴随着繁复的连接操作,所以简单的封装了一下,使用起来还是比较简单好用的,需要先安装 mongodb 模块。好消息:本轮子已加入 npm → promise-mongodb原创 2017-07-05 10:04:00 · 786 阅读 · 0 评论