初入编程之门的个人建议1.0

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 初入编程之门的个人建议1.0

学习态度-个人建议

☺ 不必完美主义

  • 说得不好听点,叫钻牛角尖,鸡蛋里挑骨头。

举2个例子:

对于实践和书中的描述不一致

不要钻牛角尖,原地打转,卡在那里很久,从而可能出现一些不太好的负面情绪,眼见为实,否认书里的作者的不专业。

对于初学者,很可能会因为知识不深厚,经验不足,例如你忽视了实践中的版本问题,从而出现书里描述不一致的;还有一种可能,技术的迭代,作者写该书的时候,情况如他所见,后边技术迭代,底层的实现进行了更换等原因


学习理论概念时,不用强迫精准归类划分

例如,对于一些比较模糊的概念或者交叉概念,不用强迫精准归类划分。比如学习内存的时候,你会了解到内存包括随机存储器、只读存储器、高速缓存(cache); 又了解到缓存分为一级缓存(cpu 缓存)、二级缓存、三级缓存。从而去了解cpu缓存,了解到"cpu缓存的出现主要是为了解决cpu运算速度与内存读写速度不匹配的问题"、"缓存大小是cpu的重要指标之一"、"cpu 缓存是位于cpu和内存之间的临时存储器"等

这时候,你应该会疑问,这个cpu缓存[高速缓存] 还应该归类于内存吗?

不必纠结这个归类问题,因为没有人会考你哈哈哈。思考角度:应该从问题切入"pu运算速度与内存读写速度不匹配"--->出现了高速缓存[本质是寄存器],而寄存器分内存和外存[内存之外的辅存目的是扩大容量],高速缓存应该属于内存范畴。

还是不必纠结于精准归类划分,因为站在不同的标准的角度,划分的情况又会不同。而且也会存在一些交叉概念,了解知道它是一个什么东西,重点放在它为什么会出现上,使用它的目的。



☺ 带着目的去学习了解一个新事物

  • 兴趣是最好的老师,但是对一个东西热爱保有兴趣也许有点难,但是好奇一个东西是什么,并不难。

学习态度应该是放在这个东西的使用目的上

  • 它存在的目的是为了解决什么问题
  • 它具备什么特性从而解决了什么问题
  • 它是由什么组成的,才具备上某些特性
  • 它具备什么特性,常常在哪些场合下使用



☺ 保持学习的效率,保持高效率

  • 保持高效,需要不在意无关紧要的细节,例如花里胡哨的背景、花里胡哨的字体等这种无关细节
  • 保持高效,需要不在意不影响结果的警告等低级日志信息,有时候警告并不会影响结果,可以暂时不管它,直到排除其他问题,依然没解决,可以考虑一下是否是警告导致
  • 保持高效,需要不在意使用率很低的工具是否够"智能、顺手",浪费时间给它安装一些插件之类的



☺ 保持好奇,多问为什么

通过为什么,你会不断的自行到百度或谷歌搜索,从而锻炼了自己的动手解决问题的能力,积累更多的编程经验。

  • 这个功能是靠什么快捷键、怎么实现的?
  • 为什么结果是这样的?
  • 为什么会出现这个bug?
  • 为什么需要这么设计?
  • 为什么使用某某技术?
  • 这个技术点,还有其他有应用的地方吗?



☺ 遇到bug,不要依赖别人给你解决答案,要自己动手分析解决

不同场景,即使问题相同,解决方式也会因为版本问题而不同,当百度或谷歌搜索不到解决途径时,重新思考一下,更换一下关键词再次搜索,搜索的解决方法都无效的时候,请静下来......

学会自我分析问题,思考发生问题前执行了什么操作,查看一下日志记录的信息,思考一下是不是跟版本有关,代码问题还可以自己动手debug.......

作为初学者的时候,遇到各种麻烦、各自警告、各种bug,我们会容易着急、烦躁、头疼、甚至怀疑自己,但是请不要放弃,每个人都是这么过来的在学习的路上,没有什么捷径

日积月累,不断地思考,不断地动手去尝试,不断地提升解决bug的能力,经验越多,你越值钱~



☺ 学会放弃,变强再回来啃硬骨头

  • 离开是为了更好的归来

作为初学者的时候,看不懂源码是很正常的,但是,你要记住这块硬骨头,你要变强后回来啃它。初学者,在阅读源码上,至少不要做逃兵。当你实力不够的时候,你可以先了解关于阅读源码相关的,看某个框架的时候,整套视频涉及到源码分析的部分,不要直接跳过。慢慢了解,不要心急,一口气是吃不成胖子的。在学习路线上,看视频的过程,涉及到源码阅读和分析的,都认真动手尝试调试阅读源码,在调试的过程中熟练掌握了调试工具的使用;在调试的过程中,阅读源码有了自己的技巧;在调试的过程中,阅读源码知道了重点;在阅读源码的过程中越来越自信......

同样,当你感知到某块知识暂时超出你的理解能力的时候,可以先放手,日后再来.......




学习习惯-个人建议

☺ 学习资料的整理存放要规范

建议:对应学习资料,按名称建立好目录,存在在固定某个盘的某个学习目录下

  • ppt笔记、.md笔记、word笔记、execl笔记,还有源码等都要整理好存放到一个方便找的目录下,目录的命名要看到就知道是什么东西。
  • 学习过的视频,也建议分门别类建立好目录,方便后续复习视频某个知识点的,快速查找。



开发环境的安装

(1)以java 开发为例:

  • 刚入门java,会接触到jdk 和 集成工具 eclipse 或 IntelliJ IDEA:

jdk:Java Development Kit,java 开发工具,开发java程序时必须要安装jdk

理由:Windows 系统默认是没有java环境的,在Window 系统下无法使用有关java编译运行的一些命令。

例如我们使用eclipse 或 记事本编写了一个java 程序[最简单的helloworld程序],需要进行编译运行,才能看到结果。而编译命令 javac 和 运行命令 java,Window 系统默认是没有这两个命令的,需要通过安装jdk,在 Window 的系统环境变量进行添加,然后在 Window 系统下才可以进行使用 javac 和 java命令。

eclipse 或 IntelliJ IDEA: 集成的java开发环境的开发工具,它也是配置依赖jdk的,具备编写java代码智能提示。


  • 编译器、编辑器和集成开发环境:

编译器

简单讲,编译器就是将"高级语言翻译为低级语言"的程序。编译器将高级语言(c++,java,等写的文件翻译成系统可执行文件(如Windows下 .exe文件)的程序。

▷ 常用的编译器:gcc、clang、msbuild、javac

编辑器

常见的编辑器有文本编辑器、网页编辑器、源程序编辑器、图像编辑器,声音编辑器和视频编辑器等。重点讲的是代码编辑器用来编写代码,查看源文件和文档等。

▷ 常用的编辑器:NodePad++、Vim、EditPlus

集成开发环境

用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务。

▷ 常用的集成开发环境:Visual Studio、Eclipse、IntelliJ IDEA


(2)软件的安装分类:

软件的安装包有在windows下有2种形式
  • .msi的安装 [安装版]
  • .zip的安装 [绿色的解压版]


② 总结安装版.msi和 绿色的解压版.zip 区别:
  • msi 安装包:安装过程是图形界面操作、自动配置,安装操作相对简单,发生错误的解决操作简单,会生成桌面图标,可以通过图形界面设置开机自动启动等。
  • zip 压缩包:有解压即可用的【例如tomcat、redis】,也有需要通过手动配置,并命令行进行安装的【例如mysql、node】

安装版.msi和 绿色的解压版.zip 都可以设置电脑开启后自动启动的,只是 .msi 图形界面操作一下,而 .zip 通过命令安装一下即可


③ 举例:tomcat或mysql一样 [解压版的安装方式],想实现每次电脑开启自动启动Tomcat的话,把Tomcat作为服务器安装到Windows的服务列表中:

也是cmd切换进入tomcat根目录下bin下,其实就是为了使用 Tomcat安装目录/bin/service.bat (只不过这个脚本既有删除又有安装服务的作用):

□ 安装服务命令:service install

□ 卸载服务命令:service remove


补充可执行程序.exe 和 安装包 .msi 区别

.exe:是可执行文件,是一个安装引导程序。.exe文件是不依靠其他软件而单独运行的文件,因为.exe就是软件。

.msi:msi文件是Windows Installer的数据包,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据


(3)开发过程的环境,建议存放要规范

● 建议:建立一个文件夹 environment 统一管理一下这些环境配置文件,然后什么环境依次取名后加Environment

例如:java的环境的安装路径:E:\environment\javaEnvironment (如果是安装 jdk 的话,需要在 javaEnvironment建立 一个叫jdk 的目录)

  • 这是我的情况:



☺ 保存、备份的好习惯

(1) 保存:

当你写着笔记、写着平时作业,抑或是期末论文乃至是毕业论文,为了查阅资料,打开越来越多的网站,为了得到具体测试数据结果,打开多个编译器窗口,然后

卡了!!!,这时候,请一定把笔记、平时作业等等按一下快捷键Ctr+s!!!然后再去处理卡了的情况,当然也有可能是笔记记着记着卡了,这时候,听天由命,按Ctr+s,能保存多少算多少!


(2) 备份:

修改文件,记得备份!尤其是配置文件。
数据库备份也非常重要!!!




学习方法-个人建议

☺ 学习新技术方面:

学习一个新技术,拿看视频的方式学习Java这门语言举例,分享如果是我,在学习java这门语言,我的做法:

首先,挑选一个合适的视频,通过对比,选一个视频跟着学。

我个人在挑选视频做法是:

若是比较熟悉的老师,可能我个人是会带有滤镜的选择的哈哈哈。

若是非要三选一的话,我会:

听声音: 若是音质嘈杂的或老师的声音是否踩到催眠雷区的,都不要。

看时长: 一般时长比较长的讲得更加详细更深入,但是,不一定有那么多时间跟着学习下来,也不一定需要掌握得那么深入,这个需要根据自己的时间安排选择。

看章节目录: 我个人更喜欢小结多的,在讲几个小知识点后,然后用一个小Demo串起来的。

老师的讲课方式: 可以通过涉及解决某个问题的章节等方式。


● 在看章节目录的时候,为什么我个人更喜欢小结多的?

在讲几个小知识点后,然后用一个小Demo串起来的。这样就可以根据自己的时间安排,时间赶的话,就只动手练习后面这个串起来的Demo。时间不赶,就跟着视频把常用的语法,api都手动敲一遍。

不过,我觉得看个人的编程能力到哪一步叭,完全零基础,建议你还是老老实实每个语法,每个api跟着,然后串起前面几个小知识的小Demo,第一遍跟着敲,第二遍自己敲,不会再看一下视频,第三遍,自己敲,不会再看。已经有基础的话,就没必要每个语法,每个api都手动跟着,可以等到小Demo的时候,敲一两遍小Demo即可



☺ 建议动手实践:

对于练习,不应该是机械重复,而是有效练习。

建议你动手的场景:

  • 动手测试观察:例如好奇前端的某个样式,你想不起来它的效果是什么,眼见为实,你建一个小Demo,总比你去各大平台苦苦等待别人的回答好
  • 动手解决bug:搜索的方法都没能解决,若是代码问题,你动手调试一下呀,不要害怕调试能力差,这不是就给你机会练习了吗?
    还有记得查看日志记录,再搜索一下问题。
    还不行,静下来分析出错前干了什么,回退到正常情况,验证一下是不是某一步骤的影响导致错误或警告……



☺ 解决问题思路方面:

● 搜索解决:

  • 首先我也是直接百度,百度不行,
  • 百度出来的大多是某个网站重复的无效解决方案,我会使用搜索技巧的减号,减掉这个网站名,排除这个网站内容的干扰。
    发现直接百度+排除干扰选项后,还是找不到解决方案。
  • 更换搜索引擎为谷歌或者更改搜索的关键词。(自行搜索解决怎么访问谷歌哈哈哈)
  • 还是不行,我会在国外最大的程序员问答网站进行搜索,StackOver是偏应用方面的问答,Stack Exchange 是偏向理论方面的问答。

stackoverflow网址:https://stackoverflow.com/

stackexchange网址:https://stackexchange.com/

  • 懒得注册账号之类的,也可以通过搜索技巧的inurl,访问到这两个网址


● 自己分析解决:

搜索无果,静下心来,自己分析解决。首先,回忆出现错误前,干了什么,回退到正常情况,验证一下是不是某一步骤的影响导致错误或警告……

还是不行,自己手动调试或者查看日志记录实在想不明白的时候,请不要忘记考虑版本问题,是不是版本兼容问题,版本的迭代底层实现的更换等等


如果本文对你有帮助的话记得给一乐点个赞哦,感谢!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
程序员 Python
探索编程之旅:从代码到思考的蜕变
【8月更文挑战第33天】在数字世界的迷宫中,编程不仅仅是一种技能,它更是一扇打开思维新境界的大门。本篇文章将带你走进编程的世界,体验从简单代码到复杂逻辑的思考过程,以及这一旅程如何深刻影响我们的思维方式和解决问题的策略。通过具体案例和个人感悟,我们将一起探索编程背后的哲学和生活的启示。
|
1月前
|
算法 开发者
编程之旅:从迷茫到精通的蜕变之路
【10月更文挑战第37天】编程,一个看似高深莫测的世界,却充满了无限可能。它不仅仅是一种技能,更是一种思维方式和解决问题的艺术。本文将带你走进编程的世界,探索它的奥秘,分享作者在编程旅途中的感悟和经验。无论你是编程新手还是资深开发者,这篇文章都将为你提供新的视角和思考方式,让你重新审视编程,并找到属于自己的道路。让我们一起踏上这段充满挑战与乐趣的编程之旅吧!
56 34
|
2月前
|
自然语言处理 算法 语音技术
探索编程世界的奇妙之旅:从初学者到实践者的蜕变
【10月更文挑战第14天】探索编程世界的奇妙之旅:从初学者到实践者的蜕变
25 0
|
3月前
|
JavaScript 前端开发 Java
技术探索之旅:从迷茫到顿悟
本文记录了作者在技术领域的探索历程,从初入行的迷茫、尝试新领域的勇气,到不断学习和提升后的顿悟。通过个人经历,展现了技术成长的曲折与收获。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
探索编程世界的奇幻旅程
【6月更文挑战第18天】在数字时代的浪潮中,编程不仅是技术操作的体现,更是一种思维的展现。本文将通过一系列生动的故事和实例,揭示编程背后的逻辑美学与创造力的火花,带领读者走进编程世界的奇幻之旅。
|
6月前
|
程序员 C++ Windows
【C++航海王:追寻罗杰的编程之路】探寻实用的调试技巧
【C++航海王:追寻罗杰的编程之路】探寻实用的调试技巧
41 0
|
前端开发 JavaScript Java
编程其实是一门武林绝学,你是哪个门派?
编程其实是一门武林绝学,你是哪个门派?
140 0
|
设计模式 IDE Java
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
奉劝那些想把编程学好的学弟学妹们!呕心沥血,袒露心声,掏心掏肺
143 0
下一篇
DataWorks