- vue 动态加载插件及插件样式 解决插件样式造成的全局污染问题
看客随心
vue.js前端javascript
1工具方法/***动态加载第三方js.css*@param{*}src路径*@param{*}isCss是否为css文件*/exportfunctionasynLoad(src,isCss=false){returnnewPromise(res=>{if(isCss){letlist=Array.from(document.documentElement.getElementsByTagName(
- Linux基本指令3
N201871643
热门相关技术分享linux服务器网络
Linux基本指令3目录Linux基本指令3一、Linux文件系统管理二、Linux进程与服务管理三、Linux网络配置与诊断一、Linux文件系统管理1.文件系统概述-定义:Linux文件系统是操作系统用于控制数据存储和检索的方法。它通过文件和目录的结构来组织数据,并提供了操作这些数据的工具。-作用:管理用户数据、系统配置、日志文件等,确保数据的持久性和可靠性。-类型:ext4(默认)、xfs、
- 数据结构 -- 字符串
_安晓
数据结构数据结构
字符串串的定义串,即字符串(String)是由零个或多个字符组成的有限序列,一般记为S=‘a1a2a3a4’(n≥0)其中,S是串名,单引号括起来的是字符序列是串的值;ai可以是字母、数字或是其他字符;串中字符的个数n称为串的长度。n=0时的串称为空串(用∅表示)。例:(不同语言可能使用的边界符不同,Java、c等使用双引号(“”)Python等使用单引号(’‘))S="HelloWorld!"T
- 数据架构与机器学习:如何构建智能系统
AI天才研究院
AI大模型应用入门实战与进阶大数据人工智能语言模型AILLMJavaPython架构设计AgentRPA
1.背景介绍机器学习(MachineLearning)是一种使计算机程序在未被明确编程的情况下,通过经验的学习自动改善其行为的技术。机器学习的目标是使计算机能够自主地从数据中学习,以便在未来的问题中做出更好的决策。数据架构(DataArchitecture)是一种用于有效管理、存储和处理数据的系统结构和组件。数据架构涉及到数据的收集、存储、处理和分析,以及数据的存储和传输。数据架构是构建智能系统的
- Flask-ORM方式操作Mongodb
Enougme
Flaskmongodbflask
前言在实际项目中,我们有时需要存储一些json类型的字符串,这种类型的数据写入到关系型数据库,会比较麻烦。一般我们将其写入到非关系型数据库中,例如MongoDB,同样我们也可以用操作关系型数据库的ORM方式操作MongoDB。1:配置文件的(settings.py)MONGODB_SETTINGS=[{'db':'api_params','host':MONGO_DB,'port':27017,"
- Redis 源码分析-内部数据结构 robj
笨手笨脚の
#Redisredis数据结构数据库redisObject44字节embStrraw
Redis源码分析-内部数据结构robjRedis中,一个database内的这个映射关系是用一个dict来维护的(ht[0])。dict的key固定用一种数据结构来表达就够了,即动态字符串sds。而value则比较复杂,为了在同一个dict内能够存储不同类型的value,这就需要一个通用的数据结构,这个通用的数据结构就是robj(全名redisObject)。#defineLRU_BITS24/
- STL--list基本使用
csdnjiajiac
C++学习语言学习笔记c++开发语言
目录一.基本概念二.基本使用1.list构造2.list赋值与交换3.list的大小操作4.list插入和删除5.list数据存取6.list反转和排序一.基本概念**功能:**将数据进行链式存储**链表**(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于**双向
- HarmonyOS NEXT 获取当前位置信息
架构教育
在鸿蒙原生开发中,位置信息属于半开放隐私信息,开发中要想获取当前设备信息,需要向用户弹框申请权限及需要再module.json5添加权限列表"requestPermissions":[{"name":"ohos.permission.LOCATION","reason":"$string:permissionsReason","usedScene":{"abilities":["EntryAbil
- 嵌入式AI必备技能2-模型的压缩与加速
奥德彪123
嵌入式AI人工智能嵌入式
嵌入式AI必备技能2-模型的压缩与加速引言随着嵌入式AI设备的广泛应用,模型的计算效率和存储需求成为核心挑战。由于嵌入式系统通常资源受限,传统的深度学习模型往往难以直接部署。因此,模型压缩和加速技术应运而生,旨在减少计算量、降低存储需求,同时尽可能保持模型的准确性。本文介绍几种常见的模型压缩与加速方法,包括剪枝、低秩分解、量化、权值共享、知识蒸馏等,并探讨如何综合应用这些技术来优化AI模型。1.常
- QT中读取QSetting文件
Хайде
qt开发语言
1.ini文件的格式头文件#include#include#include#include2.读文件//ini文件的读取voidiniTest::readIniFile(QStringfilePath){//1.打开ini文件QSettingsm_iniFile(filePath,QSettings::IniFormat);//2.获取所有的分组QStringListgroupList=m_ini
- redis的zset命令总结
脱氨垃圾
Redisredis数据库database
redis的zset命令总结文章目录redis的zset命令总结1.zadd2.zrem3.zcard4.zrange5.zrevrange6.zrangebyscore7.zrevrangebyscore8.zcount9.zrank10.zscorezset(sortedset:有序集合)Rediszset和set一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联
- HashMap 中的 key 值类型
百里自来卷
java
在Java中,HashMap的key一般建议使用String而不是自定义对象,主要有以下几个原因:1.String是不可变对象(Immutable)String在Java中是不可变的,一旦创建就不会改变其哈希值(hashCode)。HashMap依赖key的hashCode()计算存储位置,如果key是可变对象,修改key后,它的hashCode()可能会改变,导致HashMap无法正确查找该ke
- 【贪心算法5】
m0_46150269
贪心算法算法
力扣738.单调递增的数字链接:link思路遇到c[i]>c[i+1]则c[i]–,然后就是给c[i+1]赋值‘9’;需要注意的是star初值问题,可见注释部分。classSolution{publicintmonotoneIncreasingDigits(intn){Strings=String.valueOf(n);char[]c=s.toCharArray();intstar=c.lengt
- redis操作zset类型的基本命令
JavaWeb学起来
redisredis数据结构
zset是有序存储的数据结构,它和set一样,不允许重复的值,下面我们总结一些常用的命令。zaddkey排序的数值值(这里为了zset可以有序的存储,需要设定数值)127.0.0.1:6379>zaddz15java3redis1mysql2nginx4oracle(integer)5zcardkey(返回key中的成员数)127.0.0.1:6379>zcardz1(integer)5zrang
- C语言:整数、浮点数在内存中的存储
代码AC不AC
学习分享c语言
hello,我又来了!~内存存储1、整数在内存中的存储2、浮点数在内存中的存储3、2中的例题解释1、整数在内存中的存储我们知道:整数的表达式有三种,即:原码、反码和补码。正整数的原码、反码和补码都相同。负整数的三种表达式各不相同。原码:将数值按照负数的形式翻译成二进制得到原码。反码:原码的符号位(首位)不变,其他位依次按位取反就得到反码。补码:反码+1。对整型来说,数据存放的是二进制的补码。原因:
- 手写一些常见算法
林tong学
算法排序算法java数据结构
手写一些常见算法快速排序归并排序Dijkstra自定义排序交替打印0和1冒泡排序插入排序堆排序快速排序publicclassMain{publicstaticvoidmain(String[]args){intnums[]={1,3,2,5,4,6,8,7,9};quickSort(nums,0,nums.length-1);}privatestaticvoidquickSort(int[]num
- 大数据学习(67)- Flume、Sqoop、Kafka、DataX对比
viperrrrrrr
大数据学习flumekafkasqoopdatax
大数据学习系列专栏:哲学语录:用力所能及,改变世界。如果觉得博主的文章还不错的话,请点赞+收藏⭐️+留言支持一下博主哦工具主要作用数据流向实时性数据源/目标应用场景Flume实时日志采集与传输从数据源到存储系统实时日志文件、网络流量等→HDFS、HBase、Kafka等日志收集、实时监控、实时分析Sqoop关系型数据库与Hadoop间数据同步关系型数据库→Hadoop生态系统(HDFS、Hive、
- Docker 入门指南:如何在 Ubuntu 上安装和使用 Docker
天青色等烟雨°
linuxdockerubuntu
Docker入门指南:如何在Ubuntu上安装和使用Docker安装Dockerdocker的配置安装k8s安装Docker官方Ubuntu存储库中提供的Docker安装软件包可能不是最新版本。Ubuntu官方的版本库中并不一定是Docker最新的安装包,为了保证是最新版,我们从Docker官方库来安装。首先,更新现有的软件包列表:$sudoaptupdate注意:如果无法更新,可能是你的软件源指
- STM32F407 SPI通信
Klein、凉城
STM32F407标准库stm32嵌入式硬件单片机
1、SPI介绍SPI(串行外设接口)是一种由摩托罗拉公司开发的同步串行通信协议,主要用于短距离、高速通信的场景(如芯片间通信)。其核心特点是主从架构、全双工通信和硬件简单,广泛应用于嵌入式系统中连接微控制器(MCU)与传感器、存储器(如EEPROMFlash)、显示屏、实时时钟和网络控制器等外设。SPI接口提供两个主要功能,支持SPI协议或I2S音频协议。默认情况下,选择的是SPI功能。可通过软件
- Leetcode Hot100 第40题 297.二叉树的序列化和反序列化
onlyzzr
暑期实习刷题记录leetcode深度优先算法
/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),left(NULL),right(NULL){}*};*/classCodec{public:intindex;//Encodesatreetoasinglestring.str
- 海量数据查询加速:Presto、Trino、Apache Arrow
晴天彩虹雨
apache大数据hive数据仓库
1.引言在大数据分析场景下,查询速度往往是影响业务决策效率的关键因素。随着数据量的增长,传统的行存储数据库难以满足低延迟的查询需求,因此,基于列式存储、向量化计算等技术的查询引擎应运而生。本篇文章将深入探讨Presto、Trino、ApacheArrow三种主流的查询优化工具,剖析其核心机制,并通过案例分析展示它们在实际业务中的应用。2.Presto:分布式SQL查询引擎2.1Presto介绍Pr
- C# 检查系统是否开启 Hyper - V
东百牧码人
c#开发语言
C#检查系统是否开启Hyper-V在使用C#开发应用程序时,有时需要判断系统是否开启了Hyper-V功能。Hyper-V是Windows系统提供的一款虚拟化技术,以下为你介绍几种在C#中检查系统是否开启Hyper-V的方法。方法一:通过查询系统注册表原理Hyper-V的状态信息会存储在系统注册表中,我们可以通过读取注册表中的相关键值来判断Hyper-V是否开启。示例代码usingMicrosoft
- 二叉树的所有路径(leetcode 257
JohnFF
leetcodelinux算法
leetcode系列文章目录一、核心操作二、外层配合操作三、核心模式代码总结使用递归法一、核心操作1.判断是不是叶子节点(该节点的左右子节点都为空2.收获该路径(将储存的节点一个一个拿出来,用->连接if(cur->left==nullptr&&cur->right==nullptr){stringspath;for(inti=0;i";}spath+=to_string(path[path.si
- BigDecimal只覆盖整数部分或小数部分
支持未来
java算法开发语言
有个特殊处理需要把BigDecimal的整数部分和小数部分分开计算publicclassBdTest{publicstaticvoidmain(String[]args){BdBeanbt=newBdBean();bt.setBdA(4);System.out.println(bt.getB());bt.setBdA(0);System.out.println(bt.getB());bt.setB
- 英伟达系列显卡大解析B100、H200、L40S、A100
2301_78234743
java
家里有了变故。。。快手数分秋招一面面经我发现算法岗也不很难进啊(深度学习)算法想转数开…Java零基础校招学习路线突击版(吐血整理)等的花都谢了的华子最后给开了22k,武汉,应该是14a。不过在这几个月里我坚定了搞几年快钱回家和np朋友因骂了hr,boos被封了哈哈哈在央企想被开除需要做什么?2024小米分布式存储研发急招华为2012被毁意向我发现算法岗也不很难进啊(深度学习)在央企想被开除需要做
- 基础知识《Redis解析》
Hum8le
redis数据库缓存安全web安全
Redis详细解析与介绍Redis(RemoteDictionaryServer)是一个开源的高性能键值对(Key-Value)数据库,支持多种数据结构(如字符串、哈希、列表、集合等),广泛应用于缓存、消息队列、实时数据分析等场景。核心特点:内存存储:数据主要存储在内存中,读写性能极高(10万+/秒QPS)。持久化支持:支持RDB(快照)和AOF(追加日志)两种持久化方式。多数据结构:支持字符串、
- DAY30 回溯算法 子集问题 Ⅰ
Useee
算法leetcodec++数据结构
93.复原IP地址-力扣(LeetCode)classSolution{private:vectorresult;voidbackTracking(string&s,intstartIndex,intpiontNum){if(piontNum==3){if(isUseful(s,startIndex,s.size()-1)){result.push_back(s);}return;}for(int
- 4.2.3 键值对集合2
.Net学习
C#教程c#开发语言
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的4.2.3.3KeyValuePair结构KeyValuePair结构定义可设置或检索的键/值对。通常在KeyValuePair的构造函数中传入键和值作为参数,例如下面的语句定义了键为int、值为string的KeyValuePair,并赋予了初始值:KeyValuePairnewKeyValueP
- MySQL的覆盖索引
.晚安.
mysql数据库
MySQL的覆盖索引前言当一个索引包含了查询所需的全部字段时,就可以提高查询效率,这样的索引又被称之为覆盖索引。以MySQL常见的三种存储引擎为例:InnoDB、MyISAM、Memory,对于覆盖索引提高查询效率的方式均不同,下面让我们分别讲讲:InnoDB在InnoDB中,主键索引的叶子节点存储完整的数据行,称为聚簇索引,而唯一索引、普通索引、联合索引的叶子节点只存储索引字段和主键值,称之为二
- Cookie,Session,JWT
.晚安.
javaweb
Cookie,Session,JWT前言由于早期的网页被设计出来只是为了满足人们浏览网络资源的需求,几乎没有交互,所以HTTP在设计之初就是无状态的,无法携带信息。随着互联网的发展,为了满足人们对于网络交互的需求,需要一种技术来保存用户信息,用于登录认证等。目前常见的技术便是Cookie,Session,JWT。CookieCookie存储于客户端(浏览器),当用户访问一个页面时,客户端将用户填好
- 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