精华内容
下载资源
问答
  • 常用网页环境初始化代码
    千次阅读
    2021-08-09 15:30:10

    前言

    由于项目需求,自己整了一台服务器,但过阵子总是忘记怎么操作,所以为了记录操作流程,时常复习,特地写了这篇文章,记录一下操作记录。

    创建新用户

    服务器初始化后(Ubuntu 20.04),创建了一个新的账户,创建命令如下:

    adduser Ant							# 创建新用户Ant
    passwd Ant							# 设置Ant账户的密码,然后输入密码即可
    sudo userdel -r username			# 加上-r可以删除/home/路径下的用户文件夹,否则不能
    su username							# 切换用户
    
    ps -u username
    kill XXXX
    sudo apt-get remove --purge vsftpd	# --purge 选项表示彻底删除改软件和相关文件
    

    赋予Ant账号sudo权限

    在root账户下,输入如下命令:

    sudo visudo
    

    在最后一行加入如下文字:

    Ant ALL=(ALL:ALL) NOPASSWD: ALL
    

    这样就赋予了Ant账号sudo权限(且不用再输入密码)。

    安装防火墙

    1. 如果没有自带防火墙,输入如下命令安装防火墙:
    sudo apt-get install ufw
    
    1. ufw常见的命令如下:
    ufw enable			# 打开防火墙
    ufw disable			# 关闭防火墙
    ufw allow 22		# 开放22端口
    ufw status			# 查看防火墙状态
    

    安装Nginx

    1. 安装Nginx命令:
    apt-get install nginx
    
    1. Nginx配置
    sudo chown -R www-data:www-data			# 设置文件夹所有者为www-data,或者修改文件夹读写模式。
    
    1. Nginx常见命令
    systemctl status nginx.service			# 查看Nginx服务器状态
    systemctl restart nginx.service			# 重启Nginx服务器
    
    1. socket配置(Daphne)
      在/etc/nginx/sites-available里面新建文件mysite,加入如下配置:
    upstream socket {
      ip_hash;
      server 127.0.0.1:8000 fail_timeout=0;
    }
    # 上面的IP端口自定义,就是daphne运行的端口
    server {
    listen 80 default_server;
    	listen [::]:80 default_server;
    	location / {
    		proxy_pass http://socket;
    		proxy_http_version 1.1;
    		proxy_set_header Upgrade $http_upgrade;
    		proxy_set_header Connection "upgrade";
      }
    }
    

    然后在/etc/nginx/sites-enable里面建立软连接,具体命令如下:

    ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enable/mysite
    

    重启Nginx后,用Daphne启动django即可看到相应网页。

    配置数据库

    安装mysql数据库

    apt-get install mysql-server mysql-client
    

    安装时没有设置密码界面,因此root账户需要重新设置密码,首先运行一下命令:

    vi /etc/mysql/debian.cnf
    

    找到如下两行:
    user = debian-sys-maint
    password = password_for_the_user
    然后用debian-sys-maint账号登入mysql,具体命令如下:

    mysql -u debian-sys-maint -p
    

    输入密码后即可登录,然后运行如下命令修改root密码:

    USE mysql
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    # 下面两条命令针对不同版本的mysql,没试过,记录一下备用
    UPDATE user SET plugin='mysql_native_password' WHERE User='root';
    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') where user='root';
    
    # account为账户名,password为密码,database_name为数据库名称
    CREATE USER -u account -p password;
    CREATE SCHEMA database_name;
    GRANT ALL ON database_name.* TO account@localhost;
    

    mysql常用命令:

    systemctl start mysql.service
    systemctl restart mysql.service
    systemctl stop mysql.service
    systemctl enable mysqld.service
    
    create database database_name;
    drop database database_name;
    
    sudo apt-get install python3-dev libmysqlclient-dev
    pip install mysqlclient
    
    更多相关内容
  • 初始化Ubuntu工作环境

    千次阅读 2016-05-19 17:52:16
    去年6月份开始使用Ubuntu 14.04 LTS,当时是在公司电脑上装的,因为是第一次搭建工作环境,很多东西不是很随心意。终于等到16.04 LTS版发布,就重装系统,公司的那个老爷本也不用了。 ubuntu desktop是一个很简单的...

    博文:初始化Ubuntu工作环境
    主页:http://www.howardliu.cn/

    去年6月份开始使用Ubuntu 14.04 LTS,当时是在公司电脑上装的,因为是第一次搭建工作环境,很多东西不是很随心意。终于等到16.04 LTS版发布,就重装系统,公司的那个老爷本也不用了。
    ubuntu desktop是一个很简单的桌面系统,比较适合菜鸟级的使用,学习曲线比较平缓。本文主要是记录一下这次搭建工作环境的经过,留作备份,下一次再需要重装的时候可以有个依据。
    ubuntu-cloud

    1 系统语言

    作为英语的半吊子,没办法直接使用英文环境,所以系统安装的是简体中文环境,但是系统创建的home路径中的文件夹都是中文的:桌面、文档、下载。。。作为一个懒人,不想在终端输命令的时候还要切换输入法,所以把这几个路径全部改为英文。

    $ export LANG=en_US
    $ xdg-user-dirs-gtk-update

    会弹出一个对话框,问是否修改home下的文件夹名字,直接点击”Update Names”,问题解决,然后把系统语言改回简体中文。

    $ export LANG=zh_CN.UTF-8
    $ xdg-user-dirs-gtk-update

    这次又弹出的对话框是询问是否把文件夹名字改为简体中文的,直接点否就行。为了以后不再询问,选中不要再次询问,以后就不会弹出了。

    2 软件源

    大家都知道,国内的网络环境不是很好,ubuntu的镜像服务器在地球另一端,所以装完系统通常需要修改软件源,国内比较可靠的是阿里云的镜像,为阿里赞一个。需要使用root权限修改/etc/apt/sources.list文件:sudo vi /etc/apt/sources.list,我这里是需要把”cn.archive.ubuntu.com”和”security.ubuntu.com”改为”mirrors.aliyun.com”,根据自己的情况修改。这样ubuntu的系统更新、安全更新、软件更新都是走阿里云的镜像了,速度还是很快的。
    下面是我的软件源文件(精简过的,原文件很多注释):

    deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
    deb http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

    3 快捷初始化

    ubuntu使用可能会用到一些解码器之类的组件、插件、字体,一个个找实在麻烦,好在有一个ubuntu-restricted-extras,可以直接帮忙安装这一堆繁琐的东西。命令行输入:sudo apt install ubuntu-restricted-extras,然后等待安装完成即可。

    4 常用软件

    基础环境简单配置完成,接下来就开始安装常用的软件。

    4.1 vim

    因为开发使用的是IDE,vi工具只是用来编辑一些简单的文件,所以没装太多插件。作为一个vi的菜鸟,只会一些简单的快捷键,所以还是装上vim吧:

    $ sudo apt install vim

    4.2 Chromium & Chrome

    ubuntu自带的浏览器是Firefox,一款非常优秀的浏览器,Chrome中也有部分是firefox的代码,奈何已经熟悉Chrome,还是装上Chrome浏览器。这里的Chromium相当于Chrome的先行军,开源项目,全球优秀的开发人员进行维护,增加功能,然后Google再把这些新功能加到Chrome中,ubuntu的软件库中自带Chromium,想装Chrome还得翻墙出去下,为了快(tou)捷(lan),直接装Chromium:

    $ sudo apt-get install chromium-browser unity-chromium-extension chromium-codecs-ffmpeg-extra

    Chromium和Firefox一样,有很多扩展扩展程序(依赖浏览器)和应用(可以不启动浏览器独立运行):

    • The QR Code Extension: 把地址栏地址转为二维码
    • 有道云笔记网页剪报: 用过有道云笔记的比较熟悉,抓取网页内容,保存到有道云笔记中
    • cVim: 一个摆脱鼠标的扩展程序,键盘流的福音,好像还有很多类似的扩展,大同小异
    • JSON Formatter: 可以把json响应内容格式化
    • JSON Editor: 应用,用于编辑json数据
    • Postman: 应用,http的客户端

    4.3 JDK

    作为Java开发,最需要安装的就是jdk了,ubuntu库中只有Open JDK,但是工作环境中还是使用Oracle JDK,其实可以在Oracle官网下载tar.gz包,解压,然后配置环境变量,但是安装ant、maven的时候还是会再次引入open jdk,烦不胜烦,直接使用webupd8的源,省去乱七八糟的烦恼。

    $ sudo add-apt-repository ppa:webupd8team/java
    $ sudo apt-get update
    $ sudo apt-get install oracle-java6-installer oracle-java7-installer oracle-java8-installer

    这里把jdk 6\7\8几个版本都装上了,虽然自己的项目中使用JDK 8,但是有时候需要把一个公共组件提供给其他组,就需要jdk 6来开发编译打包,这个时候需要切换下默认jdk的版本:

    $ sudo apt-get install oracle-java6-set-default # 切换为jdk6
    $ sudo apt-get install oracle-java7-set-default # 切换为jdk7
    $ sudo apt-get install oracle-java8-set-default # 切换为jdk8

    修改jdk的环境变量,为了各用户统一,直接在系统环境变量中增加配置:

    cd /etc/profile.d
    sudo touch set_classpath.sh
    sudo chmod +x set_classpath.sh

    set_classpath.sh文件的内容如下:

    #!/bin/bash
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    可以通过source set_classpath.sh使环境变量立即生效,也可以等下次重启之后生效。

    4.4 Ant

    工作中基本不用Ant了,一般maven就够用了。先装上,用不用再说:sudo apt-get install ant,安装完之后配置环境变量:

    $ cd /etc/profile.d
    $ sudo touch ant_env.sh
    $ sudo chmod +x ant_env.sh

    ant_env.sh内容如下:

    #!/bin/bash
    export ANT_HOME=/usr/share/ant
    export PATH=$PATH:$ANT_HOME/bin

    4.5 Maven

    构建工具最常用maven了,基本不需要关心jar包之间的依赖,而且在IDE中,maven的插件也比较完善了。

    $ sudo apt-get install maven
    
    # 安装完成后通过mvn -n查看maven版本
    $ mvn -v
    Apache Maven 3.3.3
    Maven home: /usr/share/maven
    Java version: 1.8.0_66, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-8-oracle/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "4.2.0-22-generic", arch: "amd64", family: "unix"

    4.6 SVN

    公司喜欢用svn,不过也马上要换成Git了,还是把svn安装记录下,万一以后需要呢。

    $ sudo apt-get install subversion
    $ sudo apt-get install libsvn-java # 如果要用Eclipse SVN插件还得装下libsvn-java
    
    # 使用ln建立链接,不然插件还是会报错:
    $ sudo mkdir -P /usr/java/packages/lib/amd64/
    $ sudo ln -s /usr/lib/x86_64-linux-gnu/jni/libsvnjavahl-1.so.0.0.0 /usr/java/packages/lib/amd64/libsvnjavahl-1
    $ sudo ln -s /usr/lib/x86_64-linux-gnu/jni/libsvnjavahl-1.so.0.0.0 /usr/java/packages/lib/amd64/libsvnjavahl-1.so

    在Linux中可用的svn的GUI工具只有一个rapidsvn,已经很久没有更新过了,不过也还凑合用,复杂操作可以使用命令,

    $ sudo apt-get install rapidsvn

    4.7 Git

    直接安装

    sudo apt-get install liberror-perl git-man git git-doc

    git的GUI工具就不装了,毕竟git的命令很简单,而且IDE中的插件效果也挺不错的。

    4.8 其他工具

    • unison: 一个同步工具,可以比较文件夹之间是否有修改,可以很直观的操作同步数据,相当于有GUI的sync,sudo apt-get install unison unison-gtk
    • ssh: 这个不多说,sudo apt-get install openssh-client openssh-server openssh-sftp-server
    • openvpn: 在家办公的时候,需要通过VPN连接公司内网,sudo apt-get install network-manager-openvpn
    • FileZilla: 连接服务器的文件管理器,sudo apt-get install filezilla
    • Meld: 文件\文件夹对比工具,相当于带GUI的diff,sudo apt-get install meld
    • mysql: 不多说,sudo apt-get install mysql-client mysql-workbench
    • nethogs: 各应用实时网速检查,需要sudo权限,sudo apt-get install nethogs
    • indicator-multiload: 综合负载指示器,可实时显示CPU使用率、内存占用、网速、负载、磁盘IO、交换空间等,sudo apt-get install indicator-multiload
    • GIMP: 图像编辑,sudo apt-get install gimp gimp-data-extras
    • GParted: 分区管理器,需要root权限,sudo apt-get install gparted

    5 基本配置

    5.1 ubuntu终端

    ubuntu终端会显示当前位置的全路径,当目录比较深的时候,占用空间太大,所以直接进行优化:

    export PS1='\[\e]0;\u@\h: \w\a\]\[\033[01;32m\]\u\[\033[01;33m\]@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]$ '

    5.2 本地打开文件数限制解除

    echo "fs.file-max = 819200" | sudo tee /etc/sysctl.d/60-fs-file-max.conf
    echo "fs.inotify.max_user_watches = 524288" | sudo tee /etc/sysctl.d/60-fs-max-user-watches.conf

    6 结束

    到这里,这个ubuntu环境就基本配置完成了。
    话说自从把系统换成ubuntu了,好像很久没有玩游戏了。舍友的系统是windows,前一段时间,想玩了,就玩他的,后来媳妇抱怨说我总是跟他们混在一起,也就不怎么玩了,最近好像就想不起来玩。算是把游戏戒了。
    然后使用linux,为了图省事,经常会用到终端,几条简单命令就成,慢慢向键盘党靠拢,虽然不说能够提高效率,至少不会因为找鼠标打断思路。

    展开全文
  • AntDesign 第一章(2) --------初始化项目

    千次阅读 2019-03-14 14:32:17
    初始化项目 现在你已经了解了前端开发的基本概念,开始要进入实际项目了。这一节将教会大家如何初始化一个项目,开发出一个可以展示hello world的项目。 这堂课程中的相关代码你都可以在...

    初始化项目

    现在你已经了解了前端开发的基本概念,开始要进入实际项目了。这一节将教会大家如何初始化一个项目,开发出一个可以展示 hello world 的项目。

    这堂课程中的相关代码你都可以在 https://github.com/ant-design/react-tutorial 中拿到,当你无法参考文档完成你自己的代码时你可以以它作为一个参考。不过我们建议你尽可能的自己完成课程相关的代码,如果遇到了问题或者对课程有疑问可以在文档下方留言告知我们。

    为什么需要脚手架

    一个普通的网页基本都会包含 HTML,CSS 和 JS 三个关键的元素。这一点多年以来都是没有改变的,但是前端的开发模式已经发生了很大的变化。以往我们写的网页前端代码都是可以通过浏览器打开后能够直接运行的,但是现在对于大部分前端项目来说,我们写的代码其实并不是原生的 JS,HTML 和 CSS,而是基于它们扩展出来的更上层的语法。

    本课程,我们将会大量编写 React 组件(实际上 antd 就是 Ant Design 的 React 组件的实现),这些组件需要通过编译为最终的 JS 和 CSS,然后引入到 HTML 网页中才能够被浏览器正确地执行。

    由于存在一个编译过程,这就需要基于编译工具搭建一个项目的脚手架,使得我们可以通过工具实现代码的编译。通过编译后的代码才是浏览器能够执行的代码,这样我们才能进行项目的开发和最终的部署。

    编译工具

    前端开发不只涉及到 JS,同时还有 CSS、HTML、图片等资源,以及其他一些文件类型。比如:LESS 脚本可以提高 CSS 的编写效率,TypeScript 可以让你以一种全新的语法去编写你的逻辑。所有这些文件类型,都被纳入了前端研发体系。大部分编译工具都能够处理这些不同类型的资源文件。

    开源社区的繁荣,一方面让我们可以有很多工具,但是同时也让项目初始化变得繁琐。

    本课程选择使用 umi 作为编译工具。其实 umi 不仅仅是一个编译工具,它同时也是一个前端框架。它对社区的 webpackreact-router 等进行的封装,使得我们可以基于它快速搭建一个 React 项目。

    umi 有各种类型的脚手架,方便你快速启动项目。本课程为了让读者能够更好地理解 umi 背后的逻辑,将从零开始初始化一个能够运行的脚手架。

    下面,请大家跟着一起操作,完成之后将会得到一个最简单的应用:网页显示 hello world

    初始化

    目录结构

    在初始化完成后你将会得到如下的一个目录结构:

    - antd-course
      - config
        - config.js
      - src
        - page
          - HelloWorld.js
      - package.json
      - .gitignore
      - node_modules
    

    该目录结构只是作为你后面的一个参考,你不必着急创建,只需要按照下面的步骤一步一步操作就可以创建出这最终的结构。

    开发环境

    首先,请安装 NodeJS。NodeJS 是一个 JS 执行环境,umi 基于 JS 编写,并且需要在你的开发机上运行,所以依赖于它。

    安装完成后,执行下面的命令确认是否安装成功。

    node -v
    npm -v
    

    在 umi 中我们采用了一些 NodeJS 的新特性,请确保你的 NodeJS 版本大于等于 8.5.0

    在国内,你可以安装 cnpm 获得更快速、更安全的包管理体验。使用如下命令安装:

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    

    然后你可以通过如下的命令确认是否成功:

    cnpm -v
    

    通过 cnpm 你可以很方便的安装和管理一些第三方的包。比如 umi 就将通过它来安装到你的项目。

    安装 umi 依赖

    首先,新建一个空的文件夹,用来存放本课程后续所有的代码。

    mkdir antd-course
    cd antd-course
    

    然后,调用 cnpm init 来初始化 package.json,它是 NodeJS 约定的用来存放项目的信息和配置等信息的文件。

    cnpm init -y
    

    上面命令中,参数 -y 表示对 npm 要求提供的信息,都自动按下回车键,表示接受默认值。

    接着,安装 umi 的依赖。

    cnpm install umi --save-dev
    

    安装完成之后你会发现 package.json 中多出了一项 devDependencies 的配置。这是由于在上面命令中,参数 --save 可以让依赖信息保存到 package.json 中,这样其它开发者下载代码后就只需要执行 cnpm install 后就会自动安装项目依赖的包。

    另外项目中还多出了一个 node_modules 的文件夹,它包含了大量的内容。里面存放的是项目依赖的包,umi 的代码也是被下载并安装到其中的。如果你想要了解更多,可以参考 npm 的文档

    第一个页面(这部分有问题)

    解决:  其实说白了就是  在程序中手动创建config文件  再创建config.js文件,(这个文件的位置就优点不知所云)

    该教材 应该是手动搭建的 (所以更能理解该框架是怎么回事)

     

    接下来,让我们创建我们的第一个页面。在创建第一个页面之前,我们需要先初始化 umi 的配置。

    在 umi 中,大量的使用了配置和约定来帮助你快速开发代码。首先,我们先来创建配置文件。配置文件被约定为 config/config.js。为了让后面的开发更加高效,我们推荐你下载一款适合你的编辑器或者 IDE 来创建和编写代码。本课程中我们推荐你使用 VS Code

    在 umi 中,你也可以简单的使用 .umirc.js 来作为配置文件。当然它和 config/config.js 是二选一的。更多说明可以参考 umi 的文档

    config/config.js 中初始化的内容如下:

    export default {};
    

    一开始它只是 export 了一个默认的空的对象 {},并没有什么作用,但是在后面我们会用到。

    我们所说的页面是指由一个独立路由对应的 UI 界面,关于路由你后续可以在《路由配置》中了解更多。在这一章节中你只需要知道对于这个例子,就是指我们期望通过浏览器访问 /helloworld 的时候可以得到一个显示 hello world 的页面。

    首先我们新建一个 src 目录,它用来存放项目的除了配置以及单测以外的主要代码。

    在 umi 中,约定的存放页面代码的文件夹是 pages,是复数,不过如果你喜欢单数的话你配置项中你可以添加 singular 为 true 来让 page 变为约定的文件夹。在本课程中我们使用单数来作为约定目录。所以你需要修改配置文件为:

    export default {
      singular: true,
    }
    

    接下来让我们创建第一个页面组件,新建 src/page/HelloWorld.js 文件,代码如下:

    export default () => {
      return <div>hello world</div>;
    }
    

    这样第一个页面就创建完成了,代码的具体含义我们会在后面的章节介绍。接下来你就可以通过 umi 来启动你的代码了。首先你需要在 package.json 中的 scripts 里面添加两个命令:

    {
      "scripts": {
    +   "dev": "umi dev",
    +   "build": "umi build"
      }
    }
    

    scripts 中定义的命令,可以在项目根目录中通过 cnpm run [scriptname] 来运行。接下来请执行:

    cnpm run dev
    

    修改 package.json 的时候要注意它是一个标准的 JSON 格式的文件,如果失败请检查是不是逗号或者引号的问题。如果顺利,项目将会运行起来。你将会在命令行中看到如下的日志:

     

    复制日志中的地址,比如 http://localhost:8000/(这里的端口可能会因为被占用或者其他原因而不同,请参考你的机器中实际打印出来的地址)。并在后面加上 helloworld 的路径后(比如 http://localhost:8000/helloworld)在浏览器中打开,然后你将会看到:

     

    在 umi 中,你可以使用约定式的路由,在 page 下面的 JS 文件都会按照文件名映射到一个路由,比如上面这个例子,访问 /helloworld 会对应到 HelloWorld.js

    除了约定式的路由,你也可以使用配置式的路由。至于使用哪种路由取决于你的喜好,这不是本课程的重点。在本课程中为了让开发者更好的理解路由组件嵌套,我们会使用配置式的路由。

    要使用配置式的路由,你需要在配置文件 config/config.js 中添加如下配置:

    export default {
      routes: [{
        path: '/',
        component: './HelloWorld',
      }],
    }
    

    其中 component 是一个字符串,它是相对于 page 目录的相对路径。在上面的配置中我们将路由的路径配置成为了 /,这样你访问 http://localhost:8000/ 首页就能看到 hello world 了。

    当有了 routes 的配置之后 umi 就不会再执行约定式对应的路由逻辑了,而是直接使用你通过配置声明的路由。关于路由的更多信息你可以参考《路由配置》这一章节的说明。

    添加 umi-plugin-react 插件

    umi 是一个可插拔的企业级 react 应用框架,它的很多功能都是通过插件实现。尤其是 umi 官方的 umi-plugin-react 这个插件集成了常用的一些进阶的功能,为了后面的课程需要,我们需要添加该插件集到项目中。

    首先通过 cnpm install umi-plugin-react --save-dev 来安装该插件集。然后在配置文件 config/config.js 中引入该插件:

    export default {
      plugins: [
        ['umi-plugin-react', {
          // 这里暂时还没有添加配置,该插件还不会有作用,我们会在后面的课程按照需求打开相应的配置
        }],
      ],
      routes: [{
        path: '/',
        component: './HelloWorld',
      }],
    }
    

    到这里是需要在网上找下  git包

    这个主要是用来管理代码的  (要下载对应版本)

    传送门 :https://gitforwindows.org/

    这是个安装教程:

    传送:https://www.jianshu.com/p/414ccd423efc

    https://blog.csdn.net/renfufei/article/details/41647875

    知乎上的这个也不错:

    https://www.zhihu.com/question/19739424/answer/257433791

     

    这个东西是用来在gitHub里面更新代码用的

    我也是头一次用

    这有个教程     关于如何使用这个包的(不想要在gitHub传代码的可以跳过该部分)

    https://www.youtube.com/watch?v=QqwCgEovim0

    .gitignore

    cnpm 安装的依赖会被默认安装到项目的 node_modules 目录下。这个目录通常是不需要提交到代码仓库中的。如果你使用的是 git 来作为代码的管理工具,那么你可以添加 .gitignore 文件到项目根目录中,避免将不必要的代码提交到 git 仓库中。

    .gitignore 如下:

    node_modules
    dist
    .umi
    

    其中 .umi 是 umi 在开发过程中产生的临时入口文件,便于开发调试,同样也不需要提交到代码仓库中。dist 是构建出来的产物,通常也不需要提交。

    我们建议你可以在本地通过 git 管理起你的代码,方便在后面的课程中更好的操作你的代码。

    git init
    git add -A
    git commit -m 'init'
    

    构建和部署

    你可以通过 cnpm run build 来构建出最终的产物,执行该命令后会生成最终的 HTML、CSS 和 JS 到 dist 目录下。它们是浏览器可以直接识别并运行的代码,这样你就可以将它们部署到你想要的服务器上了。

    原帖:https://www.yuque.com/ant-design/course/wybhm9

    展开全文
  • 本文将通过docker安装SonarQube,并进行相关初始化配置(如中文配置)和安全性配置(禁止游客访问项目和禁止游客提交代码质量评估等) 一 安装 安装之前请注意SonarQube的要求,具体请见:...

    本文将通过docker安装SonarQube,并进行相关初始化配置(如中文配置)和安全性配置(禁止游客访问项目和禁止游客提交代码质量评估等)

    一 安装

    安装之前请注意SonarQube的要求,具体请见:https://docs.sonarqube.org/display/SONAR/Requirements
    个人或小团队使用时硬件要求内存至少在2GB以上并预留1GB供系统使用

    SonarQube默认使用端口为9092的内存数据库,实际生产开发中建议配置数据库(如MySQL,Oracle,SQL Server等),但需注意其版本兼容性和字符集配置等

    如果要将其作为服务器(跟随Windows/Linux主机启动,使用Apache/Nginx反向代理,配置集群等),请参考:https://docs.sonarqube.org/display/SONAR/Installing+the+Server

    0 文件结构

    到官网( https://www.sonarqube.org/downloads/ )下载最新版本zip包 (截至2018.10月最新版为 7.3 ),可见文件结构如下
    文件结构
    各个目录作用如下:

    • bin
      该目录存放了各个系统的 SonarQube 的启动脚本,目前支持的系统有 Linux(32位/64位),Mac(32位),Windows(32/64位),这些脚本都使用了 Java Service Wrapper (jsw:可用于将Java后台程序包装成一个后台服务运行。除此以外,JSW还可以在你的Java程序挂掉以后,自动帮你把服务再次拉起,相当于提供了一个守护进程的功能。)技术
    • conf :该目录用于存放配置文件(主要是 sonar.properties ),最常用的是数据库连接配置
    • data : 该目录用于存放数据,如 H2内存数据库数据,已部署的插件jar包,ES5数据等
    • elasticsearch : 该目录用于存放 elasticsearch 相关服务,包括不同系统的脚本
    • extensions : 该目录用于存放下载文件、jdbc驱动、已下载的插件等
    • lib : 该目录用于存放依赖库
    • logs : 存放各类日志信息
    • temp : 存放临时文件
    • web : 用来提供 SonarQube 网页服务

    1 常规安装

    到官网( https://www.sonarqube.org/downloads/ )下载最新版本zip包 (截至2018.10月最新版为 7.3 ),解压即可
    假设解压目录为:“C:\sonarqube”(Windows)或“/etc/sonarqube”(其他),则对应的启动指令为:

    • Windows:C:\sonarqube\bin\windows-x86-xx\StartSonar.bat
    • 其他:/etc/sonarqube/bin/[OS]/sonar.sh console

    2 docker安装

    进入dockerhub项目主页:https://hub.docker.com/_/sonarqube ,最新版本是 7.1
    使用如下指令启动(也可开放9092端口使得H2数据库开放)

    docker run -d --name sonarqube -p 9000:9000 sonarqube
    

    也可以通过环境变量配置数据库连接

    二 初始化配置

    1 登录

    输入 IP:9000 即可访问主页,如下
    主页
    可以看到这个时候虽然没有登录,但sonarqube并没有拒绝访问,换句话说,如果这个时候有项目在分析的有,游客是可以访问到的,这个后面会进行配置
    现在先要用 admin/admin 登录,刚进入的时候会提示创建一个 token,这个可以先不管,点击右上角的 Skip this tutorial跳过

    2 修改语言为中文

    如下,选择中文包插件进行安装,安装完成后安装上方提示点击重启即可生效
    安装中文包

    三 安全性配置

    0 修改默认密码

    如下,注意令牌也是在这里生成的
    修改密码

    1 禁止游客访问

    如下,强制要求用户认证,禁止未登录用户访问 SonarQube
    禁止游客访问

    2 禁止游客提交代码质量评估

    注意,要点一下执行分析和置备项目(可以在第一次分析项目之前初始化项目结构)下的小勾,将其取消掉
    禁止任意提交代码
    再刷新一下当前页就会发现 Anyone 的配置项消失了

    3 新建授权用户

    新建用户如下,注意登录时使用的是 lin 而非 LinShen ,注意新用户默认是分配到 sonar-users 组下的
    新建用户

    4 分配新用户权限

    需要到 配置-权限-全局权限下配置 新用户,一开始没有显示新用户就在搜索栏输入用户名搜索
    然后分配其 执行分析 和 备置项目 的权限
    配置新用户权限
    如此,即可注销,使用新用户登录了
    如下,可以看到少了配置栏,而且,如果涉及到超越权限的操作,SonarQube还会提醒用户以更高权限用户登录访问
    lin登录

    四 其他

    参考资料

    SonarQube官网:https://www.sonarqube.org/
    SonarQube 官方文档:https://docs.sonarqube.org/display/SONAR/Documentation
    DockerHub 地址:https://hub.docker.com/_/sonarqube/

    相关文章

    SonarQube学习系列1:安装和初始化、安全配置:https://blog.csdn.net/alinyua/article/details/83244983
    SonarQube学习系列2:Maven+SonarQube 最佳实践:https://blog.csdn.net/alinyua/article/details/83267934

    展开全文
  • Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...
  • 这是作者网络安全自学教程...这篇文章将详细总结恶意代码检测技术,包括恶意代码检测的对象和策略、特征值检测技术、校验和检测技术、启发式扫描技术、虚拟机检测技术和主动防御技术。基础性文章,希望对您有所帮助~
  • 在本章节中,你将学习FortiManager的基础知识。这包括FortiManager如何适应你现有的网络架构。  FortiManager为各种Fortinet安全设备(如FortiGate、FortiWiFi、FortiCarrier和FortiSwitch设备... 初始配置  我们...
  • 云编排式物联APP开发平台可通过云端可视编排开发,边端远程自动部署,云边协同管理运维的方式,实现物联网APP快速开发,海量边端应用管理。
  • 如何高效看懂别人代码

    万次阅读 多人点赞 2019-07-13 13:24:49
    我们在写程式时,有不少时间都是在看别人的代码。 例如看小组的代码,看小组整合的守则,若一开始没规划怎么看, 就会“噜看噜苦(台语) ” 不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限的时间...
  • void setup() { // put your setup code here, to run once: ​ } ​ void loop() { // put your main code here, to run repeatedly: ​ } 复制代码 setup 是在设备初始化运行的代码,可以初始化一些环境变量,...
  • 如何看懂源代码--(分析源代码方法)

    千次阅读 2021-09-01 15:53:04
    我们在写程序时,有不少时间都是在看别人的代码。例如看小组的代码,看小组整合的守则,若一开始没规划怎么看,就会“看得想哭 ”不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限的时间下,不免会...
  • OC的字典 SpacesInContainerLiterals: false # 在构造函数初始化时按逗号断行,并以冒号对齐 BreakConstructorInitializersBeforeComma: true # 函数参数换行 AllowAllParametersOfDeclarationOnNextLine: true #在...
  • Java开发技术大全(500个源代码).

    热门讨论 2012-12-02 19:55:48
    errorInit.java 演示变量初始化错误的程序 integerExample.java 演示各种整型变量的使用 isPrime.java 判断素数 leapYearByIf.java 用if语句判断闰年 leapYearByLogical.java 用逻辑表达式判断闰年 lowToUpper...
  • Android的编译环境作为深入学习Android的基础,不可或缺,能够完整下载Android源代码并编译成功,对深入学习Android是非常关键和重要的一步。
  • PyQt5——初始设置

    千次阅读 2019-08-27 15:56:00
    PyQt5 初始设置 GUI是 Graphical User Interface的意思。PyQt是一个用于创建GUI应用程序的跨平台的工具包,将Python和Qt库成功融合在一起。官网 PyQt特点 具有高性能的Qt的GUI控件集 能够跨平台运行在Windows、...
  • 代码平台至少包含表单建模、流程设计、报表可视代码生成器、系统管理、前端UI等组件,我们没必要重新造轮子,市场上已经有大量的成熟组件,选择合适的组件进行集成和二次开发,即可自主开发一个低代码平台。...
  • 快速梳理23种常用的设计模式

    千次阅读 多人点赞 2018-11-17 22:54:34
    本文旨在快速梳理常用的设计模式,了解每个模式主要针对的是哪些情况以及其基础特征,每个模式前都有列举出一个或多个可以深入阅读的参考网页,以供读者详细了解其实现。 快速回忆 一、创建型 单例(Singleton...
  • 基础篇:Linux 常用命令总结

    万次阅读 多人点赞 2021-08-29 19:25:39
    1️⃣ rpm 命令 – RPM软件包管理器 2️⃣ find 命令 – 查找和搜索文件 3️⃣ startx 命令 – 初始化X-windows 4️⃣ uname 命令 – 显示系统信息 5️⃣ vmstat 命令 – 显示虚拟内存状态 磁盘管理 1️⃣ df 命令 ...
  • gitee上传代码--详细操作步骤

    千次阅读 2021-12-12 23:10:22
    2. 绑定邮箱 3. 新建仓库 ...配置git全局环境 git config --global user.name “用户名” git config --global user.email “邮箱地址” 修改commit默认打开的文本编辑工具 git config --globa
  • pycharm爬取网页数据

    千次阅读 2021-06-12 14:34:02
    1 python环境的配置1.1 安装python文件包,放到可以找到的位置1.2 右键计算机->属性->高级环境设置->系统变量->Path->编辑->复制python路径位置1.3 管理员身份打开cmd,输入python,测试环境是否...
  • VSCode和VUE环境初始安装配置

    千次阅读 2019-05-16 17:30:05
    文章目录vscode和vue初始安装vue-cli初始化一个vue项目常见问题整理vue init卡住,缓慢问题vscode字体放大vscode 如何快速定位到某文件、全局搜索、修改快捷键vue init webpack 与vue create 创建项目有什么区别vue-...
  • 网页恶意代码检测

    万次阅读 2011-12-15 10:28:42
    网页恶意代码逐渐成为危害面最广泛、传播效果最佳的恶意代码形式之一,对信息安全构成了严重的威胁。 网页恶意代码的检测方式包括:传统方法有人工检测、基于特征码的检测、启发式检测、基于行为的检测等,这些方法...
  • 编写可读性代码的艺术

    千次阅读 2016-07-16 10:30:42
    原文地址: ... PDF文件下载地址: ... 译者序 在做IT的公司里,尤其是软件开发部门,一般不会要求工程师衣着正式。在我工作过的一些环境相对宽松的公司里,很多程序员的衣着连得
  • Python 网络爬虫及数据可视

    千次阅读 多人点赞 2021-01-11 18:47:13
    1.3 数据可视 2 1.4 Python环境介绍 2 1.4.1 简介 2 1.4.2 特点 3 1.5 扩展库介绍 3 1.5.1 安装模块 3 1.5.2 主要模块介绍 3 ① pandas模块 3 ② requests模块 4 ③ bs4模块 4 ④ selenium模块 4 ⑤ matplotlib...
  • python代码示例-Python代码样例列表

    千次阅读 2020-10-28 20:45:24
    ├─algorithm│ Python用户推荐系统曼哈顿算法实现.py│ NFA引擎,Python正则测试工具应用示例.py│ Python datetime计时程序的实现方法.py│ python du熊学斐波那契实现.py│ python lambda实现求素数的简短代码.py...
  • 牛逼!Java 从入门到精通,超全汇总版

    万次阅读 多人点赞 2021-05-06 19:40:33
    设计目标 从 Paxos 到 Zookeeper ZooKeeper : 分布式过程协同技术详解 Nginx Nginx 基础知识 Nginx 正向代理与反向代理 Nginx 基本配置 Nginx 负载均衡 Nginx常用命令 深入理解 Nginx Netty Netty 实战 ES Elastic...
  • 需求:现在有一个网站的页面,我希望用python自动的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面。要完成这个需求就必须实现3点:1. 找到原始页面上面...
  • 1. 理解PHP反序列漏洞的触发原理; 2. 了解PHP相关的魔术方法及调用情况。
  • Java 十大常用框架

    千次阅读 2019-07-16 07:50:14
    十大常用框架: 一、SpringMVC 二、Spring 三、Mybatis 四、Dubbo 五、Maven 六、RabbitMQ 七、Log4j 八、Ehcache 九、Redis 十、Shiro 延展阅读: 一、SpringMVC Spring Web MVC是一种基于Java的实现...
  • 疯狂ios讲义源代码

    千次下载 热门讨论 2014-01-02 09:12:50
    5.6.2 初始化方法与对象初始化 183 5.6.3 便利的初始化方法 185 5.7 类的继承 187 5.7.1 继承的特点 187 5.7.2 重写父类的方法 189 5.7.3 super关键字 190 5.8 多态 193 5.8.1 多态性 193 5.8.2 指针变量的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,795
精华内容 17,118
热门标签
关键字:

常用网页环境初始化代码