- 阿里云部署open-webui实现openai代理服务(持续更新)
xiezhaoxuan
openai语言模型chatgptopen-webui
一、展示xiezhaoxuan.top:8080二、环境准备1.阿里云服务器,ubuntu22系统2.http代理(可访问外网)3.openaiAPIKey三、实际操作记录(阿里云服务器端)1.根据官方文档安装open-webui服务端(看完这节再操作):GettingStarted|OpenWebUI1.如果服务器配置比较低,可以增加swap分区容量:Linux实例SWAP分区的配置和常见问题如
- Everything-文件查找软件制作
风栖柳白杨
软件制作pyqt数据库YOLO
写在前边:随着电脑里边的东西越来越多,很多东西放的杂七杂八;今天实在忍不了了,一怒之下,突发奇想,做一个类似Everything的文件查找软件,现在共享出来。一、软件展示二、源码展示与讲解1、所用到的组件(1)2、源码分块细嗦(1)导入模块importsys#通常用于操作系统相关的任务,例如命令行参数和系统退出importos#用于与操作系统交互,例如文件和目录操作importfnmatch#用于
- PyQt中QObject对象中父子关系
python_xiaofeng
PyQt5界面设计pyqt
代码#coding:utf-8#Author:WuXiaofeng#Data:2022/6/279:07fromPyQt5.Qtimport*importsysclassWindow(QWidget):def__init__(self):super().__init__()self.resize(600,500)self.setWindowTitle('')self.setup_ui()defse
- PyQt5基础语法
SOBE_rrr
PyQt5车牌识别python
本文根据近期的学习对PyQt5的语法使用进行总结1.窗体的相关设置self.setWindowTitle("xxx")#设置窗体名称self.resize(630,480)#设置窗体尺寸setFixedSize设置不可拉伸的尺寸self.setWindowIcon(QIcon("./img/comic.png"))#设置窗体左上角的Logo2.背景的设置fromPyQt5.QtGuiimportQ
- Python爬虫(2)正则表达式
DO_Lee
python爬虫正则表达式
re包1.函数1)re.match(pattern,string,flags=0)如果string开头的零个或多个字符与正则表达式pattern匹配,则返回相应的Match。如果字符串与模式不匹配则返回None;请注意这与零长度匹配是不同的。表达式的行为可通过指定flags值来修改。importrestr_1='abcd'str_2='abcdabcd'str_3='dcab'res_1=re.m
- Python Cookbook-2.18 从指定的搜索路径寻找文件
我不会编程555
#Python学习python开发语言
任务给定一个搜索路径(一个描述目录信息的字符串),需要根据这个路径和请求的文件名找到第一个符合要求的文件。解决方案需要循环指定的搜索路径中的目录:importosdefsearch_file(filename,searchpath,pathsep=os.pathsep):"""给定一个搜索路径,根据请求的名字找到文件"""forpathinsearch_path.split(pathsep):ca
- 谈谈DeepSeek-v3在算力约束下的出色工作
强化学习曾小健
Deepseek原理与使用人工智能
谈谈DeepSeek-v3在算力约束下的出色工作原创渣Bzartbot2024年12月28日22:52上海寒冷的周末,加完班挤点时间读个论文吧.Deepseek-v3仅用了2048块H800GPU就超越了Llama3405B模型,要知道Meta训练Llama3可是用了16384块H100,而DSv3的训练成本非常低在所有人追求更大规模集群的时候,Deepseek这样的工作只有一个词评价:Respe
- pandas合并,拆分excel
攻城狮的梦
pandasexcel
目录一:按照列进行拆分二:将某几列的数据写入新excel三:合并两个sheet数据到一个excel的一个sheet中我们以商品销售明细为例,说明下excel的数据拆分和合并,我们的原始数据如下:一:按照列进行拆分现在我们需要统计下是否配送和支付方式为维度进行分组以后得数据importpandasaspdpath='D:/Qt/excel/test.xlsx'to_path='D:/Qt/excel
- Excel大文件拆分
IT小辉同学
pythonexcelpython开发语言
importpandasaspddefsplit_excel_file(input_file,output_prefix,num_parts=10):#读取Excel文件df=pd.read_excel(input_file)#计算每部分的行数total_rows=len(df)rows_per_part=total_rows//num_partsremaining_rows=total_rows
- python mongodb连接池_mongoDB中的连接池(转载)
weixin_39989949
pythonmongodb连接池
一.mongoDB中的连接池刚上手MongoDB,在做应用时,受以前使用关系型数据库的影响,会考虑数据库连接池的问题!关系型数据库中,我们做连接池无非就是事先建立好N个连接(connection),并构建成一个连接池(connectionpool),提供去连接和归还连接等操作。而在MongoDB中,我们先来看看怎么进行操作,以insert为例:Mongom=newMongo("localhost"
- Vmware客户机上Linux系统共享宿主机VPN的网络连接操作手册
日期作者版本备注2022-05-18dingbinv1.0本文主要讲述如何设置linux的虚拟机(以CentOS7的vmware虚拟机为例)的网络,使其能共享连接宿主机(以Windows10宿主机为例)的VPN(以EasyConnectVPN)的网络连接。话不多说,直接上干货。1.vmware虚拟机网络设置打开vmware虚拟机软件当前虚拟机,右键点击设置-硬件-网络适配器,如下图设置,虚拟机网络
- Python爬取国家统计局数据按行业分国有单位就业人员数据
shy好好学习
toolspython开发语言
Python爬取国家统计局数据按行业分国有单位就业人员数据0、前言国家数据,慎爬!!!因开发需要获取国家统计局数据-按行业分国有单位就业人员数据,特整理此代码用于抓取国家统计局数据按行业分国有单位就业人员数据。1、数据来源数据来源于国家统计局2、python代码importpandasaspdimportrequestsimporttimedeffetch_data():#设置请求的头部信息,模拟
- spring boot 连接mysql报错。配置数据源失败:未指定“url”属性,无法配置嵌入的数据源
飘零未归人
java#javadatabase
报错信息:FailedtoconfigureaDataSource:'url'attributeisnotspecifiedandnoembeddeddatasourcecouldbeconfigured.Reason:FailedtodetermineasuitabledriverclassAction:Considerthefollowing:Ifyouwantanembeddeddataba
- el-pagination下拉框错位
微臣酒驾来迟
前端javascriptvue.js
这个问题通常是由于下拉框的容器渲染位置和页面样式(比如body的高度设置)造成的1.如果你使用的是ElementPlus(Vue3版本),可以尝试在el-pagination(或它内部用于显示页容量下拉框的组件)上添加属性:teleported="false"2.如果你使用的是Vue2版ElementUI,则可以使用:popper-append-to-body="false"
- 如何通过 CDN 加速网络?全网最全!!!
職場上的造物主
数据库网络安全经验分享笔记
PythonCDN加速测速示例通过以下Python脚本,我们可以测试不同CDN节点的响应时间,选择最优的节点进行加速:importtimeimportrequests#CDN节点列表cdns=['https://cdn1.example.com','https://cdn2.example.com','https://cdn3.example.com']#测试CDN响应时间deftest_cdn_
- Tomcat 都有哪些核心组件
web14786210723
面试学习路线阿里巴巴tomcatfirefoxjava
优质博文:IT-BLOG-CN【1】Server:Server元素在最顶层,代表整个Tomcat容器,因此他必须是server.xml中唯一一个最外层的元素。一个Server元素可以有一个或多个Service元素。可以看到,最外层有一个元素,shutdown属性表示关闭Server的指令;port属性表示Server接收shutdown指令的端口号,设置为-1可以禁掉该端口。Server的主要任务
- 以下是自定义针对 Vite + TypeScript 项目的完整路径别名配置流程:
AF01
typescriptjavascript前端
以下是针对Vite+TypeScript项目的完整路径别名配置流程:1.安装必要依赖bashnpminstall-D@types/node2.配置vite.config.tstypescript//vite.config.tsimport{defineConfig}from'vite'importvuefrom'@vitejs/plugin-vue'importpathfrom'path'//需要
- Jackson-DataFormat-XML 项目常见问题解决方案
费津钊Bobbie
Jackson-DataFormat-XML项目常见问题解决方案jackson-dataformat-xmlExtensionforJacksonJSONprocessorthataddssupportforserializingPOJOsasXML(anddeserializingfromXML)asanalternativetoJSON项目地址:https://gitcode.com/gh_m
- ERROR: Failed to build installable wheels for some pyproject.toml based projects (matplotlib)错误解决
EstrangedZ
机械臂pythonmatplotlib
ERROR:Failedtobuildinstallablewheelsforsomepyproject.tomlbasedprojects错误解决问题描述解决方案解决方案1成功的解决方案问题描述在使用pip3installroboticstoolbox-python或者pipinstallroboticstoolbox-python安装python中的机器人库时,总是会出现ERROR:ERROR
- 55、深度学习-自学之路-自己搭建深度学习框架-16、使用LSTM解决RNN梯度消失和梯度爆炸的问题,重写莎士比亚风格文章。
小宇爱
深度学习-自学之路深度学习rnn人工智能自然语言处理神经网络
importnumpyasnpclassTensor(object):def__init__(self,data,autograd=False,creators=None,creation_op=None,id=None):self.data=np.array(data)self.autograd=autogradself.grad=Noneif(idisNone):self.id=np.rand
- JeeWMS graphReportController.do SQL注入漏洞复现(CVE-2025-0392)
iSee857
漏洞复现安全web安全
免责申明:本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。0x01产品描述:JeeWMS是一款基于JavaEE企业级架构开发的开源仓库管理系统(WMS),专为优化仓储管理和物流操作而设计。它支持多仓库、多货主
- 监听其他音频播放时暂停正在播放的音频
至_臻
音视频前端vue.js
要实现当有其他音频播放时暂停当前音频,你可以使用全局事件总线或Vuex来管理音频播放状态。这里我将展示如何使用一个简单的事件总线来实现这个功能。首先,你需要创建一个事件总线。你可以在项目的一个公共文件中创建它,例如eventBus.js:importVuefrom'vue';exportconstEventBus=newVue();然后,在你的组件中使用这个事件总线来监听和触发音频播放事件:imp
- elementUI el-input金额必填校验
木头没有瓜
elementuivue.jsjavascript
提交exportdefault{data(){return{form:{amount:''},rules:{amount:[{required:true,message:'请输入金额',trigger:'blur'},{validator:(rule,value,callback)=>{if(!value){returncallback();}if(!/^(\d+|\d+.\d{1,2})$/.t
- A*路径规划算法的Python实现
我太不严肃了
算法python
A*路径规划算法的Python实现写在前面Python代码写在前面今天因为要在Python上实现机器人建图导航的仿真,写了A*算法的Python实现,过来分享一下。关于A*算法的原理网上有很多,这里就不再赘述了,直接贴代码。open_list和close_list都通过dict实现,因为dict底层是hash_map,代码整体效率还行。Python代码fromcopyimportdeepcopyi
- android打开文件报错open failed:EACCES(permission denied)。避免以后踩坑。
浪迹天涯的野马
笔记androidjava
刚开始碰到这样的问题按照惯例无非就是首先在manifests文件中添加权限因为android6.0后应用不能这样设置权限,需要在代码中动态设置添加,于是在代码中动态获取权限,添加如下代码privatestaticfinalintREQUEST_EXTERNAL_STORAGE=1;privatestaticString[]PERMISSIONS_STORAGE={Manifest.permissi
- 解决tensorflow-addons下载问题Could not find a version that satisfies the requirement
猪猪家的小可爱
AIpython机器学习机器学习人工智能算法
由于要用到tensorflow-addons,所以需要安装对应的库。遇到的问题是:ERROR:Couldnotfindaversionthatsatisfiestherequirementtensorflow-addons(fromversions:none)ERROR:Nomatchingdistributionfoundfortensorflow-addons网上有很多说是pip源的原因,所以
- 2.9 部署模型-大模型ACP模拟题-真题
admin皮卡
阿里云大模型ACP-考试回忆人工智能ai
单选题使用vLLM启动模型服务的正确命令是?A.vllmserve"./model/qwen2_5-1_5b-instruct"--port8000B.vllmserve"./model/qwen2_5-1_5b-instruct"--load-format"safetensors"--port8000✅C.vllmstart"./model"--formatsafetensorsD.vllmde
- 各类路径规划算法python 代码
许卿768503
python算法开发语言
一、人工势场法#初始化参数设置importnumpyasnpimportmatplotlib.pyplotaspltimportcopyfromcelluloidimportCamera#保存动图时用,pipinstallcelluloid%matplotlibqt5##初始化车的参数d=3.5#道路标准宽度W=1.8#汽车宽度L=4.7#车长P0=np.array([0,-d/2,1,1])#车
- 支持向量机(Support Vector Machine,SVM)详细解释(带示例)
浪九天
人工智能理论支持向量机算法机器学习
目录基本概念线性可分情况线性不可分情况工作原理示例Python案例代码解释基本概念支持向量机是一种有监督的机器学习算法,可用于分类和回归任务。在分类问题中,SVM的目标是找到一个最优的超平面,将不同类别的样本分隔开来,并且使得两类样本到该超平面的间隔最大。这个超平面被称为最大间隔超平面,而那些离超平面最近的样本点被称为支持向量,它们决定了超平面的位置和方向。线性可分情况当数据是线性可分的,即存在一
- vite+vue+ts+element-plus从零开发管理后台框架(02)-路径别名配置
vue3
路径别名是为了方便模块文件引入,比如有src/util/time_util.ts这样一个模块。如果没有路径别名,可能有的是importtime_utilfrom'./time_util',有的是importtime_utilfrom'../../../../../time_util'这样引入。而有了路径别名,不管当前模块文件在哪个路径,都可以统一用importtime_utilfrom'@/uti
- 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