为什么要坚持写博客

引言

断断续续地写博客已经有一段时间了,作为一个Java中级开发工程师,工作了三年多也算渐渐入了门。不得不说,博客给我的改变是非常大的,那么作为一个技术人员,为什么我觉得必须要坚持写博客?下面,就来谈谈我的一些理解和感悟。

写博客的好处

不论你在哪里写博客,博客园、CSDN、自己的微信公众号、亦或是微博里,我觉得都没问题。

首先,博客作为一种比较正式的技术分享资源,它给我的感受就是它真的应该非常正式。

正式,反义词是随意和漫不经心。

博客给人的感觉应该是一种非常端正的学习方式,它是一种总结的形式,你可以参考、可以复制粘贴,但是因为是非常正式的文章,你必须把你的总结和流程理顺并且改正文章中出现的错别字。它可以在态度上端正一个技术人员。这是一个很隐秘的好处。

其次,我通常在学习某些新知识的时候,喜欢全面的搜集相关的文章或视频,将他们进行整理和总结,然后再在博客中行文。在不断的写作和语言组织的过程中,我的思维会更加严谨、更加清晰、更加富于调理。这对在软件开发当中业务的梳理也是非常有帮助的。

再者,我们从小就唱着“好记性不如烂笔头”的儿歌,可是随着信息时代的来临,纸笔渐渐被取代,更多的和电脑打交道的我们如何去记录?没错,我觉得不论是有道云笔记、印象笔记、word文档,甚至是txt文本文件都是没问题的,作为知识的记录工具,博客有着同样记录的用途,它可以帮你记住那些:纷繁复杂的技术原理、漫天飞雪的指令消息、用途难辨的前端标签、五花八门的语言特性、一忘再忘的基础知识....... 它都能记得。

你是否有过花了好几天钻研的一个技术原理,当你真正用到的时候却记忆模糊?你是否有过反反复复去学习一个基础知识而苦不堪言?你是否有过与别人辩论的时候一个很确定的知识要点却无从寻找证明而扼腕叹息?

如果你不是一个过目不忘的人,那就滚去把它记下来吧。word也好,txt也好,博客也好。

我曾经使用过有道云笔记,不得不说有道云笔记做的还是不错的。但是为什么我最终还是放弃了它?因为在博客网站上写博客比只留给自己看的笔记软件更加开放,你的博文可以被其他同行看到,如果你写的好,他们还会给你留言,或给你提一些建议。这是非常有帮助的信息。而有道云笔记或者印象笔记这类笔记软件,就稍显不足。另外,这些客户端软件不方便浏览回看,你需要安装一个客户端,然后它还要隔一段时间一更新。而博客你什么都不用管,只需要打开浏览器,就可以翻看自己写的文章。

如何写博客

谈一谈应该如何写一篇博客。

标题

作为一篇博客,你应该给它起一个有价值的标题。我的推荐是:主标题——副标题。

因为大多数博客是公开的,所以你的博客不光是给自己看,别人也会去网上搜索关键词,可能就会看到你的技术博客,一个好的标题可以明确你的博客主题。这一点,我在不断的写作之中渐渐体会。举一个反面教材,是我一个大学同学的技术博客:

这样的标题,我真的连看的欲望都没有。所以,好好组织一下自己的语言,把标题写的清楚一点。

文章结构

文章的结构应该尽量清晰。你最好给每一个小节起一个小标题,然后把他们用 H1、H2、H3 进行排版。这样,有助于你或者其他看官快速定位需要的信息,这对一篇比较长的博客来讲尤为重要。

其次,文章的内容你应该事先过一下脑子。有节奏的组织一下自己的语言和逻辑脉络。这虽然会花一些时间,但是一想到自己是一个精益求精的人,难道不应该这么做一下吗?

语言通顺

大多数技术人员可能嘴皮子不行,那就练练写作,把自己的想法清晰明确的用博客表达出来也是一种个人能力。我在查阅他人的博客时,经常会看到语言不通顺,逻辑有问题的文章。这样的文章,我只能鄙视地说一句:哼!菜逼!

当然,并不是说我们在写博客的时候连个错别字都不应该有,而是应该时刻提醒自己要重视自己的博客,要让阅读自己博客的人能够有所收获,一篇毫不通顺、思维跳跃大、甚至是没头没尾的文章根本不能帮助到他人。

最好有个结果

对于解决具体问题的博客,往往只简单阐述了一下问题,然后给出解决方法,却没有贴出最终成功的结果。

我建议的方式是把自己的测试结果摆出来,让大家看到。我在查找问题的时候,看到别人的文章,相同的解决方法自己这么做却完全不奏效,这样我会深度怀疑写这篇文章的人当时也没成功。所以,有个测试结果截图出来,说明这个问题的解决方法是奏效的,这样可以进一步证实自己的博客是有用的,增加了博客的可信度。

结束语

不知道大家有没有听过 费曼技巧 这一学习方法。它强调输出,即将你刚刚学到的知识以一种非常浅显易懂的方式讲给他人,在你讲解的过程中会有一个循环,只要你在讲解的过程中遇到问题,就需要再去推敲自己。而博客,作为一种重要的输出工具,其很好的起到了媒介的作用。你需要不断的变换自己的角色,要真正扮演一个讲述者和一个倾听者。通过博客,你把学到的知识讲给你自己,这是一个非常有趣的体验。

当然,要写好博客也并不是立刻、马上、现在就。在上手CSDN之初,我的博客也是写的很烂,调理不清晰,语言稚嫩,重点不突出是比较严重的问题。当你渐渐变得“厉害”了,也可以看看曾经写的博客,然后见证一下自己的变化! :)

以上,就是我对写博客的感悟,坚持写博客是一种非常好的习惯,它可以形成一种技术沉淀,成为见证你进步的照明灯。技术之路道阻且长,一定要做好总结工作,你的付出必有回响!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot——@ConfigurationProperties与@Value的区别

引言 Spring Boot从配置文件中取值的方式有两种,一种是批量注入ConfigurationProperties,另一种是单独注入Value。 它们之间除了批量与单独取值的区别之外,还存在着其他一些使用方式,本篇博客将详细讲解这两种注解之间的区别和使…

Spring Boot —— YAML配置文件

引言 首先,YAML并不是仅仅可以使用在Java项目中,它是一种类似于json结构的标记语言,可以为所有的编程语言服务。它强调更直观的层级表示,比较适合描述配置文件中的层级关系。 Spring Boot可以识别后缀名为".properties&quo…

centos7下docker启动失败解决

centos7下docker启动失败解决 docker安装成功却启动失败,查看docker服务,systemctl status docker.service, 服务日志提示Failed to start Docker Application Container Engine.如下图所示: 解决方法,修改docker文件&#xff0…

Java并发编程实战————Semaphore信号量的使用浅析

引言 本篇博客讲解《Java并发编程实战》中的同步工具类:信号量 的使用和理解。 从概念、含义入手,突出重点,配以代码实例及讲解,并以生活中的案例做类比加强记忆。 什么是信号量 Java中的同步工具类信号量即计数信号量&#x…

JavaCard概述

什么是JavaCard JavaCard,即Java智能卡。以智能卡硬件系统为基础,通过软件的方式构造一个支持Java程序下载、安装、运行的软/硬件系统。由于引入了虚拟机技术,JavaCard具备硬件无关性,即智能卡应用程序开发与智能卡硬件系统相分离…

LeetCode算法入门- Add Two Numbers-day3

LeetCode算法入门- Add Two Numbers-day3 Add Two Numbers You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return …

Java核心篇之多线程---day1

Java面试之多线程—day1 一. 线程中sleep方法与wait方法有什么区别? 对于 sleep()方法,我们首先要知道该方法是属于 Thread 类中的。而 wait()方法,则是属于Object 类中的。 在调用 sleep()方法的过程中, 线程不会释放对象锁。而…

Java 多线程 —— 常用并发容器

引言 本博客基于常用的并发容器,简单概括其基本特性和简单使用,并不涉及较深层次的原理分析和全面的场景用法。 适合对不了解并发容器的同学,工作中遇到类似的场景,能够对文中提到的并发容器留有简单印象就好。 一、Concurrent…

Tomcat运行三种模式:http-bio|http-nio|http-apr介绍

转自《tomcat运行三种模式:http-bio|http-nio|http-apr介绍》 Tomcat是一个小型的轻量级应用服务器,也是JavaEE开发人员最常用的服务器之一。不过,许多开发人员不知道的是,Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式&#…

LeetCode算法入门- Reverse Integer-day6

LeetCode算法入门- Reverse Integer-day6 Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 class Solution {public int reverse(int x) {long…

Java工具方法——属性拷贝方法:BeanUtils.copyProperties(Object, Object)

介绍 org.springframework.beans.BeanUtils.copyProperties(Object, Object)是spring 框架的对象工具类:BeanUtils下的一个拷贝对象属性的方法。 官方注释 把给定的源对象属性值拷贝到目标对象中。 注意:源对象类与目标对象类不一定非要完全匹配&…

Git初学札记(九)————EGit检出远程分支

引言 现在有这样一个使用场景:团队中的其他开发者提交了一个新的特性分支(如feature_1),要求我们一同开发,并将自己修改的代码也全部提交到这个分支上去。那么如何将这个分支检出,并将本地检出的分支与这个…

Spring Boot————ApplicationListener实现逃课事件监听

引言 上一篇文章转了一篇关于ApplicationListener用于在Web项目启动时做一些初始化的用法。 但是,在实际生产过程中,当一个事件产生,又是如何被onApplicationEvent()方法监听到,并执行一系列动作呢?简单搜索了一下&a…

Java核心篇之Redis--day4

Java核心篇之Redis–day4 Redis有哪些数据结构? 字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。 1.String:字符串,常用命令:get,set,decr,incr,mget(查…

软件版本GA、RC、beta等含义

原文《软件版本GA、RC、beta等含义》 GA General Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。 RELEASE 正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。 Sta…

Java核心篇之泛型--day5

Java核心篇之泛型–day5 泛型是JDK5时引入的一个新特性,泛型提供了编译时类型安全检查的机制,该机制允许程序猿在编译时检测到非法的类型输入。 泛型的本质是参数化类型,也就是说操作的类型被指定为一个参数。 假定我们有一个需求&#xff…

Spring Boot————AOP入门案例及切面优先级设置

看了这篇文章,如果你还是不会用AOP来写程序,请你打我!! .||| 引言 Spring AOP是一个对AOP原理的一种实现方式,另外还有其他的AOP实现如AspectJ等。 AOP意为面向切面编程,是通过预编译方式和运行期动态代…

Spring Boot————Spring Data JPA简介

引言 JPA是Java 持久化API的缩写,是一套Java数据持久化的规范, Spring Data Spring Data项目的目的是为了简化构建基于Spring 框架应用的数据访问技术,包括对关系型数据库的访问支持。另外也包含非关系型数据库、Map-Reduce框架、云数据服…

Spring Boot————Spring Boot启动流程分析

一、引言 Spring Boot 的启动虽然仅仅是执行了一个main方法,但实际上,运行流程还是比较复杂的,其中包含几个非常重要的事件回调机制。在实际生产开发中,有时候也会利用这些启动流程中的回调机制,做一些项目初始化的工…

Spring Boot————应用启动时的监听机制测试

引言 本文承接前面的《Spring Boot————Spring Boot启动流程分析》,主要测试一下ApplicationContextInitializer、SpringApplicationRunListener、ApplicationRunner、CommandLineRunner这四个接口实现之下的组件是何时在Spring Boot项目启动时创建并执行相关方…