- 深入理解 HTML5 Canvas:从基础到实践
烂蜻蜓
HTML5html5前端html
一、引言在现代Web开发中,HTML5引入了许多强大的特性,其中元素无疑是一个亮点。它为我们在网页上绘制图形、图表以及各种可视化内容提供了强大的支持。通过结合JavaScript,我们能够实现丰富多样的视觉效果,极大地增强了网页的交互性和表现力。本文将深入探讨HTML5Canvas的基础知识和常见应用场景,帮助你快速上手并掌握这一强大的技术。二、什么是CanvasHTML5的元素本质上是一个用于图
- 前端实现页面截图 -- html2canvas
浮桥
前端
方案:canvaspuppeteer(无头浏览器)html2canvas使用html2canvas实现:考虑:1.截图区域:全页面截图,局部截图、特定区域截图2.函数式、组件式实现代码:页面截图页面截图示例这是一个简单的页面截图示例。截图functionhtml2canvasToImage(dom){//使用html2canvas将页面转换为canvashtml2canvas(dom).then(
- 用canvas实现一个时钟
SYSU_CYJ
github链接:https://github.com/cyjsysu/canvas_clock.git1.实现效果clock.png2.关于canvasHTML的canvas的相关内容可以看菜鸟教程的这篇文章。我主要是通过这篇文章来学习canvas的基础知识的。这个小项目也是参考了文章中附带的参考代码。https://www.runoob.com/w3cnote/html5-canvas-int
- 2022-04-19
菜包
canvasHTML5的canvas元素使用JavaScript在网页上绘制图像画布是一个矩形区域,可以控制其每一个像素canvas拥有多种绘制矩形、路径、圆形、字符以及添加图像的方法★如果需要闭合路径,开始新的起点路径时,都需要创建和关闭路径开始创建路径cav.beginPath();关闭路径cav.closePath();x:矩形起点横坐标y:矩形起点纵坐标width:矩形长度height:矩
- 纯前端实现页面截图 html2canvas
qq_42067121
html
前端截图的实现html2canvashtml2canvas的简单实用1、[官网](http://html2canvas.hertzen.com/)http://html2canvas.hertzen.com/2、使用(1)安装npm(2)引入imoprt(3)使用一些问题(1)截图后,页面中的图片消失(2)同时截多个图,项目运行慢html2canvas的简单实用1、官网http://html2ca
- 2HTML5+CSS3
阿源不秃,天理难容
笔记
HTML5新增新元素canvesaudio(音频),video(视频),source(多媒体资源),embed(定义嵌入内容,例如插件),track(为诸如和元素之类的媒介规定外部文本轨道。)datalist(定义选项列表,与input配合使用,定义input可能的的值),keygen(规定用于表单的密钥对生成器字段),output(定义不同类型的输出)。。。。。canvasHTML5元素用于图形
- html2canvas实现html转图片并长按保存
没有可乐的可乐瓶子
目的需求是这样的:前端生成分享海报,上面有当前页面路径的二维码,用户长按海报保存到手机。使用html2canvas可以把html转换成canvas,再进一步转化图片,保存到本地。html2canvashtml2canvas本身很简单,api也很简单,但使用的过程中有比较多的坑。背景图片模糊一个很多人遇到的问题,一般是把背景图片换成。再定位到位置上。canvas白边这个也很多人遇到,解决方法是在生成
- 【Html5+CSS3 】2.6 初识CANVAS
子午禾苇
6、初识CANVASHTML5标签用于绘制图像(通过脚本,通常是JavaScript)元素本身并没有绘制能力(它仅仅是图形的容器)-必须使用脚本来完成实际的绘图任务getContext()方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性getContext("2d")可用于在画布上绘制文本、线条、矩形、圆形等等颜色、样式和阴影属性描述fillStyle设置或返回用于填充绘画的颜色、渐变
- H5canvas(绘制矩形,绘制圆形,绘制线段,绘制文字,绘制曲线)
巧克力很苦
JavaScriptH5canvas(绘制矩形绘制圆形绘制线段绘制文字绘
Canvas简介canvas最早由Apple引入WebKit,用于MacOSX的Dashboard,后来又在Safari和GoogleChrome被实现。基于Gecko1.8的浏览器,比如Firefox1.5,同样支持这个元素。canvas元素是WhatWGWebapplications1.0规范的一部分,也包含于HTML5中。什么是canvasHTML5的canvas元素使用JavaScript
- HTML5新增标签
我还可以熬_
#HTML基础html5前端html
目录HTML5新增标签扩展知识HTML5新增的标签1.article2.section3.header4.footer5.nav6.aside7.figure和figcaption8.mark9.time10.progress11.video12.canvasHTML5新增标签HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定在HTML5出现之前,我们一般采用D
- 轻松让你实现浏览器截图、截屏
非著名程序员
python开发语言
【公众号回复“1024”,免费领取程序员赚钱实操经验】大家好,我是章鱼猫。今天给大家分享三个有趣又实用的开源项目。1、Html2canvasHtml2canvas是一个实现浏览器内截屏的JavaScript库。该项目可以让你在浏览器内对整个网页或部分内容进行截图,原理是通过读取DOM和样式,将当前页面渲染成一个画布图像。使用方法:html2canvas(document.querySelector
- HTML学习(5)Canvas绘图
HugeYLH
HTML前端html学习javascript
文章目录HTML5CanvasHTML5内联SVGHTML5Canvas使用Canvas进行绘图工作,Canvas元素用于在网页上绘制图片。创建一个Canvas的元素:但是Canvas本身没有绘图能力,我们使用Javascript来绘制:varc=document.getElementById("myCanvas");varcxt=c.getContext("2d");cxt.fillStyle=
- 原生JS实现简单屏幕截图
目录了解HTML5中的Canvas获取屏幕截图结论在Web开发中,截图是一项非常有用的技术。可以使用截图来记录当前屏幕状态,生成缩略图或进行屏幕分享等操作。在本文中,我将介绍如何使用原生JavaScript来实现截图功能。了解HTML5中的CanvasHTML5中的Canvas是一个绘图API,可以用来创建图形,绘制文本,渲染图像等等。使用Canvas,我们可以将其转换为图像数据并保存到文件中。在
- 基于Canvas和HTML+CSS3构建JavaScript弹幕库
everlastlucas
javascriptcssvue.jshtml5html
如今各大视频网站都有弹幕功能,貌似不存在没有弹幕的视频直播网站。弹幕元素比起留言板等交互性和实时性更高,深受广大基友们喜欢。然后,我就在各大视频网站假装观看视频的同时,悄悄地按下了F12,想一探究竟。了解发现,目前弹幕的主要实现有两种方式:CanvasHTML+CSS一说到动画,大家第一时间能想到的就是Canvas。使用Canvas能很方便地绘制动画,并且获得非常不错的性能,目前前端不少动画都是通
- echarts 多图下载
卢卢2020
html2canvasnpmihtml2canvasDownloadimporthtml2canvasfrom'html2canvas'methods:{download(){//图表转换成canvashtml2canvas(document.getElementById('download')).then(function(canvas){varimg=canvas.toDataURL('ima
- 关于js利用canvas生成验证码的封装
梦捻轻弦
canvas绘制验证码在几乎每个网站登陆都会使用验证码来防止机器等非人操作,防止数据库被轻而易举的攻破。验证码一般是PHP或java等生成的图片。在前端,用canva或SVG也可以绘制验证码;以下是用canvas生成验证码的方法我将该方法简单的封装成了Verify类,只需要传入canvas元素的类名或者id,就能初始化canvashtml结构如下你的浏览器也太歪了js结构如下classVerify
- 浏览器截图方案分析
浏览器截图方案分析页面截屏是前端经常遇到的需求,比如页面生成海报,弹窗图片分享等。以下是我整理三种截图方案:html2canvasdom-to-imagewebRTChtml2canvashtml2canvas用的比较广泛的前端截图方案,先将DOM一个个转为Canvas然后导出图片(使用canvas自带的toDataUrl、toBobl)即可。使用起来应该是兼容性比较好的方案了,能解决大部分的需求
- 浏览器截图方案分析
浏览器截图方案分析页面截屏是前端经常遇到的需求,比如页面生成海报,弹窗图片分享等。以下是我整理三种截图方案:html2canvasdom-to-imagewebRTChtml2canvashtml2canvas用的比较广泛的前端截图方案,先将DOM一个个转为Canvas然后导出图片(使用canvas自带的toDataUrl、toBobl)即可。使用起来应该是兼容性比较好的方案了,能解决大部分的需求
- canvas-基础
墨竹客
创建一个canvasHTML创建canvas元素设置宽高使用标签width,height属性,注意不能使用css或style样式display默认为inline当前浏览器不支持canvas,请更换浏览器后再试JavaScript获取canvas//获取canvas元素varcanvas=document.getElementById('canvas')//使用context进行绘制varconte
- 常用工具备忘
leonC走来
browser-sync快速开启本地服务器,并实时更新页面html2canvashtml转canvas生产图片
- HTML5之 canvas
CNLISIYIII
什么是canvasHTML5元素用于图形的绘制,通过脚本(通常是JavaScript)来完成.标签只是图形容器,您必须使用脚本来绘制图形。你可以通过多种方法使用canvas绘制路径,盒、圆、字符以及添加图像。HTML5参考手册:https://www.runoob.com/tags/ref-canvas.html浏览器支持创建画布一个画布在网页中是一个矩形框,通过元素来绘制.注意:默认情况下元素没
- HTML5学习笔记
Crystal-G
#HTMLhtml5html
该文章为菜鸟教程(runoob.com)中关于HTML5部分的学习笔记。HTML5简介HTML5是下一代HTML标准,HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。HTML5的设计目的是为了在移动设备上支持多媒体。HTML5总览介绍、HTML5新元素HTML5标签列表(功能排序)HTML5绘制图形HTML5CanvasHTML5元素用于图形的绘制,通过脚本(通常是Ja
- canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传
程涛-supertim
canvasjava上传截图
使用方法项目中引入npminstallhtml2canvashtml代码//html代码js代码//引入html2canvasimporthtml2canvasfrom'html2canvas'//注册组件components:{html2canvas},data(){return{htmlUrl:''}},mounted(){//如果页面一加载就需要生成图片,就在mounted里调用方法,给一个
- 前端面试问题
十七爱学习i
原文链接:https://www.cnblogs.com/vsmart/p/8890860.html1.HTMLHTML5新特性,语义化浏览器的标准模式和怪异模式xhtml和html的区别使用data-的好处meta标签canvasHTML废弃的标签IE6bug,和一些定位写法cssjs放置位置和原因什么是渐进式渲染html模板语言metaviewport原理-2.CSS盒模型,box-sizin
- HTML5 Canvas 笔记
静候那一米阳光
HTML5CanvasHTML5元素用于图形的绘制,通过脚本(通常是JavaScript)来完成.标签只是图形容器,必须使用脚本来绘制图形。可以通过多种方法使用Canvas绘制路径,盒、圆、字符以及添加图像。实例varc=document.getElementById("myCanvas");varctx=c.getContext("2d");ctx.fillStyle="#FF0000";ctx
- canvas基础
邢走在云端
最近在工作中,有个项目一直需要用到canvas相关知识,之前对这块不是很熟练,借着十一假期来进行学习学习1.基础1.1创建canvashtml在canvas上属性width和height直接指定大小,或用下面的方式javascriptvarcanvas=document.getElementById("canvas")canvas.width=1024canvas.height=768varctx
- HTML5 新特性一览
Ht_何甜
HTML51.HTML5新元素HTML5提供了新的元素来创建更好的页面结构:标签描述2.HTML5CanvasHTML5元素用于图形的绘制,通过脚本(通常是JavaScript)来完成.标签只是图形容器,您必须使用脚本来绘制图形。使用JavaScript来绘制图像canvas元素本身是没有绘图能力的。所有的绘制工作必须在JavaScript内部完成:3.HTML5拖放拖放是一种常见的特性,即抓取对
- canvas浅尝
李大嘴JimmyLee
简单了解canvas1.什么是canvasHTML5的canvas元素使用JavaScript在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。版本支持:IE9以上如果实在需要在IE9以前使用,可以查看ExprorerCanvasProject和其他类似项目,通过插件来实现浏览器兼容注:canvas不是矢量图2.canva
- canvas笔记
寒酥丶
笔记
一、什么是canvasHTML5提出了一个新的canvas标签,彻底颠覆了Flash的主导地位。无论是广告、游戏都可以使用canvas实现了,Canvas是一个轻量级的画布,我们使用Canvas进行JavaScript的编程,不需要增加额外的插件,性能也很好,不卡顿,在手机中也很流畅二、基本使用当前浏览器不支持canvas,请升级浏览器canvas的标签属性只有两个,width和height,表示
- 2018 浅谈前端面试那些事
虽然今年没有换工作的打算但为了跟上时代的脚步还是忍不住整理了一份最新前端知识点知识点汇总1.HTMLHTML5新特性,语义化浏览器的标准模式和怪异模式xhtml和html的区别使用data-的好处meta标签canvasHTML废弃的标签IE6bug,和一些定位写法cssjs放置位置和原因什么是渐进式渲染html模板语言metaviewport原理2.CSS盒模型,box-sizingCSS3新特
- 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性能优化权威指南》