自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beacon的专栏

等不到天黑,烟火不会太完美

  • 博客(25)
  • 资源 (9)
  • 收藏
  • 关注

原创 Python学习笔记——属性管理工厂

前言在从鸭子类型看Python的面向对象中,我们通过鸭子类型这个概念讨论了Python多态、接口和范型的实现,感受了在没有对接口进行支持不咋抽象和继承的Python架构风格下,通过协议约定的方式,实现了Python风格的面向对象。当然,除了面向对象最重要的几个特征外,今天我们将讨论剩余的独具Python风格的面向对象实现——对象和属性描述符。第一部分将讨论Python对象的引用和垃圾回收的问题...

2018-12-18 10:47:05 304

原创 Python学习笔记——作为一等公民的函数

前言在前面的分享中,我们聊了Python独特的以鸭子类型为核心的面向对象风格,并通过《流畅的Python》中提供的两个经典示例,介绍了Python中的序列和分片的实现逻辑,并从中抽象出Python是如何实现接口和多态的,从而开启了我们的Python学习之路。延续之前的风格,本系列不作为一种Python“从入门到精通”式速成教程,而是作为对Python底层设计逻辑和一些核心编程思想作探讨的分享式...

2018-12-10 19:05:38 797

原创 Python学习笔记——鸭子类型(duck typing)

前言在实习期间,由于工作需要首次接触了Python这一门语言,由于学习和使用的时间非常短,所以当时认为,作为一门解释性语言,在做Web开发的方面,Python和PHP的差别不大,甚至在一些应用场景上没有PHP来的简单粗暴。后来,在导师的推荐下,通过《流畅的Python》又一次深入的学习了Python,大致从数据结构、函数、面向对象和控制流程这几个部分深入的学习了这一门语言,对其中作为一等对象的函...

2018-12-07 18:16:52 9214 5

原创 Java8 ArrayList及其线程安全类源码分析

前言今天我们来研究一下Util包下的ArrayList类,及其相关的线程安全实现类,具体包括Vector、CopyOnWriteArrayList和集合工具类Collections提供的synchronizedList。首先我们知道ArrayList是非线程安全的,而在同一个包下的Vector则是ArrayList的线程安全实现版本,同时为了优化线程安全下的ArrayList的性能,在java.u...

2018-06-05 10:56:07 10823 1

原创 Java8 HashMap源码分析

今天,我们主要来研究一下在Java8中HashMap的数据结构,以及一些重要方法的具体实现。研究HashMap的源代码之前,我们首先来研究一下常用的三种数据结构:数组、链表和红黑数。数组作为一种基本的数据结构,以线性的方式组织数据,按数据的插入顺序来排列数据。在内存中,数组的物理组织形式是一段连续的磁盘空间。在数据操作上,由于数组的物理特点,可以在O(1)的时间复杂度内完成数据的查找。链表在逻辑特...

2018-06-03 13:13:14 1843 1

原创 卓越设计的数据结构系列——布隆过滤器(Bloom Filter)

前言今天,我们将开启一个新的系列——卓越设计的数据结构系列。在这个系列中,我们将重点分享一些可以令人赞不绝口的数据结构,不同于我们大学时期所学习的《数据结构》课程,本系列所分析的数据结构,都是一些在学术界和工业界中研究所诞生的成果,其本身是对传统数据结构和经典算法的结构,从而能够在一类问题中表现出卓越的性能。通过对这一类问题的学习,我们在工作或学习中,可以直接使用这类新型数据结构,同时,可以提...

2019-03-07 11:07:49 343

翻译 Ubuntu16.04下uWSGI和Nginx部署Django项目

关于本文是对How To Serve Django Applications with uWSGI and Nginx on Ubuntu 16.04(需翻墙访问)内容的翻译。近日,为在Ubuntu16.04上部署Python Django项目,查询了非常多的资料,同时踩过无数坑,后通过Google找到此篇文章,基本顺利的实现了Django项目的部署。不同于PHP或Java,Python项目的...

2019-02-25 21:01:29 499

原创 CopyOnWriteArrayList Vector及ArrayList线程安全源码分析

前言今天,我们接着上一篇文章继续聊ArrayList。我们今天的研究重点将放在ArrayList的线程安全实现类上,具体包括:CopyOnWriteArrayList、Vector和Collections.synchronizedList。关于三者的大致关系,在上一篇文章中,我们已经做了大致梗概的描述,现在我们来重新梳理一下。首先Vector类为与ArrayList类属于同一个包java.util...

2018-06-07 10:48:34 630 2

原创 Java多线程编程——Lock的使用与定时器Timer

相对于synchronized机制,Lock的锁机制更加的灵活,并且能够实现有选择性地进行线程通知。因此相比于重量级的synchronized机制,Lock机制能进一步的缩小同步区域,并有选择性的通知唤醒线程。同时,本文也对Android中常用的定时器Timer的用法进行了总结。1. Lock的使用常规用法,利用Condition类与ReentrantLock类,实现代码的同步publ

2017-11-10 15:30:38 785

原创 Java多线程编程——线程间通信

线程间进行通信,使得系统之间的交互性更大,大大提高CPU利用率的同时还会使得程序员对各线程任务在处理的过程中进行有效的把控和监督。而最常用的线程间的通信方式主要为两种:操作共享变量和利用管程。本文将总结这两种线程间的通信方式,同时使用wait/notify机制来实现操作系统中的经典同步问题:生产者/消费者问题和对线程的执行次序进行控制。最后介绍ThreadLocal的使用。1. 操作共享变量

2017-11-07 20:48:19 303 2

原创 Java多线程编程——synchronized用法总结

在Java多线程编程的问题中,“线程安全”和“非线程安全”问题成为整个多线程编程的核心思考问题,其中主要涉及到多个线程对共享变量访问时可能出现的各种错误,通过synchronized的使用机制,以最小程度的实现部分代码的同步执行。Java通过提供synchronized机制,来实现同步。由于synchronized的使用过于的灵活,因此,本文主要对synchronized的一些用法、锁对象和相关问

2017-11-07 16:21:29 532

原创 Head First学习笔记(2)

5.  单件模式定义:确保一个类只有一个实例,并提供一个全局访问点。单件模式被用来管理共享的资源,例如数据库连接或者线程池。6.  适配器模式定义:将一个类的接口,转换成客户期待的另一个接口。适配器让原本不兼容的类可以合作物件。该模式的本质既是完成不同版本代码之间的适配,在无法完全放弃对老版本的代码程序的支持,同时又需要全方位使用新版本时,即可采用适配器模式,对接口进行适配

2017-08-29 12:43:57 246

原创 Head First设计模式学习笔记

前言最近为了进一步加深对设计模式的理解,学习了《head first设计模式》。不同于之前的php设计模式的学习,java的设计模式更加灵活和“奇妙”。本文一方面对head first提出的设计模式、设计原则以及一些经典的代码架构观点进行了总结,同时也记录了自己对设计模式的一些理解,在此进行记录,以便于以后在实际的java框架理解和项目的开发过程中,进行灵活的应用。1.  策略者模式定

2017-08-23 15:01:54 351

原创 微信公众号通讯录同步

最近已经是第四次开发微信公众号,这一次的开发任务是完成一个微信企业号的开发, 主要是利用微信企业号进行办公管理。而其中很重要的一个功能即为本地通讯录与微信服务器上的通讯录保持同步。       而基本的实现逻辑为:在本地数据库进行增、删、改操作以后,获得执行返回结果,如果本地操作成功,则调用微信企业号管理通讯录接口,实现对微信服务器上数据的同步操作。但是在这个基本的业务逻辑中,可能会出现微信服

2015-11-12 22:44:25 9218 1

转载 考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传

最近做的一个需求,要通过PHP调用cURL,以multipart/form-data格式上传文件。踩坑若干,够一篇文章了。重要警告没事不要读PHP的官方中文文档!版本跟不上坑死你!不同版本PHP之间cURL的区别PHP的cURL支持通过给CURL_POSTFIELDS传递关联数组(而不是字符串)来生成multipart/form-data的POST请求。传统

2015-11-10 11:24:07 528

原创 PHP微信扫描登陆(模拟微信企业号平台登陆)

最近在做一款基于微信公众号的管理系统,我们为公司的微信公众号提供后台管理功能,此系统能够实现关注人信息的上传和下载,能实现信息的推送,以及实现一些公司业务相关的功能。鉴于此系统紧密的微信公众号结合,而且能够给关注公众号的人推送信息,于是在系统的安全上就有别于其他的系统,同时系统也需要用户的微信信息,于是我们决定使用类似于微信企业号的登陆机制(微信企业号)。准备工作:在决定使用这套登陆机制以后,

2015-05-12 09:46:17 2972

原创 php设计模式学习记录(下)

在php设计模式学习记录(上)中(http://blog.csdn.net/u014454539/article/details/44888307)我们介绍了工厂模式、单例模式、注册树模式、策略模式,使用这些php设计模式,可以通过减少资源的使用,来降低对服务器的负荷,而同时这些设计模式也我们对代码的维护带来了更多的便捷。今天我们继续介绍php设计模式。5.原型模式类似于工程模式,

2015-04-06 10:39:58 496

原创 php设计模式学习记录(上)

从事php后台的开发已经一年多了,慢慢的对CI等php框架有了越来越深入的了解,而开发的项目也是建立在php的框架之上,渐渐对底层的一些设计模式没有多少概念,最近在学习php的设计模式,发现框架其实是对大多的这些设计模式进行封装,同时又有些设计模式没有被利用,今天我就来给大家分享这几天学习php设计模式的一些心得。1.工厂模式工厂模式,顾名思义,将重复的操作封装到一个类一个方法里,一个是利

2015-04-05 15:45:50 570

原创 php 微信企业号回调模式开发

根据上篇http://blog.csdn.net/u014454539/article/details/44626123的介绍,我们对微信企业号基本配置,开发人员管理、应用管理等,有了基本的了解。在开发过程中,我们可以申请开发者测试号,进行开发,了解企业号的接口与作用。今天我们接着介绍微信企业号回调模式的开发,这里的回调模式开发主要是介绍,用户在微信端发出请求,服务器进行响应。比如:微信菜单的

2015-04-01 18:17:07 3602

原创 php CI发送邮件

需求:在网站建设中,我们常常会遇到这样的需求,我们需要通过系统给用户发送邮件,来完成例如:用户邮箱绑定,订单状态变化,活动推送等功能,所以我们需要开发我们网站的邮件发送功能,而在使用PHP CI框架的过程中,我们发起其自带的邮件发送功能足够满足我们的需求。开发环境:PHP + CI 框架开发流程:首先我们需要将我们的邮箱配置文件放入 application-config 文件夹中(更方便系

2015-03-25 20:56:51 553

原创 微信企业号开发入门

微信企业号是微信为企业客户提供的移动服务,旨在提供企业移动应用入口。它可以帮助企业建立员工、上下游供应链与企业IT 系统间的连接。利用企业号,企业或第三方服务商可以快速、低成本的实现高质量的企业移动轻应用,实现生产、管理、协作、运营的移动化。 首先我们介绍一下微信企业号管理端,作为企业号的创建者,我们拥有最高的权限,此时我们需要为我们的微信企业号平台分配管理组,并加入管理员与开发者,每个管理组

2015-03-25 19:40:45 6244

原创 win7主机通过ssh链接linux虚拟机教程

配置环境:win7+centos6.5+ssh3.2.x第一步:需要在centos上配置好ssh的环境(参考:http://www.jbxue.com/LINUXjishu/11596.html)注意说明:1、PasswordAuthentication yes保持使用密码登陆linux服务器                     2、PermitRootLogin no 如果为

2015-03-04 20:41:39 2108

原创 移动端访问接口权限

现有需求:移动端获取数据时,会向服务器发送请求,而在开发中,如果不对请求加以权限的限定,那么就会导致用户的数据泄露,对网站和用户造成损失,因此我们需要对接口的请求加上权限的控制。开发环境:PHP + CI解决方法:利用CI强大的hooks我们可以完成接口请求的权限控制。具体实现的方法如下:我们可以在用户登录的时候,将用户名(数据库中唯一)+当前时间封装为字符串加密,返回给移动端,而移动

2015-02-13 17:43:47 2558

原创 php权限管理

在用php做后台管理系统时,

2014-11-03 13:38:03 2190

原创 php 将excel导入到mysql数据库

在实现OA系统中,我们会遇到如何将excel文件中的数据导入的mysql的问题,其解决方法如下:关键是其实现类:PHP-ExcelReader 下载地址: http://sourceforge.net/projects/phpexcelreader 因为现在是PHP5 而其实现类在现在的浏览器中会出现不兼容的问题,所以我们需要对source文件进行编辑才能正常使用。错误一:De

2014-11-03 13:15:55 581

数据库系统实现(第二版)

数据库系统实现(第二版)翻译:杨冬青,吴愈青,包小源

2018-06-06

计算机类考研机试问题总结

此资料为本人考研时的总结,对考研机试常见问题做了总结,可进行研究

2018-06-03

计算机网络(第7版)谢希仁

高清非扫描版,计算机网络第7版谢希仁著,可以做笔记,可标注

2018-06-02

head first工厂模式

head first 工厂模式学习笔记

2017-08-23

观察者模式

head first观察者模式学习笔记

2017-08-23

head first策略者模式

head first策略者模式学习笔记

2017-08-23

w3cshool离线电子书chm最新(html5 css3)

2013年更新w3cshool中文文档,包含了最新的html5\css3

2014-11-05

Ext4.x Doc中文版

ext4.x的中文翻译api文档,中文版的,

2014-11-03

空空如也

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

TA关注的人

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