- Groovy初探
先写一个java代码//./java/MyClass.javapublicclassMyClass{publicintadd(){inta=1;intb=2;returna+b;}publicstaticvoidmain(String[]args){MyClassm=newMyClass();System.out.println(m.add());}}编译java源文件javacMyClass.j
- JMeter groovy 编译成.jar 文件
黑哒哒的盟友
jmeterjarjava
groovy编译一、windows下手动安装Groovy下载Groovy二进制包前往官网:https://groovy.apache.org/download.html下载Binaryrelease(https://groovy.jfrog.io/ui/native/dist-release-local/groovy-zips/apache-groovy-sdk-4.0.27.zip)解压到本地目
- mac装springboot_安装 Spring Boot CLI
2401DEM
mac装springboot
SpringBootCLI(CommandLineInterface)是一个命令行工具,可用于快速搭建基于Spring的原型。它支持运行Groovy脚本,这也就意味着你可以使用类似Java的语法,但不用写很多的模板代码。SpringBoot不一定非要配合CLI使用,但它绝对是让Spring应用进入状态的最快方式。手动安装你可以从Spring的软件仓库中下载SpringCLI分发包:一旦你下载完成后
- Jenkins Pipeline(二)
tomorrow.hello
Mavenjenkins运维
1.Pipeline变量在Jenkins管道(Pipeline)中,变量是一种非常有用的功能,它们可以帮助你在构建过程中存储和传递数据。Jenkins管道支持多种方式来定义和使用变量,包括环境变量、脚本变量以及全局变量。1.2脚本变量在pipeline脚本中,你可以使用Groovy脚本来定义和操作变量。pipeline{agentanystages{stage('Example'){steps{s
- logback 入门教程系列-03-logback config 配置
老马啸西风
logback
配置将日志请求插入应用程序代码需要相当多的计划和努力。观察表明,大约4%的代码专门用于记录。因此,即使是适度大小的应用程序也会在其代码中嵌入数千个日志记录语句。鉴于它们的数量,我们需要工具来管理这些日志语句。可以通过编程方式或使用以XML或Groovy格式表示的配置脚本来配置Logback。顺便说一句,现有的log4j用户可以使用我们的PropertiesTranslatorWeb应用程序将他们的
- Gradle 与 Maven 的深度对比分析
一、核心架构与设计哲学对比1.依赖管理机制维度GradleMaven声明语法Groovy/KotlinDSL(类型安全)XML(结构严谨,可读性低)动态版本支持2.5.+动态匹配仅支持固定版本(需-U强制更新)依赖作用域implementation/api精细控制compile/provided/test标准隔离冲突解决自动选择最高版本(可覆写)最短路径优先(需手动排除)Gradle优势:避免传递
- Jenkins Email Extension 插件
sankgao
Jenkinsjenkins运维
EmailExtension介绍问题和议题入门系统范围的配置项目配置流水线步骤用法预发送脚本和后发送脚本触发器扩展电子邮件发布者触发器常用触发选项脚本触发器选项TokensJelly脚本内容模板Groovy脚本内容模板附件Jive格式化程序EmailExtension官网地址:EmailExtension介绍这个插件通过给您更多的控制来扩展Mailer插件的功能。它提供了三个区域的定制:Trigg
- 结合Groovy脚本在IDEA可以为所欲为——使用数据库表生成实体类和表结构JSON
monkeyhi
工具使用数据库intellij-idea
生成MyBatisPlus实体在IDEA编辑器,双击shift键在GeneratePOJOs.groovy文件,同级目录下新建一个文件MyBatisPluspojo.groovy,将下面的代码粘贴进去即可,有问题可以自己改,在IDEA自带数据库工具的数据库表上右键执行importcom.intellij.database.model.DasTableimportcom.intellij.datab
- WEB攻防-Java安全&JNDI&RMI&LDAP&五大不安全组件&RCE执行&不出网
教IT的小强
前端java安全
#知识点:1、Java安全-RCE执行-5大类函数调用2、Java安全-JNDI注入-RMI&LDAP&高版本3、Java安全-不安全组件(框架)-Shiro&FastJson&Jackson&XStream&Log4j一、演示案例-Java安全-RCE执行-5大类函数调用1、GroovyExec;Datedate=newDate();Stringnow=sdf.format(date);printlnnow;python打印
- Gradle打包流程
GoatJun
Androidgradleandroid安卓
Gradle打包流程一、Gradle基础概念1、是什么自动化构建工具,通过组织一系列task来最终完成自动化构建的。2、gradle使用groovy或者kotlin编写。groovy是DSL。那么什么是DSL?DSL也就是DomainSpecificLanguage的简称,也就是领域特定语言,是为了解决某一类任务专门设计的计算机语言。DSL使用简单,定义比较简洁。3、无论是基于groovy还是ko
- groovy操作xml,获取属性值和标签值并修改
白水景东
groovygroovyxml
groovy操作xml,获取属性值和标签值,并将其修改一、用groovy操作xml,修改xml的值由于我操作的是plist文件,其中会有IOS的dtd对xml验证,解析的时候会报错,如下:org.xml.sax.SAXParseException;systemId:file:///Users/guoyf/Desktop/Info.plist;lineNumber:2;columnNumber:10
- Jenkins部署Java(maven)项目&Vue前端项目部署流水线pipeline模版-可直接使用Jenkinsfile
流水线已经编写完毕,修改流水线中参数,即可使用tips:注意Jenkins中是否给机器配置了路径前缀,本文均没有配置,使用绝对路径前端VUE部署模版#!groovypipeline{agentanyenvironment{//环境标识无其他用处,作为标识ENV_NAME="dev"//服务器标识Jenkins设置中服务器标识SERVER_CONFIG_NAME="DevComputer"//远程项
- 213. Gradle 构建工具入门
丰收连山
Java命令模式状态模式组合模式原型模式装饰器模式
一、Gradle简介Gradle构建工具入门什么是Gradle?Gradle是一个基于Groovy和KotlinDSL(领域特定语言)的开源构建自动化工具,主要用于Java、Kotlin、Android等项目的构建、测试、部署等任务。它结合了ApacheAnt的灵活性和ApacheMaven的约定优于配置(ConventionoverConfiguration)理念,同时引入了强大的依赖管理和增量
- groovy:java 发送一封带有附件的邮件
belldeep
Groovyjavajavagroovyjavax.mailemail
参阅:菜鸟教程:Java发送邮件从https://gitcode.com/open-source-toolkit/d6296/下载javax.mail-1.6.2.jar本机找到D:\groovy-2.5.6\lib\extras-jaxb\activation-1.1.1.jar你可以上网下载activation-1.1.1.jarcopyjavax.mail-1.6.2.jar,activat
- Dex 项目安装与使用教程
牧宁李
Dex项目安装与使用教程DexDex:TheDataExplorer--AdatavisualizationtoolwritteninJava/Groovy/JavaFXcapableofpowerfulETLandpublishingwebvisualizations.项目地址:https://gitcode.com/gh_mirrors/de/Dex1.项目的目录结构及介绍Dex是一个开源项目
- java 下一代语言_下一代的多语言JVM:GraalVM
胡佳威
java下一代语言
GraalVM是一款高性能的可嵌入式多语言虚拟机,它能运行不同的编程语言,包括:基于JVM的语言,比如Java,Scala,Kotlin和Groovy解释型语言,比如JavaScript,Ruby,R和PythonLLVM支持的原生语言,比如C,C++,Rust和SwiftGraalVM能有效地支持多语言应用,你可以在一个进程里同时使用多种编程语言而不会带来明显的性能开销——这样你就可以根据具体问
- Groovy基本语法
anzhenji7632
java
官方文档注释(Comments)和Java一样,支持单行(使用//)、多行(/**/)和文档注释(使用/***/)。ShebanglineUNIX系统支持一种特殊的单行注释叫作Shebangline,用于指明脚本的运行环境,这样就可以直接在终端中使用./xxx.groovy运行(当然,前提是文件得有可运行的权限),而不用像groovyxxx.groovy这样运行:#!/usr/bin/envgro
- 用 Kotlin 脚本(KTS)重塑 Android 工程效能:2000 字终极实践指南
时小雨
kotlinandroid开发语言
一、KTS核心优势解码1.1类型安全革命对比Groovy的动态类型缺陷,KTS的静态类型系统能在编译期拦截90%+的配置错误://Groovy的危险操作(运行时才会报错)dependencies{implementation"com.squareup.retrofit:retrofit:2.9.0"//拼写错误无法及时检测}//KTS的安全保障(编辑时立即提示)dependencies{imple
- jMeter压测环境部署JDK+Groovy+JMeter+Proto+IntelliJ IDEA
九班长
其它javajmeterintellij-ideawebsocketprotojsr223groovy
为确保Groovy、JDK和JMeter三者的版本兼容性,需遵循以下核心原则和步骤:一、版本兼容性对照表组件推荐版本范围关键兼容规则JDKJava8/11/17(LTS)-JMeter5.6+支持Java11/17GroovyGroovy3.0.7+或4.0+-Groovy3.x支持Java8-17-Groovy4.x支持Java11-21JMeterJMeter5.6+-JMeter5.6+内置
- Flutter 之原生混合开发
2401_85730375
flutter
打开原生项目的setting.gradle文件:include‘:app’rootProject.name=“NativeToFlutter”//加入如下代码setBinding(newBinding([gradle:this]))evaluate(newFile(‘flutter_lib/.android/include_flutter.groovy’))include‘:flutter_lib
- 13. 二分查找六题(一道困难题)
Mophead_Zarathustra
Hot100Mophead的小白刷题笔记leetcodepython
13.二分查找六题(一道困难题)这困难题是真难啊,这是我第一次做二分法章节,属实有点搞脑子。**对于二分法,灵茶山艾府的视频下面有一个评论(@毫微纳皮飞**)写的很好:我是在看了这篇文章,https://blog.csdn.net/groovy2007/article/details/78309120,里那句“关键不在于区间里的元素具有什么性质,而是区间外面的元素具有什么性质。”之后醍醐灌顶,建立
- Github 2025-04-18 Java开源项目日报 Top10
老孙正经胡说
githubjava开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2025-04-18统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Java项目10Groovy项目1C++项目1JavaGuide-Java程序员学习和面试指南创建周期:2118天开发语言:Java协议类型:ApacheLicense2.0Star数量:140773个Fork数量:44922次关注人数:140773
- Gradle安装与配置国内镜像源指南
兔子蟹子
笔记java
一、Gradle简介与安装准备Gradle是一款基于JVM的现代化构建工具,广泛应用于Java、Kotlin、Android等项目的构建自动化。相比传统的Maven和Ant,Gradle采用Groovy或KotlinDSL作为构建脚本语言,具有配置灵活、性能优越等特点。在开始安装前,请确保:已安装JDK8或更高版本(推荐JDK11+)了解您的操作系统类型(Windows/macOS/Linux)准
- AndroidStudio导入jar,aar到项目kts/groovy方式
debug_cat
AndroidStudiojarlinuxandroidandroidstudio
背景导入jar和aar到项目中新的配置方式有2中,简单,方便把jar和aar放到libs目录即可kts版本implementation(fileTree(mapOf("dir"to"libs","include"tolistOf("*.jar","*.aar"))))groovy版本implementationfileTree(dir:'libs',include:['*.jar','*.aar'
- Apache Maven 安装与配置全面指南
奔赴架构师的小白
apachemavenjava
ApacheMaven是一个项目管理和综合工具,主要用于Java项目,但它也支持其他语言如Scala和Groovy。Maven通过一个项目对象模型(POM)来管理项目构建、依赖管理和文档,大大简化了项目管理和构建过程。本指南将带你从零开始,一步步安装和配置Maven,以便你能在本地机器上顺利构建和管理Java项目。第一部分:Maven简介Maven的核心理念是约定优于配置,这意味着Maven有一个
- Groovy语言的物联网
霍徵琅
包罗万象golang开发语言后端
Groovy语言在物联网中的应用引言物联网(IoT,InternetofThings)是一个新兴的技术领域,其将物理世界中的设备通过网络连接起来,使它们能够相互通信和交换数据。随着5G技术的快速发展,物联网已逐渐渗透到各个行业,如智慧城市、智能家居、工业自动化等。在这个背景下,编程语言的选择对物联网应用的开发至关重要。Groovy作为一种动态语言,其简洁性和灵活性使其在物联网开发中逐渐受到关注。本
- 基于Groovy的规则脚本引擎实战
浪尖聊大数据-浪尖
javapythonspring编程语言jvm
因为之前在项目中使用了Groovy对业务进行一些抽象,效果比较好,过程中也踩了一些坑,所以简单记录分享一下自己如何一步一步实现的,在这里你可以了解:1、为什么选用groovy作为规则脚本引擎2、了解Groovy的基本原理和Java如何集成3、分析Groovy与java集成的一些问题和坑4、在项目中使用时做了哪些性能优化5、实际使用时需考虑的一些tips互联网时代随着业务的飞速发展,迭代和产品接入的
- Groovy的类加载机制
G-罗
JAVAJAVAGroovyClassloader双亲委派JVM
Java的双亲委派模型:Java的ClassLoader除了BootstrapClassLoader外,每个ClassLoader都有一个parent的ClassLoader,沿着parent最终会追索到BootstrapClassLoader;当一个ClassLoader要加载一个类时,会首先委派给parent,如果parent能载入这个类,则返回,否则这个ClassLoader才会尝试去载入这
- 持续交付(三)Jenkinsfile语法使用介绍
M1kasal
Jenkinsjenkinscd
前言本章主要讲述:Jenkinsfile语法基本介绍上篇blog已经讲过Pipeline的操作我们都是用解释性代码Jenkinsfile来描述且Jenkinsfile的语法形式有两种#V2.5之后引入,结构化方式-1、Declarativepipeline#基于groovy的语法-2、Scriptspipeline那本章咱们就详细讲述一下这两种语法的使用一、Declarativepipeline基
- 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