如何写好技术文章(看张鑫旭老师的直播总结

2023-05-16

大家好,我是若川。持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列

本文是我(hockor)观看张鑫旭的直播课 《关于我十二年的写作经验》 所做的学习笔记,其中加入了一些自己的观点,如果你也曾经对写技术文章有过无力、失落的情绪,希望本文能让你重新燃起对技术文章写作的热情。

在每一个技术人的成长之路上,我相信一定或多或少受到过很多技术博客的影响,比如技术论坛方面较为出名的有 CSDN、博客园、掘金等等,又或者是比较有影响力的大佬们,比如张鑫旭、阮一峰等等的自建博客。那么我们为什么要去写技术文章呢?我认为主要价值有以下几点:

  • 提升自己的技术思维能力,加深对技术点的理解

  • 与更多的人进行观点碰撞

  • 传播正能量,进行无私的分享

  • 提升自己的知名度,建设品牌力

那么问题来了,相信很多人曾经或多或少都有过那么一丝冲劲,暗暗说着我也要成为张鑫旭那样的人,我也要成为阮一峰那样的人,但是当自己真的开始盯着电脑准备写内容的时候,发现半天憋不出来一个字,原因也许有很多啊,但是根据我自己的真实感受,大概有以下几种内心想法,你看看跟你的有没有重合的:

  • 我写啥呢?好像这些别人都写过了啊,而且写的比我还好,算了不写了

  • 怎么写啊,我好像只是简单写了个 hello world,我也没用到那么高深的场景啊,算了不写了

  • 太麻烦了,写个文章我还要画图,还要写 demo,太累了,算了不写了

  • 我这文章写的这么干巴巴的,连我自己都看不下去了,算了不写了

  • 哎,上周写的那个文章也没人看啊,我写的意义是啥?算了不写了

  • 评论区有人怼我了,说我这里不对那里不对,太丢人了,算了不写了

  • ......

以上的经历不知道你是否曾经有碰到过呢?对于我自己而言,我几乎都有过,但是当我现在再回头去看,我真的觉得自己有点搞笑,我给自己总结起来就是 3 个字:“戏太多”,在看完张鑫旭的直播课以后,我有了更多的共鸣和想法,接下来我们好好来看看这个问题 - 究竟如何写好技术文章

关于选题

首先是技术文章的选题问题,这也是很多人在成功路上遇到的最大的一个问题,就是不知道自己写什么?

其实技术文章可以写的东西有很多,这里大致分为以下几种:

  1. 新方法/新技术的布道:比如 JS 新特性,或者新的构建工具等等

  2. 技术方案总结类:比如弱网环境下的加载优化机制等等

  3. 优秀框架的体验指南:比如 react SSR 从 0-1 的过程等等

  4. 自己觉得很厉害的小技巧:比如一些独特的优化手段,JS 的黑魔法等等

  5. 原理剖析类:比如 XXX diff 原理等等

  6. 棘手问题的解决方案:比如CDN 被劫持的解决方案

其中前 3 点是比较适合新手同学入手的,你可以根据自己的实际情况从这些点去做切入。

同时这里还有个小技巧,就会新技术点的获取,你可以去 

https://caniuse.com/ciu/index 

看看,去一个一个的研究这些内容。

389122c6c33741f30e45d17e6303ba86.png

对于写作的初心,这里张鑫旭提到了几点忠告:

  • 别总想着一上来就搞个大新闻,别怕让别人知道你是个菜鸟,谁又不是从菜鸟一步一步走过来的呢?

  • 如果你永远在等好的主题,好的灵感,可能你这辈子都敲不出来一篇文章

  • 思考你自己的当下,思考你的一切

  • 实在不知道写啥的时候,写写自己的迷茫,写写自己的困惑,说不定你会遇到一个为你解惑的人

关于内容

对于一篇技术文章,其内容结构主要有以下几点需要注意的

重点突出

我们写一篇技术文章,其实目的应该是很明确的,比如是讲解一个效果还是讲解一个技术结论,所以在写的时候有 2 点要注意:讲结论的先给出结论、讲效果的先放上效果图。

其实原因很简单,你想想你平时看文章,比如一篇文章写的是 webgl 3D 效果,你肯定是奔着效果去的,结果作者从头到尾一张效果图都没有,你看着还有乐趣吗?又或者作者讲解 XX 特性在不同端上的差异问题,结果看到最后都没说明白差异点到底在哪里,试问这样的文章你觉得是一篇合格的技术文章吗?

所以如果你要写一篇技术文章,首先你得搞明白你的目的是什么?是为了给别普及一个概念还是为了展示一个效果,针对自己不同类型的文章再去做重点的突出,你的文章内容就已经成功一大半了。

完整的叙事

关于文章框架,这里有以下一些可供思考

  • 背景

  • 你的思考

  • 你的尝试

  • 你遇到的困难

  • 你的解决方案

  • 最后的结果

你可以在这个标准大纲上做自己的调整,基于这个路径来写一篇技术文章,你的逻辑和结构就会非常的清晰。

最后张鑫旭还提到一个就是针对个人感悟类的文章,他给的建议很直接:你想怎么写就怎么写~

关于表达

文章形式

是不是所有的技术文章都一定是一篇议论文或者是叙事文呢?其实不一定,这里再给出几点不同的建议:

对话类的文章

如果你看过程序员小灰的文章,一定很有体会,这种类似于日常对话的写作方式(如下图),非常有代入感,同时如果你能配上漫画,就更加的厉害了,说不定还可以给自己创造一个 IP。如果你不会画漫画,你可以将内容和微信 / 钉钉聊天框结合起来,网上有非常多的这种工具,也能给人很好的阅读体验。

4f93df5e07a8ded140a7da3d472926f4.png

同人小说类

不知道前段时间大火的《JavaScript 百炼成仙》你是否有听说呢?这种文章你看看是不是一下子让死板的知识点变的生动了起来,而且更容易理解了。

03f0a5f86762157dfcb2fb950c432ef0.png

碎碎念的文章

最后这种,就是类似于张鑫旭的文章风格,你可以亲自去看看读读,这种文章配合一些日常的段子啥的,也能起到非常不错的效果。

换位思考

在写完一篇文章以后,并不代表你的文章就已经可以发布或者推广了,因为我们更多的是站在自己主观的角度来写的,所以为了保证文章的易读性,你还可以从以下几个方面去换位思考一下:

  • 如果我是个小白,这篇文章我能看懂吗?

  • 如果我不认识文章中的缩写词,我能理解这篇文章吗?

  • 我这里要不要加个架构图做说明呢?

  • 我这里要不要加个演示图做展示呢?

  • 我这里要不要加一下代码注释呢,万一对方是个初学者怎么办?

  • ...

以上的换位思考,是张鑫旭觉得写作中最重要的的一个特质,因为通过以上的换位思考,会让我们的表达变的更加的丰富,内容更通俗易懂。

同时还有一个技巧特别重要,就是把自己的文章多读几遍,早上睡醒的时候读一下,晚上睡觉前读一下,说不定读着读着,你的灵感又来了,同时还能发现不少错别字😄😄😄。

保持初心

“展示你最真实的一面”

这是我们写作中最重要的一个准则,在写作中,一定一定要经常告诉自己这段话,你是一个什么样的人,你就写什么样的文章

“我话痨,喜欢扯东扯西”,那就这么干,想到什么就写什么;

“我御宅族”,挺好,多加入自己喜欢的元素,体现宅的气质;

“我喜欢晒自己”,那文章就多配一些自己的图,来展现自己;

“我是个穷酸小透明”,没关系,过得不开心,文章也没必要强颜欢笑,时不时的透出自己的小犹豫也挺好。

关于你自己

  • 不要有功利心,少写 XXX 面试指南,多写真实的 case、感悟

  • 保持自己的风格,维持自己的人设,不要一篇笑嘻嘻,一篇哭唧唧

  • 勇敢写,乐意写,享受写。

以上,与你共勉。

6b53967a6cc5d6ee6387d93f9346b681.gif

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经坚持写了8年,点击查看年度总结。
同时,最近组织了源码共读活动,帮助3000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

230df2cb107b4862a352015543e8a838.png

识别方二维码加我微信、拉你进源码共读

今日话题

略。分享、收藏、点赞、在看我的文章就是对我最大的支持~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何写好技术文章(看张鑫旭老师的直播总结 的相关文章

  • MAX30102 血氧调试笔记

    一 血氧测量原理 1 1 PPG波形介绍 血氧饱和度 xff08 英语 xff1a Oxygen saturation xff09 xff0c 或称血氧浓度 xff0c 是指血中氧饱和血红蛋白相对于总血红蛋白 xff08 不饱和 43 饱和
  • HBase - Filter - 过滤器的介绍以及使用 | 那伊抹微笑

    博文作者 xff1a 那伊抹微笑 csdn 博客地址 xff1a http blog csdn net u012185296 itdog8 地址链接 http www itdog8 com thread 214 1 1 html 博文标题
  • sphereface:deep hypersphere embedding for face recognition

    SphereFace算法详解 AI之路 CSDN博客 sphereface 论文 xff1a SphereFace Deep Hypersphere Embedding for Face Recognition 论文链接 xff1a htt
  • python中的isdigit( )的使用

    python中的isdigit 函数是检测输入字符串是否只由数字组成 第三个例子既包含数字 xff0c 也包含字符串的话 xff0c 返回的也是一个False的布尔值 举例 xff1a
  • Debian没有sudo怎么办

    和Ubuntu不同 xff0c sudo命令在原始的Debian系统中时没有的 xff0c 需要额外安装 sudo apt get install sudo 编辑配置文件 xff0c 增加一个可以使用sudo命令的用户名 UserName
  • ES6——给对象部署Iterator接口

    Iterator接口的目的就是为所有数据结构提供一种统一访问的机制 xff0c 用for of 实现 一个数据结构只要有Symbol iterator属性 xff0c 就可以认为是 可遍历的 原型部署了Iterator接口的数据结构有三种
  • 我还在坚持的道路上

    高考 xff0c 一个似乎已经久远的经历但却又有一种恍如昨日的感觉 记得那年 2012年 xff0c 考完最后一场 xff0c 下着大暴雨 xff0c 那一刻有一种终于解放的窃喜但内心又憋着无形的鸭梨 xff0c 不知道最后结果会怎样 不过
  • CodeBlocks的下载安装、配置、简单编程

    IDE简介 http www baidu com s wd 61 codeblocks xff0c 这里只是介绍Windows平台下的 IDE 环境配置 CodeBlocks的下载 安装 配置 xff1a 下载 xff1a http www
  • 四、安装cuDNN,caffe和openCV

    一 安装cuDNN 1 下载cudnn 可以注册再下载 不过有点麻烦 官网https developer nvidia com cudnn 或者百度云下载http pan baidu com s 1hrAMHko 2 安装 tar span
  • 网络爬虫(三)------宽度优先爬虫(一个的基础,简单但是很重要哦)

    在实际项目中 xff0c 我们使用爬虫遍历互联网 xff0c 把网络中相关的网页全部抓取过来 xff0c 这也体现了爬虫的特点 爬虫爬行的过程是这样子的 xff1a 互联网中每一个页面看作是一个节点 xff0c 页面中的链接可以看成图的有向
  • Win10+Ubuntu双系统修复Ubuntu系统引导

    这两天笔者安装win10 43 ubuntu16 04双系统 xff0c 因为网络上能找到大量的资料 xff0c 安装过程此处就不多讲 因为笔者电脑是华硕主板 xff0c bios默认设置为安全启动 xff0c 笔者猜测会阻止加载ubunt
  • 全面分析 Spring 的编程式事务管理及声明式事务管理

    关于本教程 本教程将深入讲解 Spring 简单而强大的事务管理功能 xff0c 包括编程式事务和声明式事务 通过对本教程的学习 xff0c 您将能够理解 Spring 事务管理的本质 xff0c 并灵活运用之 先决条件 本教程假定您已经掌
  • classpath*作用

    classpath It refers to a list of resources and loads all such files present in the classpath and list can be empty and i
  • java 8 根据map 字段值 去重

    java 8 根据map 字段值 去重 span class token class name List span span class token generics span class token punctuation lt span
  • java 8 去重

    span class token comment 取差集 span span class token class name List span span class token generics span class token punct
  • 解读程序员的武侠世界,顶级程序员是内外兼修的大侠,那么你呢?

    在漫天的星河中 xff0c 有这样一颗星 xff0c 他朴实无华 xff0c 却又熠熠生辉 xff0c 照亮了无数人的人生 他就是金庸先生 随着一代大侠的驾鹤西去 xff0c 飞雪连天射白鹿 xff0c 笑书神侠倚碧鸳 xff0c 成为绝响
  • Eclipse使用入门教程

    Eclipse使用入门教程 说起java的IDE xff0c 朗朗上口的无非是Eclipse了 xff0c 假若能熟练Eclipse xff0c 对于我们编写java程序会起到事半功倍的效果 xff0c 大大提高我们工作效率 因此本篇博文
  • Win7 + Ubuntu16.04 双系统安装

    之前安装win7 43 Ubuntu14 04双系统 xff0c 后来换成win10用了一段时间后觉得有些卡 xff0c 而且装双系统装了几次都成功 xff0c 所以又换回了win7系统 xff0c 并重新安装了win7 43 Ubuntu
  • 双系统Ubuntu 引导修复(Boot Repair)

    安装完双系统 xff0c 如果在使用过程中不小心删除了Ubuntu引导向 xff0c 则会导致开机后无法选择进入Ubuntu系统 或者当我们重装了windows系统后 xff0c 也会发现原来的Ubuntu引导不见了 xff0c 当出现这两
  • 数据库为何要有复合主键(多主键)

    最近学习一点数据库的基本知识 xff0c 被一个问题困惑了许久 xff1a 主键是唯一的索引 xff0c 那么为何一个表可以创建多个主键呢 xff1f 其实 主键是唯一的索引 这话有点歧义的 举个例子 xff0c 我们在表中创建了一个ID字

随机推荐

  • @JSONField 注解详解和应用

    讲到 64 JSONField 注解 xff0c 就不得不提到Alibaba 开源的fasejson fastjson是目前java语言中最快的json库 xff0c 比自称最快的jackson速度要快 xff0c 第三方独立测试结果看这里
  • 外部访问docker容器(docker run -p/-P 指令)

    容器中可以运行一些网络应用 xff0c 要让外部也可以访问这些应用 xff0c 可以通过 P xff08 大写 xff09 或 p xff08 小写 xff09 参数来指定端口映射 xff08 1 xff09 当使用 P 标记时 xff0c
  • 解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题

    LocalDate LocalTime LocalDateTime 是Java 8开始提供的时间日期API xff0c 主要用来优化Java 8以前对于时间日期的处理操作 然而 xff0c 我们在使用Spring Boot或使用Spring
  • gcc 编译选项

    原来 Os相当于 O2 5 是使用了所有 O2的优化选项 xff0c 但又不缩减代码尺寸的方法 ffunction sections fdata sections Place each function or data item into
  • RYU功能开发(一)从simple switch开始

    对于任意一款控制器 xff0c 想要快速了解其开发机制 xff0c 从转发模块入手无疑是最佳的学习方式 RYU通过App的形式提供了一系列功能模块 xff0c 其中包括使用了OpenFlow作为控制协议的二层交换机控制模块simple sw
  • arm-linux-gcc交叉工具链

    Linux ARM交叉编译工具链制作过程 一 下载源文件 源代码文件及其版本与下载地址 xff1a Binutils 2 19 tar bz2 Index of gnu binutils gcc 4 4 4 tar bz2 Index of
  • 我使用过的Linux命令之cal - 显示日历

    我使用过的Linux命令之cal 显示日历 本文链接 xff1a http codingstandards iteye com blog 807962 xff08 转载请注明出处 xff09 用途说明 cal命令可以用来显示公历 xff08
  • 驼峰式与下划线命名规则

    在实际代码开发过程中 xff0c 代码编写格式清晰与否不仅决定了自己的代码编写与维护成本 xff0c 也直接影响到项目的开发进度 编码中常用的有驼峰法和下划线两种编码格式 xff0c 其中驼峰法常用在面向对象的高层语言中 xff0c 下划线
  • 全图文分析:如何利用Google的protobuf,来思考、设计、实现自己的RPC框架

    文章目录 一 前言二 RPC 基础概念1 RPC 是什么 xff1f 2 需要解决什么问题 xff1f 3 有哪些开源实现 xff1f 三 protobuf 基本使用1 基本知识2 使用步骤 四 libevent1 libevent 简介2
  • 针对vue的配置文件

    针对vue的配置文件 我们在根目录下创建一个 vue config js 文件 xff0c 将下方配置下去 module exports 61 区分打包环境与开发环境 process env NODE ENV 61 61 61 39 pro
  • Linux | LVM | 对比三种逻辑卷(Logic Volume)

    概述 为了满足在性能和冗余等方面的需求 xff0c LVM支持了下面三种Logic Volume xff1a Linear Logic Volume 线性逻辑卷Striped Logic Volume 条带化逻辑卷Mirror Logic
  • MySql ERROR 1129

    ERROR 1129 HY000 Host 39 mysql02 39 is blocked because of many connection errors unblock with 39 mysqladmin flush hosts
  • SpringBoot整合Shiro

    Apache Shiro是一个强大且易用的Java安全框架 执行身份验证 授权 密码学和会话管理 相比较Spring Security xff0c shiro有小巧 简单 易上手等的优点 所以很多框架都在使用shiro Shiro包含了三个
  • PB数据窗口对象之Button

    Button 重要属性 Action 属性 该属性是Button 控件最重要的一个属性 在数据窗口画板中 xff0c 可以选择一个按钮有哪个动作 可选的动作都是事先定义好的 xff0c 开发人员没有机会精确定义某个动作的执行 xff0c 只
  • 聊聊前端八股文?

    大家好 xff0c 我是若川 xff0c 点此加我微信进源码群 xff0c 一起学习源码 同时可以进群免费看Vue专场直播 xff0c 有尤雨溪分享 Vue3 生态现状以及展望 前些天 xff0c 我看到 剑指前端offer 一系列文章 x
  • 新手向:前端程序员必学基本技能——调试JS代码

    1前言 大家好 xff0c 我是若川 最近组织了源码共读活动 xff0c 感兴趣的可以加我微信 ruochuan12 参与 xff0c 已进行三个月了 xff0c 大家一起交流学习 xff0c 共同进步 想学源码 xff0c 极力推荐之前我
  • 全新的 Vue3 状态管理工具:Pinia

    大家好 xff0c 我是若川 最近组织了源码共读活动 xff0c 感兴趣的可以点此加我微信 ruochuan12 参与 xff0c 每周大家一起学习200行左右的源码 xff0c 共同进步 同时极力推荐订阅我写的 学习源码整体架构系列 包含
  • 推荐2022前端必看的新书 《Vue.js设计与实现》

    大家好 xff0c 我是若川 持续组织了6个月源码共读活动 xff0c 感兴趣的可以点此加我微信 ruochuan12 参与 xff0c 每周大家一起学习200行左右的源码 xff0c 共同进步 同时极力推荐订阅我写的 学习源码整体架构系列
  • 面试官问:跨域请求如何携带cookie?

    大家好 xff0c 我是若 川 持续组织了6个月源码共读活动 xff0c 感兴趣的可以点此加我微信 ruochuan12 参与 xff0c 每周大家一起学习200行左右的源码 xff0c 共同进步 同时极力推荐订阅我写的 学习源码整体架构系
  • 如何写好技术文章(看张鑫旭老师的直播总结

    大家好 xff0c 我是若川 持续组织了6个月源码共读活动 xff0c 感兴趣的可以点此加我微信 ruochuan12 参与 xff0c 每周大家一起学习200行左右的源码 xff0c 共同进步 同时极力推荐订阅我写的 学习源码整体架构系列