- Redis--单线程模型
04Koi.
Redisredis数据库缓存
目录一、引言二、Redis单线程模型三、原因四、为什么redis是单线程模型,但他的速度这么快?五、总结一、引言本篇文章就Redis为什么是单线程模型做简单介绍。二、Redis单线程模型redis只使用一个线程,处理所有的命令请求,但是不是说redis服务器内部真的就只有一个线程,其实也有多个线程,这些线程在处理网络IO。假设同时有两个客户端向redis服务器发送了命令请求,但是redis还是会将
- 记录windows下VS2017调试ubuntu下面的C++项目
yywork2009
技术杂项
本文仅记录以备忘记,同时也帮助更多的人环境从(ubuntu)vim+gdb+makefile提升到(win10)vs2017,体验直接起飞==-步骤0,结合这篇博文,和我的步骤一起看,肯定能配置好远程调试的https://blog.csdn.net/u013272009/article/details/81023594-步骤1,确认vs2017有安装远程调试linux下的功能找到vs2017安装路
- 华为服务器虚拟化巡检报告,pc服务器巡检报告
保贝说保
华为服务器虚拟化巡检报告
pc服务器巡检报告内容精选换一换JMeter测试报告提供实时、离线两种类型的测试报告,供用户随时查看和分析测试数据。JMeter测试报告说明如表1所示。本测试报告展现了测试过程中被测系统在模拟高并发用户的响应性能,为了更好的帮助您阅读测试报告,我们提供以下信息供您参考:统计维度:本报告的RPS,响应时间、并发等统计维度均为单个线程组,如线程组中有请求多个报文,只有在多个云桌面支持多种终端登录方式(
- Qt是不是经常写个QWidget输入参数?
南瓜大师-阿亮
QtFunctionqt开发语言C++
发现Qt自带的一个输入控件QInputDialog类QInputDialog类提供了一个简单方便的对话框,用于从用户获取单个值。输入值可以是字符串、数字或列表中的项。必须设置一个标签来告诉用户他们应该输入什么。提供了五个静态方便函数:getText()、getMultiLineText()、getInt()、getDouble()和getItem()。所有的函数都可以以类似的方式使用boolok;
- DS-3KM220250226 3K引擎修复版传奇2025版完整源码搭建教程
legendji
oracle数据库delphi开源
DS-3KM2202502263K引擎修复版传奇2025版完整源码搭建教程本文将详细介绍如何搭建DS-3KM2202502263K引擎修复版传奇2025版,确保能顺利运行游戏。一、前期准备1.环境配置在服务器或本地电脑上安装以下必要环境:操作系统:WindowsServer2012/2016/2019或Windows10/11(建议使用64位)数据库:MicrosoftSQLServer2008及
- node.js 文件上传_如何在Node.js中处理文件上传
cuk0051
nodejsvuepythonjavadjangoViewUI
node.js文件上传InhowtouploadafileusingFetchIexplainedhowtouploadafiletoaserverusingFetch.在如何上传使用取文件我解释如何将文件上传到使用服务器获取。InthispostI’mgoingtoshowyoupart2:howtouseNode.js,andinparticularExpress,tohandleupload
- django app中的models迁移问题根治方法
kunkun_1230
djangodjango数据库
今天想给某个app里添加一张表,但是忽略了主键冲突问题,再想改的时候就一直提示Youaretryingtoaddanon-nullablefield‘id’tosensorconfigalllogwithoutadefault;wecan’tdothat(thedatabaseneedssomethingtopopulateexistingrows).Pleaseselectafix:Provid
- java面试题-微服务(一)
qq_51598807
java面试题大全微服务云原生
一、相关概念1、什么是集群集群是指将多台服务器集中在一起,每台服务器都实现相同的业务,做相同的事,一起来工作,从而提高工作能力。可以分散服务器压力解决高并发的问题,同时也能预防单节点故障,即一台服务器故障不影响其他服务器正常运行,但没有解决单体应用代码臃肿,业务复杂,维护性差等等问题。2、什么是负载均衡使用了集群后,解决高并发同时有一个新的问题,就是客户端的请求如何分配到多台服务。因此需要通过负载
- spring boot 是如何加载配值文件的
花花进修
springbootspringboot
publicSpringApplication(ResourceLoaderresourceLoader,Class...primarySources){this.sources=newLinkedHashSet();this.bannerMode=Mode.CONSOLE;this.logStartupInfo=true;this.addCommandLineProperties=true;th
- Elasticsearch常用命令
墨明&棋妙
elasticsearchspringcloud全文检索搜索引擎
1、安装教程windows环境下elasticsearch安装教程(超详细)-hualess-博客园(cnblogs.com)Elasticsearch下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.18-windows-x86_64.zip2、安装分词器,elasticsearch-anal
- 黑马头条项目微服务启动时控制台给出警告信息SLF4J Class path contains multiple SLF4J bindings
聂 可 以
JavaSpringBoot黑马头条javaspringboot微服务
文章目录1.错误呈现2.错误产生的原因3.解决办法(可应用于其它微服务)3.1排除Log4j2的依赖3.2引入Logback的依赖3.3重启项目视频教程:Day1-12-app端登录-功能实现1.错误呈现SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foundbindingin[jar:file:/F:/MavenRepository/ch/
- centos7中LNMP架构部署
m0_45318174
linux
一.环境规划IP角色192.168.19.152PHP脚本程序解析192.168.19.20Web服务器192.168.19.153数据库节点系统采用:[root@nebulalinux~]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)软件版本:nginx:nginx/1.15.0php:PHP7.4.8mysql:8.0.16处理防
- JavaWeb——html表单与CSS
anrui0
JavaWeb入门学习
html表单介绍概念:用于采集用户输入的数据,用于和服务器交互。使用的标签:from。用于定义表单。可以定义一个范围,范围代表采集用户数据的范围。表单属性:1.action:指定提交数据的URL。2.method:指定提交的方式。method分类:一共7种,两种比较常用get:1.请求的参数会在地址栏中显示。2.请求参数的长度是有限制的。3.不太安全post1.请求的参数不会再地址栏中显示。2.请
- WebSocket调试神器对决:Apipost VS Apifox
你以为所有API工具都能玩转WebSocket?当你的APP需要实时股票行情推送,当你的游戏要处理千人同屏交互,当你的IM系统必须保障消息零延迟——传统HTTP协议的"一问一答"模式瞬间破功。此刻WebSocket协议才是真正的救世主,这个全双工通信协议能让客户端与服务器建立"永不挂断的热线",但掌握这把利器的开发者们,却常常在调试环节摔得鼻青脸肿:▎传统调试:手写JavaScript+浏览器Co
- Orleans7.0 游戏服务器全栈开发实战
unity
本课程目标是从零开始搭建一套基于微软Orleans和DotNetty开源方案的游戏服务器框架,框架遵守Actor模型,可以充分利用多核,方便水平扩展。并且使用.NET平台,开发和部署都非常便捷。为了演示功能,也实现了一个简单的Unity客户端框架,最后使用这个框架实现了一个井字棋的对战小案例,来教会大家学以致用。这个案例演示了如何登录、开房间、匹配、对战、结算以及断线重连等一系列回合制游戏的关键节
- mac 升级 clang 版本的方式,从 15 到 16
clangcmacosc++
我要安装下面的开源项目:https://github.com/wernerturing/multi-delogohttps://github.com/wernerturing/homebrew-multi-delogo但是在安装的时候报错了brewinstallmulti-delogo报错如下:==>Cloninghttps://github.com/wernerturing/multi-delo
- AnolisOS 8.8 PostgreSQL 安装 POSTGRES_FDW
2401_83375581
postgresqloracle数据库
PostgreSQL安装POSTGRES_FDW插件postgres_fdw模块提供外部数据包装器postgres_fdw它可以用于访问存储在外部PostgreSQL服务器中的数据。使用postgres_fdw访问外部数据需要做以下几点准备:1、使用CREATEextension安装postgres_fdw扩展2、使用createserver创建外部服务器对象表示你所需要连接到的数据库3、使用cr
- 分布式和微服务的理解
涛粒子
分布式微服务架构
分布式系统概念:分布式系统是由多个通过网络连接的节点组成的系统,这些节点分布在不同的地理位置或计算机上,它们相互协作,共同完成一个或多个任务,对用户或外部系统而言,就好像是一个单一的、统一的系统。核心特性分布性:系统的组件分布在多个节点上,数据也可能分散存储在不同的地方。例如,一个大型电商系统的用户数据可能存储在一组数据库服务器上,而商品数据存储在另一组服务器上。并发性:多个节点可以同时处理不同的
- VMware ESXi 7.0 U3s 发布下载 - 领先的裸机 Hypervisor
esxi
VMwareESXi7.0U3s-领先的裸机HypervisorVMwareESXi7.0Update3Standard&AllCustomImageforESXi7.0U3InstallCD请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org产品简介VMwareESXi:专门构建的裸机H
- Linux 下使用traceroute来进行网络诊断分析
linux
简介traceroute命令是一种网络诊断工具,用于跟踪数据包从系统到目标服务器的路径。它有助于识别网络延迟和路由问题。安装Debian/Ubuntusudoaptinstalltraceroute-yRHEL/CentOSsudoyuminstalltraceroute-yFedorasudodnfinstalltraceroute-y示例用法基础用法发送具有增加的TTL(生存时间)值的数据包以
- docker离线安装及部署各类中间件(x86系统架构)
web13595609705
面试学习路线阿里巴巴docker中间件系统架构
前言:此文主要针对需要在x86内网服务器搭建系统的情况一、docker离线安装1、下载docker镜像https://download.docker.com/linux/static/stable/x86_64/版本:docker-23.0.6.tgz2、将docker-23.0.6.tgz文件上传到服务器上面,这里放在了/home下3、创建docker.service文件#进入/etc/syst
- 服务器目录结构作用和常用命令看这篇就够了!
萌萌哒草头将军
服务器运维
今天我来给大家介绍一下服务器的目录结构以及一些常用的基本命令。都是我从萌新开始的学到的常用知识!一、目录结构大多数服务器操作系统的目录结构遵循Linux的通用标准,也就是所谓的“文件系统层次结构标准”(FHS)。下面是一些常见的目录及其用途:/(根目录)这是整个文件系统的起点,所有的目录和文件都从这里开始。/bin存放系统中最基本的命令,比如ls、cp、mkdir等。这些命令在单用户模式下也是可用
- Ubuntu/Windows10下Putty使用ssh-x11远程启动桌面程序
新潮技术研究社
linux开源项目百万案例之路windows开发百万案例之路ssh服务器linux
问题描述:嵌入式板子通常需要远程ssh连接操作,包括linux服务器操作也是如此。那么如果要通过ssh登录的情况下,在终端直接一条命令,然后带有gui界面的程序就启动在Ubuntu、windows10的本地系统上,似乎有些不大可能。以往要么就是远程连接控制,要么就是vnc远程桌面,我之前一直都是这么干的。没想到还有个xmanager的程序能够直接通过xshell远程ssh直接启动带有界面的程序。倒
- UBUNTU 20.04 + ROS + yaml-cpp + eigen
aspirationmars
装机流程ubuntu
1.安装百度拼音输入法。**参考官方链接,不过问题是开机后可能出现internalerror。http://srf.baidu.com/site/guanwang_linux/index.html**安装google-pinyin,但是系统语言换成中文才能配置google-pinyin。https://blog.csdn.net/kan2016/article/details/105735645/
- VMware Fusion 虚拟机Mac版 安装CentOS 8 系统
甜于酸
虚拟机centoslinux运维
介绍CentOS是CommunityEnterpriseOperatingSystem的缩写,也叫做社区企业操作系统。是企业Linux发行版领头羊RedHatEnterpriseLinux的再编译版本(是一个再发行版本),而且在RHEL的基础上修正了不少已知的Bug,相对于其他Linux发行版,其稳定性值得信赖,广泛用于服务器、云计算、虚拟化等领域效果下载百度网盘:https://pan.baid
- 微软开发Web应用的架构研究
码农君莫笑
microsoft前端后端
微软开发Web应用的架构主要包括以下几种,每种架构都有其特点和适用场景:1.ASP.NETWebForms特点:事件驱动:采用事件驱动模型,类似于桌面应用程序的开发方式。控件丰富:提供大量服务器控件,可以快速构建UI。ViewState支持:通过ViewState在页面之间保持状态。耦合性高:页面和业务逻辑容易耦合,代码维护性较差。适用场景:适用于快速开发小型应用,或者需要使用控件库的传统应用。局
- 如何判断系统是否使用 Log4j,并检测漏洞的存在?
Aishenyanying33
log4j
前言Log4j的漏洞(Log4Shell)是近年来网络安全领域非常严重的问题,它的影响范围极广。为了保护系统安全,我们需要判断自己的系统是否使用了Log4j,以及是否存在相关漏洞。本文将详细介绍如何检测Log4j的使用,并通过输入测试字符串的方式来判断漏洞是否存在。1.如何判断系统是否使用了Log4j?方法1:检查系统代码或依赖查看代码库:在代码中搜索是否引用了Log4j,特别是类似org.apa
- MySQLvs Redis 事务:核心差异详解(简单易懂)
以恒1
redis数据库缓存
MySQLvsRedis事务:核心差异详解(简单易懂)一、事务定义对比特性MySQL事务Redis事务事务模型符合ACID(原子性、一致性、隔离性、持久性)非严格ACID,更接近“命令批处理”核心命令BEGIN,COMMIT,ROLLBACKMULTI,EXEC,DISCARD,WATCH设计目标保证数据强一致性实现命令批量执行的原子性底层实现基于日志(Redo/UndoLog)和锁机制基于命令队
- [Unity Mirror] 组件
RuntimeCube
UnityMirrorunity网络Mirror
这些核心组件包含在Mirror中:NetworkAnimatorNetworkAnimator组件允许您同步网络对象的动画状态。它同步来自AnimatorController的状态和参数。NetworkAuthenticator网络验证器有助于将用户帐户和凭据集成到您的应用程序中。NetworkDiscovery网络发现使用LAN上的UDP广播,使客户端能够找到正在运行的服务器并连接到它。Netw
- Gitea Enterprise 23.4.0 - 本地部署的企业级 Gti 服务
git
GiteaEnterprise23.4.0(Linux,macOS,Windows)-本地部署的企业级Gti服务ThePremierEnterpriseSolutionforSelf-HostedGitService请访问原文链接:https://sysin.org/blog/gitea/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org自托管Git服务的首要企业解决方案什么是Gi
- 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