实习的第一周,从最开始的配环境做好准备工作,到拉项目熟悉项目,然后自己去写需求,每一步都有很大收获,以下是个人这几天的记录与感想。(这个其实是我写的周报,记录的也不太详细,有些也是别人帮助我解决的没有记得很清楚,下周一定好好做笔记呢~)
一、技术环境搭建与配置(前提基础)
环境配置
首要任务是下载并配置VS Code,安装Node.js,以及配置yarn和PNPM作为包管理器。
//1. 安装node
https://nodejs.org/zh-cn/ //官网下载
node -v npm -v //检查版本
npm config set registry https://registry.npm.taobao.org//配置镜像源
//2. pnpm
npm install -g pnpm@版本号
//3. 切换node版本
n //查看已安装的node 版本
ls //查看已安装
上下键选择要使用的node版本
//4. 必备插件
Auto Rename Tag //自动同步修改闭合标签
EsLint //语法纠错
Prettier - Code formatter //格式化代码
File->Preference->Settings输入Auto Save选择afterDelay //自动保存代码
vue3-snippets-for-vscode //clg快速log输出
感想
- 环境搭建是基础工作,熟练掌握git的一些常用操作,利用好google和chatgpt来辅助开发,做好准备工作。
- 但是搭环境的时候node跟pnpm版本不匹配导致项目运行不起来,解决办法让别人帮你。。
二、Git操作练习与项目熟悉(版本控制与协作)
熟悉Git的操作
从GitLab上克隆了公司官网项目,并通过创建本地分支进行了一些小修改的尝试,把代码push到远程,成功远程部署到jenkins。
项目熟悉
通过阅读项目代码,大致理解官网项目的架构和业务逻辑。
* git clone git@xxxx //克隆项目代码到本地
* git checkout -b cgd //创建并切换到新分支cgd
* git pull --rebase //将远程分支的最新提交合并到本地分支
* git add . //将要上传的所有代码存到暂存区
* git commit -m 'xxx' //提交的信息记录
* git push --force-with-lease //强制推送(force push)本地分支到远程仓库
* git rebase cgd //将当前所在分支的提交历史重新定位到cgd所代表的提交或分支的顶部
* git cherry-pick 123234 // git cherry-pick id .将指定提交(通过其哈希值或commit ID标识)应用于当前分支上,而不是合并整个分支.
* git log //可以查看以前的记录 查看ID
* git merge dev //合并
感想
- 工欲善其事必先利其器,先牢固掌握好基础和一些方法,不要贪图新的知识,个人职业规划详细思考。
- 利用好AI辅助未尝不是解决问题的给力工具,真的挺方便。
- 个人的思维方式,遇到问题只是表面解决了,后面要透过现象看本质,通过不断追问“为什么”,剥离表象,直达问题的核心,然后从这个核心出发构建解决方案。
三、官网首页改版(实战)
首页Banner修改
英文和中文的文案均缩短,自动滑动速度再慢一点。(这个就是检查位置在哪,然后改掉a-carousel的autoplaySpeed)
添加功能判定
在“申请试用”按钮上添加一个判断逻辑,需要再写一个弹框组件,判定是个人用户还是企业用户,跳转到不同的地方。
<template>
<AModal
v-model:visible="visible"
@cancel="handleButtonCancel"
>
<div @click="tolink('individual')">
<img src="../../assets/imgs/Home/individual_user_role.png" alt="" />
<span>个人</span>
</div>
<div @click="tolink('company')">
<img src="../../assets/imgs/Home/corporate_user_role.png" alt="" />
<span>企业</span>
</div>
</AModal>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
const visible = ref<boolean>(false);
const { $bus, $lenis } = useNuxtApp();
// 打开与关闭弹窗
const showButton = () => {
// 滚动阻塞
$lenis.stop();
visible.value = true;
};
const handleButtonCancel = () => {
// 滚动启用
$lenis.start();
visible.value = false;
};
const tolink(type)= () => {
if type === 'personal' {
window.open('http://个人.com/');
} else {
window.open('http://企业.com/');
}
handleButtonCancel();
}
onMounted(() => {
// 监听事件
$bus.$on('show:applyButton', () => {
showButton();
});
$bus.$on('close:applyButton', () => {
handleButtonCancel();
});
});
defineExpose({ showButton, handleButtonCancel });
</script>
感想
- 第一次体会到了理论知识与实际开发之间的差异,虽然自己有思路怎么做,但是去写的时候找不到在哪以及写了但是为什么这个功能没有实现,掌握到怎么快速查找和输出大法。
- 有思路不代表会做,自己去写也是有点混乱的,没有彻底理清思路。在遇到问题之前,必须把思路理清,再一步一步来。
- 语法规范,优美的写代码。
写在最后
- 下面这一部分我是不会写在周报里面的哈哈哈,就是个人的一点小感受记录了
- 第一次用mac,真的一点都不懂咋用的,好尴尬啊啊啊,电脑干干净净啥都没有。实习要用mac的小伙伴注意了!提前看一些基本操作!
- 第一天第二天就配环境拉项目看项目,也还好。但是第三天就给了我两个小小的需求,我好心虚~。怕自己写不出来。果不其然,写的很不顺利,第三天就有点小郁闷了。还好带我的哪个哥人特别好一直在教我!提出表扬!第四天顺利写出来了,又开心了。
- 第一周刚开始有一个新人介绍会(只是我们组的,挨个自我介绍就好了,大家都很厉害),老大还请我吃新人欢迎餐好感动,谢谢老大!and周会(要写周报,以及要表扬谁我没来得及写好惭愧要感谢很多人都没写)和月会(刚好赶上月末),我是i人啊啊,月会整个研发的都要过来,最后我要自我介绍还有表演才艺,谁懂啊好尴尬,特别尴尬的表演了一个魔术。。不过最后还吃到了一个哥哥的生日蛋糕(好吃 祝他生日快乐)!
- 最后,在实习期间也会不断学习的,老大还给我搞了学习计划,会更新自己的学习记录~