思考Web应用的数据流
之前做了个玩具叫做 Cumulo,思考数据 大致意思后端计算数据, 通过 Diff/Patch 发到前端,
那么前端浏览器的 Store 就不需要业务逻辑了, 从而减少开发.
然而这种做法存在天然的缺陷, 首先, 性能问题, 其次, 持久化问题.
其实都可以归结为性能, 要性能, 就必须做增量, 那么整个架构就崩溃了.
这篇文章尝试描述一下稍微正常一点的, 基于数据流来设计架构的一个构想.
由于后端开发经验的欠缺, 我并不打算给出可行的方案.
在开始之前, 先回顾一下实时 Web 应用的架构设计.
首先在前端 Model-View 分离是***步, 以便解放 View 的开发效率.
这时的数据流, Model 的数据发送到 View, 而 View 的更新操作回到 Model.
(这里的 Model 接近 Store, 并不是单纯数据, 而是包含更新逻辑):
接着, 把 Server 重新放回来, 大致就到了 Cumulo 的情况,
这时的数据流, 数据直接发送到服务端, 前端 Model 同步服务端,
***再回到 View, 这时 Model 就成为一个中间过程了:
那么结合上边两张图, 把这部分简化, 基本就回到***张图的情形,区别是, 这时 Model 换成了服务器, 而数据流从服务器流行浏览器:
当我们考虑数据库, 特别是数据库比如是增量处理, 问题就来了,
首先, 数据发送到 Server 而不是 Database, 因为 Server 才有逻辑,
其次, 不能把 Database 整个数据流发给 Server, 因为太大了.
Cumulo 中用的是 Diff/Patch 方案, 而这对于 Database 来说并不可行,
所以实际情况就挺纠结了, Server 回到了 Controller 的角色:
***为了性能, 更新逻辑还需要从 Database 拿开, 而让 Model 回来,
那么 Model 一方面要处理数据请求, 一方面要处理推送, 只能增加,
整个数据流也多了一些线路, 变得复杂起来, 这也是高防服务器当初简聊大致的架构:
不过这个图并不严谨, 比如 Database 和 Server 的具体关系很难画清楚,
而且请求当然是访问到一个 web server 而不可能直接放到数据库的,
这个图的重点是, 相比原来的一个流, 现在存在两个流, 架构已经变了.
而数据通过两种途径来获取:
数据抓取, 访问页面时直接抓取的数据, 以及抓取历史
推送, 用户使用过程中, 从其他客户端获取的更新
问题是, 如果不能进行简化, 从而减少业务代码的编写, 思考就没有意义了,
这两个数据流的计算方法并不一致, 无法合并成一个,
所以我考虑, 从另外的角度去思考怎样构造出一套框架来处理数据流,
所以我整理了一下聊天室需要的常见操作:
切换聊天室 抓取首屏消息 抓取消息 接收消息更新 查询历史消息 用户登录 用户权限验证对于前面四个操作我比较在意, 因为之间存在着一个共性,
比如一个消息流, 就会有, 切换, 抓取, 历史, 更新, 这些个操作,
而整体看来, 其他的能够抽象到流的数据也可以复用这个套路,
那么整个应用的页面切换, 数据查阅, 数据更新, 能放进一个统一的框子,
也就是, 路由切换时选择客户端订阅哪些流, 然后按流进行浏览.
当然其中还是存在一些问题, 需要继续思考,
消息列表是流, 那么用户配置是流吗?配置经常是 JSON 对象, 要变成流, 就要把不同时间的修改操作也涵盖进来,
但是b2b供应网这还是会涉及到新的问题, 每一条消息都可能修改, 那么也是流,
结果我们需要面对一个复杂很多的流的概念.
另一个是数据的关联, 消息当中会有附件, 聊天室会有成员,数据的关联如何处理? API 的设计怎样对应的界面, 而两者又进行解耦?
如果数据之间还出现循环的关联关系, 整个方案是否将要失效?
这是一个相当麻烦的事情, 最开始可能还是要尽量避免掉.
此外, 即便解决了上边两个问题, 前面列表当中剩下的选项依然要处理,
权限系统, 搜索系统, 两个是独立于流的结构之外的, 无法同时抽象.
更加远的问题, 数据库和服务器可能是分布式的, 还会有更复杂的数据流.
所以实际上抛出来更多问题了.
本文地址:http://www.bzve.cn/news/69d67699254.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
相关文章
大番茄一键装机教程(一键装机,轻松实现电脑配置升级的梦想)
苹果电脑5105f错误及解决方法(探索苹果电脑5105f错误的原因以及如何修复)
最近参与的项目都与Linux有关,遇到的问题也特别多,这不今天就有一个同事跟我说他遇到的问题:他在windows下开启了一个NFS服务器,然后在Ubuntu下挂载,总是不成功。查看了一下他的windows服务器设置,没有问题;在Ubuntu下也能挂载其他NFS服务器。经过排查,最近确定是防火墙造成挂载失败,其解决方法如下所示(以Windows7系统为例)。方法一、把特殊的端口加入入站规则1、打开Windows防火墙,打开后选择“高级设置”项。2、在高级设置页面可以看到有一个“入站规则”,如下图所示。3、右键点击该选项,在弹出的下拉菜单中选择“新建规则...”。4、选择“端口”项,再点“下一步”继续。5、接下来先选择“TCP”,“UDP”项等设置完后再来设置。下面一栏选择“特定本地端口”,输入111、1058、2049后选择“下一步”。6、然后选择“允许连接”,点“下一步”继续。7、这一步默认设置,点“下一步”继续后面的设置。8、最后是要求输入个名称,输入后点“完成”结束。9、UDP的设置跟TCP的设置一样,这里就不再多说了。方法二、关闭防火墙1、从开始菜单下找到“控制面板”,点击进入控制面板。2、在“控制面板”页面下,找到“系统和安全”项,点击进入。3、然后找到“Windows防火墙”,如下图所示,点击进入下一页。4、在左侧页面可以看到“打开或关闭Windows防火墙”,如下图所示,点击进入。5、接下来如下图所示,选择“关闭Windows防火墙(不推荐)”。6、以上配置好后,点“确定”即可关闭防火墙。7、防火墙关闭后的页面如下图所示。假如需要重新开启,选择左侧的“打开或关闭Windows防火墙”项设置一下即可。相关推荐: Ubuntu系统怎么手动进行更新升级 Ubuntu 15.10候最终选版ISO镜像下载 Ubuntu 14.04怎使用vsftpd搭建FTP服务
备份ubuntu c – 创建一个新的备份文件 tar命令:http://www.jb51.net/linux/tar.htm
解决电脑恢复手机时老提示错误的方法(教你如何应对电脑恢复手机时的错误提示问题)
一、准备工作安装驱动前,需要先关闭图形界面。以下为具体过程:1.这里假设你已经装好了Ubuntu 14.10(14.04也可以,安装过程不再赘述)2.关闭运行的程序,Ctrl+Alt+F1进入tty1模式3.运行复制代码代码如下:sudo stop lightdm,关闭图形界面(X Server)4.新装系统,或者没有尝试过给独显装驱动,跳过本步假如之前有尝试过其他驱动,先卸载使用复制代码代码如下:sudo apt-get --purge remove nvidia来卸载也可以借用官网驱动的卸载功能,尝试复制代码代码如下:sudo sh 346.35.run --uninstall(以346.35.run为例)二、下载安装驱动因为无法直接使用NV官网所提供的346.35.run文件(安装后会黑屏,卸载后才能恢复,甚至有时候卸载后也不能正常使用。),这里添加第三方源,从而使用mamarley所提供的346.35驱动。以下为具体过程1.运行复制代码代码如下:sudo add-apt-repository ppa:mamarley/nvidia添加源,之后输入用户密码2.运行复制代码代码如下:sudo apt-get update更新源3.运行复制代码代码如下:sudo apt-get install nvidia-346安装346.35版驱动,需要下载约90M文件。输入y同意下载和安装。因为服务器在国外,耗时漫长,耐心等待。apt-get会根据系统类型自动选择安装32位还是64位的驱动,而且restricted库里的驱动一般都经过Ubuntu测试,相对来说更稳定,操作起来也更方便。4.驱动安装完成后,运行sudo reboot 重启计算机三、查看双显卡是否正常工作打开NVIDIA X Server Settings, 看下图,出现了GPU 0 - (GeForce GTX970M),说明独显已经启用了2.在PRIME Profiles里可以选择使用独显还是核显Nvidia显卡的控制面板 nvidia-settings的 快捷方式位于/usr/share/applications/nvidia-settings.desktop你可以链接一个到桌面,方便进行显卡设置。你也可以直接Alt+F2运行 nvidia-settings打开控制面板,比如在Thermal Settings下查看显卡温度,在PRIME Profiles下进行显卡切换。有了nvidia-prime,就不需要bumblebee了,在Nvidia官方的控制面板nvidia-settings里就可以切换显卡,非常方便。我在开启Nvidia显卡时GPU温度为40°C,CPU温度为41°C,如下图所示。在不玩大型3D游戏或者不看高清视频时,建议你从“Nvidia性能模式 ”切换为 “Intel节能模式”。Intel节能模式下会自动关闭Nvidia显卡,从而实现节能。另外Intel核显自身就有着不错的硬件加速能力,平时使用 Intel核显即可。比如京东上这款上万元的 MacBook也只是配备了一款i5的CPU并使用Intel核显Iris Graphics进行硬件加速。另外很多超级本也只是配备了Intel低电压版处理器并使用内置的HD Graphics。Intel已经把自己的 图形驱动 集成到了Linux内核项目,因此不需要额外安装Intel图形驱动,开箱即用。假如长期不需要使用独显,可以开机进BIOS把Graphic Mode由Switchable改为Integrated禁用独显。附:你也可以安装VirtualGL进行glxspheres硬件加速测试。http://sourceforge.net/projects/virtualgl/files/VirtualGL/比如下载64位的Deb包,安装后运行/opt/VirtualGL/bin/glxspheres64即可进行测试。
蓝牙连接电视密码错误的解决方法(解决密码错误问题,顺利连接电视设备)
再一次被网上那些教程误导后决定自己写一个。真心被那些奇怪的教程误导了好几次,之前研究其它东西的时候也是。蛋疼啊。 安装redis 直接用apt-get命令即可 sudo apt-get install redis-server 安装完后会自动启动redis的服务,可以通过下面命令来查看进程是否已经启动。 ps -aux|grep redis redis-server is running 使用apt-get就可以安装了 sudo apt-get install php5-redis service apache restart 在CI 3.0(2.0是不支持用redis存储session)的applicationconfigconfig.php中的两个配置改成下面这样 $config[sess_driver] = redis; $config[sess_save_path] = tcp://127.0.0.1:6379;
热门文章
- 1电脑凤凰系统使用技巧教程(掌握电脑凤凰系统的关键技巧,提升工作效率)
- 2要想使用命令行安装和卸载软件,当然得事先知道要安装或卸载的软件包名称。而APT 是基于Debian 的Linux 发行版(包括Ubuntu)包管理命令,使用 apt-cache 我们便可以找出系统中包相关的元数据信息,本文中将就将向大家介绍如何查看Ubuntu 安装包信息。使用apt-cache假如要列出 Ubuntu 系统中所有可用的软件包,我们只需执行如下命令:复制代码代码如下:apt-cache pkgnames | less该命令中的 | less 管道输出,可以让我们在数据较多时通过上、下箭头或“PgUp” 及“PgDn” 来滚动查看。当我们不找到所需包名或不需要滚动查看时,只需按 q 即可退出。假如你知道软件包名的开头字符,我们便可以使用搜索功能来缩小范围。例如要查看Firefox 的包名,则可使用类似如下命令:复制代码代码如下:apt-cache pkgnames firef 使用上述命令,我们便可以查看到所有以 firef 开头的软件包。当我们知道包名后,要显示软件包的详细信息,例如:版本号、大小、校验值和软件描述等信息时,则可使用 show 选项来进行查看:复制代码代码如下:apt-cache show firefox 当大家要查看某个软件包所需依赖及哪些包依赖于该软件包时,则需要使用 showpkg 选项:复制代码代码如下:apt-cache showpkg firefox 当我们需要查看当前 Ubuntu 不同类型包的统计及整体统计信息时,可以使用 stats 选项:复制代码代码如下:apt-cache stats 要了解某个软件包的迁移及相关说明时,我们可以使用search 选项:复制代码代码如下:apt-cache search firefox-locale-zh-hans 使用axi-cacheaxi-cache 可以算是apt-cache 命令的孪生兄弟,但它可以提供的描述信息和相关性更强。我们还是以Firefox 来举个例子:复制代码代码如下:axi-cache search firef 该命令默认中显示20条结果:查看更多信息可使用如下命令:复制代码代码如下:axi-cache more 以上就是告诉大家Ubuntu安装包信息是如何查看的,希望该文对大家的学习有所帮助。
- 3这个简明教程对Ubuntu 14.04历史文件清理进行了说明,它用于初学者。要从dash搜索删除历史记录,请遵循以下程序。转到系统设置(System Settings)并打开安全与隐私(Security & Privacy)。在文件与应用(Files and Applications)标签下,点击清除用户数据(Clear Usage Data)。你也可以关闭“记录文件与应用使用(Record file and Application usage)以阻止系统记录你当前使用的文件和应用。
- 4打造一个全命令行的Android构建系统复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:Python 需求复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:在搜索栏中,输入你想从 Google Play 商店下载的应用的名称。一旦你从搜索列表中找到了该应用,就选择该应用,接着点击 “下载选定的 APK 文件” 按钮。最后你将在你的家目录中找到下载的 APK 文件。现在,你就可以将下载到的 APK 文件转移到你所选择的 Android 设备上,然后手动安装它。希望这篇教程对你有所帮助。
- 5电脑显示程序出现未知错误(解决电脑显示程序错误的有效方法)
- 6Node.js 4.0 发布的主要目标是为io.js 用户提供一个简单的升级途径,所以这次并没有太多重要的 API 变更。下面的内容让我们来看看如何轻松的在 ubuntu server 上安装、配置 Node.js。一、基础系统安装Node 在 Linux,Macintosh,Solaris 这几个系统上都可以完美的运行,linux 的发行版本当中使用 Ubuntu 相当适合。这也是我们为什么要尝试在ubuntu 15.04 上安装 Node.js,当然了在 14.04 上也可以使用相同的步骤安装。1.系统资源Node.js 所需的基本的系统资源取决于你的架构需要。本教程我们会在一台 1GB 内存、 1GHz 处理器和 10GB 磁盘空间的服务器上进行,最小安装即可,不需要安装 Web 服务器或数据库服务器。2.系统更新在我们安装 Node.js 之前,推荐你将系统更新到最新的补丁和升级包,所以请登录到系统中使用超级用户运行如下命令:复制代码代码如下:# apt-get update 3.安装依赖Node.js 仅需要你的服务器上有一些基本系统和软件功能,比如 make、gcc和wget 之类的。假如你还没有安装它们,运行如下命令安装:复制代码代码如下:# apt-get install python gcc make g++ wget二、下载最新版的Node JS v4.0.0复制其中的最新的源代码的链接,然后用wget 下载,命令如下:复制代码代码如下:# wget https://nodejs.org/download/rc/v4.0.0-rc.1/node-v4.0.0-rc.1.tar.gz下载完成后使用命令tar 解压缩: 复制代码代码如下:# tar -zxvf node-v4.0.0-rc.1.tar.gz三、安装 Node JS v4.0.0现在可以开始使用下载好的源代码编译 Node.js。在开始编译前,你需要在 ubuntu server 上切换到源代码解压缩后的目录,运行configure 脚本来配置源代码:复制代码代码如下:root@ubuntu-15:~/node-v4.0.0-rc.1# ./configure现在运行命令 make install 编译安装 Node.js:复制代码代码如下:root@ubuntu-15:~/node-v4.0.0-rc.1# make installmake 命令会花费几分钟完成编译,安静的等待一会。四、验证 Node.js 安装一旦编译任务完成,我们就可以开始验证安装工作是否 OK。我们运行下列命令来确认 Node.js 的版本。复制代码代码如下:root@ubuntu-15:~# node -v v4.0.0-pre在命令行下不带参数的运行node 就会进入 REPL(Read-Eval-Print-Loop,读-执行-输出-循环)模式,它有一个简化版的emacs 行编辑器,通过它你可以交互式的运行JS和查看运行结果。五、编写测试程序我们也可以写一个很简单的终端程序来测试安装是否成功,并且工作正常。要做这个,我们将会创建一个“test.js” 文件,包含以下代码,操作如下:现在为了运行上面的程序,在命令行运行下面的命令: 复制代码代码如下:root@ubuntu-15:~# node test.js 在一个成功安装了 Node JS 的环境下运行上面的程序就会在屏幕上得到上图所示的输出,这个程序加载类util” 到变量 “util” 中,接着用对象 “util” 运行终端任务,console.log 这个命令作用类似 C++ 里的cout就是这些了。假如你刚刚开始使用Node.js 开发应用程序,希望本文能够通过在 ubuntu 上安装、运行Node.js 让你了解一下Node.js 的大概。
- 7电脑打印结婚请柬教程(轻松DIY,高效方便,一键打印定制结婚请柬)
- 8apt-get和apt-cache是Ubuntu Linux中的命令行下的包管理工具。 apt-get的GUI版本是Synaptic包管理器。该文中我们会展示apt-get和apt-cache命令的15个不同例子。示例:1 列出所有可用包复制代码代码如下:linuxtechi@localhost:~$ apt-cache pkgnames account-plugin-yahoojp ceph-fuse dvd+rw-tools e3 gnome-commander-data grub-gfxpayload-lists gweled .......................................示例:2 用关键字搜索包这个命令在你不确定包名时很有用,只要在apt-cache(LCTT 译注:这里原文是apt-get,应为笔误)后面输入与包相关的关键字即可。复制代码代码如下:linuxtechi@localhost:~$ apt-cache search web server apache2 - Apache HTTP Server apache2-bin - Apache HTTP Server (binary files and modules) apache2-data - Apache HTTP Server (common files) apache2-dbg - Apache debugging symbols apache2-dev - Apache HTTP Server (development headers) apache2-doc - Apache HTTP Server (on-site documentation) apache2-utils - Apache HTTP Server (utility programs for web servers) ......................................................................注意: 假如你安装了“apt-file”包,我们就可以像下面那样用配置文件搜索包。复制代码代码如下:linuxtechi@localhost:~$ apt-file search nagios.cfg ganglia-nagios-bridge: /usr/share/doc/ganglia-nagios-bridge/nagios.cfg nagios3-common: /etc/nagios3/nagios.cfg nagios3-common: /usr/share/doc/nagios3-common/examples/nagios.cfg.gz pnp4nagios-bin: /etc/pnp4nagios/nagios.cfg pnp4nagios-bin: /usr/share/doc/pnp4nagios/examples/nagios.cfg示例:3 显示特定包的基本信息复制代码代码如下:linuxtechi@localhost:~$ apt-cache show postfix Package: postfix Priority: optional Section: mail Installed-Size: 3524 Maintainer: LaMont Jones Architecture: amd64 Version: 2.11.1-1 Replaces: mail-transport-agent Provides: default-mta, mail-transport-agent .....................................................示例:4 列出包的依赖复制代码代码如下:linuxtechi@localhost:~$ apt-cache depends postfix postfix Depends: libc6 Depends: libdb5.3 Depends: libsasl2-2 Depends: libsqlite3-0 Depends: libssl1.0.0 |Depends: debconf Depends: cdebconf debconf Depends: netbase Depends: adduser Depends: dpkg ............................................示例:5 使用apt-cache显示缓存统计复制代码代码如下:linuxtechi@localhost:~$ apt-cache stats Total package names: 60877 (1,218 k) Total package structures: 102824 (5,758 k) Normal packages: 71285 Pure virtual packages: 1102 Single virtual packages: 9151 Mixed virtual packages: 1827 Missing: 19459 Total distinct versions: 74913 (5,394 k) Total distinct descriptions: 93792 (2,251 k) Total dependencies: 573443 (16.1 M) Total ver/file relations: 78007 (1,872 k) Total Desc/File relations: 93792 (2,251 k) Total Provides mappings: 16583 (332 k) Total globbed strings: 171 (2,263 ) Total dependency version space: 2,665 k Total slack space: 37.3 k Total space accounted for: 29.5 M示例:6 使用 “apt-get update” 更新仓库使用命令“apt-get update”, 我们可以重新从源仓库中同步文件索引。包的索引从“/etc/apt/sources.list”中检索。复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get update Ign http://extras.ubuntu.com utopic InRelease Hit http://extras.ubuntu.com utopic Release.gpg Hit http://extras.ubuntu.com utopic Release Hit http://extras.ubuntu.com utopic/main Sources Hit http://extras.ubuntu.com utopic/main amd64 Packages Hit http://extras.ubuntu.com utopic/main i386 Packages Ign http://in.archive.ubuntu.com utopic InRelease Ign http://in.archive.ubuntu.com utopic-updates InRelease Ign http://in.archive.ubuntu.com utopic-backports InRelease ................................................................示例:7 使用apt-get安装包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get install icinga上面的命令会安装叫“icinga”的包。示例:8 升级所有已安装的包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get upgrade示例:9 更新特定的包在apt-get命令中的“install”选项后面接上“-only-upgrade”用来更新一个特定的包,如下所示:复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get install filezilla --only-upgrade示例:10 使用apt-get卸载包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get remove skype上面的命令只会删除skype包,假如你想要删除它的配置文件,在apt-get命令中使用“purge”选项。如下所示:复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get purge skype我们可以结合使用上面的两个命令:复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get remove --purge skype示例:11 在当前的目录中下载包复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get download icinga Get:1 http://in.archive.ubuntu.com/ubuntu/ utopic/universe icinga amd64 1.11.6-1build1 [1,474 B] Fetched 1,474 B in 1s (1,363 B/s)上面的目录会把icinga包下载到你的当前工作目录。示例:12 清理本地包占用的磁盘空间复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get clean上面的命令会清空apt-get所下载的包占用的磁盘空间。我们也可以使用“autoclean”选项来代替“clean”,两者之间主要的区别是autoclean清理不再使用且没用的下载。复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get autoclean Reading package lists... Done Building dependency tree Reading state information... Done示例:13 使用“autoremove”删除包当在apt-get命令中使用“autoremove”时,它会删除为了满足依赖而安装且现在没用的包。复制代码代码如下: linuxtechi@localhost:~$ sudo apt-get autoremove icinga示例:14 显示包的更新日志复制代码代码如下: linuxtechi@localhost:~$ sudo apt-get changelog apache2 Get:1 Changelog for apache2 (http://changelogs.ubuntu.com/changelogs/pool/main/a/apache2/apache2_2.4.10-1ubuntu1/changelog) [195 kB] Fetched 195 kB in 3s (60.9 kB/s)上面的命令会下载apache2的更新日志,并在你屏幕上分页显示。示例:15 使用 “check” 选项显示损坏的依赖关系复制代码代码如下:linuxtechi@localhost:~$ sudo apt-get check Reading package lists... Done Building dependency tree Reading state information... Done
- 9键盘之错(纠正错误,展开思维)
- 10这是一篇对完全是新手的一篇技巧,我将向你展示如何在Ubuntu文件管理器中添加书签。现在假如你想知道为什么要这么做,答案很简单。它可以让你可以快速地在左边栏中访问。比如,我在Ubuntu中安装了Copy 云服务。它创建在/Home/Copy。先进入Home目录再进入Copy目录并不是很麻烦,但是我想要更快地访问它。因此我添加了一个书签这样我就可以直接从侧边栏访问了。在Ubuntu中添加书签当你在Files(Ubuntu中的文件管理器)中时,查看顶部菜单。你会看到书签按钮。点击它你会看到将当前路径保存为书签的选项。你可以直接按下Ctrl+D就可以将当前位置保存为书签。如你所见,这里左边栏就有一个新添加的Copy目录:这就是在Ubuntu中管理书签需要做的。我知道这对于大多数用户而言很简单,但是这也许多Ubuntu的新手而言或许还有用。
- 11Win10电脑错误1067的解决方法(解析Win10电脑出现错误1067的原因和解决方案)
- 12在Ubuntu下将chm文件转成pdf格式总共分为三个步骤:1.将chm提取出html文件: 2.将html按页排序 3.转换成pdf 在Ubuntu下进行如下操作:1.安装libchm-bin, htmldocsudo apt-get install libchm-bin htmldoc2.提取出html文件extract_chmLib 3.转换成pdfhtmldoc -t pdf13 --webpage -f myFile.pdf *.html
全站热门
1. 安装JDK ubuntu 11.04系统自带的Java环境是openjdk,最好使用sunjdk(具体原因不明,网上教程基本都是这样的),因此先去官方网站( http://www.oracle.com/technetwork/java/javase/downloads/index.html)下载“ Java SE 6 Update 26 ”的JDK安装包:Linux x86 - Self Extracting Installer (81.20 MB) jdk-6u26-linux-i586.bin1.1. 下载好后开始安装JDK,在终端里输入:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:复制代码代码如下:[Desktop Entry]Name=EclipseComment=Eclipse IDEExec=/opt/eclipse/eclipseIcon=/opt/eclipse/icon.xpmTerminal=falseType=ApplicationCategories=Application;Development;2.2 eclipse安装结束。
研究了一下,大致有2个比较简单方法,可以让ubuntu开机自动禁用无线网络。 复制代码代码如下: 2、驱动黑名单 既然是禁用驱动,首先我们得知道无线网卡的驱动名是什么,在终端中输入lshw命令可以列出电脑硬件的详细信息,从中我们可以获取无线网卡的驱动名。下面是信息片段: 复制代码代码如下: 最后一行显示我的无线网卡驱动名称是iwl3945(intel 3945abg无线网卡),将它加入到黑名单就可以了,具体操作如下: sudo gedit /etc/modprobe.d/blacklist.conf 在文本最后加入 blacklist iwl3945 重新启动 假如的确长时间不会用到无线网络,这个方法就比较干净彻底。假如学习了配置interfaces文件,也可以完全抛开NetworkManager,更加灵活地控制网络设定。现在也渐渐能体会到Linux将配置文件全部写成文本文档的优点所在了。
Ubuntu 14.04 LTS 已经出来了,我要如何(怎样)升级到Ubuntu 14.04 LTS版本呢?我们可以从镜像或者主要发型版本来升级到最新版本复制代码代码如下:$ uname -mrs复制代码代码如下:Linux 3.2.0-51-generic x86_64复制代码代码如下:$ sudo apt-get update复制代码代码如下:$ sudo do-release-upgratedo-release-upgrate 会运行升级工具。你只需要根据屏幕上的提示操作即可。复制代码代码如下:Checking for a new Ubuntu release复制代码代码如下:sudo do-release-upgrade -d提醒:关于从Ubuntu 13.10 从桌面 升级系统的操作首先,你需要移除所有第三方的二进制驱动,比如 NVIDIA 或者 AMD 显卡驱动。一旦移除后再重启桌面,按住 ALT+F2 并且在 命令框中输入 update-managerupdate manager 会打开并告诉你: New distribution release 14.04 LTS is available(新版的版本 14.04 LTS已经可以使用).只要点击 Upgrade(升级),然后跟着屏幕上的指示操作即可。注意所有的TLS 桌面版用户需要等到一个叫做 Ubuntu LTS v14.04.1 释放出来才行。假如不想等这个版本,可以在 update-manager中使用 -d 参数来升级。可以通过这种方式,将 Ubuntu 12.04 LTSs 升级到 Ubuntu 14.04 LTS 版本:复制代码代码如下:$ sudo reboot然后确认你是否升级到了最新版本;复制代码代码如下:$ lsb_release -a$ uname -mrs$ tail -f /var/log/app/log/file确认升级到最新版本后,再重新安装第三方的二进制驱动。
在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镜像下载
热门文章
- 1如何解决在苹果电脑上安装JDK路径错误问题(正确设置JDK路径,让开发环境无忧)
- 2Mac电脑数据迁移教程(轻松迁移你的数据到新的Mac电脑)
- 3又该升级系统了,然而14.10版ubuntu该如何才能正常的升级到ubuntu15.04呢?下面我将升级我自己的系统。1、点击菜单中的设置。因为桌面软件的改变,所以,现在有设置直接能对我们电脑进行配置调整,我们这里先点击设置图标。2。在设置中。里面有很多项目,其中系统项目里面,我们点击【软件和更新】这个图标,如下图3、软件和更新窗口可以更新系统,也可以更新软件。点击【更新】栏,设置成提示更新的方式为【每天】和有新版本时通知我设置为【适用任何新版本】,然后关掉软件和更新窗口,之后系统假如在联网就会提示你是否更新。4、在更新提示窗口。 我们目的是为了更新,那么就点击【立即安装】5、然后是一个全英文的界面。因为我现在的系统版本是14.10,然后提示有15.04这个新的ubuntu版本,那么我就点击【升级(U)】6、系统根据你的点击升级进入到下一个界面。点击升级按钮后,我的系统便开始下载升级安装包啦。一共有六步,等待前一步完成后才会进入下一步。7、建议不要再升级过程中点击【取消】按钮。但是系统会再一次提示你【您要开始升级么?】。此时,假如你不想升级,那么点击取消按钮还来得及,否则请点击【立即升级】按钮。8、这样系统开始正式升级啦,期间不要断电,或者点击取消,否则会发生意料之外的结果9、最后,系统升级完成,询问你是否清除安装包。建议您点击【删除】,然后点击【现在重启】,系统重启后,则升级完成!
- 4在http://blog.csdn.net/dctfjy/article/details/4233284中找到了解决办法: 复制代码代码如下: 重启之后,网络正常了。 复制代码代码如下: 重启网卡:/etc/init.d/networking restart 这样设置完成后,虚拟机就既能和主机通信,又能连接到Internet了。其中,虚拟机和主机通信是由其IP决定的,IP和主机的虚拟网卡 Vmware Network Adapter VMnet8的IP一致,连接到Internet则是利用了Vmware提供的NAT服务为虚拟交换机VMnet8作路由,也就是网关设置为虚拟NAT服务器的地址。这里,由于用了静态IP,所以没有用到Vmware的DHCP服务。 其实说了这么多,重点无非就是要获取网关等信息而已,知道了这些,和其他的静态IP设置没有区别。
- 5电光火石电脑安装教程(为您解析电脑组装步骤,让您成为电脑高手)
- 6假如你最近安装或是更新到Ubuntu Gnome 14.04 LTS,你将能享受到一个稳定和可靠的Gnome shell体验。但Ubuntu 14.04中使用的是Gnome 3.10而并非最新的Gnome 3.12,那该如何升级到Gnome 3.12呢?升级前需要先了解为什么默认的是Gnome 3.10Gnome 3.12于3月下旬发布,虽然早于Ubuntu 14.04发布却并未集成在Ubuntu Gnome 14.04中。这是因为Gnome 3.12的开发周期使得其没有足够的时间进行审查和测试来支持LTS版本,默认的Gnome 3.10则能保证其稳定性。这就是不推荐升级至Gnome 3.12的原因。假如你已明了会遇到的风险还想升级至Gnome 3.12,你可以参看下面的方法。在升级之前请确保使用的是Ubuntu 14.04,同时安装了Gnome 3.10。假如你使用的是Unity等非Gnome桌面环境,还需要先安装Gnome 3.10。apt:gnome-shell(点击安装)然后确保系统已经更新,复制代码代码如下:复制代码代码如下:复制代码代码如下:sudo apt-get install ppa-purgesudo ppa-purge ppa:gnome3-team/gnome3-staging
- 7ubuntu出现有线已连接却无法上网,执行下面的命令可以解决复制代码代码如下:sudo sysctl net.ipv4.conf.default.rp_filter=0sudo sysctl net.ipv4.conf.all.rp_filter=0sudo sysctl net.ipv4.ip_forward=1sudo sysctl net.ipv6.conf.all.forwarding=1或者直接追加到/etc/sysctl.conf假如遇到“设备未托管”,一般是台式机默认移动ip后禁用网络。那么修改/etc/NetworkManager/NetworkManager.conf,设置managed=true,reboot有时候遇到即使改了上面四条仍旧无法连接网络,那么就是由于managed=true引起的,再改成false即可连接网页。
- 8徒手拆掉平板电脑的完整教程(以图文详解,轻松拆解平板电脑,维修更容易!)
- 9掌握uptool教程,轻松应对工具操作(提升效率的关键工具,uptool简易教程)
- 10研究了一下,大致有2个比较简单方法,可以让ubuntu开机自动禁用无线网络。 复制代码代码如下: 2、驱动黑名单 既然是禁用驱动,首先我们得知道无线网卡的驱动名是什么,在终端中输入lshw命令可以列出电脑硬件的详细信息,从中我们可以获取无线网卡的驱动名。下面是信息片段: 复制代码代码如下: 最后一行显示我的无线网卡驱动名称是iwl3945(intel 3945abg无线网卡),将它加入到黑名单就可以了,具体操作如下: sudo gedit /etc/modprobe.d/blacklist.conf 在文本最后加入 blacklist iwl3945 重新启动 假如的确长时间不会用到无线网络,这个方法就比较干净彻底。假如学习了配置interfaces文件,也可以完全抛开NetworkManager,更加灵活地控制网络设定。现在也渐渐能体会到Linux将配置文件全部写成文本文档的优点所在了。