- z-index为什么没生效(使用position)
Yannnnnm
开发小程序bugcsshtmlcss前端
是不是写样式得时候想要下层被上层盖住得时候总是不生效,这个时候需要知道一个知识点:z-index属性只对具有定位(position不为static)的元素有效。如果上面的盒子和下面的盒子都没有定位,则无法使用z-index属性实现盖住效果。.upper-box{position:relative;z-index:2;/*其他样式*/}.lower-box{position:relative;z-i
- vue3 实现文件上传
编程(变成)小辣鸡
vuevue
1、上传文件html上传文件 将文件拖到此处,或点击上传只支持pdf、doc、docx、png、jpg提交import{ref,reactive}from'vue'import{uploadImg}from'@/api/common.js';letuploadFile=ref(false);letfileList=ref([]);constupload=(val)=>{fileLis
- 在vue3项目中使用el-upload实现文件上传
柒@宝儿姐
javascript前端vue.jsvscode
在vue3项目中使用el-upload实现文件上传template将文件拖到此处,或点击上传是否更新已经存在的用户数据仅允许导入xls、xlsx格式文件。下载模板确定取消相关属性说明limit:允许上传文件的最大数量accept:接受上传的文件类型headers:设置上传的请求头部action:请求URLdisabled:是否禁用上传on-progress:文件上传时的钩子on-success:文
- flowable 修改历史变量
小云小白
springbootflowable修改历史变量springboot
简洁场景:对已结束流程的变量进行改动方法包含2个类1)核心方法,flowablecommand类:HistoricVariablesUpdateCmd2)执行command类:BpmProcessCommandService然后springboot执行方法即可:bpmProcessCommandService.executeUpdateHistoricVariables(processInstan
- 结构化数据增强的生成式算法案例:客户交易数据增强
python游乐园
数据深度学习大数据算法学习
1基础信息1.1案例背景这是一个用于增强结构化客户交易数据的生成式算法。这种类型的数据增强在金融、电子商务等领域非常有用,可以帮助解决数据不平衡问题或在小数据集上提高模型性能。1.2问题定义给定原始交易数据集D={x₁,x₂,...,xₙ},其中每条记录包含:交易金额交易时间客户年龄客户收入水平交易类别地理位置是否为欺诈交易(标签)目标:生成与原始数据分布相似但多样化的新样本,同时保持字段间的合理
- LLMs基础学习(八)强化学习专题(7)
汤姆和佩琦
NLP学习Actor-Critic算法
LLMs基础学习(八)强化学习专题(7)文章目录LLMs基础学习(八)强化学习专题(7)Actor-Critic算法基础原理算法流程细节算法优缺点分析算法核心总结视频链接:https://www.bilibili.com/video/BV1MQo4YGEmq/?spm_id_from=333.1387.upload.video_card.click&vd_source=57e4865932ea6c
- 相机-IMU联合标定:IMU更新频率
吃水果不削皮
视觉组合导航ROSVIOkalibr
文章目录简介⚠️IMU频率参数错误设置的影响❌相机-IMU联合标定失败:Optimizationfailed!确定IMU更新频率直接通过rostopichz检查实际频率检查IMU驱动或数据手册从bag文件统计频率在这里插入图片描述修改`update_rate`的注意事项**最终建议****常见问题**简介IMU更新频率参数在Kalibr标定中直接影响标定精度和系统性能。高频率的IMU数据能提供更密
- C语言到C++快速入门
前言:通过前面的学习,我们了解了C语言的一些性质和用法,为了更加深入的学习C,我们可以向C++进阶,探究C++的知识世界,相信可以收获不少知识!一.C语言和C++的关系:起源与发展:C语言是由DennisRitchie在1970年代初期开发的,它最初是为了重新设计UNIX操作系统而创建的。C++则是在C语言的基础上发展而来的,由BjarneStroustrup在1980年代初期开始设计,其目标是增
- Excel处理控件Aspose.Cells教程:Java 在 Excel 中插入和删除行和列
Aspose.Cells是Excel电子表格编程API,可加快电子表格的管理和处理任务,支持构建能够生成,修改,转换,呈现和打印电子表格的跨平台应用程序。同时不依赖于MicrosoftExcel或任何MicrosoftOfficeInterop组件,AsposeAPI支持旗下产品覆盖文档、图表、PDF、条码、OCR、CAD、HTML、电子邮件等各个文档管理领域,为全球.NET、Java、C++等1
- Vue组件自动引入插件——unplugin-vue-components 快速接入教程
前端77
vue.js前端javascript
1.简介unplugin-vue-components是一款功能十分强大的插件,旨在简化组件的自动导入和使用,可以帮助我们在Vue项目中自动导入并注册我们使用的任何Vue组件,从而提高开发效率。unplugin-vue-components使用RollupAPI作为各种bundler/ebuild`工具API的抽象层,将Rollup风格的构建hooks和调用函数转换为与目标构建打包工具兼容的形式。
- 记录一些点滴
会点法律的程序员
架构
puppeteer有这能力教你一个方案,想要玩透某个框架,需要快速通览1-3遍文档至少3遍以上,不需要背会,需要知道有哪些东西然后,github寻找这个框架的dome,最后自己开始写demogithub的demo也是快速通览代码,而不是clone下来,启动,再去体验,那种太耗费时间且你啃不下去那么多知识点你就无脑执行我教给你的三个步骤,不到三次你就会发现,你比之前学习一个框架要快,而且更透彻git
- vue3 vs asp.net mvc
fyifei0558
开发语言
package.json≈.csprojpackage-lock.json≈packages.lock.jsonvite.config.js≈Startup.cs/Program.cs/configfilesindex.html≈_Layout.cshtmlpublic/≈wwwroot/
- CompletableFuture 使用指南与案例
jarenyVO
java工具类python网络服务器
CompletableFuture使用指南与案例一、创建异步任务supplyAsyncrunAsync二、异步回调thenApplythenAcceptthenRunexceptionallywhenCompletehandle三、联合处理双CompletableFuture联合处理thenCombinethenAcceptBothrunAfterBothapplyToEitheracceptEi
- 【StarRocks系列】事务
漫步者TZ
StarRocks数据库StarRocks事务
目录SQL事务StreamLoad事务接口一、接口原理二、使用流程三、关键注意事项四、接口优势回滚是全局性的参考文档SQL事务从v3.5.0开始,StarRocks支持SQL事务,用于在将数据导入到多个表时,确保更新操作的原子性。目前,StarRocks的SQL事务仅支持INSERT和SELECT语句。update语句不支持事务SQL事务|StarRocksStreamLoad事务接口为了支持和A
- 人大金仓数据库GROUP BY问题全面解析与解决方案
小猿、
数据库相关技术栈java工作常见问题数据库
一、问题现象在人大金仓(Kingbase)数据库中使用GROUPBY时,常遇到以下错误:ERROR:column"xxx"mustappearintheGROUPBYclauseorbeusedinanaggregatefunctionPosition:XX二、问题根源人大金仓基于PostgreSQL,严格执行SQL标准,要求:SELECT列表中的非聚合列必须全部包含在GROUPBY子句中或者这些
- Netty核心组件树形关系解析
jarenyVO
Nettyspringjava后端
Netty核心组件树形关系解析以树形结构为您展示Netty核心组件的层级关系,帮助您从底层理解组件间的组织架构。一、Netty核心组件树形图NettyFramework├──启动引导层│├──Bootstrap(客户端)│└──ServerBootstrap(服务端)│├──线程模型层│├──EventLoopGroup││├──NioEventLoopGroup(默认实现)││├──EpollE
- 嵌入式开发中.su文件的作用
小米人儿
我的博客嵌入式
reference:https://interrupt.memfault.com/blog/measuring-stack-usagehttps://github.com/ttsiodras/checkStackUsage测试代码#includeintfoo_2(intc){intarray[4];array[1]=c;array[3]=c*c;returnarray[3]-array[1];}i
- 如何解决同一台服务器上同时安装dify和RagFLow,Redis容器冲突报错(一招搞定)
Ven%
RAGFlow入门docker实用深度学习基础动手dockerRagFlow网络python人工智能
问题场景:在同一台服务器上安装了dify,已经启动了dify;后面安装RagFlow的时候,启动后,查看日志,说redis的有问题经过排查后得知:dockercompose启动的项目,为了避免容器名称和网络资源冲突,需要为每个服务指定独立的DockerCompose项目名称解决方法:(直接搞定)#启动Difysudodockercompose-fdify-compose.yml-pdifyup-d
- Jupyter完全指南:一文搞定Notebook和Lab的所有玩法
network爬虫
JupyterNotebookjupyterpythonide数据分析
Jupyter完全指南:一文搞定Notebook和Lab的所有玩法目录引言:为什么Jupyter是数据科学家的最爱Jupyter生态系统概览JupyterNotebookvsJupyterLab:选择哪一个?安装与环境配置Notebook基础操作详解Magic命令:让你的工作流更高效JupyterLab高级功能探索实战案例:数据分析项目完整流程扩展插件与自定义配置性能优化与最佳实践常见问题解答总结
- macOS26 Tahoe召唤启动台教程
華仔96
经验分享macOS26TTahoe启动台
苹果macOS26测试版已发布!代号为Tahoe经过update测试发现苹果将原来的启动台集成在聚焦搜索了,翻找软件并不能像以往点击启动台即可看到,现在变为聚焦搜索,且按下command+1也只是像iPhone上的资源库并不能自定义按需收纳软件分类。解决方案如上:1.先打开访达Finder,点击左侧的应用程序Application,在里面新建文件夹自定义归纳好软件。2.将访达Finder下的应用程
- 蓝色教育培训通用PPT模板
puerppt
平面
模板介绍本套蓝色教育培训通用PPT模板,模板编号:P22236,大小10MB,共27页,比例为16:9,由封面、目录、转场页、内容、结尾5个部分构成。内含青色,蓝色,灰色多种配色,精美其他风格设计,动态播放效果,精美实用。一份设计精美的PPT模板,可以让你在汇报演讲时脱颖而出。PPT模板都是源文件,文字、图片都可以编辑,内容、页面根据自己的需要增加删除。模板下载后请安装并使用Office或WPS软
- IntelliJ IDEA 中 Update Project 与 Git Pull
李少兄
IDEAGitintellij-ideagitjava
前言在IntelliJIDEA的版本控制工具中,UpdateProject和GitPull是两个常被开发者混淆的功能。尽管它们都用于同步远程仓库的代码更新,但两者的底层机制、使用场景及潜在风险存在显著差异。一、概念与原理:GitPull与UpdateProject的本质区别1.GitPull:Git原生的“拉取+合并”操作定义:gitpull是Git的原生命令,其本质是gitfetch+gitme
- 单片机菜单-菜单数据结构
努力努力就能上天吖!
《随手笔记》《单片机应用》单片机数据结构嵌入式硬件
在单片机中如果需要一个可以便于维护的菜单程序,那么设计一个便于封装的菜单数据结构就是必不可少的了。最近观看B站UP主有手也不会发布的视频后,发现其写的菜单数据结构尤为好用,这里用于记录,有误之处还望大家指正!按键采用Multibutton开源框架有兴趣可去GitHub上搜索,也可私信我,我发源码。structMenuItem{unsignedcharmenu_cnt;//当前菜单项目总数unsig
- 【b站求职笔记】行路院-王贺 2021年2月笔记
〇、前情提要b站up主行路院-王贺分享的内容,做一个记录,但不一定保证每条对每个人适用。参考:b站首页行路院-王贺https://space.bilibili.com/338160758/video【b站求职笔记】行路院-王贺2020年12月笔记https://blog.csdn.net/weixin_43210113/article/details/112209229【b站求职笔记】行路院-王贺
- Flink Oracle CDC Connector详解
24k小善
flinkjava大数据
1.FlinkOracleCDCConnector核心功能功能模块描述实时数据捕获实时捕捉Oracle数据库中的DML操作(INSERT,UPDATE,DELETE)。Schema变更支持支持部分DDL操作的检测(如表结构变更)。端到端一致性确保数据从Oracle到Flink的传输过程中的完整性和一致性。可扩展性支持高吞吐量和大规模数据处理需求。容错机制具备断点续传能力,确保在中断后能够从上次的位
- Docker学习笔记:容器自动重启--restart
愚昧之山绝望之谷开悟之坡
工具dockerdocker容器运维
–restart参数有三个可选值:no,on-failure,alwaysno为默认值,表示容器退出时,docker不自动重启容器on-failure表示,若容器的退出状态非0,则docker自动重启容器,还可以指定重启次数,若超过指定次数未能启动容器则放弃dockerupdate--restart=on-failure:3[容器名]always表示只要容器退出,则docker将自动重启容器1.d
- Linux下安装使用Git及常用操作命令详解
ZivenZh
linuxgit运维
概述Git是一款强大的分布式版本控制系统,广泛应用于软件开发领域。本文将详细介绍在Linux环境下安装Git,并列出一些常用的Git操作命令,帮助更好掌握这款工具。一、Linux下安装Git1.更新系统软件包首先,打开终端,更新系统软件包:sudoapt-getupdate2.安装Git接下来,使用以下命令安装Git:sudoapt-getinstallgit3.验证安装安装完成后,可以通过以下命
- 流程管理系统技术选型避坑指南(含开源)
Alex艾力的IT数字空间
开源java网络中间件gitidevscode
一、开源流程引擎方案以下为基于BPMN2.0标准的开源方案,覆盖轻量级到企业级需求:引擎名称核心特点适用场景技术栈社区活跃度官网Camunda-完整BPMN/DMN/CMMN支持-可视化流程设计器-分布式架构支持高并发复杂业务流程(金融、制造业)Java/SpringBoot/微服务高camunda.comFlowable-Activiti分支,性能优化-支持云原生部署-与Spring生态深度集成
- SQL 触发器
阿亮爱学代码
MYSQLsqloracle数据库SQL触发器SQL优化
目录1.1insert类型1.2update类型1.3delect类型介绍:触发器是与表有关的数据库对象,是指在insert/updata/delect之前或之后,触发器并执行触发器中的定义的SQL语句集合。这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。现在触发器还只支持行级触发,不支持语句级触发。触发器类型:insert型触发器:new表示将要或者已经新增的数据。up
- 微信小程序和支付宝小程序的区别
马拉萨的春天
微信小程序的开发小程序微信小程序
谈到小程序,我们常知的就是微信小程序和支付宝小程序,然而这两个小程序有哪些区别呢?我们下面分析一下。微信小程序和支付宝小程序的核心区别在于生态定位、功能侧重和用户群体:微信依托社交生态,侧重社交分享与营销玩法;支付宝则围绕支付和金融服务,强调信用体系与电商场景。两者在流量规模、开发环境及适用行业上也有显著差异。生态定位与功能侧重微信小程序:基于微信社交生态,强于社交传播(如拼团、助力等营
- 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