- 实训day37(8.27)
Tʀᴜsᴛ⁴¹⁷487
linux
一、dockerfile应用[root@docker~]#mkdirhttp0[root@docker~]#cdhttp0/[root@dockerhttp0]#vimabc.sh[root@dockerhttp0]#lsabc.sh[root@dockerhttp0]#vimabc.sh#!/bin/bashrm-rf/run/*httpd*exec/sbin/httpd-DFOREGROUND
- OpenCV:图像几何变换
0010000100
机器视觉opencv计算机视觉图像处理
图像几何变换importnumpyasnpimportcv2ascvimportmatplotlib.pyplotaspltimg=cv.imread('book.jpg')rows,cols,ch=img.shapepts1=np.float32([[151,332],[882,272],[119,1368],[1242,1188]])pts2=np.float32([[0,0],[300,0]
- mac vscode git怎么全局忽略文件或文件夹
山海皆可平z
Vscode安装了localhistory插件后,会在项目目录产生.history文件夹,里面有修改的中介文件,但是git提交的时候不想提交这些文件,所以想办法忽略这个文件夹。以下是git中增加的很多不想提交上去的文件这个该怎么解决呢?下面我们来看:1、配置全局git忽略文件$vim.gitignore_global文件里增加以下内容:###############################
- Clickhouse 集群部署安装
想当厨子的小章同学
Clickhouselinux服务器运维
ClickHouse集群部署安装1、环境准备(1)、阿里云服务器两台集群节点信息192.168.5.13ch01192.168.5.14ch02(2)、修改/etc/cloud/cloud.cfg(所有节点)[root@iZbp1fsk0p3opmtlo52u91Z~]#vim/etc/cloud/cloud.cfg注释掉#manage_etc_hosts:localhost(3)、文件打开数调整
- 2_linux-常用命令1
graceful_black
前言:linux基本原则用户接口命令形式ls部分说明文件系统查看服务器基本信息文件查看和处理命令目录基本操作命令vim操作Linux的基本原则:由目的单一的小程序组成;组合小程序完成复杂任务一切皆文件尽量避免捕获用户接口(尽量不和用户进行交互,就是一个程序一但开始运行,就不需要用户进行任何操作,如ls命令,ifconfig命令)配置文件保存为纯文本格式用户接口:是一种独特的应用程序,能够为用户提供
- Linux Vim 进阶教程
原机小子
linuxvimexcel
LinuxVim进阶教程1.简介Vim(ViIMproved)是一款功能强大的文本编辑器,广泛应用于Linux和Unix系统中。本教程将深入探讨Vim的高级功能和技巧,帮助您提升编辑效率和使用体验。2.Vim配置和插件管理2.1配置文件.vimrcVim的配置文件位于用户目录下的.vimrc文件中,用于定制编辑器的行为和外观。以下是一些常见配置项:"设置行号setnumber"设置自动缩进seta
- 阿里云k8s扩展节点最大pod数量(两种方式)
想见感
k8slinuxk8s中间件
一、亲测可用vim/etc/systemd/system/kubelet.service.d/10-kubeadm.conf[Service]EnvironmentFile=-/etc/kubernetes/kubelet-customized-args.confEnvironment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kub
- Docker File创建镜像失败--ERROR [3/4] RUN yum -y install vim
Covirtue
linuxcentosdockervim容器
问题复现:使用以下内容的DockerFile创建镜像:FROMcentosMAINTAINERxxxxxENVMYPATH/usr/localWORKDIR$MYPATHRUNyum-yinstallvimRUNyum-yinstallnet-toolsEXPOSE80CMDecho$MYPATHCMDecho"============"CMD/bin/bash错误描述:=>ERROR[3/4]R
- git错误:unable to auto-detect email address
huyiwan
gitcommit的时候报如下错误fatal:unabletoauto-detectemailaddress(got'root@hu2i_ferhat.(none)')找到工程目录,修改.git目录下的config文件vim./.git/config,在文件里面添加[user]email=youremailname=yourname
- ansible
王-先生
linux运维服务器ansible
11、主机上脚本监控目标主机[root@test41opt]#vimtest.sh#!/bin/bashecho"helloeord">/opt/test1.txt[root@test41opt]#ansible192.168.65.10-mscript-a"/opt/test.sh"[root@test1opt]#cattest1.txthelloeord#脚本在本机上执行目标主机[root
- ansible模块
王-先生
ansible网络运维
tags模块可以给任务定义标签,可以根据标签来运行指定的任务[root@test41opt]#vimtest1.yaml#标签的类型#always:设定标签名为always,除非指定跳过这个标签,否则该任务始终会运行,即使指定了标签还会运行#never:从不运行的任务,指定标签名never可以运行#debug:用于调试#setup:收集主机的信息#标签名也可以自定义:tags-hosts:192
- Vim 命令总结
松小白song
Linux相关linux
目录前言1.Vim的三种模式2.基本操作命令3.文件管理4.搜索与替换5.文本操作6.宏与自动化7.配置与自定义8.高级功能9.插件与扩展前言Vim是一个强大的文本编辑器,广泛用于代码编辑和脚本编写。Vim的命令非常丰富,涵盖了文本操作、文件管理、搜索与替换、宏录制、脚本编写等各个方面。以下是Vim命令的详细介绍,涵盖基本操作、文件管理、文本编辑、搜索与替换等。1.Vim的三种模式Vim有三种主要
- vim的基本使用命令
有志有识有恒
linuxvimlinux编辑器
文章目录一、vim的工作模式二、操作命令打开命令光标移动命令单个字符移动词组移动行移动文本移动文本插入命令文本删除命令字符删除行删除文本复制与粘贴命令复制与粘贴复制文本块文本的修改与替换命令文本的查找与替换命令查找命令替换命令撤销修改、重做与保存命令一、vim的工作模式vim一般有以下几种工作模式:普通模式(NORMAL模式):使用vim打开一个文件时默认模式,也叫命令模式,允许用户通过各种命令浏
- Vim基本使用方法
Rsmk45°
vim编辑器linux
所有的UnixLike系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是vim编辑器。vim是一个基于vi的文本编辑器,它有许多新的功能和图形界面。vim可以用来编写、编辑、保存和关闭文件,也可以执行一些常见的文本编辑操作,如移动光标、复制粘贴、搜索替换等。vim有三种工作模式:命令模式、编辑模式和底行命令模式。在不同的模式下,可以使用不同的按键或命令来完成不同
- vim基本使用
h0l10w
笔记vim编辑器linux
vi/vim共分为三种模式,命令模式、插入模式和末行模式。命令模式用户刚刚启动vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。常用命令如下:(1)切换工作模式i–切换到插入模式,在光标当前位置开始输入文本a–切换到插入模式,在光标后一个位置开始输入文本o–在当前行的下方插入一个新行,并进入插入模式s–删除当前光标所在字符,并进入插入模式I–光标移到当前行首,
- 搭建elk日志管理系统
阿色你过来啊
学习分享elkelasticsearch大数据
ELK日志管理系统一.环境准备按照JDK1.8第一步:下载JDKhttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html第二步:安装mkdir/usr/jdktar-xvfjdk-8u112-linux-x64.tar.gz/usr/jdk第三步:配置环境变量命令:vim/etc/pro
- Nginx服务优化与防盗链
確定饿的猫
nginx运维
目录1.隐藏版本号2.修改用户和组3.缓存时间4.日志切割5.连接超时6.更改进程数7.配置网页压缩8.配置防盗链1.隐藏版本号隐藏版本号可以防止有人试图从某某版本的漏洞攻击网站方法一:修改配置文件vim/usr/local/nginx/conf/nginx.conf在http模块下http{includemime.types;default_typeapplication/octet-strea
- 如何在 Vim 中显示行号
李少兄
Linuxvimexcel编辑器
前言Vim是一款功能强大的文本编辑器,在Linux、Mac和Windows上都有广泛的应用。对于开发人员来说,能够快速查看代码行号是一个非常实用的功能,尤其是在进行调试或阅读长文件时。本文将介绍如何在Vim中开启和关闭行号显示。开启行号临时开启行号要在Vim中临时开启行号显示,只需按照以下步骤操作:启动Vim:vimfilename.txt其中filename.txt是你要编辑的文件名。切换到正常
- day32(8/20)——playbook剧本安装nginx、roles
晗涵¥-¥
nginx运维ansible
目录一、playbook剧本安装nginx二、roles(难点)1、roles介绍2、创建roles的目录结构3、案例4、练习:一、playbook剧本安装nginx[root@m0~]#mkdir/etc/ansible/playbook[root@m0~]#vim/etc/ansible/playbook/nginx.yml----hosts:group02remote_user:rootta
- Linux配置时间服务器(chrony)
小橞
服务器linux运维
时间同步找到一台机器同步时间保证所有时间一样,该机器就叫标准时间服务器,NTP协议:网络时间协议用于同步网络中的各个时间计算器Strautm分层,15层以内的计算机会自己同步时间,时间不得超过1970年1月1号,这是uinx的诞生时间。chrony配置时间服务器vim/etc/chrony.conf第三行#pool2.pool.ntp.orgiburst第二十三行allowall第二十六行loca
- shell与文本处理
数羊达人000
Linux基础linuxvim
1.实验项目名称Shell与文本处理系统管理员的一项重要工作就是要修改与设定某些重要软件的配置文件,因此至少得要学会一种以上的文字接口的文本编辑器。所有的Linux发行版本都内置有vi文本编辑器,很多软件也默认使用vi作为编辑的接口,因此读者一定要学会使用vi文本编辑器。vim是进阶版的vi,vim不但可以用不同颜色显示文本内容,还能够进行诸如shellscript、Cprogram等程序的编辑,
- 免费的大模型插件llm.nvim
stubborn vegeta
开原大镖客chatgptvim编辑器llama
llm.nvim(https://github.com/StubbornVegeta/llm.nvim)是一款基于cloudflare的免费大模型插件,你可以像使用ChatGPT一样和它进行对话在使用这款插件之前,你需要注册cloudflare,获取你的account和APIkey。你可以在这里(Models|CloudflareWorkersAIdocs)看到所有可用的模型,其中标注beta的是
- 基于calico部署k8s集群k8s-1.23.6
只是想成为一名程序员
kubernetes容器云原生
1、资源清单主机名IP地址系统版本CPU内存mn01192.168.242.130redhat7.92C4GBln0192.168.242.131redhat7.92C4GBcn01192.168.242.129redhat7.92C4GB2、系统配置(所有节点都要进行)1、安装所需软件yuminstallvimnet-toolswgetlsofipsetipvsadmiproute-tc-y2、
- Rocky Linux 运维工具 vim
奶嘴很忙
RockyLinux运维工具linux运维vim
一、vim的简介vim是一种文本编辑器。它提供了丰富的编辑功能,包括插入、删除、替换文本、搜索和查找等。使用键盘命令和模式切换,以实现高效的文本编辑操作。二、vim的参数说明序号视图命令描述1命令视图i在当前光标位置进入‘INSERT视图’2命令视图:wq+回车保存并退出3命令视图:q+回车仅退出4命令视图:q!+回车强制退出5命令视图:w+回车仅保存6命令视图:setnu+回车显示行号7INSE
- Debian安装无线网卡
一代魔笛
1.配置源sudovim/etc/apt/sources.list加入:debhttp://httpredir.debian.org/debian/jessiemaincontribnon-free保存2.安装驱动sudoapt-getinstallfirmware-*3.重启sudoreboot
- Gitlab的备份与恢复
我是哈斯
一、Gitlab的备份目录路径设置Gitlab的备份目录可以在Gitlab的配置文件中设置:vim/etc/gitlab/gitlab.rb#修改如下:gitlab_rails['manage_backup_path']=truegitlab_rails['backup_path']="/data/gitlab/backups"//gitlab备份目录gitlab_rails['backup_ar
- Playbook剧本案例实战
躺平的花卷
云计算ansible
script模块script模块⽤于在远程机器上执⾏本地脚本。#在master上准备⼀个脚本[root@m0~]#vimtest.shmkdir/tmp/threetouch/tmp/three/testecho'iamecho,isusedwrite'>/tmp/three/test[root@m0~]#sourcetest.sh#在group02的远程机器⾥都执⾏master上的/tmp/te
- vim如何退出
小梦游仙境
:w保存文件但不退出vi.:wfile将修改另外保存到file中,不退出vi.:w!强制保存,不推出vi.:wq保存文件并退出vi.:wq!强制保存文件,并退出vi.q:不保存文件,退出vi.:q!不保存文件,强制退出vi.:e!放弃所有修改,从上次保存文件开始再编辑搜以普通用户启动的Vim如何保存需要root权限的文件http://feihu.me/blog/2014/vim-write-rea
- 云计算day28
巭氼
云计算
一、ansible模块script模块[root@localhost~]#vimtest000.sh#!/bin/bashmkdir/tmp/threetouch/tmp/three/testecho'iamecho,atmttt'>/tmp/three/testecho'welldone'[root@localhost~]#sourcetest000.shwelldone[root@localh
- 【RH124知识点问答题】第5章 创建、查看和编辑文本文件
是芽芽哩!
LinuxRH124管理1知识点问答题linuxbash运维
目录1.怎么理解I/O重定向?2./dev/null是什么?有什么用途?3.解释下列命令的结果:&>/dev/null、2>>file4.怎么理解管道?管道和重定向有什么区别?5.在什么情况下需要使用tee命令?举例说明如何使用。6.vim是什么?vim和vi有什么关系?7.vim里有几种运行模式,分别说明每种模式下的简单操作。8.shell会话是什么?一个用户可以启动多个shell会话吗?9.说
- 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