自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 jQuery学习之插件开发

在实际前端开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过 jQuery 以及熟悉 jQuery 使用的人来说,首先想到的肯定是寻找现有的 jQuery 插件来满足相应的展示需求。目前页面中常用的一些组件,都有多种 jQuery 插件可供选择,网络上也有很多专门收集 jQuery 插件的网站。利用 jQuery 插件确实可以给我们的开发工作带来便捷,但是如果只是会简单使用,而

2017-01-19 23:14:05 153

原创 在Linux环境命令行中实现Wifi 连接的方法步骤详解

无论何时要安装一款新的 Linux发行系统,一般的建议都是让您通过有线连接来接到互联网的。  这主要的原因有两条:第一,您的无线网卡也许安装的驱动不正确而不能用;第二,如果您是从命令行中来安装系统的,管理 WiFi就非常可怕。我总是试图避免在命令行中处理 WiFi 。但 Linux 的世界,应具有无所畏惧的精神。如果您不知道怎样操作,您需要继续往下来学习之,这就是写这篇文章的唯一原因。所以

2017-01-19 23:10:54 2712

原创 原生JS与jQuery操作DOM对比

本文和大家分享的主要是原生JS与jQuery操作DOM相关内容,一起来看看吧,希望对大家学习javascript有所帮助。一、创建元素节点1.1 原生 JS 创建元素节点document.createElement("p");1.2 jQuery 创建元素节点$('');`二、创建并添加文本节点2.1 原生JS创建文本节点do

2017-01-19 23:06:21 274

原创 基于 Redis 的代理 ip 池设计

代理 ip 因为配置简单而且廉价,经常用来作为反反爬虫的手段,但是稳定性一直是其诟病。筛选出优质的代理 ip 并不简单,即使付费购买的代理 ip 源,卖家也不敢保证 100% 可用;另外代理 ip 的生命周期也无法预知,可能上一秒能用,下一秒就扑街了。基于这些原因,会给使用代理 ip 的爬虫程序带来很多不稳定的因素。要排除代理 ip 的影响,通常的做法是建一个代理 ip 池,每次请求前来池子取一个

2017-01-19 23:03:22 450

原创 Python学习之重构vsFTPd后门漏洞详解

大家好,首先来个声明本文目的不在于分析vsFTPd后门漏洞,我最近喜欢用漏洞编写exploit的形式来练习编程语言,在本文中,我们将重新用Python语言来一步步的编写这个漏洞的利用程序,主要是触发后门然后连接shell。首先我们来了解一下这个漏洞是如何触发的。  0×02 剖析vsFTPd后门漏洞  这个漏洞比较老了,但是要当成一个例子来练习技术,非常的经典,洞如其名,不知道这个

2017-01-18 19:58:16 900

原创 Python新型字符串格式漏洞分析

本文对Python开发中引入的一种格式化字符串的新型语法的安全漏洞进行了深入的分析,并提供了相应的安全解决方案。  当我们对不可信的用户输入使用str.format的时候,将会带来安全隐患——对于这个问题,其实我早就知道了,但是直到今天我才真正意识到它的严重性。因为攻击者可以利用它来绕过Jinja2沙盒,这会造成严重的信息泄露问题。同时,我在本文最后部分为str.format提供了一个新的

2017-01-18 19:47:11 294

原创 用Rust解决C语言的隐患

对大众来说,Rust最大的卖点在于它能确保代码的安全性,这是Rust相对于C语言的一个极大优势,也是令Rust与众不同的关键所在,这也是本文的重点。  为了让大家对Rust的优势有所了解,我们选择了这个地方入手——Rust是如何令开发者的日常工作更加轻松、更加惬意的。本文详细列举了样例,阐明Rust是如何完全地消弭那些继承自C语言的诸多隐患。这一优势再加上Rust的新潮功能,就促成了Rust符

2017-01-17 19:24:00 761

原创 使用CLion做嵌入式开发方法步骤详解?

本文简要介绍了如何使用CLion做STM32上的嵌入式开发。整个开发流程不离开CLion环境,提高工作效率。  JetBrain家的开发工具基本都是最棒的,对编程语言、框架支持得最好。CLion经过几年的发展,从无到有,成为了一个越来越完善的C++ IDE。在官方论坛上,用户呼声很高的一个需求就是remote debugging、嵌入式开发。  在最近几次更新里,CLion逐渐添加

2017-01-17 19:08:49 13890

原创 Linux学习之内核Oops详解

什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。  在Linux内核开发中的Oops是什么呢?其实,它和上面的解释也没什么本质的差别,只不过说话的主角变成了Linux。当某些比较致命的问题出现时,我们的Lin

2017-01-17 19:05:13 1416

原创 使用Redis如何实现分布式锁?

大家都知道Redis数据库是NoSQL的一种,目前在互联网公司中在作为缓存广泛的使用者,其实利用Redis的setnx还可以快速实现一个分布式锁,公司的业务就需要使用分布式锁保证数据的唯一性,经检索在网上发现已经有活雷锋分享了一套,本着不在重新发明轮子的想法,测试了一下好像没有问题,几乎不用对原代码进行修改,就能使用,下面就分享在这里,供需要的朋友参考。原文里面还有对实现的原理进行解释,所以本文就

2017-01-17 18:44:33 217

原创 Python学习之单例模式详解

在python开发中,单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保 某一个类只有一个实例存在 。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。  比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是

2017-01-17 18:39:14 339

原创 Mysql group_concat的反向应用如何实现?

用过Mysql数据库的都知道她有一个很好的实现行转列功能的函数group_concat函数,非常方便  点击(此处)折叠或打开  SELECT  *  FROM  group_test;  SELECT  id,  GROUP_CONCAT(sub_id)  FROM  `group_test`  GROUP

2017-01-17 18:32:28 3720

原创 Android短信验证码自动填充

在我们的Android开发中会经常用到短信验证的功能,这个时候如果再让用户就查看短信.然后再回到界面进行短信的填写,难免有多少有些不方便,为了提高用户体验,我也就自己来实现验证码的自动填写功能  一、简介  之前笔者见过一些人的实现思路是这样的:  创建一个广播接收器,接受短信变化的广播,然后在收到广播的时候,再把验证码提取出来发送给我们的需要填充验证码的地方就行了。

2017-01-16 22:35:42 726

原创 Android学习之模块化过程多渠道编译详解

本文和大家分享的主要是android开发中,模块化多渠道编译相关内容,一起来看看吧,希望对大家有所帮助。  有赞微商城APP小组在搞模块化过程中需要把POS机相关的业务全部抽离出来,但是POS机的适配代码会散落在多个业务module 中,这才让我接触到了模块化过程中真正的多渠道编译。  闲话少说,开始步入正题,把解决方案分享给大家,希望小伙伴能少走弯路。  那么什么时候小伙

2017-01-16 22:33:10 525

原创 HTML 5.1的10大新功能详解

在几个星期前,W3C在2016年11月发布了新的 HTML 5.1 recommendation ,HTML规范得到了重大改进,在最近的博客中,W3C将新的主版本称为黄金标准 ,因为HTML 5.1为我们提供了新的方法,我们可以使用HTML来创建更灵活的网络体验。一起来看看吧,希望对大家学习html5有所帮助。 注意:目前并非所有浏览器都支持所有这些功能,所以在使用它们之前,请

2017-01-16 22:29:17 322

原创 React 常用面试题目与分析

本文和大家分享的主要是React面试中常见的问题及相关分析,一起来看看吧,希望对大家学习React 有所帮助。  调用 setState 之后发生了什么?  在代码中调用 setState 函数之后,React 会将传入的参数对象与组件当前的状态合并,然后触发所谓的调和过程(Reconciliation)。经过调和过程,React 会以相对高效的方式根据新的状态构建 React 元

2017-01-15 21:52:02 1066

原创 Node.js 的模块系统

Node.js的模块系统是借鉴 CommonJS 的 Modules 规范实现的,因此,下面我们需要先了解 CommonJS 的 Modules 规范,希望对大家学习Node.js有所帮助。  CommonJS 的 Modules 规范  CommonJS 对模块的定义非常简单,主要分为 模块引用、模块定义和模块标识三个部分。  1. 模块引用 - require() 方法

2017-01-15 21:31:52 365

原创 Linux中使用lsof命令如何恢复删除的文件?

本文和大家分享的主要是linux操作系统中使用lsof命令恢复删除的文件相关知识,一起来看看吧,希望对大家有所帮助。  lsof命令  lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行。  在linux环境下,任何事物都

2017-01-15 21:25:19 323

原创 产品经理面试技巧,别说你不会

本文和大家分享的主要是产品经理的一些面试技巧,一起来看看吧,希望对产品新人面试相关岗位有所帮助。  产品经理如何做自我介绍?  自我介绍一共分为2个部分,即:自我认知;岗位认知。  自我认知:个人基本信息介绍。  岗位认知:对于岗位的认知。  什么是自我认知:  1. 性格特点(可省略,在面试过程中慢慢体现)  2. 之前的工作经历 

2017-01-14 14:02:59 2037

原创 安卓学习之SnackBar通知控件详解

安卓开发中常用的控件包括Toast和Dilalog,本文和大家分享则是通知控件SnackBar相关使用,一起来看看吧。  Dilalog  Dialog的作用是给用户一个提示信息,并让用户根据提示做出判断。而Dialog的特征就是,它会阻止你原本正在进行的操作,必须停止下来对Dialog进行处理。但是,大多数的人可能并不喜欢这样被打断,也许用户正在处理一项重要的操作,突然弹出一个D

2017-01-14 13:57:53 338

原创 程序猿必知的MySQL闪回原理

DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql数据库的性能。 MySQL闪回(flashback)利用binlog直接进行回滚,能快速恢复且不

2017-01-14 13:52:41 1449

原创 C语言中判断文件是否存在的方法详解

本文和大家分享的主要是C语言中判断文件是否存在的相关知识,希望对大家有所帮助,一起来看看吧。  方法一:access函数判断文件夹或者文件是否存在  函数原型: int access(const char *filename, int mode);  所属头文件:io.h  filename:可以填写文件夹路径或者文件路径  mode:0 (F_OK)

2017-01-14 13:43:51 1278

原创 C语言学习之预处理

今天要和大家分享的主要是C语言中的预处理器,我们常说的宏定义的用法。为什么要写这个东西呢,原因很简单:之前对预处理了解不深。如果你对C语言只是了解或者是仅仅在大学中学习过C语言,说到预处理估计你只知道下面这条语句:  1 #define name value  我再学习预处理直接的驱动力是看了php的源码,开头一大推的宏定义器,之前'掌握'的一点#define的用法太少了,根本看不

2017-01-14 13:36:40 277

原创 Linux/Unix 中常用的磁带管理命令有哪些?

本文和大家分享的主要是Linux/Unix中常用的磁带管理命令,主要围绕以下几点进行分享,希望对大家学习Linux/Unix有所帮助。  磁带设备名  管理磁带驱动器的基本命令  基本的备份和恢复命令  为什么备份?  一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加。有了备份,你就有了从磁盘故障中恢复的能力。备

2017-01-14 13:27:13 257

原创 程序猿必知的 Linux 服务器性能参数指标大全

一个基于Linux操作系统的服务器运行的同时,也会表征出各种各样参数信息。通常来说运维人员、系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当你的程序非正常工作的时候,这些蛛丝马迹往往会帮助快速定位跟踪问题。  这里只是一些简单的工具查看系统的相关参数,当然很多工具也是通过分析加工/proc、/sys下的数据来工作的,而那些更加细致、专业的性能监测和调优,可能还

2017-01-13 20:16:12 410

原创 Docker学习之安装配置及使用详解

本文和大家分享的主要是Docker安装配置及使用相关内容,希望对大家学习docker有所帮助,一起来看看吧。 Docker 包括三个基本概念镜像(Image)容器(Container)仓库(Repository)先理解了这三个概念,就理解了 Docker 的整个生命周期。 1、docker安装与启动yum install -y

2017-01-13 19:29:44 264

原创 你的 css 也需要模块化

本文和大家分享的主要是css中模块化相关内容,希望对大家学习css有所帮助,一起来看看吧。css “局部”样式sass、less 通过 @import ,部分解决的 css 模块化的问题。由于 css 是全局的,在被引入的文件和当前文件出现重名的情况下,前者样式就会被后者覆盖。在引入一些公用组件,或者多人协作开发同一页面的时候,就需要考虑样式会不会被

2017-01-12 18:34:11 260

原创 Android常用的设计模式:Builder模式

设计模式是在日常的编程工作中对一些常见的问题场景总结出来的最优编程套路,通过这种抽象和总结,可以在遇到类似的需求时快速使用对应的设计模式,实现高效优雅的编程。在Android开发中,我们也会经常使用一些实用性强,具有代表性的设计模式,对这些设计模式进行了解和学习,不仅有助于我们理解Android框架下的代码,包括一些著名的开源代码的设计实现和使用,更有助于我们在自己的编程工作中套用这些模式,完成高

2017-01-12 18:14:00 226

原创 iOS 自动布局框架学习之Masonry

目前iOS开发中大多数页面都已经开始使用Interface Builder的方式进行UI开发了,但是在一些变化比较复杂的页面,还是需要通过代码来进行UI开发的。而且有很多比较老的项目,本身就还在采用纯代码的方式进行开发。  而现在iPhone和iPad屏幕尺寸越来越多,虽然开发者只需要根据屏幕点进行开发,而不需要基于像素点进行UI开发。但如果在项目中根据不同屏幕尺寸进行各种判断,写死坐

2017-01-09 22:57:27 320

原创 Linux如何让进程在后台可靠运行?

我们经常会碰到这样的问题,用 telnet/ ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口、网络断开连接的干扰呢?  下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。  nohup/setsid/& 场景  如果只是临时有一个命令需要长时间运行,什么方

2017-01-09 17:09:46 162

原创 Android开发必知的java嵌套类

Android开发中,嵌套类指定义在另一个类的内部的类,嵌套类的存在只是为了他的外围类。嵌套类有四种:静态成员类,非静态成员类,匿名类,局部类。  .静态成员类是最简单的一种嵌套类。最好把它看做是一个普通的类,只是恰好定义在另一个类的内部。静态成员类可以访问外围类的所有成员,包括那些私有的变量。静态成员类同样遵守可访问性规则,如果将它定位私有,它就指在外围类的内部才能访问到。  1

2017-01-09 17:07:05 287

原创 android webview常见问题与性能优化

本文和大家分享的主要是android开发中webview常见的一些问题及相关性能优化,一起来看看吧。  1.webview导致内存泄露问题  使用 WebView 的时候,不在 XML 里面声明,而是在代码中直接 new 出来,传入 application context 来防止 activity 引用被滥用  WebView webView = new WebView(g

2017-01-09 17:03:40 313

原创 lavarel框架学习之使用ajax提交表单方法详解

由于laravel以post形式提交数据时候需要加{{csrf_field()}}防止跨站攻击,所以当你用ajax提交表单时候自然也要加。本文和大家分享的就是lavarel框架中使用ajax提交表单的方法步骤,希望对大家有所帮助。   在网上看了很多的解决方式,我是用下面这种方法解决的:  1,首先在模板里面加上一个meta :    2,然后在ajax方法

2017-01-07 14:39:36 464

原创 ios中如何自定义数字键盘

本文和大家分享的主要是ios开发中自定义数字键盘的相关知识,希望对大家有所帮助,一起来看看吧。  第一种方式: 在获得键盘弹出通知时,在键盘的那个 UIView 上添加一个自定义的 UIButto。  #define KEY_WIDTH 106  #define KEY_HEIGHT 53  #pragma mark – 处理 TextField 响应事件 

2017-01-07 14:37:14 507

原创 Ajax跨域请求

本文和大家分享的主要是前端开发中,ajax跨域请求相关内容,希望对大家学习ajax有所帮助。  一、什么是跨域请求  域名http://www.maiziedu:8080/script/jquery.js,它由http://(协议)、www(子域名)、baidu(主域名)以及8080(端口号)组成,当另一个域名与其中任意一项对应不等的话,那么我们说两个域名就是跨域的。  如

2017-01-07 14:33:39 147

原创 单片机学习之PWM原理与控制程序

PWM 在单片机中的应用是非常广泛的,它的基本原理很简单,但往往应用于不同场合上意义也不完全一样,这里我先把基本概念和基本原理给大家介绍一下,后边遇到用的时候起码知道是个什么东西。PWM 是 Pulse Width Modulation 的缩写,它的中文名字是脉冲宽度调制,一种说法是它利用微处理器的数字输出来对模拟电路进行控制的一种有效的技术,其实就是使用数字信号达到一个模拟信号的效果。这是个

2017-01-05 17:00:56 2418

原创 Node.js 和 C++ 之间如何进行类型转换?

我非常喜欢使用 Node.js开发,但是当涉及到计算密集型的场景时 Node.js 就不能够很好地胜任了。而在这样的情况下 C++ 是一个很好的选择,非常幸运 Node.js 官方提供了C/C++ Addons 的机制让我们能够使用 V8 API 把Node.js 和 C++ 结合起来。  虽然在 Node.js 官方网站有很多的关于怎么使用这些 API 的文档,但是在 JavaScrip

2017-01-05 16:35:04 464

原创 Javascript学习之this与函数详解

javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域。并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码,都存放在Window函数内(这是个假设),也就是说javascript中只有函数作用域(前面假设做前提下)。本文和大家分享的主要是javascript中this与函数相关用法详解,希望通过对大家学习java

2017-01-05 16:17:11 234

原创 嵌入式C语言常见的16道面试题

本文和大家分享的主要是嵌入式开发新人在面试中常见的16到C语言面试题及相关解答,希望对大家有所帮助,一起来看看吧。   预处理器(Preprocessor)  1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)  #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL  我在这想看到几件事

2017-01-05 16:11:35 387

原创 使用greenlet如何实现Python中的并发?

在python开发中,协程(Coroutine),也被称为微线程,可以在一个函数执行过程中将其挂起,去执行另一个函数,并在必要时将之前的函数唤醒。在Python的语言环境里,协程是相当常用的实现“并发”的方法。这里我们要介绍一个非常好用的框架greenlet,很多知名的网络并发框架如eventlet,gevent都是基于它实现的。  第一个例子  沿袭我们一直以来的习惯,先从例子开

2017-01-04 22:49:39 303

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除