入职前做的事

第一部分

  1. hr带你到工位,认识同事
  2. 部门主管来和你打招呼,同时让你熟悉东西 / 告诉你先熟悉什么(1周时间)
  3. 公司给你发:
    • 电脑:笔记本(mac 居多,我们选mac) / 台式机
    • 企业邮箱:给一个账号以及初始密码(需要修改初始密码)
    • 钉钉:账号和密码
    • Vpn:账号和密码,因为回家办公需要连接企业内网
    • Gitlab:账号和密码
    • 码云 / github 企业版
    • 神道 / jira:项目管理,项目开发进度追踪管理 (工作任务没有完成,会影响绩效)

第二部分

2.1 下载代码

如果git clone 时遇到git中fatal: Authentication failed的问题,需要删除凭证管理器

解决方式:

  • 删除系统中已经存在的凭证:
1
2
3
windows电脑:凭据管理,找到账户进行删除

Mac电脑:打开钥匙串 -> 删除 [参考](https://www.cnblogs.com/Mr-Rshare/p/10734260.html)
  • 在url中写入账户名和密码

    git clone https://用户名:密码@github.com/......

  • ssh 方式

1
2
3
在自己本地生成一对公钥和私钥,然后将公钥拷贝到github或者码云上

之后拷贝项目便可以采用ssh的方式, 在项目仓库那里克隆的时候 有一个ssh选项

git clone git@gitee.com:wupeiqi/s22pro.git

2.2 创建虚拟环境

建议项目拷贝之后,为项目创建虚拟环境,在虚拟环境中跑代码

  • 在自己电脑上安装virtualenv

    pip3 install virtualenv

  • 创建虚拟环境

    1
    2
    进入到自己想要创建环境的目录
    virtualenv 环境名
  • 进入虚拟环境

    1
    win: 进入	到虚拟环境目录下的Scripts目录,执行activate
  • 退出虚拟环境

    win: deactivate

  • 安装软件

    1
    pip install ...

另外一种创建虚拟环境(pycharm自带创建虚拟环境)的方式:image-20200609110522242

2.3 初始化环境

已经有了公司的项目代码以及我们自己搭建的虚拟环境,但是并没有安装项目依赖

1
pip3 install -r requirements.txt

如果遇到有些包电脑装不上,一般情况下是系统导致的:例如有些包在Linux下才能使用

  • 因为我们以后的程序运行在linux上,自己可以搭建一个虚拟机
  • 如果是win,自己则百度解决

2.4 数据库设置

数据非常重要,所以一般在开发的时候,不会让我们连接正式的数据库

  • 正式库

    1
    2
    3
    4
    host: 1.1.1.1
    port: xxx
    user: 222
    pwd: 2
  • 测试库

    1
    2
    3
    4
    host: 1.1.1.1
    port: xxx
    user: 222
    pwd: 2

我们在环境以及依赖搭建完成之后,运行代码前需要修改一点进行数据库连接的配置

如果老板没有明确说是正式库还是测试库,最好还是明确一下,以免删掉数据造成不必要的麻烦

2.5 看代码

​ 如何看代码:看代码的时候不要企图全部看完。有时我们只需要看完一个文件就可以做了。因为老板希望功能尽快做出来,所以我们只要做出就可以了。

  • 找程序入口

    • url

    • __main__

      1
      2
      if '__name__' == '__main__':
      pass
  • 最开始看的时候看注释 + 变量名 + 函数名,大概了解是干嘛的,

  • 调用关系 + 返回值

  • 至少看10个请求

不要一头扎入代码(知道干嘛即可,而不是一头扎进去好好研究)

总的来说就是知道执行流程和调用关系即可。

公司一般会给一周或者一个月(说明公司重视代码质量)的时间看代码

2.6 运行程序

在公司的项目中,如果要运行程序,一定要找到谁是主文件,去运行它

  • 找主文件,一般会放在下列文件中

    1
    2
    3
    根目录:app.py / manage.py / start.py
    scripts文件夹:app.py / manage.py / start.py
    bin文件夹:app.py / manage.py / start.py
  • 运行起来:

    1
    2
    python 主文件名
    python 主文件名 参数

公司中问老板切忌只问业务相关的问题,技术问题自己google解决

如果运行不起来,就不要搞了,别浪费时间,要适可而止,实在运行不起来就去看代码。

建议:先看代码,最后再运行

第三部分

看了一段时间后,老板会给你安排一些新任务

开会聊需求和功能

老板会和你要一个项目排期,注意:排期排到这里不意味着你这个时间点提交就可以了,而是你把项目开发完,一定要在这个时间之前把项目开发好。

项目开发分几种情况:一个人开发和协同开发完全不一样

  1. 自己个人开发
  2. 和其他人协同开发

3.1 一个人开发

  • 从公司把最新的代码拉下来

    1
    git pull master

master分支保存写完的代码,如果正在开发需要使用dev分支

  • 至少有两个分支 master / dev
1
2
3
4
5
6
7
如何创建分支:
git branch 分支名
查看所有分支:
git branch
切换分支:
git checkout 分支名

  • 在公司当日开发了一部分,电脑在公司,回到家用另一台电脑继续开发,那么我们需要在公司提交到远程

    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
    27
    28
    # 公司开发
    git status
    git add .
    git commit -m '开发直播间的功能开发到一半'
    git push origin dev


    # 回家之后
    git pull origin dev
    在家进行开发
    git add .
    git commit -m '在家开发完所有功能'
    git push origin dev

    # 第二天到公司
    git pull origin dev
    公司开发完
    git add .
    git commit -m '开发完'
    git push origin dev

    # 开发完毕
    git checkout master
    合并dev的功能到master
    git merge dev # 将dev分支拉到我们所在的分支,当前我们在master分支
    接下来上线,运维会从master分支下代码而不是其他分支
    # 上线
    运维会去git中拉代码并作部署处理

有的公司对git commit 后面的提交说明有很严格的格式要求,有固定格式

3.2 一个人开发可能会遇到的问题

合并的时候,可能会产生冲突

手动解决冲突:

image-20200609125914234

还可以依赖工具解决冲突,本质上也是手动的

作业

看视频,主演看奔波于沙河和三里屯

  • git rebase 面试问到过, git rebase干嘛的 变基
  • git log
  • git reflog
  • git reset

就业安排

  1. 知识点复习:四套面试题
  2. 补充知识点讲解
  3. 简历指导
  4. 投简历

今日内容

可以在简历上写上:了解drf研究过jwt(json web token)的内部实现原理

jwt

1
json web token  一般用于用户认证(前后端分离/微信小程序/app开发),说白了就是用户登录

我们在后端写了基于restful规范的接口,用户要登录,发送一个用户名密码给后端,认证成功需要发一个标识(生成一个session弄一个随机字符串存里面),在前后端分离中我们生成随机字符串发送给前端,用户访问需要带着token过来,服务端需要校验token

image-20200620213519348

评论