- java学习日志
大春儿的试验田
javajava
java学习日志不定时更新2019-12-241:算数运算符和字符串拼接2:方法3:方法-返回2019-12-25部署java环境参考教程java开发环境配置—JDKjava开发环境配置—Mavenjava开发环境配置—IntelliJIDEA第一个Java应用程序2019-12-26ε=(´ο`*)))唉,这是什么神仙语言练习题1/从控制台输入一行字符串去除字符串中的所有串空格打印去除空格后的字
- Java学习日志Day39_javascript的使用
igfff
学习javajavascript
一、js的引入js的引入举例:引入javavscript-->用户名:密码://用户输入内容之后,鼠标光标移出文本输入框----失去焦点触发失去焦点事件functiontestUserName(){//通过js的dom方式(documentObjectModel:文档对象模型编程)//通过id获取input标签对象并且同时获取里面的内容varusername=document.getElement
- JAVA学习日志
北城相拥£
java
int和Integer有什么区别?谈谈Integer的值缓存范围int是整形数字,是Java的8个原始数据类型(PrimitiveTypes,boolean、byte、short、char、int、float、double、long)之一。Java语言虽然号称一切都是对象,但原始数据类型是例外Integer是int对应的包装类,它有一个int类型的字段存储数据,并且提供了基本操作,比如数学运算、i
- JAVA学习日志
北城相拥£
java学习
今天主要学习了java的计算问题、常量以及一个复合数据类型复合数据类型复合数据类型包括:class类、interface接口、数组。null索引在运行时并没有对应的类型,但它可以被转换为任何类型(不能是简单类型)。索引类型的默认值就是null.Java精确计算问题关键字strictfp是strictfloatpoint的缩写,指的是精确浮点,它是用来确保浮点数运算的准确性。JVM在执行浮点数运算时
- java学习日志(三)-- 类、方法、UML图及对象知识点粗略归纳
铁匠铺掌柜
java学习日志类体构成方法构成构造器uml对象
1、java类体组成。Java类的组成主要有3部分:数据成员、构造方法、方法成员。⑴数据成员:数据成员是类的属性,声明该类的对象所具备的属性。声明数据成员往往需要声明以下几项:①权限修饰符(Java中权限修饰符有4种,在以后文章中会介绍):本例中使用的是私有权限private。在大多数情况下,都建议数据成员使用私有权限。②数据类型:数据成员必须指明其数据类型,本类中使用的类型有String和Int
- Java学习日志
m0_74091229
javajvmjar
目录目录Java的数据类型基本数据类型引用数据类型面向对象封装private关键字继承使用super调用父类中重写的方法、访问父类中被隐藏的字段多态组合初始化快抽象类:接口:集合CollectionArrayListLinkedListMap泛型常见修饰符学习:半成品因为前面几天Java学的很烂,进了项目组后就不能再像之前那样没有目的的去学Java了;首先了解一下Java的运行机制,Java是一种
- 题解,java学习日志(3)
炒饭加蛋挞
java学习servlet
题解U-速算24点D-Bank(标记)E.2xNGridC.FindandReplaceD.OddQueries搜索题组U-速算24点思路:map映射将特定字符转化成规定数字,之后两个for循环枚举所有组合,dfs+,-,*,/操作+回溯,在/的操作中进行判断,最后判断合成数是否==24#include#include#includeusingnamespacestd;intarr[4];char
- 简单搜索&&进阶搜索题解(1) java学习日志(1)
炒饭加蛋挞
学习算法c++
目录简单搜索&&进阶搜索A-DungeonMasterB-FliptileC-FindTheMultipleD-Shuffle'mUpJ-哈密顿绕行世界问题Java学习日志A-DungeonMaster思路:三维的广度优先搜索,自需在方向上添加向上和向下+额外判断高度是否越界,其余同二维#include#includeusingnamespacestd;constintmaxn=35;intl,n
- 简单搜索&&进阶搜索题解(2),java学习日志(2)
炒饭加蛋挞
学习深度优先算法
P-Beat思路:这道题给的图理解了蛮久,a[i][j]表示做完第i题之后做第j题要花费的时间理解这个后就可以dfs第i行搜索花费时间不少于第i题且未做过的题+回溯#includeusingnamespacestd;constintmaxn=20;intn;inta[maxn][maxn];boolvis[maxn];intans;voiddfs(intcnt,intw,intx){
- Java学习日志Day32_jdbc操作事务_反射动态代理(重要的-----Mybatis,Spring -aop动态代理)_html,css(掌握常用标记以及常用css属性样式)
igfff
学习javalinux
一、通过jdbc方式操作事务/*操作myee_2104数据库的账户表account*zhangsan给lisi转账500块钱**需要使用jdbc--创建连接对象之后,同时操作两个sql(参数的sql)*updateaccountsetbalance=balance-?whereid=?;*updateaccountsetbalance=balance+?whereid=?;**操作语句中,第一句成
- JAVA学习日志:FileInputStream的read()读取为顺序读取
GHLANCE
JAVA学习
调用FileInputStream中的read()方法时,read()从输入流中读取的字节是按顺序读取的,并且只读一遍,比如下面的示例代码中,"test.txt"文件里有"abcdef",每次读取3个字符,则第一次读取的为abc,第二次读取的为def。示例代码:FileInputStreamfis=newFileInputStream("test.txt");byte[]b=newbyte[10]
- JAVA学习日志 简单Frame。加载图片,小球的往复运动,线程
fengshileick
线程thread例子
packageMyGame;/***@auther冯世磊*窗口小项目*/importjava.awt.Font;importjava.awt.Frame;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;publicclas
- JAVA学习日志 关于周易数字卦的一个算法
fengshileick
最近开始学习JAVA语言。昨天一天看了尚学堂的视频。13集。学的比较浅,第一个拿来练手的程序就用周易吧。因为经常占卜数字卦,所以利用这个方法写了个简短的程序。设计初期,希望实现输入三个数字,能算出上卦下卦,和变爻。并且画出卦象。importjava.util.*;//一个关于周易测算的程序publicclassZhouYi{publicstaticvoidmain(String[]args){Sc
- Java学习日志-重载和重写的区别
Kaylee_xym
Java学习日志java多态
Java学习日志-重载和重写的区别本文为个人学习总结,如有内容错误,请积极指出,本人一定虚心接受。一、概念重载:我们可以在同一个类中声明多个方法名相同形参列表不同的方法,这些彼此之间构成重载,构造器之间也可以重载。重写:父类继承子类以后,可以对父类中同名同参数的方法进行覆盖操作。二、规则的区别重载:(1)满足“两同一不同”,“两同”:同一个类中;方法名相同。(2)“一不同”:参数列表不同(具体表现
- java学习日志(四)-- EditPlus中实现Java带包的类编译运行(两种方法)
铁匠铺掌柜
java学习日志
初学Java时很多老师不推荐使用Eclipse、IntelliJIDEA等高级工具,因为这些工具帮助我们完成了很多工作,很容易让初学者忽略掉java程序的编写、编译、运行等环节的细节。所以老师往往推荐初学者使用EditPlus、NotePad++等高级记事本工具编写代码,促进对Java的了解。大家应该都知道,不管是EditPlus还是NotePad++,都可以配置java编译及运行环境,这样每次编
- Java学习日志(3)-继承
Insistence____
1.1类、超类和子类eg:classManagerextendsEmployee(关键字extends表示继承){添加方法和域}已存在的类称为超类、基类或父类;新类称为子类、派生类和孩子类。子类比超类拥有的功能更加丰富。在扩展超类定义子类的时候,仅需要指出子类与超类的不同之处。因此在设计类的时候,应该将通用的方法放在超类中,而将具有特殊用途的方法放在子类中。覆盖时,注意子类的方法不能直接地访问超类
- Java学习日志(22-1-GUI概述与窗体事件)
weixin_33859844
为什么80%的码农都做不了架构师?>>>GUI概述(图形用户界面)Java为GUI提供的对象都在java.Awt与javax.Swing两个包中Awt:抽象窗口工具包,需要调用本地系统方法实现功能,属于重量级控件Swing:在Awt基础上建立的一套图形界面系统,提供了更多的组件完全由Java实现,增强了移植性,属于轻量级控件继承关系图/*Container可以添加组件,而同级的Button等不能*
- java学习日志
xujianrj
JAVA
获取当前上下文对象FacesContextfacescontext=FaceContext.getCurrrentInstance();获取response对象HttpServletResponseresponse=(HttpServletResponse)facescontext.getExternalContext().getResponse();获取request对象HttpServletR
- Java学习日志18.8.5
qq_41329519
Java学习日志
Java学习日志18.8.5考试答案Java学习日志18.8.5考试答案**理解题1.根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。2.CSS。使文本文档更加清晰易读。3.文本内容functionleftTimer(year,month,day,hour,minute,second){varleftTime=(ne
- Java学习日志
XYZLHL
Java学习日常
Java学习日志说明:此文章收录个人在JavaSE学习过程中的一些基础知识,以及一些自己爱忘记的知识点。目录Java学习日志一.概念讲解:1.JavaSE,JavaEE和JavaME2.JDK,JRE,JVM的关系二.前期基础(环境搭建安装jdk)Windows10下:2.Linux(Ubantu)下:三.Java基本语法1.Java中的名称命名规范2.变量的本质和分类:3.基本数据类型4.数据类
- java学习日志——循环和循环嵌套:for,while.do···while
木习习
java学习日志
当知道循环次数的时候,我们通常用for()循环for循环结构for(赋值初值;判断条件;赋值增减量){语句1···语句n}我们通过代码来看:publicclassTest{publicstaticvoidmain(Stringargs[]){intsum=0;for(inti=0;i100时,直接跳出循环System.out.println("0-100累加="+sum);}}执行结果:0-100
- Java学习日志(十九): 字符输出流,字符输入流
隔叶听风
JavaEE学习日志
JavaEE学习日志持续更新---->必看!JavaEE学习路线(文章总汇)Java学习日志(十九)字符流ReaderFileReaderWriterFileWriter字符流字节流读取中文时,由于一次只能读写一个字节,一次不能把整个中文字符读全(UTF-8:1个中文=3个字节,GBK:1个中文=2个字节),会出现乱码,所以我们需要使用字符流。字节流与字符流的区别:字节流:一次读写一个字节字符流:
- JAVA学习日志三——小白如何编辑和运行Java源文件
Lnd_Niu
学习一门语言总要学会在哪里编写代码以及如何让编写的代码能运行出来(当然如果出错也需要知道是否出错)那么下面给大家分享2种java运行方法:一:使用记事本编辑Java代码,使用dos系统编译运行和调试源文件首先,新建一个记事本名称使用英文,后缀改为.java然后打开记事本(前面给大家推荐过一个叫做notepad++的文本编辑软件)用起来会比较方便使用记事本编辑代码。当然使用记事本也可以,打开后就可以
- Java学习日志5
小️学程序
学习日志
一、方法(函数)方法,是指完成特定功能的代码块,在很多语言中都有函数的定义,在Java语言中函数被称为方法。方法格式:修饰符返回值类型方法名(参数类型参数名1,参数类型参数名2…){函数体;return返回值;}格式解释:修饰符:比较多,目前publicstatic返回值类型:用于限定返回值的数据类型方法名:一个名称,为了方便我们调用方法参数类型:限定调用方法时传入参数的数据类型参数名:是一个变量
- java学习日志6
小️学程序
学习日志
一、面向对象思想前面的数组需要遍历时,可以将遍历的代码封装到方法中,需要遍历时只需要调用相应的方法即可。在对数组遍历的基础上继续增加需求,比如获取最值,数值逆序等,同样需要将这些功能封装到相应的方法中。这样方法会越来越多,于是就想能不能将这些方法进行封装呢?于是我们就考虑用类来封装多个方法,以后对数组进行操作时,只需要找到这个类,然后使用类中的方法。这就是面向对象编程。面向过程开发:面向着具体的每
- JAVA学习日志(线程)
weixin_34144848
1.进程和线程进程:运行一个速度,程序在内存分配了运行空间线程:在进程中还运行,多个线程之间可以相互的切换。问题进程和线程的关系?进程包括线程。2。单线程和多线程(JAVA抢占)单线程:只有一条路径,必须等第一个执行了才能执行第二个。比如排队吃饭。。。。多线程:有多条路径。。。比如食堂排队的多个窗口。3.线程分为主线程和子线程**主线程就相当于游戏中的主要任务。子线程就相当于游戏中的分支任务。列题
- JAVA学习日志之接口
只闻清风不见月
JAVA
面向对象的特点主要概括为抽象性、继承性、封装性、多态性抽象性——指对现实世界中某一类实体或事件进行抽象,从中提取共同信息,找出共同规律,反过来又把它们集中在一个集合中,定义为所设计目标系统中的对象。继承性——新的对象类由继承原有对象类的某些特性或全部特性而产生出来,派生类可以直接继承基类的共性,又允许派生类发展自己的个性。继承性简化了对新的对象类的设计。封装性——指对象的使用者通过预先定义的接口关
- Java学习日志
qq_41329519
Java学习日志今天是Java学习的第一天,老师并没有讲关于Java本身的知识,而是告诉我们应该如何去学,如每天都要去记学习笔记,对当天所学归纳总结,而在以后的学习生涯中,我也会保持这样良好的学习习惯。Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗Ctrl+B斜体Ctrl
- JAVA学习日志
大屿~
这是我第一次写下的文章,它仅仅记录的是我学习JAVA进阶的一些经历。首先的是学习到JAVA组件的一些常用方法设置颜色以及字体JLabellabel_1;label_1.setFont(newFont("宋体",Font.PLAIN,16));//设置字体以及大小label_1.setForeground(Color.BLUE);//设置颜色Color后面可改颜色2.设置点击进入网页以及改变鼠标手势
- Java学习日志(1)
Insistence____
Java学习日志
访问修饰符源代码的文件名必须与公共类的名字相同,并用.java作为扩展名JAVA严格区分大小写方法即函数根据JAVA语言规范,main方法必须声明为piblic八种基本数据类型:四种整型,两种浮点类型,一种用于Unicode编码的字符单元的字符类型,一种用于表示真值的boolean类型长整型数值有一个后缀L,十六进制前缀0x,八进制有一个前缀0,JAVA7以后,加上前缀0b表示二进制数Java没有
- 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