- Qwen2-Audio:通义千问音频大模型技术解读
kakaZhui
音视频AIGC人工智能pythonchatgpt
引言:从llm到mlm(audio)大型语言模型(LLM)的发展日新月异,它们在文本理解、生成、推理等方面展现出惊人的能力。然而,交互模态不仅仅依赖于文字,语音、语调、环境音等听觉信息同样承载着丰富的内容。阿里巴巴通义千问团队,推出了Qwen-Audio系列模型,这里我们一起看下最新版本Qwen2-Audio。Qwen2-Audio不仅能够理解各种音频信号,还能根据语音指令做出文本回应,甚至可以进
- Servlet
NGC2237999
servlet
JavaSE与JavaEEJavaSE(StandardEdition)和JavaEE(EnterpriseEdition)是Java平台的两个主要版本,它们各自有不同的用途和功能。JavaSE(标准版)定义:JavaSE是Java的标准基础版,提供了核心功能和库,用于开发一般的应用程序,如桌面应用和小型工具。主要特性:包含Java语言的基本语法和标准库(如集合框架、IO操作、网络编程等)。适合开
- iOS发布app到App Store教程
Cloudox_
iOS拾遗iOS之海iOS发布App发布证书AppStore
要发布首先需要发布证书,其获取和安装的基本流程和真机调试证书一致,关于真机调试证书的获取和使用可以参考这篇文章。不过现在Xcode7不需要真机调试证书也可实现真机调试了,可以参考这篇文章。要获取证书,以及发布app,都需要开发者账号,开发者账号分为个人和企业两种,在https://developer.apple.com/programs/这个网站注册。关于申请开发者账号,有时间再写一篇文章好啦。获
- TypeScript语言的计算机视觉
苏墨瀚
包罗万象golang开发语言后端
使用TypeScript进行计算机视觉:一个现代化的探索引言随着人工智能和机器学习的快速发展,计算机视觉(ComputerVision)成为了一个极具活力的研究领域。计算机视觉旨在使计算机能够“看”和“理解”数字图像或视频中的内容。近年来,TypeScript作为一种现代化的编程语言,因其类型安全和更好的开发体验,逐渐在前端和后端开发中得到了广泛应用。本文将探讨如何使用TypeScript进行计算
- MDX语言的软件工程
苏墨瀚
包罗万象golang开发语言后端
MDX语言的软件工程引言在现代软件开发中,技术的进步不断推动着开发流程的变化与优化。MDX(MultidimensionalExpressions)语言作为一种用于查询和操作多维数据集的表达式语言,已在数据分析、商业智能等领域得到了广泛应用。本文将探讨MDX语言在软件工程中的应用,包括其基本概念、工作原理、最佳实践以及在数据分析系统中的具体案例。1.MDX语言概述MDX最初由微软开发,通常用于访问
- Objective-C语言的调试工具
苏墨瀚
包罗万象golang开发语言后端
Objective-C调试工具详解Objective-C是一种面向对象的编程语言,广泛应用于macOS和iOS开发。由于其动态性和灵活性,Objective-C在开发过程中可能会遇到各种复杂的调试问题。为了帮助开发者更高效地定位和解决问题,Objective-C提供了多种调试工具和技术。本文将详细介绍这些工具,并探讨如何在实际开发中使用它们。1.Xcode调试器Xcode是苹果官方提供的集成开发环
- Python 问题:ModuleNotFoundError: No module named ‘matplotlib‘
我命由我12345
Python-问题清单pythonmatplotlib开发语言c++c#后端
问题与处理策略1、问题描述importmatplotlib.pyplotaspltfig,ax=plt.subplots()ax.plot([1,2,3,4],[1,4,2,3])plt.show()执行上述代码,报如下错误ModuleNotFoundError:Nomodulenamed'matplotlib'#翻译ModuleNotFoundation错误:没有名为matplotlib的模块2
- 工厂函数详解:概念、目的与作用
漫谈网络
网络技术进阶通途工厂函数mininetsdnnfv网络
一、什么是工厂函数?工厂函数(FactoryFunction)是一种设计模式,其核心是通过一个函数来创建并返回对象,而不是直接使用new或构造函数实例化对象。它封装了对象的创建过程,使代码更灵活、可维护。二、工厂函数的目的与作用目的作用解耦对象创建逻辑将对象的创建与使用分离,调用者无需关心对象的具体实现细节。延迟实例化仅在需要时创建对象,避免资源浪费(如内存、CPU)。支持动态参数根据输入参数返回
- 01.AJAX 概念和 axios 使用
Lv547
#AJAXajax前端javascript
01.AJAX概念和axios使用1.什么是AJAX?使用浏览器的XMLHttpRequest对象与服务器通信浏览器网页中,使用AJAX技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端,前端拿到数据数组以后,展示到网页2.什么是服务器?可以暂时理解为提供数据的一台电脑3.为何学AJAX?以前我们的数据都是写在代码里固定的,无法随时变化现在我们的数据可以从服务器
- TypeScript模块 vs JavaScript模块:现代化开发的模块化之道
念九_ysl
typescript前端typescript
一、模块化开发的重要性在当今前端开发领域,模块化已成为构建可维护、可扩展应用程序的基石。无论是小型项目还是企业级应用,良好的模块化设计都能显著提升代码的可读性和复用性。让我们通过一个简单对比示例开始:JavaScript实现://math.jsexportfunctionadd(a,b){returna+b}//app.jsimport{add}from'./math.js';console.lo
- Springboot中的@ConditionalOnBean注解:使用指南与最佳实践
上官美丽
javaspringbootjavamybatis
在使用SpringBoot进行开发时,大家应该都听说过条件注解(ConditionalAnnotations)。其中的@ConditionalOnBean注解就很有趣,它帮助开发者在特定条件下创建和注入Bean,让你的应用更加灵活。今天就来聊聊这个注解的使用场景、工作原理以及最佳实践!什么是@ConditionalOnBean注解?@ConditionalOnBean是SpringBoot中提供的
- UniApp 从Vue2升级为Vue3需要注意哪些方面
行思理
App开发uni-appvue.jsjavascriptVue3Vue2
Vue官方已经发布了Vue3,Vue2不再维护,也在建议大家都迁移到Vue3,所以Vue2终会被淘汰。那么UniApp从Vue2升级为Vue3需要注意哪些方面:1、main.js下面请看创建应用实例Vue2与Vue3的不同:Vue2的写法://之前-Vue2importVuefrom'vue'importAppfrom'./App'Vue.config.productionTip=false//v
- 【sglang】sglang出现如下报错sglang/srt/server.py“, line 631, in _wait_and_warmup assert res.status_code
深度求索者
python
sglang部署服务过程中如果出现如下报错:Initializationfailed.warmuperror:Traceback(mostrecentcalllast):[2025-03-1110:17:39]Initializationfailed.warmuperror:Traceback(mostrecentcalllast):File"/miniconda/envs/SGLang/lib/
- 分布式系统中的负载均衡
樽酒ﻬق
架构设计负载均衡网络运维
目录分布式系统中的负载均衡引言1.什么是负载均衡?1.1负载均衡的目标2.负载均衡的类型2.1网络负载均衡(NetworkLoadBalancing)2.2应用负载均衡(ApplicationLoadBalancing)2.3全局负载均衡(GlobalLoadBalancing)2.4计算负载均衡(ComputeLoadBalancing)3.负载均衡算法3.1轮询(RoundRobin)3.2加
- Multi-view graph convolutional networks with attention mechanism
小源er
图论和图神经网络机器学习机器学习深度学习人工智能
摘要传统的图卷积网络关注于如何高效的探索不同阶跳数(hops)的邻居节点的信息。但是目前的基于GCN的图网络模型都是构建在固定邻接矩阵上的即实际图的一个拓扑视角。当数据包含噪声或者图不完备时,这种方式会限制模型的表达能力。由于数据的测量或者收集会不可避免的会出现错误,因此基于固定结构的图模型表达能力是不充分的。本文提出了基于注意力机制的多视图图卷积网络,将拓扑结构的多个视图和基于注意力的特征聚合策
- laravel 对 数据库 json 字段的查询方式汇总
王大爷~
laravel数据库json
1:查询json字段,多层级publicstaticfunctionformRoleDelCheck($params){$user=Auth::user();$check=WorkorderSet::whereRaw('JSON_CONTAINS(auto_assign_rule,?)',[json_encode(['rules'=>[['type'=>'field','field_key'=>"
- 152.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之Banner模块实现
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之3D立方体旋转轮播案例讲解之Banner模块实现效果演示1.Banner模块结构1.1基础布局@BuilderbannerModule(){Column(){Text($r('app.string.cube_animation
- 150.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之生命周期与初始化
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之3D立方体旋转轮播案例讲解之生命周期与初始化效果演示1.生命周期概述1.1组件生命周期@ComponentexportstructCubeRotateAnimationSamplePage{//组件创建时调用aboutToAp
- 145.HarmonyOS NEXT系列教程之3D立方体旋转轮播案例讲解之自定义过渡效果
harmonyos-next
温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之3D立方体旋转轮播案例讲解之自定义过渡效果效果演示1.自定义过渡效果概述1.1基本结构customContentTransition({timeout:1000,//超时时间transition:(proxy:SwiperCo
- Java动态代理模式深度解析
Vic10101
Java性能优化开发实战项目总结java代理模式开发语言
1.动态代理基础1.1核心组件Proxy类:动态生成代理对象的工厂类,核心方法为newProxyInstance()。InvocationHandler接口:代理逻辑的处理器,所有方法调用会转发到其invoke()方法。1.2实现步骤定义接口:代理基于接口实现。publicinterfaceUserService{voidaddUser(Stringusername);}实现类(真实对象):pub
- 《从入门到精通:方法拦截器与切入点表达式的使用指南》
qq_44766305
Springjava开发语言spring后端
MethodInterceptir(方法拦截器)methodInteceptor接口:额外功能可以根据需要运行在原始方法执行前、后、前后publicclassArroundimplementsMethodInterceptor{/*invoke方法作用:额外功能书写在invoke原始方法之前之后/之前之后参数:MethodInvocation:额外功能所增加的那个原始方法invocation.pr
- 云原生分布式存储:数据洪流中的时空折叠艺术
桂月二二
云原生分布式
引言:数据维度战争的新防线蚂蚁集团存储集群达500EB规模,Netflix每日处理3PB视频数据。AWSS3支持每秒1.5亿次请求,字节跳动对象存储延迟低至12ms。IDC预测2026年全球存储开销达亿,沃尔玛每秒处理万笔交易日志,沙特阿美地震勘探数据集超。微软冷存单价降至0.00099/GB·月,中国天眼FAST每秒生成160GB射电数据,Twitter使用Ambry实现250万IOPS。Gar
- Argos Translate 开源项目教程
经优英
ArgosTranslate开源项目教程argos-translateOpen-sourceofflinetranslationlibrarywritteninPython项目地址:https://gitcode.com/gh_mirrors/ar/argos-translate项目介绍ArgosTranslate是一个开源的离线翻译库,使用Python编写。它利用OpenNMT进行翻译,Sent
- C++23标准库模块
eamon100
Win32软件开发c++
一、C++23标准库引入了两个命名模块:std和std.compat:std导出C++标准库命名空间std中定义的声明和名称,例如std::vector。它还会导出C包装器标头的内容,例如和,提供类似std::printf()函数的内容。不会导出全局命名空间(如::printf())中定义的C函数。这可改善包含这样的C包装器标头的同时也会包含像stdio.h这样的C头文件的情况,因为这会引入C全局
- kotlin 默认构造函数_Kotlin程序| 函数的默认值和命名参数
cumubi7552
javapythonlinuxtensorflowc++
kotlin默认构造函数Inthedefaultargument,wecanassignthedefaultvaluestothearguments,whilecallingthefunctionifwedonotprovideanyvalueforthedefaultassignedargumentsthenthecompilerautomaticallytakesthedefaultvalue
- pytesseract
Claroja
图像识别tesseract
方法get_tesseract_version,返回tesseract的版本.image_to_string,返回识别的字符串image_to_boxes,返回字符和位置image_to_data,返回边框,置信度和其他的信息,可以参考TesseractTSVimage_to_osd,返回orientationandscriptdetection参数imageObject,PILImage/Num
- OceanBase数据库常用巡检SQL
MoMoSQL666
数据库oceanbasemysqlsql
本文为墨天轮数据库管理服务团队原创内容,如需转载请联系小墨(VX:modb666)并注明来源。一、版本信息select*frominformation_schema.GLOBAL_VARIABLESWHEREVARIABLE_NAMElike'version%';二、集群状态select*fromoceanbase.v$ob_cluster;三、服务器状态检查所有服务器的状态,包括这个Server
- STM32 —— 嵌入式系统、通用计算机系统、物联网三层架构
Exhausted、
stm32单片机stm32嵌入式硬件物联网架构
目录一、嵌入式系统的概念二、通用计算机系统与嵌入式系统的比较用途硬件软件性能与功耗开发与维护三、嵌入式系统与物联网的关系四、物联网的三层架构1.感知层(PerceptionLayer)2.网络层(NetworkLayer)3.应用层(ApplicationLayer)三层架构的协作流程一、嵌入式系统的概念嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及应用程序等4部分组成,并且分为
- Bjarne Stroustrup's FAQ
win32asn
c++standardslibrarymicrosoftfeaturestemplates
BjarneStroustrup'sFAQModifiedFebruary5,2008Thesearequestionsthatpeopleaskmeoften.Ifyouhavebetterquestionsorcommentsontheanswers,
[email protected]'tspendallofm
- 深入理解 C++11 多线程编程:从入门到实践
小河cpp
c++开发语言
C++多线程编程是指使用C++提供的多线程库来并行执行代码块,从而提高程序的性能和响应能力。C++11标准引入了多线程支持,使得在C++中进行多线程编程变得更加容易和直观。以下是C++多线程编程的基本知识,并附有例子代码。多线程的基本概念线程(Thread):线程是进程中的一个执行单元,每个线程有自己的堆栈,但与其他线程共享程序的全局内存。竞争条件(RaceCondition):多个线程并发访问同
- 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