golang flag 获取命令行参数

golang flag 获取命令行参数 flag.String("port", ":8080", "http listen port") 像flag.Int、flag.Bool、flag.String这样的函数格式都是一样的,第一个参数表示参数名称,第二个参数表示默认值,第三个参数表示使用说明和描述。flag.StringVar这样的函数第一个参数换成了变量地址,后面的参数和flag.String是一样的。 flag.Parse() 解析函数将会在碰到第一个非 flag 命令行参数时停止,非flag命令行参数是指不满足命令行语法的参数,如命令行参数为cmd -flag=true abc 则第一个非 flag 命令行参数为 “abc” 使用flag来操作命令行参数,支持的格式如下: -id=1 --id=1 -id 1 --id 1 package main import ( "flag" "fmt" ) func main() { ok := flag.Bool("ok", false, "is ok") id := flag.Int("id", 0, "id") port := flag.String("port", ":8080", "http listen port") var name string flag.StringVar(&name, "name", "123", "name") flag.Parse() fmt.Println("ok:", *ok) fmt.Println("id:", *id) fmt.Println("port:", *port) fmt.Println("name:", name) } 还是非常方便的。 ...

2016-07-01 · 1 min · 106 words · -

golang tcp socket

golang tcp socket Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通信这块是服务端 程序必不可少也是至关重要的一部分。在日常应用中,我们也可以看到Go中的net以及其subdirectories下的包均是"高频+刚需",而TCP socket则是网络编程的主流,即便您没有直接使用到net中有关TCP Socket方面的接口,但net/http总是用到了吧,http底层依旧是用tcp socket实现的。 网络编程方面,我们最常用的就是tcp socket编程了,在posix标准出来后,socket在各大主流OS平台上都得到了很好的支持。关于tcp programming,最好的资料莫过于W. Richard Stevens 的网络编程圣经《UNIX网络 编程 卷1: socket 联网API》 了,书中关于tcp socket接口的各种使用、行为模式、异常处理讲解的十分细致。Go是自带runtime的跨平台编程语言,Go中暴露给语言使用者的tcp socket api是建立OS原生tcp socket接口之上的。由于Go runtime调度的需要,golang tcp socket接口在行为特点与异常处理方面与OS原生接口有着一些差别。这篇博文的目标就是整理出关于Go tcp socket在各个场景下的使用方法、行为特点以及注意事项。 模型 从tcp socket 诞生后, 网络编程架构模型也几经演化, 大致是: “每进程一个连接” –> “每线程一个连接” –> “Non-Block + I/O多路复用 (linux epoll/windows iocp/freebsd darwin kqueue/solaris Event Port)"。伴随着模型的演化,服务程序愈加强大,可以支持更多的连接,获得更好的处理性能。 目前主流web server一般均采用的都是"Non-Block + I/O多路复用” (有的也结合了多线程、多进程) 。不过I/O多路复用也给使用者带来了不小的复杂度,以至于后续出现了许多高性能的I/O多路复用框架, 比如libevent、libev、libuv等,以帮助开发者简化开发复杂性,降低心智负担。不过Go的设计者似乎认为I/O多路复用的这种通过回调机制割裂控制流的方式依旧复杂,且有悖于"一般逻辑"设计,为此Go语言将该"复杂性"隐藏在Runtime中了: Go开发者无需关注socket是否是 non-block的,也无需亲自注册文件描述符的回调,只需在每个连接对应的goroutine中以"block I/O"的方式对待socket处理即可,这可以说大大降低了开发人员的心智负担。一个典型的Go server端程序大致如下: //go-tcpsock/server.go func handleConn(c net.Conn) { defer c.Close() for { // read from the connection ...

2016-06-29 · 11 min · 2233 words · -

linux tc

linux tc http://blog.csdn.net/qinyushuang/article/details/46611709 TC 在Linux中,流量控制都是通过TC这个工具来完成的。通常,要对网卡进行流量控制的配置,需要进行如下的步骤: ◆ 为网卡配置一个队列; ◆ 在该队列上建立分类; ◆ 根据需要建立子队列和子分类; ◆ 为每个分类建立过滤器。 在Linux中,可以配置很多类型的队列,比如CBQ、HTB等,其中CBQ 比较复杂,不容易理解。HTB(Hierarchical Token Bucket)是一个可分类的队列, 与其他复杂的队列类型相比,HTB具有功能强大、配置简单及容易上手等优点。在TC中,使用"major:minor"这样的句柄来标识队列和类别,其中major和minor都是数字。 对于队列来说,minor总是为0,即"major:0"这样的形式,也可以简写为"major: “比如,队列1:0可以简写为1:。需要注意的是,major在一个网卡的所有队列中必须是惟一的。对于类别来说,其major必须和它的父类别或父队列的major相同,而minor在一个队列内部则必须是惟一的(因为类别肯定是包含在某个队列中的)。举个例子,如果队列2:包含两个类别,则这两个类别的句柄必须是2:x这样的形式,并且它们的x不能相同,比如2:1和2:2。

2016-06-10 · 1 min · 20 words · -

archlinux steam

archlinux steam sudo pacman -S steam sudo pacman -S ttf-liberation sudo pacman -S wqy-zenhei sudo pacman -S lib32-alsa-plugins sudo pacman -S lib32-curl sudo pacman -S lib32-libxtst sudo pacman -S lib32-gtk2 sudo pacman -S lib32-libpulse STEAM_RUNTIME=0 steam https://wiki.archlinux.org/index.php/steam#Installation https://wiki.archlinux.org/index.php/Steam#Using_native_runtime

2016-06-05 · 1 min · 38 words · -

领域模型 贫血模型 充血模型

领域模型 贫血模型 充血模型 http://blog.darkmi.com/2011/12/21/2069.html 领域模型 领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。 业务对象模型 (也叫领域模型 domain model) 是描述业务用例实现的对象模型。它是对业务角色和业务实体之间应该如何联系和协作以执行业务的一种抽象。业务对象模型从业务角色内部的观点定义了业务用例。该模型为产生预期效果确定了业务人员以及他们处理和使用的对象 (“业务类和对象”) 之间应该具有的静态和动态关系。它注重业务中承担的角色及其当前职责。这些模型类的对象组合在一起可以执行所有的业务用例。 贫血模型 (Anemic Model) Anemic Domain Model (贫血领域模型), 贫血领域对象 Martin Fowler在他个人博客里描述的一个Anti-pattern 反模式 是 Anemic Domain Model (贫血域模型), 但是,恰恰这种 Anti-pattern 反模式,却在实际应用中频繁出现。 是指领域对象里只有get和set方法,或者包含少量的CRUD方法,所有的业务逻辑都不包含在内而是放在Business Logic层。 贫血领域对象 (Anemic Domain Object)是指仅用作数据载体,而没有行为和动作的领域对象。 贫血领域对象只是个数据载体,没有任何行为。简单的业务系统采用这种贫血模型和过程化设计是没有问题的,但在业务逻辑复杂了,业务逻辑、状态会散落到在大量方法中,原本的代码意图会渐渐不明确,我们将这种情况称为由贫血症引起的失忆症。 充血模型 层次结构和上面的差不多,不过大多业务逻辑和持久化放在Domain Object里面,Business Logic只是简单封装部分业务逻辑以及控制事务、权限等,这样层次结构就变成Client-> (Business Facade)->Business Logic->Domain Object->Data Access。 参考资料: http://baike.baidu.com/view/757895.htm http://www.uml.org.cn/mxdx/200803141.asp http://www.oschina.net/question/54100_10400 作者: 郭凛 链接: https://www.zhihu.com/question/20360521/answer/14891150 来源: 知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 贫血模型最早广泛应用是源自于EJB2,最强盛时期则是由Spring创造,把"行为" (也称为逻辑、过程) 和"状态" (可理解为数据,对应到语言就是对象成员变量) 分离到不同的对象之中,那个只有状态的对象就是所谓的"贫血对象" (常称为VO——Value Object) ,而那个只有行为的对象就是我们常见的N层结构中的Logic/Service/Manager层 (对应到EJB2中的Stateless Session Bean) 。 (曾经Spring的作者Rod Johnson也承认,Spring不过是在沿袭EJB2时代的"事务脚本",也就是面向过程编程) 充血模型其实很简单,就是面向对象设计的本质: “一个对象是拥有状态和行为的”,比如说一个人,他眼睛什么样鼻子什么样这就是状态,人可以去打游戏或是写程序,这就是行为。为什么要有一个"人Manager"这样的东西存在去帮人"打游戏"呢?举个简单 ...

2016-06-04 · 1 min · 93 words · -

什么时候考虑使用静态

什么时候考虑使用静态 静态方法比较少用,因为他在一启动就实例化了,比较占资源,当然,配合单例模式还是比较好用的 比较多的用在数据连接上,我避免使用的原则就是减少资源消耗 静态方法用来执行无状态的一个完整操作,实例方法则相反,它通常是一个完整逻辑的一部分,并且需要维护一定的状态值。 如果用内存和效率来区分使用Static Method、Instance Method 就回到过去结构化编程了。使用那种方法的根本出发点还是围绕面向对象来进行的 静态方法不用创建实例可以直接调用 与类相关与对象无关 不需要对象的"轻"方法 工厂方法 如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用静态方法,那样方便,速度也快. 可以直接拿来就用的方法,就是静态的. 肯定不涉及具体对象,因为静态方法内,是无法直接使用任何非静态成员的。 工具类 可以当作"全局"对象或方法来使用 重载"操作符" 静态方法和实例方法是一样的,在类型第一次被使用时加载。调用的速度基本上没有差别。 从面向对象的角度上来说,在抉择使用实例化方法或静态方法时,应该根据该方法和实例化对象具是否有逻辑上的相关性,如果是就应该使用实例化对象, 反之使用静态方法。 我是把静态类当做全局变量和全局函数的整合对象来用的 全局累加时用 不需要生成对象的 经常频繁使用的 工具类里的 (如SqlHelper) 适当地使用static方法本身并没有什么,当一个人从来不懂使用多态、接口设计时,很自然地会滥用static方法。 个人理解在多个类中需要调用并且是与对象无关的方法可设为静态方法,方便调用。 所有对象共有的方法 不关系到任何于特定对象相关的操作 比如学生的年龄就是学生的相关。 修改学生的年龄就不适合用静态方法。 一般来说,如果你的方法里没有用到this关键字, 那就适合用静态方法 通常通用的类中一些常用的方法可以设计为静态类 只要是没有用到类的状态信息,只从参数获取信息的都可以为静态的 可以实现某些特殊的设计模式: 如Singleton 由于没有this指针,可以把某些系统API的回调函数以静态函数的形式封装到类的内部 可以封装某些算法,比如数学函数,如ln,sin,tan等等,这些函数本就没必要属于任何一个对象,所以从类上调用感觉更好 总之,从OOA/OOD的角度考虑,一切不需要实例化就可以有确定行为方式的函数都应该设计成静态的 以上这些各种说法,基本上都是正确的。但是,其中绝大多数是讲了"静态"和"实例"的区别,以及静态方法的特征。 很少有说到何时或是为什么要使用静态的。 静态包括静态类和静态成员 (静态方法 和 静态属性) ,既然搜索出来的这些说的都是静态成员 (基本上说的都是静态方法) ,那么我也就先仅对静态方法谈一谈自己的看法。 上中学数学,尤其是平面几何的时候,老师经常讲"定义"与"性质"的区别。“性质"只是它表现出来的特征而已,而"定义"才是真正的决定性的东西。 我觉得,静态方法的"定义"当然是 static 关键字了。没有用到this指针,这一点才是静态方法的首要"性质” (本质特征) 。像什么【共通】【全局】【单例模式】呀,那都是它的应用场景,或是说使用静态方法来达到的目的。 那么说到"何时该使用静态方法"其实是困扰很多程序员的苦恼问题。不明白这一点,也从一个侧面反映出对OO思想的理解不够,就很可能通过滥用静态方法已达到在面向对象的语言中继续进行面向过程的编程,这是很可怕的。 其实,方法是否涉及具体类的实例,或者简单的说是否涉及"数据" (如果使用就要用到this指针) 是决定是否使用静态方法的根部要因。然而,判断是否涉及到"数据"也是要看当前设计思路的。有时候不够OO的设计,可能会将本该设计到数据的实例方法,从"数据相关"变成"数据无关"。 (与OO不同,面向过程的编程就是将 方法 与 数据 分开) 在这样的设计思路下,你会发现怎么什么动作都是与数据无关的呢?恩,这就该开始滥用静态方法了。 本想举一个好一点的例子,但是时间匆忙,就简短说一下 Log 吧。有人认为写日志是一个工具在干活,应该是 Log.debug(…); ...

2016-06-02 · 1 min · 176 words · -

HTTP Transfer-Encoding

‘HTTP Transfer-Encoding’ 本文作为我的博客「HTTP 相关」专题新的一篇,主要讨论 HTTP 协议中的 Transfer-Encoding。这个专题我会根据自己的理解,以尽量通俗的讲述,结合代码示例和实际场景来说明问题,欢迎大家关注和留言交流。 Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」。实际上,HTTP 协议中还有另外一个头部与编码有关: Content-Encoding (内容编码) 。Content-Encoding 通常用于对实体内容进行压缩编码,目的是优化传输,例如用 gzip 压缩文本文件,能大幅减小体积。内容编码通常是选择性的,例如 jpg / png 这类文件一般不开启,因为图片格式已经是高度压缩过的,再压一遍没什么效果不说还浪费 CPU。 而 Transfer-Encoding 则是用来改变报文格式,它不但不会减少实体内容传输大小,甚至还会使传输变大,那它的作用是什么呢?本文接下来主要就是讲这个。我们先记住一点,Content-Encoding 和 Transfer-Encoding 二者是相辅相成的,对于一个 HTTP 报文,很可能同时进行了内容编码和传输编码。 Persistent Connection 暂时把 Transfer-Encoding 放一边,我们来看 HTTP 协议中另外一个重要概念: Persistent Connection (持久连接,通俗说法长连接) 。我们知道 HTTP 运行在 TCP 连接之上,自然也有着跟 TCP 一样的三次握手、慢启动等特性,为了尽可能的提高 HTTP 性能,使用持久连接就显得尤为重要了。为此,HTTP 协议引入了相应的机制。 HTTP/1.0 的持久连接机制是后来才引入的,通过 Connection: keep-alive 这个头部来实现,服务端和客户端都可以使用它告诉对方在发送完数据之后不需要断开 TCP 连接,以备后用。HTTP/1.1 则规定所有连接都必须是持久的,除非显式地在头部加上 Connection: close。所以实际上,HTTP/1.1 中 Connection 这个头部字段已经没有 keep-alive 这个取值了,但由于历史原因,很多 Web Server 和浏览器,还是保留着给 HTTP/1.1 长连接发送 Connection: keep-alive 的习惯。 ...

2016-05-24 · 2 min · 270 words · -

Invalid HTTP server response [411] – Length Required

‘Invalid HTTP server response [411] – Length Required’ http://www.coderanch.com/t/625696/Web-Services/java/Invalid-HTTP-server-response-Length As William asked, please share how you are setting content length in SOAP header. I searched online for error and found that there can be one more reason for this failure. Reason - The remote WSEndpoint did not like the HTTP Chunking feature activated. Try disabling this feature for WS client. netty HttpPostRequestEncoder bodyRequestEncoder = new HttpPostRequestEncoder(factory, request, false);

2016-05-24 · 1 min · 68 words · -

netty 文件上传

netty 文件上传 http://blog.csdn.net/mcpang/article/details/41140409 【初学与研发之NETTY】netty4之文件上传 标签: netty4文件上传 2014-11-15 04:35 6005人阅读 评论(29) 收藏 举报 分类: JAVA (48) Netty (6) 版权声明: 本文为博主原创文章,未经博主允许不得转载。 客户端: print? public class UpLoadClient { private StringBuffer resultBuffer = new StringBuffer(); private EventLoopGroup group = null; private HttpDataFactory factory = null; private Object waitObject = new Object(); private ChannelFuture future = null; public UpLoadClient(String host, int port) throws Exception { this.group = new NioEventLoopGroup(); this.factory = new DefaultHttpDataFactory(DefaultHttpDataFactory.MINSIZE); Bootstrap b = new Bootstrap(); ...

2016-05-24 · 6 min · 1133 words · -

MessageFormat

MessageFormat MessageFormat用法 博客分类: java MessageFormatMessageFormat.format MessageFormat用来格式化一个消息,通常是一个字符串,比如: String str = “I’m not a {0}, age is {1,number,short}”, height is {2,number,#.#}; 而MessageFormat可以格式化这样的消息,然后将格式化后的字符串插入到模式中的适当位置,比如: 将str中的{0}用"pig"替换,{1,number,short}用数字8替换,{2,number,#.#}用数字1.2替换。 那么最终用户得到的是一个格式化好的字符串"I’m not a pig, age is 8, height is 1.2"。 MessageFormat本身与语言环境无关,而与用户提供给MessageFormat的模式和用于已插入参数的子格式模式有关,以生成适用于不同语言环境的消息。 MessageFormat模式 (主要部分) : FormatElement: { ArgumentIndex } { ArgumentIndex , FormatType } { ArgumentIndex , FormatType , FormatStyle } FormatType: number date time choice (需要使用ChoiceFormat) FormatStyle: short medium long full integer currency percent SubformatPattern (子模式) 还以str为例,在这个字符串中: {0}和{1,number,short}和{2,number,#.#};都属于FormatElement,0,1,2是ArgumentIndex。 {1,number,short}里面的number属于FormatType,short则属于FormatStyle。 {1,number,#.#}里面的#.#就属于子格式模式。 指定FormatType和FormatStyle是为了生成日期格式的值、不同精度的数字、百分比类型等等。 实例: ArgumentIndex必须是非负整数,它的个数不只限于0到9这10个,它可以用0到9的数字组成,因此可以有好多个,如: Java代码 ...

2016-05-17 · 2 min · 339 words · -

统计文件行数, 文件数

统计文件行数, 文件数 Linux下有三个命令: ls、grep、wc。通过这三个命令的组合可以统计目录下文件及文件夹的个数。 统计当前目录下文件的个数 (不包括目录) ls -l | grep “^-” | wc -l 统计当前目录下文件的个数 (包括子目录) ls -lR| grep “^-” | wc -l 查看某目录下文件夹(目录)的个数 (包括子目录) ls -lR | grep “^d” | wc -l 统计.md文件个数 ls -lR|grep "^-.*.md"|wc -l 语法: wc [选项] 文件… 说明: 该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 该命令各选项含义如下: c 统计字节数。 l 统计行数。 w 统计字数。 这些选项可以组合使用。 输出列的顺序和数目不受选项的顺序和数目的影响。 总是按下述顺序显示并且每项最多一列。 行数、字数、字节数、文件名 如果命令行中没有文件名,则输出中不出现文件名。 例如: `$ wc - lcw file1 file2 4 33 file1 7 52 file2 ...

2016-05-15 · 1 min · 114 words · -

Linux批量重命名文件

Linux批量重命名文件 #在前面添加 _hoho_ for i in \`ls\`; do mv -f $i \`echo "_hoho_"$i\`; done #修改前面5个字母为zhaozh for i in \`ls\`; do mv -f $i \`echo $i | sed 's/^...../zhaozh/'\`; done Linux批量重命名文件会涉及到改变一个字母、改变一些相连字母、改变某些位置的字母、在最前面加上某些字母、或者改变字母的大小写。完成这里五个方法基本上就会解决了Linux批量重命名的工作。 我想把它们的名字的第一个1个字母变为"q",其它的不变 [root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed ’s/^./q/’`; done 或者写个脚本,显得更加清晰: for file in `ls` do newfile =`echo $i | sed ’s/^./q/’` mv $file $newfile done 修改前面5个字母为zhaozh [root@pps mailqueue]# for i in `ls`; do mv -f $i `echo $i | sed ’s/^…../zhaozh/’`; done ...

2016-05-13 · 1 min · 131 words · -

netctl

netctl pacman -S wpa_actiond pacman -S dialog systemctl stop dhcpcd systemctl disable dhcpcd cp /etc/netctl/example/wireless-wpa sudo chmod u+x /etc/netctl/* emacs wireless-wpa sudo netctl start xxxxxx sudo netctl enable wireless-wpa wireless #http://www.wiloon.com/?p=7520

2016-04-26 · 1 min · 31 words · -

解决 archlinux 和 windows 双系统启动时间不准的问题

解决 archlinux 和 windows 双系统启动时间不准的问题 https://bbs.archlinuxcn.org/viewtopic.php?id=424 pacman -S openntpd systemctl start openntpd ntpd -s -d hwclock -w http://mindonmind.github.io/notes/linux/arch_time.html```

2016-04-25 · 1 min · 18 words · -

archlinux netctl wifi

archlinux netctl wifi Essay Address: http://blog.csdn.net/sunnypotter/article/details/23201339 # 如果之前systemctl enable dhcpcd.service systemctl dhcpcd.service systemctl disable dhcpcd.service 然后 cd /etc/netctl cp examples/wireless-wpa . # A simple WPA encrypted wireless connection vim wireless-wpa # Modify Interface=wlp8s0 # iw dev查看, 或ip link 或ifconfig Connection=wireless Security=wpa IP=dhcp ESSID=‘wifi-name’ Key=‘wifi-passwd’ 注意,必须先完成以上才能进行一下,否则有一系列问题 netctl enable wireless-wpa netctl start wireless-wpa reboot ( 相关文件夹: /etc/netctl # 网络配置文件夹,假如配置名字叫 wireless-wpa /etc/systemd/system # /etc/systemd/system # netctl@wireless-wpa.service /etc/systemd/system/multi-user.target.wants # netctl@wireless-wpa.service 相关命令: journalctl -xn systemctl -failed ...

2016-04-25 · 1 min · 96 words · -

小平岛 玉皇顶

小平岛 玉皇顶 小平岛之巅是玉皇顶,海拔73米,与之相连的是城山头,海拔53米。在它的半腰处有一堵30多米长的残垣断壁,面对大海,青石累累。据说,宋金时期为了抗击外来的海盗,驻守这里的将士们筑起了这堵城墙。现已被列为大连市重点保护文物。[1] 在城墙的西端有一个两米多高的黑褐色圆台形礁石屹立在海中,渔民叫它钓鱼角。每逢金秋季节,这里常有墨鱼和鲅鱼涌到岸边觅食,只要在鱼钩上包上锡纸当诱饵,放到海中片刻就可引来墨鱼。在这里吊鲅鱼的方法更是奇特: 只要把一种金属铅和鱼钩铸在一起的流线型钩坠猛地甩向几十米远,随即再迅速收线,钩坠就在水中游动,鲅鱼一发现钩坠,会误认为是饵料,便穷追不舍,一口吞下。 大连老偏岛—玉皇顶海洋生态自然保护区于2000年8月建立。该保护区地理坐标为东经121°28′46″~121°36′37″,北纬38°47′29″~38°50′00″,总面积为1580公顷。 保护范围 保护区总面积为1580公顷。其中: 缓冲区的范围是岛坨海岸线向外延伸1000米范围内,面积为1310公顷;核心区的范围是玉皇顶海岸线向外延伸100米范围内,大坨子、二坨子、三坨子、四坨子海岸线向外延伸200米范围内,老偏岛海岸线向外延伸50米范围内,面积为270公顷(包括老偏岛及大坨子、二坨子、三坨子、四坨子海岸线以上向陆部分,面积为70公顷)。 保护对象 刺参、皱纹盘鲍、紫海胆、紫石房蛤、香螺、魁蚶、马尾藻及周围海洋生态系统;老偏岛的喀斯特地貌,玉皇顶及大坨子、二坨子、三坨子、四坨子的海蚀地貌景观。 独特景观 老偏岛由于岩石性质、地质构造和古气候等多种因素影响,形成国内北方岛屿罕见的喀斯特溶洞景观。 玉皇顶是小平岛的陆连岛,由五个山包构成起伏山崖,其外侧是清澈的海水。岩石是坚硬的震旦纪桥头组中厚石英岩,岩层产状近于水平。由于构造裂隙及强烈海蚀作用,形成各种海蚀景观,如海蚀洞、象鼻洞。其中一较大洞长约30米,高15米。 该区有天然海草床,水下植物种类齐全,如皱纹盘鲍、紫海胆、刺参、香螺等海珍品,其资源量和质量有区域优势。 该保护区对在大连市西部建一处"海洋公园"来讲是一处较好的选址,对大连沿海旅游业的立体发展和资源开发与保护并举有重要的示范作用,她必将成为一张亮丽的城市名片。 历史 这个岛还有一段美丽的传说。很久以前,这里没有小岛,只有一个小渔村。村西头住着一个叫海生的渔民,他自幼练得一身捕鱼的好本领,还会吹笛。一天,他下完网正要拿出笛子吹,忽听一阵呼救声传来,举目望去, 小平岛 小平岛 只见一个大海蚌被鲨鱼咬住了。海生急忙摇船过去,操起桨把鲨鱼打跑了。突然间,大海蚌变成了一个俊俏的姑娘跳上了船头,不停磕头还要嫁他为妻以谢他的救命之恩。海生听她讲了事情的起因: 她叫蚌花,常躲在珊瑚洞里听他吹笛,今天不巧被独眼鲨发现了,一直追到了人间,非要逼她为妻。海生看她对自己一往情深,欣然接受,当晚就举行了婚礼。独眼鲨得知后非常气愤,掀起一股巨浪把村子淹没了一半,还要渔民们在中秋节送一对童男童女给它,否则就淹没整个村子。正当期限将到,渔民们急得团团转时,蚌花从龙王那里借来了"吞海宝瓶",在中秋节把宝瓶放在海滩上。当独眼鲨奔到岸边时,被宝瓶吸进肚中,顿时潮水退去,渔民们又可以安居乐业了。 不久龙王派大将来索取宝瓶,并说若不从速还就把他俩变成礁石。 小平岛 小平岛 为了不让独眼鲨出来祸害百姓,他俩宁死不还宝瓶。龙王被激怒了,就把宝瓶变成了像花瓶似的大礁石,与陆地紧紧相连。蚌花却被变成了花,海生则被变成了树,结伴生长在"花瓶"上。此后,每逢阳春三月,绿树和鲜花就会把小岛打扮得比花瓶还美丽。为感谢他俩给人间留下的幸福,渔民们也就把这块大礁石叫做"小瓶岛",以寄托哀思。时间长了叫成了"小平岛"。[2]

2016-04-24 · 1 min · 26 words · -

archlinux init

archlinux init openssh ssh key neovim ln -s … vi… vim to nvim sudo nopassword for wiloon python for ansible pacman -Syu yay for telegraf after install mesa, to confirm it works 被正确加载 glxinfo | grep "OpenGL renderer" # OpenGL renderer string: AMD Radeon Graphics (radeonsi, phoenix, LLVM 19.1.7, DRM 3.61, 6.14.9-arch1-1) # 看内核模块是否加载成功 lsmod | grep amdgpu vulkaninfo | grep "deviceName" after install vkcube # 测试 vulkan su - wiloon echo $WAYLAND_DISPLAY # wayland-0 # vkcube 默认会尝试用 xlib(X11)作为窗口系统接口, 如果你想要使用 Wayland, 需要指定 --wsi wayland vkcube --wsi wayland before ansible script pacman -Syu && pacman -S git ansible clone ansible script git clone git@github.com:wiloon/ansible.git config network by systemd-networkd http://blog.wiloon.com/?p=9881 ...

2016-04-21 · 2 min · 355 words · -

Invalid partition table

Invalid partition table syslinux root和boot在 逻辑分区上 启动时会提示 Invalid partition table 回国后正常进入syslinux http://bbs.sjtu.edu.cn/bbscon,board,GNULinux,file,M.1398935226.A.html

2016-04-21 · 1 min · 12 words · -

e2fsck command

e2fsck command linux 下磁盘检查修复命令 # 注意, 是对分区进行检查, 如果参数只写磁盘 /dev/sda, 有可能会报分区表异常之类的... e2fsck: Bad magic number in super-block while trying to open /dev/vdb1 e2fsck -f /dev/sda2 e2fsck 用于检查和修复 ext 文件系统的硬盘分区, 不过这个命令还有专有形式: fsck.ext3, fsck.ext2分别用于检测ext3和ext2。 使用方法: 1。首先在检查之前一定要卸载待检查的文件系统分区。 2。主要参数包括: -a: 检查 partition,如发现问题会自动修复。 -b: 设定 superblock 位置。 -B size: 指定 size 作为区块大小。 -c: 检查 partition 是否有坏轨。 -C file: 将检查结果储存到 file。 -d: 输出 e2fsck debug 结果。 -f: e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。 -F: 在检查前将硬盘它的参数包括有: -a:

2016-04-18 · 1 min · 67 words · -

iotop

iotop iotop命令是专门显示硬盘IO的命令,界面风格类似top命令。这个命令只有在kernelv2.6.20及以后的版本中才有。 只显示io的进程pid iotop -oP install yum install iotop 参数 -o, -only Only show processes or threads actually doing I/O, instead of showing all processes or threads. This can be dynamically toggled by pressing o. -b, -batch Turn on non-interactive mode. Useful for logging I/O usage over time. -n NUM, -iter=NUM Set the number of iterations before quitting (never quit by default). This is most useful in non-interactive mode. -d SEC, -delay=SEC ...

2016-04-17 · 2 min · 262 words · -