- 别再瞎摸索!POI 操作 Excel 轻松添加下拉框
后端
POI操作EXCEL增加下拉框依赖org.apache.poipoi4.1.2org.apache.poipoi-ooxml4.1.2有时候通过excel将数据批量导入到系统,而业务操作人员对于一些列不想手动输入,而是采用下拉框的方式来进行选择采用隐藏sheet页的方式来进行操作StringsheetName="supplier_hidden_sheet";HSSFSheetsupplierShe
- 使用 Shiro 和 JPA 结合 MySQL 实现一个简易权限管理系统
Java猿_
mysql数据库
1.项目设置首先,确保你的项目已经配置好Maven或Gradle依赖管理工具,并添加以下依赖:Maven依赖org.apache.shiroshiro-core1.9.0org.apache.shiroshiro-web1.9.0org.springframework.bootspring-boot-starter-data-jpamysqlmysql-connector-java8.0.26or
- HBase简介:高效分布式数据存储和处理
代码指四方
分布式hbase数据库大数据
HBase简介:高效分布式数据存储和处理HBase是一个高效的、可扩展的分布式数据库,它是构建在ApacheHadoop之上的开源项目。HBase的设计目标是为大规模数据存储和处理提供高吞吐量和低延迟的解决方案。它可以在成百上千台服务器上运行,并能够处理海量的结构化和半结构化数据。HBase的核心特点包括:分布式存储:HBase使用Hadoop分布式文件系统(HDFS)作为底层存储,数据被分布在集
- PHP语法入门完全指南(2024新版)
生信天地
php开发语言
一、开发环境搭建1.1快速启动方案本地环境:安装XAMPP(含Apache+PHP+MySQL)在线沙盒:使用PHPSandboxDocker方案(推荐):dockerrun-it-p80:80-v$(pwd):/var/www/htmlphp:8.2-apache1.2第一个PHP程序▶️运行方式:浏览器访问http://localhost/01_hello.php二、基础语法核心2.1变量与常
- linux 搭建kafka集群
节点。csn
linuxkafka运维
目录、一、环境准备二、文件配置三、集群启动一、环境准备1、我这里是准备三台服务器节点ipnode1192.168.72.132node2192.168.72.133node3192.168.72.1342、安装jdklinux环境安装jdk_openjdk1.8.0_345-CSDN博客3、下载kafka安装包安装包下载wget--nhttps://downloads.apache.org/kaf
- poi 3.2 SecurityException HPSFException signer information does not match signer information of othe...
weixin_30360497
SecurityException:class"org.apache.poi.hpsf.HPSFException"'ssignerinformationdoesnotmatchsignerinformationofotherclassesinthesamepackage运行以下代码:try{FileInputStreamfis=newFileInputStream("e:\\test.doc")
- JAVA调用Deepseek的api,完成基本对话
菜菜-plus
java开发语言Deepseek
获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Java的HTTP客户端库(如ApacheHttpClient或OkHttp)来发送HTTP请求。如果使用Maven,可以在pom.xml中添加依赖:、org.apache.httpcomponentshttpclient4.5.13com.squareup.okhttp3okhttp4.9.3创建H
- Flink提交pyflink任务
Leo_Hu666
flink大数据pythonpyflink
1.官方文档:flink1.14:https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/deployment/cli/#submitting-pyflink-jobsflink1.18:https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deploy
- Windows操作系统部署Tomcat详细讲解
web15117360223
面试学习路线阿里巴巴windowstomcatjava
Tomcat是一个开源的JavaServlet容器,用于处理JavaWeb应用程序的请求和响应。以下是关于Tomcat的用法大全:一、安装Tomcat下载访问ApacheTomcat官方网站(https://tomcat.apache.org/),根据你的操作系统(如Windows、Linux、macOS)和需求选择合适的版本进行下载。例如,对于开发环境,通常选择较新的稳定版本。安装(以Windo
- redis压力测试
weixin_33845881
数据库
redis自带的redis-benchmark工具Redis自带了一个叫redis-benchmark的工具来模拟N个客户端同时发出M个请求。(类似于Apacheab程序)。你可以使用redis-benchmark-h来查看基准参数。1使用方法redis-benchmark[-h][-p][-c][-n[-k]序号选项描述默认值1-h指定redisserver主机名localhost2-p指定re
- Knox原理与代码实例讲解
AI天才研究院
计算DeepSeekR1&大数据AI人工智能大模型计算科学神经计算深度学习神经网络大数据人工智能大型语言模型AIAGILLMJavaPython架构设计AgentRPA
Knox原理与代码实例讲解1.背景介绍在现代分布式系统中,安全性和隔离性是非常重要的需求。ApacheKnox是一个反向代理服务器,旨在为ApacheHadoop集群提供单一入口点,增强安全性和集中化管理。它位于Hadoop集群与客户端应用程序之间,充当网关和负载均衡器的角色。Knox的主要目标是:提供集中式身份验证和授权,减轻客户端应用程序的负担。实现多租户支持,允许不同的组织或部门安全地共享同
- Shiro 框架详解
大家都说我身材好
Java高级springjavashiro
Shiro是一款轻量级的Java安全框架,提供了身份认证、授权、加密和会话管理等功能。它可以集成到任何JavaWeb应用程序中,并且易于使用和扩展。Shiro的设计理念是简洁而灵活,不仅可以应用于Web应用程序,还可以应用于命令行、移动设备和分布式系统等各种应用场景。1.Shiro的概述Shiro是一个开源的Java安全框架,由Apache开发和维护。Shiro可以帮助开发人员快速实现安全特性,包
- 在linux环境下启动es,linux上Elasticsearch 安装配置、网页访问
guo桀
在linux环境下启动es
一、ElasticSearch简述ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能
- Apache ZooKeeper 分布式协调服务
slovess
分布式apachezookeeper
1.ZooKeeper概述1.1定义与定位核心定位:分布式系统的协调服务,提供强一致性的配置管理、命名服务、分布式锁和集群管理能力核心模型:基于树形节点(ZNode)的键值存储,支持Watcher监听机制生态地位:Hadoop/Kafka等生态核心依赖,分布式系统基础设施级组件1.2设计目标强一致性:所有节点数据最终一致(基于ZAB协议)高可用性:集群半数以上节点存活即可提供服务顺序性:全局唯一递
- shrio反序列化分析
红队蓝军
java开发语言安全
shiro550环境搭建https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4配置pom.xmljavax.servletjstlruntimejavax.servletservlet-apiprovidedorg.slf4jslf4j-log4j12runtimelog4jlog4jruntimenet.sourceforge.
- 开源协议深度解析:理解MIT、GPL、Apache等常见许可证
cooldream2009
编程思想开源协议apacheMIT协议
目录前言1.MIT协议:自由而宽松的开源许可1.1MIT协议的主要特点1.2MIT协议的适用场景2.GPL协议:自由软件的捍卫者2.1GPL协议的核心理念2.2GPL协议的适用场景3.ApacheLicense2.0:开源与专利保护的平衡3.1ApacheLicense2.0的主要特点3.2ApacheLicense2.0的适用场景4.BSD协议:简单而灵活的开源选择4.1BSD协议的版本及特点4
- Apache JMeter 快速入门【图文详情】
甘蓝聊Java
【更新中...】项目中的那些事apachejmeterjava性能测试压力测试
文章目录ApacheJMeter简介安装ApacheJMeter入门Demo-测试HTTP接口第1步:创建线程组,模拟并发用户第2步:添加HTTPRequest采样器提供HTTP接口创建HTTPRequest采样器创建JSON断言第3步:添加Listener第4步:运行第5步:查看运行结果更多介绍参考本文目标:快速了解ApacheJMeter,并实现一个简单的HTTP接口的性能测试。官网:http
- Tomcat安装与配置详解:从入门到精通
一休哥助手
javatomcatjava
一、Tomcat简介1.1什么是Tomcat?Tomcat是由Apache软件基金会开发和维护的一款轻量级Java应用服务器,能够运行JavaServlet和JSP应用程序。Tomcat作为JavaWeb服务器与传统的Web服务器(如ApacheHTTPServer)配合使用,以便提供动态的Web服务。1.2Tomcat的主要特性轻量级:Tomcat的体积较小,启动速度快,资源消耗低,非常适合开发
- 阿里云RDS到亚马逊云RDS的实时数据同步方案详解
ivwdcwso
运维阿里云云计算awskda数据同步
1.需求背景在当今的多云环境中,企业经常需要在不同云平台之间同步数据。本文将详细介绍如何实现从阿里云RDSMySQL数据库到亚马逊云RDSMySQL数据库的实时数据同步。这种同步对于数据备份、跨区域数据访问、数据分析等场景都非常有用。2.方案概述我们将使用AWSKinesisDataAnalytics(KDA)作为核心组件来实现这个实时同步方案。KDA基于ApacheFlink,支持使用SQL或J
- 大数据之-hdfs+hive+hbase+kudu+presto集群(6节点)
管哥的运维私房菜
大数据hdfshivekuduprestohbase
几个主要软件的下载地址:prestohttps://prestosql.io/docs/current/index.htmlkudurpm包地址https://github.com/MartinWeindel/kudu-rpm/releaseshivehttp://mirror.bit.edu.cn/apache/hive/hdfshttp://archive.apache.org/dist/ha
- 中国第一本介绍企业级开发工具Zend的书籍
weixin_34245749
开发工具数据库javascriptViewUI
【书名】大道PHP:LAMP+Zend+开源框架整合开发与实战【作者】三扬科技【ISBN】978-7-121-09171-1【出版社】电子工业出版社【出版日期】2009年9月【定价】99.00元(含视频DVD1张)【宣传语】第一本介绍企业级开发工具Zend的书籍最完整的PHP5开发技术与实战代码万用大全基于Linux+Apache+MySQL+PHP黄金组合,Socket、WebService、A
- SSM框架搭建
皇家大厨
笔记
此文参考书籍为ACCP软件工程师——使用SSM框架开发企业级应用8.0版文章目录遇到的问题:1.错误:couldnotfindresourcesrc/dao/UserMapper.xml和mybatis启动异常:Logginginitializedusing'classorg.apache.ibatis.logging.log4j.Log4jImpl'2.Eclipse中的路径问题:3.log4j
- Hutool工具库使用记录
namelessmyth
Javajava
Hutool简介和ApacheCommons,Googleguava类似的工具包。但是国产的,有着完善的中文文档和代码中文注释。对于英文不好的程序猿,这点特别有吸引力。还有就是本人的一贯原则就是只要国产的和国外的水平相差不大的情况下,优先支持国产。本人的使用体验是:hutool集合了Apache和guava的优点,而且不依赖第三方jar包。举个例子来说,Hutool-log会自动按下面的顺序自动识
- Spark 和 Flink
信徒_
sparkflink大数据
Spark和Flink都是目前流行的大数据处理引擎,但它们在架构设计、应用场景、性能和生态方面有较大区别。以下是详细对比:1.架构与核心概念方面ApacheSparkApacheFlink计算模型微批(Micro-Batch)为主,但支持结构化流(StructuredStreaming)原生流(TrueStreaming),基于事件驱动处理方式以RDD、DataFrame/Dataset作为核心抽
- 尚硅谷课程【笔记】——大数据之Zookeeper【一】
赶紧写完去睡觉
大数据生态圈大数据zookeeperlinux
课程视频:【尚硅谷Zookeeper教程】一、Zookeeper入门概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。Zookeeper从设计模式角度理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责同志已经在Zookeeper上注册的哪些观察者做出
- Java Swing-2.环境搭建及窗口背景
crime_lamb
javaswingjava开发语言
环境搭建及设置窗口背景环境搭建jdk:1.8Maven:3.2.5开发一个小型的桌面程序,可直接创建一个基础的Maven项目,我的场景中不使用Spring所以并没有使用Springboot框架下面是我的pom.xml4.0.0org.exampleSwing-Test1.0-SNAPSHOTArchetype-Swing-Testhttp://maven.apache.orgcom.formdev
- Github 2025-02-13Go开源项目日报 Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-02-13统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Go项目10TypeScript项目1InnoSetup项目1Kubernetes:容器化应用程序管理系统创建周期:3618天开发语言:Go协议类型:ApacheLicense2.0Star数量:106913个Fork数量:38445次关注人数:10
- hive spark读取hive hbase外表报错分析和解决
spring208208
hivehivesparkhbase
问题现象使用Sparkshell操作hive关联Hbase的外表导致报错;hive使用tez引擎操作关联Hbase的外表时报错。问题1:使用tez或spark引擎,在hive查询时只要关联hbase的hive表就会有问题其他表正常。“org.apache.hadoop.hbase.client.RetriesExhaustedException:Can’tgetthelocations”问题2:s
- Java整合GPT-3.5和GPT-4,让PPT制作变得更加轻松智能化
GPTCoder
ChatGPTjava人工智能gpt-3自然语言处理chatgpt
在当今的商业环境中,PPT演示文稿已成为一种重要的沟通工具。然而,创建高质量的PPT往往耗时且繁琐。基于这个痛点,本文将介绍如何使用Java整合GPT-3.5/4,根据PPT模板自动生成完整的PPT。我们将使用ApachePOI库操作来PPT文件,同时调用GPT-3.5/4API生成内容。首先,我们需要导入ApachePOI库。在Maven项目中,将以下依赖添加到pom.xml文件中:org.ap
- org.apache.kafka.common.errors.TimeoutException
一张假钞
apachekafka分布式
个人博客地址:org.apache.kafka.common.errors.TimeoutException|一张假钞的真实世界使用kafka-console-producer.sh向远端Kafka写入数据时遇到以下错误:$bin/kafka-console-producer.sh--broker-list172.16.72.202:9092--topictestThisisamessage[20
- 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