- 如何通过关键词搜索API接口,淘宝商品关键词搜索电商API接口揭秘
luck626Y
大数据python
对于商家而言,掌握淘宝等电商平台的核心数据和商机至关重要。今天,我们将深入探讨淘宝商品关键词搜索的电商API接口,解析如何轻松获取商机。一、电商API接口的重要性在电商领域,API接口是连接平台与第三方服务的关键桥梁。通过API接口,商家可以实时获取商品信息、交易数据、用户行为等关键数据,为运营决策提供有力支持。特别是淘宝等大型电商平台,其API接口更是为商家提供了强大的数据分析能力和便捷的运营管
- Ovirt中的GWT框架
ctrlcvKing
oivrt-engineoVirt虚拟化云计算
参考文档:如何在ovirt中使用GWT框架为页面新增组件ovirt前端代码分析定位页面ovirt中的页面规则,以集群为例:集群列表页面MainClusterView.java,类似页面MainNetworkView.javaMainHostView.javatab页面SubTabClusterGeneralView.java类似页面SubTabHostGeneralView.java新建、修改、删
- EmguCV学习笔记 VB.Net和C# 下的OpenCv开发 VB.Net 目录
VB.Net
EmguCV计算机视觉Emgucvopencvvb.net
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。教程VB.net版本请访问:EmguCV学习笔记VB.Net目录-CSDN博客教程C#版本请访问:EmguCV学习笔记C#目录-CSDN博客笔者的博客网址:https:/
- 百家号视频代发布 百家号软文代发布
趣闲赚手机做任务赚佣金
随着互联网的不断发展,自媒体平台已经成为了广告主和创作者推广内容和宣传品牌的重要工具。在中国,百度百家号作为自媒体平台的佼佼者,吸引了众多创作者和广告主。在本文中,我们将探讨百家号视频代发布和百家号软文代发布的概念,以及如何借助这些服务来提高在百度搜索引擎上的可见性和影响力。自助下单:xhs1.net小红书全类目业务,有需求请联系微:jiu991144,jiu994455【tg:a28110454
- 学习笔记:VB.net动态添加控件数组并传递事件
钛合金直男
VB.netVB.net控件数组
学习笔记:VB.net动态添加控件数组并传递事件控件数组和事件“中间人”动态添加控件控件数组和事件新建一个用户窗体,在定义控件数组时,不能用Withevnets来定义数组即使可以,为每一个数组成员编写事件也是非常麻烦的,考虑通过一个“中间人”来传递事件“中间人”用继承的方法为Button控件增加一些事件、属性和方法PublicClassMyButtonInheritsSystem.Windows.
- mysql 批处理速度_mysql批处理性能优化
martingalesquare
mysql批处理速度
参考了:http://blog.csdn.net/tolcf/article/details/52102849后来根据自己情况测试一次,结果如下。1、mysqlinsert####第一种测试情况batchSize=5000;connection.setAutoCommit(false);prepStatement.addBatch();##----测试结果如下----2016-09-1014:53
- 【k8s】Kubernetes初步
划过手的泪滴t
云计算运维dockerKuberneteskubernetes容器云原生运维linux
1、k8s架构图绘制2、k8s工作流程图绘制为了帮助您绘制Pod创建过程的时序图,我将使用Markdown语法来描述这个过程。由于Markdown本身并不直接支持时序图的绘制,我们可以使用简单的文本和列表来模拟时序图的结构。下面是一个简化版的Pod创建过程的Markdown描述:Pod创建的时序图用户发起创建Pod请求kubectlcreatepodAPIServer接收请求验证请求将Pod定义存
- Java 发送邮件
哈哈哈116
QQ邮箱java
importcom.sun.mail.util.MailSSLSocketFactory;importjakarta.activation.DataHandler;importjakarta.activation.FileDataSource;importjakarta.mail.*;importjakarta.mail.internet.InternetAddress;importjakarta
- 编写组合helm, 组合之前的几个组件 -2
Wade_Crab
dockerkubernetes
刚刚是独立安装,现在要组合他们到一个Chart里面—初入江湖要将Redis、MySQL和RocketMQ组合在一个HelmChart中,并且部署到同一个KubernetesPod或者同一个Helmrelease中,你可以创建一个自定义的HelmChart,将这三个服务作为子Chart来管理。1.创建自定义HelmChart首先,创建一个新的HelmChart:helmcreatemy-stack这
- 跟着Cell学单细胞转录组分析(十二):转录因子分析
KS科研分享与服务
转录因子分析可以了解细胞异质性背后的基因调控网络的异质性。转录因子分析也是单细胞转录组常见的分析内容,R语言分析一般采用的是SCENIC包,具体原理可参考两篇文章。1、《SCENIC:single-cellregulatorynetworkinferenceandclustering》。2、《AscalableSCENICworkflowforsingle-cellgeneregulatoryne
- Android开发之okhttp /java.net.ConnectException: Failed to connect to localhost/127.0.0.1
Abandon-Lv
android
在启用后端后,在andorid设置baseurl为127.0.0.1:8080,结果在运行的时候报了Failedtoconnecttolocalhost/127.0.0.1这个错误一开始以为是什么地方写错了导致127.0.0.1:8080前多了一个/,查阅资料发现android模拟器(simulator)把它自己作为了localhost,也就是说,代码中使用localhost或者127.0.0.1
- springBoot集成rabbitmq 之发布/订阅模式模式(Publish/Subscribe)
牛马狗猪猴
springbootjava-rabbitmqrabbitmqspringboot
springBoot集成rabbitmq之发布/订阅模式模式(Publish/Subscribe)springBoot整合rabbitmq的例子:https://blog.csdn.net/weixin_45730866/article/details/128971917,建议先看。comsumer服务配置类importorg.springframework.amqp.core.Binding;i
- API接口的安全性分类及其对开发的影响
2401_86932795
职场发展职场和发展求职招聘单一职责原则
API接口的分类:按照访问权限分公开APIs:对所有用户开放的API。私有APIs:只对特定用户或组织开放的API。内部API:仅供组织内部使用的API,用于连接组织内部的不同系统或服务。第三方APIs:由第三方开发并提供的API。API接口的分类:按照安全分非安全API:这些API可能不提供或仅提供有限的安全措施。安全API:这些API设计有安全措施,如HTTPS、OAuth认证、访问控制列表(
- C# Dictionary
躺下睡觉~
c#java开发语言
目录Dictionary的本质申明增删查改遍历练习Dictionary的本质可以将Dictionary理解为拥有泛型的Hashtable它也是基于键的哈希代码组织起来的键/值对键值对类型从Hashtable的object变为了可以自己制定的泛型申明需要引用命名空间usingSystem.Collections.GenericDictionarydictionary=newDictionary();
- 微信小程序遇到的问题
waterkid0
微信小程序微信小程序小程序
wx.redirectTo跳转闪屏wx.redirectTo是让当前页面出栈,在加载新的页面,,,,当我的当前页是这个栈的唯一页面的时候,就会出现闪屏想要像wx.navigateTo那样有过渡效果,可以先getCurrentPages().pop()让当前页出栈,然后在wx.navigateTo导航引用:https://blog.csdn.net/qq_36181810/article/detai
- springboot集成 AI 实现图片辅助设计功能
cesske
springboot人工智能后端
springboot集成AI实现图片辅助设计功能在SpringBoot中实现一个图片辅助设计功能,通常会涉及到图像处理、计算机视觉以及机器学习(AI)技术的应用。这样的系统可以帮助用户进行图像编辑、风格转换、自动设计布局等。以下是一个基本步骤和技术栈建议,用于在SpringBoot中构建图片辅助设计功能的系统。1.技术栈选择SpringBoot:作为后端框架,提供RESTfulAPI。图像处理库:
- eureka原理与实践简单介绍
cesske
eureka
目录@[TOC](目录)前言一、Eureka原理二、Eureka实践总结前言Eureka是Netflix开发的一个服务发现框架,广泛应用于微服务架构中。它通过提供服务的自动注册与发现机制,简化了服务间的依赖管理,提高了系统的灵活性和可扩展性。以下将从Eureka的原理和实践两个方面进行详细介绍。一、Eureka原理Eureka的原理主要涉及服务注册、服务同步、服务发现和自我保护等机制。服务注册:服
- ipython快捷键
渔家傲_俞
搜索ipython快捷键参考:https://blog.csdn.net/lb245557472/article/details/80078882Ipythonshell命令Ctrl-P或上箭头键后向搜索命令历史中以当前输入的文本开头的命令Ctrl-N或下箭头键前向搜索命令历史中以当前输入的文本开头的命令Ctrl-R按行读取的反向历史搜索(部分匹配)Ctrl-Shift-v从剪贴板粘贴文本Ctrl
- k8s上的clickhouse集群部署并创建分布式表(附详细参数说明和参考链接)
KirutoCode
开发技能
k8s上的clickhouse集群部署并创建分布式表制作docker镜像创建configmap创建clickhouseservicepod创建clickhouseclientpod创建Service创建分布式表部署总体参考:https://blog.csdn.net/tototuzuoquan/article/details/111305125clickhouse的配置文件相关解读:https:/
- 【408DS算法题】024进阶-12年真题_找出两个链表的共同后缀的起始位置
LIC_woodBird
算法链表数据结构
Index真题题目(以下内容来自https://blog.csdn.net/weixin_60702024/article/details/141370977)分析实现总结真题题目(以下内容来自https://blog.csdn.net/weixin_60702024/article/details/141370977)用单链表保存m个整数,结点的结构为[data][link],且∣data∣⩽n
- 【408DS算法题】025提高-19年真题_重新排列链表结点
LIC_woodBird
算法链表数据结构
Index内容稍后补全,以下来自https://blog.csdn.net/weixin_60702024/article/details/141370977分析实现总结内容稍后补全,以下来自https://blog.csdn.net/weixin_60702024/article/details/141370977用单链表保存m个整数,结点的结构为[data][link],且∣data∣⩽n|d
- 【Qt】QTcpServer/QTcpSocket通信
叫我东方小巴黎
Qt基础qt
这里写目录标题1.pro文件2.服务器3.客户端1.pro文件QT+=network2.服务器h文件#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include#include#includeQT_BEGIN_NAMESPACEnamespaceUi{classMainWindow;}QT_END_NAMESPACEclassMainWindow:publicQMa
- YOLO系列目标检测数据集大全_yolo数据集(1)
2401_84187537
程序员YOLO目标检测人工智能
Darknet版YOLOv4猫狗识别训练好的权重文件:https://download.csdn.net/download/zhiqingAI/85541214Darknet版YOLOv3猫狗识别训练好的权重文件:https://download.csdn.net/download/zhiqingAI/85541209DeepSORT-YOLOv5猫狗检测和跟踪+可视化目标运动轨迹yolov7猫狗
- yield 详解
yang_B621
迭代加深
C#中的yield关键字:深入解析与实际应用场景的对比分析-非法关键字-博客园(cnblogs.com)yield语句-在迭代器中提供下一个元素-C#reference|MicrosoftLearn
- kubeadm部署k8s1.25.3一主二从集群(Containerd)
陌殇殇殇
kubernetes容器云原生
第一章:K8S集群部署kubernetes集群规划主机IP主机名主机配置角色10.0.0.3master12C/4G管理节点10.0.0.4node12C/4G工作节点10.0.0.5node22C/4G工作节点集群前期环境准备#!/bin/bashecho"——>>>关闭防火墙与SELinux/dev/nullsetenforce0sed-i's/SELINUX=enforcing/SELINU
- 使用Python进行Mock测试详解(含Web API接口Mock)
知识的宝藏
PythonpythonmockPythonMock单元测试
使用Python进行Mock测试详解(含WebAPI接口Mock)在软件开发过程中,单元测试是非常重要的一部分。为了确保代码的质量和可靠性,开发者需要编写测试用例来检查代码的行为是否符合预期。然而,在测试中有时会遇到一些难以直接测试的情况,例如依赖外部系统、数据库或网络服务等。在这种情况下,Mock测试就显得尤为重要。本文将详细介绍如何使用Python标准库中的unittest.mock模块来进行
- 2020华为暑假实习业务主管面经历--硬件技术工程师(单板硬件开发方向)
小杨同学呀
面经
时间:2020.05.14二面:业务主管一面面经传送门:https://blog.csdn.net/weixin_42341666/article/details/106082091先是自我介绍。然后问了关于第一个项目的几个问题。都采集了哪些信号,干扰源有哪些?怎么处理的?做的几层板。好像就没别的了。然后问本科和研究生的课程都有哪些。再然后就开始谈人生,聊理想了。一、为什么选择硬件开发,而不是做机
- Spring Boot 一个极简且完整的后台框架
搬砖养女人
数据库架构javaspringsqltomcat
一个完整的极简后台框架,方便做小项目的时候可以快速开发。这里面多贴图片和代码,做个参考吧,代码可以下载下来自己看看,里面这套后台模板不错,喜欢的拿去。先放几张图imageimageimage项目介绍SpringBoot,实现了一个极简单的后台框架image小编提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redi
- 渗透测试-metasploit-ssh弱口令暴力破解
dongxieaitonglao
网络安全渗透测试ssh
一.ssh:SSH为SecureShell的缩写,SSH为建立在应用层基础上的安全协议。SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网
- 虚拟线程:.NET和Rust不如Go或Java ?
极道Jdon
javascriptreactjs
由于.NET和Rust存在指向堆栈的指针,这很难有效地实现用户模式绿色虚拟线程:什么是绿色线程(虚拟线程)绿色线程是用户空间线程,由运行时库或虚拟机(VM)而不是操作系统管理。它们很轻量,可以比内核线程更快地创建和管理。绿色线程在其他编程语言中也称为“协程”或“纤程”。绿色线程则不同。绿色线程的内存分配在堆上。但所有这些都是有代价的:由于它们不受操作系统管理,因此它们本身无法利用多个内核。但对于I
- 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