Angular1距离2009年发布已经好多年了,Angular2也已经出了Beta版,估计今年就能正式发布.大多数人对于Angular1.X的认识仅限于能够在项目中使用,对于其中的深层原理知道的并不多.市面上也没有特别好的介绍Angular实现原理的教程或者书籍.今天在看技术文档的时候偶然发现了一本比较好的Angular底层原理书籍<build your own AngularJS>,费了好大功夫买下了全本,随之开始了Angular1.X的底层实现的探索之旅.本系列文章会按照书中的章节,每一章…
在上一节项目初始化中,我们最终得到了一个可以运行的基础代码库,它的基本结构如下: 其中node_modules文件夹存放项目中的第三方依赖模块,src存放我们的项目代码源文件,test存放测试用例文件,.jshintrc是jshint插件的配置文件,karma.conf.js是karma的配置文件,package.json是npm的配置文件,结构其实很简单.从本节开始,会在这个代码库的基础上进行我们自己Angular的实现. 首先,在写代码之前,在命令行中输入npm test命令,让我们的测试用…
java8+spring+angularjs 项目应用 最近有写一个电子订单商务网站,使用JAVA8,SPRING,ANGULARJS对项目使用的技术和大家分享. 第一次写博客,哪有不对需要改正的请联系改正. 因为是项目是我给别人做的无法提供源码见谅,我尽最大努力让大家能看懂. 首先从项目的构建开始,我采用的gradle构建项目,使用的版本是2.4. 开发环境用的IDEA 14,项目数据库使用的是SQL SERVER. Spring Boot 技术文档:http://docs.spring.io…
在上篇文章里面我们说到了Github账号的申请与配置 那么当你有了Github账号并创建了一个自己的Github项目之后,首要的当然是搭建自己的项目框架啦! 本人对自己的定位是web前端狗,常用开发框架是angular,所以在这里主要说Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架. 什么是Yeoman? Yeoman是Google的团队和外部贡献者团队合作开发的,他的目标是通过Grunt(一个用于开发任务自动化的命令行工具)和Bower(一个HTM…
微信公众号[黄小斜]作者是蚂蚁金服 JAVA 工程师,专注于 JAVA 后端技术栈:SpringBoot.SSM全家桶.MySQL.分布式.中间件.微服务,同时也懂点投资理财,坚持学习和写作,相信终身学习的力量!关注公众号后回复"架构师"即可领取 Java基础.进阶.项目和架构师等免费学习资料,更有数据库.分布式.微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南.Java程序员面试指南等干货资源. 当前环境 jdk == 1.8 代码地址 gi…
构建自己的AngularJS,第一部分:Scope和Digest 原文链接:http://teropa.info/blog/2013/11/03/make-your-own-angular-part-1-scopes-and-digest.html Angular是一个成熟和强大的JavaScript框架.它也是一个比较庞大的框架,在熟练掌握之前,需要领会它提出的很多新概念.很多Web开发人员涌向Angular,有不少人面临同样的障碍.Digest到底是怎么做的?定义一个指令(directive…
一.需求 使用spring去管理web项目,是目前非常流行的一种思路,本文将介绍使用maven+spring 4.0.2 来构建一个简单的web项目. 二.实现 1.新建一个maven项目,如下图所示: 这里因为是构建web项目,所以,选择的是webapp. 项目的架构图: 2.在pom.xml中添加所依赖的jar包,如下所示: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww…
webpack是时下十分流行的编译和打包工具,它提供一种可扩展的loader的方式,简单的配置,便可以编译打包各类型的文件,包括js.css.image.font.html,以及各种预编译语言都不在话下. 一.回顾与思考 在上一节的[入门:十分钟自动化构建]中我们讲解了如何用gulp去搭建一个工作流.我们认识到gulp是一个流程管理工具,以单个任务为基础单元,组合成为一套完整的工作流,而且gulp还有很多的以gulp-*格式命名的工作模块,用来处理各种资源文件,如果没有看过上一节内容的同学,建议…
AngularJS+requireJS项目的目录结构设想 准备用AngularJS + require.js 作为新项目的底层框架,以下目录结果只是一个初步设想: /default    放页面,不过对于one page 项目,可能里面需要建一个partials文件夹: /develop   放测试及web server相关的东西,这个是不需要部署到正式环境的,所以从static中分离出来了 /static      css+img+js+partials+r.js+build.js,后面两个是…
SpringBoot构建电商基础秒杀项目 学习笔记 系统架构 存在问题 如何发现容量问题 如何使得系统水平扩展 查询效率低下 活动开始前页面被疯狂刷新 库存行锁问题 下单操作步骤多,缓慢 浪涌流量如何解决 源码:spring-boot-seckill…
SpringBoot构建电商基础秒杀项目 学习笔记 新建表 create table if not exists promo ( id int not null auto_increment, promo_name varchar(64) not null default '', start_date datetime not null default '0000-00-00 00:00:00', end_date datetime not null default '0000-00-00 00…
SpringBoot构建电商基础秒杀项目 学习笔记 新建表 create table if not exists order_info ( id varchar(32) not null default '', user_id int not null default 0, item_id int not null default 0, item_price double(10, 2) not null default 0, amount int not null default 0, orde…
SpringBoot构建电商基础秒杀项目 学习笔记 ItemDOMapper.xml 添加 <select id="listItem" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from item order by sales desc </select> ItemDOMapper 添加 List<Item…
SpringBoot构建电商基础秒杀项目 学习笔记 新建数据表 create table if not exists item ( id int not null auto_increment, title varchar(64) not null default '', price double(10, 0) not null default 0, description varchar(500) null default '', sales int not null default 0, i…
SpringBoot构建电商基础秒杀项目 学习笔记 修改 UserModel 添加注解 public class UserModel { private Integer id; @NotBlank(message = "用户名不能为空") private String name; @NotNull(message = "性别不能不填写") private Byte gender; @NotNull(message = "年龄不能不填写") @Mi…
SpringBoot构建电商基础秒杀项目 学习笔记 userDOMapper.xml 添加 <select id="selectByTelphone" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from user_info where telphone = #{telphone,jdbcType=VARCHAR} </…
SpringBoot构建电商基础秒杀项目 学习笔记 UserService 添加 void register(UserModel userModel) throws BusinessException; UserServiceImpl 添加 @Override @Transactional // 事务操作 public void register(UserModel userModel) throws BusinessException { if(userModel == null){ thro…
SpringBoot构建电商基础秒杀项目 学习笔记 BaseController 添加 public static final String CONTENT_TYPE_FORMED = "application/x-www-form-urlencoded"; UserController 添加 需添加 @CrossOrigin 注解,解决跨域问题 @Autowired private HttpServletRequest httpServletRequest; @RequestMapp…
SpringBoot构建电商基础秒杀项目 学习笔记 定义通用的返回对象 public class CommonReturnType { // success, fail private String status; // status = success, data 内返回前端需要的 json数据 // status = fail, data 内使用通用的错误码格式 private Object data; public static CommonReturnType create(Object…
SpringBoot构建电商基础秒杀项目 学习笔记 修改 DOMapper 在 UserPasswordDOMapper.xml 添加: <select id="selectByUserId" parameterType="java.lang.Integer" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> f…
SpringBoot构建电商基础秒杀项目 学习笔记 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包, Spring Boot 整合了所有的框架,并通过一行简单的 main 方法启动应用 使用 IDEA 新建 maven-archetype-quickstart 项目 添加 Spring Boot 依赖 <parent> <groupId>org.springframework.boot</groupId…
什么是移动端路由层: 路由层的概念在服务端是指url请求的分层解析,将一个请求分发到对应的应用处理程序.移动端的路由层指的是将诸如App内页面访问.H5与App访问的访问请求和App间的访问请求,进行分发处理的逻辑层. 移动端路由层需要解决的问题: 对外部提供远程访问的功能,实现跨应用调用响应,包括H5应用调用.其他App应用调用.系统访问调用等 原生页面.模块.组件等定义,统称为资源(Resource),在跨应用调用和路由层在不同端实现的业务表现需要一致的前提下,需要对资源进行定义,在路由提供…
Java网络编程与NIO详解2:JAVA NIO一步步构建IO多路复用的请求模型 知识点 nio 下 I/O 阻塞与非阻塞实现 SocketChannel 介绍 I/O 多路复用的原理 事件选择器与 SocketChannel 的关系 事件监听类型 字节缓冲 ByteBuffer 数据结构 场景 接着上一篇中的站点访问问题,如果我们需要并发访问10个不同的网站,我们该如何处理? 在上一篇中,我们使用了java.net.socket类来实现了这样的需求,以一线程处理一连接的方式,并配以线程池的控制…
1.Spring 框架由6个模块组成 上图是spring4的结构图,不同版本结构略有差异,但模块都是相同的. 2.Core Container 核心容器 容器是Spring的核心部分,Core Container 模块是Spring框架的基础,所有模块都构建于核心模块之上. Beans : Beans模块是所有应用都要用到的,它包含访问配置文件.创建和管理bean以及进行Inversion of Control / Depen-dency Injection(IoC/DI)操作相关的所有类. C…
通过阅读本文你将了解到:如何将已有SpringBoot项目改成多模块 & 如何新构建多模块SpringBoot项目 以下示例基于我正在使用的order(订单服务)进行演示,无论你用的是什么项目,原理都是一样的,这里不要纠结使用的是什么服务.  修改最外层pom文件 最外层pom文件是用来管理其他子模块的父级pom,重点将<packaging>节点修改为pom,修改前<packaging>可能是jar或war 这里修改成pom是因为打包时,父pom是依赖于子pom进行打包的,…
Django入门第一步:构建一个简单的Django项目 1.简介 Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序.在本文中,将通过示例跳入并学习Django.您将按照以下步骤创建功能完备的Web应用程序,并一路学习框架的一些最重要的功能以及它们如何协同工作. 学习目标: 了解Django是什么以及为什么他是一个伟大的web框架 了解Django的体系结构以及与其他框架的对比 独立搭建一个简单的Django项目和应用程序(app) 2.为什么要学习Django…
AngularJS Seed 是典型 AngularJS web 应用的应用骨架,可以快速启动你的 AngularJS webapp 项目和这些项目的开发环境. AngularJS Seed 包括一个示例 AngularJS 应用,预配置安装 Angular 框架,为满足即时 Web 开发提供一些开发和测试工具. Seed 应用只是展示如何连接两个控制器和视图.. 开始 准备条件 你需要先用 git 将angular-seed克隆到自己的本地,然后安装它的依赖. 如果你没有安装过git,你可已再…
本文转载自:https://github.com/jasonGeng88/blog 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章将同步到我的个人博客: www.how2playlife.com 本文是微信公众号[Java技术江湖]的<不可轻视的Java网络编程>其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透彻,也…
有手就行5--jenkins项目构建类型(pipeline流水线项目构建推荐) Pipeline简介 1) 概念 Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作. 2) 使用Pipeline有以下好处(来自翻译自官方文档): 代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程. 持久:无论是计划内的还是计划外的服务器重启,P…
react-native 项目初始化 搭建java,android,node环境 http://www.cnblogs.com/morang/p/react-native-java-build.html 全局安装脚手架 npm install react-native-cli -g 使用react-native-cli初始化项目 react-native init 项目名称 修改android/gradle/wrapper/gradle-wrapper.properties文件的distribu…