- 豆瓣电影信息爬虫【2024年6月】教程,赋完整代码
桃宝护卫队
爬虫python
豆瓣电影信息爬虫【2024年6月】教程,赋完整代码在本教程中,我们将使用以下技术栈来构建一个爬虫,用于爬取豆瓣电影列表页面的信息:完整代码放到最后;完整代码放到最后;完整代码放到最后;重要的事情说三遍。1.技术栈介绍在本教程中,我们将使用以下技术栈来构建一个爬虫,用于爬取豆瓣电影列表页面的信息:Python:一种广泛使用的高级编程语言,因其简洁的语法和强大的库支持而受到开发者的喜爱。Request
- 智能喷洒机器人目标识别系统:基于NanoDet的目标检测与UI界面实现
YOLO实战营
机器人目标检测uiNanoDet计算机视觉目标跟踪深度学习
在现代农业生产中,自动化喷洒系统是实现精准农业的重要组成部分。智能喷洒机器人通过图像识别和自动控制技术,能够高效识别并精确喷洒农药、肥料等,提高农业生产效率,降低化学品使用量,减少环境污染。目标识别是智能喷洒机器人中至关重要的部分,它涉及到精准的作物和病虫害识别,确保喷洒操作的准确性。在本篇博客中,我们将构建一个基于NanoDet深度学习目标检测模型的智能喷洒机器人目标识别系统。我们将介绍如何使用
- 爬虫技术Requests实现模拟登录
incidite
爬虫
一、模拟登录的目的访问受限内容:获取需要登录才能查看的页面数据个性化数据采集:获取用户账户相关的定制化信息自动化操作:实现自动签到、自动任务等流程数据完整性:采集完整的用户视角数据(如社交网络信息)状态保持:维持会话状态以进行连续操作测试验证:用于网站功能测试和验证二、对Requests模拟登录的认识技术本质:通过PythonRequests库模拟浏览器登录行为实现原理:处理登录表单提交维护会话c
- 2023-4-9晨间日记
深海未眠夜未央
今天是什么日子起床:6:00就寝:10:00天气:sunny心情:justsoso纪念日:no任务清单昨日完成的任务,最重要的三件事:改进:havedinnersathome习惯养成:readtwoarticles周目标·完成进度1.readtwoarticleseveryday2.savemoney3.eathealthyfood学习·信息·阅读1.readtwoarticles2.learnm
- 从 C# 到 Python:项目实战第五天的飞跃
AI、少年郎
数据库c#开发语言
在前面三天的学习中,我们已经掌握了Python的基础语法、数据结构以及一些核心库的使用。今天,我们将通过三个实战项目,深入对比C#和Python在命令行工具开发、Web应用开发以及数据处理方面的差异,感受Python在实际项目中的强大魅力。一、命令行工具开发:文件批量处理命令行工具是开发者日常工作中经常用到的工具,无论是文件处理、数据转换还是系统管理,都离不开命令行工具的身影。下面我们就来对比一下
- css 混合模式 mix-blend-mode属性
Br不二
csscss前端
mix-blend-mode是CSS中的一个属性,它定义了一个元素的内容(包括文本、图片、矢量图形等)如何与其背景或其他元素的内容进行颜色混合。这个属性允许创建复杂的视觉效果,如半透明效果、阴影、图片蒙版等,从而增强页面的视觉层次和艺术感。一、基本介绍属性类型:mix-blend-mode是一个CSS属性。作用:控制元素内容的颜色与其背景或其他元素内容的颜色混合方式。继承性:mix-blend-m
- css mix-blend,详解CSS3的mix-blend-mode属性
weixin_39630813
cssmix-blend
1、相当于加了一个图层mix-blend-mode:multiply;2、相当于加了一个滤镜mix-blend-mode:screen;3、相当于加了一个图层和滤镜mix-blend-mode:overlay;4、会使图片变暗,出现变暗效果mix-blend-mode:darken;5、这个模式与darken相反,*它的效果取决于源和背景颜色之间更浅的(色彩)。*即将两像素的RGB值进行比较后,取
- 用 Trae AI Vibe Coding 写一个 AI 智能体
太@阳#鸟
LangChain人工智能状态模式
这里写自定义目录标题前言代码识别成果展示开发反思与洞见未来演进方向结语:新范式革命前言在初步学习了Langchain的基础知识后,我产生了一个大胆的想法:能否完全不写代码,仅靠AI直接生成一个完整的智能体系统?这个想法最终催生了Agent-Zero-一个完全由AI生成的智能体框架。万万没想到真的给我实现了,弄了一个Agent-Zero的简易版本,全程一个代码都没有写,准确的来说我可能还有很多代码不
- python docker
阿狸的家
SDNdocker
我们的开发人员和布署人员经常因环境问题,而使得安装过程困难重重,相比于虚拟机较少硬件资源的虚拟化,同时不需要加载虚拟机操作系统的耗时,因为docker共享宿主机的操作系统Centos和Ubunta共用内核kernel即bootfs相同,但是加载内核的rootfs不同,即文件的结构目录不同docker三要素docker可以看作为一个小型的linux系统,部署时秒级启动镜像:模板(应用程序代码),一个
- mix-blend-mode
TcottonCandy_
css
颜色混合模式mix-blend-mode:normal;//正常mix-blend-mode:multiply;//正片叠底mix-blend-mode:screen;//滤色mix-blend-mode:overlay;//叠加mix-blend-mode:darken;//变暗mix-blend-mode:lighten;//变亮mix-blend-mode:color-dodge;//颜色减
- CSS的content属性妙用指南
代码的余温
css前端
CSS的content属性专门用于::before和::after伪元素,用于动态生成内容并插入到文档流中。其核心作用如下:一、主要功能插入文本内容p::before{content:"提示:";color:red;}→在每个元素前添加红色文字“提示:”插入图标(结合字体图标库).download::after{content:"\f019";/*FontAwesome下载图标的Unicode*/
- python实现自动化sql布尔盲注(二分查找)
海星船长丶
python自动化sql网络安全web安全
为了优化自动化布尔盲注的代码,我们可以使用二分查找来减少猜测次数,从而提高效率。以靶场sqli为例:importrequests#目标URLurl="http://127.0.0.1/sqli/Less-8/index.php"#要推断的数据库信息(例如:数据库名)database_name=""#字符集(可以根据需要扩展)charset="abcdefghijklmnopqrstuvwxyzAB
- swiper js无缝滚动---解决播放总是有间隔、动画一闪一跳的问题
StrongerIrene
javascript开发语言ecmascript
搜了很多,没找到解决方案,ai也不知道,那个delay=0也不管用后面自己抓css,发现先设置freemode(可以无限滚动滑的那个)然后会发现他有这个css,把这个改成linear就行了:global(.swiper-free-mode>.swiper-wrapper){transition-timing-function:linear!important;}还有就是得设置宽高、必须设置宽高之后
- ROS报错:ERROR: cannot launch node of type [rqt_joint_trajectory_controller/rqt_joint_trajectory.......
机械专业的计算机小白
ROS报错ros
详细报错:ERROR:cannotlaunchnodeoftype[rqt_joint_trajectory_controller/rqt_joint_trajectory_controller]:rqt_joint_trajectory_controllerROSpath[0]=/opt/ros/melodic/share/rosROSpath[1]=/home/rosmelodic/catki
- Spring Boot笔记(3)日志
弹钢琴的崽崽
三、日志1、日志框架小张;开发一个大型系统;1、System.out.println("");将关键数据打印在控制台;去掉?写在一个文件?2、框架来记录系统的一些运行时信息;日志框架;zhanglogging.jar;3、高大上的几个功能?异步模式?自动归档?xxxx?zhanglogging-good.jar?4、将以前框架卸下来?换上新的框架,重新修改之前相关的API;zhanglogging
- 大数据集群运维常见的一些问题以及处理方式
态);若为YARN节点,重启NodeManager后手动将其加入集群。若为节点整体宕机:排查电源和网络,重启节点后,依次启动HDFS、YARN等服务进程,确认数据块完整性(避免因节点宕机导致副本不足)。2.网络问题现象:节点间通信超时(如HDFS心跳超时、YARN任务调度延迟)、数据传输卡顿。可能原因:交换机故障、网线松动、网络带宽过载、防火墙规则拦截。处理方式:用ping、traceroute检
- Kubernetes面试题分类整理
jarenyVO
面试题K8skubernetes容器云原生
Kubernetes面试题分类整理文章目录Kubernetes面试题分类整理一、基础概念类1.什么是Kubernetes?它解决了什么问题?2.Pod是什么?为什么需要Pod而不是直接使用容器?二、核心组件类1.Kubernetes主节点(Master)有哪些核心组件?各自的作用是什么?2.kubelet和kube-proxy有什么区别?三、网络类1.Kubernetes网络模型的基本原则是什么?
- rpg_trajectory_evaluation工具评估SLAM/VIO系统
rpg_trajectory_evaluation工具评估SLAM/VIO系统1、安装系统环境:ubuntu18.04+ROSmelodic代码:https://github.com/uzh-rpg/rpg_trajectory_evaluationtutorial:http://rpg.ifi.uzh.ch/docs/IROS18_Zhang.pdf1.1首先安装依赖的python库pipins
- 做人脸识别遇到的问题
princesshu
pythonpycharm
最开始安装的时候直接用pipinstalldlib却一直显示错误提示“Failedbuildingwheelfordlib”之后去网上搜来了各种下载链接依然错误我发现问题是!!python版本问题,我下载所有的包都与我的python版本不匹配于是我先安装了cmakeboost之后最后直接在终端安好了dlib~
- 设计模式-工厂方法模式 Java
模式概述工厂方法模式(FactoryMethodPattern)又称为工厂模式,定义创建对象的接口,但将具体实现延迟到子类,实现对象创建与使用的解耦。简单代码示例//1.抽象产品:日志记录器接口interfaceLogger{voidlog(Stringmessage);}//2.具体产品:文件日志记录器classFileLoggerimplementsLogger{@Overridepublic
- The Network Link Layer : AODV Ad hoc按需距离矢量路由协议
Fine姐
Sensor传感器嵌入式硬件
AODVAdhoc按需距离矢量路由协议AODV设计缘由AODV机制AODV实现过程S->DRR阶段RRp阶段RoutinginformationinAODVAODV中的路由信息本地路由修复(Fixingrouteslocally)背景知识示例本地修复步骤AODV(AdHocOn-demandDistanceVectorRouting按需距离矢量路由协议)AODV是一种用于无线自组织网络的按需路由协
- 前端基础知识Vue系列 - 17(vue中key的原理)
一、Key是什么开始之前,我们先还原两个实际工作场景当我们在使用v-for时,需要给单元加上key...用+newDate()生成的时间戳作为key,手动强制触发重新渲染那么这背后的逻辑是什么,key的作用又是什么?一句话来讲key是给每一个vnode的唯一id,也是diff的一种优化策略,可以根据key,更准确,更快的找到对应的vnode节点场景背后的逻辑当我们在使用v-for时,需要给单元加上
- 【AI论文】EmbRACE-3K: 复杂环境中的具身推理与行为研究
摘要:近期先进的视觉语言模型(Vision-LanguageModels,VLMs)在被动、离线的图像和视频理解任务中展现出了卓越的性能。然而,在具身场景中,这些模型的有效性仍较为有限。具身场景要求在线交互和主动的场景理解,在此类场景中,智能体以第一人称视角感知环境,且每一次动作都会动态地影响后续的观察结果。即便是像GPT-4o、Claude3.5Sonnet和Gemini2.5Pro这样的先进模
- 【Hugging Face全面拥抱LangChain:全新官方合作包】
文末有福利!❝最近HuggingFace官宣发布langchain_huggingface,这是一个由HuggingFace和LangChain共同维护的LangChain合作伙伴包。这个新的Python包旨在将HuggingFace最新功能引入LangChain并保持同步。通过HuggingFace官方包的加持,开发小伙伴们通过简单的api调用就能在langchain中轻松使用HuggingFa
- 【技术工具】python人员照片简介批量对照(千人级)
Allen_Lyb
医疗高效编程研发python开发语言自然语言处理健康医疗语言模型
要实现根据照片上的工号批量添加人员姓名和工号到照片上,可以按照以下步骤操作(使用Python+PIL/Pillow+OpenCV+pytesseract):解决方案步骤准备数据创建人员信息表(CSV格式):姓名,工号确保所有照片文件名包含工号(如工号.jpg),或照片中有清晰可见的工号文本安装依赖库pipinstallpillowopencv-pythonpandaspytesseract#额外安
- 推荐项目: Few-Shot-Adversarial-Learning-for-face-swap
邱晋力
推荐项目:Few-Shot-Adversarial-Learning-for-face-swap去发现同类优质开源项目:https://gitcode.com/1、项目介绍Few-Shot-Adversarial-Learning-for-face-swap是一个基于PyTorch的开源实现,重演了三星AI实验室的一项前沿研究——“Few-ShotAdversarialLearningofReal
- Linux机器上Selenium+Python3+Chrome使用driver.get()只能获取到标签而没有内容的解决方法
代码:#!/usr/bin/python3#coding=utf8fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionschrome_options=Options()chrome_options.add_argument('--headless')chrome_options.add_argume
- 解决 python 中的 huggingface_hub
code_welike
python前端数据库
解决python中的huggingface_hub.utils._validators.HFValidationErrorRepoidmustbeintheformrepo_nameorname问题在使用python的huggingface_hub库时,有时候会遇到类似于“huggingface_hub.utils._validators.HFValidationErrorRepoidmustbe
- 使用Python调用Hugging Face Question Answering (问答)模型
墨如夜色
pythoneasyui开发语言Python
使用Python调用HuggingFaceQuestionAnswering(问答)模型在自然语言处理领域,问答系统是一种能够回答用户提出的问题的智能系统。HuggingFace是一个知名的开源软件库,提供了许多强大的自然语言处理工具和模型。其中,HuggingFace的QuestionAnswering模型可以帮助我们构建问答系统,使得我们能够从给定的文本中提取答案。本文将介绍如何使用Pytho
- 深入解析与实战应用:利用Python和Amazon Product Advertising API实战分析
不进则退i
python开发语言
在电商平台的运营中,关键词搜索接口是不可或缺的一部分,特别是在亚马逊这样的全球电商平台。通过关键词搜索接口,商家可以高效地获取商品信息,优化选品策略,提升销售业绩。本文将详细介绍如何接入亚马逊的关键字搜索接口,并提供一个Python代码示例。点击获取key和secret1.注册开发者账号并获取API权限首先,你需要访问亚马逊开发者中心,注册一个开发者账号,并获取相应的API权限。在注册过程中,你将
- 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