- 亿级流量架构网关设计思路,常用网关对比,写得太好了。。
wadfdhsajd
java后端框架大数据
什么是网关网关,很多地方将网关比如成门,没什么问题,但是需要区分网关与网桥的区别,网桥工作在数据链路层,在不同或相同类型的LAN之间存储并转发数据帧,必要时进行链路层上的协议转换。可连接两个或多个网络,在其中传送信息包。网关是一个大概念,不具体特指一类产品,只要连接两个不同的网络都可以叫网关,网桥一般只转发信息,而网关可能进行包装。网关通俗理解根据网关的特性,举个例子:假如你要去找集团老板(这儿只
- Lua语法详解之自带库
MagicianThirteen
Lua相关lua游戏开发unity3d
--自带库--string--table--时间print(os.time())--1601168290print(os.time({year=2020,month=9,day=25}))--1601006400--os.date("*t")传回来的是张表localnow=os.date("*t")print(now)--table:0x7fa99f604360for<
- 洛谷 P2157 [SDOI2009] 学校食堂
syzyc
动态规划动态规划状压dp
题目传送门前言第一次见这么新颖的dpdpdp,竟然可以从当前枚举的iii的前面或者后面转移过来,这不就有后效性了吗?好了开玩笑其实只要状态设计好,还是没有后效性的。思路状态设计首先Bi≤7B_i\leq7Bi≤7,所以肯定是状压dpdpdp,所以一定起码有两维:一维是当前枚举到的iii,一维是压缩后的状态sss(具体是什么等会说)。然后他又说【当前做的菜所用的时间】还和【前一个菜的口味】有关系,所
- 【技巧分享】开发环境配置Python、R、Stata
A线上仓库
python开发语言
自用,看心情更新~版本更新2024-03-131.0版本2024-09-25FIX:1.conda命令ADD:1.python调用r命令2.r系统配置2025-01-22更新VSCode调用Statado文件目录版本更新Python环境配置Cheatsheet基础配置可选:环境配置:conda命令包管理R环境配置基础配置R命令Python调用Method1:`rpy2`Stata环境配置基础配置P
- Linux 内核数据结构解析--哈希链表
Black8Mamba24
Linux内核数据结构
一、Hash表的基本定义1.1Hash的概念散列表(Hashtable,也叫哈希表),是一种数据结构,可以用于存储Key-Value键值对。也就是说,通过Key来映射到具体的Value。通常用于查找。将Key映射到Value的函数叫做Hash函数,而存储Key-Value的表叫做Hash表。Hasn表常用数组来存储。1.2常用的Hash函数1.3常用的处理碰撞的方法如果说存储空间是无线的,那只要定
- 深度剖析linux内核万能--双向链表,Hash链表模版
Engineer-Bruce_Yang
C语言-算法与数据结构编程C语言在开发中的应用
我们都知道,链表是数据结构中用得最广泛的一种数据结构,对于数据结构,有顺序存储,数组就是一种。有链式存储,链表算一种。当然还有索引式的,散列式的,各种风格的说法,叫法层出不穷,但是万变不离其中,只要知道什么场合用什么样的数据结构,那就行了。那么,标题说的内核万能链表,其实就是内核链表,它到底和我们平常大学学的数据结构的链表有什么不同呢??内核链表,是在linux内核里的一种普遍存在的数据结构,比如
- 25道Python练手题(附详细答案),赶紧收藏!_python题库
字节全栈_rJF
python开发语言
importrandomasrdnumber=rd.randint(0,100)foriinrange(10):choice=int(input("请输入你要猜测的数字:"))ifchoice>number:print("你猜大了")elifchoice0and5*x+3*y+z/3==100:count+=1print("="*60)print(f'第{count}种买法,公鸡买了{x}只,母鸡
- Google的BeyondCorp 零信任网络
yinhezhanshen
网络
Google的BeyondCorp是一种零信任安全框架1。简单来说,就是抛弃了传统的以网络边界为基础的安全防护模式,不再认为只要在企业内部网络里就都是安全的,而是把访问控制的重点放在每个用户和设备上。产生背景过去企业常用防火墙等构建安全边界,认为边界内是安全的,边界外有威胁。但随着网络发展,边界变得模糊,攻击技术演进,边界防护效果变差,内部也会出现安全问题。在这种情况下,Google提出了Beyo
- 集成学习(随机森林)
herry57
数学建模大数据随机森林集成学习
目录一、集成学习概念二、Bagging集成原理三、随机森林四、例子(商品分类)一、集成学习概念集成学习通过建⽴⼏个模型来解决单⼀预测问题。它的⼯作原理是⽣成多个分类器/模型,各⾃独⽴地学习和作出预测。这些预测最后结合成组合预测,因此优于任何⼀个单分类的做出预测。只要单分类器的表现不太差,集成学习的结果总是要好于单分类器的二、Bagging集成原理分类圆形和长方形三、随机森林在机器学习中,随机森林是
- COMP3411/9814 Artificial Intelligence
W_X_99515681
人工智能
COMP3411/9814ArtificialIntelligenceTerm1,2025Assignment1–Search,PruningandTreasureHuntingDue:Friday21March,10pmMarks:25%offinalassessmentInthisassignmentyouwillbeexaminingsearchstrategiesforthe15-puzz
- pythontype函数使用_Python astype(np.float)函数使用方法解析
weixin_39870238
pythontype函数使用
Pythonastype(np.float)函数使用方法解析我的数据库如图结构我取了其中的nameagenr,做成array,只要所取数据存在str型,那么取出的数据,全部转化为str型,也就是array阵列的元素全是str,不管数据库定义的是不是int型。那么问题来了,取出的数据代入公式进行计算的时候,就会类型不符,这是就用到astype(np.float)代码如下importpymysqlim
- Milvus学习整理
louisliao_1981
milvus学习
Milvus学习整理一、度量类型(metric_type)二、向量字段和适用场景介绍三、索引字段介绍(一)、概述总结(二)、详细说明四、简单代码示例(一)、建立集合和索引示例(二)、搜索示例(三)、参考文档五、数据搜索(一)、基础搜索参数说明(二)、范围搜索1.概述总结2.详细说明(三)、全文搜索(BM25)1.概述2.使用全文搜索步骤(四)、其他搜索一、度量类型(metric_type)相似度量
- 第8章:Docker数据持久化与卷管理
DogDog_Shuai
dockereureka容器
第8章:Docker数据持久化与卷管理作者:DogDog_Shuai阅读时间:约25分钟难度:中级目录1.引言2.Docker数据持久化概述3.Docker卷管理4.数据卷容器5.绑定挂载6.临时文件系统
- 文件系统(File System — FS)
夏L.
linux运维服务器
概念文件系统是Linux内部用来管理磁盘上文件的一套系统,主要体现在文件的存取、查找功能(本身是一套软件,对磁盘上存放的文件进行管理)。内核(Kernel)内核是操作系统内部最核心的软件。查看内核版本uname-r内核作用对CPU进行调度管理对内存进行分配管理对进程进行管理对文件系统进行管理对其他硬件进行管理内核中XFS文件系统存放地址/usr/lib/modules/3.10.0-1160.el
- Leetcode 160 Intersection of Two Linked Lists
xxxmmc
leetcode算法双指针
题意给定两个链表,找这两个链表第一个公共节点,如果没有返回nullptr题目链接https://leetcode.com/problems/intersection-of-two-linked-lists/description/题解两个指针分别从两个链表(记录为表A,表B)的表头出发,并且记录到表尾移动的步数,得到两个指针移动的步数之差xxx。步数之差为正数,那么把表A的指针移动xxx步,否则移
- 力扣 160 - Intersection of Two Linked Lists. (相交链表) Python双指针
小杨快没头发了
Leetcode刷题
力扣160-IntersectionofTwoLinkedLists.(相交链表)Python双指针原题地址:https://leetcode.com/problems/intersection-of-two-linked-lists/Giventheheadsoftwosinglylinked-listsheadAandheadB,returnthenodeatwhichthetwolistsi
- LeetCode 160 Intersection of Two Linked Lists(链表)
nudt_oys
数据结构LeetCode
Writeaprogramtofindthenodeatwhichtheintersectionoftwosinglylinkedlistsbegins.Forexample,thefollowingtwolinkedlists:A:a1→a2↘c1→c2→c3↗B:b1→b2→b3begintointersectatnodec1.Notes:Ifthetwolinkedlistshavenoin
- [LeetCode]--160. Intersection of Two Linked Lists
杜鲁门
LeetCodeLeetCode算法分析leetcode链表相同尾部算法链表遍历算法算法遍历
Writeaprogramtofindthenodeatwhichtheintersectionoftwosinglylinkedlistsbegins.Forexample,thefollowingtwolinkedlists:A:a1→a2↘c1→c2→c3↗B:b1→b2→b3begintointersectatnodec1.Notes:Ifthetwolinkedlistshavenoin
- 【江协STM32】11-2/3 W25Q64简介、软件SPI读写W25Q64
冰糖雪莲IO
stm32嵌入式硬件单片机
1.W25Q64简介W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景存储介质:NorFlash(闪存)时钟频率:80MHz/160MHz(DualSPI)/320MHz(QuadSPI)存储容量(24位地址):W25Q40:4Mbit/512KByteW25Q80:8Mbit/1MByteW25Q16:16Mbit/2MByteW25Q
- 25. 策略模式
智想天开
设计模式详解策略模式bash开发语言
原文地址:策略模式更多内容请关注:智想天开1.策略模式简介策略模式(StrategyPattern)是一种行为型设计模式,它定义了一系列算法,将每一个算法封装起来,并使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户。通过引入策略模式,可以在不修改客户端代码的情况下,动态地更改对象的行为。关键点:算法封装:将不同的算法封装到独立的策略类中。互换性:策略类可以相互替换,客户端可以根据需要选
- 统一的视频动作模型
三谷秋水
计算机视觉机器学习人工智能计算机视觉深度学习机器学习人工智能
25年3月来自斯坦福大学的论文“UnifiedVideoActionModel”。统一的视频和动作模型对机器人技术具有重大意义,其中视频为动作预测提供丰富的场景信息,而动作为视频预测提供动态信息。然而,有效地结合视频生成和动作预测仍然具有挑战性,当前基于视频生成的方法在动作准确性和推理速度方面难以与直接策略学习的性能相匹配。为了弥补这一差距,引入统一的视频动作模型(UVA),它联合优化视频和动作预
- unique_ptr 在异常安全方面怎样?
unique-ptr
std::unique_ptr在异常安全方面表现出色,主要得益于其基于RAII(ResourceAcquisitionIsInitialization,资源获取即初始化)的设计理念。以下是它在异常安全方面的具体表现和优势:自动资源管理std::unique_ptr在构造时接管资源,并在析构时自动释放资源。这意味着即使在异常抛出时,只要std::unique_ptr的析构函数被调用,它所管理的资源就
- Kotlin学习5.4:Map接口
CNwanku
Kotlin入门学习Kotlin
Kotlin学习5.4:Map接口Map接口简介不可变Map查询操作遍历操作可变MutableMap修改操作批量操作Map接口简介Map接口是一种双列集合,它的每个元素都包含一个键对象Key和一个值对象Value,键和值对象之间存在一种对应关系,称为映射。从Map集合中访问元素时,只要指定了Key就能找到对应的Value。Map集合中的元素是无序可重复的,Map集合与List、Set集合类似,同样
- BM25S 项目安装和配置指南
陆汝涓Marissa
BM25S项目安装和配置指南bm25sBM25Sisanultra-fastlexicalsearchlibrarythatimplementsBM25usingscipy项目地址:https://gitcode.com/gh_mirrors/bm/bm25s1.项目基础介绍和主要编程语言BM25S是一个快速实现BM25算法的开源项目,主要用于文本检索任务。BM25是一种广泛使用的排名函数,常用于
- 装Win11系统盘怎么分区?Win11分区教程
m0_70960708
笔记电脑
现在已经有越来越多的人安装Win11系统,但是进入系统后发现系统盘空间很大,想要进行分区,把一些空间分成新的磁盘,那么装Win11系统盘怎么分区?C盘其实只要够用就行,系统之家今天给大家讲讲Win11怎么给硬盘分区的教程。Win11分区教程1、桌面右键点击此电脑,在打开的菜单项中,选择【管理】。2、计算机管理窗口,点击左侧存储下的【磁盘管理】。
- Python模块化设计 ——函数调用
不解风情的老妖怪哎
Python程序设计题库pythonwindows开发语言
1.以下代码的输出结果是()。defyoung(age):if25=60:print(“作为一个老师,你可以退休了”)else:print(“作为一个老师,你很有爱心”)young(42)A、作为一个老师,你很年轻B、作为一个老师,你太年轻了C、作为一个老师,你可以退休了D、作为一个老师,你很有爱心答案:D。将实参42传递给函数形参变量age,之后进入多分支结构,依次判断,因为30<42<60,故
- Spring Boot集成Redis并设置密码后报错: NOAUTH Authentication required
ta叫我小白
JavaSpringBootRedisspringbootredis
报错信息:io.lettuce.core.RedisCommandExecutionException:NOAUTHAuthenticationrequired.Redis密码配置确认无误,但是只要使用Redis存储就报这个异常。很可能是因为配置的spring.redis.password没有被读取到。基本依赖:implementation'org.springframework.boot:spr
- 负载均衡策略 -- 轮询
Escape2022
Nginx
我们可以先来看一下,现在我们在工地上,老板呢找了三个人来搬砖。由于我们是使用的是轮询的策略,所以我们是这三个工地上的人在搬砖的时候,他们其实工作量是平均分配的。比如说我们有砖头来第一块,我们会交给第一个人去搬,第二块会交给第二个人,第三块会交给第三个人,三个为一组。到第四个的话,第四个还是会交给第一人,第五个会给第二个,第六个会给第三个人。如此循环往复的话,其实可以看到,我们只要有砖头来,它都是一
- 创建Datas
一一代码
python
核心数据结构创建DataFrame```pythonimportpandasaspd#从字典创建DataFramedata={'Name':['Alice','Bob','Charlie'],'Age':[25,30,35],'City':['NewYork','LosAngeles','Chicago']}df=pd.DataFrame(data)print(df)```输出:```NameAg
- Geotrust SSL证书和SymantecSSL证书哪个好?
weixin_34293246
网络
GeoTrust是全球第二大数字证书颁发机构(CA),也是身份认证和信任认证领域的领导者,GeoTrust始终坚持低成本地部署SSL数字证书和实现各种身份认证。其在2001年到2006年占领全球市场25%的市场分额,在全球150多个国家有超过10万个用户在使用GeoTrust的安全产品,为用户的网站信息进行保驾护航。Symantec作为信息安全领域全球领先的解决方案提供商,也是全球最大的信息安全厂
- 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