- Fabric.js:让网页图形动起来的魔术师!
DT——
其他fabricjavascript运维
Fabric.js:赋予Canvas生命的魔术师之手在网页开发的世界里,图形的创建与操作就像一场精心编排的魔术表演。当我们想要在网页上呈现出绚丽多彩、灵活多变的矢量图形时,原生Canvas虽能实现基础功能,却常常因开发效率低、交互实现复杂等问题,让开发者们头疼不已。而今天要给大家介绍的Fabric.js,就像是一位神奇的魔术师,轻轻挥动魔杖,就能赋予Canvas无限的生命力!1.Fabric.js
- 探索GORM:Go语言中的开发友好型ORM库
探索GORM:Go语言中的开发友好型ORM库gormThefantasticORMlibraryforGolang,aimstobedeveloperfriendly项目地址:https://gitcode.com/gh_mirrors/gor/gorm在Go语言的生态系统中,有一颗璀璨的明星——GORM,为开发者们带来了高效且直观的对象关系映射(ORM)体验。这是一篇专为那些寻求数据库操作简便性
- 离线命令行安装Android SDK components
fanqi987
android
AndroidSDKcomponentsInstaller的国内网络不便性AndroidSDKcomponentsInstaller使用Google仓库,在安装某个新组件有时会阻塞网络。修改SDKUpdateSite国内镜像不方便,并且仓库滞后。使用全局网络代理也有喧宾夺主之嫌。命令行sdkmanager手动安装组件sdkmanager|AndroidStudio|AndroidDeveloper
- 06-three.js 创建自己的缓冲几何体
四喜花露水
Threejavascript前端开发语言
Three.jsJourney—LearnWebGLwithThree.jsTheultimateThree.jscoursewhetheryouareabeginneroramoreadvanceddeveloperhttps://threejs-journey.com/?c=p3关键点:1.newFloat32Array()2.newTHREE.BufferAttribute()3.geome
- ruby on rails_Ruby,Rails和冒名顶替综合症,作者Glenn Goodrich
culi3118
编程语言python人工智能java大数据
rubyonrailsInthisepisodeoftheVersioningShow,TimandDavidarejoinedbyGlennGoodrich,akaRuprict,adeveloperbydayandSitePoint’sRubyChanneleditorbynight.TheydiscussthebenefitsofRuby,buildingwebsiteswithRails,
- Unity纹理的性能优化
东邪丶
游戏开发图形学/渲染unity性能优化游戏引擎纹理贴图
https://developer.unity.cn/projects/6482ba86edbc2a116e4f27c1在Unity的储存方式大部分的纹理,Unity都会保存两份像素数据的副本:GPU内存:对应的数据对象为RenderTexture,是渲染所需的数据CPU内存:对应的数据对象为Texture,属于可选数据,又被成为可读纹理,用于读取/写入/控制像素数据在Unity不同位置的像素数据
- Qt开发:QCustomPlot
倔强老吕
qtQCustomPlot
【官方网站】:QtPlottingWidgetQCustomPlot-IntroductionQCustomPlot是一个用于绘制图形的QtC++库,它使得在Qt程序中创建高质量的2D图表变得简单。这个库非常适合用来展示实时数据,同时它也支持多种输出格式,包括打印质量的矢量图形如PDF文件。以下是QCustomPlot的一些主要特性:提供丰富的2D绘图类型,比如折线图、散点图、柱状图等。支持多轴图
- 基于C#开发的,支持多平台二维图表开源编辑器
编程乐趣
c#编辑器开发语言
推荐一个基于C#开发的,支持多平台的二维图表开源编辑器。01项目简介Core2D是一个支持跨平台、多平台的应用程序,内置wyswig矢量图形编辑器,可用于数据驱动生成二维图。**1、wyswig矢量图形编辑器:**内置了一个强大的图形编辑器,它允许用户将数据绑定到形状,这使得图表制作变得非常灵活和易于操作。**2、跨文档数据共享:**支持在多个文档之间共享数据,这使得用户可以轻松地在不同的图表之间
- Xcode安装及卸载
rs勿忘初心
xcodemacosXcode安装Xcode卸载
MacOS下卸载和安装Xcode卸载Xcode:MacOS下卸载Xcode,重新安装Xcode安装Xcode:https://developer.apple.com/download/more/
- [FPGA]嵌入式系统FPGA设计资源
元直数字电路验证
数模混合电路设计与仿真fpga开发嵌入式硬件
嵌入式系统FPGA设计资源一、供应商https://www.altera.com-AlteraFPGA供应商网站https://www.altera.com/events/northamerica/intel-soc-fpga-developer-forum/overview.html-SoC开发人员论坛https://www.altera.com/content/dam/altera-www/g
- pdf 不是扫描件,但却无法搜索关键词【问题尝试解决未果记录】
Lauren_Lu
pdf
一、不是扫描件但不能搜索的原因1.情况一:文字被转成了“图形文字”有些PDF文件虽然看起来像是文字,其实是图片或者矢量图格式,不能直接搜索。2.情况二:PDF被加密有些PDF设置了“内容复制/提取”权限受限,即使你能阅读,但不能搜索、复制或选择文字。这通常是加密的一种表现。3.情况三:PDF嵌入了字体,但不是真正的文本有时PDF作者用的特殊软件或字体,会让文字显示正常,但实际上是不可识别的字符二、
- 安卓开发 手动构建 .so
XCZHONGS
android
手动构建.so(兼容废弃ABI)下载旧版NDK(推荐r16b)地址:https://developer.android.com/ndk/downloads/older_releases下载NDKr16b(最后支持armeabi、mips、mips64的版本)使用ndk-build手动构建(不使用Gradle)在源文件目录下执行D:\ideal\androidstudio\sdk\ndk\16.1.
- Qt, OpenCV与OpenGL协同作战:图像处理与三维图形界面的完美结合
奇树谦
QTqtopencv图像处理
原文链接:https://developer.aliyun.com/article/1463740文章目录Qt,OpenCV与OpenGL协同作战:图像处理与三维图形界面的完美结合1.引言图像处理与三维图形界面的重要性Qt,OpenCV与OpenGL简介与应用场景QtOpenCVOpenGL结合Qt,OpenCV与OpenGL的优势与价值2.Qt基础知识与特性Qt库的组成与功能Qt库的安装与使用Q
- Kubernetes自动伸缩全解析:HPA、VPA与CA的协同工作原理
倪俊炼
Kubernetes自动伸缩全解析:HPA、VPA与CA的协同工作原理developer-roadmapdeveloper-roadmap项目地址:https://gitcode.com/gh_mirrors/deve/developer-roadmap概述在现代云原生环境中,应用的负载往往具有波动性,静态配置的资源很难满足动态需求。Kubernetes提供了三种自动伸缩机制来应对这一挑战:Hor
- [论文阅读] 软件工程 | 探索软件生态系统中的开发者体验关键因素
探索软件生态系统中的开发者体验关键因素:从研究到实践引文格式@article{Zacarias2025,title={ExploringDeveloperExperienceFactorsinSoftwareEcosystems},author={Zacarias,RodrigoOliveiraandAntunes,L{\'e}oCarvalhoRamosandBarros,M{\'a}rciod
- 好用的图标库和字体库
今日亦是美好的一天
css前端
图标库1.antd自带的icon链接:图标Icon-AntDesign要安装一下:npminstall@ant-design/icons@你的antd版本--save2.iconfont-阿里巴巴矢量图标库链接:iconfont-阿里巴巴矢量图标库3.IconPark-字节图标库链接:ByteDanceIconPark字体库1.字体天下链接:搜索结果-字体天下之前用来找关于大屏的数字格式,比如上面
- 链接拉起微信小程序
月深夜微凉
微信小程序小程序微信
前言:之前做过RN的app拉起小程序外链拉起app,需求变更,需要支持微信分享出去的链接拉起小程序,这里对微信分享做个补充准备工作:微信开放平台绑定小程序绑定时需要管理员账号app和小程序同一开发平台时,不用其他额外设置,如果不是同一平台,需要app绑定小程序获取access_token文档链接:https://developers.weixin.qq.com/miniprogram/dev/Op
- 在 VSCode 中打开 Overleaf 项目
Hash the Hacker
vscode
1.获取Overleafsession(1)登陆Overleaf主页,overleaf.com/project(2)F12打开developer模式,选择“Network”(3)在列表中选择“Project”(4)(5)在“Header”里找到“RequestHeaders”(6)(7)把Cookie中的“overleaf_session2”字段整个复制出来,即:从“overleaf_sessio
- torch-gpu版本 anaconda配置教程
GXYGGYXG
python
教程Pytorch的GPU版本安装,在安装anaconda的前提下安装pytorch_pytorch-gpu-CSDN博客版本对应PyTorch中torch、torchvision、torchaudio、torchtext版本对应关系_torch2.0.1对应的torchvision-CSDN博客cuda下载地址CUDAToolkitArchive|NVIDIADevelopercudacudnn
- 使用mit协议的编程语言_从使用诺基亚功能手机进行编程到如何为MIT初创公司工作的过程如何
cumi6497
大数据人工智能java编程语言python
使用mit协议的编程语言In2012,IwasjustavillageboyfromNigeriawhohadnothingbutadreamandaNokiafeature(J2ME)phone.Today,I’ma19yearoldAndroiddeveloperwhohasworkedonover50appsandcurrentlyworksforanMITstartup.MynameisE
- 61-Oracle SQL Monitor-实操
远方1609
oraclesql数据库database大数据
小伙伴们是不是一直使用ASH、AWR进行整体性能观测和排查,偶尔也需要单个sql进行监测。用sqlplus中脚本生成监控报告,有些繁琐,如果有条件直接使用SQLDEVELOPER图形界面观察(EMCC,EM24ai上直接查询更方便)。一、SQLMonitor核心功能与价值实时性能监控动态捕获SQL执行细节,包括执行计划、等待事件、物理/逻辑读、CPU时间、I/O开销等。自动监控执行时间超过5秒、并
- openLayer使用Feature添加点线面图层
尽意啊
openlayers前端vue.js
添加点线面图层首先要知道需要完成那些步骤?1.创建矢量图层对象2.创建数据源3.利用创建Feature创建(点|线|面)要素,要素的样式4.将feature添加到数据源中5.将数据源添加到矢量图层对象6.将图层对象放入map对象中通过这六步完成添加点线面图层,可以按照这六步骤拆解问题,进而解决问题.同时不了解什么是矢量对象,数据源等等,可以查看文章openlayers核心架构思维导图-CSDN博客
- 用Java将PDF转换成GIF
IDRSolutions_CN
pdf软件工程团队开发java经验分享
为什么要将PDF文件转换为GIF图片?PDF是一种矢量图像格式(因此可以根据指定的尺寸进行渲染),而GIF是一种有损的、固定尺寸的位图文件,像素值固定。因此,将PDF转换为GIF文件时,我们需要先创建一个空白图片,然后将PDF内容绘制到这个图片上。通常这个过程可以通过PDF工具(如Acrobat)来完成,不过我们的JavaPDF库(JPedal)也提供了这一功能。实际上,很多主要语言中都有开源或商
- vue EventSource使用及配置请求头、webpack代理配置
我的心巴
vue.js前端javascript
EventSourcePolyfill是EventSource封装的一个方法,可以配置请求头。官方API:https://developer.mozilla.org/en-US/docs/Web/API/EventSource一、安装依赖npminstalleventsourcenpminstallevent-source-polyfill二、不需要加请求头时consteventSource=ne
- 微信小程序在wxml文件中使用函数
浅箬
微信小程序日常问题总结小程序WXSwxml使用函数
这是微信小程序WXS使用链接https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/具体使用方法:1、在wxml中使用module.exports={isDouble:function(n){returnn>9?true:false}}直接在代码段中使用{{function.isDouble(item.number)
- OpenRisc-54-play with OpenRISC based atlys board
Rill
OpenRiscopenrisc
1.OpenRISC1200softprocessorIntroductionTheOpenRISC1200(OR1200)isasynthesizableCPUcoremaintainedbydevelopersatOpenCores.org.TheOR1200designisanopensourceimplementationoftheOpenRISC1000RISCarchitecture.
- 7种方法提高源码阅读技巧
学会了没
源码阅读编程技巧
Readingsourcecodeisinthejobdescriptionofasoftwaredeveloper.However,thisexperienceisnotalwayspleasant.Noteveryonewouldliketoreadsomeoneelse’scodebecausetheyfinditboring,sometimesfrustrating.Therearecas
- 使用 OAS(OpenAPI标准)来描述 Web API
HuaZi_Myth
无论哪种类型的WebAPI,都可能需要给其他开发者使用.所以API的开发者体验是很重要的.API的开发者体验,简写为APIDX(DeveloperExperience).它包含很多东西,例如如何使用API,文档,技术支持等等,但是最重要的还是API的设计.如果API设计的不好,那么使用该API构建的软件就需要增加在时间,人力,金钱等方面的投入.有时候API会被错用,甚至带来毁灭性后果.最后抱怨该A
- texlive - 专业的LaTeX: 在Linux下编写高质量的文档
ztguang
paper
dnfinstalltexlive*dnfinstalltexworksdnfinstalllatex*http://www.ibm.com/developerworks/cn/linux/l-latex/Linux下的OpenOffice、KWord等字处理软件虽然在功能上与MicrosoftWord类似,但目前在易用性和可用性方面仍然存在许多不足,直接使用它们来生成高质量的文档显然还不太现实。
- 段永平的理念对软件独立开发者的启示
程序员陆通
AI编程
作为一个软件独立开发者,一度焦虑和困惑,最近读了段永平的文章,内心平静了很多,分享一下。段永平,这位中国企业界极具传奇色彩的企业家,曾缔造“小霸王”、步步高、OPPO、vivo等知名品牌。他以低调务实、专注长期价值著称,在产品、管理、投资等领域都展现了独特的思考和实践。虽然段永平主要活跃于硬件和消费电子行业,但他的许多管理和经营理念,对于当下的软件独立开发者(IndieDeveloper)同样具有
- 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