web前端

【Three.js】1-1-创建一个旋转的立方体

概述 Three.js是一个前端的3D渲染库。 效果展示: 首先请大家想想一下自己照相的时候,我们抓着手机(考虑现在摄像头已经是手机标配了,且手机比摄像机普遍,故以手机为例),我们在屏幕里看到了现实世界的真实场景,这是将3D世界显示在了2D屏幕上。我们使用Three.js开发3D应用时,就需要基于这个最简单的场景来进行开发。 好了下面开始我们的第一个例子 —— 在网页中创建一个旋转的立方体。 第一步先来创建我们的网页结构,如下: My first Three.js app

下面我们的所有代码都写在第二个Script

  • zgljl2012
5 min read
web前端

AngularJs实现基于角色的前端访问控制

Github 项目地址 [https://github.com/zgljl2012/angular-permission] 最近做的项目是使用Angular做一个单页应用,但因为用户有不同的角色(管理员、编辑、普通财务人员等),所以需要进行不同角色的访问控制。 因为后端访问控制的经验比较丰富,所以这里只记录了前端访问控制的实现。请注意,前端最多只能做到显示控制!并不能保证安全,所以后端是一定要做访问控制的! 基于角色的访问控制需要做到两个层面的访问控制: 1. 控制页面路由的跳转,没有权限的用户不能跳转到指定url 2. 页面元素的显示控制,没有对应权限的用户不能看到该元素 但在此之前,我们还有一项重要的事要做。 存储用户信息 首先我们要做的,并不是和访问控制有关的事,首先我们要保存好用户信息。包括用户的基本信息,

  • zgljl2012
7 min read
python

【Python Requests开发文档 2.10】快速上手

下面我们就开始学习Requests简单优雅的API吧! 首先,请先确保自己Requests已经安装好了。 我们将通过下面的例子来学习Requests: 1. 发起请求 2. Get请求给url添加参数 3. Response的内容 4. 二进制响应 发起请求 打开控制台,输入: >>> import requests 引入requests模块 下面来获取一个网页,作为示例,我们来获取一下百度的首页: >>> r = requests.get("https://www.baidu.com") 好了,这个 r 就是我们获取的Response对象,从r中能获取所有我们需要的信息。

  • zgljl2012
3 min read
python

【Python Requests开发文档 2.10】安装与源码获取

目录 [http://www.zgljl2012.com/2016/08/04/python-requestskai-fa-wen-dang-2-10-mu-lu/] pip install requests Python的包安装都很简单,打开一个控制台,使用下面这条命令就好: $ pip install requests 如果你没有安装pip的话,可以看这里 [http://docs.python-guide.org/en/latest/starting/installation/]. 获取源码 Requests的源码托管在了Github上,可以直接访问https://github.com/

  • zgljl2012
1 min read
python

【Python Requests开发文档 2.10】简介

目录 [http://www.zgljl2012.com/2016/08/04/python-requestskai-fa-wen-dang-2-10-mu-lu/] 1. 理念 Requests基于部分PEP20的理念开发而成: 1. 美丽胜于丑陋 2. 明确胜于含糊 3. 简单胜于复杂 4. 复杂胜于难懂 5. 重视可读性 Requests遵循这些理念,所以比起urllib2这些库来,既算得上是“傻瓜式”,又有着优雅的API。 > Python Enhancement Proposals (PEP)是1999年Tim Peters提出的Python编程语言设计中的20条软件开发理念。

  • zgljl2012
2 min read
web前端

【Web前端-Gulp】安装Gulp

> gulp: 用自动化构建工具增强你的工作流程! —— Automate and enhance your workflow!其有着易于使用,构建快速,高质量插件丰富等众多优势。 一直都想学一下gulp和grunt,借着工作上的一个项目,终于找到机会了。下面开始第一步,安装! 1. 安装node.js 这一步太简单,直接网上去官网下载对应平台的node版本,安装即可(记得将其加入环境变量)。 2. 创建一个项目文件夹,打开一个控制台窗口(有git的可以打开gitbash) 全局安装使用:npm install --global gulp 项目目录下安装使用:npm

  • zgljl2012
1 min read
金融

区域链技术简介

概述 自从2008年中本聪发表《比特币:一种点对点的电子现金系统》白皮书以来,比特币方兴未艾。而比特币的底层技术——区块链技术出人意料地逐渐火了,甚至有人称区块链技术可能成为全球网上信任的基石。 什么是区块链 比特币网络中,数据以文件的形式被永久记录,我们称之为区块 。一个区块是一些或所有最新比特币交易的记录集,且未被其他先前的区块记录。区块可以想像为一个城市记录者的记录本上的单独一页纸(对房地产产权的变更记录)或者是股票交易所的总帐本。 每一个区块有如下的信息: 区域信息 本区域摘要值:00006E45 上一域摘要值:00006D34 本区域填充数:3D90DEA0 交易信息 交易1 交易2 …… 交易2008 各个区块连成链就成了区块链。 区域链的性质 区域链技术的四个基本性质:

  • zgljl2012
2 min read
设计模式

【Python设计模式】概述

设计模式是面向对象设计领域经久不衰的话题。它虽然不是银弹,但要设计一个可维护、可扩展的系统,经过前人验证后的设计模式能给设计者提供巨大的帮助。 最初学习的设计模式是Java版的,现在转到了Python。Python是一门很简洁的语言,许多复杂的功能往往只需要安装一个第三方包,然后写一个函数便可实现自己想法,非常方便。但当我试图用Python写一个可扩展的系统时(能爬取全国各省企业的信用信息的系统),遇到了很大的麻烦。开始只是使用函数以及模块实现功能,本来还有种回到了刚写代码时写C语言头文件和函数的亲切感,但代码越写越多时——因为需要对每一个省的验证码进行分析破解以及对索引列表信息、详细信息的爬取——一种深深的无力感就袭来了。我知道,面向过程已经不管用了。于是开始用起了Python中的面向对象进行封装。 在开始使用面向对象的时候,自然而然地就想到了设计模式。于是在网上找了找资料,意外地Github上找到了一群外国大牛(项目贡献者们)开源的一个Python设计模式项目。所以,就有了这一系列文章。代码就不客气地Github这个开源项目的代码。开源项目的地址在此

  • zgljl2012
2 min read
设计模式

【Python设计模式】Factory Method 工厂方法模式

工厂方法模式是一种创建型模式,即一种用于创建对象的模式。举个例子,现在大部分的应用都想要变得international,国际化(特别是现在面临超强监管下的手游行业)。那国际化的第一步是什么呢?当然是语言的国际化,文化、历史这样的先搁一边,得先让人看懂,再来让人喜欢。所以我们第一步就必须让应用能做到能切换语言,要做到切换语言其实很容易,比如下面这段: if lan is 'Chinese': dog = "狗" cat = "猫" else lan is 'English': dog = "dog" cat = "cat" 这样做简单是简单,但不方便,

  • zgljl2012
3 min read
Java

Java正则表达式实现${name}形式的字符串模板

在开发中类似站内信的需求时,我们经常要使用字符串模板,比如 尊敬的用户${name}。。。。 里面的${name}就可以替换为用户的用户名。 下面使用正则表达式简单实现一下这个功能: /** * 根据键值对填充字符串,如("hello ${name}",{name:"xiaoming"}) * 输出: * @param content * @param map * @return */ public static String renderString(String content, Map map){ Set

  • zgljl2012
1 min read
设计模式

动态代理

代理模式是设计模式中一个非常重要的模式,代理模式有两个角色,一个是代理类,一个是委托类,委托类也是真正的业务类,两者都有相同的接口; 代理类主要负责为委托类预处理消息、过滤消息、把消息转发 给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象并不真正实现服务,而是通过 调用委托类的对象的相关方法,来提供特定的服务。 Spring中的AOP基本原理就是动态代理。 代理模式可以根据代理类创建时期的不同分为两种: * 静态代理:程序员需要编写特定的源代码,在程序运行前,.class已存在 * 动态代理:在系统运行时,Java反射自动生成 静态代理就不记录了,值得好好学学的是动态代理。学习动态代理首先要学一下Java反射,它的实现常见的有两种: * JDK提供的InvocationHandler 接口和java.lang.

  • zgljl2012
8 min read
zgljl2012@gmail.com