Dev-faq

目录

前言

突然想把工作中和学习中遇到的开发上的疑难问题记录一下。不仅仅限于代码层面,可以是一些开发技巧,新的思维、研发工具,甚至是一些TODO。

工具集

SSH工具

虽然Mac的终端可以使用SSH命令远程登录服务器,可是每次都需要输入命令挺麻烦的,而且服务器也多不便于管理。推荐一款跨平台的SSH工具Termius

Dash

开发者必备的API文档聚合工具,随查随用,简单快捷,学会先查API,再Google/baidu

conda

conda是一款开源的软件包管理系统和换件管理系统,用户安装多个历史版本及其依赖关系,并且切换,非常便于管理软件环境,例如用于管理python环境。常用命令集:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## 升级
conda update conda
conda update -n base conda //update最新版本的conda
conda list //列举当前小环境内安装的所有软件
conda info -e //列举所有的虚拟环境
source activate envname //激活小环境
conda search packagename //运行命令查找软件包是否存在,http://bioconda.github.io/conda-recipe_index.html
conda deactivate //退出小环境
conda env remove --name envname //删除小环境及里面的内容
conda create -n envname3 python=3 //创建小环境并安装python3
source activate envname3
conda install -y fastqc
## conda安装最新版的TensorFlow
anaconda show anaconda/tensorflow
conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.8.0
conda uninstall xxx //卸载安装包
## conda 清理
conda clean -p //删除没有用的包
conda clean -t //tar打包

技巧

Autowired注解

@Resource 做个简单对比:

  • @Resource属于JAVAEE,@Autowired属于Spring
  • @Autowired按类型装配,可配合@Qualifier按名称装配(目前Spring4泛型注入使用该注解,泛型注入还能根据泛型选择)
  • @Resource默认按名称进行装配,在按类型装配,如果指定了name属性则只按名称装配

由于 @Resource属于JAVAEE,耦合度较低,一般情况下推荐使用

构建springboot+mybatis通用maper、通用service时,使用 @Resource 注解报错如下:

1
No qualifying bean of type 'tk.mybatis.mapper.common.Mapper<?>' available: expected single matching bean but found 2: roleMapper,userMapper

原因在于多个mapper继承了通用mapper, 又使用了泛型,@Resource注解无法装配,采用 @Autowired解决。

查看GitLab版本号

1
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

本文链接: http://kiritor.github.io/2018/11/15/dev-faq/

-- EOF --

如果文章对您有用请随意打赏,谢谢支持!