需要做一个项目管理工具,其中使用到了甘特图。发现全网甘特图解决方案比较少,于是自动动手丰衣足食。前面我用Python和Node.js前端都做过,这次仅仅是移植到Android上面。其实甘特图非常简单,开发也不难,如果我专职去做,能做出一个非常棒产品。我写这个只是消遣,玩玩,闲的蛋痛,所以不怎么上心,就搞成下面这德行吧。仅仅供大家学习,参考。那天心情好了,完善一下。屏幕布局文件
基于springboot 使用 RestTemplate 进行post请求 ------ 表单方式提交 和 json方式提交
问题少年阿涛
restTemplatespringbootresttemplate
本人小白一个,不能保证博客中内容都准确,如果博客中有错误的地方,望各位多多指教,请指正。欢迎找我一起讨论不管是什么方式进行提交,基于springboot使用RestTemplate,请先写RestTemplate的配置类@ConfigurationpublicclassRestTemplateConfig{@BeanpublicRestTemplaterestTemplate(ClientHttp
AI电销机器人-智能AI机器人源码部署教程-电话机器人源码
ai语音机器人
人工智能机器人AI电销机器人呼叫中心
AI电销机器人-智能AI机器人源码部署教程ai语音机器人小白部署教学前置环境一、前置环境4核8GCentos7.9.64安装教程安装宝塔y宝塔安装完毕后安装Nginx1.16MySQL5.6php7.3(安装扩展sg11)phpmyadmin4.9Redis6.02上传文件php73.tarredis-508.tarrobot-.tar.gz到目录root执行tarxfphp*.*-C/tarxf
线程安全基础
Chenyu_310
LINUX安全java开发语言c++数据结构linux
线程安全基础文章目录生产者消费者模型1.1生产者消费者模型的概念1.2生产者消费者模型的特点1.2.1生产者与生产者的互斥关系1.2.2消费者与消费者的互斥关系1.2.3生产者与消费者的互斥与同步关系1.3生产者消费者模型的优点1.3.1解耦能力1.3.2支持并发处理1.3.3处理忙闲不均的能力1.4基于阻塞队列的生产者消费者模型1.4.1阻塞队列与普通队列的区别1.4.2阻塞队列如何支持生产消费
矩阵乘法--Python
bj3281
矩阵pythonjava
矩阵乘法一、问题引入二、解题步骤1.思维导图2.解题步骤三、代码实现四、个人小结一、问题引入输入格式:第一行为n,m,k,表示A矩阵是n行m列,B矩阵是m行k列,n,m,k均小于20然后先后输入A和B两个矩阵,A矩阵n行m列,B矩阵m行k列,矩阵中每个元素的绝对值不会大于5000。输出格式:输出矩阵C,一共n行,每行k个整数,整数之间以一个空格分开。输入样例:在这里给出一组输入。例如:323111
运维程序员入门指南:运维职责和分类划分详解
千锋广州小蚊子
很多人傻傻分不清楚运维具体是干什么的?有哪些分类?这很正常,孔子曰:术业有专攻,如是而已。还有一些新人小白想要进入这个行业,但是很懵懂,在刚刚接触,心里就打退堂鼓了,害怕自己学不会搞不定弄不懂。千锋广州云计算运维小编这里就为大家揭开这一职业的朦胧面纱。前言何为运维?运维,从字面意思很好理解,运行维护。有可能你认为的运维是高大上,坐在高档写字楼里,敲敲电脑动动手指的,可能是风吹日晒走街串巷等等。是的
小程序和Vue+uniapp+unicloud培训课件
hhzz
小程序vue.jsuni-app
文章目录**一、什么是小程序****1.1****小程序简介****1.2****小程序的特点****1.3****小程序的开发流程**个人小程序和企业小程序的区别1.4小程序代码构成1.4.1JSON配置1.4.2WXML模板**数据绑定**逻辑语法条件逻辑列表渲染模板引用共同属性1.4.3WXSS样式1.4.4JS逻辑交互模块化1.5小程序宿主环境1.5.1渲染层和逻辑层1.5.2程序与页面1
终面倒计时10分钟:候选人用`asyncio`解决`callback`地狱,P9考官追问`Task`调度原理
itAred
Python面试场景题asynciocallbackevent_loopconcurrencyperformance
终面场景:候选人与P9考官的终极对决场景设定在一间明亮的会议室,终面的最后10分钟,气氛紧张而激烈。候选人小明自信满满地站在白板前,P9考官则坐在对面,手中拿着一杯咖啡,目光犀利,准备迎接候选人的最终挑战。第一轮:asyncio解决callback地狱P9考官:小明,你知道callback地狱吗?如果一个项目中充斥着嵌套回调,你会如何用asyncio解决这个问题?小明:(胸有成竹地走到白板前)嗯,
AI人工智能与机器人学习的未来展望
AI原生应用开发
ai
AI人工智能与机器人学习的未来展望关键词:AI人工智能、机器人学习、具身智能、多模态交互、人机协作、伦理挑战、自主决策摘要:本文将带您走进AI与机器人学习的奇妙世界,从“家庭机器人小助手”的故事出发,用通俗易懂的语言解释多模态交互、具身智能等核心概念,结合算法原理、实战案例和前沿趋势,探讨未来AI机器人如何像人类一样学习、思考与协作,同时揭示技术背后的伦理挑战与发展方向。读完本文,您不仅能理解AI
视频转pdf,视频转图片
北笙之故
pdfwindows音视频视频ios
闲的无聊,想把视频做成pdf,再把pdf进行ocr后,形成一个复习资料。哈哈哈哈哈哈。主要是拿不到ppt,只能拿到视频。这里就讲述一下,我通过查询,获取的方法。1.视频转图片找到相应的软件。这里介绍几个软件。a。PS大家比较熟知的软件,具体操作就不说了。b。FreeVideotoJPGConverter看名字就知道是什么软件了,视频转jpg图片格式,软件是免费的,有广告弹窗。转换格式也比较单一,只
《终面危机时刻:用Ray_OnNX加速PyTorch模型推理》
itAred
Python面试场景题PythonMachineLearningPyTorchRayONNXOptimization
终面危机时刻:用Ray_OnNX加速PyTorch模型推理场景设定在一间安静的面试室里,候选人小明正准备结束一场紧张的终面。面试官已经问了许多技术问题,包括深度学习模型的架构设计、分布式训练框架的原理等。然而,就在面试的最后5分钟,面试官突然抛出了一个意想不到的难题:面试官提问面试官:小明,我们来聊个实战问题。假设你有一个基于PyTorch的深度学习模型,目前它的推理性能非常差,每次推理需要300
Linux路由缓存实现浅析rt_hash_table
JDSH0224
linuxtcp/ip
最近闲赋在家,在家里做了一个双ADSL负载均衡的东东,不过遗憾的是,流量始终在一条线路上,本着解决问题的态度,把Linux的路由缓存子系统看了一下,现在把笔记发上来。原来好像也发过一篇,不过是老版本内核的,本贴对应的版本是2.6.31。不保证内容都正确,仅供讨论学习之用。转载请注明作者和出处。一、什么是路由缓存路由查询IP层最重要的工作,同时,它也是一件很耗时的工作,为了提高路由查询的效率。Lin
原子哥 串口通信代码笔记2
心想好事成
stm32物联网
本人小白有什么错误多多指教串口收发状态的函数USART_GetFlagStatus和USART_GetFlagStatus函数USART_GetITStatus与USART_GetFlagStatus的区别是:该函数不仅会判断标志位是否置1,同时还会判断是否使能了相应的中断。通常在中断函数中使用USART_GetFlagStatus(USART1,USART_FLAG_TC);当其置1标志着串口1
闲记-char 按十六进制转换为string
dreamliweiming
闲记qt开发语言
1、通过sprintf转换为十六进制格式std::stringstr;for(inti=0;i<len;i++){charbufHex[10]={0};sprintf(bufHex,"%x",dataBuf[i]);std::strings(bufHex);str+=s;}2、stirng转换为QStringQStringqstr=QString::fromStdString(str);
隐马尔科夫模型java实现
旭旭_哥
java机器学习
上周微信公众号推荐了一篇文章叫隐马尔科夫中文词的文章,原文http://blog.csdn.net/u014365862/article/details/54891582大概了看了下,讲的通俗易懂,这周还很忙,一直在做crf模型,周五比较闲,明天也五一,花了一下午的时间写了下代码实现隐马尔科夫模型,代码中最好是用对手的形式,hmm一旦长了,数字变小,会产生问题,我看了下hanlp的hmm分词实现,
记录心态和工作变化
H100
程序人生
忙中带闲的工作其实工作挺忙的,总是在赶各种功能点.好巧的是iOS那边因为上架的问题耽搁了一些时间,从而让Android的进度有了很大的调整空间.更巧的是后端那边因为对客户端的需求不是很熟悉,加上Android海外这块的业务他也是第一次接触.所以需要给他留一些时间把各个环节梳理和完善.作为一个很多年没有长时间开发UI需求的Android工程师,最近三个月有空补充了5年来已经很火的三方库.最近还把滑动
《需求PRD解剖指南:从模糊需求到精准原型,产品老手的暴力拆解逻辑》
结构化知识课堂
产品需求分析axure需求分析原型设计
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏!产品需求分析视频课程已更新至https://edu.csdn.net/course/detail/40465为什么你的PRD分析总像在猜谜?凌晨3点,某大厂会议室。产品新人小李盯着PRD文档第17页,突然把电脑一摔:“这需求写的是‘提升用户体验’,我特么到底要加几个按钮?!”隔壁技术大哥幽幽飘过一句:“别问,问就是‘参考竞
极限面试时刻:架构师质疑系统设计,应届生硬核解析JVM底层机制
搞Java的小码农
Java面试场景题java面试jvm高并发架构设计
文章:极限面试时刻:架构师质疑系统设计,应届生硬核解析JVM底层机制场景设定:互联网大厂正在进行一场Java岗位的终面,面试官是一位精通架构设计的P7架构师。候选人小兰是一位应届生,面对终面的最后10分钟,她需要展示自己对高并发系统设计和JVM底层机制的深刻理解。面试过程第一轮(基础业务场景与技术栈):面试官:小兰,你设计的高并发秒杀系统架构中,前端用户通过秒杀按钮下单,后端如何保证订单的唯一性?
一文搞懂并学会使用SpringCloudSleuth与ZipKin服务链路追踪(史上最全)
阳光宅猿AI
架构设计与解决方案SpringspringcloudZipKinSleuth链路追踪微服务架构
个人公众号::✨✨可为编程✨✨个人信条:知足知不足有为有不为为与不为皆为可为本篇简介:本片详细说明了SpringCloudSleuth与ZipKin服务链路追踪(史上最全)使用规则和注意要点,并给出具体操作实例,如有出入还望指正。关注公众号【可为编程】回复【面试】领取年度最新面试题大全!!!目录碎语闲言背景1、SpringCloudSleuth是什么 1.1、SpringCloudSleuth的
【性能优化】强制缓存|协商缓存--实用知识
前端阿彬
前端实用知识学习缓存
前言前几天我工作比较闲,就想着看看我司的前端项目有什么可以性能优化的点。于是乎在一个h5项目里,发现没有配置缓存策略。我找到架构组的同学,说明了这个问题。因为此项目是部署在腾讯云服务器上的,在腾讯云管理后台支持配置缓存策略。配置缓存策略后,平均每个页面FP缩小了有200ms(因为这个h5项目采用的是gulp工作流,几乎每个页面都是单页面,本身FP就很快,所以效果肉眼几乎观察不出区别),nice,前
题目 3321: 蓝桥杯2025年第十六届省赛真题-画展布置
理智的灰太狼
蓝桥杯蓝桥杯职场和发展
题目3321:蓝桥杯2025年第十六届省赛真题-画展布置时间限制:2s内存限制:192MB提交:673解决:130题目描述画展策展人小蓝和助理小桥为即将举办的画展准备了N幅画作,其艺术价值分别为A1,A2,...,AN。他们需要从这N幅画中挑选M幅,并按照一定顺序布置在展厅的M个位置上。如果随意挑选和排列,艺术价值的变化可能会过于突兀,导致观众的观展体验不够流畅。为了优化布置,他们查阅了《画展布置
技术主管质疑手撕红黑树:P7面试官引导应届生极限调试
搞Java的小码农
Java面试场景题Java面试手撕红黑树极限调试技术主管质疑
标题:技术主管质疑手撕红黑树:P7面试官引导应届生极限调试场景设定在一个互联网大厂的终面现场,候选人小兰是一名应届生,正处于白板编程环节。技术主管和P7面试官坐在她对面,氛围略显紧张。今天的小兰要展示她对数据结构与算法的理解,特别是手撕红黑树的实现。第一轮提问:基础概念检验面试官:小兰,你对我们今天白板编程的内容有什么想法?小兰:嗯,今天的任务是手撕红黑树,我最近在复习,所以应该没问题。面试官:很
tensorflow2.0对应python版本_深度学习-python猫狗识别tensorflow2.0
weixin_39977488
好久没更新了,一巴掌拍了拍自己闲得发慌的脸。虽说生活的压力不大,但是也不能太咸鱼啊。平时浪归浪,但是学习和工作还是不能落下。最近的工作太繁杂了,不知道要从何写起,想起之前写过用tensorflow1.x实现的「猫狗识别」的案例,这次就写一个用tensorflow2.0实现的案例吧。1.数据集的准备下载后解压,得到如下的文件夹文件夹train里面放着25000张图像,猫和狗的图像分别都是12500张
Java 并发包之线程池和原子计数
lijingyao8206
Java计数ThreadPool并发包java线程池
对于大数据量关联的业务处理逻辑,比较直接的想法就是用JDK提供的并发包去解决多线程情况下的业务数据处理。线程池可以提供很好的管理线程的方式,并且可以提高线程利用率,并发包中的原子计数在多线程的情况下可以让我们避免去写一些同步代码。
这里就先把jdk并发包中的线程池处理器ThreadPoolExecutor 以原子计数类AomicInteger 和倒数计时锁C
java编程思想 抽象类和接口
百合不是茶
java抽象类接口
接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持
1 ,抽象类 : 如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错)
抽象方法 : 在方法中仅有声明而没有方法体
package com.wj.Interface;
[房地产与大数据]房地产数据挖掘系统
comsci
数据挖掘
随着一个关键核心技术的突破,我们已经是独立自主的开发某些先进模块,但是要完全实现,还需要一定的时间...
所以,除了代码工作以外,我们还需要关心一下非技术领域的事件..比如说房地产
&nb
数组队列总结
沐刃青蛟
数组队列
数组队列是一种大小可以改变,类型没有定死的类似数组的工具。不过与数组相比,它更具有灵活性。因为它不但不用担心越界问题,而且因为泛型(类似c++中模板的东西)的存在而支持各种类型。
以下是数组队列的功能实现代码:
import List.Student;
public class
Oracle存储过程无法编译的解决方法
IT独行者
oracle存储过程
今天同事修改Oracle存储过程又导致2个过程无法被编译,流程规范上的东西,Dave 这里不多说,看看怎么解决问题。
1. 查看无效对象
XEZF@xezf(qs-xezf-db1)> select object_name,object_type,status from all_objects where status='IN
重装系统之后oracle恢复
文强chu
oracle
前几天正在使用电脑,没有暂停oracle的各种服务。
突然win8.1系统奔溃,无法修复,开机时系统 提示正在搜集错误信息,然后再开机,再提示的无限循环中。
无耐我拿出系统u盘 准备重装系统,没想到竟然无法从u盘引导成功。
晚上到外面早了一家修电脑店,让人家给装了个系统,并且那哥们在我没反应过来的时候,
直接把我的c盘给格式化了 并且清理了注册表,再装系统。
然后的结果就是我的oracl
python学习二( 一些基础语法)
小桔子
pthon基础语法
紧接着把!昨天没看继续看django 官方教程,学了下python的基本语法 与c类语言还是有些小差别:
1.ptyhon的源文件以UTF-8编码格式
2.
/ 除 结果浮点型
// 除 结果整形
% 除 取余数
* 乘
** 乘方 eg 5**2 结果是5的2次方25
_&
svn 常用命令
aichenglong
SVN版本回退
1 svn回退版本
1)在window中选择log,根据想要回退的内容,选择revert this version或revert chanages from this version
两者的区别:
revert this version:表示回退到当前版本(该版本后的版本全部作废)
revert chanages from this versio
某小公司面试归来
alafqq
面试
先填单子,还要写笔试题,我以时间为急,拒绝了它。。时间宝贵。
老拿这些对付毕业生的东东来吓唬我。。
面试官很刁难,问了几个问题,记录下;
1,包的范围。。。public,private,protect. --悲剧了
2,hashcode方法和equals方法的区别。谁覆盖谁.结果,他说我说反了。
3,最恶心的一道题,抽象类继承抽象类吗?(察,一般它都是被继承的啊)
4,stru
动态数组的存储速度比较 集合框架
百合不是茶
集合框架
集合框架:
自定义数据结构(增删改查等)
package 数组;
/**
* 创建动态数组
* @author 百合
*
*/
public class ArrayDemo{
//定义一个数组来存放数据
String[] src = new String[0];
/**
* 增加元素加入容器
* @param s要加入容器
用JS实现一个JS对象,对象里有两个属性一个方法
bijian1013
js对象
<html>
<head>
</head>
<body>
用js代码实现一个js对象,对象里有两个属性,一个方法
</body>
<script>
var obj={a:'1234567',b:'bbbbbbbbbb',c:function(x){
探索JUnit4扩展:使用Rule
bijian1013
java单元测试JUnitRule
在上一篇文章中,讨论了使用Runner扩展JUnit4的方式,即直接修改Test Runner的实现(BlockJUnit4ClassRunner)。但这种方法显然不便于灵活地添加或删除扩展功能。下面将使用JUnit4.7才开始引入的扩展方式——Rule来实现相同的扩展功能。
1. Rule
&n
[Gson一]非泛型POJO对象的反序列化
bit1129
POJO
当要将JSON数据串反序列化自身为非泛型的POJO时,使用Gson.fromJson(String, Class)方法。自身为非泛型的POJO的包括两种:
1. POJO对象不包含任何泛型的字段
2. POJO对象包含泛型字段,例如泛型集合或者泛型类
Data类 a.不是泛型类, b.Data中的集合List和Map都是泛型的 c.Data中不包含其它的POJO
 
【Kakfa五】Kafka Producer和Consumer基本使用
bit1129
kafka
0.Kafka服务器的配置
一个Broker,
一个Topic
Topic中只有一个Partition() 1. Producer:
package kafka.examples.producers;
import kafka.producer.KeyedMessage;
import kafka.javaapi.producer.Producer;
impor
lsyncd实时同步搭建指南——取代rsync+inotify
ronin47
1. 几大实时同步工具比较 1.1 inotify + rsync
最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是 inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达20M,在网络状况不佳或者限速的情况下,变更的文件可能10来个才几M,却因此要发送的文件列表就达20M,严重减低的带宽的使用效率以及同步效率;更为要紧的是,加入inotify
java-9. 判断整数序列是不是二元查找树的后序遍历结果
bylijinnan
java
public class IsBinTreePostTraverse{
static boolean isBSTPostOrder(int[] a){
if(a==null){
return false;
}
/*1.只有一个结点时,肯定是查找树
*2.只有两个结点时,肯定是查找树。例如{5,6}对应的BST是 6 {6,5}对应的BST是
MySQL的sum函数返回的类型
bylijinnan
javaspringsqlmysqljdbc
今天项目切换数据库时,出错
访问数据库的代码大概是这样:
String sql = "select sum(number) as sumNumberOfOneDay from tableName";
List<Map> rows = getJdbcTemplate().queryForList(sql);
for (Map row : rows
java设计模式之单例模式
chicony
java设计模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述单例模式的:
作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 单例模式的结构
单例模式的特点:
单例类只能有一个实例。
单例类必须自己创建自己的唯一实例。
单例类必须给所有其他对象提供这一实例。
饿汉式单例类
publ
javascript取当月最后一天
ctrain
JavaScript
<!--javascript取当月最后一天-->
<script language=javascript>
var current = new Date();
var year = current.getYear();
var month = current.getMonth();
showMonthLastDay(year, mont
linux tune2fs命令详解
daizj
linuxtune2fs查看系统文件块信息
一.简介:
tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。
二.用法:
Usage: tune2fs [-c max_mounts_count] [-e errors_behavior] [-g grou
做有中国特色的程序员
dcj3sjt126com
程序员
从出版业说起 网络作品排到靠前的,都不会太难看,一般人不爱看某部作品也是因为不喜欢这个类型,而此人也不会全不喜欢这些网络作品。究其原因,是因为网络作品都是让人先白看的,看的好了才出了头。而纸质作品就不一定了,排行榜靠前的,有好作品,也有垃圾。 许多大牛都是写了博客,后来出了书。这些书也都不次,可能有人让为不好,是因为技术书不像小说,小说在读故事,技术书是在学知识或温习知识,有
Android:TextView属性大全
dcj3sjt126com
textview
android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all) android:autoText 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输
tomcat虚拟目录安装及其配置
eksliang
tomcat配置说明tomca部署web应用tomcat虚拟目录安装
转载请出自出处:http://eksliang.iteye.com/blog/2097184
1.-------------------------------------------tomcat 目录结构
config:存放tomcat的配置文件
temp :存放tomcat跑起来后存放临时文件用的
work : 当第一次访问应用中的jsp
浅谈:APP有哪些常被黑客利用的安全漏洞
gg163
APP
首先,说到APP的安全漏洞,身为程序猿的大家应该不陌生;如果抛开安卓自身开源的问题的话,其主要产生的原因就是开发过程中疏忽或者代码不严谨引起的。但这些责任也不能怪在程序猿头上,有时会因为BOSS时间催得紧等很多可观原因。由国内移动应用安全检测团队爱内测(ineice.com)的CTO给我们浅谈关于Android 系统的开源设计以及生态环境。
1. 应用反编译漏洞:APK 包非常容易被反编译成可读
C#根据网址生成静态页面
hvt
Web.netC#asp.nethovertree
HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件是后台管理的首页。包含生成留言板首页,以及显示用户名,退出等功能。根据网址生成页面的方法:
bool CreateHtmlFile(string url, string path)
{
//http://keleyi.com/a/bjae/3d10wfax.htm
stri
SVG 教程 (一)
天梯梦
svg
SVG 简介
SVG 是使用 XML 来描述二维图形和绘图程序的语言。 学习之前应具备的基础知识:
继续学习之前,你应该对以下内容有基本的了解:
HTML
XML 基础
如果希望首先学习这些内容,请在本站的首页选择相应的教程。 什么是SVG?
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用来定义用于网络的基于矢量
一个简单的java栈
luyulong
java数据结构栈
public class MyStack {
private long[] arr;
private int top;
public MyStack() {
arr = new long[10];
top = -1;
}
public MyStack(int maxsize) {
arr = new long[maxsize];
top
基础数据结构和算法八:Binary search
sunwinner
AlgorithmBinary search
Binary search needs an ordered array so that it can use array indexing to dramatically reduce the number of compares required for each search, using the classic and venerable binary search algori
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
刘星宇
c面试
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
1.gets()函数
问:请找出下面代码里的问题:
#include<stdio.h>
int main(void)
{
char buff[10];
memset(buff,0,sizeof(buff));
ITeye 7月技术图书有奖试读获奖名单公布
ITeye管理员
活动ITeye试读
ITeye携手人民邮电出版社图灵教育共同举办的7月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
7月试读活动回顾:
http://webmaster.iteye.com/blog/2092746
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《Java性能优化权威指南》