- 关于Swift中闭包和OC中block对局部变量基本数据类型值的捕获
khan.zhang
swiftiOSswift开发语言ios
翻了很多文章,发现关于Swift闭包关于上下文变量捕获这块,都没有说的很详细,或者Swift2这样的老版本已经不适用了,问了GPT也是和自己实验的结果不一样,记录下来。一:OC的block首先,回顾一下OC中的block。block对局部变量基本数据类型的捕获,是在创建时捕获了值,并保存副本在自己的结构体中,修改也是修改副本,不会影响到原本的值。例子:typedefvoid(^MyBlock)(v
- swift2升级swift3使用Pops管理第三方库报错ld: framework not found
浪哇
1.podinstall后终端里会有如下警告问题解决:1.通过上面警告可知在下图位置添加$(inherited)2.删除如下图文件重新podinstall3.修改好的工程运行不报错,但将工程拷贝到其它文件夹报错ld:frameworknotfound找不到某个第三方库,网上方法各种试没解决,因为错误不在这,忽略了造成报错的becauseitsarchitectures'arm64'didn'tco
- @escaping
puppyb2m
定义:如果一个闭包在一个函数return之后才被调用那么这个闭包就escaping了swift2默认escapingswift3默认non-escaping好处:这样编译器就可以优化你的代码,可以更好的管理内存这样如果是non-escaping的话那么就可以直接使用self而不是weakself了
- Swift: do-catch & try(do-try-catch)错误处理模式
yehkong
序言:标题之所以没有写成do-try-catch,而写成do-catch&try,我个人觉得后者更有助于理解。首先,swift2开始启用跟swift1不一样的错误处理模式,即do-catch&try。swift1和OC都是用的我们熟悉的(NSError)模式,这种模式,开发者可以传入nil作为(NSError)参数,从而不对错误进行处理,这样的话在有错误发生时,因为没有进行相应的处理,程序会发生运
- Swift初探
深圳小码工
开始之前允许吐槽一下,swift作为apple官方牵头并且为主的语言,特性进行了如此多修改和版本迭代对于一门开发语言来说是极其不推荐的。github上许多源码(app和第三方库)版本支持分swift2,swift3或者swift4(4.0和4.1竟然还有区分)就是明证。工程编码对于语言特性和改变是非常敏感的,开发人员都不希望语言版本升级时留下的是一堆报红的error---以上只是因为WCDB的sw
- swift2
ViewController_
在{}外面的(下面)//定义Student类classStudent{//属性为姓名varname:String=""//定义并实现方法:studyfuncstudy()->Void{print("Student")}}//定义Middle_School_Student类继承Student类classMiddle_School_Student:Student{//属性为成绩varscore:Dou
- tensorflow—— 从 tensorflow 1到 tensorflow 2 的迁移
金小虾
基础概念tensorflow
引用过一个段子,大意是,苹果发布了新的开发语言Swift,有非常多优秀的特征,于是很多时髦的程序员入坑学习。不料,经过一段头脑体操一般的勤学苦练,发现使用Swift做开发,不仅要学习Swift,还要学习Swift2、Swift3、Swift4…今天的TensorFlow2.0也有点这样的趋势。事实上大多具有革命性的公司都是这样,一方面带来令人兴奋的新特征,另一方面则是高企不落的学习成本。第一个例子
- tensorflow兼容处理 tensorflow.compat.v1
weixin_30314793
人工智能python开发工具
https://www.wandouip.com/t5i183316/引言原来引用过一个段子,这里还要再引用一次。是关于苹果的。大意是,苹果发布了新的开发语言Swift,有非常多优秀的特征,于是很多时髦的程序员入坑学习。不料,经过一段头脑体操一般的勤学苦练,发现使用Swift做开发,不仅要学习Swift,还要学习Swift2、Swift3、Swift4...后来我发现,这个段子很有普遍性,并非仅仅
- 关于"#"外部参数标识
iOSr0c
在Swift1中,如果想让外部参数名和参数名一致,我们通常在参数名前加入“#”符号,例如:funcsayHi(#name:String)->String{return"我叫\(name)"}但是到了Swift2,这个方法不再适用了提示说“#”已经从Swift中移除,如果想让外部参数名与参数名一致的话,要使用两个相同的参数名,例如:funcsayHi(namename:String)->String
- swift @escaping
山有木枝壮
@escaping用于函数参数,作用于闭包如果一个闭包被作为一个参数传递给一个函数,并且在函数return之后才被唤起执行,那么这个闭包是逃逸闭包。在swift2中,有@noescape属性,对应非逃逸闭包,也就是在return之前就被调用,因为闭包在方法调用完成之后就会销毁,不会存在强引用,因此非逃逸闭包中不需要做weakself操作。在swift3中去掉了@noescape,引入了@escap
- swift学习新的特性
FengxinLi
打印语句的改变在Swift1中,有’println()’和’print()’两个在控制台打印语句的方法,前者是换行打印,后者是连行打印。在Swift2中,’println()’已成为过去,取而代之的是他俩的结合体。如果你想做换行打印,现在swift3中需要这样写:print("我要换行!",separator:"",terminator:"\n")available检查作为iOS开发者,谁都希望使
- 7-Swift之For&Switch&区间运算
NetWork小贱
1、For循环的简介For循环是开发常用的一种循环。在其他开发语言中有各种循环,例如:For递增循环、For...In...、For嵌套循环等。在Swift中For循环就剩余For...In...循环了。2、For...In...循环/**for循环特点:循环判断条件不在放在()里面。没有for循环的递增语句,在Swift2中被移除*/letNumberArray:Array=[1,2,3,4,5
- 教程: CAReplicatorLayer动画
Xiao_Li
本文翻译自:http://www.ios-animations-by-emails.com/posts/2015-march#tutorial。在这个教程中我会用CAReplicatorLayer实现三种炫酷的动画效果,代码用Xcode7/Swift2实现。我们首先将重新实现iOS内置音乐应用的“volumnbars”效果,歌曲"PyramidSong"的右方。接下来我们实现一个自定义的activ
- Swift 2之协议式编程介绍「译」
ChamchamBen
原文:IntroducingProtocol-OrientedProgramminginSwift2作者:ErikKerber译者:ChamchambenSwiftBirdbringsspeedynewfeaturestoSwift2!备注:此教程需要安装Xcode7及Swift2,此时两者均可能处于beta版本。您可以通过苹果开发者门户网站下载最新的beta版本。『译者注:原文发布于2015.6
- 平安科技移动开发二队技术周报(第六期)
asce1885
平安科技移动开发二队技术周报(第六期)@authorASCE1885的Github微博CSDN业界新闻1)WWDC15发布会在一段迥异过往风格的搞笑彩排视频之后,今年WWDC2015拉开了帷幕,库克表示这是最国际化的一次发布会,有来自70个国家的不同开发者,在场有80%的人是首次参加WWDC。尽管传闻中的AppleTV和互联网电视台服务没有出现,但产品软件层面上的更新仍然令人欣喜。2)Swift2
- [程序员日记]错误和异常处理(转)
KeyLiu7
异常和错误对于很多iOS,尤其是以Objective-C为主要语言的程序员来说是经常混淆的概念。最近在学习Swift时看到这篇tip,希望与大家共勉。文章摘自王巍(@onevcat)《Swifter(第二版)100个Swift2开发必备Tip》tip77错误和异常处理作者博客:http://swifter.tips/error-handle/转载请注明出处在开始这一节的内容之前,我想先阐明两个在很
- Swift 学习笔记 - 类型转换
Daniel-Yao
IOS
学习Swift过程中,有时候找了好多资料才找到解决方案,有些则是为了方便记录,在这里mark一下CGFLOAT_MAX在OC中,CGFLOAT_MAX在Swift中://Swift2:CGFloat.max//Swift3:CGFloat.greatestFiniteMagnitudeIntCGFLoatFloat类型转换//CGFloat->IntInt(rect.size.height)//I
- 2015移动开发之iOS回顾
硅谷热
2015是移动技术快速发展的一年,基于Apple平台的技术也发展迅速。iPhone6s/iPhone6splus、iPadpro等新设备发布,iOS9、watchOS2、OSXELCapitan、tvOS等新的平台,Swift开源及Swift2发布,ReactNative、JSPatch等开源社区也一片繁荣。但同时XcodeGhost等后门事件对于我们关注iOS安全也敲响了警钟。PS:本文不是一篇
- 神奇的 Swift 错误处理
颐和园
iPhone开发
原文:MagicalErrorHandlinginSwift作者:GemmaBarlow译者:kmyhySwift中的错误处理从O-C沿袭而来,但Swift1.0之后逐渐发生了巨大改变。重要的改变发生在Swift2,它率先使用了“处理非异常的状态和条件”的做法,使你的app变得更加简单。类似于其它编程语言,在Swift中,选择使用哪种错误处理技术,需要根据具体的错误类型和app整体架构而定。本教程
- swift character index操作
partrick
字符串下标在经典的c和大多数语言中,字符串可以像数组一样用下标来寻址。在Swift里不行。因为swift强调类型,在swift2里,String不遵循Sequenceprotocol。要想访问字符串里的单个字符串,必须用String的characters属性。letstr="helloworld"letindex=str.index(str.startIndex,offsetBy:2)letcha
- xcode8和swift3
亲密数
xcode8正式版本可以下载了,里面搭载了swift3。swift3和swift2语法是不兼容的,所以旧代码需要转换才可以用。xcode8提供了转换工具。我用我的一个swift2的项目来做试验,结果屏幕一片红,全是编译错误。看来转换工具不太得力。转而手工一个一个修改。xcode提供了针对编译错误的建议修复功能,还是很贴心。只是也不是所有的建议都是对的。这个版本,API的变动很大,比如CGMakeP
- 最全动画系列教程-登录动画效果
AsTryE
开发工具IOS起航Swift
最全动画系列教程-05登录动画效果本文系最全iOS动画系列教程中的一篇,创意来自国外的某本书里面。网络上也有类似的实现,但我用QuartzCode动画设计工具实现了此种效果。QuartzCode项目文件按照惯例首先应该贴上效果图:好了,这里给大家简单介绍下QuartzCode这款工具软件,官网地址利用这个工具,可以设计一些简单的动画效果,并生成Swift或是ObjectC代码,目前支持Swift2
- swift2 自动引用计数
wangxiaobupt
【Swift学习记录】
原理classPerson{letname:Stringinit(name:String){self.name=nameprint("\(name)isbeinginitialized")}deinit{print("\(name)isbeingdeinitialized")}}varreference1:Person?varreference2:Person?varreference3:Pers
- CoreImage 变换
颐和园
iPhone开发iOS动画专栏ios动画CoreImageswift2
原文:TransitionswithCoreImage作者:MarinTodorov译者:kmyhy本教程兼容Xcode7/Swift2。在“iOSAnimationsbyTutorials”的第3章“转换动画”中,我向你介绍了如何用内置的转换动画来渐入或渐出你的view。坦白讲,这种动画有一定限制。你可以选择以内容的位置进行动画,或者交叉溶解,或者反转动画。CATransition类中有一个属性
- Swift4 获取String子字符串
韦弦Zhy
都说Swift2和Swift3不是同一门语言,但是我怎么觉得Swift4有时看着也像别人家的孩子。。。。这里主要是更新下以前的写的Swift3的String相关知识:string的长度可以直接用count了有了prefix()和suffix()获取头尾的相应范围的子串string.substring(to:)string.substring(from:)string.substring(with:
- Swift3 获取String子字符串Substring简单扩展
韦弦Zhy
Swift3更新后不兼容Swift2了,刚开始看Swift,发现好多方法都不能用了啊,那就只能自己摸索了,同时也在这与大家分享分享,正好让大家帮我指正。在这里更新到Swift4了欢迎大家查阅、、、1.新建一个字符串,是不是很机智(懒)letstr="Doanyadditionalsetupafterloadingtheview,typicallyfromanib."2.测量字符串长度,因为Swif
- Swift 中最好的新特性
liumiaomiao1991
苹果公司在今年的WWDC大会上发布了Swift2以及相关的新特性,相比之下其他的内容就无聊多了。除了宣布Swift将会开源并且这门语言由苹果独立开发完成之外,Swift2还包含很多新的特性,这将大幅改善这门语言。今天我将介绍最重要的几个新特性。函数指针这是目前为止我最喜欢的Swift新特性。这是一个比较小但是非常重要的特性,因为它填补了Swift桥接C语言的最后一个漏洞。之前,Swift将C语言中
- Objective-C id 作为 Swift Any--[AnyHashable : Any]
hianyu
Objective-Cid作为SwiftAnySwift3与Objective-C的API接口比以前的版本更好用了。比如说,Swift2把Objective-C中的id映射为Swift中的AnyObject,它一般能储存类类型的值。Swift2同样为一些桥接的值类型提供了隐式的AnyObject,比如说String、Array、Dictionary、Set以及某些数值,作为一种Swift原生类型可
- Objective-C id as Swift Any
weixin_34289454
这是一片译文。原文链接在这儿~Swift3以一种比以前的版本更强大的方式结合Objective-C的API。对于实例变量,Swift2把Objective-C中的id类型映射到Swift中的AnyObject类型,通常它只能持有class类型。Swift2也为一些桥接值类型提供了隐式转换到AnyObject类型,例如:String,Array,Dictionary,Set和一些数字,作为一种便利让
- 自定义视图控制器转场动画[译]
MadLife程序员
iOS动画教学:自定义视图控制器转场动画NotefromRay:这是从iOSAnimationsbyTutorialsSecondEdition摘录的一小节,能从这篇文章中显露出书籍讲述的内容。教程基于iOS9,Xcode7和Swift2。是否当你想要显示摄像视图控制器,地址栏或者你自定义的场景控制器时,你都是在调用相同的UIKit方法:presentViewController(_:animat
- 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性能优化权威指南》