- Django之Debug篇
菜鸟之编程
Djangodjangopython后端
一、DebugToolBar基本使用1.1、概述Django框架的调试工具栏使用django-debug-toolbar库,是一组可配置的面板,显示有关当前请求/响应的各种调试信息,点击时,显示有关面板内容的更多详细信息。官方文档:DjangoDebugToolbar—DjangoDebugToolbar4.3.0documentation1.2、安装pipinstalldjango-debug-
- springboot集成logback-spring.xml文件
RT_0114
SpringBootspringbootspringlogback
彩色日志日志分debug和error文件输出,方便开发人员运维日志限制最大保管天数日志限制总量大小占用量GB日志限制单个文件大小MB日志显示最大保留天数屏蔽没用的日志${CONSOLE_LOG_PATTERN}${log.path}/debug.log${log.path}/%d{yyyy-MM-dd,aux}/debug.%d{yyyy-MM-dd}.%i.log.gz1024MB50GB365
- Linux学习系列之vim编辑器(一)
llibertyll
linux学习
vi编辑器的操作模式输入模式—aio等—>命令模式<—:键—末行模式从输入/末行模式切换到命令模式都是需要按ESC键注:a光标后输入,i光标前输入,o直接向下加一行输入,O向上加一行输入在vi编辑器中光标的移动(命令行模式下)键组合(命令)光标的移动$光标移动到当前行的结尾0(零)光标移动到当前行的开始GG光标移动到最后一行gg光标移动到第一行在命令行模式下删除与复制的操作键组合(命令)含义dd删
- Unity3D 制作MMORPG 3D地图编辑器详解
Thomas_YXQ
3d编辑器Unity3D游戏开发unity开发语言
前言在MMORPG游戏中,地图编辑器是一个非常重要的工具,可以帮助开发者快速创建复杂的游戏地图。本文将详细介绍如何使用Unity3D制作一个简单的MMORPG3D地图编辑器。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!创建地图编辑器界面首先,我们需要创建一个新的Unity项目,并在场景中创建一个空的GameObject作为地图编辑器的主要控制器。然后,我们可以使用
- 若依框架集成seata分布式事务的一些幺蛾子
半山惊竹
分布式
一、bug连环炮A服务调用B服务,B服务异常,A服务插入的数据没有回退,前面没有思路,就查了下,说是没有切换为seata的数据源,我就在启动类加了一个@EnableAutoDataSourceProxy注解,结果就开始报错了:2024-03-1910:49:30.653[http-nio-8080-exec-2]INFOc.a.n.client.config.impl.CacheData-Line
- macOS安装mongoDB(homebrew)
lx741602698
macosmongodb数据库
使用HomebrewHomebrew是macOS的一个包管理器,可以非常方便地安装MongoDB和其他软件。如果你还没有安装Homebrew,可以从它的官网上找到安装指令。已安装Homebrew的话,先更新一下homebrewbrewupdate你可以使用下面的命令来安装MongoDB的社区版:brewtapmongodb/brewbrewinstallmongodb-community安装完成后
- Linux(centos7)部署hive
灯下夜无眠
Linuxlinuxhive运维dbeaverhive客户端
前提环境:已部署完hadoop(HDFS、MapReduce、YARN)1、安装元数据服务MySQL切换root用户#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysqL-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch.
- Windows Edge 兼容性问题修复
马卫斌 前端工程师
edge
当遇到MicrosoftEdge浏览器的兼容性问题时,您可以尝试以下几种解决方案:解决方案1:通过注册表编辑器禁用渲染器完整性检查针对一些特定情况,您可能需要关闭Edge浏览器的渲染器完整性检查以解决兼容性问题。按照以下步骤操作:1.按Win+R键打开“运行”对话框,输入regedit并回车打开注册表编辑器。2.导航至以下路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Pol
- unity -- GC
想做后端的前端
Unityunity
GC简介在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。1.Unity内部有两个内存管理池:堆内存和栈内存堆内存(heap)主要用来存储较大的和存储时间较长的数据,主要是负责程序中的对象和数据。栈内存(stack)主要用来存储较小的和短暂的数据
- HTML语言剖析
混沌破晓
HTML语言剖析Html简介-目录全写:HyperTextMark-upLanguage译名:超文本标识语言简释:一种为普通文件中某些字句加上标示的语言,其目的在于运用标签(tag)使文件达到预期的显示效果。由文字(字母,数字、标点符号)及标签组合而成。任何文字编辑器都可以,这里推荐用:Dreamweaver。1.Html特点:►描述性语言,结构语言,用于决定网页内容以什么样的形式显示;►通过标签
- vscode配置go远程linux
gdut17
golang
Toolsenvironment:GOPATH=/root/goInstalling9toolsat/root/go/bininmodulemode.gopkgsgo-outlinegotestsgomodifytagsimplgoplaydlvgolintgoplsInstallinggithub.com/uudashr/gopkgs/v2/cmd/gopkgs(/root/go/bin/gop
- centos7中的MySQL安装
老伙子53
mysql数据库
centos7中的MySQL安装一、MySQL5.7.17安装脚本#!/bin/bashcd/rootmkdirmysql_tarwgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.17-1.el7.x86_64.rpmwgethttps://downloads.mysql.com/ar
- Ubuntu中安装VSCode的一个指令
Trigger_G
Ubuntu与ROSubuntuvscodelinux
问题描述本来想去VSCode官网上下载软件包,然后双击使用UbuntuSoftware安装的,但是安装老不成功。想用命令行指令dpkg进行安装,虽然能成功,但是后续使用code.命令打开VSCode又报错说找不到命令。解决方式在命令行中使用下述命令安装VSCode。sudosnapinstall--classiccode(建议安装的时候连上手机的热点,不然会报连接不上下载站点相关的错误)
- extjs 中store 关于baseParams的一个bug
hwssz
extjsactionfunctionnull
困扰于roload参数不变的问题,很幸运在网上找到了答案,贴在下面:http://www.javaeye.com/topic/713163ExtJs中,我们使用GirdPanel的时候往往需要给后台传递查询条件。一般是通过修改Store的baseParams。Js代码varstore=GirdPanel.getStore();store.baseParams={查询条件}store.reload(
- 强大的文本编辑器:Sublime Text for Mac注册激活版
macw_q
后端
SublimeTextforMac是一款功能强大的文本编辑器,特别适合程序员和开发者使用。它提供了丰富的功能,如智能代码补全、语法高亮、自定义快捷键、项目管理、多行选择、自动保存等,以提高代码编写效率和舒适度。此外,SublimeText还支持插件扩展,用户可以根据自己的需求安装各种插件,进一步增强编辑器的功能。软件下载:SublimeTextforMac注册激活版下载在Mac上使用Sublime
- MineAdmin Swagger结合phpstorm实现快速客户端http调试
明日晴空
工具类PHPphpstormMineAdminSwaggerhttp调试
以下操作,以MineAdmin框架作为演示,其它OpenApi规范文件亦可效果演示:1、打开http.json文件【OpenApi规范】,点击左侧装订线栏按钮2、点击左侧装订线栏按钮后,自动生成generated-requests.http文件,此时即可在phpstorm编辑器中直接调试接口,非常高效方便。一、下载安装MineAdmin1、gitee地址MineAdmin:MineAdmin是基于
- [unity]使用EditorUtility.CopySerialized复制脚本时要注意脚本中对其他物体的引用
lang_dye
unityunity
A和B互相引用,使用EditorUtility.CopySerialized复制后得到C和D后,C引用的是B,D引用的是A,这时C和D的引用需要重新指定。
- 配置 IDEA 远程连接应用服务器
O_Neal
当调试Web应用时,经常需要使用ide远程连接,来进行debug调试。使用Springboot内置服务器和使用Tomcat服务器是常见的应用部署方式,可以用不同的配置方式来启动远程debug模式。Springboot应用1.配置启动参数运行jar时加上debug参数,例如java-jar-Xdebug-Xrunjdwp:transport=dt_socket,address=60222,suspe
- 我的RUST学习——【第九章 9-1】panic! 与不可恢复的错误
swallowblank
rustrust
突然有一天,代码出问题了,而你对此束手无策。对于这种情况,Rust有panic!宏。当执行这个宏时,程序会打印出一个错误信息,展开并清理栈数据,然后接着退出。出现这种情况的场景通常是检测到一些类型的bug,而且程序员并不清楚该如何处理它。发生panic时的展开或终止当出现panic时,程序默认会开始展开(unwinding),这意味着Rust会回溯栈并清理它遇到的每一个函数的数据,不过这个回溯并清
- 如何将Excel中的数据复制到CAD中?
fyy7777
在CAD制图工作中,当我们利用Excel中的数据在CAD中绘制简单的图形时,你都是如何操作的呢?该不会一个个的绘制吧,其实不用那么麻烦,我们只需要将Excel中的数据导入CAD中,那么具体该如何操作呢?1、我们打开需要使用的Excel中的数据,打开后复制需要的B列中的的数据。2、复制完成后打开迅捷CAD编辑器,输入“PL”,按回车键。然后在命令行直接“Ctrl+V”可以以这些点直接生成一条多段线。
- 关闭蓝牙hci日志
开心呆哥
数据库
@echooff::1.获取最开始的文件夹路径set"Start_BT=%~dp0"for/f%%Ain('powershell-Command"Get-Date-Formatyyyy_MMdd_HHmmss"')doset"timestamp=%%A"echoTimestamp:%timestamp%titleSet_Debug_Set_HCI_LOG%timestamp%::打开工程模式adb
- [套路] 浏览器引入Vue.js场景-WangEditor富文本编辑器的使用 (永久免费)
Grandpa_Rick
套路frontendvue.js前端javascriptwangEditor
系列文章目录[套路]el-table多选属性实现单选效果[套路]基于服务内存实现的中文拼音混合查询[套路]Bypass滑块验证码目录系列文章目录前言一、实现1.1场景1.2Window对象简介1.3引入WangEditor1.4页面配置前言公司使用freemarker的老旧SpringBootWeb后台项目,前两年通过浏览器引入js的方式使用Vue简单升级了下,方便迭代功能.近期一个很简单的功能需
- Linux编辑器-vim使用
腾扬集团驻吉吉国大使
linux编辑器vim
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于xwindow、macos、windows。1.vim的基本概念vim的三种模式,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功
- unity3d——沙盒路径
极致人生-010
unity
文章目录Unity3D中不同平台的沙盒路径:示例在Unity3D中,尤其是在移动平台如Android和iOS上,由于系统安全机制,应用程序不能直接访问操作系统的所有文件和目录,而是被限制在一个特定的“沙盒”环境中。这个沙盒是一个私有文件夹,专供应用程序存储数据和资源使用。Unity3D中不同平台的沙盒路径:Android:沙盒路径通常指的是persistentDataPath,这是Unity提供的
- 由InputStream.available()引发的偶现bug
eduiH
踩坑记录java面试springboot
案情经过需求是通过Feign下载一个文件,然后将下载接口得到的InputStream文件转成MultipartFile类型然后再调另外一个接口。从Feign返回的InputStream中读取文件流转换成MultipartFile类型过程中会涉及到将InputStream转成OutputStream的操作。由于懒得找所以直接使用了前辈写的工具类,也懒得看实现细节,先把功能实现其他再说。代码大概是这样
- javaweb个人博客系统-第二版—项目概述
Sunflow007
22.jpg2018.11.08更新:代码更新已提交github,更新如下:1.Elasticsearch全文检索——之前说过的Elasticseach,现在终于加上了,附带Logstash定时增量导入Mysql中的数据。2.增加和完善了用户收藏、评论区创建讨论和点赞的功能3.个人中心查看已收藏文章的功能、个人中心上传图片(按时间线排列的照片墙)的功能下一步要做的事:1.完善功能、修改bug和代码
- [学习记录]esp32通过wifi进行http请求获得天气信息
ZYbppp
学习http网络协议
http协议解释本次使用的开发板为和宙esp32c3,使用的IDE为vscode+espidf程序整体流程:以下为程序详解WiFi连接首先使能nvs,将等下使用的WiFi账号及密码储存到nvs上NVS介绍:官方介绍比较繁杂。通俗来说,NVS就是在flash上分配的一块内存空间,提供给用户保存电不丢失的数据。进入主题,我们需要将esp32连接WiFi,此时使用为WIFISTATION模式,下面给出官
- Mysql在线安装及基本操作
_pass_
msyqlmysql数据库
更新apt工具sudoaptupdate安装MySQLsudoaptinstallmysql-server查看MySQL状态sudosystemctlstatusmysqlpass@pass:~$sudosystemctlstatusmysql●mysql.service-MySQLCommunityServerLoaded:loaded(/lib/systemd/system/mysql.ser
- react可视化编辑器 第五章 升级版 拖拽、缩放、转圈、移动
zhooson
react.js编辑器前端
本章代码结构:主入口Test.tsx,组件:ResizeControl.tsx本章花费俩天时间完成代码例子,单独抽离代码封装好一个ResizeControl组件,拿来即用。代码中constdomObj=document.getElementById(resize-item-${startPos.id})这句是关键代码,不然获取的dom节点有问题,导致多个红色div操作时候会重叠ResizeCont
- 在Linux/Ubuntu/Debian中创建自己的命令快捷方式
理工男老K
linuxubuntudebian运维
虽然图标快捷方式使你移动鼠标双击就打开目标,但是你还是需要先定位到它。而在终端Terminal中你只需要输入一个自定义命令就能一步到位。要在Ubuntu中创建你自己的命令或别名,你可以使用主目录中的“.bashrc”文件。以下是创建通过Wine运行Photoshop的别名的方法:打开终端窗口。在文本编辑器中打开“.bashrc”文件。你可以使用你喜欢的任何文本编辑器,例如nano或vim。例如:n
- 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