精华内容
下载资源
问答
  • 说实话,对于学习路线这种文章我一般是不的,大家看我的文章也知道,我是建议别人怎么样怎么样的文章,更多的是,自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。...

    说实话,对于学习路线这种文章我一般是不写的,大家看我的文章也知道,我是很少写建议别人怎么样怎么样的文章,更多的是,写自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。

    但是,最近好多人问我学习路线,而且很多大一大二的,说自己很迷茫,看到我那篇 普普通通,我的三年大学 之后很受激励,觉得自己也能行,(是的,别太浪,你一定能行)希望我能给他个学习路线,说实话,几乎每天都有问这种问题的,鉴于此,我就来写一篇适合普通大众的学习路线,就从大一入学那一刻开始入门说起,虽然不一定适合你,但或许能给没有明确目标的人带来一些学习的方向,那么这篇文章,我就觉得值了。

    **注意:**这篇文章不是让你成为大神的,学完也不是多厉害,而是,给处于大学迷茫、不知道学啥的你,一个学习的方向,无论你是否是科班。不过我相信,当你学完了这些,你应该会有自己的学习方向了。

    一、选择一门语言入门编程的世界

    1、入门语言的选择

    学习编程的第一件事,我觉得就是选择一门语言,不过能选择的语言实在是太多了,不知道如何选择的,可以选如下一门比较热门,也是 90% 人的选择的语言入门。分别是 C 语言PythonJava

    那应该选哪一门呢?说实话,我觉得选哪一门都问题不大,因为等你成功入门之后,你大概率还会学习其他语言,那么我这里建议跟着学校的课程来选,因为大一基本也都会开设一门编程语言,我们学习当时开设的是 C 语言

    那么问题来了,根据读者的反馈,其实还要部分学校大一是没有开设这些语言的,而且学那些网页设计这类的语言,那该咋办?答是我这里建议你仍然选择一门语言来学习,由于你不是跟着学校的课程走的,那么我这里建议你选择 C 语言

    说实话,我觉得不论你是学哪一门语言的,如果有时间,都应该了解、学习下 C 语言,我觉得,你只要会了 C 语言,那么你入门其他语言分分钟,但会了其他语言,入门 C 语言可能会被虐。学习 C 语言,真的让人学习到挺多知识的,所以你不知道学习哪一门语言,这里我建议学习 C 吧,以后参加打ACM之类的比赛了,也一般用 C/C++。

    2、书籍以及视频的介绍

    这一个星期,我至少被 15 个人问过学习 C 语言要用哪一本呀?用什么编译器啊?反正我是被问哭了,不过当年我也有这样的疑问,所以就都耐心回答了。所以这里介绍下一些书籍和视频,虽然不是最好的,但我觉得还可以。这里我就以 C/Python/Java 为例子来介绍。

    后面我也会出一篇汇总各类工具的文章。现在已经收集了几十个常用开发工具了,不过可没有提供破解教材哈,百度一搜一大堆破解教程或者序列码。估计在过一个星期,我就会整理出来的了

    (1)、C语言

    书籍推荐:书籍可以看《C语言程序设计》,谭浩强写的,适合入门学习,也是我第一本看的书。进阶可以看《C 和指针》。

    视频推荐:可以看郝斌录制的视频,在 b 站搜索 C 语言就出来了,叫做《郝斌 C 语言自学教程》。说实话,对于新手,我觉得看视频还是比较不错的,可以少掉很多坑,不然你搞编译环境都搞死。

    这里工具我就不介绍了,一般书籍和视频都会手把手交你们用哪个编译器。我当时用的是 codeblocksvs6

    (2)Java

    书籍推荐:《Java核心卷1》,这个算是入门书籍吧,入门书籍我看的不多,暂时介绍这一本,因为没看过的一般我不介绍,大家可以去网上搜索。

    视频推荐:这里推荐 【尚学堂】Java300集,作者是 高琪 录制的,b 站搜索就可以了。讲的是真的好,入门的话,感觉看前面 100 集就可以了。进阶可以看《Java编程思想》,这本书也很好,解决了我很多疑惑。、

    Java 编译器推荐用 IntelliJ IDEA,自己百度去搜索。

    (3)Python

    书籍推荐:这里推荐《Python编程:从入门到实践》。

    视频推荐:我看过小甲鱼是视频,还不错,如果大家要看小甲鱼的视频的话,书籍可以顺便来他的配套书籍吧。视频叫《[小甲鱼]零基础入门学习Python》,b 站搜索就可以了。书籍也是也是《[小甲鱼]零基础入门学习Python》。

    开发工具我当时是用 pycharm

    问题来了,很多人问,应该掌握到哪个程度才算可以呢?

    说实话,我也不大清楚,,我觉得书中说的,90% 理解就可以了,注意,是理解,具体怎么写,忘记了问题不大。总之,当然是学的深点比较好了。

    文章首发于公众号『苦逼的码农』,更多经常文章欢迎搜索关注,已有150多篇原创,公众号回复『电子书』送你一份精选电子书

    二、数据结构与算法

    大学第一学期你入门了某种语言之后,就要开始学习数据结构与算法L。当然,不一定是第一学期,对于非科班的也一样,也是建议这个学习顺序。当然,你有自己的目标,完全可以按照自己的来。

    我的文章是主写数据结构与算法的,我秋招也是靠着这个优势拿到 offer 的,所以我认为数据结构与算法是非常非常重要的,可能你会听到工作都基本没用到这些知识啊,或者库函数都帮我们封装好了啊,我们干嘛要学。

    如果你这样想的,那你就错了。对于想要找工作的来说,这方面的知识是必考的,所以你得学;对于已经工作的来说,这方面的知识,可以让你学习到很多设计思想,所谓 数据结构 + 算法 = 程序,而且你学了这个,你会发现学习其他知识,上手的特别快。综上,数据结构与算法必学。

    好吧,上面扯了这么多,就是告诉你,数据结构与算法的重要性,好了,下面我介绍下入门数据结构必学的有哪些,不过你跟着书本的学习顺序来就是了。

    1、基础数据结构的学习

    1、时间复杂度、空间复杂度

    2、链表、队列、栈

    3、树(二叉树,查找二叉树、AVL树,红黑树等)

    4、图(图有好多种算法,深度/广度搜索,最短路径、最小生存树等)

    如果你是科班的,那么这些我觉得你大一第二学期都学完是最好的了,没学完也问题不大,有些人可能是先教《离散数学》这本课,为数据结构与算法做铺垫。

    书籍推荐:《大话数据结构》、《数据结构与算法分析:C语言描述版》,学哪一本?都可以,问题不大,我当时学的是第二本。大家记得根据自己的语言去学,我上面列举的,都是用 c 语言来实现的。

    视频:我只看过《小甲鱼的数据结构与算法》视频,你们自己看着办吧。

    2、算法的学习

    在大一大二,真心建议你们把算法基本功打好,后面就真的没啥时间刷题之类的了,因为无论你以后要学习哪个方向的,算法都是实用的,会一些算法,说话也都自信了。算法的学习,刷题是必须的了,但不建议盲目刷题,而是先学习一些算法思想,在找对应的题刷,要学的主要有:

    1、十大排序算法

    2、递归、贪心、回溯、动态规划、枚举等

    推荐书籍:《阿哈算法》、《算法设计与分析基础》适合入门;《算法第四版》、《算法导论》、《编程之美》适合进阶

    视频:这种还是挺建议看书,我没看过视频,,这里就不介绍了。

    具体可以看我之前的文章:程序员必须掌握的算法有哪些?谈谈这这几年学过的算法

    3、保持算法的学习

    算法的学习,真的是靠积累的,而刷题是必须的。而且学校都会举办一些比赛,这里还是比较建议大家去参见的,这样也能让你更加有激情着去学习。当然,每年都会有很多 ACM 编程大赛,要不要参加呢?这个看你了,也不是说参加就一定好,看你自己吧,具体可以参考我之前一篇文章说的: 普普通通,我的三年大学

    大家可以在 leetcode 长期保持刷题,一天一两道,或者一个星期三四道都行。

    文章首发于公众号『帅地玩编程』,更多经常文章欢迎搜索关注,已有150多篇原创,公众号回复『电子书』送你一份精选电子书

    三、选择一门语言深入学习

    刚才我选了选择一门语言来入门,之后你可能还会学习其他语言。我当时 C 语言入门,后面深入学习 Java。

    你可以学习过很多种语言,但你一定要有一门拿的出手的语言,所以把上面的学习了之后,这个时候你可能是大二,最多大三,那你就应该选择一门语言来深入学习了,一般可选的有四门:C++JavaPythonGo,如果你想从事后端开发岗位 ,那么 C++,Java和Go相信是大多数人的选择,其中我觉得选择 Java 的人数是最多的。Go 是最近才火起的语言,也是个不错的选择。

    那么问题来了,该选哪一门呢?入门你以后想从事游戏之类的开发,那么建议选择 C++,或者你以后比较想去腾讯字节跳动这些的,可能选择 C++ 会好一点。如果你想从事Web网站开发的,或者未来想去阿里巴巴、美团这些的,那么 Java 会好点,Go 和 Python呢?其实我也不是很懂,哈哈哈哈。不过我听说,对于一些不是很大型的网站之类的,都会用 Python 或者 Go 之类的快速开发。

    大家如果是面向公司编程的,可以去看看哪些公司的技术栈,来选。当然,无论你选哪一门,只要你有实力,哪个公司都会收你,只是有可能到时候要转语言,我现在好像是需要从 Java 转向 Go,不过语言只是一门工具,把基础共通的知识学好,转语言都问题不大。

    四、以Java为主的后端开发学习路线

    由于我是深入学习 Java 的,那我就介绍下 Java 的学习以及书籍的推荐吧,其他语言我觉得也类似。我大二开始学习 Java 的,还是看了挺多知识。入门的就不介绍了,上面介绍过。下面说的基本是深入学习必须理解的了。

    1、Java进阶必学

    集合模块:主要是包括各种常用集合:例如 Set(包括HashSet,TreeSet), Map(包括 HashMap,HashTable),List(包括ArrayList,LinkedList)等等,上面列举的都得学习它的源码

    多线程:synchronize,volatile,线程池,并发包(如lock等等),太多了,学了你们自然知道,我也不说的太详细了。推荐看《Java 并发编程艺术》+《Java编发编程实战》。

    各种文件流:file,inputStream,outputStream等等,反正就是各种文件流,看书时你们自然会看到,不详细介绍。

    虚拟机:虚拟机是必须学习的了,重点是GC部分,推荐看《深入理解Java虚拟机:JVM 高级特性与最佳实践》,一本就差不多够了,多看四五遍就行了。

    其他:还有很多,如反射,注解,异常等。

    2、JavaWeb 入门

    学了上面那么多,啥程序、网站也没写出来,有点难受?没事,这个时候,我们就要开始撸网站了,如果是以 Java 作为开发语言的,那么 JavaWeb 是必须学的了。这个时候你可以入门学习下这些(注意,不用深入,快速找个视频入门就可以了)

    1、mysql、html+css+js 、 tomcat、xml等。推荐看视频,自己去搜索 JavaWeb的视频,那么哪里不会补哪里,这些知识,几个小时就可以入门一门的了。

    2、servlet+jsp 系列。

    不建议直接学习框架,也是应该先学习 servlet,这些底层才是最重要滴。

    3、三大框架

    Servlet 写太麻烦了,只有认真学过 servlet 的人才能吹框架的好处,所以先学 servlet 在来学习框架,主要有三大框架:Spring + SpringMVC + Mybatis。

    其实 SpringMVC 也是属于 Spring 吧,MVC 只是一种思想,这里学习顺序是先建议学习 Spring,直接看视频入门学习就可以了,后面在买书。视频还是那句话,B 站搜索。黑马的讲的不错,我当时也是看黑马的。

    3、中间件的学习

    必须中间件:redis,其他我也没学过,这学过这一门,Redis 感觉人人都得学啊,推荐书籍《Redis 设计与实现》、《Redis开发与运维》。我先看后者,感觉后者适合入门,然后在看前者的。

    由于我这篇文章是给一个大致的学习方向的,我就不说的太详细了,不然得单独来一篇《Java学习路线》了。

    对于 Java 的学习,我觉得你会了上面这些,我觉得可以去尝试找实习了,应该也能找的到,大二大三去体验一波学习还是挺好的。

    文章首发于公众号『帅地玩编程』,更多经常文章欢迎搜索关注,已有150多篇原创,公众号回复『电子书』送你一份精选电子书

    五、计算机基础的学习

    看过我文章的都知道,我一直强大计算机基础的重要性,所以这里必须列举要学的有哪些。刚才说了选择一门语言深入,你在深入学习的过程中,肯定也在学习学校开设的专业课,包括:计算机网络 + 操作系统 + 数据库 + 汇编 + 计算机组成原理 + 编译原理 等等。

    而这些,我认为是非常重要的,对于秋招的同学来说,只要你会这些,就算你是深入学习 Java的,然后你去应聘 C++ 岗,我觉得也问题不大,你和面试官说我不会 C++ 就可以了,大不了到时候转岗。我虽然是 Java 技术栈的,但是我面的公司,都不是 Java 技术栈的,例如 小米,Shopee,字节跳动,腾讯等。但是,这些都问题不大,你只要会这些基础 + 算法,而且,在秋招,特别是对于一些大公司,关于语言的,其实问的也不是很多,基础问的特别多,所以你会基础,面试会占很多优势。下面按照学习的优先级,给这些课程排个序。

    其实给他们排优先级是不大好的,这样给他们排,感觉容易被大佬喷,不过没办法,对于小白来说,我还是想排以下顺序

    1、计算机网络 + 操作系统

    2、数据库 + 计算机组成原理(数据库相应你们可能已经先学过 MySQL 了)

    3、汇编 + 编译原理

    不过,如果你们还是在校的大一大二,那么可以根据你们课程的学习顺序来,但是,我建议有时间的可以提前学,不一定要等到学校教了才学,反正大部分老师讲的很一般,但时候你学过的话,可以当做复习,或者学其他。

    书籍推荐

    《计算机网络自顶向下》、《图解 http》、《深入理解计算机操作系统》、《汇编语言》(王爽写的)。具体要掌握到哪个程度可以看我之前的文章了。

    【吐血整理】那些让你起飞的计算机基础知识:学什么,怎么学?

    之前写过很多文章,所以这里不写的太具体了,具体的可以看我之前写过的文章。

    六、总结

    我觉得对于大学四年来学,上面这些是最核心的,也是必须学的。但是仅仅是上面这些还是不够的,上面的这些一两年就可以学完的。所以你还有很多其他时间,那么你可以学一些自己感兴趣的,多折腾,多豆鼓,而我上面学的,希望你都学。你也可以看我大学学过的一些核心基础知识:

    我的经历/成长/经验

    前两年都在折腾,特别是第一年,但是,我始终一直学习那些比较核心的课程。再次强调,这篇文章不是让你成为大神的,学完也不是多厉害,而是,给处于大学迷茫、不知道学啥的你,一个方向,无论你是否是科班,如标题所说,普普/大众。不过我相信,当你学完了这些,你应该会有自己的学习方向了。

    最后,是希望各位还在校的学生,大一可以好好浪,但也要保持应有的学习时间,之后,就好好学习吧。不管你是名校还是非名校,我觉得你在只要这几年认真学,进大公司的几率,真的非常大,这绝对不是鸡汤。

    上面设计到的工具以及书籍,我都提供了,可以在我的公众号『苦逼的码农』,回复『福利』即可获取。

    另外,帅地把公众号的精华文章整理成了一本电子书,共 630页!目录如下

    在这里插入图片描述

    现在免费送给大家,在我的公众号帅地玩编程回复程序员内功修炼即可获取。

    推荐阅读

    大学四年,小白一路走来,分享一波我是如何学习、提高自己的算法
    大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

    最后,给大家推荐一个 github,在这个github,有很多不错的电子书,并且分类整理了,或许你需要的可以在这里找到哦。点击前往Github

    有收获?希望老铁们来个三连击,给更多的人看到这篇文章

    1、给俺点个赞呗,可以让更多的人看到这篇文章,顺便激励下我,嘻嘻。

    2、老铁们,关注我的原创微信公众号「帅地玩编程」,专注于写算法 + 计算机基础知识(计算机网络+ 操作系统+数据库+Linux)。

    保存让你看完有所收获,不信你打我。。了。

    展开全文
  • 有时候我回头会问自己,为什么能坚持一些事情,比如读书,跑步,记录软件功不可没。人都会有惰性,让外力来帮助自己坚持更容易。介绍几款现在常用的记录软件。...我用的第个阅读记录软件是百度阅读,刚开始选...

    原文链接:https://blog.csdn.net/PbGc396Dwxjb77F2je/article/details/79245939

    有时候我回头会问自己,为什么能坚持一些事情,比如读书,跑步,记录软件功不可没。人都会有惰性,让外力来帮助自己坚持更容易。介绍几款现在常用的记录软件。

     

    1,读书软件的选取:从考虑实惠到深陷其中。

        我用的第一个阅读记录软件是百度阅读,刚开始选取的是经典费名著,这些书大多不贵或者免费的,读了一段时间的后,兴趣点发生了变化,开始找其他的书来读,发现一本电子书动辄20,30元,不用优惠券还是要花不小的一笔银子的。百度阅读的优惠券是不能和钱一起混用,只能用于购买不高于优惠券的书,一周10元优惠券,10元以下的书籍越来越没法满足我的兴趣需求。优惠券有点鸡肋的感觉,而此时我的阅读欲望已经培养起来,让我不得不寻找更加优惠的软件。这个时候也买了很多免费的电子书资源,但是发现百度阅读不支持PDF,只支持转化后传递,不方便。不过百度阅读也有其优势,简介的页面,加按小时的分析报告,这个不错的。

        微信阅读是我现在主用软件三个优势吸引到我:1,优惠券直接就是读书币,一周5小时就是10元钱,可以累加,无条件购买任何书籍0.2,社交功能,当你读到精彩的地方,发现别人有评论或者注释,评论的真是深刻,忍不住去看了下这个人的书库,竟然像发现宝藏一样,他竟然读了1000小时?竟然和我有ñ本书一致,哇,还有那么多看着书名就很想读的书,果断收入自己的待读清单。这绝对是读书过程中想不到的惊喜,当你找到自己感兴趣的书,总是忍不住想知道结局,想时不时去看一看,就像高中上课偷偷看小说一样,有时候熬夜也会把它看完0.3,排名功能,满足人类的虚荣心。软件会记录你关注的人的读书时间,每周会有排名,当我觉得自己读的时间很长的时候,我会去看下关注的其他人的阅读情况,你会发现有人更多,甚至是两倍三倍,也 一部分动力会促进你继续阅读。是很奇怪的,在我身上很能体验,这种满足虚荣心的竞争(包括发朋友圈)都会有一些动力吧。这样不自觉中就积累了很大的阅读量。当累计到一定的阅读量(包括时长,读完的数量)的时候,隔断时间一回顾,发现竟然自己能坚持看完这么多书。算算时间,假设每周能阅读8小时的话,就相当于一周你多出了一天的时间了,这一天自己从寿命中抠出来的。哇,这么划算,这么神奇,怎么能不坚持下去呢?

        有时候看看电子书的价格和实体书真是没差,可是我已经不太适应买实体书了,还是回去买电子书,因为我没法随时带着实体书或者点燃一样,而手机是我随时必带的东西,看不着会想念的东西,虽然看多了也知道伤眼睛,但我已沉沦其中。    

        图书馆是不是一个好的阅读地方?在校期间也去图书馆逛,那个时候没有书单推荐,一上午总找不到好看的书,随机拿一本看了几个小时,也就是打发时间的感觉。最近带娃去找童书,也是类似的感觉,需要一个个翻,如果不是我熟悉的书目,或者有意思的标题,剩下的时间就是在找书和随便读读几本书中度过了。感觉去图书馆找书现在已经不是我能适应的了。个人的习惯不同吧。

        贴下这俩月的读书记录,这俩月的读书时间明显下降不少。

    640?wx_fmt = PNG

    2,跑步记录软件

        这个我一直用咕咚,相比一年前使用,它现在启动慢,广告多,定位还时不时出个小差。这种虽然让我有时候会冲动去换掉它,但确实没有发现好的替代产品,期待市面出一个同样的软件吧,只要功能性强,收费模式想好,用户粘性不会差的。不喜欢强制性的软件,比如我现在用的小米电视(每天开机强制广告20秒,得浪费大家多少时间,简直是犯罪)。

        运动记录:总跑步847公里,186次这两个月新增跑步次数13次,新增公里数63公里。

    但其中11次记录都是在12月份。

     

    640?wx_fmt = PNG640?wx_fmt = PNG

     

    3,小朋友读书及记录软件。

        小花生是属于童书记录类的。1,可记录家中藏书数量,方便管理。只要扫下书的条形码,书就被放你的书房了。2,可记录读过的书。每天陪读完的书,随手扫一扫,软件会自动帮你记录每本书的读书次数,一眼可以看到哪本书是娃的最爱0.3,每本书点进去都有各种书评,方便买书的时候去参考,或者看下别人都是怎么读这本书的,是否自己也体会到了这一点呢。4,论坛中各种启蒙知识经验,虽然有点杂乱,但是大方向上会给你一些参考的。 5,新出的月度读书报告总结,可以让你更有动力去坚持读书。这个软件我才用上一个月零几天的样子。现在每天都尽量抽出时间来陪娃读绘本,英语启蒙,以帮助小孩尽快形成阅读习惯。这款记录软件的好处是让家长一点点从记录中看到小孩的读书成长,每天都会强迫着自己去尽量陪娃读一些书,做一些记录

        以下是我家娃的1月的读书记录:    

    640?wx_fmt = PNG640?wx_fmt = PNG

     

     

    4,读书和跑步均有所降低的借口

        自从娃12月回来以后,明显我的精力被分散很多,心思大部分在娃身上0.1是意识到要给他英语启蒙,在各种找资源,找经验,找路线的路上找找不休,各种群聊爬楼0.2是开头热度,本月开始陪读计划。每晚的陪读时间+写读书记录时间+论坛看看,结束后都要到11点多了,10点-11点我的学习时间就这样心甘情愿的奉献出去,其实娃的睡觉时间没变,变的是我增加了读书记录环节,以及论坛闲逛的时间。写读书记录是项大工作,这个月算下来每天要花30-40分钟时间,手机码字太慢,需要找一个更高效的方法,要么这项记录后续要考虑打点折扣了。不仅晚上,早上起来,也像着魔一样,先来几个单词游戏环节,或者先来20分钟的英语课程,跑步时间直接压缩(当然也是因为冷不想去),可怜的娃,我已经感觉到自己的焦虑了,后续要慢下来一些,这个月当 我俩的初期适应阶段吧0.3,为了能下班多陪他一会,连公交车读书时间也被压缩,换做其他交通工具,以尽量赶回家,所以连最起码的一周5小时,有1周竟然也没有达到0.4,娃刚上托班,对他的思念和担心导致我空闲的时间分心不少,明显能感觉有欲望想去拿手机打开他相关的记录。就像人在业余的时间不自觉在刷朋友圈中过去不少一个样,虽然知道是不必要的,但是还是随了自己的心,而导致一系列的前期培养的好习惯的一点点瓦解,待到总结的时候,感慨时间已过去。

        这些借口真的还能继续用嘛~~

    展开全文
  • 牛对于技术博客的一些建议

    千次阅读 多人点赞 2017-11-09 15:00:47
    原文 :http://www.ityouknow.com/tech/2017/07/16/operating-technology-blog.html 文章是个短期没有收益,长期收益很大件事情,但往往是很多人坚持不下来,特别是文章的初期,刚完文章没有...

    原文 :http://www.ityouknow.com/tech/2017/07/16/operating-technology-blog.html

    写文章是一个短期没有收益,长期收益很大的一件事情,但往往是很多人坚持不下来,特别是写文章的初期,刚写完文章没有人阅读会有一种挫败感,影响了后期写文章的积极性。这篇文章我给大家分享如何提升技术博客的影响力,如何去写技术博客,是否应该建立独立博客,如何去推广自己的文章,建立自己的品牌等。

    好多人刚开始写文章最主要的目的有两个:第一,记录自己阶段性的学习成果;第二,打开一个让自己和大千世界交流的窗口。不管是以什么样的目的开始的,只要坚持写下去,就会源源不断的感受到写文章带来的好处:

    • 加深自己对技术的理解
    • 可以结交更多的朋友
    • 记录自己的技术轨迹
    • 分享让世界更美好

    虽然有这么多好处,但对于目前的我来讲:写作是一种享受,它就是我的爱好之一,我喜欢写作、分享、交流的整个过程。

    什么时候开始

    知乎上有一个问题“技术人技术到什么程度才有资格去开通自己的博客?”上面有很多的答案,我的回答是“种一棵树的最好时机是十年前,其次是现在,开通技术博客同样如此”。

    万事开头难,写技术文章也是,很多人会在起步这个阶段逗留很长的时间,在考虑要不要写技术文章,写什么样的题材,去哪里写技术文章,要不要搭建自己独立的博客等等,光是考虑这个问题就耽搁了很长的时间,其中我就是一个例子,早在14年的时候,就想好好写写技术文章,结果到了16年才真正的开始。

    初期写文章的时候可以给自己定一些计划,比如一周一篇,坚持一段时间后,会找到自己的感觉和节奏,再进行调整。刚开始写文章的时候可能会想,写什么呢?有什么素材可以写?写的越多越会发现,其实生活中的一切都是素材,处处皆是文章。

    写什么如何写

    在技术文章的圈子里面有两类的文章最受欢迎,第一类是实战类的问题,描述在实际工作中的问题,解决问题的思路和技巧;第二类就是通俗易懂入门系列文章,方便初学者快速入门。当然为了更容易的上手,选择自己最熟悉的内容作为开始,可以起到事半功倍的效果。

    实战类

    实战类的文章写作思路大概是这样子的:背景->排查->解决->防止,以解决某个事故为例来介绍。

    首先描述问题背景,如何发现的问题?在什么情况下发生的?造成了什么样的影响;排查过程,针对展现出来的异常,怀疑某方面出现了问题,需要做一些测试来验证,大多数情况下,不会一次就找到问题的本质,整个过程就需要不断的测试、研究、推断、验证,直到最后找到问题的根源;解决方案,根据上一个步骤找到的问题本质,在这个步骤中去解决,总结有哪几种解决方式,各种方式的优劣,最后采用了哪种解决方案;防止,解决问题之后,总结经验教训,防止下次此问题再次发生,采用了哪种监控措施和应对措施等。

    实战类的文章最受大家欢迎,也最有价值,也许会有其他人也会遇到此类问题,搜到文章会有帮助,和网友交流后也会得到更多的解决方案。(真是只要人人都献出一份爱,世界将拥有美好明天呀 :))

    入门系列

    当你遇到某一个新技术的时候,或者说项目中需要引入一个新技术的时候,肯定需要对技术做调研,在调研的过程中,一般会写一些相关的demo来研究体验,可以将这个过程写下来,方便自己深入理解,也可以作为团队的培训教程。

    入门类的文章写作的思路,首先描述一下技术背景,对比有那些类似技术,各有那些优势,为什么选择此技术?基础环境介绍,此技术的依赖环境是什么?需要做哪些技术准备,可以写写搭建环境的步骤,搭建完成之后,用一个最简单的hello world验证环境是否搭建成功。

    到了快速上手的阶段,先写一两篇非常简单但可以突出其巨大优势的demo,让读者用以最低的成本来了解此技术的优势,比如spring boot最大的特别是完全注解快速集成;这些内容写完之后,需要对此技术进行进一步的研究,可以写一些解决特定问题的demo,比如spring boot和thymeleaf集成,写写thymeleaf页面布局或者crud的demo。

    当这些特定领域的文章都写完之后,就到了综合实践的内容了,描述公司内部是如何整体来使用此技术的,最好可以利用此技术做一款开源软件,在解决实际问题中去使用它,比如学习vue实践,可以利用vue技术模仿开发网易云音乐的app,如果学习的是spring boot,可以利用spring boot开发一个网站。

    小结

    在写一篇文章之前,最重要的是先理清楚文章的思路和概要,可以先在书本上记录文章的大纲,写作过程中按照大纲的思路去执行;文章结构要清晰,根据大纲或者思路分为不同的段落,每个段落有重点描述内容;文中涉及到代码,尽量使用code的样式来展示,只展示核心代码片段,在文章末尾给出完整代码地址,最好是github地址方便大家关注和跟踪。

    简洁大方颜值高的文章,会给读者如沐春风一样的感觉;试想一下如果你看到这么一篇文章,有背景介绍、思路清新、文章排版整洁、又提供了完整的示例代码,你会想看吗?写完一篇文章的时候,首先想一想,如果你自己看到这篇文章自己会喜欢吗?如果自己都不喜欢,那肯定还有优化的空间。

    现在回过头来仔细想想,其实写文章和写代码的过程是一致的: 构思文章概要(设计),根据概要去写文章(编码),检查文章是否有错别字、条例是否清晰(测试)、调整文章结构(重构)、发布文章(投产),这样看来技术人写文章更有优势。

    哪里写

    现在可以写文章的地方太多了,所以选择会有很多,反而让人迷茫,哪里才是技术人员真正的聚集地。我发现很多爱写文章的技术人,首先会在一个平台去写文章,慢慢的在这个平台积累了一些名气之后,就会被各种编辑邀请或者是出于推广的目的,会在各个热门的平台下去同步自己的文章,然后引流到自己的独立博客,最后开通自己的公众号。

    作为一个写文章的新手该如何选择呢?是搭建自己的独立博客还是先在某技术平台开始呢?其实这两个选择不冲突,可以两者一起同步,最重要的是开始写了。作为写作新手我建议先重点选择一个平台,了解这个平台的规则和技术氛围,如果各方面都和自己比较贴切,那就选择它写作发表文章,平台积累了一些名气之后,再选择开通自己的博客,因为个人刚开始写文章的时候,如果只是自己独立建站,那么几乎没有什么阅读量,选择平台的话,平台上会有海量的技术人员都聚集在这里,写出来的文章比较容易找到自己的读者,而且平台的交流氛围更好一些。

    在IT技术平台中写文章首选博客园和csdn,这两个平台上都有海量的技术读者,重点推荐博客园,因为它更纯粹一些,csdn上面也有很多的大牛,但是这些年csdn的广告实在是太多了,特别影响阅读体验。第二阵营有简书、开源中国、知乎、掘金等,简书是这两年才火了起来,写作体验很不错,对代码的支持也很好,但简书技术类只是其中的一部分;开源中国博客频道markdown排版支持的也挺好,但博客只是平台的很小一部分;知乎不用介绍了,markdown不支持;掘金是新起来的一个技术类平台,刚开始专注分享,现在也可以写作发布文章。

    建议写作的路线如下:在这些平台中,选择一个自己喜欢的圈子,当到很多人将你的文章转载到其它平台的时候,说明你的文章有价值,可以将自己的文章同步到其它的平台。如果文章不错,一段时间后,会培养一部分固定的读者,这时候就可以尝试着去搭建独立博客,技术人有自己的博客是多么酷的一件事情,想怎么改造就怎么改造,而且现在搭建一个独立博客太简单了,特别推荐利用github去搭建自己的博客,但是使用github建博客也有一点点缺点,百度搜索引擎支持的不是很好。

    本人写文章的路线:

    博客园->同步到不同的平台->独立博客->开通个人公众号

    这样有一个好处,就是读者会根据问题搜索到不同平台下的文章,根据文章会找到独立博客,根据博客会找到公众号,层层引导直到最后成为你的粉丝。

    如何推广

    啥?写技术文章还需要推广?可能你会这样想。

    好酒也怕巷子深,如今写技术文章而且写的不错的人太多了,如果不太注重推广的话,文章很快淹没在知识的海洋中,阅读量很小,继而影响写文章的动力和激情。就我个人而言,写文章最大的乐趣就是和网友互动交流,如果阅读的人少了,交流自然不多,就会想我写的这些文章对别人到底有没有帮助,文章质量是不是很差?不断交流反馈才是持续写作的源动力。

    平台规则

    到底如何推广呢,第一需要研究清楚平台的规则,比如我在博客园写作,如果文章可以发布到首页,阅读量会比没有发布到首页的文章高十倍,如果文章被编辑推荐到了首页“编辑推荐”,那阅读量会在此基础上再翻五倍。同样csdn首页,简书的专题都是类似的规则,在保持文章质量的前提下,持续的将文章推荐到首页是第一步。当你的文章持续保持高质量并且持续被编辑推荐,那么就有可能会成为平台的推荐博客或者博客专家,如果成为了推荐博客或者博客专家,那么平时博客的流量会比以前翻个倍数,文章也更容易被搜索引擎或者其它第三方网站所收录。

    第三方网站

    这些年出了很多第三方技术分享网站,流量很大,典型的代表有技术头条,掘金等,csdn和segmentfault也有类似的头条分享但是流量都很小。具体的操作是,首先在各个平台注册账号,将自己觉得写的不错的文章按照网站录入的要求输入进去,一般有文章标题、文章链接地址、文章简介和分类等,大部分都需要审核,审核通过之后,才会展示到网站的首页。其中技术头条还有技术周报,将一些热门的文章总结到一起发送到订阅者的邮箱中,曾经有一段时间发现我的个人博客好多流量都来自于邮箱,就是因为有文章被推荐到了技术周刊中。

    其它

    搜索引擎,搜索引擎是长期稳定的流量来源,跟踪我在博客园的博客流量会发现,长期最大的流量一直都是百度搜索,如果是自己搭建的独立博客也可以做SEO。

    文章标题,好的文章标题可以引导读者点击查看,但千万不要做标题党,另外好的标题也是提升搜索引擎的方式之一。

    统一标识,建议在各个平台、社交网站使用统一的ID、昵称、头像,方便读者记住你,比如我的id“ityouknow”,昵称“纯洁的微笑” ,有比较高的辨识度,方便读者识别记忆。

    工具,利用一些流量统计工具,方便统计分析各个平台、独立博客的流量,像博客园和csdn都可以自定义js模块,在cnzz申请一个账户,生成对应博客的统计代码,将相关代码添加到博客中,这样就非常方便的查看每天有多少人访问了你的博客,来源是哪里,都看了那些内容这些信息,很棒。

    版权信息,文章下面添加版权信息,要求别人转载文章的时候添加原文链接,这样别人转载你的文章后也会带来一些流量。我常用的版权声明信息:

    作者:纯洁的微笑    
    出处:www.ityouknow.com  
    版权所有,欢迎保留原文链接进行转载:) 
    

    最后

    我们经常会说,字如其人,其实文章更如其人,个人博客展示了个人对技术、对生活的理解。在IT业内,技术博客是了解一个技术人最好的方式之一,所以经营好一个博客,就是经营好自己对外的形象。

    写作有时候是痛苦的,辛苦几天写的文章,感觉并没有完全表达出自己对某些技术的理解,很沮丧;写完文章后反复核查语义是否正确、是否有错别字,常常修改好多遍,往往把自己都读吐了。(么办法语文是体育老师教的:))

    写文章也是快乐,看到自己的文章帮助了很多人会很欣慰,看到自己写的文章引发大家的共鸣很有成就感,当看到很多读者留言的时候,想想可以通过这种方式和五湖四海的技术人在一起交流,so cool。

    写文章是一种思考,对技术的思考,对生活的思考,对人生的思考。

    展开全文
  • 时隔久,有些地方的不是非常准确,希望大家指点。 最大的感触是比起2.3来多了fragement.要想彻底弄清楚架构,认真分析还是必不可少的。陆陆续续完这篇文章吧。   .作为个Application,日历在成为appl
    转眼到13年的3月份了。日历项目已经结束有一年之久了。但是自己这篇文章就起了个开头,看到不少回复,感觉自己有点过分。所以,好好写一下。至少来龙去脉按照自己理解写下来。时隔很久,有些地方写的不是非常准确,希望大家指点。 
    

    最大的感触是比起2.3来多了fragement.要想彻底弄清楚架构,认真分析还是必不可少的。陆陆续续写完这篇文章吧。

    应博友的要求,贴下图,下图是自己所在公司对android4.2增加了年历功能后的截图。android4.2原始界面肯定不是这个样子的。

     

     

     

    一.作为一个Application,日历在成为application时做了什么?

         CalendarApplication扩展了Application.

      GeneralPreferences.setDefaultValues(this);

         中设置了其后日历应用所需的默认值。

     

    二.  日历的入口类,

    我称它为引导性Activity类----AllInOneActivity.java分析
    在AllInOneActivity的onCreate方法中,就像android大部分应用一样,初始化了日历的数据和界面显示。

    1.数据部分

    第一部分:最开始的账户检查,将日历的数据和已有的google账户通过数据库关联。实际使用中,除了测试,很少去关联。这部分也就是简单的数据库AUTHORITY关联,就不累述。 

    第二部分:

    mController = CalendarController.getInstance(this);

    上面的代码初始化了日历控制器类CalendarController。这个类需要在界面设定之前实例化,因为界面的显示离不开数据,对于日历来说,界面的显示,离不开CalendarController类的数据。CalendarController主要是控制了event事件的类型,开始时间,结束时间,等。它贯穿了日历的整个数据处理过程。

    说白了在我的理解中,CalendarController它就是被白话了的数据库。不管运行到日历的哪个activity,它都能随意存取,是数据处理的全局变量作用的一个基类。


     

    2.界面部分

    上面的数据部分以及传给AllInOneActivity的intent或是icicle所含的信息成为AllInOneActivity.java处理界面的依据。从Activity的命名也可以看出,这个Activity存在的意义在于其根本的交互性。也就是说,几乎所有日历界面或是数据的交互,都是由这个类来穿针引线的。

    2.1 给我的数据是从哪里来的?要往哪里去?

            if (icicle != null) {
                timeMillis = icicle.getLong(BUNDLE_KEY_RESTORE_TIME);
                viewType = icicle.getInt(BUNDLE_KEY_RESTORE_VIEW, -1);
            } else {
                String action = intent.getAction();
                if (Intent.ACTION_VIEW.equals(action)) {
                    // Open EventInfo later
                    timeMillis = parseViewAction(intent);
                }
    
                if (timeMillis == -1) {
                    timeMillis = Utils.timeFromIntentInMillis(intent);
                }
            }


     2.1.1当icicle不为空时,表明onSaveInstanceState中存有缓存数据。此时,自然根据在日历内部的操作需求,决定其后继显示的界面。

              后继界面显示取决与两个元素的设定:BUNDLE_KEY_RESTORE_TIME和BUNDLE_KEY_RESTORE_VIEW。

              时间和界面类型。具体指的是日历显示的时间和月历还是周历。

    2.1.2 当icicle为空时,从intent中寻找所需显示信息。

              a.intent具体为Intent.ACTION_VIEW时,通过parseViewAction函数获得时间。具体为intent的action含有eventid时,通过eventid获得event的开始时间,结束时间,状态。最后设定为日历显示时间为event的开始时间。

             b.从a中没有获得有效时间时,分析intent所含data是否含有time字段,从time字段获得时间。如果还是获取不成功,则在这一步将日历显示时间设定为系统的当前时间。

      

    3.20日,下班,回家。明天晚上继续。 

    2013年10月10日继续写写这篇文章,跟前面的接不起了。就想到什么写什么吧。主要是写anroid4.2的。

    首先,先从日历界面的代码说起吧,它分为几大部分:

     一,日历界面从其功能上分有月历,周历,日历,日程列表。每个功能界面的形成,也是大同小异。

            一般通过其对应的类名就可以基本判定出其相应的处理。

           com.android.calendar.agenda 处理日程列表的显示和功能

           com.android.calendar.month   处理月历和周历的显示以及功能

           com.android.calendar              处理了日历基础的功能,当然包括每日日历的显示以及功能

    二,对应月历,周历,日历,日程列表,不能不说的四个fragment

           DayFragment(日历),AgendaFragment(日程),MonthViewFragment(月历);DayFragment(timeMillis, 7) 周历

     

    以上分类过一阵再补全。今天就先再以月历为例,说说其界面元素的draw吧。

    MonthWeekEventsView继承了SimpleWeekView,这个类是画月历界面的核心。虽说大的结构上,这个类最终还是应用到了adapter上,但是,不深入理解这个类,对月历界面恐怕会一直半解。

    在这个类中,画了月历所需要显示的日期,农历,节气。每一行为7个日期。而这个类,也主要是画7个日期。

     

    明天继续。。。

     

         

     

    展开全文
  • 再不入坑就晚了,深度神经网络概念整理,最简单的神经网络是什么样子
  • 名合格的程序员应该是什么样子

    万次阅读 多人点赞 2019-06-28 10:01:05
    我听完随口扔了句,“在我的意料之中。”因为她平时的成绩也就在二本线上下徘徊。 这句话挺伤人的,尤其是对于高考失利的妹妹来说,她听完我的话,立马就哭了起来,情绪非常激动,质问母亲为什么要打电话告诉我...
  • 其中多文章都好 , 并且有图片、插图进行说明。它可以被用来当作深度学习的教科书。英文能力有限的话,可以使用谷歌翻译。 7)Program Creek Program Creek 在维护方面做的好 , 文章读起来也比较有趣。在...
  • 公司程序员的牢骚

    千次阅读 2015-08-31 13:21:17
    公司程序员的牢骚从360来百度已经一年了,期间经历过多的需求开发,也带领小伙伴做过Android插件方向的研发与通宵上线。没有经历过的小伙伴可能想不到,个拥有快30个Android开发的团队,我们的任务需求...
  • 【看网上都是什么迁移文件的就感觉不靠谱,治标不治本啊(这不应该是个新生代coder的样子)】 du -sh* 一路查下去,发现overlay这个文件夹已经爆了。 docker system prune -a 才清理了7g的空间,那个文件夹还是...
  • 说实话,对于学习路线这种文章我一般是不的,大家看我的文章也知道,我是建议别人怎么样怎么样的文章,更多的是,自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。...
  • 做企业架构意义很大,架构的治理更重要,因为要让架构发挥作用。企业架构开发、治理内容很多,框架理论体系就要很长的学习周期和实际经验。本篇是作者的实践总结,比较精简的讲解如何运作架构治理。 架构治理主要...
  • 给要结束大一的孩子——飞出个样子

    千次阅读 多人点赞 2012-07-09 06:25:17
    尽管还有其他多的事情要想要做,缺少了动态中条条的记录,再不能感慨“老雷又提前把拓展题目也做完了”、“这丫头又熬夜”……不用每周都看遍,没有省时间,没有省精力。 课程结束了,学生要投入自主的复习。...
  • 如果面试的时候碰到这样个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。 很多时候数据量大了,...
  • 用 C++ 和 Java 算法,差别吗?

    万次阅读 多人点赞 2019-01-16 10:29:52
    无论是七、八年前开始的 “算法博客”,还是三年前出版的图书《算法的乐趣》,亦或是畅销课《算法应该怎么玩》,我介绍算法用的例子都是用 C++ 编写的。 尽管以前博客的留言里不乏抱怨之声,但是在《算法的乐趣》...
  • 程序员在网吧代码被暴打顿!

    万次阅读 多人点赞 2018-02-06 00:00:00
    由于时间很急,项目有很大,程序员的思路必须非常清晰,不能被打断。而在另旁两个小伙正在双排撸啊撸。大声喊,“我拿红”“他们在大龙”“快来,快来中路团波”,程序员思路屡屡被打断,就提醒了那两位小伙子,...
  • 本文的原文连接是: ... 博主地址是:http://blog.csdn.net/freewebsys 1,关于qor ...qor是个golang的CMS系统lib库。 功能强大,但是要操作起来还是要折腾下的。 项目地址: https://getqor.com/cn...
  • 这篇文章部分内容都是面向整个程序员群体的,当然因为LZ本身是做Java开发的,因此有部分内容也是专门面向咱们Java程序员的。 简单先说一下,LZ坐标杭州,13届本科毕业,算上年前在阿里巴巴B2B事业部的面试,...
  • es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别...
  • 牛的acm历程(看着就要颤抖)

    万次阅读 多人点赞 2015-08-08 21:45:04
    从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第次非正式参赛到现在也差不多有7年多的样子。有太多的故事,想说的话,却一直没能有机会下来。方面是自己忙,方面也是自己懒。所以感谢能有人“逼...
  • 跟我一起 Makefile(

    万次阅读 多人点赞 2004-02-24 16:48:00
    或许多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为个...
  • 程序有时候真的有点难,要考虑各种情况。 应用在运行中,会不断生成日志文件。假如要实现个日志收集的工具,不考虑其它的分析功能,只考虑收集,有哪些方面要考虑的? 首先看下一般的log框架是如何输出日志的...
  • HTML写一个登录框样式

    千次阅读 2019-09-19 18:53:47
    以QQ空间的登陆框为例,原先的代码复杂,还涉及了其他的知识,对于刚刚接触的人来说想写一点点样式来练练手的话可以看一下。 好之后是这个样子 下面是代码 <!DOCTYPE html> <html> <head> ...
  • 你可能第次见到这么长的总结文,有点硬核,耐心阅读
  • 博客的2年,我有12万+粉丝了,还上了百度百科!

    万次阅读 多人点赞 2021-06-21 10:10:48
    、粉丝还不少! 12万+的粉丝,在哪? 公众号:3万+、CSDN:5万+、思否: 2万+、Github: 1万+,其他平台:1万+,????合计 12万+ 粉丝。 如果仅公众号粉丝12万+,那就更帅了,哈哈哈,不过早早晚晚的事!毕竟拿到我...
  • 树莓派3强大多--相比树莓派2

    万次阅读 2017-11-09 10:19:41
    树莓派3:到性能和功能上有了质的飞跃,小到你几乎无法第时间在外观上区分和2代的差别! 2016年,2月29号,树莓派3正式发布了。 相信看到这个消息的工程师、电子发烧友、开源硬件爱好者等都迫切得希望能第...
  • 教你Makefile(全,含有工作经验的)

    万次阅读 多人点赞 2017-03-17 22:56:32
    或许多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为个...
  • 如何从零开始写一个操作系统?

    万次阅读 多人点赞 2019-08-20 18:17:55
    如何从零开始写一个简单的操作系统? 关注问题 回答 操作系统 编程学习 如何从零开始写一个简单的操作系统? 看了这个:从零开始写一个简单的操作系统 求指教。 关注者 4,787 被浏览 352,884 关注问题 ...
  • 这篇文章拖了久了应该说,本来想在上周的,但是事情实在是太多,又不想草草了事,所以搁置到现在。今天早上正好空出来了,就马上给大家码出来了。 开篇之前,提前预告,底部送价值99的简历模版,看完别忘记领。...
  • 作为个程序员我为什么要博客?

    万次阅读 多人点赞 2016-04-24 14:08:47
    作为个程序员我为什么要博客?从2012-05-22的第篇博文,到现在累计原创:523篇,转载:182篇,译文:8篇,转载的基本不会占用多少时间,我们来计算一下原创的+译文;这里假设平均写一篇博文需要2小时的时间...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 419,583
精华内容 167,833
关键字:

很大很大照样子写一写