- 2018-08-16【Swift 4.1】 关于Swift4.0以后调用MJExtension无法模型转换问题
码农happy
1、本人使用swift4.1,弄了一晚上才弄好,结果还是一个小问题真是尴尬,要在model中每个属性前面加上@objcimportUIKitclassUserModel:NSObject{@objcvardix=String()}letdic=["dix":"ffffff"]asNSDictionaryletmodel=UserModel.mj_object(withKeyValues:dic)!
- 使用poi替换XWPFTableCell内容,并设置行间距
RR369_yyh
javaUtiljavapoi
使用poi读取word文档(docx类型),进行数据替换。另外,为了记录poi设置行间距的api,真是找了好几十分钟才找到啊啊啊啊!!!importorg.apache.poi.xwpf.usermodel.*;importorg.springframework.util.StringUtils;importjava.io.File;importjava.io.FileInputStream;im
- lnmt架构
有点小忧郁
Linux课程
lnmt架构安装nginx//创建系统用户nginx[root@localhost~]#useradd-r-M-s/sbin/nologinnginx//安装依赖环境[root@localhost~]#yum-yinstallpcre-developensslopenssl-develgd-develgccgcc-c++[root@localhost~]#yum-ygroupsmarkinstal
- risc-v特权模式
狮子座硅农(Leo ICer)
risc-v
risc-v架构定义了3种工作模式,又称为特权模式(privilegedmode)。机器模式(machinemode),简称M模式;监督模式(supervisormode),简称S模式;用户模式(usermode),简称U模式。risc-v架构定义机器模式为必选模式,另外两种模式为可选模式,通过不同的模式组合可以实现不同的系统。risc-v架构支持几种不同的存储器地址管理机制,包括对物理地址和虚拟
- linux 上Docker-compose配置、部署java服务
肃清万里,总齐八荒
linuxdockerjava
Docker配置部署java服务1、创建新用户1.1、使用useradd命令创建新用户1.2、使用adduser命令创建新用户1.3用户授权1.3用户组授权2、创建文件2.1、创建文件夹2.2、创建文件3、nginx3.1docker运行nginx3.1.1、拉取镜像3.1.2、容器运行3.2docker-compose运行nginx3.2.1运行环境挂载文件配置3.2.2docker-compo
- 账户管理命令分析
rxh1234567
笔记
1)useradd作用:创建新账号参数:-d设置用户家目录;-e用YYYYY-MM-DD格式指定一个账户过期日期;-f指定帐户失效日期;-g指定用户登录组的GID或组名;-G指定一个或多个附加组;-m创建用户HOME目录;-M不创建用户家目录;-p为用户账户指定默认密码;-s指定登录shell类型;-u为账户指定一个唯一的UID。2)userdel作用:删除用户参数:-r删除用户与家目录。3)gr
- Java Springboot MultipartFile 进行Excel文件解析,并返回list map 对象 - 工具类
VinfolHu
javajavaspringbootexcel
JavaSpringbootMultipartFile进行Excel文件解析,并返回listmap对象主要实现代码如下:importlombok.extern.slf4j.Slf4j;importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.ss.usermodel.CellType;importorg.apache
- Linux 用户和组的增删改查,用户切换及权限超详细解读
人工智障调包侠
Linuxlinux运维服务器
目录用户和组及权限简单介绍用户及组创建和删除用户创建useradd-m创建用户john-g创建用户john-d创建指定家目录的用户john-m-g-d的组合使用用户删除userdel用户密码设置组创建groupadd组删除groupdel主组和附加组修改用户所在主组或附加组usermod更换或添加附加组更换主组用户及组的信息查询用户信息查询id/getentpasswdidgetentpasswd
- 潜聊django认证模块
给我起把狙
djangopython数据库
潜聊django认证模块一、什么是Django认证模块?Django的认证模块(AuthenticationSystem)主要用于认证(确认用户的身份)和授权(决定用户可以做什么)。这个模块帮助你管理用户的登录、注册、权限等功能。二、认证模块的核心概念用户模型(UserModel):这是用来保存用户信息的一个数据结构,比如用户名、密码、电子邮件等。在Django中,默认的用户模型已经定义好了,我们
- Rocky Linux 8.8 离线安装Mariadb 10.11.7
恒云客
linuxmariadb运维
用户在阿里购买了一台无公网的云服务器,不能用yum进行安装,用离线方式进行了安装。1、创建一个不指定home目录帐号useradd-s/sbin/nologin-Mmysql2、下载官方二进制安装压缩包wgetmariadb-10.11.7-linux-systemd-x86_64.tar.gz3、解压指定目录/usr/localtarzxvfmariadb-10.11.7-linux-syste
- Linux用户/用户组以及权限
奋斗的小花生
linux运维服务器
目录Linux用户:Linux用户组:Linux权限:Linux用户:添加新用户:理解:-m创建一个组,-d仅仅代表指定的是目录home下创建(映射)一个对应的目录信息格式:useradd[选项]用户名如:useradd-d/home/lucy(目录)-m(省略lucy组)lucy(新用户)创建一个用户lucy,并且在home目录下分配一个同名目录(映射)。注意:创建新用户时没有指定组,则会创建一
- nginx平滑升级与location修饰符
霉逝
nginx运维服务器
nginx平滑升级与location修饰符文章目录nginx平滑升级与location修饰符一、nginx平滑升级1、部署nginx2、获取之前安装nginx的编译参数3、下载新模块4、重新编译软件5、备份源程序并停止、覆盖、启动服务6、测试--引用echo模块二、location案例一、nginx平滑升级1、部署nginx//创建系统用户nginx[root@10~]#useradd-r-M-s
- Java将数据导出为Excel文件
DebugDiver代码深处潜水员
项目相关javaexcel开发语言
使用ApachePOI生成基本ExcelApachePOI是一个强大的Java库,用来处理MicrosoftOffice文件。对于Excel文件(.xls和.xlsx)处理,提供有HSSF(.xls)和XSSF(.xlsx)等API。importorg.apache.poi.ss.usermodel.*;importorg.apache.poi.xssf.usermodel.XSSFWorkboo
- Linux命令基础(三(用户和组))
確定饿的猫
linux运维服务器
目录用户用户的分类管理员用户普通用户程序用户UIDpasswdchageuseraddusermoduserdel组gpasswd其他用户用户的分类Linux中用户分为三类,分别为管理员用户即root用户,我们在安装Linux虚拟机的过程中,有一个步骤就是设置root账户。设置了root账户后普通账户就无所谓怎么设置了,因为root对本机的控制权极高,ID=0。直接使用root账户登录系统,就可以
- Linux操作系统加固
LD_ee65
本帮助手册旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和加固。1.账号和口令1.1禁用或删除无用账号减少系统无用账号,降低安全风险。操作步骤使用命令userdel删除不必要的账号。使用命令passwd-l锁定不必要的账号。使用命令passwd-u解锁必要的账号。1.2检查特殊账号检查是否存在空口令和root权限的账号。操作步骤查看空口令和root权限账号,确认是否存在异
- squid缓存技术
凉博青年
Linuxsquid
squid缓存技术配置squid1、配置squid服务器(1)创建管理squid的用户[root@centos01~]#useradd-M-s/sbin/nologinsquid(2)配置squid[
[email protected]]#./configure--prefix=/usr/local/aquid--sysconfdir=/etc/--enable-linux-netfi
- linux系统安全
运维不屈的一生
服务器运维
一、账号安全基本措施1.1系统账号清理1.1.1将用户设置为无法登录--改登录shell登录shell是用户与计算机系统直接交互的接口,使用户能够通过命令行方式进行各种操作和管理。所以让用户无法登录,其实就是将登录shell改为/sbin/nologin,可以用usermod-s更改。[root@localhosthome]#usermod-s/sbin/nologinlisi##更改登录shel
- 11. Node_exporter 一篇就够
starQuest
11.1解压安装tar-zxvfnode_exporter-0.18.1.linux-amd64.tar.gzgroupaddprometheus2useradd-gprometheus2-m-d/home/monitor/node_exporter/-s/sbin/nologinprometheus2mvnode_exporter-0.18.1.linux-amd64node_exporterr
- Flask实战开发——问答平台(五)用户注册与登录
小陈从不熬夜
Flask从入门到实践flaskpython后端
一、注册信息校验1、使用表单验证(flask-wtf)pipinstallflask-wtf2、在蓝图buleprints文件下新建forms.py文件importwtformsfromwtforms.validatorsimportEmail,Length,EqualTo,InputRequiredfrommodelsimportUserModel,EmailCaptchaModelfromex
- RockyLinux8 & RockyLinux9安装postgresql16-devel开发包
ynzhangyao
postgresql
1、PG的插件扩展有些需要自行编译,需要安装PG开发包2、RockyLinux8安装#创建用户先useraddpostgressudodnfinstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudodnf-qymoduledisa
- SpringBoot + openGauss开发入门
renxyz
springboot后端java数据库openGauss
本文介绍如何快速安装openGauss单机版openGauss快速环境安装groupadddbgroupuseradd-gdbgroupomm#可后面安装时创建passwdomm#设置密码为Gauss_1234创建安装程序目标目录mkdir/home/omm/opengauss3chown-Romm:dbgroup/home/omm/opengauss3下载opengauss3.0.0mkdir/
- Linux进阶语法介绍
む妖饰千年ょ乱一世浮华
大数据linuxcentos远程工作交互
1.用户相关命令Linux系统和Mac系统,windows系统一样,也是支持多用户管理的,为了更好的管理多用户,就有了用户组和用户的概念,Linux系统中,root账号拥有最高权限.增,新增用户useradd用户名改,修改用户的密码passwd用户名删userdel[-r]用户名查,即:查询所有的用户cat/etc/passwdgetentpasswd查看用户信息zhangsan:x:1000:1
- Prometheus监控node
仙女陈
prometheus
下载地址:https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz1.1安装tar-xvfnode_exporter-0.18.1.linux-amd64.tar.gzsudogroupadd-rprometheussudouseradd
- 使用C#+NPOI进行Excel处理,实现多个Excel文件的求和统计
丷丩
C#通用c#excel
一个简易的控制台程序,使用C#+NPOI进行Excel处理,实现多个Excel文件的求和统计。前提:待统计的Excel格式相同统计结果表与待统计的表格格式一致引入如下四个动态库:1.NPOI.dll2.NPOI.OOXML.dll3.NPOI.OpenXml4Net.dll4.NPOI.OpenXmlFormats.dllusingNPOI.HSSF.UserModel;usingNPOI.SS.
- linux下创建指定用户并指定 gid uid
兵兵呀
运维运维
1.创建指定所属组并指定gidgroupadddev-g1005#创建dev的所属组并指定gid10052.创建指定用户并指定uiduseraddtest-u1003-g1005#创建test用户并指定uid1003分配为dev1005属组3.将test用户绑定dev组的某一个文件chown-Rtest:dev+文件名4.将已有的用户指定到已有的用户组gpasswd-adevroot//将用户de
- linux切换用户时出现bash-4.2$
hikarilee
linuxlinux
切换用户时出现bash-4.2$工作中遇到如下场景,环境已经给定,也创建好了dsweb用户,但是切换用户时提示由于当时在.bash_logout.bash_profile这几个文件中进行了操作,但没有效果,且情景已无法再现,现在模拟错误场景1、正常新建用户useradd-mdsweb(useradd-m+用户名)的方式创建,它会在/home目录下创建同名文件夹2、执行sudsweb发现可以进入ds
- 【工具类】非 sudo 运行 docker
knowledgebao
工具类docker容器运维
非root运行docker命令sudogroupadddockersudousermod-aGdocker$USERnewgrpdockersudochownroot:docker/var/run/docker.socksudochown"$USER":"$USER"/home/"$USER"/.docker-Rsudochmodg+rwx"$HOME/.docker"-Rlinux(ubuntu
- 使用 C++23 从零实现 RISC-V 模拟器(6):权限支持
everystep_
c++23risc-v
本节内容增加了权限表示,设置了三种权限。当cpu初始化时默认的权限为Machine模式。接下来实现这三种特权模式,随后实现sret和mret指令。RISC-V定义了三种特权等级,分别是用户态(UserMode)、监管态(SupervisorMode)、和机器态(MachineMode)。这三种特权等级对应着不同的操作系统和应用场景,提供了不同级别的访问权限。1.权限表示定义下面三个参数来表示不同的
- docker 2:安装
初学c++
dokcer
docker2:安装ubuntu安装dockersudoaptinstalldocker.io把当前用户放进docker用户组,避免每次运行docker命都要使用sudo或者root权限。sudousermod-aGdocker$USERid$USER看到用户已加入docker组查看docker版本docker--versiondockerversion手动停止、启动docker服务#启动
- linux系统管理教程pdf,Linux运维入门到高级全套系列PDF
史文林
linux系统管理教程pdf
Linux学习技巧初学者可以自己安装虚拟机,然后把Linux常用命令例如cd、ls、chmod、useradd、vi等等多练习几十遍,把自己敲打命令的熟练程度提升上来。然后根据文档搭建Linux下常见的各种服务(DHCP、SAMBA、DNS、Apache、Mysql等),遇到问题后可以在google搜索,搜索的时候多看几篇文章,综合最好的文章来解决问题。能够熟练的搭建服务后,理解每个服务的完整配置
- 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性能优化权威指南》