- n8n汉化部署一篇搞定
工作流
制作汉化打包dockerfile需要注意的点是下面选择具体的汉化依赖需要和源镜像版本匹配不然打包之后运行访问不FROMdocker.n8n.io/n8nio/n8n:latestUSERrootWORKDIR/tmpRUNwgethttps://github.com/other-blowsnow/n8n-i18n-chinese/releases/download/n8n%401.99.1/
- adb shell中执行system用户权限命令的方法
OneT1me
adb
做系统开发的过程中经常需要抓取一下只有system组才能拿到的信息,而这个时候一般用户使用的是user版本,问题又很难复现,这个时候刷机可能信息都没有了,所以产生了一个需求,在adbshell里面以system权限执行命令,下面提供了一个这个办法,前提是你拥有系统签名,我们开发一个程序,在AndroidManifest.xml里面配置systemuid然后在build.gradle里面加上系统签名
- MyBatis获取主键的3种高效方式解析
代码的余温
mybatis
MyBatis获取自动生成主键ID的三种核心方式及适用场景:一、JDBC方式(数据库支持自增主键)适用数据库:MySQL/SQLServer等支持AUTO_INCREMENT或IDENTITY的数据库配置方法:在标签中添加useGeneratedKeys和keyProperty属性:INSERTINTOuser(name)VALUES(#{name})执行插入后,主键自动注入参数对象的id属性:U
- win11让任务栏处于上方
用idea写代码时,鼠标会经常移到底部位置时,比如打开debug窗口,老是会触发任务栏,遮挡了底部代码,很烦,便考虑移到上方。参考方案:按网上说的到注册表里HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects修改数数值然后重启。结果:失败。最新的11不給修改任務欄位置了,按照這個方法也不行了,
- FocalNet:焦点调制网络
AI专题精讲
Paper阅读计算机视觉人工智能AI技术应用
摘要我们提出了焦点调制网络(简称FocalNets),在该网络中,自注意力(self-attention,SA)被完全替换为焦点调制模块,用于建模视觉中的token交互。焦点调制由三个组件组成:(i)焦点上下文化(focalcontextualization),通过一组深度可分离卷积层实现,用于从短程到长程编码视觉上下文;(ii)门控聚合(gatedaggregation),选择性地将上下文聚合到
- vue router报错 Redirected when going from “/index“ to “/user“ via a navigation guard
隔壁秋田犬
java前端服务器
Error:Redirectedwhengoingfrom"/index"to"/user"viaanavigationguard.不影响使用,可以跳转。增加catch,不让浏览器显示异常。从首页index.vue,点击跳转到user.vue页,通过路由守卫判断,用户是否登录,存储里有没有用户信息,是否需要授权。需要,则跳转到login.vue页面进行登录。router.js路由守卫配置。impo
- Ubuntu android12 编译环境搭建
yun382657988
Ubuntu相关ubuntu
1、安装gitsudoapt-getinstallgitgitconfig--globaluser.name"用户名"gitconfig--globaluser.email"邮箱"2、安装jdk-8安装jdk:18.04默认集成了jdk1.8的源,可直接执行以下安装;sudoapt-getinstallopenjdk-8-jdk//jdk1.8sudoapt-getinstallopenjdk-1
- VUE——Ajax【请求方式】
时间sk
VUE疑难杂症vue.jsajax前端
一、XMLHttpRequest示例1.GET请求(获取数据)//创建对象constxhr=newXMLHttpRequest();//配置请求(异步GET)xhr.open('GET','https://api.example.com/users/123',true);//设置响应类型为JSON(可选)xhr.responseType='json';//监听请求状态变化xhr.onreadyst
- .net wpf混淆
佛·追命
.netwpf
混淆要求1、把exe所用到的依赖dll都合并到exe中2、使用反编译工具无法得到源代码混淆方式1、.netReactor优点:可以dll到exe中,也能防止反编译,但是要注意QuickSettings尽量勾选完毕缺点:争对WPF程序无法使用NativeEXEFile,但是Winform可以2、Confuser优点:可以防止反编译,也能防止反编译工具查看程序集名称缺点:无法把依赖的dll合并到exe
- 详细描述一条 SQL 在 MySQL 中的执行过程
tsxchen
数据库sqlmysql数据库
一条SQL在MySQL中的执行过程包括解析器解析SQL语句,优化器生成执行计划,存储引擎执行计划并返回结果,最后由MySQL服务层处理和返回给客户端。当一条SQL语句在MySQL中执行时,经历以下几个步骤:一、连接与请求阶段连接建立与认证客户端(如应用、命令行工具)通过TCP/IP或Socket协议连接到MySQL服务器。连接器验证用户名、密码及权限,若失败则返回错误(如Accessdenied)
- Spring MVC请求处理流程深度解析:从源码到实战的架构剖析
序章:一场关于SpringMVC的技术面试面试官老王翘着二郎腿,悠然地品着茶,突然抬起头:老王:“小李啊,听说你对SpringMVC很熟悉?那我问你个简单的问题:当用户在浏览器输入一个URL,比如http://localhost:8080/user/123,这个请求到达我们的Spring应用后,是怎么一步步处理的?”小李(胸有成竹):“这个我知道!首先DispatcherServlet接收请求,然
- ToT:思维树:借助大语言模型进行审慎的问题求解
AI专题精讲
Paper阅读语言模型人工智能大模型
摘要语言模型正日益被部署于广泛任务中的通用问题求解,但在推理阶段仍受限于token级、从左到右的决策过程。这意味着在需要探索、战略前瞻,或初始决策起关键作用的任务中,语言模型可能表现不佳。为克服这些挑战,我们提出了一种新的语言模型推理框架——“思维树(TreeofThoughts,ToT)”,它是对当前广泛使用的“思维链(ChainofThought)”提示方法的推广,能够在连贯的文本单元(即“思
- jfinal结合easyui完成基本的增删改查操作
顽疲
jfinal学习jfinaljavaeasyuicrud
jfinal结合easyui完成增删改查操作创建jfinal项目,具体不多说,下面会放出源码。请结合jfinal官网创建一个jfinal项目,加深印象。什么是jfinal?JFinal是基于Java语言的极速web开发框架。重点在于easyui的分页下面贴出部分代码publicvoiduserList(){Stringsql="fromuserorderbyiddesc";Pagepaginate
- 部署项目后配置nginx 前端项目地址路径
weixin_54129994
server{listen端口;server_nameip地址;#charsetkoi8-r;#access_loglogs/host.access.logmain;location/{root/home/userManagement;//路径indexindex.htmlindex.htm;//文件try_files$uri$uri//index.html;expires7d;}location
- laravel无法运行php,Laravel:php artisan服务无法启动
常一二
laravel无法运行php
我在这里挖掘了其他一些答案,似乎没有什么比这更合适了.我可能最初会留下一些信息,所以请告诉我你还需要什么,谢谢!目前运行ubuntu7,使用composer和laravel两者似乎都正确安装:当我在终端输入'phpartisanserve'和'phpartisanserve--port:8000'时,我收到此错误:PHP警告:require(/home/user/Projects/thingy/b
- 【ubuntu】【问题记录】vbox虚拟机无权限访问共享目录
qq2108462953
ubuntuubuntu服务器运维
vbox虚拟机无权限访问共享目录问题记录一、问题描述在vbox中配置vbox-->设备-->共享文件夹-->共享文件夹重启后,在系统内无法访问共享目录。二、解决方法将用户添加到vboxsf组。sudousermod-aGvboxsf$(whoami)重启系统。
- 小红书自动化操作:使用本地Chrome和User Data实现高效反检测
龙潜月七
自动化chromepython
小红书自动化操作:使用本地Chrome和UserData实现高效反检测在自动化操作社交媒体平台时,如何绕过反爬虫机制一直是个挑战。本文将介绍如何配置Selenium驱动本地Chrome浏览器,并利用UserData目录保留浏览器指纹,实现更接近真实用户的操作行为。为什么使用本地Chrome和UserData?传统的无头浏览器或默认配置的Selenium容易被网站识别为机器人,主要原因在于:浏览器指
- mongo常用命令
樱桃的程序员麻麻
服务器mongodb
1连接mongo服务器mongoip:端口/库名-u用户名-p密码2选择数据库showdbs;显示数据库列表use数据库名称;3集合操作(1)显示集合列表showtables;(2)删除集合db.集合名称.drop();(3)向集合插入记录db.集合名称.insertOne({article_id:100000,content:"今天天气真好,阳光明媚",user_id:"1001",});(4)
- java xslfslide_Apache POI PPT - 类和方法( Classes & Methods)
ApachePOIPPT-类和方法(Classes&Methods)在本章中,我们将了解ApachePOIAPI下的一些类和方法,这些类和方法对于使用Java程序处理PPT文件至关重要。演讲(Presentation)要创建和管理演示文稿,请在包org.apache.poi.xslf.usermodel创建一个名为XMLSlideShow的类。下面给出了一些重要的方法和这个类的构造函数。Class
- 在laravel中隐性路由模型绑定』
name('users.show');上面路由部分讲过,在使用资源路由Route::resource('users','UsersController');时,默认已经包含了上面的声明。2).控制器方法传参中必须包含对应的Eloquent模型类型提示,并且是有序的:publicfunctionshow(User$user){returnview('users.show',compact('user
- 功能篇:JAVA使用jwt
在Java中实现JWT(JSONWebToken)认证通常涉及以下几个步骤:1.添加依赖2.创建JWT工具类3.实现登录接口,生成JWT4.实现过滤器,验证JWT###1.添加依赖首先,你需要在项目中添加JWT库的依赖。如果你使用的是Maven构建工具,可以在`pom.xml`文件中添加如下依赖:```xmlio.jsonwebtokenjjwt-api0.11.5io.jsonwebtokenj
- Java——JWT详细讲解
引言在当代Web应用与API开发里,用户认证和授权无疑是极为关键的环节。JSONWebToken(JWT)作为一种轻量级的身份验证机制,凭借其简洁性、可扩展性以及跨域支持等显著优势,在众多前后端分离项目中得到了广泛应用。本文将全面深入地探讨JWT的原理、工作流程,并且结合Java代码示例,展示如何在一个简单的登录系统中运用JWT进行认证。一、JWT概述1.什么是JWTJWT是一种用于在网络应用间安
- java jwt使用
/***过期时间(秒):2天*/publicstaticfinallongEXPIRE=2*24*60*60;/***自定义:密钥*/privatestaticfinalbyte[]KEY="xxx".getBytes();publicstaticStringgetToken(MappyloadMap){//1、创建JWT对象JWTjwt=JWT.create();//2、设置携带数据pyload
- 组件化基本原理,怎么实现消息传递
组件化的核心在于解耦与通信,其基本原理和消息传递实现方案如下:一、组件化核心架构消息传递消息传递依赖依赖路由控制业务模块A通信中枢业务模块B基础组件服务发现二、组件化基本原理1.垂直拆分App用户模块订单模块支付模块商品模块公共库网络库存储库工具库2.分层架构层级组件类型示例依赖关系应用层App壳工程MainApp依赖业务层业务层垂直业务组件UserModule/OrderModule依赖基础层基
- HarmonyOS+Django实现图片上传
嫣然细雨红尘路
djangoharmonyosdjangopython后端harmonyos
话不多说,直接看代码:HarmonyOS部分代码import{router}from"@kit.ArkUI"importPreferencesUtilfrom"../utils/PreferencesUtil"import{photoAccessHelper}from"@kit.MediaLibraryKit"importfsfrom'@ohos.file.fs';importBASE_URLfr
- 调试 WebView 接口时间戳签名问题:一次精细化排查和修复过程
为了保证数据安全,很多接口会对请求进行签名校验,常见方式是前端生成时间戳+key,再做哈希作为签名参数提交到后端。如果设备系统时间不准、页面生成时间戳延迟,或者跨时区出现时间混乱,都会导致签名验证失败。在移动端WebView里,这类问题更加隐蔽:用户看到页面正常,但接口频繁返回签名错误或token失效,引发“偶现性”白屏、按钮无效等问题。我们可以通过使用WebDebugX来进行远程网页调试,可以在
- Qwen3 Embedding 结构-加载-训练 看透模型设计哲学
看透一个顶级AI句向量模型的设计秘密,从文件结构到加载原理,再到其背后的训练哲学。1Qwen3-Embedding模型结构拆解说明:目录包含了运行一个基于Transformer的句向量模型所需的所有组件文件类别核心文件作用核心模型model.safetensors,config.jsonmodel.safetensors存储了模型所有训练好的权重分词器tokenizer.json,vocab.js
- TryHackMe-进攻性渗透测试-09_Internal
Sugobet
apache服务器网络安全web安全jenkins
Internal工作范围客户要求工程师对提供的虚拟环境进行外部、Web应用程序和内部评估。客户要求提供有关评估的最少信息,希望从恶意行为者的眼睛进行参与(黑盒渗透测试)。客户端要求您保护两个标志(未提供位置)作为利用证明:user.txtroot.txt此外,客户还提供了以下范围津贴:确保修改主机文件以反映内部文件.thm此参与中允许使用任何工具或技术找到并记下发现的所有漏洞将发现的标志提交到仪表
- jenkins集成sonarqube(使用token进行远程调用)
被一米六支配的恐惧
jenkins运维
先决条件sonarqube-version10.0.0jenkins-version2.486k8s-version1.23.14OS-versioncentos7.9jenkins上部署sonarqube插件sonarqubescanner部署sonarqube创建存储--前面有创建storageclass的文档.k8s-StoargClass的使用-基于nfs_avolumethatconta
- windows电脑下C盘用户文件夹下放置的都是些什么文件?
在Windows电脑的C盘的用户文件夹(通常是C:\Users\)中,存放的是每个用户的个人数据、配置文件以及系统相关的用户设置。以下是这个文件夹中常见的一些文件和子文件夹:Desktop:这里存放的是用户桌面上的文件和快捷方式。Documents:这个文件夹包含了用户保存的文档,如文本文件、Word文件、Excel文件等。Downloads:默认情况下,浏览器下载的文件会保存在这里。Favori
- 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