在公司做的项目和自己在学校做的有什么区别?

RDD2022 数据格式转换与清洗 Rdd2022数据集,是关于道路损伤的数据集,与rdd2020相比增加了两万多张图片但是由于格式不能被yolo直接使用且其中有大量的图片没有符合要求的标注,特写此文章记录数据清洗与格式化的过程。 阅读详情

前言

只有光头才能变强。

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y

不知道大家还是学生的时候有没有这个问题:公司做的项目和自己在学校练手的项目有多大的区别。我以前在学校跟着视频做一些项目练手,总感觉公司做的东西会要难很多,不知道跟公司的真实项目区别在哪。

总的来说,我实习的总时间也快半年了,谈谈我觉得公司项目和自己练手的项目有啥区别,欢迎补充。

一、区别

在视频练的项目大多数都是由讲师在本地编码来讲解整一个项目的开发过程,而我们去到公司做的第一件事是啥?把项目clone(checkout)到本地来看。

这就有两个区别:

  • 去到公司往往不是从零开发一个项目,项目的框架和代码都已经写好了。我们更多要做的就是迭代这个项目(或者说修复这个项目原本就有的Bug)
  • 一个项目往往都会有几个人进行开发,这就肯定要用到版本管理工具(SVN/Git)。所以,去公司做项目之前最好是提前去学学Git/SVN这些工具的使用

比如说,我们使用Git的时候,要修改代码的时候会新建一个分支,改完了再合并到master分支上。

好了,现在项目已经在本地上了,那我们要将项目在本地上启动起来吗?这得问同事。在公司做项目,一般都分了好几个环境

  • 线上(现在正在给用户用的)
  • 测试(写完功能,先看一下在测试环境下有没有问题,没问题才发布到线上环境)
  • …等等(可能名字叫起来不一样,但不可能在本地上写完的代码直接就放到线上去跑了)

有的时候,可能环境过于复杂(各种系统相互依赖),clone(checkout)下来的项目就很难在本地上启动起来,或者说在本地上的数据跟线上的数据差距太大了(比较难看出效果)。所以,有的时候可能就不用在本地将项目启动起来。

那问题来了,我写完的代码怎么调试啊?我们可以这样干的:将本地写好的代码push到测试环境,然后本地远程连接测试环境,对其进行调试。

远程Debug

还有,我们自己做项目的时候,try-catch完了之后,习惯可能就e.printStackTrace();

万能的e.printxxxx

但公司的项目不会有e.printStackTrace();这种代码的存在。因为这打印出来的错误信息没有日期、等级等等,分析起来不方便。

分析起来不方便

在公司一般将错误的信息(或者有用的信息)写到log(日志)中。

  • 比如说:LOG.error("send java3y article failed, {}", e);

于是,一般出现了问题,我们先去登上机器,查一下日志的信息是怎么样的。而登上线上的机器上,也不是直连的,会经过一层堡垒机。堡垒机是做啥的?

来源:https://www.zhihu.com/question/21036511

每次登录线上的机器都要ssh xxxxip 到堡垒机上,然后再到堡垒机上输入线上机器IP连接,着实麻烦。于是大佬们就会写自动登录堡垒机,直接输入IP到线上的脚本

于是乎,我们就登录到堡垒机上,然后再连上线上机器就去查看日志了。查看日志怎么看?

还有一点就是,在公司开发都要申请权限才能对数据库/机器/各种资源进行操作。而不像我们个人开发各种root权限,数据库各种DDL/DML随便玩。

DML/DDL数据库操作都要申请权限,发布代码到线上也要申请权限,想要去线上的机器上查看日志也要权限…

最后

总结:

  1. 版本控制工具
  2. 远程连接Debug调试
  3. 不再使用e.printStackTrace();,而是log.error()来替代
  4. 各种权限都需要申请和审批

乐于输出干货的Java技术公众号:Java3y。公众号内有200多篇原创技术文章、海量视频资源、精美脑图,关注即可获取!

转发到朋友圈是对我最大的支持!

觉得我的文章写得不错,点赞!

从爆仓到流畅发货:我们如何用EIQ分析给跨境小电商仓库做了一次‘体检’与‘手术’ 本文分享了如何通过EIQ分析工具为跨境小电商仓库进行诊断与优化,从爆仓危机到流畅发货的实战经验。通过ABC分类法、动态路径算法等策略,拣货效率提升40%,错发率降低91%,日均处理能力翻倍。文章为小电商提供了轻量级工具选择和关键指标监控的实用建议。 阅读详情

相关推荐

遥感图像处理实战:DOTA数据集旋转框转YOLO格式全流程解析(附代码)

本文详细解析了将DOTA遥感数据集的旋转框标注转换为YOLO格式的全流程。针对遥感图像中物体朝向任意性的特点,文章重点阐述了将旋转框转换为外接水平框的数学原理与代码实现,并提供了批量转换脚本和可视化验证方法,帮助开发者高效处理数据,为基于YOLO的遥感目标检测项目奠定基础。

weixin_29082143的博客 398

企业级开发项目和自学项目到底有什么区别

好久不见了各位!最近几个月都未更新,是因为从春招开始就在投简历面试实习岗位,然后入职,最后成功为了一个半成品后端练习生,想说的话有太多太多下面我就站在一个在校实习生的身份,结合自己最近几个月来在企业开发环境中写代码的经历,与即将上岗,或者还在期待上岗的小伙伴们来分享分享——企业级项目与网络自学项目究竟有什么区别SpringBoot+Dubbo+Flink+Kalfk+MyBatisPlus+Mysql+Redis+Seata+MongoDB+ES+React+区块链+人工智能。

懒羊羊的博客 2244

STM32使用内部RC振荡器作为系统时钟开发项目--内晶振启动模板工程

STM32使用内部RC振荡器时,OSC32_IN,OSC32_OUT接法: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法:    2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。    2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出

overflyme的博客 1万+

开发环境和生成环境的区别

开发环境:打成war包,去除springboot内置tomcat 生成环境:请求后端接口的路径不一样

ainilzb的博客 601

体系结构学习-6-超标量处理器

 MIPS32-5段流水线采用了指令级并行方式(5个流水段同时运行5条指令)提升系统吞吐率,是一种标量处理器(CPI≥1CPI \ge 1CPI≥1),但是一个周期一条指令以及无法满足现代计算机需求了。 超标量处理器(Superscalar) 1、基本思想:增强指令集并行,让每个周期执行更多指令,实现 CPI<1CPI<1CPI<1 。(IPC=1/CPIIPC = 1...

qq_40891899的博客 1213

气象水文资料预处理:缺测数据插补延长等

简介气象水文资料预处理

WW、forever的博客 3772

和catch的区别_在公司做的项目和自己在学校做的有什么区别?

本文经授权转载自微信公众号:Java3y前言不知道大家还是学生的时候有没有这个问题:公司做的项目和自己在学校练手的项目有多大的区别。我以前在学校跟着视频做一些项目练手,总感觉公司做的东西会要难很多,不知道跟公司的真实项目区别在哪。总的来说,我实习的总时间也快半年了,谈谈我觉得公司项目和自己练手的项目有啥区别,欢迎补充。区别在视频练的项目大多数都是由讲师在本地编码来讲解整一个项目的开发过程...

weixin_33418394的博客 89

NXP(恩智浦)—TJA1043TK CAN收发器芯片详解

本文章主要讲解NXP(恩智浦)—TJA1043TK CAN收发器的相关知识。

零零刷的博客 2201

控制台应用和空项目有什么区别_在公司做的项目和自己在学校做的有什么区别?...

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y不知道大家还是学生的时候有没有这个问题:公司做的项目和自己在学校练手的项目有多大的区别。我以前在学校跟着视频做一些项目练手,总感觉公司做的东西会要难很多,不知道跟公司的真实项目区别在哪。总的来说,我实习的总时间也快半年了,谈谈我觉得公司项目和自己练...

weixin_39674414的博客 2474

静态时序分析(STA)—— 标准单元库

目录 1、时序库 概览 2、时序模型 1、基本概念 2、影响因素 3、线性延时模型 4、非线性延时模型 5、单元时序弧 1、组合逻辑单元 2、时序逻辑单元 6、线负载模型 参考说明 上一篇,学习了 STA相关的基本概念,本篇继续学习 STA相关的 标准单元库。 1、时序库 概览 库文件概览: 2、时序模型 1、基本概念 2、影响因素 对于组合逻辑的时序弧而言,其延时的大小取决于: 1、输出负载,即,输出端的电容负载的大小。容性负载越大,...

记录所学,分享知识,结识挚友 2853

Android 14.0 系统开机屏幕设置默认横屏显示

在14.0的系统ROM产品定制化开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从 两部分来实现,一部分是系统开机动画横屏显示,另一部分是系统屏幕显示横屏显示,从这两方面就可以做到开机默认横屏显示了

安卓兼职framework和app工程师的博客 2151

学校里的项目与实际发开中的项目思考

        今天在公司讨论《进销存系统》的模块,以前在学校自己也做过。结果我们6个人加上我们的技术总监讨论了一天。 我得出来的结论是:在学校当中我的做得业务逻辑太简单了,完全是按照自己的想法去做了,即所有的业务逻辑都是自己想出来的,可在公司当中就是完全按照实际公司的业务逻辑来的,故业务很差复杂。我也感觉这样做起来才叫软件才叫管理系统,以前自己做的无非就是增,删,改,查。业务逻辑无非也是围绕这...

我的IT技术杂谈 169

GTK4 入门到实战

本文介绍GTK4作为主流Linux GUI工具包的发展历程与核心特性,涵盖其从GIMP项目诞生的自由软件理念、版本演进及跨平台支持。重点解析GTK4的架构(GDK/GSK/GLib等)、GObject对象系统、信号-回调机制与事件驱动模型,并以C语言为例,结合开发环境搭建与官方示例(gtk4-demo)指导实践,最终通过图片查看器与多标签编辑器项目实现完整应用开发。

OneSea 1396

普通学校,我是该打ACM还是做项目?

大家好,我是帅地。 之前星球有一位大一的小伙伴问帅地,因为学校一般,他是应该继续刷算法,打 ACM,还是把时间花在做项目上好呢? 他发的字有点长,我就不截图太多,只截图我的概括 打 ACM 的话,大一大二就会少很多时间学习其他知识,但有机会拿到 ACM 奖牌,可以给简历加分;不打 ACM 的话,就有大把的时间学习计算机基础,刷 leetcode,做项目,然后早点去实习,但又觉得学历一般,怕过不了大厂简历面。 所以,对于普通学历的人来说,ACM 打还是不打? 不知道大家有没有这个疑惑?反正我当时是没有,因为

帅地 7062

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

大公司和小公司面试的区别你知道吗

大公司和小公司面试的区别你知道吗 下面两个面试流程只是我亲身经历的,仅供参考方便大家面试准备 面试是以工程面试为模板,算法前端有所区别 普通公司技术面试 1、投简历 开发岗位一般公司以大专/本科为主,本科一般为普通本科。 985/211 研究生一般会选择一类或者二类的大厂进行工作 简历筛选条件一般为 :工作经验>学历>框架>之前公司的项目>擅长的技术栈 2、电...

程序员XW 2110

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

工作和在学校最大的区别是什么?

很多人在学校的时候过得很舒服,但是一旦进入工作状态,或者说职场状态的时候,就会表现的不是那么好。或者紧张、或者迷茫,学校和职场是两种不同的环境,需要我们调整下,一下是朱老师的文章,希望对大...

嵌入式Linux 1095

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 硬核干货长文!Hbase来了解一下不?
下一篇: 记一次愚蠢的操作--String不可变性
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值