0基础如何进入IT行业?

简介:对于没有任何相关背景知识的人来说,如何才能成功进入IT行业?是否有一些特定的方法或技巧可以帮助他们实现这一目标?
方向一:学习路径

  1. 明确兴趣和目标:首先确定你对IT领域的兴趣和目标。IT行业非常广泛,包含了软件开发、网络管理、数据分析、人工智能等不同的领域。了解自己的兴趣和目标,可以帮助你选择适合的学习路径。

  2. 学习编程基础:无论你选择哪个领域,学习编程是一个重要的起点。掌握一门编程语言(如Python、JavaScript、Java等)和基本的编程概念(如变量、循环、函数等)是必要的。可以通过在线教程、编程学习平台、书籍等方式学习编程基础知识。

  3. 选择专业领域:根据自己的兴趣和目标选择IT领域中的一个专业方向,例如前端开发、后端开发、数据分析、网络安全等。针对选定的方向,深入学习相关的技术和知识,并进行实际项目练习。

方向二:技能培养

  1. 参加培训课程或学位课程:如果你想获得更系统化的学习经验,可以考虑参加IT培训班或报读相关的学位课程。这些课程通常会提供更深入的知识和实践机会,并且可以获得认可的证书或学位,有助于增加就业竞争力。

  2. 做项目和实践:在学习过程中,尽量多做一些项目和实践练习,以实际应用所学知识。可以参与开源项目、自己构建小型应用程序或者参加一些编程比赛,这样可以展示你的技能并积累宝贵的经验。

  3. 建立专业网络:参加一些IT行业的活动、交流会议或者加入相关的社群,与从业者建立联系,并从他们那里获取指导和支持。与其他人分享你的学习和项目经验,也可以帮助你扩展专业网络。

  4. 持续学习和跟进技术发展:IT行业发展迅速,新技术和工具层出不穷。要保持竞争力,需要持续学习和跟进最新的技术趋势。关注行业动态、阅读技术文章、参加在线课程或研讨会,都是不断学习的好方法。

最后祝愿大家能够学有所成,学有所用!

那么好,咱们回归正传。这一节将实践一个综合案例,结合了前面所学的知识。

实例:记账本

实现功能:

1. 基本渲染:基于后端数据动态渲染;

2. 添加功能:通过表单元素向后端添加数据;

3. 删除功能:通过删除按钮动态删除后端数据;

4. 饼图渲染:基于渲染数据使用饼图可视化。

5. 生命周期钩子函数灵活运用

思路:

这一个案例的前提要求便是获取并修改后端数据,这一点是最为重要的!

axios 简介

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

支持原生 TypeScript

请求响应拦截

支持 node.js

从浏览器中创建 XMLHttpRequest

支持 Promise API....

导入:

//使用npm
npm install axios
//使用yarn
yarn add axios
//或者使用cdn:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

发起GET请求:

axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});

发起POST请求:

axios.post('https://api.example.com/submit', { username: 'john', password: 'secret' })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});

您还可以在请求中设置其他参数,如请求头、请求参数等。例如:

axios.get('https://api.example.com/data', {
headers: {
'Authorization': 'Bearer token'
},
params: {
page: 1,
limit: 10
}
})

饼图可视化:

了解了axios如何请求和修改后端数据,咱们来学习下如何进行饼图可视化。

在Vue.js中渲染饼图通常使用一些流行的数据可视化库,比如Chart.js或者ECharts。本案例中,我们使用了ECharts来渲染。

ECharts是一个使用 JavaScript 实现的开源可视化库,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)及兼容多种设备,可随时随地任性展示。ECharts 提供了丰富的图表类型和交互能力,使用户能够通过简单的配置生成各种各样的图表,包括但不限于折线图、柱状图、散点图、饼图、雷达图、地图等,可高度个性化定制的数据可视化图表。

导入:

<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>

使用:

在绘图前我们需要为Echarts准备一个具备宽高的DOM容器,然后通过echarts.init方法初始化一个Echarts实例并通过setOption方法生成一个简单的图型,下面是完整代码:

<template>
<div ref="pieChart" style="width: 600px; height: 400px;"></div>
</template>
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
<script>
export default {
mounted() {
this.renderPieChart();
},
methods: {
renderPieChart() {
const chartDom = this.$refs.pieChart;
const myChart = echarts.init(chartDom);
const option = {
series: [{
type: 'pie',
data: [
{ value: 335, name: '直接访问' },
{ value: 310, name: '邮件营销' },
{ value: 234, name: '联盟广告' },
{ value: 135, name: '视频广告' },
{ value: 1548, name: '搜索引擎' }
]
}]
};
myChart.setOption(option);
}
}
};
</script>

代码:

html:

<div id="app">
<div class="top">
<input v-model="name" placeholder="消费名称">
<input v-model="price" placeholder="消费金额">
<button @click="add()">添加条目</button>
</div>
<div class="table">
<table>
<header>
<tr>
<th>编号</th>
<th>消费名称</th>
<th>消费金额</th>
<th>操作</th>
</tr>
</header>
<tbody>
<tr v-for="(item, index) in list" :key="item.id">
<td>{{ index+1 }}</td>
<td>{{ item.name }}</td>
<td :class="{red: item.price > 500}">{{ item.price.toFixed(2) }}</td>
<td><button @click="del(item.id)">删除</button></td>
</tr>
</tbody>
<footer>
<tr>
<td colspan="4" style="text-align: left;">消费总计:{{ total.toFixed(2) }}</td>
</tr>
</footer>
</table>
</div>
<!-- 准备好具备大小的DOM -->
<div id="chart"></div>
</div>

js:

<script>
const app = new Vue({
el: '#app',
data: {
list:[],
name:'',
price:''
},
computed: {
total(){
return this.list.reduce((sum,item) => sum + item.price,0)
}
},
created(){
// 使用添加/删除功能后,需要重新渲染,将下列封装为函数更为高效
// let res = await axios.get('https://xxx',{
// params:{
// creator: '李世民'
// }
// })
// // console.log(res)
// this.list = res.data.data
this.addList()
},
mounted(){
// 创建echart实例
this.myChart = echarts.init(document.querySelector('#chart'))
//配置数据
this.myChart.setOption({
title: {
text: '我的消费账单',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [{
name: '明细',
type: 'pie',
radius: '50%', //半径
data: [], //匹配后台数据,默认为空
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}]
})
},
methods: {
async addList(){
// 发送请求,获取数据
let res = await axios.get('https://xxx',{
params:{
creator: '小白'
}
})
this.list = res.data.data
// 获取数据后,重新配置饼图的数据,更新图表
this.myChart.setOption({
// 仅需要配置数据项
series: [{
data: this.list.map(item => ({value: item.price, name: item.name})),
}]
})
},
async add(){
// 发送请求,修改数据
let res = await axios.post('https://xxx',{
creator: '小白',
name: this.name,
price: this.price
})
console.log(res)
// 重新渲染页面
this.addList()
this.name = ''
this.price = ''
},
async del(id){
// 发送请求,根据ID修改数据
let res = await axios.delete(`https://xxx/${id}`)
console.log(id)
// 重新渲染页面
this.addList()
}
}
})
</script>

css:

<style>
table{
width: 500px;
margin-top: 10px;
border-collapse: collapse;
}
th, td{
height: 30px;
text-align: center;
line-height: 20px;
border: 1px solid black;
}
#chart{
width: 500px;
height: 400px;
margin-top: 20px;
border: 1px solid black;
}
.red{
color: red;
}
</style>

效果:

注意:

案例中还有很多需要注意的点,比如: 应该是在created()里使用axios获取后端数据然后渲染,但是使用添加/删除功能后,还需要重新渲染,但是这已经不属于created()钩子范围内,所以将axios的get方法封装为函数使用更为高效。

Vue学习:13.生命周期综合的更多相关文章

  1. vue学习之生命周期和钩子函数

    参考文章:Vue2.0 探索之路——生命周期和钩子函数的一些理解 抛出问题: 我们有时候会在几个钩子函数里做一些事情,那么什么时候做,该在哪个函数里做? 生命周期简介 结合代码看el 和 data以及 ...

  2. vue学习之五生命周期

    一.vue生命周期图解 下图展示了实例的生命周期.你不需要立马弄明白所有的东西,不过随着你的不断学习和使用,它的参考价值会越来越高. 二.vue钩子函数使用 2.1beforeCreate 在实例初始 ...

  3. vue学习三:生命周期钩子

    生命周期钩子介绍: 每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运行一些叫做生 ...

  4. Vue学习之生命周期钩子小结(四)

    一.生命周期钩子(函数): 1.每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运 ...

  5. vue学习笔记(二) ---- vue实例的生命周期

    vue实例的生命周期 什么是生命周期:从Vue实例创建.运行.到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期! 生命周期钩子:就是生命周期事件的别名而已: 生命周期钩子 = 生命周期函 ...

  6. vue02 过滤器、计算和侦听属性、vue对象的生命周期、阻止事件冒泡和刷新页面

    3. Vue对象提供的属性功能 3.1 过滤器 过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 定义过滤器的方式有两种. 3.1.1 使用Vue.fil ...

  7. Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖

    1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...

  8. Vue.js-07:第七章 - Vue 实例的生命周期

    一.前言  在之前的 Vue 学习中,我们在使用 Vue 时,都会创建一个 Vue 的实例,而每个 Vue 实例在被创建时都要经过一系列的初始化过程.例如,需要设置数据监听.编译模板.将实例挂载到 D ...

  9. vue 项目实战 (生命周期钩子)

    开篇先来一张图 下图是官方展示的生命周期图 Vue实例的生命周期钩子函数(8个)        1. beforeCreate             刚 new了一个组件,无法访问到数据和真实的do ...

  10. 从零开始学 Web 之 Vue.js(三)Vue实例的生命周期

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

随机推荐

  1. Lakehouse 架构解析与云上实践

    ​简介:本文整理自 DataFunCon 2021大会上,阿里云数据湖构建云产品研发陈鑫伟的分享,主要介绍了 Lakehouse 的架构解析与云上实践. 作者简介:陈鑫伟(花名熙康),阿里云开源大数据 ...

  2. [Roblox] 从障碍跑入门构建基础平台游戏_罗布乐思

      对于障碍跑来说,底板部分是可以不需要的 这样掉下障碍物就结束游戏,Baseplate 可以在右侧资源管理器 选中后Delete. SpawnLocation 标记玩家在游戏开始时或重新开始后在世界 ...

  3. gitlab-ce-15.9.4安装

    如果需要汉化版本,请根据汉化来选择版本 汉化包下载地址:https://gitlab.com/xhang/gitlab/ 1.依赖包安装 yum -y install policycoreutils- ...

  4. M9K内存使用教程

    M9K内存使用教程 M9K内存是Altera内嵌的高密度存储阵列.现代的FPGA基本都包含类似的不同大小的内存. M9K的每个块有8192位(包含校验位实际是9216位).配置灵活.详细了解M9K可参 ...

  5. Mybatis学习三(动态sql语句)

    动态sql语句主要为以下语句 1.动态SQL:if 语句2.动态SQL:if+where 语句3.动态SQL:if+set 语句4.动态SQL:choose(when,otherwise) 语句5.动 ...

  6. 从SAP CRM上传设备到SAP ERP

    文档<Step by step to download equipment from ERP with hierarchy>描述了从ERP复制设备到CRM的步骤.默认情况下,ERP中的设备 ...

  7. 抛砖系列之文本处理工具-awk

    AWK是一个优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一.这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯.彼得·温伯格和布莱恩·柯林汉姓氏的首个字母 ...

  8. linux终端显示git分支的配置

    1.查看现有配置 $ echo $PS1 2.显示git分支 打开./.bashrc文件 添加以下几行命令: git_branch() { git branch 2> /dev/null | s ...

  9. 安装pyenv-win(windows 环境)支持多个python环境管理

    安装pyenv-win(windows 环境)支持多个python环境管理 https://blog.csdn.net/dair6/article/details/129128240

  10. ruby 定时器 rufus-scheduler

    安装 gem install rufus-scheduler ruby #!/usr/bin/env ruby require 'rubygems' require 'rufus-scheduler' ...