- kafka监听topic消费_Kafka消费者-从Kafka读取数据
weixin_39747296
kafka监听topic消费
(1)Customer和CustomerGroup(1)两种常用的消息模型队列模型(queuing)和发布-订阅模型(publish-subscribe)。队列的处理方式是一组消费者从服务器读取消息,一条消息只由其中的一个消费者来处理。发布-订阅模型中,消息被广播给所有的消费者,接收到消息的消费者都可以处理此消息。(2)Kafka的消费者和消费者组Kafka为这两种模型提供了单一的消费者抽象模型:
- GNU UNIX LINUX 之间的相关概念
威桑
Linuxgnuunixlinux
GNU、UNIX和Linux是操作系统领域的重要概念,但它们在性质和发展历史上有所不同。1.GNU全称:GNU'sNotUnix性质:自由软件项目背景:1983年,RichardStallman发起了GNU项目,目的是创建一个完全自由的类UNIX操作系统。GNU项目发展出了许多关键的软件组件,如GNU编译器集合(GCC)和GNUC库(glibc)。与UNIX的关系:GNU项目旨在创建一个类似于UN
- springboot集成kafka @SendTo对于转发单条消息和转发批量消息的两种情况
ddq呀
springbootkafka后端
//当转发单条消息时,可以采用如下方式@KafkaListener(groupId="a-group",topics="a-topic")@SendTo("b-topic")publicStringconsumeA(ConsumerRecordconsumerRecord){returnconsumerRecord.value();}@KafkaListener(groupId="b-group"
- 如何查看kafka消息消费进度以及是否有未消费的消息
小手追梦
hadoop实战
查询是否有未消费的消息的方式有三种:第一种,kafka自带命令kafka的bin目录下,执行命令:kafka-consumer-groups.sh--bootstrap-servernode1:9092--describe--groupmylcy可以看到当前的消费进度(CURRENT-OFFSET)、消息进度(LOG-END-OFFSET)、落后量(LAG):第二种:JAVAAPIpublicst
- vue事件监听
小汤猿人类
vueuni-app前端javascript开发语言
我们可以使用v-on指令(简写为@)来监听DOM事件,并在事件触发时执行对应的1.回车事件(点击回车触发)@confirm适用
[email protected]适用vue3运用场景:通常在文本框输入的时候使用2.点击事件(鼠标左键点击指定区域触发)@click运用场景:用户登陆,按钮点击3.更改事件(值更改触发)@change运用场景:通常用于文本框的值被修改的时候进行验证4.失去焦点事件(鼠
- 泽平 的ScalersTalk第八轮新概念朗读持续力训练Day 589 20221101
郑泽平
练习材料:Lesson16ApoliterequestIfyouparkyourcarinthewrongplace,atrafficpolicemanwillsoonfindit.Youwillbeveryluckyifheletsyougowithoutaticket.However,thisdoesnotalwayshappen.Trafficpolicearesometimesverypo
- 汇总:20个Linux服务器性能调优技巧
开源Linux
数据库linuxjava大数据mysql
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的。Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工
- 演讲稿——Acres of Diamonds(Russell Conwell)
R_est
WhengoingdowntheTigrisandEuphratesriversmanyyearsagowithapartyofEnglishtravelersIfoundmyselfunderthedirectionofanoldArabguidewhomwehiredupatBaghdad,andIhaveoftenthoughthowthatguideresembledourbarbersi
- golang学习笔记——grom连接mysql
怪我冷i
golang从入门到入门golang
GORM指南ThefantasticORMlibraryforGolangaimstobedeveloperfriendly.Golang的ORM库旨在对开发人员友好。特性全功能ORM关联(HasOne,HasMany,BelongsTo,ManyToMany,多态,单表继承)Create,Save,Update,Delete,Find中钩子方法支持Preload、Joins的预加载事务,嵌套事务
- react脚手架配置代理总结
ST_MT
react脚手架配置代理总结方法一在package.json中追加如下配置"proxy":"http://localhost:5000"说明:优点:配置简单,前端请求资源时可以不加任何前缀。缺点:不能配置多个代理。工作方式:上述方式配置代理,当请求了3000不存在的资源时,那么该请求会转发给5000(优先匹配前端资源)方法二第一步:创建代理配置文件在src下创建配置文件:src/setupProx
- 【日常记录-Linux】unzip指令
我叫白小猿
学习笔记linux运维服务器unzipjarJava压缩
Author:赵志乾Date:2024-08-28Declaration:AllRightReserved!!!1.简介unzip是一个在类Unix系统(如Linux、macOS)上广泛使用的命令行工具,用于解压缩.zip格式的文件。.zip是一种广泛支持的压缩文件格式,它可以包含一个或多个文件,这些文件被压缩以节省存储空间,并且可以被压缩成单个的.zip文件以便传输。2.基本语法unzip[选项
- 我的文字和我一样糟糕
草莓味的小肉团
99年春生于北方爱喜笑厌愁苦图片发自App我一直以为自己是一个乐天派,什么事情都没办法打倒我,我会是自己的superwoman。可最近我好像累了,整个人变得很糟糕。我越来越厌烦现在的生活,我像是迷失了我自己,那个真正的我到底在哪里?读了一所爸妈认为稳妥的大学,选择了一个爸妈喜欢的专业。被专业的琐事搞的头大,被搞不懂的药理,生理折磨的死去活来。没有取得什么像样的成绩,却一直安稳于现状,沾沾自喜。这生
- 进程间通信与线程间通信
liliansunshine
网络linux操作系统线程和进程通信方式区别与联系
序今天被问及进程间通信的问题,发现自己了解的并不够,所以,对此好好总结一番~操作系统的主要任务是管理计算机的软件、硬件资源。现代操作系统的主要特点是多用户和多任务,也就是程序的并行执行,windows如此linux也是如此。所以操作系统就借助于进程来管理计算机的软、硬件资源,支持多任务的并行执行。要并行执行就需要多进程、多线程。因此多进程和多线程间为了完成一定的任务,就需要进行一定的通信。而线程间
- 初识Mybatis框架
澄岚明雪
mybatis
什么是框架框架就是对技术的封装,将基础的技术进行封装,让程序员可以快速的使用,提高开发效率JAVA后端框架mybatis对jdbc进行封装spring对整个java后端架构进行管理的springweb对web层(servlet)进行封装springboot对spring框架的搭建进行封装Linux操作系统mysqlredisdocker开发好的项目部署到linux环境mybatis背景介绍:myb
- 关闭mysql权限管理_MySQL系列:用户及权限管理
布酱
关闭mysql权限管理
一、权限介绍1.权限类别:对象界别划分库级别、表级别、字段级别、管理类权限、程序类权限(1)库和表级别的权限:对于具体的库或者表进行授权操作ALTER、CREATE、CREATEVIEW、DROP、INDEX、SHOWVIEWGRANTOPTION:能够把自己获得的权限赠经其他用户一个副本;回收权限困难(2)数据操作:增删查改SELECT、INSERT、DELETE、UPDATE(3)字段级别:授
- kubeadm部署k8s1.25.3一主二从集群(Containerd)
陌殇殇殇
kubernetes容器云原生
第一章:K8S集群部署kubernetes集群规划主机IP主机名主机配置角色10.0.0.3master12C/4G管理节点10.0.0.4node12C/4G工作节点10.0.0.5node22C/4G工作节点集群前期环境准备#!/bin/bashecho"——>>>关闭防火墙与SELinux/dev/nullsetenforce0sed-i's/SELINUX=enforcing/SELINU
- J-Linux&Shell-W12 进程及其管理(上)
Monyan
Linuxlinuxcentos运维
J-Linux&Shell-W12进程及其管理(上)一、判断题终止进程的命令可以用kill。(√)ps命令列出当前的进程,以及它们的树状结构。(×)linux系统上所有运行的东西都可以称之为一个线程。(×)nice命令是用来给程序点赞的。(×)二、单项选择题下列不属于进程基本状态的是(C)A.运行态B.就绪态C.终止态D.阻塞态可以动态查询当前系统进程情况的命令是(B)A.psB.topC.nic
- Linux&Shell作业题-1
Monyan
Linuxlinux操作系统shell
J-Linux&Shell-W1Linux基础知识(共10分)一、判断题(共4题,每题0.25分)软件是与数据处理系统操作有关的计算机程序和相关数据等的总称。(√)操作系统是裸机之上的第一层软件,与硬件关系尤为密切。(√)hda表示电脑内串口硬盘的第一块硬盘。(×)任何分区表都只支持最多4个主分区。(×)二、单项选择题(共3题,每题0.5分)下列不属于操作系统类型的是(B)A.批处理系统B.模拟系
- O-Linux&Shell-W2
Monyan
Linux
O-Linux&Shell-W2Linux系统基本配置(共10分)一、操作题(每题1分,共10分)使用root用户登录系统。使用ls/etc命令查看sudoers的权限情况。(2分)使用chmodu+wsudoers命令将sudoers文件修改为可写。(2分)使用vi/etc/sudoers命令对sudoers进行修改,将自己名字的普通用户加入到sudoers白名单中,保存退出。(2分)切换用户到
- O-Linux&Shell-W3
Monyan
Linuxlinux
O-Linux&Shell-W3Linux系统管理(共10分)一、操作题(每题1分,共10分)1、新建一个用户sam,将用户的主目录设置到/usr/sam目录。2、新建一个用户gem,将用户的登录Shell设置为/bin/sh,用户组(源生组)设置为group,附加组(衍生组)设置为adm和root。3、调整sam用户,主目录改为/home/z,用户组改为developer。4、设置sam用户的密
- Linux系统主要目录速查表
旺仔Sec
linux运维服务器
Linux主要目录速查表/:根目录,一般根目录下只存放目录,在linux下有且只有一个根目录,所有的东西都是从这里开始的。当你在终端输入*/home*,其实就是在告诉电脑,先从*/(根目录)开始,再进入到home*目录/bin、/usr/bin:可执行二进制的文件,比如linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub/dev:存放linux系统下的设备文件,访
- Linux 主要目录速查表(二)
杨鹏飞乀
linux操作系统javaubuntucentos
/:根目录,一般根目录下只存放目录,在linux下有且只有一个根目录,所有的东西都是从这里开始当在终端里输入/home,其实是在告诉电脑,先从/(根目录)开始,再进入到home目录/bin、/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等/boot:放置linux系统启动时用到的一些文件,如linux的内核文件:/boot/vmlinuz,系统引导管理器:/boo
- yolo v8 + flask部署到云服务器,以及问题记录
智商不够_熬夜来凑
YOLOpytorchpythonflask
环境安装1、运行项目报错:nopythonapplicationfound,checkyourstartuplogsforerrors在云服务器pytorch版本安装错了,安装了GPU版本,需要安装CPU版本#CPUonly使用下面这段代码避免出现第二个错误pipinstalltorch==2.3.1torchvision==0.18.1torchaudio==2.3.1--index-urlht
- 被FBI点名的中国黑客-KING
d64cd8e6a43a
网名:KING真实姓名:谭绪武QQ:1576172简介:黑客联盟创始人(该组织在2001年5月的黑客大战中一举成名,会员人数最多时达到6万,很有影响力),现在安氏因特网安全系统(中国)有限公司高级技术专员。特长:3年以上WindowsNT系统管理员经验,2年以上Unix系统管理员经验,对Solaris、Linux、WindowsNT/2000系统安全有较深入了解;熟悉各种安全产品的使用,熟悉各种网
- 【Linux 从基础到进阶】 SSD与HDD存储优化
爱技术的小伙子
Linux从基础到进阶linux运维服务器
SSD与HDD存储优化引言在现代计算机系统中,存储性能对整体系统性能的影响至关重要。固态硬盘(SSD)和传统机械硬盘(HDD)是两种常见的存储设备,它们在速度、寿命和价格上各有优劣。为了充分发挥SSD和HDD的性能,合理的优化策略是必不可少的。本文将介绍如何在CentOS和Ubuntu系统中对SSD和HDD进行优化,以提高存储效率和延长设备寿命。1.SSD与HDD的区别1.1SSD(固态硬盘)速度
- 离线安装压缩工具xz指南
查拉图斯特拉面条
Linux&运维运维
在Linux操作系统上离线安装压缩工具xz可能会遇到一些挑战,尤其是当官方下载地址无法访问时。本文将为你提供详细的指导,确保你能够顺利安装xz。一、下载xz安装包首先,你可以尝试从xz官方网站下载xz的安装包。以下是官方下载地址:https://tukaani.org/xz/如果官方网站无法访问,你还可以从GitHub上的xz项目发布页面下载xz的源码压缩包。GitHub提供了多个版本的xz源码,
- Linux操作系统-12-ufw
Zkaisen
安全与运维linux运维服务器
在Ubuntu20.04上使用UFW来设置防火墙只有root或者其他有sudo权限的用户可以管理系统防火墙。推荐以sudo用户来运行和管理ufw。一、查看ufw状态sudoufwstatussudoufwstatusverbose默认情况下,ufw阻止所有进来的连接,并允许所有出去的连接。这就意味着任何人无法访问服务器,除非开放服务的端口。策略文件保存位置:/etc/default/ufw二、应用
- SpringBoot依赖之Spring Data Redis 一 Hash类型
ahauedu
微服务架构设计springspringbootredis
概念SpringDataRedis(Access+Driver)依赖名称:SpringDataRedis(Access+Driver)功能描述:Advancedandthread-safeJavaRedisclientforsynchronous,asynchronous,andreactiveusage.SupportsCluster,Sentinel,Pipelining,Auto-Recon
- Linux ---- find命令详解与小练习
不Python份证
linux
find命令是一个非常常用的命令行工具,用于查找文件和目录。它可以根据不同的条件进行查找,并输出符合条件的文件和目录的列表。find命令的基本语法如下:###find[path][expression]###其中,path表示要查找的路径,expression表示要查找的条件和操作。find命令常用的选项和表达式如下:1.-type:按文件类型查找,例如-d表示目录,-f表示普通文件;2.-nam
- 清理linux的buff/cache缓存
天天加班写代码
linuxlinux
通过free-m命令,查看内存占用率。如果buff/cache占用内存过高的话,执行以下命令sync&&echo1>/proc/sys/vm/drop_cachessync&&echo2>/proc/sys/vm/drop_cachessync&&echo3>/proc/sys/vm/drop_caches执行完命令后,buff/cache就会被释放,free空闲内存就会变大。如果没有root权限
- 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