- Django Admin管理后台导入CSV
背着吉他去流浪
django服务器python
修改管理模型,代码如下:classCsvImportForm(forms.Form):csv_file=forms.FileField()@admin.register(Hero)classHeroAdmin(admin.ModelAdmin,ExportCsvMixin):...change_list_template="entities/heroes_changelist.html"defge
- CF1056C Pick Heroes 题解
见合8
题解c++算法贪心算法数据结构
文章目录[CF1056CPickHeroes](https://www.luogu.com.cn/problem/CF1056C)题解题面翻译题目描述输入格式输出格式样例#1样例输入#1样例输出#1样例#2样例输入#2样例输出#2提示引入:算法:贪心先手:后手:数据结构:代码:CF1056CPickHeroes题解题面翻译交互题。有2n2n2n位英雄,第iii位英雄的战力为pip_ipi,你和交互
- 解决Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class
博文樱花
typescriptangularnode.js
写angular项目出现的坑ERRORinsrc/app/flying-heroes/flying-heroes.component.ts:9:14-errorNG6002:AppearsintheNgModule.importsofAppModule,butcouldnotberesolvedtoanNgModuleclass.Isitmissingan@NgModuleannotation?9
- SP10286 DOTAA - DOTA HEROES 题解
见合8
题解c++算法
SP10286DOTAA-DOTAHEROES题解题目描述:ProblemDescription:DefenceOfTheAncients(DOTA)isoneofthemostaddictiveonlinemultiplayergames.Therearenheroesinourteamandourmottoistoconquertheopponent’sempire.Tosafeguardth
- Heroes Never Die——《飞驰人生》
化化化十
总体打分:★★★☆剧情逻辑:★★★☆人物丰满度:★★★☆大年初一的下午在老家十八线小县城看了《飞驰人生》,这是我过年看的第一部电影,不过今天才开始写观后感。总体而言,有笑点有感动,但是节奏和逻辑上的问题同样难以忽视,考虑到对于贺岁档的宽容,也只能给个还不错的评价。剧情其实非常简单,沈腾饰演的主角张驰曾经是中国顶级赛车手,连续五年在国内最难赛道——巴音布鲁克赛道上夺冠,然而在五年前为了儿子的上学问题
- Gas Hero Common Heroes NFT 概览与数据分析
Footprint_Analytics
行业动向区块链数据分析NFT区块链游戏
作者:
[email protected]编译:
[email protected]数据源:GasHeroCommonHeroesNFTCollectionDashboardGasHero“盖世英雄”是一个交互式的Web3策略游戏,强调社交互动,并与FSL生态系统集成,利用其原生代币GMT。在这个游戏中,玩家可以收集并定制各种英雄NFT,为期配备装备武器和宠物,并展开任务以积累
- angular HttpClient
榴莲不好吃
angularHttpClient
参考:angularhttpClient文档要想使用HttpClient,就要先导入Angular的HttpClientModule。大多数应用都会在根模块AppModule中导入它!!!!。1.简单的获取JSON数据//assets/config.json{"heroesUrl":"api/heroes","textfile":"assets/textfile.txt"}//app/config
- 故事策略The Story Solution: 23 Actions All Great Heroes Must Take(读书笔记)IV
编剧学习笔记
第六章对白之光对白不是故事,如果没有一个精彩的故事,对白显得空洞、冗长,言谈不能揭示人物的全部,行为则可以。人物对自己行为以及行为方式的选择都表明他们的身份,只有在被整合进行为的情感语境时,言语才能传递意图。每一个人物所说的每一句台词都应被看作是说者想从听者那得到他们想要的东西的某种尝试。特定的对白段落缺少冲突,或总的来说其无法推动情节发展,又或是对白即便是片刻令场面拖沓,或语言精彩但不合时宜,那
- 一文让你记住Pyspark下DataFrame的7种的Join 效果
独家雨天
datapythonsparkjoin
最近看到了一片好文,虽然很简单,但是配上的插图可以让人很好的记住Pyspark中的多种Join类型和实际的效果。原英文链接IntroductiontoPysparkjointypes-Blog|luminousmen。假设使用如下的两个DataFrame来进行展示heroes_data=[('Deadpool',3),('Ironman',1),('Groot',7),]race_data=[('
- 用命令提示符打开资源管理器目录
_____西班木有蛀牙
正文比如说我要查找C:\Users\jujianfei\angular-tour-of-heroes路径下的文件。1、Win+R调出运行,输入cmd打开命令提示符。2、转到angular-tour-of-heroes目录:cd/dC:\Users\jujianfei\angular-tour-of-heroes。3、输入:start.即可在资源管理器中打开当前目录。扩展1、start..打开当前目
- Flutter页面跳转报错There are multiple heroes that share the same tag within a subtree.
Lost_Robot
import'package:flutter/material.dart';import'Page/NewRoute.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{//Thiswidgetistherootofyourapplication.@overrideWidgetbuild(BuildContextco
- 神盾局特工第1季第1集台词
英美剧台词
神盾局特工第1季第1集台词英文中文Thesecretisout.秘密已泄露Fordecades,yourorganizationstayedintheshadows,数十年来你们的组织在阴影中暗藏hidingthetruth.隐瞒真相Butnowweknow--they'reamongus.但现在我们知道了他们就在我们身边Heroes...英雄......andmonsters....和怪兽The
- Angular学习笔记10:路由
wujiayucn
#Angularangular6
在工作或者学习中,有时候会遇到如下需求:在一个页面上写一个导航,导航栏中的每一个选项都对应一个页面。就如Angular官方文档中:(图片来自于Angular官方文档)添加一个仪表盘视图。在Heroes和DashBoard视图之间导航。无论在哪个视图中点击一个英雄,都会导航到这个Hero的详情页。在邮件中点击一个深链接,会直接打开一个特定英雄的详情视图。具体实现过程:1.添加AppRoutingMo
- re:Invent 2023 前线播报|Hero 吴晟:畅想 AIGC 时代的可观测服务演进方向
亚马逊云开发者
AIGC
既是re:Invent展商Tetrate的创始工程师,又是亚马逊云科技活跃的Heroes,吴晟是资深的可观测服务技术专家,如何基于AmazonCloudWatch实现应用的高效监控?如何看待可观测服务未来的发展方向?一起听他为大家讲讲。
- Django框架学习(二)Django连接Mysql数据库,实现表的增删改查
别吵让我睡觉
创建一个Django项目方法:1.使用django-admin.py管理工具来创建项目2.用Pycharm专业版可以直接创建Django项目我直接用Pycharm创建的项目,比较简单,也快创建项目样例.jpg创建一个app应用Django规定,如果要使用模型,必须要创建一个app,也就是说如果我们想要实现表的操作就得要先创建一个app(这里以heroes举例)创建app命令:pythonmanag
- Heroes Fight Again
冰说的是大
Thousandsoftroopsandhorses,shoutinginunisonGoodministersandgenerals,unitedeffortstosiegethecity
- 英雄编辑器(02)-创建英雄列表组件
裘马轻狂大帅
AngularCLI创建一个名为heroes的新组件。nggeneratecomponentheroes@Component是个装饰器函数,用于为该组件指定Angular所需的元数据。CLI自动生成了三个元数据属性:1.selector—组件的选择器(CSS元素选择器)2.templateUrl—组件模板文件的位置。3.styleUrls—组件私有CSS样式表文件的位置。@Component({s
- 故事策略The Story Solution: 23 Actions All Great Heroes Must Take(读书笔记)V
编剧学习笔记
第三篇构建故事结构第七章电影的基本故事结构电影与小说人物和情节是一个东西的两个方面,不可能将令人印象深刻的情节和人物剥离,好的故事情节提供行动,人物则通过行动得以呈现,人物只以结构恰当的情节意义累积的形式存在,创建有效的情节结构意味着创建有感染力的人物。电影故事结构和英雄目标序列实际上将人物的灵魂暴露给观众的基本电影化手法。小说故事的讲述只能逐句表达,同一时间内只能关注一件事情,从书中勾勒的画面都
- 恭喜 SphereEx 联合创始人潘娟成为亚马逊云科技新晋 Data Hero
潘娟 Trista
科技bigdata大数据中间件分布式
11月19日,亚马逊云科技公布了2021亚马逊云科技Heroes名单。我们很高兴的宣布,SphereEx联合创始人&CTO、ApacheShardingSpherePMC潘娟,在经过亚马逊云科技对专业技术能力、技术代码贡献、技术布道时长、社交媒体影响力等多个维度的重重筛选,成功入选成为DataHero!以下文章来源于亚马逊云开发者,作者亚马逊云开发者2021已余额不足,当我们回顾它时,亚马逊云科技
- Flutter报错:There are multiple heroes that share the same tag within a subtree.
豆大人007
详情错误信息Thefollowingassertionwasthrownduringaschedulercallback:Therearemultipleheroesthatsharethesametagwithinasubtree.Withineachsubtreeforwhichheroesaretobeanimated(i.e.aPageRoutesubtree),eachHeromusth
- 【算法随记】在计算过程中模的情况
Ranye123
算法算法
https://leetcode.cn/problems/power-of-heroes/计算过程中,可以放心模的情况:加减乘先模再加再模和直接加再模一样amod m+bmod m≡a+b(mod m)a\modm+b\modm≡a+b\(\modm)amodm+bmodm≡a+b(modm)先模再减再模和直接减再模一样amod m−bmod m≡a−b(mod m)a\modm-b\
- LeetCode 2681. Power of Heroes【排序,数学,贡献法】2060
memcpy0
数学排序leetcode算法职场和发展
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件
- Heroes of the Storm Model Extract 风暴英雄模型提取
NeoInTheMatrix
专业软件其他
〇、说明1.文中[XXX]为占位符,[]中的内容需根据实际情况调整。一、参考https://nocilol.me/archives/acg/heroes-of-the-storm-character-models-ripping/https://www.bilibili.com/video/BV1wb411c7T1?from=search&seid=11576587113003598615http
- 【LeetCode 算法】Power of Heroes 英雄的力量
Eric.Cui
数据结构与算法算法leetcode数据结构
文章目录PowerofHeroes英雄的力量问题描述:分析代码MathTagPowerofHeroes英雄的力量问题描述:给你一个下标从0开始的整数数组nums,它表示英雄的能力值。如果我们选出一部分英雄,这组英雄的力量定义为:i0,i1,...iki_0,i_1,...i_ki0,i1,...ik表示这组英雄在数组中的下标。那么这组英雄的力量为max(nums[i0],nums[i1]...nu
- 故事策略The Story Solution: 23 Actions All Great Heroes Must Take(读书笔记)VII
编剧学习笔记
第十章第一幕:英雄目标段落1-61.英雄目标段落1(1)给观众呈现一小段主人公当前的日常生活建立主人公生活和工作的正常世界,直到他遭遇引发事件的那一刻,故事才真正开始。动作电影先以一个惊心动魄的情节钩子开场,然后放缓节奏再来展开主人公安静的日常生活。(2)给观众迅速喜欢主人公的理由,即便是探讨人性阴暗面的剧本中的非传统英雄使用主人公共鸣工具,看到主人公的优秀品质(第二章)。(3)让观众第一次看见主
- 故事策略The Story Solution: 23 Actions All Great Heroes Must Take(读书笔记)VIII
编剧学习笔记
第十一章第二幕前半段:段落7-12第二幕初始主人公步履维艰、危机四伏,主人公必须重整旗鼓,努力弄明白发生什么,面对这个陌生的新世界,第二幕启程之初有点迷茫和缺乏自信。英雄目标段落7a.主人公绞尽脑汁寻觅良策第一幕的总体冲突现已变成特别的目标和与强大对手的高度明确的斗争,主人公快速想出奔向胜利的计划。b.主人公投身于某些需要长期努力的特定的、现实的故事目标主人公知道自己将面临很多危险,但无论如何必须
- 英雄之旅2
小懵没被占用
你要先创建一些模拟的英雄数据,并假装它们是从服务器上取到的。创建一个名叫mock-heroes.ts的文件。定义一个包含十个英雄的常量数组HEROES,并导出它。2.要在HeroesComponent的顶部显示这个英雄列表。打开HeroesComponent类文件,并导入模拟的HEROES。往类中添加一个heroes属性,这样可以暴露出这些英雄,以供绑定。使用*ngFor列出这些英雄主从结构:当用
- 故事策略The Story Solution: 23 Actions All Great Heroes Must Take(读书笔记完结)X
编剧学习笔记
第十三章第三幕解决:段落19-23之前的段落你对观众做出了承诺,用引人入胜的故事开场吊足观众胃口并获得了他们的信任,你做出了承诺,带给观众一个情感上的满足的解决,他们会放松、享受旅途和保持信任。现在是时候回馈这些观众了,18个目标段落跌宕旅程至此,现在必须创建最后2-5个段落,使观众沉迷现在电影中,直到最后银幕淡出。第三幕中电影故事的解决的关键原则是:1.主人公必须引发结局当主人公卷入任何与对手的
- 项目-已完成
Jonathan丶BNTang
java前端javascript开发语言ecmascript
ERPerp_parent(Java-后端)erp_web(Java-前端)视频点播VIDEO_Parent(Java-后端)VIDEO_Portal(Nuxt-商户端)JavaScript/HTML/CSSNubia(努比亚-网站)Qunar(去哪儿-移动官网静态页面,采用伸缩布局)Heroes-Of-The-Storm(风暴英雄游戏网站,静态页面)VIVO(VIVO-网站,响应式)苏宁(苏宁电
- 故事策略The Story Solution: 23 Actions All Great Heroes Must Take(读书笔记)VI
编剧学习笔记
第八章人物成长弧一旦编剧真正理解了故事结构,加上人物成长则变成一件相对简单的事情。塑造一个曾经历毁灭性情感打击的主人公,一个内心受伤的孤单人,他的创伤使得他现在用孤立防御的态度来自我保护,某些心痛的过去造成他排斥情感和心生偏见以及在与他人相处时心存防备,主人公为了不再重蹈覆辙与外界保持一定的距离。过去的创伤是无尽痛楚的根源,主人公为避免在未来遭受更多痛苦而戴上了自我保护的情感保护壳,使他在当下无法
- 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