Element-ui的el-table表格嵌套如何默认展开行,试试这个吧!(芋道源码yudao-cloud 二开笔记)
码农九零
笔记elementuivue3el-table
展示效果在el-table组件中有默认展开的属性expand-row-keys需要配合row-key使用,可能是我用的方式不对,用了不生效。所以我索性换一种解决方案。通过Vue的ref方法手动展开第一行。1.在el-table组件上添加ref首先,给el-table组件添加一个ref,用于在代码中引用这个表格。2.在表格数据加载完成后展开第一行在mounted钩子或数据加载完成的回调中,使用$re
【已解决】Vue Duplicate keys detected: ‘[object Object]’
二川bro
bug集合vue.js前端
【已解决】VueDuplicatekeysdetected:‘[objectObject]’在Vue项目开发过程中,我们可能会遇到这样的报错:“Duplicatekeysdetected:‘[objectObject]’.Thismaycauseanupdateerror.”。这个错误通常发生在Vue的虚拟DOM进行渲染更新时,如果检测到重复的key值,就会抛出此警告。为了深入理解这个问题,并找到
Python-Django毕业设计在线音乐网站(程序+Lw)
罗曼计算机毕设程序
pythondjango课程设计
该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+python3.7.7+Mysql5.7+HBuilderX+listpip+Navicat11+Django+nodejs。项目技术:django+python+Vue等等组成,B/S模式+pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版
vue.js项目实战案例详细源码讲解
程序员小羊!
Javavue.js前端javascript
大家好,我是程序员小羊!前言:为帮助大家更好地掌握Vue.js项目的开发流程,我将为你讲解一个完整的Vue.js实战案例,并提供详细的源码解析。这个案例将涵盖从项目创建到实现各种功能模块的全过程,适合用于构建一个具有基本CRUD功能的简单任务管理应用。案例介绍我们将开发一个任务管理应用(TaskManager),它允许用户添加、查看、编辑和删除任务。这个应用将包括以下主要功能模块:任务列表显示:展
如何在 Vue 中创建一个带有表格和表单的弹窗
云只上
vue.jsjavascript前端
本文将通过一个具体的示例来介绍如何在Vue应用中实现一个带有表格和表单功能的弹窗组件。我们将使用ElementUI库中的el-dialog组件来构建这个弹窗,并结合el-table和el-form来展示数据并允许用户进行编辑。效果图:完整代码最底部,以下拆分解析----------1.引入必要的ElementUI组件2.创建弹窗结构接下来定义弹窗的基本结构。这里我们使用el-dialog组件,并为
为了在前端项目打包后删除 console.log 日志,可以采用不同的方法来实现这一目标。以下是几种常见的方式,包括在 Webpack 和 Vite 中的具体实现。
云只上
前端javascriptvue.js
在构建Vue应用时,为了提高生产环境的性能和安全性,通常会对代码进行一系列的优化。其中一个常见的优化是在生产环境中移除console.log日志,从而减少不必要的日志输出,提高应用性能webpack生产环境优化1.环境判断首先,我们需要判断当前环境是否为生产环境。这可以通过检查process.env.NODE_ENV环境变量来实现:constisProduction=process.env.NOD
Vue3 ElementPlus Table表格实现单选
云只上
vue.jsjavascript前端
import{ref,reactive,toRefs}from'vue'consttaskTableRef=ref();//表格ref//变量定义conststate=reactive({tableData:[{name:'烬'},{name:'塞拉'},{name:'格温'}],});//主要方法//table选择项发生变化时会触发该事件constselectClick=(selection:a
Vue.js 样式绑定
wjs2024
开发语言
Vue.js样式绑定Vue.js是一种流行的前端框架,它提供了一种简洁而强大的方式来绑定样式到元素上。样式绑定允许开发者根据组件的状态动态地改变元素的样式。在Vue中,样式绑定可以通过多种方式实现,包括类绑定、内联样式绑定和计算属性样式绑定。类绑定类绑定是Vue中最常用的样式绑定方式之一。它允许你根据组件的数据动态地切换元素的类。类绑定可以通过v-bind:class指令实现,也可以简写为:cla
vue3+ts 中使用mitt进行跨组件通信
我胡为喜呀
vue.js前端框架前端
mitt插件的使用安装插件进行封装一个模块,对外暴露一个Mitt实例使用安装插件官方文档pnpmimitt--s//我用的pnpm或npmi--smitt或yarnaddmitt进行封装一个模块,对外暴露一个Mitt实例1、在utils文件夹下新建mitt(例如mitt.ts),用于初始化并导出mitt实例://src/eventBus.tsimportmittfrom'mitt';//定义事件类
day38-测试平台搭建之前端vue学习-ES6
开测开测
开发语言测试自动化测试测试开发vscodevuees6
一、为什么要学习ES6?1.1.ES5语言的先天性不足。比如变量提升、内置对象的方法不灵活、模块化实现不完善等等1.2.为了后面vue、尤其是react框架做好了准备1.3.目前大部分公司的项目都在使用es6二、ES6新特性2.1.let和const命令let和const//var//vara=2//1.let声明变量,没有变量提升//console.log(a);//leta=10;//cons
TypeScript+Vue
神小夜
前端vuetypescript
Vue官方TypeScript支持文档初始化项目使用@vue/cli创建模版项目(啥是@vue/cli)具体操作自行百度提示:@vue/cli脚手架默认生成的项目是零webpack配置,但是可以支持自定义webpack配置。只需在根目录下新建vue.config.js配置文件,这个文件会被@vue/cli-service自动加载。vue.config.js基础配置模版:constpath=requ
搭配 TypeScript 使用 Vue
kingrome2009
vue3typescriptvue.jstypescriptjavascript
IDE支持Volar是官方的VSCode扩展,提供了Vue单文件组件中的TypeScript支持,还伴随着一些其他非常棒的特性。TypeScriptVuePlugin用于支持在TS中import*.vue文件。配置tsconfig.json通过create-vue搭建的项目包含了预先配置好的tsconfig.json。手动配置tsconfig.json时,请留意以下选项:compilerOptio
VUE 组件
.YoIo
vue.js前端javascript
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、VUE组件---组件注册二、VUE--组件props三、插槽四、深层组件传值五、动态组件前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、VUE组件—组件注
vue响应式原理
.YoIo
vue.js前端javascript
对于响应式原理,我们先了解vue是一个MVVM结构的框架;也就是数据层、视图层、数据-视图层;响应式的原理就是实现当数据更新时,视图层也要相应的更新,基于响应式原理我们可以使数据驱动视图的实现变得简单而高效一、响应式原理对于Vue2中的响应式处理来说,他基于js的object.defineProperty()方法的。它的原理主要是如下几步实现的:1、数据劫持:在vue中,当你把一个普通js对象传给
Vue3与TypeScript的深度结合:技术指南及实践详解
小码快撩
vue.jstypescript
引言Vue.js在Vue3版本中引入了众多革新性的功能和优化,如CompositionAPI、Teleport组件等,并且对性能和可维护性进行了显著提升。与此同时,TypeScript作为一种强大的静态类型检查语言,其严谨的类型系统和智能代码提示极大地增强了JavaScript开发体验。当Vue3与TypeScript相结合时,能够为开发者带来更加高效、安全且易于维护的现代前端开发环境。本文将全面
深入探索Vue.js组件与插件技术
小码快撩
vue.js前端javascript
引言在Vue.js的世界里,组件化和插件化是构建大规模可维护前端应用的重要基石。组件是Vue的核心概念之一,它让开发者能够将UI分割成可复用的独立模块;而插件则是Vue生态系统中用于扩展框架功能的强大工具。本文将详细阐述Vue组件和插件的基本概念、核心功能及其实际应用场景,帮助你更好地驾驭Vue.js开发之旅。Vue.js组件学习技术点1.定义组件Vue.js中定义组件的方式主要有两种:全局注册和
2021-10-21 vue笔记-组件化开发(四) 组建通信:非父子通信-事件总线,在vue项目中使用eventbus的例子
前端OnTheRun
vue学习笔记vue.js组件非父子通信组建通信eventBus
文章目录1.事件总线(eventBus)定义用途原理2.eventBus使用步骤3.在HTML网页中使用事件总线:模拟公众号和用户之间信息的发送和接收代码结果4.在vue项目中使用事件总线:点击增加减小按钮实现数值的增减4.1.初始化:创建一个事件总线4.2.发送事件:导入eventBus,使用`$emit`发送数据;子组件IncrementCount子组件DecreaseCountIncreme
vue移动端适配postcss-px-to-viewport
我是七月
在之前有一种流行已久的移动端适配方案,那就是rem,我想下面这两句代码,有不少老移动端都不会陌生:constdeviceWidth=document.documentElement.clientWidth||document.body.clientWidth;document.querySelector('html').style.fontSize=deviceWidth/7.5+'px';没错,
基于Java+Springboot+Vue+elememt宠物用品商城系统设计实现
网顺技术团队
成品程序项目javaspringbootvue.js课程设计后端spring
基于JavaWeb开发的宠物用品商城系统作者主页网顺技术团队欢迎点赞收藏⭐留言文末获取源码联系方式查看下方微信号获取联系方式承接各种定制系统精彩系列推荐精彩专栏推荐订阅不然下次找不到哟Java毕设项目精品实战案例《1000套》感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人文章目录基于JavaWeb开发的宠物用品商城系统一、前言介绍:二、系
前端动画实现:React 和 Vue 框架技术实现 filp
@逆风boy
vuevue.jsreact
前言在Vue的官网中的过渡动画章节中,可以看到一个很酷炫的动画效果手写出这个逻辑应该是非常复杂的。但是文档里我们发现一个名词:FLIP,这给了我们一个线索,用filp可以实现。在Aerotwist社区里的一篇文章:flip-your-animations,以这篇文章为切入点,一步步来实现一个类似的效果。预览实现的最终效果:预览效果网址里看:http://sl1673495.gitee.io/fli
vue3 reactive和ref的区别
张张张爱学习
Vue3vue.js前端javascript
定义角度来看ref用来定义:基本类型数据。reactive用来定义:对象(或数组)类型数据。备注:ref也可以用来定义对象(或数组)类型数据,它内部会自动通过reactive转为代理对象。constisActive=ref(false)console.log(isActive.value)//falseconstperson=reactive({name:'zhang',age:'18'})原理角
这个项目所需的配置文件和依赖
努力学习的小宇同学
从0开始做一个前后端分离项目依赖
这是用于记录这个项目的依赖,中间出现了很多版本问题,这是最后解决出来的版本配置文件spring:datasource:url:jdbc:mysql://localhost:3306/vueadmin?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTCusername:rootpassword:Qq702196driver-class
vue3keep-alive 缓存的是什么信息 el-table的expand-row-keys展开是否会默认缓存
qq_42463588
缓存vue.js前端
在Vue3中,组件用于缓存不活动的组件实例,而不是渲染内容。当组件被缓存时,它的状态和数据将被保留,直到组件再次被激活。缓存的信息:组件实例:会缓存组件的实例,这意味着组件的生命周期钩子(如created、mounted、updated)不会再次被调用,直到组件被重新激活。组件状态:组件的数据和状态(例如data、computed、watchers)会被保留。子组件:如果父组件被缓存,其子组件也会
vue3 + ts中有哪些类型是由vue3提供的?
汝&戏
vue3+tsvue.js前端javascript
在Vue3中结合TypeScript使用时,Vue提供了一系列的类型帮助函数和接口,这些类型用于增强TypeScript的集成和提供类型安全。以下是一些由Vue3提供的常用TypeScript类型:RefType:用于标注一个ref返回的响应式引用类型。ReactiveType:用于标注一个reactive返回的响应式对象。ComponentPublicInstance:用于标注一个组件的公共实例
浅谈Vue和React对比
时倾௸
vue.jsreact.js
这里就做几个简单的类比吧,当然没有好坏之分,只是使用场景不同相同点都有组件化思想都支持服务器端渲染都有VirtualDOM(虚拟dom)数据驱动视图都有支持native的方案:Vue的weex、React的Reactnative都有自己的构建工具:Vue的vue-cli、React的CreateReactApp区别数据变化的实现原理不同。react使用的是不可变数据,而Vue使用的是可变的数据组件
Node:解决Error: error:0308010C:digital envelope routines::unsupported的解决方法
码上言
分享vue
问题描述在使用vuepress搭建博客的时候,运行项目发现报错了,检查了node的版本是18+,之前用的是16或14的版本,现在报:Error:error:0308010C:digitalenveloperoutines::unsupported错误。查找了一些资料,大致明白了报错的原因:主要是因为node17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,node17之前版本
动态修改网页icon图标
涔溪
jsvuevuejs
动态修改网页icon图标//如果在vue项目中在App.vue下的created()中输入varlink=document.querySelector("link[rel*='icon']")||document.createElement("link");link.type="image/x-icon";link.rel="shortcuticon";link.href=this.icon_ur
怎么使用Mybatisplus的分页插件来完成分页
努力学习的小宇同学
从0开始做一个前后端分离项目MybatisPlus分页插件Mybatisplus分页分页插件
前端使用的Elementui后端1.在配置里配置数据源spring:datasource:url:jdbc:mysql://localhost:3306/vueadmin?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTCusername:rootpassword:Qq702196driver-class-name:com.mysq
ASM系列六 利用TreeApi 添加和移除类成员
lijingyao8206
jvm动态代理ASM字节码技术TreeAPI
同生成的做法一样,添加和移除类成员只要去修改fields和methods中的元素即可。这里我们拿一个简单的类做例子,下面这个Task类,我们来移除isNeedRemove方法,并且添加一个int 类型的addedField属性。
package asm.core;
/**
* Created by yunshen.ljy on 2015/6/
Springmvc-权限设计
bee1314
springWebjsp
万丈高楼平地起。
权限管理对于管理系统而言已经是标配中的标配了吧,对于我等俗人更是不能免俗。同时就目前的项目状况而言,我们还不需要那么高大上的开源的解决方案,如Spring Security,Shiro。小伙伴一致决定我们还是从基本的功能迭代起来吧。
目标:
1.实现权限的管理(CRUD)
2.实现部门管理 (CRUD)
3.实现人员的管理 (CRUD)
4.实现部门和权限
算法竞赛入门经典(第二版)第2章习题
CrazyMizzz
c算法
2.4.1 输出技巧
#include <stdio.h>
int
main()
{
int i, n;
scanf("%d", &n);
for (i = 1; i <= n; i++)
printf("%d\n", i);
return 0;
}
习题2-2 水仙花数(daffodil
struts2中jsp自动跳转到Action
麦田的设计者
jspwebxmlstruts2自动跳转
1、在struts2的开发中,经常需要用户点击网页后就直接跳转到一个Action,执行Action里面的方法,利用mvc分层思想执行相应操作在界面上得到动态数据。毕竟用户不可能在地址栏里输入一个Action(不是专业人士)
2、<jsp:forward page="xxx.action" /> ,这个标签可以实现跳转,page的路径是相对地址,不同与jsp和j
php 操作webservice实例
IT独行者
PHPwebservice
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。我测试的环境为:apache2.2.11 php5.2.10做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice
//server端 serve
Windows下使用Vagrant安装linux系统
_wy_
windowsvagrant
准备工作:
下载安装 VirtualBox :https://www.virtualbox.org/
下载安装 Vagrant :http://www.vagrantup.com/
下载需要使用的 box :
官方提供的范例:http://files.vagrantup.com/precise32.box
还可以在 http://www.vagrantbox.es/
更改linux的文件拥有者及用户组(chown和chgrp)
无量
clinuxchgrpchown
本文(转)
http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/
http://ydlmlh.iteye.com/blog/1435157
一、基本使用:
使用chown命令可以修改文件或目录所属的用户:
命令
linux下抓包工具
矮蛋蛋
linux
原文地址:
http://blog.chinaunix.net/uid-23670869-id-2610683.html
tcpdump -nn -vv -X udp port 8888
上面命令是抓取udp包、端口为8888
netstat -tln 命令是用来查看linux的端口使用情况
13 . 列出所有的网络连接
lsof -i
14. 列出所有tcp 网络连接信息
l
我觉得mybatis是垃圾!:“每一个用mybatis的男纸,你伤不起”
alafqq
mybatis
最近看了
每一个用mybatis的男纸,你伤不起
原文地址 :http://www.iteye.com/topic/1073938
发表一下个人看法。欢迎大神拍砖;
个人一直使用的是Ibatis框架,公司对其进行过小小的改良;
最近换了公司,要使用新的框架。听说mybatis不错;就对其进行了部分的研究;
发现多了一个mapper层;个人感觉就是个dao;
解决java数据交换之谜
百合不是茶
数据交换
交换两个数字的方法有以下三种 ,其中第一种最常用
/*
输出最小的一个数
*/
public class jiaohuan1 {
public static void main(String[] args) {
int a =4;
int b = 3;
if(a<b){
// 第一种交换方式
int tmep =
渐变显示
bijian1013
JavaScript
<style type="text/css">
#wxf {
FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#97FF98);
height: 25px;
}
</style>
探索JUnit4扩展:断言语法assertThat
bijian1013
java单元测试assertThat
一.概述
JUnit 设计的目的就是有效地抓住编程人员写代码的意图,然后快速检查他们的代码是否与他们的意图相匹配。 JUnit 发展至今,版本不停的翻新,但是所有版本都一致致力于解决一个问题,那就是如何发现编程人员的代码意图,并且如何使得编程人员更加容易地表达他们的代码意图。JUnit 4.4 也是为了如何能够
【Gson三】Gson解析{"data":{"IM":["MSN","QQ","Gtalk"]}}
bit1129
gson
如何把如下简单的JSON字符串反序列化为Java的POJO对象?
{"data":{"IM":["MSN","QQ","Gtalk"]}}
下面的POJO类Model无法完成正确的解析:
import com.google.gson.Gson;
【Kafka九】Kafka High Level API vs. Low Level API
bit1129
kafka
1. Kafka提供了两种Consumer API
High Level Consumer API
Low Level Consumer API(Kafka诡异的称之为Simple Consumer API,实际上非常复杂)
在选用哪种Consumer API时,首先要弄清楚这两种API的工作原理,能做什么不能做什么,能做的话怎么做的以及用的时候,有哪些可能的问题
在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
java-归并排序
bylijinnan
java
import java.util.Arrays;
public class MergeSort {
public static void main(String[] args) {
int[] a={20,1,3,8,5,9,4,25};
mergeSort(a,0,a.length-1);
System.out.println(Arrays.to
Netty源码学习-CompositeChannelBuffer
bylijinnan
javanetty
CompositeChannelBuffer体现了Netty的“Transparent Zero Copy”
查看API(
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/buffer/package-summary.html#package_description)
可以看到,所谓“Transparent Zero Copy”是通
Android中给Activity添加返回键
hotsunshine
Activity
// this need android:minSdkVersion="11"
getActionBar().setDisplayHomeAsUpEnabled(true);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
静态页面传参
ctrain
静态
$(document).ready(function () {
var request = {
QueryString :
function (val) {
var uri = window.location.search;
var re = new RegExp("" + val + "=([^&?]*)", &
Windows中查找某个目录下的所有文件中包含某个字符串的命令
daizj
windows查找某个目录下的所有文件包含某个字符串
findstr可以完成这个工作。
[html]
view plain
copy
>findstr /s /i "string" *.*
上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中查找"string&qu
改善程序代码质量的一些技巧
dcj3sjt126com
编程PHP重构
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。让我们看一些基本的编程技巧: 尽量保持方法简短 尽管很多人都遵
SharedPreferences对数据的存储
dcj3sjt126com
SharedPreferences简介: &nbs
linux复习笔记之bash shell (2) bash基础
eksliang
bashbash shell
转载请出自出处:
http://eksliang.iteye.com/blog/2104329
1.影响显示结果的语系变量(locale)
1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:
[root@localhost shell]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
Android零碎知识总结
gqdy365
android
1、CopyOnWriteArrayList add(E) 和remove(int index)都是对新的数组进行修改和新增。所以在多线程操作时不会出现java.util.ConcurrentModificationException错误。
所以最后得出结论:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。发生修改时候做copy,新老版本分离,保证读的高
HoverTree.Model.ArticleSelect类的作用
hvt
Web.netC#hovertreeasp.net
ArticleSelect类在命名空间HoverTree.Model中可以认为是文章查询条件类,用于存放查询文章时的条件,例如HvtId就是文章的id。HvtIsShow就是文章的显示属性,当为-1是,该条件不产生作用,当为0时,查询不公开显示的文章,当为1时查询公开显示的文章。HvtIsHome则为是否在首页显示。HoverTree系统源码完全开放,开发环境为Visual Studio 2013
PHP 判断是否使用代理 PHP Proxy Detector
天梯梦
proxy
1. php 类
I found this class looking for something else actually but I remembered I needed some while ago something similar and I never found one. I'm sure it will help a lot of developers who try to
apache的math库中的回归——regression(翻译)
lvdccyb
Mathapache
这个Math库,虽然不向weka那样专业的ML库,但是用户友好,易用。
多元线性回归,协方差和相关性(皮尔逊和斯皮尔曼),分布测试(假设检验,t,卡方,G),统计。
数学库中还包含,Cholesky,LU,SVD,QR,特征根分解,真不错。
基本覆盖了:线代,统计,矩阵,
最优化理论
曲线拟合
常微分方程
遗传算法(GA),
还有3维的运算。。。
基础数据结构和算法十三:Undirected Graphs (2)
sunwinner
Algorithm
Design pattern for graph processing.
Since we consider a large number of graph-processing algorithms, our initial design goal is to decouple our implementations from the graph representation
云计算平台最重要的五项技术
sumapp
云计算云平台智城云
云计算平台最重要的五项技术
1、云服务器
云服务器提供简单高效,处理能力可弹性伸缩的计算服务,支持国内领先的云计算技术和大规模分布存储技术,使您的系统更稳定、数据更安全、传输更快速、部署更灵活。
特性
机型丰富
通过高性能服务器虚拟化为云服务器,提供丰富配置类型虚拟机,极大简化数据存储、数据库搭建、web服务器搭建等工作;
仅需要几分钟,根据CP
《京东技术解密》有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的12月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
12月试读活动回顾:
http://webmaster.iteye.com/blog/2164754
本次技术图书试读活动获奖名单及相应作品如下:
一等奖(两名)
Microhardest:http://microhardest.ite