- 2022年河南省高等职业教育技能大赛云计算赛项竞赛赛卷(样卷)
忘川_ydy
云计算云计算openstackkubernetesdockerpythonk8sansible
#需要资源(软件包及镜像)或有问题的,可私博主!!!#需要资源(软件包及镜像)或有问题的,可私博主!!!#需要资源(软件包及镜像)或有问题的,可私博主!!!第一部分:私有云任务1私有云服务搭建(10分)使用提供的用户名密码,登录竞赛用的云计算平台,按要求自行使用镜像创建两台云主机,创建完云主机后确保网络正常通信,然后按要求配置服务器。根据提供安装脚本框架,补充脚本完成OpenStack平台的安装搭
- chrome扩展,“manifest_version“: 3, chrome 扩展图标点击事件
徐同保
chrome前端
在Chrome扩展中,从ManifestV3开始,后台脚本(backgroundscripts)被服务工作线程(serviceworkers)所取代。这改变了扩展图标点击事件(通常称为浏览器操作或者页面操作)的处理方式。在ManifestV3中,您需要使用chrome.action.onClicked监听器来处理扩展图标的点击事件。下面是一个如何设置扩展图标点击事件处理器的示例:在manifest
- Ai插件脚本合集安装包,免费教程视频网盘分享
全网优惠分享君
随着人工智能技术的不断发展,越来越多的插件脚本涌现出来,为我们的生活和工作带来了便利。然而,如何快速、方便地获取和使用这些插件脚本呢?今天,我将为大家分享一个非常实用的资源——AI插件脚本合集安装包,以及免费教程视频网盘分享。首先,让我们来了解一下这个AI插件脚本合集安装包。它是一个集合了众多AI插件脚本的资源包,涵盖了各种领域,如数据分析、自动化办公、智能客服等等。通过这个安装包,用户可以轻松地
- Redis分布式锁—SETNX+Lua脚本实现
Sahm5k
javaredis分布式lua
使用redis实现分布式锁,就是利用redis中的setnx,如果key不存在则进行set操作返回1,key已经存在则直接返回0。优点:设置expiretime过期时间,可以避免程序宕机长期持有锁不释放。redis作为一个中间服务,所有微服务都可见,满足分布式的需求。只需redis中原生setnx命令即可构建,实现简单。性能高效,redis数据在内存中。高可用,可以部署redis集群。加锁在red
- Azkaban各种类型的Job编写
__元昊__
一、概述原生的Azkaban支持的plugin类型有以下这些:command:Linuxshell命令行任务gobblin:通用数据采集工具hadoopJava:运行hadoopMR任务java:原生java任务hive:支持执行hiveSQLpig:pig脚本任务spark:spark任务hdfsToTeradata:把数据从hdfs导入TeradatateradataToHdfs:把数据从Te
- Linux初学(十)shell脚本
王依硕
Linuxlinux运维服务器
一、for循环1.1循环的格式for变量in列表do代码代码....done循环的逻辑:将列表中的每个元素逐一赋值给变量每赋值一次,do和done之间的代码就会执行一次1.2列表的生成方式方法1:直接给出列表元素【用空格分隔多个元素】133129hahabaidu方法2:用通配符来生成元素/home/a*方法3:用命令来生成元素ls/etc/方法4:用{}展开的形式生成元素{3..7}{a..e}
- 计算机常用端口号
王依硕
linux服务器ssh
ftp:(20端口)用于ftp服务,用于数据传输。ftp:(21端口)用于文件上传和下载。ssh:(22端口)用于安全Shell访问和文件传输。telnet:(23端口)用于远程命令行计算机管理。smtp:(25端口)用于发送电子邮件。dns:(53端口)用于域名解析。dhcp:(67和68端口)用于动态分配IP地址和配置网络参数。tftp:(69端口)使用udp连接。finger:(79端口)是
- centos7中的MySQL安装
老伙子53
mysql数据库
centos7中的MySQL安装一、MySQL5.7.17安装脚本#!/bin/bashcd/rootmkdirmysql_tarwgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.17-1.el7.x86_64.rpmwgethttps://downloads.mysql.com/ar
- 【Python】 Python脚本实现某平台视频流下载
音乐学家方大刚
Python爬虫pythonchrome开发语言
亲爱的玛丽我会想念着你我是多么的讨厌分离加油站旁的海鸥机场路上的松柏挥挥手眼泪就落下来我多想和那些光阴永远住下来我不能我不能赵雷《玛丽》在视频内容的分发上,m3u8格式的视频流越来越常见。它将视频切分成多个小片段(TS文件),然后通过索引文件(m3u8文件)来组织播放顺序,有效地支持了视频的流式传输。这篇博客将引导您使用Python脚本来下载m3u8格式的视频流,并将其合并成一个单一的视频文件。准
- go的Job Scheduling
~kiss~
gogolang开发语言后端
背景司内线上服务有很多异步脚本,大量冗余代码,管理很不方便急需一个美丽的框架,让代码变得美好包gogetgithub.com/go-co-op/gocron/v2介绍gocronisajobschedulingpackagewhichletsyourunGofunctionsatpre-determinedintervals.概念JobJob封装(encapsulates)一个“任务task”,它
- Redis+Lua脚本实现分布式服务的限流
henry_2016
Redis分布式redislua
背景限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务。开始打算使用GuavaRateLimiter来实现限流,但RateLimiter是局限于单机中使用,然后打算使用Redis+Lua脚本实现限流。1提供调用的接口@Slf4j@RestController@RequestMapping("/rateLimter")publiccl
- Linux系统定时备份mysql数据库
er_得一
数据库mysqloracle
1、创建shell脚本mysql_db_backup并赋予执行权限#!/bin/bash#备份目录BACKUP=/data/backup/db#当前时间DATETIME=$(date+%Y-%m-%d_%H%M%S)echo$DATETIME#数据库地址HOST=localhost#数据库用户名DB_USER=root#数据库密码DB_PW=pwd@123#备份的数据库名DATABASE=Apol
- haproxy的无缝热重启的实现原理
码农心语
高性能c++开发LINUXhaproxyseamlessreload无缝热重启
目录1.引言2.HAPROXY的准无缝热加载方案3.支持零宕机时间、零延迟的热加载方案3.1multibinder的实现3.2HAProxy启动脚本包装器的实现1.引言 在构建高可用的负载均衡架构时,HAProxy(HighAvailabilityProxy)作为一种可靠而强大的解决方案,被广泛应用于各种网络服务负载均衡环境中。HAProxy通过分发请求到多个后端服务器,实现了负载均衡和故障恢复
- [unity]使用EditorUtility.CopySerialized复制脚本时要注意脚本中对其他物体的引用
lang_dye
unityunity
A和B互相引用,使用EditorUtility.CopySerialized复制后得到C和D后,C引用的是B,D引用的是A,这时C和D的引用需要重新指定。
- 用shell脚本连接远程虚拟机判断远程虚拟机上的应用服务在不在返回状态
qq_33192454
linux
为了编写一个Shell脚本,用于连接远程虚拟机并检查其上的应用服务状态,你可以使用SSH连接到远程虚拟机并执行相关的命令。以下是一个简单的Shell脚本示例:#!/bin/bash#远程虚拟机信息REMOTE_USER="your_username"REMOTE_IP="remote_ip_address"REMOTE_COMMAND="systemctlstatusyour_service_na
- jmeter获取返回json参数个数
海纳百川_9dc7
我们在用jmeter做测试的时候,返回很多json数据,然后呢想要从中取出某个参数的数量,人工取数的情况下,会很繁琐。因此必须借助正则提取器。操作如下:配置线程组:然后配置正则表达式提取器:2转载:正则表达式提取器说明再用jmeter后置BeanShellPostProcessor3importcom.eclipsesource.json.*;importjava.util.regex.Match
- 【1104Day63】复盘翻盘
狸老撕
[月亮]【今日回顾】001今天干了啥退掉网购的衣服去婆婆家吃饭完成亲子手工作业心理课学习、听书002今日输入/输出了啥剽悍晨读(睡出生产力)(激素的威胁)武志红的心理课《读懂你的人生的脚本》、问答及预习听书《异类》复盘003今天为健康美腻努力了咩?今天休息睡了个傍晚小觉【经验/教训/流程总结】看了一些健身方面的文章,都是说每周运动3~4次最佳,不由地感到自己天天运动有些疲惫,身体和思想上都有点儿累
- 排序方法总结
wx20041102
排序算法算法数据结构
下列具体实现了希尔排序插入排序快速排序归并排序(包括递归和非递归)如若有任何不懂之处,欢迎评论,我会尽我之力解答希尔排序:总结:对gap的运用voidShellSort(int*nums,intnumsSize){inti=0;intend=0;inttemp=0;intgap=numsSize;while(gap>1){gap=gap/3+1;//+1是为了保证最后gap为1,进行插入排序,从而
- 关闭蓝牙hci日志
开心呆哥
数据库
@echooff::1.获取最开始的文件夹路径set"Start_BT=%~dp0"for/f%%Ain('powershell-Command"Get-Date-Formatyyyy_MMdd_HHmmss"')doset"timestamp=%%A"echoTimestamp:%timestamp%titleSet_Debug_Set_HCI_LOG%timestamp%::打开工程模式adb
- 网页有效防止XSS,SQL注入,木马文件拦截上传等安全问题
程序员贵哥
网络安全xsssql安全网络安全web安全php
网络安全问题一直是备受关注的话题,其中跨站脚本攻击(XSS)、SQL注入和木马文件上传是常见的安全威胁。下面我将详细介绍这些安全问题。首先是跨站脚本攻击(XSS)。XSS攻击是一种利用网站漏洞,将恶意脚本注入到用户浏览器中并执行的攻击方式。攻击者可以在网站中插入恶意脚本,当用户浏览该网站时,恶意脚本会被执行,从而窃取用户的敏感信息或执行其他恶意操作。XSS攻击可以分为反射型、存储型和DOM-bas
- Linux .bashrc .bash_profile 和 .profile之间的区别
zoutao98
Linuxbashlinux开发语言
1概述bashshell使用一些启动文件去设置环境变量,这些启动文件为shell本身和系统用户确定某些bashshell配置,在本文中,我们将了解.bashrc.bash-profile和.profile之间的区别。2交互式和非交互式shellBash在交互式shell中提供了两种模式选项,登录和非登录(loginandnon-login)。当我们使用ssh登录到系统时,我们得到一个交互式登录的s
- CI/CD脚本简介,YAML介绍,Editor解析
刘姥姥爱学习
日常开发-pythonci/cdgitgithubyaml
说明:此篇文章纯概念,没有实际操作,实际操作请蹲下一篇!CI/CD理解这段代码是用于配置GitLabCI/CD(ContinuousIntegration/ContinuousDeployment)的YAML语法。GitLabCI/CD是一种自动化软件,用于自动化软件的构建、测试和部署过程。下面是对这段代码的详细解释和翻译配置项描述stages定义了CI/CD流程中的三个阶段:合并请求阶段(mer
- 【shell常用指令整理】
半夏知半秋
linuxlinux开发语言
shell常用指令整理greplessmorecatawknetstattailfheadpstopdudffindsedgrep用于在文件中搜索指定模式的内容greptrace-ctest.log:查看test.log中匹配到trace的个数greptrace-c*-l:查看所有文件中匹配到trace的文件名greptrace-C5test.log:查看test.lua中所有匹配到trace所在
- 集群方式下的java Redis锁 lua脚本
成长之旅
后端java
下面说一下集群方式redis下的原子锁带超时时间java代码如下:Listkeys=Collections.singletonList("test_key1");System.out.println("打印前::"+jedisCluster.get("test_key1"));//获取lua脚本这里你可以所以我是放在META-INF/scripts/redis/test.lua路径下,//获取到之
- Linux shell脚本切换为root用户执行命令
红色石榴
linux
首先安装expect。sudoaptinstallexpect创建shell脚本文件,示例内容如下:#!/usr/bin/expectspawnsurootexpect{"密码:"{send"00000\r"}"Password:"{send"000000\r"}}send"./user_app\r"expecteofexit其中,"000000\r"是root用户密码。send语句用于向终端传递
- Lua入门
Lodger007
GameDevelopmentlualinuxc++windows脚本dll
翻译自http://gamedevgeek.com/tutorials/getting-started-with-lua/Lua入门Lua是一个被设计成用于扩展C/C++编程的轻量级脚本语言。不幸的是,网上很少有关于这个语言的在线教程。我主要通过阅读其源代码来了解它是怎样工作并且通过一些发布的程序学习它。希望,通过下面的教程,会让学习Lua更加简单。本教程涵盖了Lua5.1。在Lua的每一个版本中
- Linux mkswap命令教程:如何设置Linux交换区(附实例详解和注意事项)
我要下东西噢
linuxlinux运维服务器
Linuxmkswap命令介绍mkswap命令用于在设备或文件上设置Linux交换区。设备参数通常是磁盘分区(例如/dev/sdb7),但也可以是文件。Linux内核不查看分区ID,但许多安装脚本假定十六进制类型82(LINUX_SWAP)的分区是交换分区。Linuxmkswap命令适用的Linux版本mkswap命令适用于所有主流的Linux发行版,包括Debian、Ubuntu、Alpine、
- 【软件测试】如何设计自动化测试脚本
咖啡加剁椒④
软件测试软件测试功能测试自动化测试程序人生职场和发展
软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)【持续更新最新版】-CSDN博客企业中如何设计自动化测试脚本呢?今天我们就来为大家分享一些干货。一、线性设计线性脚本设计方式是以脚本的方式体现测试用例,是一种非结构化的编码方式,多数采用录制+回放的方式,测试工程师通过录制+回访的访问对被测系统进行自动化测试,录制的脚本会产生某些冗余的代码内容或函数及脚本。线性设计
- 软件测试 - postman高级使用
咖啡加剁椒⑧
软件测试postmanlua测试工具软件测试自动化测试程序人生功能测试
断言概念:让程序代替人判断测试用例执行的结果是否符合预期的一个过程特点:postman断言使用js编写,断言写在postman的tests中tests脚本在发送请求之后执行,会把断言的结果最终在testresult中进行展示常用的postman提供的断言片段有以下几个:statuscodeis200:断言响应状态码是否为200JSONvaluecheck:断言响应体json数据校验contains
- cmake 报错: could not open ‘kernel32.lib‘: no such file or directory
meluobote
环境配置c++
首次用helloworld想配置cmake。powershell下执行cmake..-G"MinGWMakefiles"报的这个错。因为查到这个库是windows下的,于是想着换成Unix试下。执行:cmake..-G"UnixMakefiles"成功cmake版本:cmakeversion3.29.0-rc2CMakesuitemaintainedandsupportedbyKitware(ki
- 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