- ngx_conf_read_token
若云止水
nginxc语言
Ubuntu下nginx-1.24.0源码分析-ngx_conf_read_token-CSDN博客staticngx_int_tngx_conf_read_token(ngx_conf_t*cf){u_char*start,ch,*src,*dst;off_tfile_size;size_tlen;ssize_tn,size;ngx_uint_tfound,need_space,last_spa
- Docker 构建 nginx-redis-alpine 项目详解
TechStack 创行者
#服务器容器Linuxdocker容器运维nginxredis
Docker构建nginx-redis-alpine项目详解一、课程概述嘿,朋友们!今天咱们要深入探索一个超级实用的项目——nginx-redis-alpine!这个项目可不简单,它包含了好多重要的知识点,像文件目录结构、核心文件的作用及配置、自签名证书的生成,还有镜像构建和容器运行等等。我保证,跟着我一步步走,你就能彻底搞懂这个项目的实现原理和各种应用场景,让你在Docker世界里更加游刃有余!
- nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128
m0_67391401
面试学习路线阿里巴巴android前端后端
前情回放:我一个前端被发配到客户那里当运维,我只想安安静静的敲代码怎么就这么难呢(我太难了。。。)。言归正传,遇到客户要求把http换成https,客户这边是生产环境。没有办法随便搞,只能把自己的域名换成https了,经过2天的努力啃骨头,终于搞定了,为了避免忘记,遇到了几个个问题,特此记录一下。准备工作:1一台服务器(我的是腾讯服务器),一个域名(我的是阿里申请的域名),服务器打开443端口(我
- Nginx配置 ngx_http_proxy_connect_module 模块及安装
huazhixuthink
nginx运维
1、配置完互联网yum源后,安装相关依赖软件包[root@serversoft]#yuminstall-ypatchpcrepcre-develmakegccgcc-c++opensslopenssh[root@serversoft]#yuminstallopenssl*2、解压缩软件,加载模块[root@serversoft]#lsnginx-1.20.2nginx-1.20.2.tar.gzn
- nginx源码阅读(八).ngx_events_module模块
UKey_
NginxNginx源码阅读nginx源码moduleevents配置项结构体
前言在上一小节中我们对模块的整体有了一定的把握,本小节将进入到事件模块的分析中,了解nginx是如何收集、管理、分发事件的。nginx将网络事件以及定时事件集成到一起进行管理,由于各平台的I/O多路复用机制不同,但是nginx支持多个操作系统,因此在事件模块中也实现了多种针对不同平台下封装I/O多路复用机制的模块。由于我所用的环境主要关注的是linux,因此后面主要分析ngx_epoll_modu
- Docker-Compose 快速部署安装 Nginx 或其他应用
yangshuo1281
dockernginx运维
Docker-Compose快速部署安装Nginx或其他应用1.下载Docker-Compose访问以下地址下载Docker-Compose:Docker-Compose下载地址2.上传并解压Docker-Compose将下载的Docker-Compose文件上传到服务器,并进行解压。3.安装Docker在CentOS或RHEL上安装Docker:1.删除旧版本的Docker(如果已安装):sud
- Nginx安全配置文档
笑锝没心没肺
Nginxnginx安全服务器
Nginx安全配置文档1.配置文档中有多处明确写出了nginx的配置文件路径,该路径是测试环境中的路径,线上系统的nginx配置文件与文档中所写的路径可能不一样,在进行相关配置时,应以线上配置文件的实际路径为准。线上系统nginx的安装目录在:/usr/local/nginx,默认配置文件在/usr/local/nginx/conf/nginx.conf,此外也引用了/usr/local/ngin
- 基于k3s部署Nginx、MySQL、PHP和Redis的详细教程
先决条件一台Linux服务器(或本地虚拟机),建议Ubuntu/CentOS基础命令行操作能力确保服务器有至少2GB内存和10GB磁盘空间1.安装k3s(极简Kubernetes)1.1一键安装#用root用户或sudo权限执行以下命令curl-sfLhttps://get.k3s.io|sh-解释:k3s是一个轻量级Kubernetes发行版,专为资源有限的环境设计这条命令会自动下载并安装k3s
- 目前nginx负载均衡支持的5种方式的分配
iteye_16581
知识管理nginx负载均衡
轮询每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.1upstreambackserver{2server192.168.5.205;3server192.168.5.206;4}weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.1upstreambackserver{2server192.168.5.205weight=10
- Nginx负载均衡策略
有恒则成
服务器架构/运维分布式高可用架构nginx负载均衡ip_hashurl_hash
文章目录一、Nginx五种均衡策略1.1轮询(默认)1.2指定权重1.3IP绑定ip_hash1.4fair(第三方)1.5url_hash(第三方)二、单Nginx配置多应用2.1配置tomcat单应用2.2配置tomcat多应用,hostname主机配置方式2.3/etc/hosts配置2.4配置php的httpd.conf三、DNS的负载均衡与反向代理负载均衡机制的基本原理nginx可以根据
- 【编程向导】Nginx-静态资源服务器
wtrees_松阳
nginx服务器运维
静态资源静态资源即非服务器动态生成的文件。常见静态资源类型:浏览器端渲染:HTML、CSS、JS图片:JPEG、GIF、PNG视频:FLV、MPEG文件:TXT等任意下载文件基本配置Web服务器一个重要的功能是服务静态文件(图像或静态HTML页面)。例如,Nginx可以很方便的让服务器从/data/www获取html文件,从/data/images获取图片来返回给客户端,这只需要在http块指令中
- 【视频】ffmpeg、Nginx搭建RTMP、HLS服务器
郭老二
视频音视频ffmpegnginx
1、源码安装Nginx1)源码下载因为要使用Nginx的模块nginx-rtmp-module,所以要下载nginx和nginx-rtmp-module的源码。下载地址:http://nginx.org/en/download.htmlhttps://github.com/arut/nginx-rtmp-module/tags2)解压、配置在同一个目录中解压nginx和nginx-rtmp-mod
- linux 下 nginx 安装部署,反向代理tomcat等应用服务
TenniCC
nginxnginx反向代理nginx负载均衡nginxlinuxlinux+nginxlinux下安装部署nginx
一、准备nginx1.16.1二、编译安装安装nginx编译安装的依赖软件包[root@pve-97nginx]#yuminstall-ygccgcc-c++pcrepcre-develzlibzlib-developensslopenssl-devel上传nginx安装包至相应目录,这里我们指定/cjy/nginx[root@pve-97~]#ll/ng/nginx/total1012-rw-r
- Linux安装graphite(nginx+uwsgi)过程
caihuan
运维graphite
由于需要测量程序的各种指标,使用dropwizardmetrics,数据直接输出到graphite.看了很多别人安装graphite的文章,回馈下,写下自己的安装过程。1、查看系统版本cat/proc/versionLinuxversion4.4.10-1-pve(root@elsa)(gccversion4.9.2(Debian4.9.2-10))2、git下载源码Graphite-web:gi
- 【Linux】-Pve下的Nginx安装
前鼻音太阳熊
Linuxlinuxnginx运维
linuxpve系统安装nginxpve系统和普通系统的区别核心定位与功能差异PVE:是专为虚拟化场景设计的Linux发行版,内置KVM虚拟机和LXC容器管理功能,提供统一的Web界面及集群管理能力,支持高可用性、虚拟机迁移等企业级特性23。普通Linux:作为通用操作系统,需通过手动安装KVM、Docker等工具实现虚拟化/容器化功能,缺乏原生的集中式虚拟化平台管理界面67。系
- nginx 使用与编译
云满笔记
#opsnginxbuildmodulesconfcompile
目录1.nginx使用与编译1.1.nginx版本1.2.常用命令1.3.常用脚本1.3.1.清空日志1.3.2.显示进程1.3.3.启动1.4.Nginx模块1.4.1.动态加载模块1.4.2.模块编译1.4.3.http_gzip_module和http_gzip_static_module1.5.源码编译nginx1.5.1.nginx的一些编译参数1.5.2.Debian自带的nginx1
- Nginx编译安装
寰宇001
下载、解压Nginxcd/usr/local/srcwgethttp://nginx.org/download/nginx-1.8.0.tar.gztar-zxvfnginx-1.8.0.tar.gz2.编译安装Nginxcd/usr/local/src/nginx-1.8.1配置编译参数./configure\–prefix=/usr/local/nginx\–with-http_realip_
- fastfds文件服务器搭建
酸辣菜菜鱼
linuxnginxfastdfsjava
文章目录1.fastfds文件服务器搭建1.1环境准备1.2环境编译1.3磁盘目录1.4安装libfascommon1.5安装FastDFS1.6安装fastdfs-nginx-module1.7安装nginx1.8配置文件1.8.1tracker配置1.8.2storage配置1.8.3配置nginx2启动2.1关闭防火墙2.2启动tracker2.3启动storage2.4启动nginx2.4
- nginx相关安装配置
不想做猿的猿
Linux相关linuxnginx
安装:#yuminstallgccgcc-c++makeautomakeautoconflibtoolpcrepcre-develzlibzlib-developensslopenssl-devel3、下载Nginx#cd/usr/local/src/#wgethttp://nginx.org/download/nginx-1.13.0.tar.gz4、编译安装Nginx#cd/usr/local
- 使用nginx+lua+Redis实现缓存预热、二级缓存查询、多级缓存查询
c.小白
nginxredislua缓存
使用nginx+lua+Redis实现缓存预热、二级缓存查询、多级缓存查询安装好Lua、Redis、openresty(默认安装了nginx)。lua安装在linux系统中执行下面的命令1.yuminstall‐ygcc2.yuminstalllibtermcap‐develncurses‐devellibevent‐develreadline‐devel3.curl‐R‐Ohttp://www.
- Nginx开启目录浏览功能时加密码的方法
wjf63000
nginxlinuxcentos
环境:CentOS71.安装工具sudoyuminstallhttpd-tools2.创建密码文件和用户使用htpasswd命令来创建密码文件并添加用户。以下命令会创建一个名为.htpasswd的文件,并添加一个名为your_username的用户。sudohtpasswd-c/etc/nginx/.htpasswdyour_username执行上述命令后,系统会提示你输入并确认该用户的密码。如果
- 域名变更解析后Nginx不生效
longze_7
服务器nginx域名DNSip
域名变更解析后不生效:在域名变更解析后,DNS解析的生效时间可能会有所延迟。通常,新增解析一般会在10分钟左右生效,最长不会超过24小时。因此,在等待10分钟后,再新建Nginx站点,以确保Nginx站点指向的是已生效的IP地址。新建站点仍未生效可尝试重启Nginx
- Nginx正向代理HTTPS配置指南(仅供参考)
他不爱吃香菜
运维httpnginxhttps网络网络协议信息与通信tcp/ip
要使用Nginx作为正向代理访问HTTPS网站,需通过CONNECT方法建立隧道。以下是操作详细步骤:1.安装Nginx及依赖模块需要模块:ngx_http_proxy_connect_module(支持CONNECT方法)。安装方式:需重新编译Nginx。bash复制#下载Nginx源码和模块wgethttp://nginx.org/download/nginx-1.24.0.tar.gztar
- K8s 1.27.1 实战系列(十一)ConfigMap
白昼ron
K8skubernetes容器云原生ConfigMapK8s环境变量注入
ConfigMap是Kubernetes中管理非敏感配置的核心资源,通过解耦应用与配置实现灵活性和可维护性。一、ConfigMap的核心功能及优势1、配置解耦将配置文件(如数据库地址、日志级别)与容器镜像分离,支持动态更新而无需重建镜像。2、多形式注入环境变量:将键值对注入容器环境变量。文件挂载:以文件或目录形式挂载到容器文件系统(如Nginx的conf.d)。命令行参数:通过环境变量间接传递配置
- 守护你的网络堡垒:Nginx限速策略对抗DDoS攻击
墨夶
Nginx学习资料1网络nginxddos
在当今互联网安全威胁日益严峻的背景下,分布式拒绝服务(DDoS)攻击已经成为许多网站和服务提供商的心头大患。这些攻击通过大量恶意流量淹没服务器资源,导致正常用户无法访问服务,给企业带来巨大的经济损失和声誉损害。而作为一款高效、稳定的Web服务器和反向代理服务器,Nginx凭借其内置的限流机制,成为抵御DDoS攻击的第一道防线。本文将深入探讨如何利用Nginx的限速功能来构建坚固的安全屏障,保护您的
- centos7正式服务器部署uwsgi+nginx+django项目-亲身研究[斜眼笑]
pyswt
Djangocentospythonnginxcentos
服务器是centos7的,首先从安装python3开始安装依赖包yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgcc*make-y然后安装python3wgethttps://www.python.org/ftp/python/3.5.2/Python-3.5.2
- ECS搭建nginx服务器在阿里云
m0_63984008
服务器阿里云windows
需要搭建自己的服务器除了使用本地PC外,我们还可以使用阿里、腾讯、新浪等平台提供的云服务器。本文主要记录在阿里云上运行Ubuntu系统搭建nginx服务器的过程。使用阿里云搭建nginx服务器总体需要以下几个步骤:1、注册阿里云平台账号2、购买开通ECS服务(开通时选择运行操作系统)3、在选择的操作系统上安装nginx程序(难点)4、配置并开启nginx服务器下面详细说明每个过程:1、注册账号:此
- Django解析跨域问题
信阳农夫
djangopython后端
跨域问题解决CORS(跨域资源共享,Cross-OriginResourceSharing)是一种跨域访问的机制,可让Ajax实现跨域访问。其实,在服务器的responseheader中,加入“Access-Control-Allow-Origin:*”便可支持CORS,很是的简单,apache/nginx等怎么配置,见参考文档。在Django中,有人开发了CORS-header的middlewa
- 运维:Centos8安装supervisor守护Nginx进程笔记
IT技术分享社区
Docker系列服务器linuxwindows运维
目录supervisor介绍1.1简介1.2工作原理1.3运行环境1.4supervisor组成2、安装配置步骤2.1执行安装命令2.2回车继续2.3启动supervisor服务2.4查看配置文件,并修改配置文件2.5创建守护nginx进程配置文件nginx.ini2.6添加配置文件后重启2.7停止掉自己服务器运行的nginx,使用Supervisor进行管理supervisor介绍1.1简介Su
- CentOS 7.9.2009安装Nginx1.26.0服务
军行_天下
centoslinux运维
一、下载和安装Nginx服务#安装wget软件[root@localhosthome]#yuminstallwget#安装Nginx所需要的依赖[root@localhosthome]#yuminstall-ygcc-c++zlibzlib-developensslopenssl-develpcrepcre-devel#下载Nginx安装包[root@localhosthome]#wget-cht
- 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