这一定是你经常用,但是不知道名字的设计模式
1.什么是定经但不的设门面模式?
Provide a unified interface to a set of interfaces in a subsystem.Facade defines a higher-level interface that makes the subsystem
easier to use.
门面模式(Facade Pattern):也叫外观模式,要求一个子系统的常用外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的知道接口,使得子系统更易于使用。名字
说人话:假设有一个系统 A,计模提供了 a、定经但不的设b、常用c、知道d 四个接口。名字系统 B 完成某个业务功能,计模需要调用 A 系统的定经但不的设 a、b、常用d 接口。知道利用门面模式,名字我们提供一个包裹 a、计模b、d 接口调用的门面接口 x,给系统 B 直接使用。至于为什么要这样做,下文会告诉你。
2.门面模式定义

此角色知晓子系统的所有功能和责任,客户端可以调用这个角色的方法,香港云服务器会将所有从客户端发来的请求委派到相应的子系统去, 也就说该角色没有实际的业务逻辑,
只是一个委托类。
②Subsystem 子系统角色可以同时有一个或者多个子系统。每一个子系统都不是一个单独的类, 而是一个类的集合。子系统并不知道门面的存在。对于子系统而言,
门面仅仅是另外一个客户端而已。
3.门面模式通用代码实现
/
*** 子系统A
*/
public class ClassA {
public void doA(){
System.out.println("子系统A方法");
}
}/
*** 子系统B
*/
public class ClassB {
public void doB(){
System.out.println("子系统B方法");
}
}/
*** 子系统C
*/
public class ClassC {
public void doC(){
System.out.println("子系统C方法");
}
}/
*** 门面角色
*/
public class Facade {
private ClassA a = new ClassA();
private ClassB b = new ClassB();
private ClassC c= new ClassC();
// 提供给外部访问的方法
public void doSomething(){
this.a.doA();
this.b.doB();
this.c.doC();
}
}看上去,没有门面角色,我们自己去调用三个子系统的方法也是一样,但是假如三个子系统之间有先后顺序,还有来自不同网络开销,我们通过门面模式提供的方法,就屏蔽了这些差异,让我们只需要调用门面角色提供给我们的方法即可。免费源码下载
4.门面模式优点
①减少系统的相互依赖如果我们不使用门面模式, 外界访问直接深入到子系统内部, 相互之间是一种强耦合关系, 你死我就死, 你活我才能活, 这样的强依赖是系统设计所不能接受的,
门面模式的出现就很好地解决了该问题, 所有的依赖都是对门面对象的依赖, 与子系统无关。
②提高安全性想让你访问子系统的哪些业务就开通哪些逻辑, 不在门面上开通的方法, 你休想访问到。
5.门面模式应用场景
①解决易用性问题门面模式可以用来封装系统的底层实现,隐藏系统的复杂性,提供一组更加简单易用、更高层的接口。
②解决性能问题通过将多个接口调用替换为一个门面接口调用,减少网络通信成本,提高客户端的免费信息发布网响应速度。
③解决分布式事务问题需要调用多个子系统的接口方法,而这些接口要么都成功,要么都失败,我们就可以利用门面模式包裹这些子系统接口,然后通过某种方法保证这些接口在一个事务中完成。
6.适配器模式和门面模式区别
适配器模式:主要做接口转换,解决的是原接口和目标接口不匹配的问题。门面模式:主要做接口整合,解决的是多接口调用带来的问题。
本文地址:http://www.bzuk.cn/news/63e31299624.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
相关文章
选择适合你的家庭WiFi网络管理软件(提升家庭网络管理效率,畅享高速互联网)
台式电脑升级设计教程(轻松学会升级你的台式电脑,让它重焕新生)
这个简明教程对Ubuntu 14.04历史文件清理进行了说明,它用于初学者。要从dash搜索删除历史记录,请遵循以下程序。转到系统设置(System Settings)并打开安全与隐私(Security & Privacy)。在文件与应用(Files and Applications)标签下,点击清除用户数据(Clear Usage Data)。你也可以关闭“记录文件与应用使用(Record file and Application usage)以阻止系统记录你当前使用的文件和应用。
在windows中我们可以将喜欢的网址放在桌面并双击打开,那么在ubuntu上可不可以呢,当然可以下面我们就一起来看一下。1、首先大家要写一个脚本用来打开一个网址,只有两行代码,很简单的。(我写的是打开JAVA的在线API帮助)。2、脚本写好以后我们运行脚本发现是可以正常运行的,我们先赋予脚本可运行的权限,chmod a+x 脚本名称,设置后发现脚本的各项权限如图所示。3、输入./JAVA_Api.sh 可以打开网页,这一步完成后接下来就简单了,和创建程序的快捷方式几乎一样。 4、我们来看一下JAVA_Api.desktop的详细设置,文件的配置几乎一样,就是脚本文件多了一个.sh的后缀。一定要注意脚本文件赋予它可运行的权限。5、添加完成后 在applications文件夹多了一个JAVA_Api.desktop的文件这就是快捷方式,双击图标就能打开。6、假如你想把它加到侧边栏,拖动就可以加入,好了在桌面添加网址的快捷方式就这样完成了。注意事项:编辑文件时权限的使用,要给脚本可运行的权限。相关推荐:ubuntu如何截图 ubuntu中截屏的三种方法Ubuntu 15.10正式版发布 官方ISO镜像下载
微星H170ProVD的性能与特点(全面升级的硬件配置,带给你更顺畅的使用体验)
解决电脑错误代码651的方法(探索错误代码651的原因和解决方案)
解决电脑启动蓝屏硬盘模式错误的有效方法(排除硬盘模式错误,让电脑安稳启动)
电脑磁盘驱动写入错误的原因及解决方法(探究电脑磁盘驱动写入错误的根源,以及应对之道)
热门文章
- 1解决电脑开机显示英文Windows错误恢复的问题(从错误诊断到系统恢复,帮助您解决电脑开机故障)
- 2Win10电脑错误1067的解决方法(解析Win10电脑出现错误1067的原因和解决方案)
- 3在 Ubuntu 上玩儿 Dota2 时,我们需要启用独立显卡,否则游戏体验会受到影响。1、首先在BIOS中启用独显。很多 BIOS 中是默认开启独显的,假如你没有改过这项设置,一般可以跳过此步。2、打开终端,输入以下命令:sudo apt-get install nvidia-331 nvidia-settings nvidia-prime按下回车键,询问是否继续时选y (yes),等待安装完成。nvidia-331 中的 331 是现在的最新版本,你可以去N卡官网查看最新版本,也可以输入“sudo apt-get install nvidia-”之后按tab键,看看最大的版本号是多少。3、安装完成后,打开 Dash,输入 nvidia 过滤应用。有时不用输入完就能看到大家要找的应用了。找到 NVIDIA X Server Setting,点击进入。4、在这里你可以选择使用集成显卡还是独立显卡,还可以进行进一步的详细设置。
- 4电脑小程序错误码及解决方法(深入了解常见电脑小程序错误码,轻松解决问题)
- 5以MaliT860玩游戏的优势和劣势分析(探索MaliT860在游戏领域的性能表现及局限性)
- 610月13日消息,Ubuntu 15.10(Wily Werewolf)即将在10月22日正式发布,目前Ubuntu 15.10已经确认达成最终内核的冻结,也就是说,今后除了一些bug修复,将不会再有相关升级。具体说来,Ubuntu 15.10进入冻结阶段后,其软件栈和内核都不会再有升级,这能够让开发者更好地进行测试,为最终发布做好准备。据悉,Ubuntu 15.10所用Linux内核为4.2版。来自Canonical的Joseph Salisburty几天前就表示:“我们即在10月8日达成Wily Werewoft内核冻结,若还有针对15.10的补丁,请尽快提交。按照内核冻结的最终期限,所有补丁需要遵守我们的SRU策略,存在错过发布的可能。”
- 7ubuntu用户现在已经确切的了解到关于unity8集成到ubuntu桌面的相关计划。ubuntu桌面其实还并没有引起更多开发者的足够关注,不过现在这种状况正在得到更快的改变。Canonical的ubuntu桌面团队经理,Will Cooke,最近谈到了关于unity桌面的一些未来规划,以及未来几个ubuntu版本的计划。可能已经有许多ubuntu用户,已经发现,有越来越多的ubuntu开发者正在把他们的精力放在了ubuntu的移动端平台上,与此同时,关注桌 面端ubuntu的开发者要比平常少了不少。这或许是因为,大家都认为,来自ubuntu touch的大量改进和优化,形成的成果最终也会汇集到桌面端吧!其实吧,并不是所有的人都相信,现在在ubuntu touch上的桌面环境,会让未来的ubuntu桌面端一样变得更强大,而且,所说的未来其实也没多久远!事实上,要比大家想想的更为靠近!下一代Ubuntu LTS会默认采用unity8ubuntu的移动平台正在使用unity8 ,这货不同于当前桌面端使用的unity7,毕竟人家使用了很多期待中的有趣特性。ubuntu的开发人员几乎花费了超过2年的时间,就是为了能让 unity8能在ubuntu phone和ubuntu touch上完美运行,所以为了这样的目的,几乎付出了他们的所有努力。Canonical的新晋桌面团队经理,Will Cooke ,详细的解释unity8的发展蓝图,即将发布的ubuntu14.10的默认桌面依然会是unity7 ,unity8仅会以开发者预览版的形式作为一种可选项予以提供,ubuntu15.04仍然会将unity7作为默认桌面,不过unity8将作为可替 代选项予以提供,而将unity8作为默认桌面最有可能是在ubuntu15.10发行版中。Will说“可能”,是因为他不确定,在那之前,会不会发生一些不可预料的事情影响进度,ubuntu开发人员可能会准备好,也可能不会,所以看情况了。不过,可以确定的是,unity8一定会作为ubuntu16.04这个长期支持版的默认使用桌面。为什么ubuntu新桌面是如此特别?你可能会认为,unity8仅仅是一种桌面环境的升级罢了,而事实上,它远不只如此!由于unity8的构建方式,当开发者发布新的应用和更新,终端用户会更快速的收到相关的包版本,而不用再等待新版本的ubuntu来获取相关的重要应用或者二进制包!“通常来说,新版本的ubuntu发布,会伴随有新版本的相关应用更新,当然也必然包含有重要的安全更新和BUG修复,但是为了获得相关更新,你不 得不耐心的等待新版本的ubuntu的发布,以及相关应用的重大更新才可以。而新版本的unity8工作机制,保证了开发者将其应用更新实时推送到客户端 面前而不需要等待,毫无疑问,终端用户会因此而获益多多!”Will Cooke这样说。社区阻力依然存在对Canonical来说,unity8是一个重大的改变,也正是因为如此,从一开始,就感受到来自社区的巨大质疑和阻力,这也是众所周知的!幸运 的是,unity8项目从一开始还是被绝大多数人认可,当然了也有人认为unity7才是最棒的,而unity8是个失败品。这也是没办法的事了!Canonical如今提供了使用unity8的另一个镜像(点击浏览),我们称之为“NEXT”!这是一个live CD,能够展现大概的功能,不过这货是基于一个超大号的tablet!期待吧,愚蠢的地球人,希望明年有足够的时间让大家用上新版本的unity!谢谢阅读,希望能帮到大家,请继续关注脚本之家,我们会努力分享更多优秀的文章。
- 8安装了Ubuntu系统后,默认的是Firefox火狐浏览器,但是很多朋友打开这个默认的浏览器以后,发现默认的主页不是很喜欢,想要自己修改浏览器的主页,但是很多朋友刚入手Ubuntu系统以后,找不到修改和设置主页位置,这里小编介绍下具体的操作方法。1、系统桌面上,这里首先点击左侧的Firefox浏览器打开。2、这时候鼠标点击顶部,找到edit菜单,然后找到首选项Preferences打开。3、general选择中这里Home page,输入自己要设置的主页地址。4、输入自己要设置的主页以后,关闭页面即可,这里上面选择when firefos starts:为show my home page这样就可以了。5、当然我们也可以点击浏览器右上角的按钮,然后出现界面点击Preferences。后面的操作方法是类似的。6、大家可以先打开一个页面后,点击这里的使用当前页面可以快速设置当前页面为自己浏览器的主页。7、主页设置结束后,下次你再次打开Firefox浏览器时候,主页就显示了。
- 9轻松掌握系统手动备份技巧(以u启动手动备份系统教程,助你数据安全无忧)
- 10假如你在Debian或Ubuntu系统上经常感觉到apt-get 或 aptitude包安装速度过慢,那么这里就有几种改善这一情况的方法。你有没有考虑过改变正被使用的默认镜像站点?你有没有排除因特网连接的上游带宽成为瓶颈的可能?假如不是这些原因,你可以尝试第三个选择:使用apt-fast工具。apt-fast实际上是一个围绕apt-get和aptitude所写的shell脚本容器,它能加速包的下载速度。apt-fast本质上采用aria2下载工具,这款工具能够以“块”的方式从多个镜像并行下载一个文件(就像BitTorrent下载)。在Debian或Ubuntu上安装apt-fast下面是在基于Debian的Linux上安装apt-fast的步骤Debian复制代码代码如下: $ sudo apt-get install aria2 $ wget https://github.com/ilikenwf/apt-fast/archive/master.zip $ unzip master.zip $ cd apt-fast-master $ sudo cp apt-fast /usr/bin $ sudo cp apt-fast.conf /etc $ sudo cp ./man/apt-fast.8 /usr/share/man/man8 $ sudo gzip /usr/share/man/man8/apt-fast.8 $ sudo cp ./man/apt-fast.conf.5 /usr/share/man/man5 $ sudo gzip /usr/share/man/man5/apt-fast.conf.5Ubuntu 14.04 以及更高版本复制代码代码如下:$ sudo add-apt-repository ppa:saiarcot895/myppa $ sudo apt-get update $ sudo apt-get install apt-fastUbuntu 11.04 到 Ubuntu 13.10复制代码代码如下:$ sudo add-apt-repository ppa:apt-fast/stable $ sudo apt-get update $ sudo apt-get install apt-fast在安装期间,你需要选择一个默认的软件包管理器 (e.g., apt-get. aptitude ),还需要设置其余选项。但是你可以随时通过编辑配置文件 /etc/apt-fast/conf 来更改设置。配置 apt-get安装完成后,你需要在/etc/apt-fast.conf里配置apt-fast使用的一系列镜像。你可以在下面的URL中找到一系列Debian/Ubuntu镜像。 Debian: http://www.debian.org/mirror/list Ubuntu: https://launchpad.net/ubuntu/+archivemirrors选择完那些地理上靠近你的镜像后,你需按照下面的格式将选择的镜像加入到/etc/apt-fast.conf。复制代码代码如下: $ sudo vi /etc/apt-fast.confDebian:复制代码代码如下:MIRRORS=(http://ftp.us.debian.org/debian/,http://carroll.aset.psu.edu/pub/linux/distributions/debian/,http://debian.gtisc.gatech.edu/debian/,http://debian.lcs.mit.edu/debian/,http://mirror.cc.columbia.edu/debian/)Ubuntu/Mint:复制代码代码如下:MIRRORS=(http://us.archive.ubuntu.com/ubuntu,http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive/,http://mirror.cc.vt.edu/pub2/ubuntu/,http://mirror.umd.edu/ubuntu/,http://mirrors.mit.edu/ubuntu/)如上面所示,对于一个特定档案的个别镜像,需要用逗号分割开来。你需要在/etc/apt/sources.list的MIRRORS字符串中包含默认的镜像指定站点。使用apt-fast安装一个包现在你就可以测试apt-fast的强大了。下面是使用apt-fast的示例:复制代码代码如下:apt-fast [apt-get options and arguments] apt-fast [aptitude options and arguments] apt-fast { { install | upgrade | dist-upgrade | build-dep | download | source } [ -y | --yes | --assume-yes | --assume-no ] ... | clean }使用apt-fast安装包:复制代码代码如下:$ sudo apt-fast install texlive-full在当前目录下载软件包,但不安装:复制代码代码如下:$ sudo apt-fast download texlive-full 如前面所示,apt-fast的并行下载是通过aria2完成的。你可以看到如下图般从多个镜像并行下载。复制代码代码如下:$ sudo netstat -nap | grep aria2c 请注意,apt-fast并没有加速apt-get update。并行下载只在install, upgrade, dist-upgrage和build-dep操作中触发。其余的操作,apt-fast就会简单地回到默认的包管理器apt-get或aptitude。apt-fast有多快?为了比较apt-fast和apt-get,我尝试在两个相同的Ubuntu实例上使用两种方法安装几个软件包。下面的图表展示了所有软件包安装的时间(单位为秒)。正如你所见到的,apt-fast确实比apt-get快(e.g. 快3--4秒),特别是安装庞大软件包的时候。当然,安装性能的提高程度还依赖你上游因特网连通性。以我为例,我有富足的带宽来支持我的上游连接。这也是为什么我看到并行下载带来了成功的提高。
- 11Linux 由于开源,所以具备可定制性,因此衍生了许多发行版。Ubuntu 和 Fedora 算是其中对新手比较友好的两个发行版,主要是其安装较为简单,用户群多,有问题方便搜索出相关的信息或者找前辈解决。此文为 Linux 新手准备,通过展示整个安装过程来使 Linxu 新手完成安装 Ubuntu 或 Fedora ,也恳请各位前辈指出不足之处。阅读建议 本文将包含 Ubuntu 和 Fedora 两个发行版的安装,请先通篇浏览全文,再决定安装哪个发行版,并且配图有相应的文字说明,请不要忽视。 假如你是一位新手,强烈建议使用虚拟机操作;假如你相信自己可以解决问题,也可使用 ultraiso 、USBWriter 和 dd命令写入 U 盘,进行实体机安装,此处不详述。Ubuntu简介Ubuntu 是一个基于 Debian 的 GNU/Linux 操作系统,支持 X86 、64以及 PPC 架构。Ubuntu 每隔六个月发布一个版本,即每年的四月和十月,本文使用的是 15.04 64-bit 版本。Ubuntu 对于新手应该是比较友好的一个 Linux 发行版,中文本地化也做的不错,有开箱即用的感觉。因为 Ubuntu 近几年用户群的增加,多了很多对于新手有用的资料,因此不用担心遇到问题无法解决,善用搜索和提问,将使你更快速地成长。Fedora简介Fedora 是一个由 Fedora 社区开发的 Linux 发行版,由 Red Hat 公司赞助。可以将 Fedora 看成是 Red Hat Linux 个人使用的代替,由于有 Red Hat 公司的支持,Fedora 的功能非常完善,还分为 WORKSTATION 、SERVER 和 CLOUD 版本。本文使用的是 Fedora 22 WORKSTATION (工作站),Fedora 22 已经将包管理器从 YUM 改为 DNF ,因此建议学习者直接学习 DNF 。本文环境 Windows 8.1 64-bit VirtualBox-5.0 点此下载 Ubuntu 15.04 64-bit 点此下载 Ubuntu 15.04 32-bit 适合配置较低的用户使用 点此下载 Fedora 22 64-bit 点此下载 Fedora 22 32-bit 适合配置较低用户使用 点此下载Ubuntu 安装1.新建与加载盘片当你安装完 VirtualBox 后,打开你应该会看到下面这样的界面VirutalBox点击新建后会出来如下图所示的界面,一般如图填写即可,内存可酌情填写。新建虚拟电脑下一步将创建虚拟硬盘,如图所示,默认位置为 C 盘,假如你不想在 C 盘创建,请确保你选择的盘格式为NTFS。创建虚拟硬盘创建完成后,请点 设置 如图加载 ISO 文件加载 ISO 文件2.安装 Ubuntu点击启动 ,会开机,进入如下界面开始安装安装选项这里请注意,假如你与笔者一样使用虚拟机,强烈建议选择 清除整个磁盘并安装 Ubuntu ,但假如你要装到实体机与 Windows 形成双系统时,请选择 其他选项 ,但这要求你对 Linxu 有一定的了解且具备一定的基础进行分区操作,注意不要覆盖 Windows 的 C 盘,此处由于篇幅原因,不再详述。安装类型如图,进行用户设定,计算机名 是主机名,用户名 是登录时用的账户名称,密码 则是你所设 用户名 的登录密码,请务必记牢。添加用户这一步之后会选择时区,直接点下一步即可,键盘选择如下图选择键盘布局配置选择已完成,接下来请耐心等待安装过程,如图,请不要点击 SKIP安装中耐心等待安装完成,然后会重启进入系统,用你上面配置的用户名和密码登录,请注意最好不要登录 root ,你可以用 sudo 命令来获取相应的权限,下图是展示成果:安装完成
- 12虽然在安装了一个版本后的Ubuntu系统会自带一个显卡驱动,但是显卡驱动是会更新的,这就要涉及到怎么在Ubuntu系统中安装Nvidia显卡驱动了,本文就和大家来探讨一下在Ubuntu系统中安装Nvidia显卡驱动的问题。小编一直用的Ubuntu都是系统自带的默认驱动, 由于分辨率没有任何问题, 所以一直没有安装Nvidia官方的驱动;近期更新到Ubuntu 15.04 之后, 在播放avi 格式的常规视频时却出现闪烁的现象, 而且是一直闪;1.因此考虑是不是显卡驱动需要更新一下, 最初找了很多更新 Nvidia驱动的方法, 写了很多命令,结果都无法安装。一直提示nouveau正在使用中,禁不掉;后来直接用系统内置的源来更新,居然成功了~ 命令如下:sudo apt-get updatesudo apt-get install nvidia-331回车之后会看到很长的列表, 系统自动下载了很多文件, 坐等安装完毕即可;完成后,输入一段命令查看是否安装成功:dpkg -l | grep nvidia假如出现类似下图所示的内容,那就是安装成功了:2.也可以在“系统设置”--“详细信息”中查看显卡驱动的信息, 我给这个Ubuntu分配了30个G的空间, 由于是U盘安装,所以后续还可以通过其他软件扩展空间的容量:Ubuntu15.04 的新桌面, 下方安装了一个docky放置快捷方式。 Ubuntu真是既美观。又好用~ ; 只是需要花一点点时间配置, 未来几年一定会发布集成度更高的Ubuntu, 到时候使用起来会更方便。Ubuntu系统中怎么安装Nvidia显卡驱动就为大家介绍到这里了,希望小编的经验能给大家带来帮助。
全站热门
先安装VMWare10,这个没什么可说的,安装好后启动,点击新建虚拟机,因为想设置虚拟机的磁盘保存方式,所以选择自定义选择“稍后安装操作系统”选择64位的版本给自己的机器取个名字,设定虚拟机磁盘路径,电脑c盘是SSD,为了速度就安到C盘了设置处理器的配置,这里需要看个人电脑配置,我是四核8线程的i7,这里就选了2*2,假如CPU核心数不多,就选择1*2分配内存,先来2G,以后不够再改配置后面的设置,除了磁盘的设置:将虚拟磁盘存储为单个文件,其他都默认就OK设置完成后,点击编辑虚拟机配置,设置ISO镜像文件路径完成后启动虚拟机,等安装文件加载,进入语言选择,默认是英文,下面有中文的语言选择我选择安装完成后再更新,音频解码就算了,虚拟机主要是为了布开发环境清除磁盘就行,不用怕,不会把真实磁盘清理掉的=。=把我默认到哈尔滨去了。。点击国内区域,选成shanghai注意:键盘布局选择英语(美国)设置用户名,密码下面登陆Ubuntu账户,愿意的填email创建一个,我选择以后登陆,估计很久很久以后=。=安装开始,趁机赶几行代码。。SSD安装就是快,完毕重启可以登陆了桌面很小,这时候还要安装VMtool点击顶部菜单栏的虚拟机选项,下拉选择“安装VMware Tools”,会自动载入光盘,打开窗口运行“vmware-tools-upgrader-64”无反应,把VMwareTools.tar.gz 文件拷贝而到桌面,右键提取到此处,会解压为一个 vmware-tools-distrib 目录打开终端,输入以下命令$ cd 桌面/vmware-tools-distrib$ sudo ./vmware-install.pl输入密码,执行,一路回车摁下去,到最后出现“Enjoy——the VMware team”的字样,安装完成打开VMware上方菜单栏的查看-自动调整大小,设置为自动适应客户机和自动适应窗口,右上角按钮重启虚拟机,登陆后就发现虚拟机桌面铺满窗口,调整壁纸平铺方式,显示OK至此,安装完成~
Ubuntu的root默认是禁止使用的,在安装的时候也没要求你设置root的密码,和红帽系统系列这里是不同的。要在Ubuntu下使用root,我们可以使用终端给root设置密码 sudo passwd root 假如只是普通用户密码忘了,用root就可以修改。假如root都忘记了,就进入单用户模式,这里跟红帽系统系列也不同。 具体方法如下: 进入单用户模式: #1,开机进入grub时,用上下键移到第二行的恢复模式,按e(注意不是回车) #2, 把ro single 改成rw single init=/bin/bash , 然后按ctrl+x,就可以进入 单用户模式,进去干什么都行了。(进去是命令行,所以你得要懂使用命令行!)我们可以修改普通用户密码,也可以改root密码。提示,完成后,按”ctrl+alt+delete“组合神键重启(我试过用命令关机,重启都不行,只能用这个)。 这些我都是试过的,也是成功的,你试试吧!我看过一些网上的一些方法,也试过,是不行的!一些是用红帽系统系列的方法,一些是某个步骤不对! 修改普通用户密码,命令如下格式: passwd 用户名
ubuntu搭建nginx+scala+play 2.0运行环境学scala有段时间了,最近用scala做了个社区:,开始买了个内存512的vps,但是编译都不通过,jvm提示无法为对象分配空间,囧,升级到1G,经过3个小时的奋战,终于配置成功了,顺便也记录下。1、安装nginx,mysql编译什么的网上一大堆,就不细说了,大家可以google下。2、安装JDK注意:ubuntu用户请务必将OpenJDK替换成sunJDK[ubuntu用户]01sudo add-apt-repository ppa:ferramroberto/java02#假如上面命令提示:command not found,就输入如下命令:sudo apt-get install python-software-properties0304sudo apt-get update05sudo apt-get install sun-java6-jre sun-java6-plugin06sudo apt-get install sun-java6-jdk0708update-alternatives --config java09#选择jdk,输入上面命令后会有3个选项,选择第2个选项10 Selection Path Priority Status11------------------------------------------------------------12* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode13 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode14 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode[非ubuntu用户]http://www.oracle.com/technetwork/java/javase/downloads/index.html解压后我把文件移动到了/usr/local/下修改/etc/profile文件1export JAVA_HOME=/usr/local/jdk1.7.0_052 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar3export PATH=$PATH:$JAVA_HOME/bin3、下载playframework文件[cc lang=c]http://www.playframework.org/[/cc] 3.1、安装scala,只运行play2.0的话是可以不用安装的。1http://www.scala-lang.org/ #下载debin包,假如安装的openjdk的话可能出现缺少 janic2 dpkg -I scala-2.9.2.deb 3.2、安装sbt https://github.com/harrah/xsbt/wiki/Getting-Started-Setup 我是安装ubuntu的方法安装的,记得别忘了下载,不然会提示找不到sbt包 http://apt.typesafe.com/repo-deb-build-0002.deb1dpkg -I repo-deb-build-0002.deb2apt-get update3apt-get install sbt 安装过程中可能需要点时间,完成后测试进入scala目录测试 sbt4、启动play2.0项目1play2start -Dhttp.port=90005、nginx设置代理01 server02 {03 listen 80;04 server_name *.cn-scala.com cn-scala.com;0506 location /static {07 root /static/public;08}09 location / {10 proxy_pass http://127.0.0.1:9000;11 proxy_set_header Host $host;12 proxy_set_header X-Real-IP $remote_addr;13}14 }
有个领导想在自己安装了ubuntu的系统中装个打印机,我说行啊,我来帮你装,顺便就截了几张图,分享给大家步骤。网络打印机是有一个IP地址的哦!和共享打印机的添加方法不太一样,但是可以借鉴参考。1、打开菜单里面的设置按钮,对!就是桌面靠左,像齿轮的那个。点开它2、在 系统设置窗口中的“硬件”项目下面,找到“打印机”,并使用鼠标左键点开它。3、在打印机对话窗口里面,我们点击两个添加其中的一个。来添加一个打印机4、在选择设备下面,找到“网络打印机”一项,我并使用鼠标左键点击它5、被点开的“网络打印机”下面,一般情况会自动搜索到网络打印机,并且给你展示出来,如下图,Generic 21c-1(192.168.x.1) ,我们点中它,然后点击窗口中右下角处的“前进”6、我们选择ubuntu系统为我们查找到并且“推荐”的打印机类型,然后点击“前进”7、接下来的两个驱动程序,系统也会默认为您选择好,我们就保持它默认的“推荐”驱动就好了。继续点击“继续”按钮。8、在打印机描述中,你可以更改里面的数据,位置也可以改变,但是我这里都保持默认,直接点击“应用”按钮继续操作。9、接下来,系统会开始着手为您安装该网络打印机的驱动程序,等待安装完成后。会提示您是否打印一张测试页,根据你的需求点击即可,这样我们就安装好了网络打印机啦。
热门文章
- 1轻松掌握Windows10操作——以电脑ws10使用教程为主题(逐步学习ws10操作,提高电脑使用效率)
- 2解析电脑蓝屏重启(电脑蓝屏重启的关键问题及解决方法)
- 3多桌面是一个非常有用的功能,它能让不同的工作任务分别被放置在不同的工作区中, 保持桌面的整洁,让人心情舒畅, 保持工作的高效率。多桌面一直是Linux桌面的一大特色,不过ubuntu这几个版本默认都没有开启多桌面,估计是为了照顾windows用户迁移适应。作为Linux爱好者, 如何开启ubuntu的多桌面功能呢?1、点击左侧菜单中的“扳手齿轮”图标,打开系统设置。2、进入“外观”选项。3、选择“行为”标签页,勾选“开启工作区”。然后关闭系统设置。4、使用快捷键 CTRL + 上/下/左/右 切换工作区。
- 4打造纯净电脑系统的完全指南(一步步教你如何自己制作纯净高效的电脑系统)
- 5苹果6升级到10.3系统的优劣势分析(探究苹果6升级10.3系统的关键特性和用户体验)
- 6在本子上升级到了12.10。但是在update的时候遇到如下错误:正在读取软件包列表... 有错误!复制代码代码如下:原因是12.04和12.10的deb源list发生冲突,解决办法是删除该目录下的所有文件:复制代码代码如下:然后执行update命令来重新生成:复制代码代码如下:apt-get update
- 71、wine编译环境安装:将下面的内容复制到控制台下运行:sudo apt-get install bison cvs git-core flex fontforge gcc git libasound2-dev libaudio-dev libc6-dev libcapi20-3 libcapi20-dev libcupsys2-dev libdbus-1-dev libesd0-dev libexif-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libgl1-mesa-dev libglib1.2-dev libglib2.0-dev libglu1-mesa-dev libgnutls-dev libgpg-error-dev libgphoto2-2-dev libhal-dev libice-dev libieee1284-3-dev libjpeg62-dev liblcms1-dev libldap2-dev libltdl3 libltdl3-dev liblzo-dev libmad0 libmad0-dev libmng-dev libncurses5-dev libodbcinstq1c2 libogg-dev libopencdk10-dev libpng12-dev libpopt-dev libqt3-headers libqt3-mt libqt3-mt-dev libsane-dev libsm-dev libssl-dev libtasn1-3-dev libtiff4-dev libtiffxx0c2 libusb-dev libvorbis-dev libvorbisfile3 libx11-dev libxau-dev libxcomposite-dev libxcursor-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml2-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libxv-dev libxxf86vm-dev linux-libc-dev m4 make mesa-common-dev odbcinst1debian1 qt3-dev-tools unixodbc unixodbc-dev valgrind x11proto-composite-dev x11proto-core-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-video-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev x-dev xtrans-dev zlib1g-dev2、编译安装完环境后进入wine源码目录运行./configure 之后再运行 make make结束没有错误再运行 make install此时wine已经安装好了。运行 winecfg 配置就好了。使用winecfg打开的页面里显示中文会有问题,从网上搜到一个解决办法,按照下面的方法修改就可以使用了。3、修改中文问题先把字体simsun.ttc(在你的windows的安装目录里的font文件夹里找,找不到可以从网上下到) 复制到 /home/你的用户名/.wine/drive_c/windows/fonts 文件夹中,要显示隐藏文件夹按Ctrl+H 修改注册表,在命令行输入 gedit ~/.wine/system.reg找到“[System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts]”,将其中的““LogPixels”=dword:00000060”改成 ““LogPixels”=dword:00000070“。再找到”[Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] xxxx“项,将其中的”MS Shell Dlg“相关的两项修改成如下内容(即更换字体为宋体):“MS Shell Dlg”=”SimSun”“MS Shell Dlg 2″=”SimSun”然后:gedit ~/.wine/drive_c/windows/win.ini在其中加上(假如没有),有的话修改成如下[Desktop]menufontsize=13messagefontsize=13statusfontsize=13IconTitleSize=13现在中文显示应该正常了。
- 8Hostapd简介:简单说,hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。Hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证。通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEP,WPA或WPA2的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,信号,beacon包时间间隔,是否发送beacon包,假如响应探针请求等等。还可以设置mac地址过滤条件等。具体可以参考它的配置文件说明。下面就从官网上摘下的部分原因及翻译。翻译的不好请见谅。hostapd is an IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.Hostapd是IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP/RADIUS的认证器hostapd is a user space daemon for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, mac80211-based drivers) and FreeBSD (net80211).Hostapd是一个访问点以及认证服务器的运行于用户空间的守护程序。它实现了IEEE 802.11接入带你(Access Point)的管理功能,是IEEE 802.1X/WPA/WPA2/EAP的认证器,是 RADIUS client, EAP server, and RADIUS认证服务器。当前版本的hostapd支持linux上Host AP,madwifi和基于mac80211协议栈的驱动程序,以及FreeBSD上net80211协议栈的驱动程序。hostapd is designed to be a “daemon” program that runs in the background and acts as the backend component controlling authentication. hostapd supports separate frontend programs and an example text-based frontend, hostapd_cli, is included with hostapd.Hostapd是一个后台守护进程,作为后台组件来控制和管理认证功能。Hostapd支持多个前台程序。hostapd_cli,就是一个跟hostapd一起的命令行前台程序。下面我们来看一下利用hostapd和dhcpd在Ubuntu系统上建立无线热点的方法:复制代码代码如下:sudo update-rc.d -f hostapd remove注释掉下面两个文件start on那一行:复制代码代码如下:sudo nano /etc/init/isc-dhcp-server.conf复制代码代码如下:复制代码代码如下:sudo nano /etc/dhcp/dhcpd.conf 在末尾加入以下内容:复制代码代码如下:复制代码代码如下:gksu /home/eechen/hostapd/ap-start.sh 因为脚本需要root用户身份执行,所以需要用gksu运行。 注意:假如你开启了ufw防火墙,ufw默认是禁止转发的,这会导致防火墙NAT转发失效,这时应该设置允许转发: 复制代码代码如下:sudo nano /etc/default/ufw 将 DEFAULT_FORWARD_POLICY 设为 ACCEPT 然后重启ufw即可: 复制代码代码如下:sudo service ufw restart之后运行启动器即可启动和关闭AP无线热点。 4. 用wireshark监控经过wlan0的通信安装wireshark(其中 eechen改为你的用户名): 复制代码代码如下:右键点击Cookie项把Value复制出来,然后用Firefox访问站点https://w.mail.qq.com/,Alt+C激活 Original Cookie Injector( GreaseMonkey),弹出输入框Wireshark Cookie Dump,把Cookie项的Value粘贴到里面,然后点OK确定并刷新页面即可登录QQ邮箱。或者你使用Tamper Data这个Firefox扩展在提交时修改Cookie值也是可以的。 附: 查看连接wlan0网络的客户端: 复制代码代码如下:sudo arp 返回IP地址和MAC硬件地址和无线接口名. 复制代码代码如下:iw dev wlan0 station dump 能显示收发包和字节数等. 查看网络接口速度: 复制代码代码如下:sar -n DEV 1
- 9一体机系统重装教程(简明易懂的一体机系统重装步骤,帮你重拾流畅体验)
- 10作为一名 Linux 用户,假如你不使用终端,会少了很多乐趣,很多问题会涉及到使用终端来解决,而且你会发现命令行是如此的强大,Guake 是一款应用于Gnome环境的下拉式终端,主要由Python并使用一些C语言编写,以GPL2+许可证发布适用于Linux以及类Unix,Guake 的灵感来源于电脑游戏 Quake 中的终端,Quake 终端能通过按下默认为 F12 从屏幕上下滑动变化。Guake 终端的功能:复制代码代码如下:sudo add-apt-repository ppa:webupd8team/unstablesudo apt-get updatesudo apt-get install guake