从实习生到老程序员,聊聊我的五年程序员之路

五年前,我以一个实习生的身份加入了一家创业公司。一开始我以为公司是这样的,但实际上是那样的。当我进入公司时,我们的部门除了部门领导和我,就只有我。于是我就这样开始了我的程序员生涯,开始了我的技术之旅。

公司是做电商网站的,因为我是一个菜鸟,所以我接到的第一个任务就是做一个网页。这时我学会了 HTML 用来布局网页,CSS 用来美化网页,JavaScript 用来做点击跳转和窗口弹出。但某天老大跟我说,真正开发时,需要用一些开发框架和模板来快速开发。于是我又学会了一些框架和模板,比如 jQuery、Bootstrap、layui 等等。

经过加班加点,网页总算开发完成,我高兴地告诉老大我完成了。老大看了我一眼,冷冷地说:浏览器兼容做了没?于是我打开了我的成果,结果出现了一堆问题。

 

接下来,老大给我们分配了新任务,说现在这个网页是静态的,需要改成动态的,于是我又学会了 AJAX,用来进行前端调用后端接口,接着学习了后端的一些技术,比如 Spring、FreeMarker、MyBatis、MySQL、Maven、Tomcat 等等。往后几个月,工作和生活的重心就在这些技术上面了。

突然有一天,公司来了新人,我总算不是孤单一人了。这时,老大跟我说,我们要用一些项目管理工具,于是我又学会了 Git、GitHub、Next、Jenkins,一套自动化开发测试被我搭建起来了。有了这一套项目管理开发工具,我们的小团队合作得非常愉快,不仅我们的网站的核心功能开发得差不多了,就是老大说,为了上线之后能够保障的运行,我们需要给我们的网站配套一套监控和日志系统,这样我们就又学习了 Prometheus、Grafana、Zabbix、Elasticsearch、Kibana、Logstash 等等。

经过一段时间的努力,我们的网站上线了,一段时间后,网站的用户慢慢在增多,我们通过我们的监控系统发现,有几个核心应用的压力在不断的增加。老大说我们要做负载均衡的,于是我了解到了 Antic、LVS、Keepalived 等等。不过仅仅做负载均衡还不够,我们可以把热门商品给他提前缓存起来,所以我又学了 Redis、Jedis,一个高性能的 NoSQL 数据库,对关系数据库起到了很好的补充作用。

有一天,老大说我们要做一个订单状态变更短信通知的功能,要用消息队列来做,于是我又学了 RabbitMQ、Kafka、RocketMQ 等等。最后我们选了阿里的 RocketMQ,并跟老大分析了我的选项的思路,受到了老大的认可,生得我为研发组长。随着业务的发展,某天老大说我们要对我们的项目做一次重构,改成分布式微服务架构,让我学习一下 Dubbo、Spring Cloud、Zookeeper、Netty、XXL-Job、Elastic-Job 等等。

接到热门中的任务,我抓紧自己每一秒来学习这些技术。最后我和老大说我们用 Spring Cloud,它所提供的几个组件太强大了,比如 Netflix Eureka、Spring Cloud Config、Spring Cloud Ribbon、Spring Cloud Feign、Spring Cloud Hystrix、Spring Cloud Zuul 等等。这样我们很长一段时间陆陆续续的将我们的项目重构为了 Spring Cloud,重构完后我们喝了一个,紧接着我们进入了快速发展期。

这期间我了解到了敏捷开发,一种新型的互联网开发模式,非常适合互联网公司的开发流程迭代。敏捷开发过程中的周期概念、看板、敏捷开发过程中重要的效能工具等等这些开发设计理念。

作为一个程序员,在学习网页设计的过程中,需要掌握以下几个方面:

  1. HTML:HTML是网页的基础语言,需要掌握HTML的基本结构、标签、属性等。HTML是构建网页的基础,学习HTML可以帮助你创建网页的基本结构和内容。你需要掌握如何使用HTML标记语言来创建网页元素,如文本、图像、链接、表格等。此外,还需要了解HTML5的新特性,如语义化标签、多媒体元素等。
  2. CSS:CSS是网页的样式表语言,需要掌握CSS的基本语法、选择器、样式属性等。CSS是用来美化网页的,你需要学习如何使用CSS来控制网页的布局、颜色、字体、大小、背景等样式。你需要掌握CSS的盒模型、浮动、定位等布局技巧,以及CSS3的新特性,如动画、渐变、阴影等。
  3. JavaScript:JavaScript是网页的脚本语言,需要掌握JavaScript的基本语法、DOM操作、事件处理等。JavaScript是用来实现网页交互和动态效果的,你需要学习如何使用JavaScript来操作网页元素、响应用户交互、发送数据等。你需要掌握JavaScript的语法、数据类型、函数、对象等基本概念,以及ES6的新特性,如箭头函数、解构赋值等。
  4. 网页设计原则:需要了解网页设计的基本原则,如对齐、对比、重复、节奏、平衡等。网页设计不仅仅是美化网页,更重要的是让用户能够舒适地使用网页。你需要了解如何使用网页设计原则来提高网页的可读性、可用性、美观性等方面,进而提高用户体验。
  5. 响应式设计:需要掌握响应式设计的基本知识,如媒体查询、弹性布局、流式布局等。响应式设计可以让网页在不同设备上呈现不同的样式,从而提高用户的体验。你需要了解如何使用媒体查询来适配不同尺寸的设备,如何使用弹性布局和流式布局来实现自适应网页。
  6. 设计工具:需要掌握至少一种网页设计工具,如Photoshop、Sketch、Figma等。设计工具可以帮助你更快速地创建网页,提高工作效率。你需要掌握如何使用设计工具来实现网页的布局、配色、字体等方面,以及如何将设计稿转化为网页代码。

通过掌握以上几个方面,程序员可以更好地进行网页设计与开发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术猿kim

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值