- keepalived应用
小卓笔记
服务器linux数据库
Keepalived是一个基于VRRP(虚拟路由冗余协议)实现的高可用解决方案,常用于构建高可用性的服务器集群,特别是在负载均衡场景中,可确保服务的不间断运行。以下为你详细介绍它:0主要功能高可用性:借助VRRP协议,Keepalived能在多台服务器间自动切换,当主服务器出现故障时,备用服务器可迅速接替工作,保障服务的持续可用。负载均衡:Keepalived可与LVS(Linux虚拟服务器)集成
- lvs
wzyzzu
linux
目录LVS项目理论项目介绍体系结构IP负载均衡负载调度安装配置简介组件背景硬件/网络的要求路由的必要条件节点内部连接的必要条件安装软件配置例子简单实例LVSLVS是章文嵩博士发起和领导的优秀的集群解决方案,许多商业的集群产品,比如RedHat的Piranha,TurboLinux公司的TurboCluster等,都是基于LVS的核心代码的。在现实的应用中,LVS得到了大量的部署,请参考http:/
- Linux企业实战-----LVS+keepalived负载均衡集群
Yang5208
linux负载均衡运维
用LVS实现负载均衡实现步骤:#若在虚拟环境中需执行此步骤创建两个新的虚拟机,VMWARE可忽略此步骤真实主机:cd/var/lib/libvirt/images/lsqemu-imgcreate-fqcow2-brhel7.6.qcow2server3qemu-imgcreate-fqcow2-brhel7.6.qcow2server4server1:pcsclusterdisable--all
- Linux将剩余空间分配给根目录
longerxin2020
Linuxlinux运维服务器
要将剩余的100GB空间扩展到根目录(/),你需要执行以下步骤。这些步骤包括调整LVM逻辑卷和文件系统。1.检查当前的磁盘和分区首先,确认当前的磁盘和分区布局。lsblk2.检查LVM物理卷、卷组和逻辑卷使用pvs、vgs和lvs命令来查看当前的LVM配置。pvsvgslvs3.扩展物理卷假设vda3的剩余空间还没有被分配给任何分区,你需要使用pvresize命令来扩展物理卷。sudopvresi
- Nginx、LVS、HAProxy 的区别和优缺点
青年夏日科技
nginx运维
Nginx、LVS、HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,通常会结合Keepalive做健康检查,实现故障转移的高可用功能。1)在四层(tcp)实现负载均衡的软件:lvs------>重量级nginx------>轻量级,带缓存功能,正则表达式较灵活haproxy------>模拟四层转发,较灵活2)在七层(http)实现反向代理的软件:haproxy----
- LVS、Haproxy、Nginx区别
SHISHIZHIZHI
nginx负载均衡服务器
LVS、Haproxy、Nginx区别一、Haproxy调度算法1.常见的web集群调度器2.Haproxy应用分析3.Haproxy调度算法原理4.Haproxy的主要特性5.Haproxy的优点6、LVS.Haproxy、Nginx区别二、Haproxy优化三、Haproxy日志1.修改主配置文件2.修改rsyslog配置一、Haproxy调度算法1.常见的web集群调度器目前常见的web集群
- lvs、nginx、haproxy区别和使用场景?
企鹅侠客
linux聊聊运维lvsnginx运维
0.运维干货分享软考系统架构设计师三科备考经验附学习资料信息安全管理体系(ISMS)制度模板分享免费文档翻译工具(支持word、pdf、ppt、excel)PuTTY中文版安装包MobaXterm中文版安装包pinginfoview网络诊断工具中文版LVS(LinuxVirtualServer)、Nginx和HAProxy都是常见的负载均衡工具,它们在不同的场景中各有优势。以下是它们的区别、特点及
- CListCtrl使用完全指南
panjean
VC/MFC转载的文章listheadersortingwizardcallbacklistview
创建图形列表并和CListCtrl关联:m_image_list.Create(IDB_CALLER2,16,10,RGB(192,192,192));m_image_list.SetBkColor(GetSysColor(COLOR_WINDOW));m_caller_list.SetImageList(&m_image_list,LVSIL_SMALL);为报表添加4列:char*szColu
- 开源项目
cs294639693
阿里阿里的开源项目很多,这也跟@淘宝正明的开源态度密不可分。有很多重量级的项目,例如LVS、Tengine,或者很有实践价值的中间件,例如MetaQ(分布式消息系统)、dubbo(RPC框架)、cobar(数据库中间件),或者是Java世界的工具,例如druid、fastjson。都说国内Java公司的技术架构大部分来自阿里系,我觉得一方面来自阿里员工,一方面也可以来自阿里的开源项目。地址有几个:
- 信息安全之构建FTP服务器证书
云纳星辰怀自在
信息安全概念sslhttpsFTP服务器CA证书
以下是完整的文章,包含所有步骤和最后一节的参考文章部分:在Ubuntu中安装和配置FTPS服务器的详细指南1.安装vsftpd首先,确保你的系统是最新的,然后安装vsftpd:sudoaptupdatesudoaptinstallvsftpd•解释:vsftpd是一个轻量级且安全的FTP服务器软件,适用于大多数Linux发行版。2.检查并安装openssl检查openssl是否已安装:whicho
- MySQLvs Redis 事务:核心差异详解(简单易懂)
以恒1
redis数据库缓存
MySQLvsRedis事务:核心差异详解(简单易懂)一、事务定义对比特性MySQL事务Redis事务事务模型符合ACID(原子性、一致性、隔离性、持久性)非严格ACID,更接近“命令批处理”核心命令BEGIN,COMMIT,ROLLBACKMULTI,EXEC,DISCARD,WATCH设计目标保证数据强一致性实现命令批量执行的原子性底层实现基于日志(Redo/UndoLog)和锁机制基于命令队
- KEEPALIVED高可用
Albert_OS
网络服务器运维
KEEPALIVED简介Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virt
- web集群(LVS-DR)
Spike()
lvs网络服务器
LVS是LinuxVirtualServer的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,
- nginx+keepalived实现高可用负载均衡
Spike()
nginx负载均衡
本文介绍了nginx反向代理多虚拟主机节点服务器配合keepalived实现高可用和负载均衡,keepalived除了能够管理LVS软件外,还可以作为其他服务的高可用解决方案软件。采用nginx+keepalived,它是一个高性能的服务器高可用或者热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现Web服务器端的高可用。使用keepalived
- Anaconda conda常用命令
Nick_chou
pythoncondabatch命令
目录1.前言2.管理conda自身3.管理环境4.包(Package)的管理5.Python版本的管理6.condainstallvspipinstall7.condaconfiguration1.前言Conda是Anaconda中一个强大的包和环境管理工具,可以在Windows的AnacondaPrompt命令行使用,也可以在macOS或者Linux系统的终端窗口(terminalwindow)
- LVS+Keepalived 高可用群集实例
ynyysn
nginx前端运维
文章目录一、Keepalived工具介绍二、Keepalived实现原理三、Keepalived配置文件四、LVS+Keepalived高可用群集的搭建4.1配置负载调度器(主:192.168.24.10)4.2配置负载调度器(备:192.168.24.20)4.3配置节点服务器web14.4配置节点服务器web2总结一、Keepalived工具介绍专为LVS和HA设计的一款健康检查工具支持故障自
- LVS+Keepalived高可用群集配置案例
IT_张三
运维lvs服务器运维
以下是一个LVS+Keepalived高可用群集配置案例:1、环境准备LVS主调度器(lvs1):IP地址为192.168.8.101,心跳IP为192.168.4.101LVS备调度器(lvs2):IP地址为192.168.8.102,心跳IP为192.168.4.102虚拟IP(vip):192.168.8.100Web服务器1(nginx1):IP地址为192.168.8.103Web服务器
- rss自建资源
Agnes_A20
开发语言
万物皆可订阅追更:RSS、RSSBud、RSSHub、Follow、加密解密-CSDN博客以下均来自上文:一文搞定RSS!从搭建、使用到自建订阅源。-知乎完整的RSS解决方案:自建RSSHub与Miniflux-Yunfi四大VPS对比评测:Linodevs.DigitalOceanvs.Lightsailvs.Vultr-小众软件
- DPVS_dpvs: DPVS架构图 介绍 DPVS是基于DPDK的高性能第4层负载均衡器
weixin_39878247
DPVS
DPVSIntroductionDPVSisahighperformanceLayer-4loadbalancerbasedonDPDK.It'sderivedfromLinuxLVSandit'smodificationalibaba/LVS.thenameDPVScomesfrom"DPDK-LVS".Differenttechniquesareappliedforhighperformanc
- DPVS_dpvs学习笔记: 2 启动流程
熊勒个猫
DPVS
整个工程量其实不大,截止到现在dpvs代码量只有不到2w行,相当轻量级了,和当年redis开源时体量相当。整体架构先看架构图,对外交互层controlplane比较像lvs,不会陌生。LoadBalancer模块根据lvs翻译而来,支持大家常用的几种转发模式。和lvs差别最大的地方就是,dpvs自己实现了轻量级的tcp协义栈,并且在用户层模拟了网卡,就是最下面的NetDevices层。为什么要自己
- 基于 openEuler 构建 LVS-DR 群集
致奋斗的我们
openEulerLinux云原生高级lvsmysql服务器linuxopenEulernginx负载均衡
目录对比LVS负载均衡群集的NAT模式和DR模式,比较其各自的优势NAT模式(网络地址转换模式)DR模式(直接路由模式)基于openEuler构建LVS-DR群集实验准备环境配置web服务器web1web2首先下载nginx设置连接界面测试在两台web服务器中增加VIP的相关配置绑定地址ARP抑制然后使其生效配置负载均衡在192.168.1.11上接着下载管理工具ipvsadmLVS配置查看配置测
- Qt Widgets、QML与Qt Quick
人才程序员
qml基础教程qt开发语言c++c语言uiqml
文章目录前言QMLVSQtQuick概念上的区别模块上的区分QtQuick1.xVSQtQuick2.x1.QtQuick1.x(基于Qt4.x)2.QtQuick2.x(基于Qt5.x)为什么要引入QML/QtQuick?1.战略性发展2.开发效率的提升3.UI与逻辑分离QtWidgetsVSQML/QtQuickQtWidgets的特点:QML/QtQuick的特点:总结前言随着跨平台开发的需
- LVS-DR集群搭建
afei00123
Linux
目录1.LVS-DR实验拓扑2.实验环境3.配置LVS3.1IP配置3.2生成ens37:1配置文件3.3配置LVS-DR规则4.配置RealServer4.1配置IP,生成lo:1文件4.2安装httpd服务,编写测试页面4.3关闭ARP转发5.测试6.LVS的多种调度模式1.LVS-DR实验拓扑afeiLVS-DR的特点:(1)NAT模式效率太低;(2)LVS-DR基于2层的数据报文的转发,要
- Ubuntu Server下实施LVS-DR实验服务器
ZynCobol
服务器ubuntulvs
LVS(LinuxVirtualServer)是一个在Linux操作系统上实现的负载均衡解决方案,其中的DR(DirectRouting)模式是其中一种常用的实现方式。本文将介绍如何在UbuntuServer上搭建LVS-DR实验服务器,并提供相应的源代码。LVS-DR(DirectRouting)模式是一种无需修改客户端IP地址的负载均衡模式。在LVS-DR模式中,负载均衡器只负责将请求转发给后
- LVS高性能原因揭秘
天亮i
请你做好思考的准备,跟着我的思路,去一点一点,把这么一个知识的历程,把它研究透彻,你会受益匪浅。OSI网络分层我们都应该知道,有OSI网络分层模型这么一个概念。此外,由于我们学的是软件工程学,为什么有一个工程这俩字在里面,那就说明了不是纯学术上的一个研究,是有具体的工程去做的。那么就涉及到分层解耦这么一个思想,任何一个层,只需要关心它这一层的事,而不用去管其它层具体是怎么做的。那么,对于每一层,就
- LVS 负载均衡-DR模式
敢敢936
lvs负载均衡服务器
一.DR模式直接路由:1.介绍:直接路由(DirectRouting):简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道。直接路由,LVS默认模式,应用最广泛,通过请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的
- CentOS7.6 服务器负载均衡——LVS-DR实战案例
*旧梦*
自动化运维服务器负载均衡lvs网络运维李心怡
1、前期环境准备1.准备两台主机IP地址主机名角色内存大小192.168.145.11LVS-DR负载均衡器2G192.138.145.23web1服务器12G192.168.145.34web1服务器22G设置主机名hostnamectlset-hostname+主机名su设置IP地址然后重启网卡vim/etc/sysconfig/network-scripts/ifcfg-ens33syste
- 高可用(HA)架构
weixin_34344403
运维系统架构java
http://aokunsang.iteye.com/blog/2053719浅谈web应用的负载均衡、集群、高可用(HA)解决方案http://zhuanlan.51cto.com/art/201612/524201.htm互联网架构“高可用”http://www.blogjava.net/ivanwan/archive/2013/12/25/408014.htmlLVS/Nginx/HAPro
- 基于 openEuler 构建 LVS-DR 群集
obboda
lvs服务器运维
1、环境准备准备好下面四台台服务器:主机名IP角色openEuler-1192.168.121.11DirectorServeropenEuler-2192.168.121.12RealServer1openEuler-3192.168.121.13RealServer2Rocky8192.168.121.51Client2、Web服务器配置在两台RS上安装并配置nginx服务:[root@ope
- SHELL-条件判断内建变量($UID)
A?J'aime?
SHELL脚本
[root@room9pc01opt]#vimtest1.sh#!/bin/bash#!/bin/bash[$UID!=0]&&echo"yourarenotroot"&&exityum-yinstallvsftpd&>/dev/nullsystemctlrestartvsftpdsystemctlenablevsftpd
- 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