这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个人在未来重装系统时参考。对于其他地震学科研人员,也许有借鉴意义。

阅读须知:

  1. 本文适用于个人电脑,不适用于服务器;
  2. 不推荐刚接触Linux的人使用CentOS发行版;
  3. 本文尽量写的浅显易懂,但要求读者掌握Linux基础知识;
  4. 本文所有操作均在CentOS 7下完成,其他发行版或多或少与CentOS 7不同,因而仅供参考;
  5. 本文所安装的软件纯粹出于个人习惯及喜好,读者应自己判断,按需安装;

安装CentOS

CentOS 7的安装与其他Linux发行版的安装差不多,个别地方稍有不同。

准备工作

  1. 准备材料

    • U盘:容量700M以上,用于制作U盘启动盘,因为在制作启动盘时会格式化U盘,所以U盘内不要包含重要资料
    • CentOS 7.0 LiveCD ISO镜像文件
    • Universal USB installer:Windows下的U盘启动盘制作工具
    • 一个已安装Windows的电脑:用于制作U盘启动盘
  2. 运行Universal USB installer并制作U盘启动盘
  3. 将U盘插入计算机,重启,进入BIOS选择从U盘启动,即可进入CentOS的LiveCD
  4. 进入LiveCD后,点击桌面的“Install to Hard Drive”即可安装

注:Linux下可以通过dd命令制作启动盘,但由于对原理不够了解,偶尔会导致制作失败,或制作成功后U盘容量有问题,还是用Windows下的Universal USB installer比较靠谱。

安装过程

  1. 选择安装过程中使用的语言:用默认的英文即可
  2. 选择区域和城市:Asia和Shanghai
  3. 键盘使用English(US)而不是English(UK)
  4. Hostname可以改也可以不改,我用saturn.geolab
  5. 安装的目的地,选择要使用的硬盘,在“Other Storage Options”处选择“I will configure partioning”,即手动分区

分区

CentOS 7的分区似乎比较特别,自认为经验很丰富的我在第一次安装CentOS7时还是在分区上耽误了很多时间。后来找到比较合适的分区方法,如下:

  • 点击“Click here to create them automatically”,即让安装程序帮忙分区
  • 默认的分区方案是使用LVM,其好处在于“当机器有多块硬盘时,在使用的时候看上去只有一块”
  • 默认的文件系统为XFS而不是以前常用的EXT4;
  • 自动分区完成后,再根据自己的需求,手动修改分区细节
    • /boot:CentOS自动分配,一定不要乱改;
    • /:根目录,理论上15G就够了,不过现在硬盘不值钱,多分一些以防万一;
    • swap:与物理内存大小一致即可
    • /opt:个人习惯是将第三方软件都安装在/opt下,所以分了70G
    • /home:余下的全部空间
  • 点击“Begin to Install”开始安装

真正的安装

  1. 设置root密码
  2. 创建一般用户
  3. 等待安装完成
  4. 安装完成,重启
  5. 重启后,同意License即可

对系统的若干修改

若干原则

为了搭建一个稳定的系统,尽量避免因为各种瞎折腾而导致的系统问题,特订立了一些软件安装的原则。具体参见《CentOS 7下的软件安装方法与策略》。

给一般账号root权限

默认情况下,一般账号是没有root权限的。为什么不直接用root账号,而是要给一般账号root权限呢?

  • 日常工作中使用root账号,是非常糟糕且危险的习惯!无论是服务器还是个人电脑都是如此。
  • 安装软件时需要root权限,只能su切换到root账户再安装。对于习惯使用sudo的人来说,还是有些麻烦。

假设账户名为seisman,要授予他root权限,则要修改配置文件/etc/sudoers

$ su
# echo 'seisman ALL=(ALL) ALL' >> /etc/sudoers # 向配置文件中加入语句
# tail -1 /etc/sudoers # 检查一下是否正确
seisman ALL=(ALL) ALL

其中seisman为当前用户名。

添加第三方源

CentOS由于很追求稳定性,所以官方源中自带的软件不多,因而需要一些第三方源,比如EPEL、ATrpms、ELRepo、 Nux Dextop、RepoForge等。根据上面提到的软件安装原则,为了尽可能保证系统的稳定性,此处大型第三方源只添加EPEL源和 ELRepo源。

EPEL

EPEL即Extra Packages for Enterprise Linux,为CentOS提供了额外的10000多个软件包,而且在不替换系统组件方面下了很多功夫,因而可以放心使用。

1
sudo yum install epel-release

执行完该命令后,在/etc/yum.repos.d目录下会多一个epel.repo文件。

ELRepo

ELRepo包含了一些硬件相关的驱动程序,比如显卡、声卡驱动。

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

完成该命令后,在/etc/yum.repos.d目录下会多一个elrepo.repo文件。

安装yum-axelget

yum-axelget是EPEL提供的一个yum插件。使用该插件后用yum安装软件时可以并行下载,大大提高了软件的下载速度,减少了下载的等待时间:

sudo yum install yum-axelget

安装该插件的同时会安装另一个软件axel。axel是一个并行下载工具,在下载http、ftp等简单协议的文件时非常好用。

第一次全面更新

在进一步操作之前,先把已经安装的软件包都升级到最新版:

sudo yum update

要更新的软件包有些多,可能需要一段时间。不过有了yum-axelget插件,速度已经快了很多啦。

重启

此处建议重启。

删除多余的kernel

在前面的yum update执行之后,可能会将kernel也一起更新,则在启动CentOS时启动项中会有很多项。

确认当前使用的kernel版本号:

$ uname -r
3.10.0-123.9.3.el7.x86_64

查找当前系统安装的所有kernel:

$ rpm -qa | grep kernel
kernel-3.10.0-123.8.1.el7.x86_64
kernel-3.10.0-123.9.3.el7.x86_64
kernel-devel-3.10.0-123.9.2.el7.x86_64
kernel-tools-3.10.0-123.9.3.el7.x86_64
kernel-headers-3.10.0-123.9.3.el7.x86_64
kernel-3.10.0-123.9.2.el7.x86_64
kernel-tools-libs-3.10.0-123.9.3.el7.x86_64
kernel-devel-3.10.0-123.8.1.el7.x86_64
kernel-devel-3.10.0-123.9.3.el7.x86_64

可以看出有三个版本的kernel,123.8.1、123.9.2和123.9.3。除了最新的kernel外,建议多保留一个旧kernel,以免新kernel出现问题时可以通过旧kernel进入系统。因而此处删除123.8.1版本的kernel:

sudo yum remove kernel-3.10.0-123.8.1.el7.x86_64
sudo yum remove kernel-devel-3.10.0-123.8.1.el7.x86_64

基础开发环境

GCC系列

sudo yum install gcc                     # C编译器
sudo yum install gcc-c++ # C++编译器
sudo yum install gcc-gfortran # Fortran编译器
sudo yum install compat-gcc-44 # 兼容gcc 4.4
sudo yum install compat-gcc-44-c++ # 兼容gcc-c++ 4.4
sudo yum install compat-gcc-44-gfortran # 兼容gcc-fortran 4.4
sudo yum install compat-libf2c-34 # g77 3.4.x兼容库

软件开发辅助工具

sudo yum install make
sudo yum install gdb # 代码调试器
sudo yum install cmake # Cmake
sudo yum install git # 版本控制

驱动程序

显卡驱动

Linux默认只使用开源的显卡驱动,就目前的情况来看,开源驱动的效果还是不错的,但跟官方的闭源驱动相比还是有一定差距。最明显的区别是,在使用SAC的ppk功能放大波形时,使用开源驱动会出现延迟,而使用官方闭源则整个过程非常顺畅。

安装显卡检测程序:

sudo yum install nvidia-detect

检测显卡型号以及对应的驱动:

$ nvidia-detect
Probing for supported NVIDIA devices...
[10de:06dd] NVIDIA Corporation GF100GL [Quadro 4000]
This device requires the current 340.58 NVIDIA driver kmod-nvidia

此处提示需要安装340.58版的显卡驱动。安装显卡驱动:

sudo yum install nvidia-x11-drv nvidia-x11-drv-32bit
sudo yum remove xorg-x11-glamor

重启。

NTFS驱动

CentOS下默认无法挂载NTFS格式的硬盘。需安装nfts-3g即可实现即插即用:

sudo yum install ntfs-3g

进阶开发环境

Java环境

Java的一大特色在于跨平台,只有安装了Java运行环境,即可运行Java程序:

sudo yum install java                        # java运行环境

Clang系列

Clang可以认为是GCC的替代品,可以用于编译C、C++、Objective-C和Objective-C++。其提供了更友好的报错信息,在有些方面比GCC更友好,同时其提供了一个代码静态分析器,可以用于分析代码中可能出现的bug和内存溢出问题。

sudo yum install clang             # clang编译器
sudo yum install clang-analyzer # clang静态分析器

Intel系列

Intel的大部分软件都是非开源且收费的,但同时部分软件也提供了Linux下的非商业免费版。比如icc、ifort、mkl数学库以及代码性能分析工具等。

Intel软件的申请以及安装参考《Intel非商业免费开发工具》。

还有一点需要注意的是,Intel也提供了并行相关的几个命令,比如mpicc、mpirun。所以openmpi、mpich和intel三者,在并行时只能用其中一个。

并行计算

并行可以用openmpi,也可以用mpich,二者应该是并列的。但是由于二者提供了几乎一样的命令,所以二者可以同时安装,但是不可以同时处于使用状态。

openmpi

安装openmpi:

sudo yum install openmpi openmpi-devel

安装后,二进制文件位于/usr/lib64/openmpi/bin下,动态库文件位于/usr/lib64/openmpi/lib下,因而实际使用的话还需要额外的配置,在.bashrc中加入如下语句:

export PATH=/usr/lib64/openmpi/bin/:${PATH}
module load mpi/openmpi-x86_64

mpich

安装mpich:

sudo yum install mpich mpich-devel

安装后,二进制文件位于/usr/lib64/mpich/bin下,动态库文件位于/usr/lib64/mpich/lib下,因而实际使用的话还需要额外的配置,在.bashrc中加入如下语句:

export PATH=/usr/lib64/mpich/bin/:${PATH}
module load mpi/mpich-x86_64

脚本语言环境

Perl

CentOS 7.0自带了Perl 5.16.3(2013年03月11日发布),目前的最新版本为5.20.1(2014年09月14日发布)。

系统自带Perl

系统自带Perl,就目前来看,版本不算老,基本够用。官方源和EPEL源中提供了1000多个模块,可以直接用yum安装:

sudo yum install perl-Parallel-ForkManager  # 并行模块

若源中没有已打包好的模块,也可以使用perl自带的cpan来安装模块。

优先级:yum > cpan。

plenv管理新版本

若需要使用最新版本的perl,可以使用plenv安装新版本的perl,并使用plenv提供的cpanm命令安装模块:

cpanm install Parallel::ForkManager # 并行模块

Python

CentOS 7.0自带Python 2.7.5,目前Python 2的最新版本为2.7.8,Python 3的最新版本为3.4.2。

系统自带Python

系统自带的Python 2.7.5,基本已经够用,Python 2常用的模块在官方源或EPEL源中也有有编译好的包,因而直接通过yum安装即可:

sudo yum install python-matplotlib  # 2D绘图库
sudo yum install PyQt4 # Qt4的Python绑定
sudo yum install numpy # 数组操作库
sudo yum install scipy # 科学计算库
sudo yum install python-requests # 网页请求
sudo yum install python-docopt # 命令行参数分析器
sudo yum install gdal-python # gdal的Python绑定

pyenv管理Python3

Python2与Python3之间是不完全兼容的,而我以Python3为主,所以需要安装一个Python3。

首先,安装pyenv来管理多个Python版本,然后利用pyenv安装anaconda3(即Python 3.4)。anaconda自带了众多科学计算所需的包,免去了安装的麻烦,对于其他包,则可以利用Python自带的pip安装:

pip install requests
pip install docopt

日常软件

Office套件

LibreOffice

大多数Linux发行版都自带LibreOffice:

sudo yum install libreoffice

LibreOffice与Microsoft Office的兼容性不太好,操作界面与MS Office也有较大差异,让人不太习惯。

WPS Office

若在Linux下对于文档处理有更高一些的要求,可以尝试目前还处于测试版的WPS Office for Linux。WPS Office的兼容性以及界面都比LibreOffice要好很多,值得期待,当然还是不能做到完全兼容MS Office。

安装过程参考CentOS下安装WPS Office一文。

TeXLive 2014

系统是自带了TeXLive,版本较老,还是安装最新版比较好。

根据Linux下安装TeXLive一文,从ISO文件中安装TeXLive。

安装完成后,更新所有模块:

tlmgr update --all

Mendeley

Mendeley是一个跨平台的文献管理软件,其内部自带了一个可以添加注释的PDF阅读器。

下载Generic Linux (64 bits) :http://www.mendeley.com/download-mendeley-desktop

安装:

tar -xvf mendeleydesktop-1.12.3-linux-x86_64.tar.bz2  # 解压
sudo mv mendeleydesktop /opt # 复制到/opt下
cd /opt/mendeleydesktop/bin # cd进去
./install-mendeley-link-handler.sh /opt/mendeleydesktop/bin/mendeleydesktop
sudo yum install qtwebkit # 安装依赖包

注销重新登陆,在Application->Education下即可看到mendeley的相关项目。不过是没有软件的图标的,强迫症不能忍,用下面的命令解决:

cp /opt/mendeleydesktop/share/icons/hicolor/128x128/apps/mendeleydesktop.png ~/.local/share/icons/

Google Chrome浏览器

默认的浏览器是Firefox,还是更喜欢Chrome浏览器。

/etc/yum.repos.d/目录下新建文件google-chrome.repo,向其中添加如下内容:

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

安装:

sudo yum install google-chrome-stable

由于Google的官方源在国内可能无法正常访问,导致安装失败或安装后无法正常更新。有人在国内服务器上做了Google官方源的镜像,若你相信该镜像是安全的,则可使用此国内镜像代替Google官方源,google-chrome.repo的内容改为:

[google-chrome]
name=google-chrome
#baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
#gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
mirrorlist=http://1dot75cm.tk/mirrorlist
gpgkey=http://1dot75cm.tk/src/linux_signing_key.pub
gpgcheck=1
enabled=1

Opera浏览器

也可以选择Opera浏览器。

下载地址:http://www.opera.com/download/guide/?os=linux

选择CentOS RPM package进行下载。下载完成后,执行:

sudo yum localinstall opera-12.16-1860.x86_64.rpm

想要卸载的话,就执行:

sudo yum remove opera

Flash插件

Flash插件主要是看在线视频的时候要用。Google浏览器自带了Flash插件,所以这里安装的flash插件主要是为了firefox。

sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
sudo yum install flash-plugin

解压软件

解压7z或zip格式需要p7zip,由EPEL提供:

sudo yum install p7zip

解压rar格式需要unrar,该软件由Nux Dextop提供,但该源与EPEL源有冲突,所以直接下载该rpm进行安装:

sudo yum localinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/unrar-5.0.12-2.el7.nux.x86_64.rpm

FTP客户端

FTP客户端,还是有界面的filezilla比较方便些。

sudo yum install filezilla

效率类软件

这一类工具能够在不同方面提高科研的效率,也提高了使用者的体验。

终端模拟器

Gnome自带的终端模拟器是gnome-terminal。经常会需要开十几个终端,切换和管理起来比较麻烦。

terminator

terminator有很多功能,我只用到了终端分割的功能。Ctrl+Shift+O对终端水平分隔,Ctrl+Shift+E对终端垂直分隔,Alt+上下左右可以在各子终端中切换。

sudo yum localinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/terminator-0.97-6.el7.nux.noarch.rpm

guake

有些时候需要临时执行一两个命令,但是又不想额外启动一个终端的情况下,guake是个不错的选择。

sudo yum localinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/guake-0.4.4-11.el7.nux.x86_64.rpm

安装完成后,在Application->System Tools里找到guake Terminal即可启动。按下F12即可呼出guake,再次按下F12即可隐藏。也可在终端执行guake-prefs对gauke进行配置。

zsh与oh my zsh

Linux下有很多shell,比如最常见的bash,除此之外还有csh、ksh。zsh也是一个shell。

zsh的特点在于:

  • 语法基本完全兼容于bash,一般用户完全体会不到其区别
  • zsh提供命令补全特性,比bash的补全要更好用
  • 可配置性强

完全不经配置的zsh已经很好用了,一般用户也没必要花时间研究配置。oh my zsh是一群人一起维护的一套zsh配置文件。直接用这个配置文件,稍稍了解一点会有更好的体验。

安装zsh:

sudo yum install zsh

安装oh my zsh:

curl -L http://install.ohmyz.sh | sh

上面的命令,做了如下几件事情:

  • 下载oh my zsh~/.oh-my-zsh
  • 备份已有的zsh配置文件~/.zshrc,并复制新的.zshrc文件
  • 将当前用户的默认shell由bash改成zsh

第三步中,会报错如下:chsh: "/usr/bin/zsh" is not listed in /etc/shells.,需要手动修改默认shell:

chsh -s /bin/zsh

chsh命令修改的是login shell,因而需要退出当前用户并重新登陆,以后用户的默认shell就从bash变成了zsh,所有的配置都不用写到.bashrc而要写到.zshrc中。

.zshrc中可以选择喜欢的主题,以及适当数量的插件。下面列出我在用的插件:

  1. git

    该插件为git的众多常用命令提供了更简单的别名,比如git status的别名是gst,大大简写了击键数。但该插件中git mergetool --no-prompt的别名是gmt,与GMT软件冲突,需要将该插件的目录git复制到custom/plugins下,然后删除其中的gmt别名;

  2. 命令补全插件: pip, pyenv

  3. sudo:按两下ESC即可在当前命令前加上sudo

  4. yum:为常见的yum命令提供别名

autojump

autojump是一个非常智能的目录快速切换的工具。简单演示如下:

$ pwd
/home/seisman
$ cd Desktop
$ cd /opt
$ cd /usr/local # 用j命令迅速从/usr/local跳转到与des匹配的目录,这里只有Desktop可以匹配
$ j des
$ pwd
/home/seisman/Desktop

用法差不多就这样,具体看项目主页。

安装:

sudo yum install autojump
sudo yum install autojump-zsh

中文输入法

刚安装的系统可能是没有中文输入法的,源中带的中文输入法应该是ibus,使用效果一般。fcitx是更好的选择,基于fcitx框架的搜狗输入法或许是更更好的选择。

参考CentOS7安装fcitx中文输入法

HostTool

科学上网几乎已经成为每个搞科研的人的必备技能。

科学上网的方式有很多,这里只说HostTool:https://hosts.huhamhire.com/

HostTool科学上网本质上就是用最新的host文件替代了系统自带的host文件。

下载解压后,进入目录,直接sudo python2 hoststool.py即可运行,具体的用法自己研究一下。

VirtualBox虚拟机

有时候可能需要在Windows下做一些操作,如果机器性能足够好的话,可以安装VirtualBox虚拟机。

wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
sudo mv virtualbox.repo /etc/yum.repos.d/
sudo yum install VirtualBox-4.3

这样就可以在Linux下虚拟一个Windows啦,好开心。

等宽字体

编程要用等宽字体,这点是常识了。一款适合编程的等宽字体,至少要满足如下几个要求:

  1. 易于区分“1”、“i”和“l”
  2. 易于区分“0”、“o”和“O”
  3. 易于区分中文下的左引号和右引号
  4. 美观

目前选择的Source Code Pro。将解压后的字体文件放在~/.fonts目录下,并修改终端、gedit以及其他编辑器、IDE等的默认字体。

同步网盘

网盘根据功能大概可以分为两类:同步网盘和备份网盘。既然是同步网盘,Linux下的客户端必不可少。就目前已知的情况来看,CentOS下能使用的同步网盘只有两个:Dropbox和坚果云。

我主要用同步网盘将Linux机器上的PDF文献同步到iPad上。

Dropbox

又是一个被墙的工具,熟练掌握科学上网技巧的人可以使用,一般人还是不要用了。

wget https://www.dropbox.com/download?dl=packages/fedora/nautilus-dropbox-1.6.2-1.fedora.x86_64.rpm
sudo rpm -i nautilus-dropbox-1.6.2-1.fedora.x86_64.rpm

坚果云

国内的全平台同步网盘,不限空间,但限制每月上传流量1G,下载流量3G。

# 坚果云依赖于notify-python,该包位于Nux Dextop源中
sudo yum localinstall http://li.nux.ro/download/nux/dextop/el7/x86_64/notify-python-0.1.1-25.el7.nux.x86_64.rpm
# 下载
wget https://jianguoyun.com/static/exe/installer/fedora/nautilus_nutstore_amd64.rpm
sudo rpm -i nautilus_nutstore_amd64.rpm

工具软件

视频下载工具

you-getyoutube-dl <https://github.com/rg3/youtube-dl>是两个用于从视频网站上下载视频文件的工具。其中,后者支持的网站更多,但前者对国内的视频网站支持更好。

pip install you-get
pip install youtube-dl

PDF处理工具

cpdf是一个跨平台的PDF处理工具,可以完成常见的PDF合并、切割、加密解密、书签、水印等功能。

下载已编译好的二进制包,解压,并将与自己的平台对应的二进制文件复制到${HOME}/bin目录下即可使用。

BT软件

transmission是Linux下常用的Torrent下载软件:

sudo yum install transmission

在“Application”->“Internet”->中可以启动transmission。

其他工具

sudo yum install nfs-utils     # 挂载NFS文件系统所必须
sudo yum install xclip # 终端的文本复制工具
sudo yum install ImageMagick # 其中的import和convert命令很有用
sudo yum install dos2unix unix2dos # Windows和Linux换行符互相转换

地球物理相关

  1. SAC

    参考《SAC参考手册》中的相关章节。

  2. GMT

  3. TauP:走时计算工具

  4. rdseed:SEED转SAC的工具

  5. win32tools:Hinet自定义的win32格式转SAC格式

  6. pssac:用GMT绘制SAC文件

  7. distaz:根据两点经纬度计算震中距和方位角

娱乐

sudo yum install 2048-cli   # 2048命令行版

未完成

Google Earth

理论上Google Earth应该可以跟Google Chrome用类似的方法来安装的,但是由于Google Earth的rpm包存在bug,导致无法通过上面的方法安装。

$ cd -
$ wget https://dl.google.com/dl/earth/client/current/google-earth-stable_current_x86_64.rpm
$ rpm2cpio google-earth-stable_current_x86_64.rpm | cpio -div
$ sudo cp -r opt/google/earth /opt/google/
$ sudo cp etc/cron.daily/google-earth /etc/cron.daily/
$ rm -rf usr opt etc
$ sudo ln -s /opt/google/earth/free/googleearth /usr/bin/google-earth

安装完成后,启动后奔溃。。

最新文章

  1. iOS 真机调试不能连接网络的排错过程
  2. centos5安装salt-master
  3. html canvas 弹球(模仿)
  4. Javascript闭包(狗血剧情,通俗易懂)
  5. Android LayoutInflater.from(context).inflate
  6. HDU 5235 Friends (2015 Multi-University Training Contest 2 搜索+剪枝)
  7. Java [leetcode 15] 3Sum
  8. Lamp环境部署指南
  9. Composite 组合模式
  10. 20141021WinForm控件属性
  11. 关于安卓手机的牛逼软件termux使用
  12. CentOS7.2非HA分布式部署Openstack Pike版 (实验)
  13. how tomcat works 总结
  14. logstash收集TCP端口日志
  15. JavaScript 神奇的参数
  16. windows系统下,express构建的node项目中,如何用debug控制调试日志
  17. Redis实现分布式锁原理与实现分析
  18. PHP foreach 循环使用&quot;&amp;$val&quot; 地址符“&amp;”
  19. JVM技术周报第1期
  20. easyui panel异步获取后台数据在前台显示

热门文章

  1. SHINY-SERVER R(sparkR)语言web解决方案 架设shiny服务器
  2. iOS学习笔记-精华整理
  3. 详解Bootstrap导航组件
  4. [推荐]WebService开发知识介绍
  5. Linux Buffers和Cached的区别(转)
  6. C# Bitmap类型与Byte[]类型相互转化
  7. spring官方案例程序
  8. Oracle的 Pfile生成
  9. 今天踩过的坑——structs和spring
  10. php中抓取网页内容的代码