- Angular 8正式发布
天天向上卡索
原文地址:https://www.cnblogs.com/haogj/archive/2019/05/29/10942551.htmlAngular8-更小的包,CLIAPI以及与生态保持一致Angular8现在发布了!这是跨越整个平台的重要发布,包括框架、AngularMaterial,与主版本同步的CLI。该发布改进了应用程序在现代浏览器上的启动时间,提供了开发CLI的新的API,保持了Ang
- 优化体验:首屏优化,除了Loading动画还有什么
贪心xiong
目标防止页面刷新的瞬间空白效果动画效果实现方法介绍(基于Angular8)01AngularUniversal(首屏输出)02使用ngIf方法以及Index.html写入动画03补充点:如何只用Angular与cordova直接打包(windows)01AngularUniversal官网文档:https://angular.io/guide/universal《Angular5服务端渲染实战》:
- Angular 8 oauth2 oidc
bei6
angular8oauth2oidc依赖angular8angular-oauth2-oidc特点支持单点登录默认走sessionStorage存储,关闭浏览器自动清除登录状态支持外部配置auth设置[计划中]修改配置下面列举最常用的三个配置打开app.component.ts中的configure方法中:issuer配置认证服务器redirectUri配置回调页clientId配置client唯
- Angular8 实战(十)【组件封装】分离封装第一个组件
七七_77_77
本章主要讲解如何封装组件组件封装的意义组件重用简化逻辑对于之前的代码,我们都直接写在了根组件中,但是我们目前只写了导航栏部分,还不包含页面上的其它部分,如商品列表、底部菜单栏等,理论上来说,所有组件都可以写在根组件中。但是,不仅根组件负荷大,也不利于代码的维护。如果是多人合作的项目,更不建议这样做。对于一个组件来说可以被一个工程中的不同模块使用,甚至可以被不同工程重用,一定程度上减少了代码重复编写
- 2020-11-27
海盐腌渍的咸鱼
Angular8.x学习随笔一、Angular绑定数据1.public共有默认可以在这个类使用,也可以在类外面使用private私有只有当前类可以访问这个属性protectel保护类型只有当前类和它的子类可以访问使用2.数据文本绑定使用{{}}3.绑定HTMLthis.h="这是一个h2标签"二、数据循环1*ngFor普通循环{{item}}component.ts中代码items=['循环1',
- ECharts雷达图的普通实现及angular8中的实现
Greg_Zhong
echartsangular
题一1.保存为本地html文件,可直接看到效果~Document//1.ECharts最基本的代码结构;//2.定义各个纬度的最大值,通过radar属性配置;//3准备产品数据设置给series下的data;//4健type的值设置radar//基于准备好的dom,初始化echarts实例//varmyChart=echarts.init(document.getElementById('main
- Angular8 实战(二十)模块的划分
七七_77_77
本章学习模块的划分先来看一下模块中的“坑”导入其它模块时,需要知道使用该模块的目的如果是组件,那么需要在每一个需要的模块都进行导入如果是服务,那么一般来说在根模块中导入一次即可需要在每个需要的模块中进行导入CommonModule:提供绑定、ngIf和ngFor等基础指令,基本上每个模块都需要导入它。FormsModule/ReactiveFormsModule:表单模块需要在每个需要的模块导入提
- angular 控件css_angular组件样式不生效
小飞侠的刀刀
angular控件css
在本周的项目中有一个需求,对处于两种不同状态的计算机列表赋予不同的颜色方便更加醒目的区分,完工后的效果如下。解决思路——rowClassName项目使用了ng-alain,作者提供了许多方便的方法与属性,所以解决这个问题并不太难,张喜硕学长直接给我说了使用rowClassName这个属性。0开始的时候我以为这个类名是对象那个类,还在思考应该怎么写,后来听张喜硕学长一说才明白,这是css的那个类,那
- 【解决方案】win10安装angular8的踩坑记录——ng : 无法加载文件 D:\Program Files\nodejs\ng.ps1
向着光芒的女孩
前端笔记解决方案javascriptangular.jsnpmnode.js
用的vscode的终端来进行安装的node和npm看版本已经把node安装到目前最新稳定版了,node是12.14.1,npm是6.5.0cnpm看版本:6.1.0全局安装AngularCLIcnpminstall-g@angular/cli4.看是否安装成功输入ngversion结果报错:ng:无法加载文件D:\ProgramFiles\nodejs\ng.ps1,因为在此系统上禁止运行脚本。挣
- Angular8升级至Angular13遇到的问题
富朝阳
Angularangular.js前端javascriptangulartypescript
根据项目需求,需要把Angular版本从8升级到13,无法从8直接升至13,需要一级一级的升级,本文介绍了在升级Angular版本的时候的一种报错和解决办法。一、开始之前首先确保你Node.js>=12.20创建新的分支,或者使用其他方式备份当前项目删除项目下yarn.lock或package-lock.jso二、升级步骤(一级一级的升级)阅读下官方升级文档:AngularUpdateGuide升
- 2020年四月复盘| 忙碌与收获
爱喝茶的小姐姐
【四月最有成就感的事】♡工作上完成了发布版本看板,迭代看板,变更作业♡利用下班时间,学习了es6-es10的视频课程以及angular8拼多多视频,各完成一半。♡我跟老公相继发了年终奖。♡还清了外债♡周末加了三天班【财务】♡本月开销比较大,总共花了6400。主要在买衣服,和筹办婚礼上♡发了年终奖,有了存款。♡闲鱼上卖掉了两件闲置物品【本周小确幸】♡去了两次长申超市,吃了一次沙县。♡白鹭园逛了一次。
- LIMSChain半月报10月20-11月5日
limschain
LIMSChain半月10月20日-11月5日伙伴们,LIMSChain半月报于每月5号和20号发布项目进度,如遇节假日,则顺延至工作日发布,敬请关注!LIMSChain检测报告1、优化报告表格功能2、修复检测报告模板功能3、pdf报表解析功能及完善,bug修复4、报表自定义功能5、angular8迁移测试6、excel生成功能LIMSChain样品管理1.【优化】样品检测结果时间更新2.【优化】
- Ionic4+angular 安卓打包 签名包(release 包)
胡桃Ku
前言项目环境为ionic4+angular8记一套简单的安卓签名包打包方法。1.生成.jks签名文件找到本机javajdk路径如:C:\ProgramFiles\Java\jdk1.8.0_131\bin打开管理员权限命令行工具(下图示例用的ruby,node命令行也行)到上述路径,执行keytool-genkey-v-keystore项目名.jks-keyalgRSA-keysize2048-v
- 在Angular 8中使用自定义MultiSelect下拉菜单创建动态行
寒冰屋
web前端Angular8MultiSelect动态行
目录介绍如何工作?先决条件使用代码第1步第2步第3步第4步第5步第6步第7步第8步第9步第10步第11步结论介绍在本文中,我们将学习如何使用Angular8创建动态行和自定义多选下拉列表。用于Web应用程序的Angularmultiselect下拉组件易于集成和使用。它可以绑定到任何自定义数据源。如何工作?Angular中已经提供了Multidropdown复选框,称为ng-multiselect
- Angular8 实战(十九)模块的概念
七七_77_77
本章学习Angular中的模块Angular官网解释翻译Angular应用是模块化的,它拥有自己的模块化系统,称作NgModule。一个NgModule就是一个容器,用于存放一些内聚的代码块,这些代码块专注于某个应用领域、某个工作流或一组紧密相关的功能。它可以包含一些组件、服务提供者或其它代码文件,其作用域由包含它们的NgModule定义。它还可以导入一些由其它模块中导出的功能,并导出一些指定的功
- 2020年四月计划|一步一个脚印
爱喝茶的小姐姐
【学习】☆完成angular8开发拼多多学习☆完成es6课程学习【工作】☆利用好上班时间,提高工作效率,上班拒绝聊天。【生活】☆减肥,晚上少吃饭或者不吃饭,打卡,目标瘦到120斤以下。☆关注肩颈【健康】☆去医院查一下幽门,如果有,吃药做调理。☆关注肩颈,做活动颈椎部位。☆多喝水,不久坐或者久站。【读书】☆读完一本书,并做读书笔记【财务】☆开销控制在5500以内☆还清外债【微习惯】☆早起喝一杯水☆坚
- Angular 8 正式发布!
蘑菇不寂寞
局长发布于2019年05月29日Angular团队今天宣布推出Angular8正式版。作为一个期待已久的重大版本更新,Angular8为框架、AngularMaterial和命令行界面工具AngularCLI带来了大量的改进和新功能。团队表示Angular8显著减少了在现代浏览器中应用程序的启动时间、提供了用于定制CLI的新API,并让Angular与生态系统以及更多的Web标准保持一致。下面继续
- Angular8 实战(十七)轮播图组件
七七_77_77
本章主要内容是完成这个轮播图组件~首先来修复一下上两个章节中的bug,滚动顶部菜单时,轮播图部分也会被滚动。原则上来说菜单和轮播图的滚动互不影响。这是由于Scrollable-tab中的ul没设置overflow-x样式。修改如下:17-1.gif修改图片样式17-2.gif自定义图片高度把轮播图中的高度设为自定义属性,那么其它组件调用时可根据需求传入高度。17-3.gif自动轮播每隔2秒指定滚动
- Angular8 实战(十六)在模板中引用多个元素
七七_77_77
上一章学习了在组件类中通过ViewChild去引用模板中的元素,是通过引用名引用的。但是ViewChild不只可以指定引用名引用,也可以指定组件类型来引用。@ViewChild比如引用image-slider组件,那么使用方法如下:@ViewChild('ImageSliderComponent',{static:true})imageSlider:ImageSliderComponent;所以,
- Angular8升级到Angular9以及报错解决
爆裂吧叶子
练习node.jsangularcliangular9
升级8->9升级方式和之前版本更新差不多,想看详细解释的可以看我之前的博客,这里直接放升级的code。1.升级全局AngularCLInpminstall-g@angular/cli@latest2.解决CLI和程序CLI版本不一致问题npmrebuildnode-sass3.(可选)升级kendo组件,没有的直接到跳到4npminstall-gnpm-check-updatesncu-u-f/^
- angular和ng-alain前端跨域的问题
W不知我者怎居我心
angular是前端框架之一,相对vue和react比较,angular的难度是很大的,对于零基础的的开发着来说,需要下开打的功夫,多看文档,废话不多说了,直接上干货,希望能帮助到你,助你一臂之力!1.第一步:再项目的根目录新建一个文件,(不是文件夹!!!!!);我新建文件名称为:proxy.conf.json2.第二步:再proxy.conf.json文件里面写:{"/api":{"target
- 如何更好使用 ng-zorro-antd 图标
cipchk
自ng-zorro-antd1.7.x以后图标发生破坏性变更,虽然带了诸多优势,同时也带来几个劣势:若采用动态加载会产生额外的HTTP请求若静态加载需要逐一注册图标st组件的format参数无法直接指定图标ng-alain默认使用静态加载的做法,毕竟后端使用图标相对于比较有限,即使将svg都打包进脚本相比较之前整个styles体积上是所有减少,但比较并不多。而针对以上问题,ng-alain提供几种
- jeecg-boot sql注入漏洞解决
宁波阿成
java开发jeecg-bootsql数据库
输入下面的链接地址,就会出现下面的获取数据,这个漏洞还是比较严重的啊http://localhost:8080/nbcio-boot/sys/ng-alain/getDictItemsByTable/'%20from%20sys_user/*,%20'/x.js通过上面方式可以获取用户信息了如下:@RequestMapping(value="/getDictItemsByTable/{table}
- ngAfterViewInit( ) to early /// ngFor和异步网络请求导致无法选中目标元素的问题
董厂长
JSRXJSangularangular.js前端javascript
今天遇到的最无语的问题:angular8版本以上,我在ngafterViewInit()中选取元素选取不到,加上setTimeOut()之后才可以选中网上的解释:Angular的ngAfterViewInit生命周期钩子是在组件视图的子视图初始化完成之后被调用的。但是如果您遇到了在ngAfterViewInit中某些元素仍未完全初始化的问题,可能是因为这些元素在ngAfterViewInit被调用
- angular8教程(7)-图片预览并上传
紫馨_1bde
本篇教程将以上传头像为例说明如何预览图片并上传给服务器端。首先,我们需要在界面上放置一个选取本地图片的控件。html中的表单输入控件input,type为file可以满足这一需求。而ng-zorro的框架在这一基本控件的基础上封装了一个专门用于上传图片的控件即上传upload。但是文档上提供的这个控件用法默认是选取图片后直接上传的,而我希望选取图片后先显示预览,待用户点击提交后再以整个表单的形式上
- Angular8 实战(十八)组件的双向绑定
七七_77_77
本章讲解组件的双向绑定~首先新建一个网格组件,本章并不会实现其内容,只是用来演示一下组件的双向绑定。新建组件的过程就不再此赘述。18-1.png其实之前我们的案例中已经多次使用了,那么双向到底是什么?看一下小示例18-2.gif[value]=“username”--绑定username值到input的value(input)="表达式"--绑定表达式到input的input事件username=
- angular8+threejs 如何架构项目+分离模型+模型动画调用+动画暂停/继续
候鸟_ywh
原因:threejs在运用的时候因为是没有html全都是js,所以我想把每个模型都分成不同的service来处理,而且事件也分离到自己的service里面附加模型下载地址:传送门结构事例(有点乱没整理求不要骂)image.png下面直接上代码吧1、新建ng项目(不多说了);2、新建一个base.ts(angular8+threejs入坑文中有详细说明),主要是用于存放一些threejs场景的基本元
- chatGPT测试:angular 8以上,word转pdf的组件生成
董厂长
angular.jsjavascriptecmascript
User:帮我写一个angular8以上,word转pdf的组件assistant:好的,下面是一个示例Angular8+组件,使用`docx-to-pdf`库将Word文档转换为PDF格式。首先,你需要安装以下两个库:1.`docx-to-pdf`:用于将Word文档转换为PDF格式。2.`file-saver`:用于将转换后的PDF文件保存到本地。你可以使用以下命令来安装这两个库:```npm
- Angular6升级到Angular8报错问题的解决合集
目录1.polyfills.ts中reflect文件丢失2.@anguar/http不兼容3.kendoCSS报错4.typescript不兼容问题总结1.polyfills.ts中reflect文件丢失报错如下ERRORin./src/polyfills.tsModulenotfound:Error:Can'tresolve'core-js/es7/reflect'in'E:\AJ\update
- 关于angular8 升级到9样式问题 bootstrap4 reboot.scss
MAYDAY77
具体参考https://www.csdn.net/tags/NtzaYgzsMTcwOTMtYmxvZwO0O0OO0O0O.html担心链接失效,直接复制粘贴,非个人文章。查看Bootstrap4的新重置:Reboot.css2020-07-2105:29:42I'vebeenwantingtowritethisarticleforalongtime-sinceAugust25,2015tobe
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http