- WHQL微软驱动签名认证,让企业驱动在Windows系统畅通无阻
WoTrusSSL
microsoft
对于开发硬件设备或驱动软件的企业来说,如何在Windows系统上实现驱动程序的“无感安装”和稳定运行,是直接影响用户体验和产品口碑的关键。而微软的WHQL认证(Windows硬件质量实验室认证),正是解决这一痛点的“黄金标准”。本文将为您解读WHQL认证的核心价值,并拆解三种适配不同需求的驱动签名方案,助您的产品轻松获得微软官方背书,抢占市场先机。一、WHQL微软驱动签名的作用简单来说,WHQL认
- C# WPF面试题:WPF中一些常见的设计模式
令狐掌门
WPF面试题wpfWPF中的设计模式
C#WPF(WindowsPresentationFoundation)是一个用于创建桌面应用程序的框架,它广泛使用了多种设计模式。以下是一些常见的设计模式:MVVM(Model-View-ViewModel):这是WPF最常用的设计模式。它将数据模型(Model)、视图(View)和视图模型(ViewModel)分离,使得各部分可以独立进行开发和测试。视图模型是视图的抽象,它包含了视图的状态和行
- 如何禁止电脑中某个应用联网
办公小百知
软件技术电脑文件管理技巧电脑
一、通过防火墙基础设置(快速操作)打开控制面板在任务栏搜索框输入“控制面板”并打开,将右上角“查看方式”切换为“大图标”。进入防火墙设置点击WindowsDefender防火墙→左侧选择允许应用或功能通过WindowsDefender防火墙。禁用目标应用的网络权限在列表中找到需禁用的应用,取消其勾选的专用网络和公用网络,点击确定保存。二、通过高级出站规则(彻底禁止)创建出站规则在防火墙设置界面,点
- Python软件和搭建运行环境
办公小百知
软件技术python开发语言
目录一、Python安装全流程(Windows/Mac/Linux)1.下载官方安装包2.详细安装步骤(以Windows为例)3.环境变量配置(Mac/Linux)二、虚拟环境管理(关键!)为什么需要虚拟环境?1.使用venv(Python内置)2.使用conda(推荐数据科学方向)三、开发工具推荐与配置1.IDE选择2.VSCode配置指南四、常见问题解决方案1.python命令无效?2.pip
- github上clone代码过程
nfgo
github
从GitHub上拉取代码的过程非常简单,一般通过gitclone命令来完成。以下是详细步骤:下载git工具要下载并安装Git,你可以根据你的操作系统来选择相应的步骤。以下是如何在不同操作系统上安装Git的详细说明:1.在Windows上安装Git访问Git官网:打开浏览器,访问Git官方下载页面:https://git-scm.com/download/win下载安装程序:选择适合你的Window
- 【第十节】windows sdk编程:截获控件消息
攻城狮7号
Windows编程(C++)windowswindows编程windowssdkc++
目录一、控件消息的截获概述二、相关函数三、示例代码四、高级技巧与注意事项五、常见问题解答六、总结一、控件消息的截获概述控件的消息处理函数通常由系统定义,开发者无需干预。但在需要实现特殊交互逻辑(如自定义点击效果、消息过滤或增强功能)时,可通过消息处理函数替换技术截获控件消息。此技术通过替换控件的默认消息处理函数(WindowProcedure),在自定义处理完成后,调用原函数确保消息链完整。该技术
- Python基础语法(一)
算法工程师y
python开发语言
一、Python的安装与环境配置在开始编程之前,你需要确保计算机上安装了Python。以下是简单步骤:下载Python:访问Python官网,选择适合你操作系统的版本(推荐Python3.10+)。安装Python:运行安装程序,勾选“AddPythontoPATH”(确保在命令行中可以直接使用Python)。验证安装:打开终端(Windows用户使用CMD/PowerShell,Mac/Linu
- linux下使用curl访问多参数url
耘田
Linuxcurllinuxurl多参数
curl-ihttp://marsoffset.goforandroid.com/GoSmsMarService/abc?a=116.397428&b=39.90923[1]8741[jb-xccheng@usa-ip-12~]$HTTP/1.1500InternalServerErrorServer:nginx/1.2.0Date:Wed,20Jun201204:16:21GMTContent-
- CMake 保姆级教程
爱吃巧克力的程序媛
CMakec++
CMake是一个跨平台的构建工具,用于生成适合不同平台和编译器的构建系统文件(如Makefile或VisualStudio项目文件)。在Windows下使用CMake构建项目时,CMake会根据CMakeLists.txt文件生成适合Windows的构建系统文件(如VisualStudio项目文件)。以下是Windows下使用CMake的基本规则和步骤:https://subingwen.cn/c
- 【C++游戏开发】零基础手写完整飞机大战游戏(基于EasyX图形库/详细注释/源码分享)
小乌龟登顶记
stm32单片机嵌入式硬件
一、开发环境与资源准备1.1环境要求VisualStudio2019+(推荐2022)EasyX图形库(官网下载适配VS版本)WindowsSDK(安装VS时勾选)1.2资源文件在项目目录创建res文件夹,存放以下素材(素材自备):plane.png玩家飞机(50x50)enemy.png敌机(50x50)bullet.png子弹(10x20)bg.jpg滚动背景(600x700)boom.wav
- eclipse运行问题
hitsz_syl
eclipsejavaide
你在D:\Personal_Finance_System\eclipse\eclipse\configuration目录下没有发现.log文件:方法:强制Eclipse生成日志如果.log文件不存在,可以尝试让Eclipse以-consoleLog模式运行,查看错误信息:打开Windowscmd终端进入Eclipse安装目录cdD:\Personal_Finance_System\eclipse\
- Redis 安装详细教程(小白版)
小小鸭程序员
springjavaAI编程springcloudredis
一、Windows系统安装Redis方法1:直接安装(推荐新手)下载RedisforWindows访问微软维护的Redis版本:https://github.com/microsoftarchive/redis/releases下载Redis-x64-3.2.100.msi(或最新版本)安装包。安装Redis双击下载的.msi文件点击下一步,勾选“AddRedisinstallationfolde
- windows安装es怎么在后台运行_Windows-ElasticSearch安装和启动
weixin_39531037
步骤二:安装ES服务Window版的ElasticSearch的安装很简单,类似Window版的Tomcat,解压开即安装完毕,解压后的ElasticSearch的目录结构如下:修改elasticsearch配置文件,config/elasticsearch.yml文件,增加文件内容如下:http.cors.enabled:truehttp.cors.allow-origin:"*"添加配置是为了
- IDEA Reformat Code 避免将多行参数或多行方法链调用合并成一行
阿湯哥
intellij-ideajavaide
在IntelliJIDEA中,如果你希望在进行代码格式化(ReformatCode)时,避免将多行参数或多行方法链调用合并成一行,可以通过以下步骤进行设置:1.打开设置在IntelliJIDEA中,点击File菜单,然后选择Settings(Windows/Linux)或Preferences(macOS)。2.进入代码格式化设置在设置窗口中,导航到Editor->CodeStyle->Java(
- 【面经】2025年软件测试面试题,精选100 道(附答案)
测试界的路飞
软件测试面试面试软件测试职场和发展软件测试面试
测试技术面试题1、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?2、什么是兼容性测试?兼容性测试侧重哪些方面?3、测试的策略有哪些?4、正交表测试用例设计方法的特点是什么?5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?6、描述测试用例设计的完整过程?7、你觉得bugzilla在使用的过程中,有什么问题?8、单元测试的
- 【CMake指南】第5篇:跨平台配置与工具链(实现多环境无缝构建)
JuicyActiveGilbert
CMake指南嵌入式硬件单片机c++CMake教程
本文中的相关代码、文件皆为示例。1.跨平台路径处理1.1统一路径分隔符#将路径转换为当前平台的格式file(TO_CMAKE_PATH"/usr/local/include"NORMALIZED_PATH)message("转换后路径:${NORMALIZED_PATH}")#Windows输出:usr\local\include1.2路径拼接最佳实践#错误方式(硬编码分隔符)set(INC_PA
- windows协议不再续签,华为再无windows可用,将于四月发布鸿蒙PC
国货崛起
华为harmonyos
大家好,我是国货系创始人张云泽,最近不少小伙伴在后台问:“听说Windows协议要到期了?我的电脑会不会变砖?”还有人说:“华为笔记本以后用不了Windows了?鸿蒙系统能用吗?”今天咱们就唠唠这事儿,不整虚的!windows协议到期将不再续签,华为将于四月发布鸿蒙PC版一、普通用户的Windows协议到期,慌不慌?其实啊,Windows协议到期一般分两种情况:个人用户:比如用了临时激活码或者第三
- IntelliJ IDEA 2023.3.1安装指南从下载到配置的完整教程(附资源下载)
心灵宝贝
intellij-ideajavaide
安装IntelliJIDEA2023.3.1非常简单,以下是详细的安装步骤,适用于Windows、macOS和Linux系统。1.下载IntelliJIDEAIntelliJIDEA下载链接:https://pan.quark.cn/s/3ad975664934选择适合你的操作系统的版本:Ultimate版:功能全面,支持所有开发语言和框架(需付费)。Community版:免费版,适合Java和K
- Ghostscript 简介与使用指南
gs80140
pdf
目录Ghostscript简介与使用指南1.什么是Ghostscript?2.Ghostscript的安装2.1在Windows上安装2.2在macOS上安装(使用Homebrew)2.3在Linux上安装(Ubuntu/Debian)3.Ghostscript的基本用法3.1查看PDF或PostScript文件3.2将PDF转换为PNG/JPEG3.3压缩PDF文件3.4合并多个PDF文件3.5
- Windows 发票闪印 PrintPDF-v3.6.10-第三方发票打印辅助工具,无需安装阅读器即可使用
私人珍藏库
winPrintPDF发票闪印
PrintPDF_发票闪印链接:https://pan.xunlei.com/s/VOLCPVsJiYRh9GDPHK_jd5ZoA1?pwd=b399#使用说明:1、文件导入数量不限,但单个文件限制是10页。支持PDF、OFD和图片版电子发票(非以上三种文件会自动跳过)。文件导入方式:可在软件界面将文件拖入;可将文件拖至与PrintPDF.exe快捷方式或PrintPDF.exe可执行文件处导入
- 使用Unity引擎开发的Windows 11系统3D打地鼠游戏的方案
1079986725
手机游戏开发者Windows游戏java玩游戏
创建Unity项目:使用UnityHub新建3D项目设置目标平台为Windows场景搭建:csharp//地鼠控制器WhackAMole.csusingUnityEngine;usingSystem.Collections;publicclassWhackAMole:MonoBehaviour{publicfloatpopupDuration=1.5f;publicfloatminHideTime
- Ubuntu 和Windows系统之间相互复制粘贴功能
川星弦
ubuntulinux运维
执行命令:sudoapt-getinstallopen-vm-tools-desktop重启后完成。
- 解决U盘提示“使用驱动器H:中的光盘之前需要将其格式化”问题(附详细图文)
川星弦
windows
问题描述当插入U盘或移动硬盘时,系统弹出提示“使用驱动器H:中的光盘之前需要将其格式化”(如下图所示),要求用户格式化磁盘才能继续使用。此问题通常由文件系统错误、分区表损坏或存储设备异常导致。直接格式化会丢失数据,因此需要通过修复文件系统来解决。解决方法:使用chkdsk命令修复文件系统步骤1:以管理员身份打开终端按下Win+X组合键,选择“终端(管理员)”或“WindowsPowerShell(
- 三种环境下,没有公网ip的虚拟机访问公网的方法
技术服务于生态
tcp/iplinux网络协议
1.windows真机+vmware虚拟机2.云平台,虚拟机A(有公网ip,有内网ip)+虚拟机B(只有内网ip)3.linux真机+kvm虚拟机------------------------------------------------------------------------------第一种:windows真机+vmware虚拟机这个在前一篇文章已列出VMware虚拟机连接公网,和
- python openai 网络连接报错
哦里 哦里哦里给
AI大语言模型实战pythonai
目录一、问题:网络连接报错二、解决办法一、问题:网络连接报错File"/opt/anaconda3/envs/openaitest/lib/python3.8/site-packages/openai/_base_client.py",line1024,in_requestraiseAPIConnectionError(request=request)fromerroropenai.APIConn
- C# WinForm【DataTable分页查询与数据导出到Excel】
Easonflowers
VS实战c#excel
准备:主要控件saveFileDialog保存文件bindingNavigator分页控件bindingSource绑定数据源引用命名空间usingSystem;usingSystem.Data;usingSystem.Windows.Forms;usingExcel=Microsoft.Office.Interop.Excel;usingSystem.Data.SqlClient;namespa
- 时间同步装置(卫星时钟同步)工作原理介绍
北京华人开创公司
卫星同步时钟NTP时间同步大数据自动驾驶神经网络
时间同步装置(卫星时钟同步)工作原理介绍时间同步装置(卫星时钟同步)工作原理介绍微软从Windows2000开始,系统就支持使用NTP同步的方式获取时间,Windows系统默认的时间源都来自time.windows.com。为了用户使用的方便,time.windows.com以及大多数公网NTP时间服务器没有使用NTP加密方案传输时间,而是使用明文传输。这种公网时间同步方案是非常不可靠的,容易被黑
- Python 时间同步程序
东亭山人
Python时间同步
Python时间同步程序运行结果两种修改本地时间的方法(局域网内,利用网关服务器,穿越代理,与互联网时间同步的方法:前部分用于win7系统,后部分用于winserver2008。需要pip3installntplib需要启动WindowsTime服务。)importwin32apiimportdatetimeimportosimporttimeimportntplibdefSetClockL():
- 2、3ds Max的界面(3DMAX基础自学系列)
weixin_34409703
一、3dsMax2012中文版的操作界面二、各功能区的介绍1、菜单栏菜单栏位于软件界面顶部,共13个,分别是文件、编辑(E)、工具(T)、组(G)、视图(V)、创建(C)、修改器、动画、图标编译器、渲染(R)、自定义(U)、MAXScript(M)、帮助(H)。可以使用ALT+菜单的字母来打开菜单。①文件左上角的Max图标为文件操作入口,旁边为文件操作的快捷按钮,包含用于管理文件的命令,包括创建、
- HarmonyOS NEXT应用开发之适配挖孔屏案例
2401_89191552
harmonyos华为
加载完成后顶部状态栏时间和电量显示位置规避了不可用区域。实现思路通过setWindowLayoutFullScreen、setWindowSystemBarEnable将窗口设置为全屏,并且隐藏顶部状态栏。源码参考DiggingHoleScreen.ets//获取窗口实例window.getLastWindow(this.context,(err,data)=>{if(err){logger.er
- 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