- eclipse的书签快捷键插件-Quickmarks plugin
springleft
eclipseduplicatesdocumentationkeyboardpluginsfile
eclipse编辑器增强工具之书签工具:插件主页:http://eclipse-tools.sourceforge.net/quickmarks/OverallQuickmarksareWorkspaceglobalbydefault,butyoucanchangethattohaveoneSetofQuickmarksperProject,FolderorDocument.AQuickmarkr
- Spring 6 第6章——单元测试:Junit
qw949
Spring6spring单元测试junit
一、整合JUnit5在之前的测试方法中,几乎都能看到以下两行代码:ApplicationContextcontext=newClassPathXmlApplicationContext("xxx.xml");Xxxxxxx=context.getBean(Xxxx.class);这两行代码的作用是创建Spring容器,最终获取到对象,但是每次测试都需要重复编写针对上述问题,我们需要的是程序能自动帮
- 后端开发基础——JavaWeb(根基,了解原理)浓缩
Wanna715
后端开发基础javatomcatservlet后端
总述学习Tomcat、JSON、Servlet、Filter、Session、Cookie、Ajax异步请求、RESTful接口规范、JSP(很老的技术,了解)Servlet系统架构C/S架构(Client/Server(客户端/服务器))B/S架构(Browser/Server,浏览器/服务器)javaJavaSE:Java标准版JavaEE:企业版(WEB方向,WEB系统)13种规范,其中Se
- tomcat配置存放静态资源,实现网页访问并下载
qq_40711092
tomcatjava
配置server.xml在server.xml文件中的Host标签下嵌入一个Context标签,path是映射的web路径,doBase是本地磁盘的物理路径。-->-->设置tomcat允许访问静态文件夹,修改web.xml文件中如下图位置将false修改为truedefaultorg.apache.catalina.servlets.DefaultServletdebug0listingstru
- SpringBoot之定义接口返回类型有几种方式?
java熬夜党
Javaspringbootjavamybatis
SpringBoot系列教程之定义接口返回类型的几种方式实现一个web接口返回json数据,基本上是每一个javaer非常熟悉的事情了;那么问题来了,如果我有一个接口,除了希望返回json格式的数据之外,若也希望可以返回xml格式数据可行么?答案当然是可行的,接下来我们将介绍一下,一个接口的返回数据类型,可以怎么处理I.项目搭建本文创建的实例工程采用SpringBoot2.2.1.RELEASE+
- 微信小程序技术架构图
流着口水看上帝
微信小程序小程序
一、视图层1.WXML(WeiXinMarkupLanguage)这是微信小程序的标记语言,类似于HTML。它用于构建小程序的页面结构。例如,通过标签来定义各种视图元素,如(类似于HTML中的)用于布局,用于显示文本等。它具有数据绑定功能,通过双大括号{{}}语法可以将数据动态地显示在页面元素中。比如,定义一个变量name,在WXML中可以通过{{name}}来显示变量name的值。2.WXSS(
- 利用MediaWikiDump解析和处理Wiki数据
srudfktuffk
python
MediaWikiXMLDumps包含了Wiki页面及其所有修订的内容,但不包括与站点相关的数据,比如用户帐户、图像和编辑日志。因此,虽然它们没有创建Wiki数据库的完整备份,却在处理Wiki内容时具有独特的价值。技术背景介绍MediaWiki是许多Wiki(例如Wikipedia)后台的开源软件。使用MediaWikiXMLDumps,你可以获得Wiki页面的详细修订历史记录。这在数据分析和内容
- 用ODOO11后,Odoo12令人期待的新特性
zzlyx99
Odoo12Odoo12
Odoo12版本有许多令人期待的改进,必将成为一个重要改进版本,以下是odoo12主要改进:1)物联网盒子(IoTBox)-IoTBox(IoT物联网)是一个数据收集网关,可以部署在生产环境中(例如,工艺路线某个节点上)收集数据并更新Odoo工单或者进行其他类似操作。2)报表设计器(OdooStudio内置)-有odoo实施经验的小伙伴都知道,odoo的基于XML的报表设计效率较低,需要很长时间开
- Autosar CP RTE:一个例子简要介绍工作原理
老猿讲编程
Autosar初探autosar汽车c++
以下是一个示例,展示如何通过AUTOSAR的RTE机制利用配置(ARXML文件)来实现软件组件集成,包含对应的C++源代码以及模拟自动生成的RTE框架代码的示例。请注意,实际的AUTOSAR项目会复杂得多,这里只是一个简化且示意性的案例帮助你理解其基本流程。文章目录一、RTE例子1.示例场景2.ARXML配置文件(示例简化内容,实际更复杂)3.C++源代码温度传感器组件实现(`Temperatur
- Servlet3 简单测试
杨过姑父
servletjava
1.注解定义servlet的时候如果@WebServlet("some")如果url-pattern前面不加/回报以下的错误,和web.xml中定义是一致的。java.lang.IllegalArgumentException:Invalid[some]inservletmapping2.urlPatterns={"/some","/aaa","/bbb"}和value={"/some","/aa
- Windows不用anaconda安装labelImg及bug解决
欢天喜地小姐姐
解决bug技巧bug
1.Windows不用anaconda安装labelImg:安装labelImg所需环境–打开#安装labelImg所需环pipinstllpyqt5lxml#打开labelImgpythonlabelImg.py2.Windows:‘pip’不是内部或外部命令,也不是可运行的程序或批处理文件2.1原因分析系统环境变量没配置好2.2解决方法1.控制面板\系统和安全\系统”→“高级系统设置”→“高级
- 使用XMLHttpRequest发送网络请求
半点寒12W
计算机网络网络javascript前端
使用XMLHttpRequest发送get请求步骤创建xhr对象调用xhr.open()函数调用xhr.send函数监听onreadystatechange事件未携带参数的get请求varxhr=newXMLHttpRequest();xhr.open("get","http://127.0.0.1:8000");xhr.send();xhr.onreadystatechange=function
- springboot 根据UUID生成唯一的短链接
iteye_10392
网站设计springbootjavaspring
为了生成唯一的短链接,我们可以利用UUID(通用唯一识别码)来确保每个短链接的唯一性。然后,我们将这个UUID进行Base62编码以缩短其长度。以下是完整的SpringBoot应用程序示例,展示了如何实现这一功能。1.添加依赖首先,在你的pom.xml文件中添加必要的依赖项:org.springframework.bootspring-boot-starter-webcom.h2databaseh
- 微信小程序交易平台/基于微信小程序的购物系统/基于微信小程序的电商平台/基于微信小程序的商品销售系统
一枚小小程序员哈
微信小程序小程序
摘要随着当今网络的发展,时代的进步,各行各业也在发生着变化,于是网络已经逐步进入人们的生活,给我们生活或者工作提供了新的方向新的可能。本毕业设计的内容是设计实现一个微信小程序交易平台。使用微信开发者是以java语言进行开发,MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。微信小程序交易平台的功能已基本实现,主要包括有商家、用户、商品分类、商品信息、商品咨询等功能。本微信小程序软
- 解决IDEA导入maven项目只有pom.xml
srevens
intellij-ideamavenxml
IDEA导入别人的maven项目时,出现项目栏只有一个pom.xml的情况。按照网上主流的方法解决:成功之后Module还是一片空白,依旧只有一个pom.xml。我的解决方法:创建一个NewModule,然后会自动弹出两个module,把新创建的删除,余下的就是我们需要导入的了。
- logback-spring.xml配置
Mr.4567
logbackspringxml
-->logbackdebug${CONSOLE_LOG_PATTERN}UTF-8${log.path}/log_debug.log%d{yyyy-MM-ddHH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%nUTF-8-->-->-->${log.path}/debug/log-debug-%d{yyyy-MM-dd}.%i.log100MB72GB
- springboot的logback-spring.xml的使用
农业工作者
springspringbootlogback
1、在resource里面创建logback-spring.xml文件2、内容:-->-->-->-->${CONSOLE_LOG_PATTERN}${LOG_PATH}/${appName}.log${FILE_LOG_PATTERN}${LOG_PATH}/%d{yyyy-MM-dd}.%i.log20MB3、在application.properties里面添加#应用服务WEB访问端口ser
- 使用 Logback 的最佳实践:`logback.xml` 与 `logback-spring.xml` 的区别与用法
m0_74824076
面试学习路线阿里巴巴logbackxmlspring
在开发SpringBoot项目时,日志是调试和监控的重要工具。SpringBoot默认支持Logback作为日志系统,并提供了logback.xml和logback-spring.xml两种配置方式。这篇文章将详细介绍这两者的区别、各自的优缺点以及最佳实践。目录一、什么是Logback?为什么选择它?二、`logback.xml`与`logback-spring.xml`有什么区别?1.Sprin
- 深入解析Python的xmltodict库:简化XML数据处理的利器
kdayjj966
前端数据库python
一、引言在当今信息技术的世界中,数据的传输和存储形式多种多样。XML(可扩展标记语言)作为一种灵活而强大的数据格式,得到了广泛应用。它不仅在Web服务中用于数据交换,也在许多应用程序中作为配置文件的格式。然而,尽管XML以其良好的结构性和可读性著称,处理XML数据对于开发者来说仍然是一项繁琐的任务,尤其是在需要频繁进行数据解析和操作的场景。为了解决这一问题,Python社区提供了xmltodict
- logback-spring.xml
Evan_o_O
logbackspringxml
${appName}-->debug${LOG_PATTERN}UTF-8${log.path}/${appName}.log${LOG_PATTERN}UTF-8${log.path}/log_debug.log,然后将昨天的日志归档到下面的文件中-->${log.path}/${appName}-%d{yyyy-MM-dd-HH}-%i.log100MB1420GBdebugACCEPTDEN
- 自定义注解格式化处理BigDecimal
都要好好的O
java自定义注解
一、场景描述在开发过程中,如果有实体类的属性中存在BigDecimal的属性,并且需要对其进行校验,例如:限制BigDecimal的小数点位数是两位或者处理精度自动补0。但目前没有注解可以完成这个操作,因此我们可以使用下面的工具类和注解进行处理。二、实现步骤1、自定义类importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxm
- mybatis学习(7/134)
一缕叶
学习
简单了解了一下maven,https://chatgpt.com/share/678bb629-bb4c-800c-8f3b-a41d298e5467,xml还是比较方便的,对于部署或者打包之类的,只需要配置对应的代码,idea会自动到对应的中央库中下载,还可以从国内的镜像去下载,mybatis需要配置对应的mysql-connetion-java,但是版本不要需要与sql的版本相同,我今天以为需
- 微信小程序实现个人中心页面
浩宇软件开发
微信小程序开发入门微信小程序小程序
文章目录1.官方文档教程2.编写静态页面3.关于作者其它项目视频教程介绍1.官方文档教程https://developers.weixin.qq.com/miniprogram/dev/framework/2.编写静态页面mine.wxml布局文件wangwu这个家伙很懒,什么都没有留下~官方客服积分兑换帮助中心系统设置修改密码关于APP清理缓存用户条款隐私协议退出登录navigation-bar
- Android开发,待办事项提醒App的设计与实现(个人中心页)
浩宇软件开发
androidAndroid开发androidstudio
文章目录1.编写UI布局2.实现逻辑3.运行效果图3.关于作者其它项目视频教程介绍Android开发,待办事项提醒App的设计与实现:https://blog.csdn.net/jky_yihuangxing/article/details/145277956?spm=1001.2014.3001.55011.编写UI布局fragment_mine.xml2.实现逻辑MineFragment.ja
- Spring底层核心原理解析
m0_74823364
面试学习路线阿里巴巴springjavasql
本次分享********会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解,比如:Bean的生命周期底层原理依赖注入底层原理初始化底层原理推断构造方法底层原理AOP底层原理Spring事务底层原理但都只是大致流程,后续有机会会针对每个流程详细深入的讲解并分析源码实现。先来看看入门使用Spring的代码:ClassPathXmlApplicationCont
- 从0到1搭建SpringBoot整合Quartz定时任务框架(保姆级教学+Gitee源码)
黄团团
SpringBootJavaSpringspringboot后端java
前言:这边我自己从0到1搭建了一套简化版的Quartz定时任务纯后端框架,把搭建的整个过程中的逻辑都在这篇博客写下来了,用于开源分享,干货满满!目录一、Quartz简介二、项目整体结构图三、代码实现3.1、导入pom.xml依赖3.2、ScheduleConstants常量类3.3、SysJob实体类3.4、SpringUtils工具类3.5、核心配置类3.5.1、JobExecuteUtils执
- Android Studio 备忘录(简单)实现
松醪
javasqliteandroidgithub编辑器
项目简介AndroidStudio环境下,备忘录(简单)的实现,功能有:添加,单个查询,删除全部内容,并可获取当前时间存储在SqlLite中。所用到的显示控件为ScrollView,EditText,TextView,ImageButton.图片展示首页添加页添加后的页面Acticity_main.xml代码展示Acativity_add.xml(添加)代码展示MainActivity.java代
- AndroidStudio简单计算器的实现
松醪
javaandroidstudio
项目简介首先此项目是本人学校安卓开发的一次作业,用AndroidStudio开发一个简单的计算器,这个计算器正常的功能为带括号的加减乘除多项式计算!界面展示废话不多说先展示一下界面!(模仿了小米计算器),有两种方式添加控件,一种为动态添加,一种为直接添加。这里使用了EditText(1),TextView(1),Button(19)”activity_main.xml“展示部分AndroidStu
- WebService——SOAP详解
m0_74825108
java
目录SOAP1、概述2、语法2.1、组成部分2.2、语法规则2.3、基本结构3、Envelope元素3.1、xmlns:soap命名空间3.2、encodingStyle属性4、Header元素4.1、mustUnderstand属性4.2、actor属性4.3、encodingStyle属性5、Body元素6、Fault元素7、SOAPHTTPBinding7.1、Content-Type7.2
- Arm64架构的Linux服务器安装tomcat并部署war包
木枫Free
服务器架构linuxtomcatarm运维
一、下载Tomcat打开浏览器,访问ApacheTomcat官方网站。在下载页面中,选择适合arm64架构的版本。一般来说,可以选择Tomcat的二进制发行版(BinaryDistributions)中的.tar.gz压缩包。我这里下载的是tomcat9二、安装Tomcat将下载的Tomcat压缩包上传到欧鹏操作系统的服务器上,或者使用命令行工具(如wget)直接下载到服务器上。解压Tomcat压
- 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