- 【Pycharm 安装Pyqt5及最新配置QtDesigner,PyUIC,Pyqrc方法(非pyuic5,pyrcc5)】
Luca_Sun
pycharmqtpythonidepyqt
欢迎大家~前言一、Pyqt5及Pyqt5_Tools安装二、QtDesigner安装三、基于python.exe的PyUIC安装(非pyuic5)四、基于python.exe的Pyqrc安装(非pyrcc5)小结前言每个人的电脑的安装环境都不尽相同,但会存在微小差异,本文中的这几种安装及配置方法经过了多次试验,希望对大家有所帮助。同时本文也是一记录贴,后续我会将自己的所学所获以这样一种文字方式记录
- 使用rsync+inotify简单实现文件实时双机双向同步
handsomestWei
后端后端linux运维
使用rsync+inotify简单实现文件实时双机双向同步实现思路使用inotify-tools的inotifywait工具监控文件变化,触发后使用rsync做同步。加入系统服务项,实现实时监听,方便管理。以下配置操作,单向同步,只需在单边部署。双机双向,需要在两台服务器分别执行。依赖软件简介rsync简介Rsync是一款开源的文件同步和数据传输工具,适用于文件同步、各种数据备份等场景。主要功能
- Hutools 构建树结构
理想二旬不止(上班了,好像没有理想了)
Hutools工具使用记录java
详细介绍Hutools官网我们平时在进行业务开发时,经常会碰到需要构建树形结构的业务,比如常见的区域树结构└──省└──市└──区这类数据的特点就是每条数据有明确的父节点和子节点,如果没有父节点或者子节点的话,没有父节点的数据为树的顶级节点,如果没有子节点的话为树的底级节点。示例数据表及数据CREATETABLEarea(area_idBIGINTNOTNULLAUTO_INCREMENT,par
- error Closing curly brace does not appear on the same line as the subsequent block brace-style
小丁学Java
vue2和element-uijavascript开发语言ecmascript
文章目录问题分析解决方法修复前:修复后:具体修复步骤修复后的代码示例总结闭合的大括号(})没有出现在下一个代码块的同一行[0]ModuleWarning(from./node_modules/eslint-loader/index.js):[0][0]/Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/compo
- kotlin gradle踩过的坑
112479
随手记kotlin开发语言android
Nocachedversionofcom.android.tools.build:gradle3.6.1availableforofflinemode解决方法-CSDN博客配置文件里的gradle版本,需要和gradle环境版本一致Gradle入门初探_gradle环境变量配置-CSDN博客java历史版本,附账号密码JDK历史所有版本下载地址(附Oracle帐号)_能下载任何版本jdk的软件-C
- 【Pip】深入理解 `requirements.txt` 文件:Python 项目依赖管理的核心工具
丶2136
#pippippython
目录引言1.什么是`requirements.txt`?2.创建`requirements.txt`文件2.1手动创建2.2使用`pipfreeze`命令2.3使用`pipreqs`生成2.4使用`pipenv`或`poetry`3.安装依赖4.版本管理与更新4.1版本管理的最佳实践5.依赖关系的管理5.1使用`pip-tools`5.2使用虚拟环境5.3使用Docker5.4`requireme
- error Parsing error: invalid-first-character-of-tag-name vue/no-parsing-error
小丁学Java
vue2和element-uivue.js前端javascript
标签的第一个字符不符合HTML或Vue的语法要求[0]ModuleWarning(from./node_modules/eslint-loader/index.js):[0][0]/Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/identify-list.vue[0]87:78error
- apt-get update出现NO_PUBKEY问题解决
不与天斗8866
linuxubuntulinuxapt-getno_pubkey
apt-getupdate报错root@2870e7cf8e74:/usr/tools#apt-getupdateIgn:1https://mirrors.aliyun.com/ubuntutrustyInReleaseGet:2https://mirrors.aliyun.com/ubuntutrustyRelease[58.5kB]Get:3https://mirrors.aliyun.com
- selenium框架
你们的好朋友大强
测试开发python功能测试selenium
selenium(仅作为个人笔记,如有雷同,请联系删除。。)1、Selenium的特点:开源、免费,多浏览器支持,多平台支持,多语言支持,对Web页面有良好的支持,API简单,灵活(用开发语言驱动),支持分布式测试用例执行。2、Windows下的测试环境搭建:安装Python;安装setuptools与pip(注:Python3不支持setuptools,但已经集成了pip)安装Selenium:
- (01)搭建开发环境
RayTz
龙芯2K1000开发指南linux运维服务器
1.安装虚拟机软件VMwareWorkstationPro172.虚拟机安装ubuntu20.4系统3.安装VMtools工具4.安装vim编辑器sudoaptinstallvim4.安装SSH服务选择下载源为:http://mirrors.aliyun.com/ubuntu在线安装:sudoapt-getinstallopenssh-server配置环境:sudovim/etc/ssh/sshd
- centos安装python3
XMYX-0
centoslinuxpython
目录介绍安装依赖下载python安装包安装python建立软连接python3加入PATH变量验证python3安装的一些库psutil模块安装源码安装psutilpip安装windows上安装IPy的安装dns模块安装疑难杂症解决python上下键无法使用的问题安装pip以及setuptools安装pip测试:其他安装node以及pm2介绍Python是一种广泛应用的编程语言,原由荷兰国家数学与
- eclipse的书签快捷键插件-Quickmarks plugin
springleft
eclipseduplicatesdocumentationkeyboardpluginsfile
eclipse编辑器增强工具之书签工具:插件主页:http://eclipse-tools.sourceforge.net/quickmarks/OverallQuickmarksareWorkspaceglobalbydefault,butyoucanchangethattohaveoneSetofQuickmarksperProject,FolderorDocument.AQuickmarkr
- Trae:新一代 AI 智能 IDE,颠覆你的开发体验
that's boy
人工智能idechatgptopenaiAI编程AI写作Claude
想体验各种AI模型的强大功能吗?chatTools平台汇集了o1、GPT4o、Claude和Gemini等多种AI选择,无论您有何种AI需求,都能在这里找到合适的解决方案。现在就来chatTools,开启您的AI之旅吧!作为一名开发者,你是否厌倦了繁琐的重复劳动?是否渴望一个能够真正理解你意图的编程助手?如果你的答案是肯定的,那么你一定要了解一下Trae——一款带有AI功能的智能IDE,它将彻底改
- Python中判断列表是否包含某个元素的方法
五月天的尾巴
python判断列表是否包含元素
文章目录1、成员运算符in和notin2、使用count()方法3、使用any()函数4、使用set转换5、使用numpy库6、使用any()和生成器表达式7、使用index()方法8、使用itertools.chain()函数9、使用collections.Counter类10、使用pandas库以下整理几种判断列表中是否包含某个元素的方法。以下代码基于python2.7执行。1、成员运算符in
- VMware Tools 13.0.0 发布 - 客户机操作系统无缝交互必备组件
vmware
VMwareTools13.0.0发布-客户机操作系统无缝交互必备组件VMware虚拟机必备组件(驱动和交互式服务)VMwareTools13.0.0发布-虚拟机必备组件(驱动和交互式服务)VMware客户机操作系统无缝交互必备组件请访问原文链接:https://sysin.org/blog/vmware-tools-13/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwa
- VMware Tools 13.0.0 发布 - 客户机操作系统无缝交互必备组件
vmware
VMwareTools13.0.0发布-客户机操作系统无缝交互必备组件VMware虚拟机必备组件(驱动和交互式服务)VMwareTools13.0.0发布-虚拟机必备组件(驱动和交互式服务)VMware客户机操作系统无缝交互必备组件请访问原文链接:https://sysin.org/blog/vmware-tools-13/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwa
- 物联网:全面概述、架构、应用、仿真工具、挑战和未来方向
神一样的老师
论文阅读分享物联网物联网
中文论文标题:物联网:全面概述、架构、应用、仿真工具、挑战和未来方向英文论文标题:InternetofThings:acomprehensiveoverview,architectures,applications,simulationtools,challengesandfuturedirections作者信息:AnitaChoudhary论文出处:DiscoverInternetofThing
- 【AI | python】functools.partial 的作用
苹榆枫
#深度学习框架人工智能python
在代码中,partial是Pythonfunctools模块中的一个方法,用于固定函数的某些参数并返回一个新的函数。这个新的函数可以像原函数一样调用,但固定的参数不需要再次提供。代码中:self.compute_cis=partial(compute_axial_cis,dim=self.internal_dim//self.num_heads,theta=rope_theta)这里partial
- python 实现 延时队列
独壹@无贰
python开发语言
python实现延时队列#延时队列importthreadingimportfunctoolsimportqueueimportdatetimedeftest():print("执行成功")defseconds_chagne(dt):returndt.seconds+dt.days*24*60*60#延迟任务类classDelayTask:#delay_time即将过期的时间#task参与延迟的任
- pythonnumpy库离线安装_linux Python2.7 离线安装pip、numpy、scipy、sklearn等
weixin_39974932
服务器是离线的,只能离线安装安装pip1.先安装setuptools下载地址:https://pypi.python.org/pypi/setuptools#downloads将下载后的文件解压,进入到解压后的文件所在的目录执行命令:pythonsetup.pyinstall2安装pip下载地址:https://pypi.python.org/pypi/pip#downloads将下载后的文件解压
- 【开源】基于SpringBoot框架教学资料管理系统(计算机毕业设计)+万字毕业论文 T286
计算机毕业设计_gzs
开源springboot课程设计毕设java后端mybatis
系统合集跳转源码获取链接点击主页更能获取海量源码10年计算机开发经验,主营业务:源码获取、项目二开、语音辅导、远程调试、毕业设计、课程设计、毕业论文、BUG修改一、系统环境运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。IDE环境:Eclipse,Myeclipse,IDEA或者SpringToolSuite都可以tomcat环境:Tomcat7.x,8.x,9
- python统计列表中元素个数_python中计算一个列表中连续相同的元素个数方法
weixin_39611008
python统计列表中元素个数
python中计算一个列表中连续相同的元素个数方法最简单的例子:a=[1,1,1,1,2,2,2,3,3,1,1,1,3]#问:计算a中最多有几个连续的1很明显,答案是4如果用代码实现,最先想到的就是itertools:importitertoolsa=[1,1,1,1,2,2,2,3,3,1,1,1,3]printmax([len(list(v))fork,vinitertools.groupb
- 【MongoDB 分片集群架构详解】
从你 全世界 路过
必备mongodb架构数据库
MongoDB分片集群架构详解MongoDB分片集群架构详解1.分片简介1.1为什么要使用分片1.2垂直扩容(ScaleUp)VS水平扩容(ScaleOut)2.分片集群架构2.1核心概念2.1.1数据分片2.1.2配置服务器(configServer)2.1.3查询路由(mongos)3.环境搭建3.1分片集群搭建3.2使用mtools搭建分片集群4.使用分片集群4.1向分片集合写入数据4.2查
- 一款能够自动化过滤扫描结果的目录扫描工具,dirsx
尘佑不尘
自动化web安全安全工具
公众号:泷羽Sec-尘宇安全前言平时使用过dirsearch|dirmap等一些目录扫描工具,针对如今的WEB多样化,对扫描结果的过滤总感觉与预期不符合。因此下定决心造个轮子,就这样有了dirsx。下载地址:后台回复20241227获取下载地址往期推荐14w+poc,nuclei全家桶:nuclei模版管理工具+Nuclei红队武器库VulToolsKit全家桶:图形化页面+自己额外添加的一些工具
- 最实用的selenium使用指南
程序员小雷
selenium测试工具测试用例功能测试pythonjmeter单元测试
selenium使用一环境搭建下载seleniumpipinstallselenium下载浏览器驱动(以Edge为例)在设置中找到当前Edge版本号,在[MicrosoftEdgeWebDriver-MicrosoftEdgeDeveloper](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)中下载对应版
- Camel-AI项目模块详解
UFO上的可乐
人工智能深度学习pycharmpythonipythonpipconda
前提内容快捷键在Pycharm中使用ctrl+F12查看类中所有方法查看某一个类中的方法的实现类:鼠标点到方法名字上右键→goto→Implementationscamel项目目录如下:camel/├──agents/#智能体相关代码├──models/#模型集成与管理├──tools/#工具集成与使用├──conversations/#对话管理与处理├──data/#数据处理与管理├──exam
- 19、鸿蒙学习——配置HDC命令 环境变量
青春路上的小蜜蜂
鸿蒙学习harmonyostypescript
一、下载CommandLineTools可参考上篇《鸿蒙学习——配置OHPM、hvigor环境变量》二、配置hdc环境变量hdc命令行工具用于HarmonyOS应用/元服务调试所需的工具,该工具存放在命令行工具自带的sdk下的toolchains目录中。为方便使用hdc命令行工具,请将其添加到环境变量中。1、请先完成获取命令行工具。2、添加hdc路径到环境变量,指令如下。hdc工具存放路径示例:$
- SQL在线格式化 - 加菲工具
卡其大帝
工具sql数据库sql在线格式化sql格式化
SQL在线格式化-加菲工具打开网站加菲工具https://www.orcc.online选择“SQL在线格式化”或者直接访问网址https://www.orcc.online/tools/sql输入sql,点击上方的格式化按钮即可输入框得到格式化后的sql结果
- 解决python3.10以上pyqt6-tools无法安装问题
北岭敲键盘的荒漠猫
#python开发python
情景描述原本3.9版本python用的好好地,最新的一个自动化库要求必须要3.10以上才能使用。火急火燎更新3.12版本python,结果安装qt-tools丫的安装不了了。问题出现原因python的pyqt-tools他不支持3.10以上的python版本下载。如果想用pip下载得python3.10以下。这我丫的能忍?我刚升的版本!!解决思路我们一般把他当做外部工具来用。但是忽略了他本是就是个
- pytest运行警告问题解决:DeprecationWarning: pkg_resources is deprecated as an API
上海-悠悠
pytestpytest
前言最近在运行pytest的时候,经常出现这个警告DeprecationWarning:pkg_resourcesisdeprecatedasanAPISeehttps://setuptools.pypa.io/en/latest/pkg_resources.htmlfrompkg_resourcesimportiter_entry_points从警告上看是方法被弃用,肯定是因为新版弃用了旧版的语
- 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