- 【安卓面试】
木啊木啊木
android面试职场和发展
百度-APP相关安卓开发数组排序view流程和surfaceViewrecycleViewview绘制流程停止一个线程停止线程的场景输入一个url观察者模式观察者模式的基本流程:安卓内存共享JNISQLkotlin与java混用的问题Linux命令及原理app启动流程小程序原理加密算法对称加密非对称加密安卓持久化存储方式启动模式和场景ANR以及如何避免数组排序八大排序-及复杂度viewView是用
- 1049. 最后一块石头的重量 II
杰克尼
LeetCodeleetcode算法动态规划
目录一:题目:二:代码:三:结果:一:题目:有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x&stones){vectordp(150001,0);intsum=0;for(inti=0;i=stones[i];j--){dp[j]=max(dp[j],dp[j-stones[i
- Java入门:05.Java中的数组001
CJH~
开发语言java
在本期文章当中,我们将一起了解Java中的数组,那么首先——什么是数组呢?一、什么是数组数组和变量一样也是一个容器,那么它和变量的区别是什么呢?通常来讲,一个变量只能存储一个数据,但数组却可以用来存储一组位置连续的、类型相同的数据(变量)。二、数组类型变量的定义即便如此,但数组本身也是一个数据,它也可以存储在变量或是数组(即多为数组)中。要想把数组存进变量,我们就必须把这个变量定义成数组类型的变量
- leetcode39组合总和
悟空丶123
golang算法
题目描述给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。对于给定的输入,保证和为target的不同组合数少于150个。示例1:输入:candi
- leetcode198打家劫舍
悟空丶123
golang后端算法
题目描述LeetCode第198题——打家劫舍(HouseRobber)你是一个职业小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,这个地方所有的房屋都围成一圈,并且相邻的房屋有安全系统会相连,如果两间相邻的房屋在同一晚上被打劫,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例1:输入:[1,2,3,1]输出:4解释:偷窃1
- js获取地址栏中的指定参数
puxiaotaoc
varparseQueryString=function(url,key){varnum=url.indexOf('?');//获取?的下标if(num>0){url=url.slice(num+1);//截取url?后面的所有参数vararr=url.split('&');//将各个参数放到数组里console.log(arr);varresult={};//存放结果for(vari=0;i0)
- (nice!!!)LeetCode 2555. 两个线段获得的最多奖品(贪心、二分查找、滑动窗口)
岁忧
LeetCodeleetcode算法c++数据结构贪心算法二分查找滑动窗口
题目:2555.两个线段获得的最多奖品思路:想要获得“最多奖品数目”,那势必让两条线段不相交。假设第一条线段在第二条线段的左边。那么先枚举第二条线段的右端点i,然后找到第二条线段最远的左端点x。则第一条线段的右端点一定在x的左侧,因此只需要记录区间[0,x-1]之间的“线段长度为k”所涵盖的“最多奖品数目”。这里用数组dp来维护即可,因为区间dp[x-1]其实在遍历第二条线段时,就可以求出来。细节
- Python字符串的切片运算操作
MG_鹏鹏
Python学习笔记python开发语言
Python语言的字符串切片运算功能类比于Java等语言的字符串截取函数要简洁方使很多,使用起来很是顺手。一、语法格式:Python对字符的中的元素或者子串的访问使用方括号[],类似于Java中的数组,但又青出于蓝而胜于蓝,通过索引值(下标)和:符灵活配合。格式:变量名[始下标:终下标:步长]其中始下标可以是0即从左往左开始,也可以是-1从右往左开始详见下图:从左往右01234567从右往左-8-
- 【LeetCode】面试经典 150 题 Day 1
追风0068
Leetcodeleetcode面试算法职场和发展
88.合并两个有序数组https://leetcode.cn/problems/merge-sorted-array/description/?envType=study-plan-v2&envId=top-interview-15088.合并两个有序数组给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到n
- C语言-数据结构 无向图迪杰斯特拉算法(Dijkstra)邻接矩阵存储
Happy鱿鱼
算法c语言数据结构
在迪杰斯特拉中,相比普利姆算法,是从顶点出发的一条路径不断的寻找最短路径,在实现的时候需要创建三个辅助数组,记录算法的关键操作,分别是Visited[MAXVEX]记录顶点是否被访问,教材上写的final数组但作用是一样的,然后第二个数组是TmpDistance[MAXVEX],教材使用的D数组,命名语义化较弱不太好理解,实际用途与TmpDistance一样的,用于记录算法过程中,当前顶点到达邻接
- 【leetcode】最长连续序列
爱喝咖啡的Tomcat
数据结构与算法leetcode算法数据结构
一、题目描述给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示例2:输入:nums=[0,3,7,2,5,8,4,6,0,1]输出:9二、代码思路首先,题目说没有排序的数组而且
- LeetCode刷题2
Reus_try
leetcode链表算法
0612LeetCode刷题2力扣刷题1力扣刷题2力扣83题:删除排序链表中的重复元素力扣82题:删除排序链表中的重复元素II力扣第8题:字符串转换整数(atoi)力扣22题:括号生成力扣31题:下一个排列怎么用sort()对一个数组的局部进行排序?1143.最长公共子序列力扣93题:复原IP地址力扣151题:颠倒字符串中的单词力扣105题:从前序与中序遍历序列构造二叉树力扣110题:平衡二叉树力
- C++使用MyStack和MyQueue封装栈和队列
睡觉然后上课
c++算法开发语言c语言笔记
封装栈的构造,复制,判空判满,入栈出栈等函数//使用MySstack实现栈#includeusingnamespacestd;classMyStack{private:intTop;//栈顶位置intSize;//栈大小int*Arr;//数组指针public:MyStack(){coutusingnamespacestd;classQueue{private:intFront;//队头的位置in
- 解决: ImportError: Missing optional dependency ‘openpyxl’. Use pip or conda to install openpyxl.
白舟的博客
抠脑问题pipconda
问题:使用代码时:importpandasaspd#替换为你的Excel文件路径excel_path='path_to_your_excel_file.xlsx'#使用pandas的read_excel函数读取Excel文件df=pd.read_excel(excel_path)#将DataFrame转换为数组data_array=df.values#打印数组print(data_array)然后
- mysql 把多条符合条件的数组 json 合并成一条
KingFu28
mysqljson
selectc.PROC_INST_ID_,sfj.file_jsonfrombpm_check_opinioncleftjoinsys_file_jsonsfjontimestampdiff(minute,sfj.create_time,c.CREATE_TIME_)between0and3--三分钟内wherec.PROC_INST_ID_='10000005440002';查询结果:1000
- 2024年云曦网络安全实验室2024春季学期开学考复现Writeup
2301_82257383
程序员web安全android安全
构造的payloa为http://172.16.17.201:50183/Gentle_sister.php/?my_parameter[]=1可以直接访问也可以Hackbar工具传参。通过使用my_parameter[]=1,相当于是告诉服务器,我们在传递的是一个包含1的数组而非数字或字符串,在这种情况下,$_GET[‘my_parameter’]得到的将是一个数组,而不是一个单一的值。原本脚本
- Leetcode 最长连续序列
Wils0nEdwards
Leetcodeleetcode算法职场和发展
算法流程:哈希集合去重:通过将数组中的所有元素放入unordered_set,自动去除重复元素。集合的查找操作是O(1),这为后续的快速查找提供了保证。遍历数组:遍历数组中的每一个元素。对于每个元素,首先检查它是否是某个连续序列的第一个元素。具体地,如果当前元素的前一个元素(num-1)不在集合中,说明当前元素有可能是某个序列的开始。这是关键步骤,因为如果num-1在集合中,说明当前元素是某个序列
- MongoDB数据库
weixin_34104341
数据库jsonshell
一简介MongoDB是一款强大、灵活、且易于扩展的通用型数据库1.易用性MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用关系型主要是为了获得更好得扩展性。当然还有一些其他好处,与关系数据库相比,面向文档的数据库不再有“行“(row)的概念取而代之的是更为灵活的“文档”(document)模型。通过在文档中嵌入文档和数组,面向文档的方法能够仅使用
- 2018-07-06
一名谦虚的学生
js高级今日所学摘要:①js的预编译:js很特别,在js代码执行前会进行预编译,预编译的结果就是——变量提升。如下图所示:②js中的arguments,俗称伪数组,不是真正的数组,但可以像数组一样使用,里面存入的是传入函数的形参。③for...in用法:可以用来遍历数组和对象,遍历对象居多。对象拷贝时注意用hasOwnProperty方法④prototype原型:分为两类:(1)类里面有proto
- C# List定义和常用方法
語衣
C#知识补充c#list
栏目总目录List的定义列表(List)是一种常用的集合类型,它属于System.Collections.Generic命名空间。列表是一个有序集合,可以包含重复的元素,并且可以根据索引访问元素。ListList是一个泛型集合,它提供了比数组更灵活的方式来存储和操作数据。List继承自IList接口,并实现了许多用于添加、移除、搜索、排序等操作的方法。通过指定类型参数T来定义一个List。例如存储
- PostgreSQL 数组类型使用详解
捞起月亮的渔民丁
postgresql数据库
PostgreSQL数组类型使用详解PostgreSQL数组类型使用详解可能大家对PostgreSQL这个关系型数据库不太熟悉,因为大部分人最熟悉的,公司用的最多的是MySQL我们先对PostgreSQL数据库(下面简称PG)简单的介绍一下,以后有机会,再单独写一篇专门介绍pgSql的文章TheWorld’sMostAdvancedOpenSourceRelationalDatabase这是PG官
- 在PostgreSQL中使用JSONB对象数组
weixin_26750481
javapython
数据库提示(DatabaseTips)Inmylastarticle,wefocusedonturningaPostgreSQLjsonbcolumn,thatcontainedanArrayofObjects,intoarecordset,sothatitcouldbequeriedinarelationalmanner.在我的上一篇文章中,我们专注于将包含对象数组的PostgreSQLjson
- Postgresql 删除数组中的元素
llc的足迹
数据库postgresql数据库
extra为{“a”:[null,3,null],“b”:111}使用sql将extra中a中的null移除第一步:首先先把[null,3,null]移除,selectjson_agg(elem)filter(whereelem!='null')from(selectjsonb_array_elements('[null,3,null]'::jsonb)aselem)t;这将得到[3]jsonb_
- C语言——利用二分法求数组中特定元素的索引,并在函数中引入了冒泡排序,可以求无序数组中的特定元素的索引
万河归海428
算法c语言visualstudio数据结构冒泡二分法数组
#include#includeinterfenfa(int*p,intlen,inttarget){intleft=0;intright=len-1;inti;intj;inttmp;for(i=0;ip[j+1]){tmp=p[j];p[j]=p[j+1];p[j+1]=tmp;}}}while(lefttarget){right=mid-1;}}returnleft;}intmain(){i
- JsonCpp源码分析——Reader
哎呦,帅小伙哦
#jsoncppjson
1、与Writer模块功能相反,可以将Reader理解成一个反序列化的工具,Writer的作用主要是将Value对象转成string或者流式的结构,Reader的作用主要是将流式的结构转成Value类型的对象。Reader类的主要职责有3个,解析JSON字符串:将JSON格式的字符串读取并解析成相应的C++数据结构。处理不同的数据类型,支持解析JSON对象、数组、字符串、数字、布尔值和null。处
- 总结函数相关知识
你会发光哎u
JavaScript高级学习javascript前端开发语言
这里写目录标题1.函数的特性声明调用参数参数默认值返回值属性方法arguments剩余参数(`rest`)作用域原型`this`指向执行过程2.特殊的函数`with`函数`eval`函数apply/call/bind函数纯函数箭头函数立即执行函数`IIFE`高阶函数递归函数组合函数柯里化函数概念优势自动柯里化类和构造函数JavaScript是支持函数式编程的,在JavaScript中函数是一等公民
- 前端基础面试题·第三篇——JavaScript(其四)
DT——
前端面试javascript前端开发语言
highlight:atom-one-dark1.JSON.stringifyJSON.stringify()方法将一个JavaScript值(对象或者数组)转换为一个JSON字符串,如果指定了一个replacer函数,则可以替换值。语法:JSON.stringify(value,replacer,space)参数value:要转换的值。replacer:替换值,可以是一个函数或者数组。(这个参数
- JAVA数组元素的遍历_Java数组元素的遍历
知更社区
JAVA数组元素的遍历
Java数组元素的遍历packagecom.wkcto.chapter03.demo01;importjava.util.Arrays;/***数组的定义,元素的访问与遍历*@author蛙课网**/publicclassTest01{publicstaticvoidmain(String[]args){//1)定义一个数组,存储5个int类型数据int[]data=newint[5];//定义数
- 基于UDP的简易网络聊天室
老K殿下
每日练习udp网络协议网络
聊天室基本功能:1:群发的上下线通知2:服务器显示全部聊天信息,并且可以群发系统消息3:输入Q下线架构:客户端分为两个线程,主线程用来发送信息,子线程用来接收信息。发送的信息包是一个字符数组,包括1byte标识符、10byte用户昵称、128byte消息内容。它和记录ip地址和端口号的结构体共同组成一个结构体变量:structusrmsg。服务器也分为两个线程,主线程用来群发消息,子线程根据接收到
- 9.4日常记录
冰榫
算法
一、索英笔试1.实现strcpy1.charsrc[]="Hello,World!";:这里定义了一个字符数组。这个字符串"Hello,World!"的内容被直接存储在这个数组中,数组的大小由字符串的长度加上一个额外的位置用于存储字符串结束符'\0'自动确定。例如,这个数组的大小为13(12个字符加上一个结束符)。可以修改这个数组中的内容,因为它是在栈上分配的可修改的内存区域。2.char*src
- 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