- Python学习笔记-Day05
snape00
Python学习笔记Day_05-构造程序逻辑作者的话学完前面的几个章节后,我觉得有必要在这里带大家做一些练习来巩固之前所学的知识,虽然迄今为止我们学习的内容只是Python的冰山一角,但是这些内容已经足够我们来构建程序中的逻辑。对于编程语言的初学者来说,在学习了Python的核心语言元素(变量、类型、运算符、表达式、分支结构、循环结构等)之后,必须做的一件事情就是尝试用所学知识去解决现实中的问题
- python学习笔记第5节-类和函数
梁鋐俐
我们在前面的学习中学会了一个叫type()的函数,用它来判断变量的类型,变量和它当下存储的数据绑定在一起。例如a=[4,5,6,7]print(type(a))输出a=range(10,20,2)print(type(a))输出a=Trueprint(type(a))输出a={‘a54’:56}print(type(a))输出a={‘a54’,56}print(type(a))输出a=‘tyuio
- Python学习笔记--列表、字典、集合、元组
小黄酥
Pythonpython学习笔记
Python学习笔记43-列表#列表主要是用来存储多个数据.列表是有序的集合list_1=[]#创建一个空的列表list_2=[12,34,56,True,'abc']#创建一个列表#列表的访问,通过下标访问列表中的元素,下标默认从0开始,0表示第一个元素,-1表示最后一个元素list_3=[1,2,3,False,True,'abc']print(list_3[0])#1print(list_3
- python学习笔记08_赋值运算、逻辑运算、表达式、短路原则
flamingocc
python笔记081.赋值运算符num+=1等价于num=num+1num-=1等价于num=num-1num*=1等价于num=num*1num/=1等价于num=num/1num//2等价于num=num//2num%=2等价于num/2的余数num**2等价于num=num*num2.逻辑运算符逻辑运算符包含:not、and、or2.1and的用法:(且、并且)写法:条件1and条件2eg
- Python学习笔记(三):列表的定义、访问及修改
RANDY_Sw
Python入门python
今天学习了有关列表的定义、访问及修改的方法,在此整理一下。列表的定义与访问name_list=['zhangsan','lisi','wangwu']#创建一个列表name_list[0]='xiaobai'#修改列表中的单个元素print(name_list)#遍历的方式打印列表1foriteminname_list:print(item)#遍历的方式打印列表2i=0foriinrange(le
- Python学习笔记36:进阶篇(二十五)pygame的使用之事件监听控制切歌和暂停,继续播放
明月望秋思
学习pythonpygamepython学习
前言基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。我们的下一步目标是完成pythoncrashcourse中的外星人入侵项目,这是一个2D游戏项目。在这之前,我们先简单学习一下pygame模块。私信我发送消息python资料,领取pythoncrashcourse中文版PDF。pygamePygame是一个开源的Python多媒体开发
- python工资条教程_python学习笔记--工资条发放软件
weixin_39873191
python工资条教程
1#!/usr/bin/envpython2#-*-coding:UTF-8-*-3importsmtplib4fromemail.mime.textimportMIMEText5mailto_list=['
[email protected]']#收件人(列表)6mail_host="smtp.163.com"#使用的邮箱的smtp服务器地址,这里是163的smtp地址7mail_user="
[email protected]
- Python学习笔记二(布尔值及类型检查)
StaticKing
Python入门Python
字符串赋值与布尔值及类型检查布尔值(bool)假:False真:Truea1='a'a2='a'print(a1==a2)print(a1!=a2)TrueFalse布尔值也属于整型,True相当于1False相当于0print(True+
- Python学习笔记_第八章:异常
雨住多一横
什么是异常Python用异常对象来表示异常情况,遇到错误后会引发异常。如果异常对象未被处理或捕捉,程序就会用所谓的回溯终止执行按自己的方式出错raise语句使用一个类(Exception及其子类)或者类实例调用raise语句可以引发异常。Python内建异常可以在exceptions模块中找到,可以使用dir列出模块内容>>>dir(exceptions)['ArithmeticError','A
- Python学习笔记之:本地文件的读取
你怎么这么奇怪
Python学习笔记
读取文件#桌面上的第一个txtf=open(r"C:\Users\Administrator\Desktop\test.txt")print(f.read())以test.txt文件为例,该文件存储路径为桌面打印读取文件内容f.read()print(f.readline())读
- python学习笔记五(面向对象实战版)
小满胜 万全
Python学习学习笔记
传送门:python及pycharm安装配置_pycharm和python配置-CSDN博客Python学习笔记(一)-CSDN博客Python学习笔记(二)-CSDN博客Python学习笔记三(面向对象)-CSDN博客Python学习笔记四(面向对象)-CSDN博客前言:在前面两章,我们学习了python的基本概念和一些重要的知识点,由于这个部分非常重要,而代码学习之道最重要的就是自己要动手写代
- Python学习笔记一(基础知识)
小满胜 万全
Python学习学习python
PS:这篇文章是以一个学习者的角度来汇总知识点以及教程,对于想学习Python的入门者也会比较友好,想学习python可以先收藏,我会慢慢持续更新。学艺不精,如有纰漏,敬请指正。需要安装配置python和Pycharm软件可以移步这篇文章,有详细的教程。传送门:python及pycharm安装配置-CSDN博客Python学习笔记(二)-CSDN博客Python学习笔记三(面向对象)-CSDN博客
- Python学习笔记07
正文01
python学习笔记
第十三章,面向对象初识对象生活中数据的组织学校开学,要求学生填写自己的基础信息,一人发一张白纸,让学生自己填我叫林军杰,今年31岁.来自山东省,我是男的,中国人内容混乱改为登记表,打印出来让学生自行填写:姓名林军杰姓别男国籍中国籍贯山东省年龄31整洁明了程序中数据的组织在程序中简单使用变量来记录学生信息student_1={"姓名":"周杰轮","性别":"男","国籍":"中国","籍贯":"台
- Python学习笔记03
正文01
python学习笔记
第五章、Python函数函数介绍函数函数:是组织好的,可重复使用的,用来实现特定功能的代码段name="itheima"length=len(name)print(length)输出结果:7为什么随时都可以使用len()统计长度?因为,len()是Python内置的函数:是提前写好的可以重复使用实现统计长度这一特定功能的代码段我们使用过的:input()、print()、str()、int()等都
- Python学习笔记 —— 文件处理模块
miles-zh
pythonpython
Excel文件openpyxl读/写Excel文件,https://pypi.org/project/openpyxlxlwt创建Excel文件,设置单元格样式,https://pypi.org/project/xlwtxlrd读取Excel文件,https://pypi.org/project/xlrdxlutils修改Excel文件,https://pypi.org/project/xluti
- 【Python学习笔记】Python logging模块的学习
Augenstern K
Pythonpython学习笔记
Pythonlogging模块基础介绍作用与功能基本用法引入模块创建并配置记录器的基本步骤代码演示日志级别日志消息格式用法介绍代码示例日志的输出位置代码示例日志记录的高级功能对日志记录进行过滤和处理在多个模块中使用同一个日志记录器总结当谈到日志记录时,logging库是Python中最常用的工具之一。它提供了许多功能和选项,使开发人员能够灵活地记录和管理应用程序的日志信息。引入logging作为P
- Python学习笔记(1)——环境安装与变量
ThinkerChenYi
python学习笔记Python学习笔记
python环境安装-python2还是python3python2只支持到2020年,并且python2和3有不少用法差异。要是刚学完python2不久就发现过时了这就很尴尬了,所以推荐使用python3-安装环境推荐:Anaconda+pychamAnaconda是一个python的科学计算包,python环境,常用模块以及工具都包含在里面,省心省力官网:https://www.anacond
- 2.25python笔记 高阶编程
13351
@[TOC](2.25学堂在线python学习笔记高阶编程)#高阶编程1.利用二分法查找一个字符是否在某个字符串当中基线条件:当s=''时,返回False当len(s)=1且s==char时返回True当len(s)>1且s[mid]>char时,返回isIn(char,s[:mid])否则当s[mid]1:ifs[mid]>char:print(s)returnisIn(char,s[:mid]
- Python学习笔记——逻辑运算符not,and,or
phoebe’
python
运算优先级:not>and>or三个都从左往右解析,区别如下not:返回布尔型(TrueorFalse)>>>not7False>>>not0Trueand:有0(False)则返回0(False),否则返回后一个变量(常数)>>>3and0and10>>>1and2and33>>>Falseand1Falseor:返回第一个不为0(False)的变量(常数)>>>FalseorTrueTrue>
- python学习笔记——三目运算符与逻辑运算符
phily123
python学习笔记python
一、三目运算符python中用ifelse来替代其他编程语言的?:三目运算符,并且用法不同。ifa>b:c=aelse:c=bpython中:c=aifa>belsebc语言中:c=a>b?a:b二、逻辑运算符python中逻辑运算符用andornot:20and10#结果是1020or10#结果是200or10#结果是10not10#结果是Falsenot0#结果是Truec语言中逻辑运算符用&
- Python课后习题第十章
水中小船
'''10-1Python学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中每一行都以“InPythonyoucan”打头。将这个文件命名为learning_python.txt,并将其存储到为完成本章练习而编写的程序所在的目录中。编写一个程序,它读取这个文件,并将你所写的内容打印三次:第一次打印时读取整个文件;第二次打印时遍历文件对象;第三次打印时将各行存
- python表示乘方的运算符_Python学习笔记Day3 - Python运算符
weixin_39684454
python表示乘方的运算符
1.Python类型转换常用数据类型转换2.Python算术运算符Python算术运算符2.1加法(+)运算符m=10n=97sum1=m+nx=7.2y=15.3sum2=x+yprint("sum1=%d,sum2=%.2f"%(sum1,sum2))运行结果:sum1=107,sum2=22.50拼接字符串当+用于数字时表示加法,但是当+用于字符串时,它还有拼接字符串(将两个字符串连接为一个
- Python学习笔记之os.path.join()
爱叫啥叫啥去
路径拼接os.path.join()函数os.path.join()函数用于路径拼接文件路径os.path.join()函数中可以传入多个路径:a、会从第一个以"/"开头的参数开始拼接,之前的参数全部丢弃b、在上一种情况确保情况下,若出现"./"开头的参数,会从"./"开头的参数的上一个参数开始拼接join()函数语法:‘sep’.join(seq)参数说明:sep:分隔符。可以为空seq:要连接
- python学习笔记--ifelse分支和循环结构用法,实现python猜数字游戏和冒泡排序
大佬Sam
前言分支(if-else)和循环是每种编程语言必定存在的用法,这里记录下python中的分支结构和结构。结合之前学习的变量,类型,运算符,表达式,和分支,循环结构,练习写个猜数字游戏和冒泡排序。正文分支结构if语句的使用分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的
- 【python学习笔记】:亚马逊的反爬虫机制
姜子牙大侠
pythonpython爬虫开发语言
今天,来学习越过亚马逊的反爬虫机制,爬取想要的商品、评论等等有用信息。反爬虫机制但是,我们想用爬虫来爬取相关的数据信息时像亚马逊、TBao、JD这些大型的购物商城他们为了保护自己的数据信息,都是有一套完善的反爬虫机制的先试试亚马逊的反爬机制我们用不同的几个python爬虫模块,来一步步试探最终,成功越过反爬机制。一、urllib模块代码如下:#-*-coding:utf-8-*-importurl
- python学习笔记之---三种引号的使用
没有用户的名字
python学习笔记python学习笔记
三种引号,单引号’‘,双引号"",三引号’‘’‘’'(三个单引号组合)或者"“”“”"(三个双引号组合)一、一般情况下,三种引号等价print('这个单引号测试')print("这是双引号测试")print("""这是三引号测试""")二、特殊情况1、单引号:字符串中含有单引号时不能使用,需要转义2、双引号:字符串含有双引号的情况不能使用,需要转义错误写法:print("这是"双引号"测试")`正
- python小结
张叁疯_
本周整理了python学习笔记复习旧的,顺便整理新的,笔记分享在了有道云链接如下阿龙的python笔记都是基础知识,希望在今后能成体系,根据案例学python
- python学习笔记------函数
烟雨织轻愁
学习笔记
函数介绍是组织好的,可重复使用的,用来实现特定功能的代码段函数定义def函数名(传入参数):函数体return返回值参数不需要可省略,返回值不需要也可以省略先定义后调用函数的传入参数例如:defadd(x,y):result=x+yprint(f"{x}+{y}的结果是:{result}")在函数定义中,x、y为形参,表示函数声明将要使用两个参数,参数之间使用逗号进行分隔函数调用时,提供的数属于实
- python学习笔记
烟雨织轻愁
学习笔记
字面量整数、浮点数和·现实中写法一致字符串加上双引号即可,例如:"python代码"变量定义方式:变量名=变量的值(无需分号)数据类型print(type("python代码"))即可输出类型名string_type=type("python代码")接收类型名数据类型转换:int(x)、float(x)、str(x)标识符标识符:变量名字、方法的名字、类的名字等等标识符命名只允许数字、英文、中文、
- Python学习笔记 -一到五
赵唯一
Python编程秘籍python开发语言
第一阶段第一章python入门小技巧:上注释使用(ctrl+/)print("")输出的时候是,输出的就是“”内的内容如果是使用变量的话,不加””双引号,才可以输出变量的内容。eg:num=111而使用print("num")所输出的也就是num,调用变量不要加“”而且print是没有结果输出的,只是打印的功能;print("我","是")print可以多个输出内容中间用逗号隔开!!!(需要全部是
- 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