- Node.js-fs模块
会飞的鱼先生
node.jsvim编辑器
文件写入异步写入文件(fs.writeFile())//语法:fs.writeFile(file,data[,options],callback)//参数:文件路径、数据、选项(可选)、回调函数(err)constfs=require('fs');fs.writeFile('file.txt','HelloNode.js',function(err){if(err)throwerr;console
- Serverless架构下的持续交付实践
软件工程实践
软件工程最佳实践AI软件构建大数据系统架构serverless架构运维ai
Serverless架构下的持续交付实践关键词:Serverless架构、持续交付、DevOps、无服务器计算、自动化部署摘要:本文深入探讨了Serverless架构下的持续交付实践。首先介绍了Serverless架构和持续交付的背景知识,接着解释了相关核心概念及其关系,详细阐述了核心算法原理与操作步骤,通过数学模型加深理解,结合实际项目案例展示了代码实现与解读,探讨了实际应用场景,推荐了相关工具
- 解决报错:org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
天黑请闭眼
Java异常处理java
目录一、场景二、报错信息三、原因四、解决一、场景1、前端调用后端接口报错2、接口功能为导出excel二、报错信息org.apache.catalina.connector.ClientAbortException:java.io.IOException:Brokenpipeatorg.apache.catalina.connector.OutputBuffer.realWriteBytes(Out
- IDEA:程序编译报错:java: Compilation failed: internal java compiler error
天黑请闭眼
intellij-ideaJava异常处理intellij-ideajava
目录简介异常信息排查原因解决简介代码无法编译、无法打包异常信息java:Compilationfailed:internaljavacompilererror排查1、代码近期没有改动过,原先是可以正常编译的2、查看程序JDK,是JDK1.8没错,与原先JDK一致3、出现无法编译的情况是在升级IDEA版本之后4、使用IDEA-2024版本无法编译5、使用IDEA-2019、IDEA-2022版本可正
- 7-STM32的模拟IIC
水果里面有苹果
嵌入式软件stm32单片机嵌入式硬件
STM32的模拟IICvoidIIC_Init(){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//使能GPIOA时钟GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10|GPIO_Pin_11;//PA4->SCL;PA5->SDAGPIO_
- 海思Hi3519DV500方案1200万无人机吊舱套板
weixin_Todd_Wong2010
嵌入式硬件AI前端边缘计算图像处理
海思Hi3519DV500方案1200万无人机吊舱套板Hi3519DV500是一颗面向行业市场推出的超高清智能网络摄像头SoC。该芯片最高支持四路sensor输入,支持最高4K@30fps的ISP图像处理能力,支持2FWDR、多级降噪、六轴防抖、全景拼接、多光谱融合等多种传统图像增强和处理算法,支持通过AI算法对输入图像进行实时降躁等处理,为用户提供了卓越的图像处理能力,集成了高效的神经网络推理引
- Java中的finalize()方法
周杰伦fans
JAVAai学习参考考试学习javapythonjvm
Java中的finalize()方法详解Java的finalize()方法是Object类定义的一个特殊方法,主要用于在对象被垃圾回收器回收之前执行一些清理工作。下面我将从基本概念、工作原理、使用场景、注意事项以及示例代码等方面详细解释这个方法。基本概念finalize()方法是Java中Object类的一个protected方法,每个Java类都隐式继承了这个方法。它的基本语法如下:protec
- STM32F407 步进电机梯形加减速
smallerlang
STM32电机stm32单片机arm
/*USERCODEBEGINHeader*//*********************************************************************************@file:main.c*@brief:Mainprogrambody************************************************************
- 飞算 JavaAI 2.0.0和 AI 编程技术设计的 120 章 Java 系统教程
AI编程员
001AI传统&编程语言002AI编程工具汇总003AI编程作品汇总开发语言深度学习pillowAI编程人工智能
以下是基于飞算JavaAI2.0.0和AI编程技术设计的120章Java系统教程,涵盖从基础到高阶、理论到实践的全栈知识体系,结合经典案例与企业级项目实战,适合零基础到架构师的学习路径:第一部分:基础入门(第1-30章)Java开发环境配置JDK21+IntelliJIDEA+飞算AI插件安装第一个AI生成的HelloWorld程序基础语法与AI辅助编程数据类型、变量、运算符飞算AI:自动生成算法
- Java猜拳小游戏
wp_tao
Java从入门到精通java开发语言
Java猜拳小游戏使用java设计一个猜拳小游戏,要求如下:在控制台提示用户输入出拳结果(1:石头,2:剪刀,3:布)。计算机生成出拳结果。裁判判断出拳结果。输出游戏结果。com.game.Judge.java。packagecom.game;publicclassJudge{privateintplayer1;//选手一的出拳结果:1为石头,2为剪刀,3为布
- verilog ascii码 0-99翻译成16进制数
LEEE@FPGA
FPGA学习记录fpga开发
VerilogASCII码转16进制数(0-99)moduleascii_to_hex(inputclk,inputrst_n,input[7:0]ascii_high,//十位数的ASCII码input[7:0]ascii_low,//个位数的ASCII码outputreg[7:0]hex_data//输出的16进制数);reg[7<
- 如何修改Python安装路径
壹只小小码农
python学习开发语言
在安装软件时,很多人都会发现默认的安装路径不是他们想要的,于是就想要修改安装路径。那么如何修改安装路径呢?本文将从多个角度为大家进行分析。一、在安装向导中更改一般情况下,我们在安装软件时会看到安装向导,其中会有一个“安装路径”选项,我们可以在这里手动更改安装路径。不同软件的安装向导可能略有不同,但是一般都会有这个选项。二、使用修改器有些软件虽然没有提供修改安装路径的选项,但是我们可以使用一些修改器
- golang游戏开发学习笔记-开发一个简单的2D游戏(基础篇)
2.人物运动图(只展示第一帧)2.方块纹理图将资源准备完成之后,就能开始代码的开发了五.开始实现!1.资源管理在上一篇文章中我们将纹理和着色器分别封装成了两个类,这里我们创建一个资源管理类对这两个类进行管理,由于golang中是没有静态变量的,需要用包内变量对其进行模拟shader.gopackageresourceimport(“github.com/go-gl/gl/v4.1-core/gl”
- WPF中获取主窗体
周杰伦fans
ai学习参考WPF笔记学习C#的笔记wpf
在WPF的MVVM模式中,通常不直接引用主窗体(MainWindow),而是通过依赖注入、事件聚合器或命令参数传递等方式实现逻辑解耦。以下是几种推荐方法:方法1:依赖注入(推荐)在ViewModel中定义一个接口,通过构造函数注入主窗体服务。步骤:定义接口(可选):publicinterfaceIMainWindowService{voidShowMessage(stringmessage);}在
- next-hexagonal-starter:前端六边形架构的简约实践
翟珊兰
next-hexagonal-starter:前端六边形架构的简约实践next-hexagonal-starter项目地址:https://gitcode.com/gh_mirrors/ne/next-hexagonal-starter项目介绍在软件开发中,六边形架构(HexagonalArchitecture)是一种设计模式,它通过将应用程序的业务逻辑与外部关注点(如UI、数据库、框架等)解耦,
- string s = new string(“java“)这个几个对象?
扣棣编程
#面试复习javaspringboot开发语言
(❁´◡`❁)您的点赞➕评论➕收藏⭐是作者创作的最大动力支持我:点赞+收藏⭐️+留言欢迎留言讨论(源码+调试运行+问题答疑)有兴趣可以联系我文末有往期免费源码,直接领取获取(无删减,无套路)在Java中,代码Strings=newString("java");(注意:正确的类名是String,首字母大写)会创建1个或2个对象,具体取决于字符串常量池(StringPool)的当前状态。以下是详细分析
- Kotlin编程语言的锡阿卡德项目:深度解析与实战应用
黄浴
本文还有配套的精品资源,点击获取简介:本项目围绕"锡阿卡德"这一与Kotlin编程语言相关的概念,探索了其可能指代的一个编程项目、框架或应用。Kotlin作为一种现代编程语言,其设计目标包括提升开发效率、安全性及互操作性。它结合了函数式和面向对象的编程特性,并与Java兼容。文章探讨了Kotlin的核心知识点,例如变量声明、数据类、空安全、扩展函数、高阶函数、协程、泛型、接口、类型别名以及Anko
- Python中类基础知识详解和应用
点云SLAM
Pythonpython开发语言深度学习人工智能计算机视觉python中的类学习
Python类知识详解类的定义语法class类名:#类体(属性、方法)示例:classPerson:pass创建类的实例(对象)p=Person()#创建一个类的对象(实例)类的构造方法(__init__)__init__是类的构造函数,在实例化对象时自动调用,用于初始化属性。classPerson:def__init__(self,name,age):self.name=nameself.age
- python+requests+excel 接口测试
鱼鱼说测试
postmanpython开发语言
1、EXCEL文件接口保存方式,如图。2、然后就是读取EXCEL文件中的数据方法,如下:1importxlrd234classreadExcel(object):5def__init__(self,path):6self.path=path78@property9defgetSheet(self):10#获取索引11xl=xlrd.open_workbook(self.path)12sheet=x
- 探索未来Android开发:深度解析JetHub项目
宗廷国Kenyon
探索未来Android开发:深度解析JetHub项目JetHubSampleAppwithJetpackcomponents(LiveData,Navigation,ViewModel)+MVVM+coroutine+singleactivity项目地址:https://gitcode.com/gh_mirrors/je/JetHub随着Android技术的不断演进,开发者们总是在寻找那些能够引领
- 探索高效缓存:CoroutinesCache 开源库深度解析
龙香令Beatrice
探索高效缓存:CoroutinesCache开源库深度解析CoroutinesCacheInmobiledevelopmentexistssolutionforcachingwithRxJavausage,butthereisnosolutionsforKotlinCoroutines.Theprojectistoprovidethisfunctionalitytomobilecommunity.
- 横向移动02
基于wmic的横向移动本文章中的192.168.3.32是目标地址,就是靶机ip地址条件:wmi服务开启,端口135,默认开启 防火墙允许135、445等端口通信 知道目标机的账户密码或HASH内置(单执行)shell wmic /node:192.168.3.32 /user:sqlserver\administrator /password:admin!@#123 proce
- 探索Android开发新境界:Kotlin协程实战乐园
黎情卉Desired
探索Android开发新境界:Kotlin协程实战乐园AndroidCoroutinesPlaygroundAndroidCoroutinesPlayground项目地址:https://gitcode.com/gh_mirrors/an/AndroidCoroutinesPlayground在快速迭代的移动开发领域,异步处理和代码结构的清晰性至关重要。今天,我们向您隆重推荐一个极佳的开源项目——
- 基于springboot的社会志愿者管理系统
QQ242219979
springboot后端java
目录部分效果实现截图本系统介绍关于我开发技术详细介绍开发思路核心代码参考示例基于springboot的社会志愿者管理系统论文提纲参考系统测试源码获取详细视频演示或者查看其他版本:文章底部获取博主联系方式!部分效果实现截图本系统介绍基于springboot的社会志愿者管理系统采用的开发工具:IntelliJIDEA,VScode;数据库管理软件:Navicat;服务器运行平台:Tomcat;开发技术
- 算法大厨日记:猫猫狐狐带你用代码做一锅香喷喷的“预测汤”
Gyoku Mint
AI修炼日记猫猫狐狐的小世界人工智能人工智能机器学习python算法database深度学习数据挖掘
️【开场·今天的料理名叫“预测炖汤”】猫猫:“咱今天突发奇想,决定用机器学习代码给你炖一锅‘预测汤’喵!这不是教你代码,是要告诉你怎么把‘算法’吃进肚子里~”狐狐:“别急,她又在打比方了。这锅汤从数据准备到调参优化,就跟你平常做饭的过程没两样,只不过食材都被咱们用代码换了一遍。”【第一步·数据准备,就是挑菜啦】猫猫:“首先是挑菜(数据预处理),不能什么菜都扔进去锅里吧?要洗干净去皮(数据清洗),再
- Java IO流
码·蚁
Java学习java开发语言intellij-idea后端
IO流1.什么是IO流IO流是Java对文件进行操作,同时还可以对文件的内容读取和写入,在Java中,这些操作文件的类称之为流1.1IO流的分类—面试题根据流向:输入流:对文件的内容进行读取输出流:对文件的内容进行写入根据单位:字节流:每次读取或者写入一个字节字符流:每次读取或者写入一个字符根据功能:节点流:可以从数据的某个节点向某个节点写入数据,就是普通的输入输出流处理流:对已经存在的流做二次封
- 计算机基础和Java编程的练习题
柳依依@
Java入门java开发语言
1.计算机的核心硬件是什么?各自有什么用?中央处理器(CPU):负责执行程序中的指令,进行算术和逻辑运算,是计算机的“大脑”。内存(RAM):临时存储CPU正在处理的程序和数据,速度快但断电后数据丢失。硬盘(HDD/SSD):永久存储操作系统、应用程序和用户数据,断电后数据不丢失。主板:连接所有硬件组件,提供数据传输的通道。显卡(GPU):负责图形渲染,将数字信号转换为图像显示在屏幕上。电源:为计
- Flask(二) 路由routes
@昵称不存在
Flaskflask
文章目录基本路由定义路由参数路由规则设置请求方法(GET/POST)路由函数返回静态文件和模板Blueprint(模块化路由)显示当前所有路由Flask路由是Web应用程序中将URL映射到Python函数的机制。定义路由:使用@app.route(‘/path’)装饰器定义URL和视图函数的映射。路由参数:通过动态部分在URL中传递参数。路由规则:使用类型转换器指定URL参数的类型。请求方法:指定
- python中random中uniform怎么用_Python中的random.uniform()函数教程与实例解析
weixin_39763640
random.uniform()函数教程与实例解析1.uniform()函数说明random.uniform(x,y)方法将随机生成一个实数,它在[x,y]范围内。2.uniform()的语法与参数2.1语法#_*_coding:utf-8_*_importrandomrandom.uniform(x,y)或#_*_coding:utf-8_*_fromrandomimportuniformuni
- Python实例题:基于 KNN 算法的手写数字识别
目录Python实例题题目要求:解题思路:代码实现:Python实例题题目基于KNN算法的手写数字识别要求:实现一个基于K-NearestNeighbors(KNN)算法的手写数字识别系统。支持以下功能:使用MNIST数据集训练和测试模型实现KNN分类算法可视化手写数字样本评估模型性能(准确率、混淆矩阵等)添加用户交互界面,允许用户绘制数字并进行识别。解题思路:使用sklearn加载MNIST数据
- 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