知无涯,行者之路莫言终 [- 编程之路2018 -]

19,408 阅读33分钟

零、前言

2017年标签:"海的彼岸,有我未曾见证的风采"
2018年标签:"海的彼岸,吾在征途"
2019年标签:"向那些曾经无法跨越的鸿沟敬上——君临"

一、系列文章

相关性较强的文章,即前后文有所关系,或所属一个范畴的完结系列
也是近两个月的作品,总体感觉还不错,篇幅较长,稍微有点深度


1、Android四大组件系列(第二版) 共8篇

隶属Android点将台的八篇重量级文章,入门Android必备良药

颜值担当[-Activity-] 外交官[-Intent-]
绝命暗杀官[-Service-] 金科玉律[-AIDL-]
传令官[-BroadcastReceiver-] 烽火狼烟[-Handler-]
济世儒侠[-ContentProvider-] 三魂七魄[-Binder-]-(暂未完成)

编程语言对比手册

语言对比手册是我一直想写的一个系列:经过认真思考,我决定从纵向和横行两个方面
来比较Java,Kotlin,Javascript,C++,Python,Dart,六种语言。
纵向版按知识点进行划分,总篇数不定,横向版按语言进行划分,共6篇。

编程语言对比手册-纵向版[-类-]
编程语言对比手册-纵向版[-文件-]
编程语言对比手册-纵向版[-socket-] (待完成)
编程语言对比手册-纵向版[-群组-] (待完成)
编程语言对比手册-纵向版[-异常-] (待完成)
编程语言对比手册-纵向版[-字符串+正则-] (待完成)
从五大语言看函数和lambda表达式


2.OpenGL2.0入门系列(第一季) 共6集

一咬牙,学一波,3d的世界很精彩,也很难!!!

GLES2战记第一集--勇者集结
GLES2战记第二集--谜团立方
GLES2战记第三集--圣火之光
GLES2战记第四集--移形换影
GLES2战记第五集--宇宙之光
GLES2战记第六集--九层之台

效果 效果

3.Android多媒体相关

Android多媒体之图片综合篇
Android多媒体之认识声音、录音与播放(PCM)
Android多媒体之认识MP3与内置媒体播放(MediaPlayer)
Android多媒体之SoundPool+pcm流的音频操作
Android多媒体之Camera的相关操作
Android多媒体之Camera2的相关操作
Android多媒体之视频播放器(基于MediaPlayer)


4.杂谈系列(无止境)

一些有趣的文章,和主线不相关,一篇搞定,或思考,想法之类的文章

杂篇:一代版本一代神[-Gradle-]
杂篇:从整理文件发起的杂谈[-File-]
杂篇:计算机的世界:[-bit之魂-]
杂篇:理一理屏幕尺寸那些事
杂篇:随笔编程杂谈录--《隆中对》
杂篇:Android绘制函数图象及正弦函数的介绍
杂篇:Java源码阅读绘图规范手册--[捷特版]
JVM之类加载器ClassLoader


5.三端建站系列(完结) 共4篇

一直想找个机会把自己的三端技能总结一下,毕竟我的服务器还空荡荡呢
所以年底了,总结一下,写个小项目,挂在服务器上也好,效果:个人网站在此

建站四部曲之后端接口篇(SpringBoot+上线)
建站四部曲之Python爬虫+数据准备篇(selenium)
建站四部曲之前端显示篇(React+上线)
建站四部曲之移动端篇(Android+上线)


6.Flutter七日系列(完结) 共8篇

算是给自己的一个小挑战吧,用一周把Flutter淌一遍,入个门,
同时留下七篇长文,给待入坑的Androider打造几个小石阶

Flutter第1天--初始分析+Dart方言+Canvas简绘
Flutter第2天--Animation动画+粒子运动
Flutter第3天--基础控件(上)
Flutter第4天--基础控件(下)+Flex布局详解
Flutter第5天--布局实例+操作交互
Flutter第6天--异步-IO+网络访问+json
Flutter第7天--字体图标+综合小案例+Android代码交互
Flutter七日总结

~ ~

7.看得见的数据结构系列(第一季2018版) 共8篇

用Android绘制数据结构,而且添加操作交互,除了我,还有谁!(会这么无聊)
好吧,这就是灵机一动+血气上涌的产物,创造问题,解决问题,传道授业
希望2019年我可以有所进步,继续画出其他数据结构

看得见的数据结构Android版之开篇前言+完篇总结
看得见的数据结构Android版之数组表(数据结构篇)
看得见的数据结构Android版之数组表(视图篇)
看得见的数据结构Android版之单链表篇
看得见的数据结构Android版之双链表篇
看得见的数据结构Android版之栈篇
看得见的数据结构Android版之队列篇
看得见的数据结构Android版之二分搜索树篇


8.View篇(源码级)

Android视图层的读码记录

所得与所见:[-View周边-] 框架层
Android事件分发机制[-View-] 源码级
invalidate方法知多少[-View-] 源码级


9、Android原生绘图系列

视图层跑不掉要绘图,这个系列整个过程也是对我的一次升华
自从Path篇写完后,敲代码的感觉都不一样了,思考的视角有所提升

Android原生绘图1--Canvas
Android原生绘图2--Path
Android原生绘图3--Paint篇
Android原生绘图4--Color篇
Android原生绘图5--大战贝塞尔三次曲线
Android原生绘图6--实践一起画个表
Android动画Animator家族使用指南


10.自定义单体View五级系列(完结) 共5篇

一步步登顶自定义单体View

Android自定义控件(入门级)--数字显示器
Android自定义控件(新手级)--实践进度条
Android自定义控件(中手级)--局部图片放大镜BiggerView
Android自定义控件(高手级)--JOJO同款能力分析图
Android自定义控件(神级)+MediaRecoder录音

n条属性.png


11.ViewGroup篇:

ViewGroup篇:Android布局总汇篇
ViewGroup篇:玩一下自定义ViewGroup


12.Android粒子系列

玩玩而已,就是要,酷! 炫!

Android粒子系列1--让你了解粒子的运动
Android粒子系列2--炫酷倒计时
Android粒子系列3--文字的粒子化运动
Android粒子系列4--Bitmap像素级操作


13.RecyclerView零点突破系列

RecyclerView的重要性不言而喻,本想一击突破,却阵亡于自定义LayoutManager
前两篇完成,不是逆天改命的RecyclerView基本上都能应付,后两篇hold不住,以后再战

RecyclerView零点突破(基本使用篇)
RecyclerView零点突破(动画+边线篇)
RecyclerView零点突破(自定义LayoutManager篇)--待完成
RecyclerView零点突破(源码分析篇)--待完成

~ ~

14.Android材料设计MD系列(完结) 共8篇

材料设计Material Design,已经推出很久了,以前只是简单用用,没有系统总结过
所以找个机会总结了一波,总体而言Material Design用着还是蛮爽的

Android材料设计Material Design 开篇前言
Android材料设计之ToolBar+CardView+沉浸标题栏
Android材料设计之FloatingActionButton+Snackbar+SheetX3
Android材料设计之BottomNavigationBar+TabLayout
Android材料设计之AppBarLayout+CoordinatorLayout
Android材料设计之CollapsingToolbarLayout+Palette
Android材料设计之DrawerLayout+NavigationView+TextInputLayout
Android材料设计之Behavior攻坚战

~ ~

15.Java的IO基础系列

万变不离其宗,IO作为每种语言必备的模块

Java总结IO之总集篇
Java总结IO第一篇之字符流与字符编码
Java总结IO第二篇之字节流与字符流转化
Java总结IO第三篇之File类和Properties类
Java总结IO第四篇之其他IO流对象
安卓中对于文件夹的综合操作


二、分类文章:

未成形的系列文章(即未完结),但有明确所属范畴。
基本上文章的内容还行,是第二瓶颈期内和突破后的时段所写

1.容器源码解析:

Java总结之容器家族--Collection
Java总结之映射家族--Map概览
Java容器源码攻坚战--第一战:Iterator
Java容器源码攻坚战--第二战:ArrayList
Java容器源码攻坚战--第三战:HashMap(一)
待续...


2.网络编程

网络篇:协天子令诸侯[-Http-]
基于Socket的网络数据传输测试(Java+Android+腾讯云)
安卓网络编程之获取IP地址
安卓网络编程之http协议简介+小案例引入
安卓网络编程之Socket编程
Android基于socket的五子棋双人网络对战实现
[番外]理一理Android多文件上传那点事
Android原生下载(上篇)基本逻辑+断点续传
Android原生下载(下篇)多文件下载+多线程下载
待续...


3.自定义控件基础

Android自定义控件1--EventParser
Android自定义控件2--事件处理机制和生命函数调用
Android自定义控件3-动画Animator处理
[番外]Android触摸事件实现笔触画布

待续...


4.数据固化及解析相关

安卓SQLite基础使用指南
Json在Android中的使用--Gson
安卓中XML的三种解析与固化
SharedPreferences简单封装
待续...


5.玩转字符串相关

小案例Josn字符串的生成
[番外]:带你玩正则1--数据遍地是,看你取不取
分享一下我的三个代码自动生成工具类--助你解放双手
待续...


6.技术小点

Android技术篇之运行时权限
Android技术篇之反射
Android技术篇之注解Annotation
Android技术篇之XXX.9.png的使用全指南
Android资源res之矢量图完全指南(加SVG-path命令分析)


6.常用View

Android基础控件之TextView
Android控件之ImageView
Android控件之ViewPager的基本使用
Android控件之ViewPager滑动监听与自定义滑动特效
Android控件之res资源加载
Android之PopupWindow


7.Fragment

Android基础之Fragment基础使用
Android基础之Fragment生命周期测试
Android基础之Activity与Fragment的数据传递
Android基础之Fragment与ViewPager结合
Android基础之Fragment简单封装


8.ListView(不看也行,ListView如今用得也不多了)

Android基础之ListView基本使用及优化
Android基础之ListView的封装
Android基础之ListView的封装多条目
Android基础之ListView事件全解析
Android基础之ListView琐碎小知识点汇总


主流模式小项目

Android基于MVP实现号码归属地查询


四、SpringBoot篇

后端并非我专场,所以只是简单涉猎,对服务端有个整体的认识
前端和后端的融合才能更好的理解http,毕竟Androider不懂http将寸步难行
看完后自己搭建api测试接口,或者自己建个小网站还是没问题的(看起来20篇,其实都很短)

SpringBoot-00-之修改启动标题
SpringBoot-01-之初体验
SpringBoot-02-之参数传递
SpringBoot-03-之热部署
SpringBoot-04-之模板引擎--thymeleaf
SpringBoot-05-之上传文件
SpringBoot-06-之拿到你的图片!
SpringBoot-07-之数据库JPA(CRUD)
SpringBoot-08-之统一化json输出与自定义异常捕获
SpringBoot-09-之初阶整合篇(上)
SpringBoot-10-之初阶整合篇(下)
SpringBoot-11-之从本地到线上
SpringBoot-12-之Ajax跨域访问全解析
SpringBoot-13-插曲之Node文件重命名+自动生成json对象
SpringBoot-14-MyBatis预热篇,MySQL小结
SpringBoot-15-之整合MyBatis-注解篇+分页
SpringBoot-16-之整合MyBatis-xml篇+单元测试
SpringBoot-18-之AOP+log4j 记录访问请求信息
SpringBoot-19-之发送邮件
SpringBoot-20-REST API接口

另外前端属于我的隐藏技能,学习笔记未公开


-->正文开始<------------------

简述:

1).2018年基本上都是在总结Android及周边,一边总结一边认识新知识,记录成文。
2).整年中前半年Android周边拓展的比较多,入手了SpringBootReact两大神器
3).在8月份开始在简书零星发表一些个人文章,主要原因是我看起来方便些,11月侧重掘金
4).11和12月是我的一个成长期(突破第三瓶颈),长文系列都是在这两月内完成的
5).下面先总列一下今年发表的一些文章:镇楼:随笔编程杂谈录--《隆中对》


前言:

如果你能看到这里,非常感谢,下面将回顾一下我的编程史
吾的编程生涯到2019年3月31日就满2年了:
在这2018和2019年的交接之际,准备总结一下,并介绍一下自己

1、张风捷特烈是什么意思?

独一无二的个人标识,也是吾今世的唯一笔名,见名如见人


一、编程前事回顾

先了解一下个人经历:

1.大学与专业

大学:安徽建筑大学
专业:工业设计
一个上识天文,下通地理,博学古今中外,会画图,会n个软件,需要无限创意的神奇专业。

说白了就是设计一些可供生产的产品:
小到牙刷铅笔,大到汽车飞机,或者说everything
因为设计的本身就是对世界的认知和再创造,只要有能力便可以进行设计与创造

所以,工业设计需要广泛的知识面,这正让我各方面知识储备的来源,
还要各种软件的使用(这让我有很强的软件使用经验):
二维的软件:PS、CAD、AI、AE 三维设计软件:SolidWorks、3dMax、ProE等,
以前很熟练,现在就PS还保持,因为偶尔修修图,画画图的

所以自称半个艺术家,这也是我文章里配图比较好的原因,因为是自己画的
大学的熏陶让我对表现力十分执着,我希望通过更好的表述让别人对复杂事物有更好地理解
可以说我学的也不是非常好,因为和主流设计理念不怎么合(我并不怎么想设计已经有的东西)
再加上我的绘画水平也是半吊子,能拿得出手的实在不多,下面两幅凑合看看

作品.jpg


2.大学对我的影响

陶冶了情操,炼就一颗对事物广为容纳的心,以及对万物的思考
望远镜,显微镜,文学,数学,哲学我尽量拓宽自己的视野,然后去思考一切的联系
作为一个理科生,我对文学可以说十分热爱,大学可以说是看了一箱书
我对的执着,便是我对境界的执着,创作过很多自认为非常优秀的作品,也获过奖

虽然喜欢文学,但也从未放弃对理性的思考,数学可以说是我离得最近,离我最远的东西
由于算半个设计,高数学得非常浅,深层的高数基本都是自学的(如果这都不算爱)
对数学的热爱也促进了我的分析能力,以致尝试去从理性和感性两方面去思考这个世界

想得多了,必须要记录与总结,为了能更好的表达自己的思想,诗是最佳选择
于是境界一词注定伴我终生,我希望不断突破自己的想象力与瓶颈,用我的语言表达出这个世界
思考事物之间的联系可以说误打误撞为以后的编程思想打下很好的基础,下面列出几首代表作:
如果你懒得看,这里有我的朗诵(现在听了一下,感觉恍如隔世)

~ ~ ~
《海与鹿王》 《游梦人·诗的诞生》 《山海诗》
《零境》 《亡灵之歌》 《诉世书》

3.关于毕业与工作

16年毕业后,第一份也是最后一份工作是辅导资料的校正和编稿,那时是打算成为一代文豪的
这份工作对我的塑造也有很大的帮助:耐心、细心、思考以及时间
因为闲暇的时间比较多,下班也不会再涉及到工作上的事,所以我能更好的做自己喜欢的事
于是我开始广泛发展自己的爱好,毕竟以前有很多想做有没有时间做的,其中有一点便是单片机


一、编程生涯的开端

我把学习编程当做一次远航,想要去见证,海的彼岸是何种风采
这远航并非坐船,而是去铸造一座通往海的彼岸之桥。
知识的积累便是这座桥的木料,我要通往海的彼岸,同时也要留下一座桥供后人去走。
于是记录成了我的习惯,现在看来,记录和整理是一件对coder至关重要的事,
文件如此,代码也如此,标记与整理在我看来是一个超重量级的话题。


2017年:海的彼岸,有我未曾见证的风采

1.初遇编程

大学中有两次与编程的接触:
第一次是C语言的课程----过了就没有再去深入
第二次是大学想要自学C++----可是没几天就放弃了(感觉作用不大,当时还有更重要的事)
个人一直认为,作为21世纪的青年,不会点编程总感觉对不起自己。


2.从单片机到Android

工作之余,是有些自己的时间的,然后我就广泛发展兴趣,有一阵子,想去玩单片机。
然后就买了很多零件,第一次将代码烧录到单片机里,完成一闪一闪的灯时的心情记忆犹新。
入门的代码很简单,大学C语言那点底子还是够用的,记得是2017年过年期间,都在玩单片机。
然后寄存器,运算放大器,排组,很多传感器模块……进入了我的世界。
用电子显示屏和时钟芯片做出了电子时钟之后,本来打算玩Linux开发板的,但是感觉有点贵。
想着安卓不就是块生产好的开发板吗?去玩玩Android呗。然后我们就相遇了,
然后一入宫门深似海,从此硬件是路人...

~ ~ ~

3.我选择Android的几个原因

1).经常用,但对其一无所知,这让我无法忍受,就像有一个华丽的盒子却从未打开过
2).有手机,有电脑,别人能玩,我当然也可以,而且我相信自己的分析力
3).小时候一款叫"地心游记"的手机自带小游戏,怎么找也找不到安卓版,所以...
4).我想让自己的数学知识有些用武之地,毕竟日常只需要初中水平...
5).我喜欢文学,并非什么华丽的辞藻,而是语言本身的表述力
编程作为与计算机交流的语言,其表现力与我的境界追求并不矛盾


4.我在突破Android第二层瓶颈时写下:

曾经的安卓对我来说,像一个黑匣。
从我决定打开的那刻,一切已然不同。
它是无数的残片,看上去一无所知,
就像孩子看到万片拼图混杂的心情。
畏惧与兴奋,和期待,
期待拼图完成后是什么样的风采。

我想要见证它的风采,
想要站在更高的层次看清它是什么。
于是我开始向那片海前进,
渡过那片代码的海洋,通往新时代地方。
现在,我拼完了一角,而在这个时刻,
它的宏大已经完全充盈了我的视野。
它也已不再仅是一幅画面,
在我眼前的分明是一个世界,称为境界


5.初入Android与第一瓶颈

2017年3月31日 被我标记为自己的编元日,便是我进入Android的日子
只有一点微薄的 C++ 语法支撑(单片机时自学了一点C++)和微薄的单片机硬件常识
就这么轻装上阵,踏入了Android,一开始肯定跟着视屏学,第一个HelloWorld记忆犹新
当时还是用Eclipse,装Java、下软件、装插件和下SDK,当时连Java是什么都不知道
跟着视屏一步一步来,弄了大半天,第一个项目总算跑起来了

说说感想:C++自学了一个月,也就是在控制台和cmd上运算或输出
安卓里一下就可以显示到手机上了,开心和激动,有种I can 的感觉
这种所见即所得心情,是很让人有成就感的,因此与Android"一见倾心"

前期也没有什么学习方法,跟着视屏依葫芦画瓢,类比与修改
知道了那语言叫Java,以前一直以为Java是一个小游戏...
也不断发现 C++ 和Java的异同点,感觉Java容易一点,便觉得也没有太大的困难
然后思考与总结,表象上大概明白了安卓怎么运行,知道改哪里界面上会有什么改动
就这么稀里糊涂的把Android的布局和基本的View过了一遍
setOnClickListener一直不明白是干嘛的,只知道:这样写,点击就有效果

"地心游记"一直是我的心结,有了点基础后我找了个数独小游戏的教程看
然后发现那点编程老底完全不够用,第一瓶颈出现了:编程基础以及复杂逻辑的控制薄弱
ArrayList,Map,回调...都不知道,即使如此,学到一半了,也硬生生的跟着视频敲完了
当时有些动摇,这真的hold不住,太复杂了,逻辑控制根本把握不住,而且这也仅是数独而已
我是打算在Android中把Java学会的,有种会10+10之后,自然会1+1的心态
我并没有转战Java,而是挑了一个更大的坑,就是植物大战僵尸,也是跟着视频敲的
现在想想真的挺傻的,用Android版的cocos2d,唯一的收获也许就是对对象.方法名的深刻认知
那份教程没有敲完,敲不下去了,还是基础太弱,依葫芦画瓢都不行,于是转战Java


二、从Java到Android

1.与Java的爱恨情仇

有种一夜回到解放前的感觉,木有视图,只有控制台
但学起来感觉比C++轻松许多,Andoird里已经对Java有了初步的认识
面相对象的基本思想也已经成型了,学起来还蛮开心的,我沉浸在Java的世界,
认识着一个一个类,就像获得了一个个工具,也像认识了一个个功能各异的"伙伴"
就这样,我初步认识了Java,并视它为编程母语,这是我第一次系统的认识一门编程语言

当然一些不熟悉的关键字和技术也让我挺烦的,特别是线程和接口
还有final和static一开始我也很难接收,逻辑控制能力比以前强很多
不知道你有没有自定义过World类,有没有敲过new World()
Java的学习,已经可以看到一些曾经无法看到的风采了,境界有所提升

第一次学Java最痛苦的就是IO,那么多类,长着又差不多,还都能混着用
我那小小的内心是承受不了的,基本用法算是了解,至于用哪个好,是一头雾水
这次的Java之旅,最有收获的当属对容器类的了解,特别是ArrayList


2.与Android的磨合期

回归安卓之后,接着把植物大战僵尸剩下的视频敲完了,感觉还不赖
然后就进入了Android的常规学习中、从四大组件开始
Activity和广播感觉还行,Service的Binder听得迷迷糊糊地
ContentProvider听说不重要,听了一点直接放弃了,最烦的就是那个Context
可以说魂牵梦绕,也就是做梦都梦到,看了很多资料也不能理解,只能强记
接下来的一段路漫长而艰苦,安卓初期的朋友都应该知道,苦乐共存

一次小开窍:有时候想要Context,但这个类没有,感觉不开心
有一次突然想到,我可以传进去啊(现在想想挺傻的),当时如获至宝的感觉
从此构造传值为我打开了一扇窗,也开始去渐渐发现类与类之间的关系


3.与设计模式的初遇

记得学了很久才听说"设计模式"一词,因为本身是半个设计出身,感觉有意思
然后一入佛门深似海...,两个字:抽象。几个类这么传,这么继承,然后运行一下
哦,这样啊(手动:面无表情),这也是我对接口的懵懂开端,总之--无感


4.Android的第二瓶颈

一套课程看下来,基本上算是入了门,接下来《第一行代码》和《疯狂的Android》
两本书我是一直捧在手里的,基本上都敲了一遍,作为巩固还是蛮好的
时间点大约是2017年11月份,一遇到网络我就犯怵,因为不懂,找个post的api都找不到
在当时看来,Android应用层的东西基本上都了解了,稍微底层一点点就不行了
这让我感到寸步难行,Android并非一个独立的体系,它对外的延伸需要宽广的知识面
而网络是必经之路,只有你玩编程http是怎么也跑不掉的,于是一别Android


5.再遇C++与Cocos2dX的短暂时光

还是"地心游记"这个心结,让我想去尝试Cocos2d,当时Cocos2dX的文档很多
C++ 就C++ 吧,再见C++感觉并不像曾经那么晦涩了,很多稍微想想就能反应过来
然后Cocos2dX愉快地入个门,还蛮好玩的,之后感觉能力不足,也就没有死磕了
毕竟目的只是简单涉猎,并未打算深究,"地心游记"继续心结着我...

曾写下一个小片段: 只见捷特从背后抽出金色Java之剑,朝向Cocos2d-X巨兽冲去。
他左手从腰间取出Android晶石,嵌入剑中,瞬时绿光环剑而旋。
一斩而过,巨兽四周环绕C++光环,竟丝毫未伤 。
巨兽道:“小子,等你可破我光环再来吧。”


三、前端与后端的融入

1.jsp的短暂相处

一开始认识的是jsp的webapp,也因此了解了TomCat,知道了一个服务器和浏览器狼狈为奸
MySQL数据库也是在这时摸到了一点边(当时在Android里多少了解过SQLite)
jsp是html嵌入java代码,但html不会,跟着教程也基本明白怎么玩的
jsp的JSTL虐的我够呛,还有请求、响应傻傻分不清、还经常简写rep,req的...
在了解服务器的一些知识后,非常想有一台服务器,当时看到阿里云的新用户免费半年
那还等什么,搞起啊,于是从小白,到买域名,到服务器,到备案,一路走来
当用手机成功访问的那一刻,我感觉自己已经连接了世界
大事表中记录:2018年1月25日17时14分33秒:网站备案成功,首次访问
此刻起,在夜色的繁星之中,便有了一颗仅属于我


2018年:海的彼岸,吾在征途

2.与前端的相遇

我与前端的机缘全在于我的网站,我给自己6天,将一个网站模板改成我的诗集网站
当时li是什么都不知道,只是一边改,一边看效果,把能换的换掉
就这样,我改出来我的诗集网站(全是静态界面,一首诗一首诗地改...)
对于一个前端小白来说,做成这样,感觉已经是非常自豪的事了

Yi人诗社.png


3.发现慕课网与专攻前端

保守估计:慕课网80%前端的免费课程我都看完了
2018年前几个月,也许是为了完善我的网站,也许是觉得非常好玩
在Android里搞了半天的界面,html+css很容易就实现了
更重要的是放在浏览器就能运行了,修改测试什么的非常方便
一开始感觉前端不像编程,就是在布局和拼凑,凑成一个界面而已


4.与JavaScript的擦肩与重逢

玩jsp的时候就听说JQuery的盛名,当时因为MyEclips无法提示JQuery感觉很不爽
这里交互使用JQuery整合我意,当时感觉JQuery真是太好了,各种方便
JQuery可谓滚瓜烂熟,JavaScript被我当成低能儿,一直没睬她
直到课程中反复出现JavaScript的闭包,原型,我才意识到还能怎么玩
前端也正式被我看成了一门编程而不仅是布局
那段时间被JavaScript的无拘无束,天真烂漫深深吸引,我开始写些插件玩
当前端已经感觉ok了的时候,nodejs出现在我的世界,一切又变了


5.我的辞职与闭关修炼

自从我的网站上线后,便有了辞职闭关修炼的念头(毕竟工作与编程无关,继续只是徒耗时间)
文坛似乎并不是我的归处,而编程的精确,纯粹,表现力深深吸引我
年间的一些私事也加深了这个念头,我必须要静下心来,慢慢成长
于是一曲《白皇》别文坛,我已决心走上编程的道路,既然如此,我需要沉淀
过年后上班的第一天,我便辞职了,之后便在安徽省图书馆静修(有自习室,有插座,足以)


6.SpringBoot之旅

2018年的2月尾,由于慕课网,我接触了SpringBoot,怎一个好字了得
SpringBoot和React差不多是同时开始学的,交织了我的3、4、5月
然后上传、下载、浏览器的请求与服务器的响应有了理解
大事表中记录:2018年5月26日11时28分11秒754毫秒:
安卓项目和SpringBoot构建的线上服务器后台数据库连接成功,
从安卓的登陆界面成功插入第一条数据。实现了安卓和后端服务器数据库的第一次握手
这也许是我的一小步,确实我编程生涯的一大步:
服务端和移动端的顺利握手,打通了我长久以来的第二瓶颈
然后一个三端的线贯通了(当时还是主要使用JQuery)


7.我与React的相遇

从require.js的模块化开始,我看到了前端的曙光
毕竟一种觉得前端很散,js就像一个个散兵,模块化让它成为了正规军
之后html+css+js的传统逐渐被升级,nodejs的出现让js大翻身,
都能想象出JS红着眼圈说:"哼,看你们还说本姑娘不是语言。"
前端的中世纪传统开发模式[JS+Css+Html]逐渐[模块化/webpack],
首先出现在我面前的是Vue,简单了解了一下,感觉风格和我不符。
倒是对React一见钟情,然后开启jsx+scss+ES6+的前端豪华阵容,
一直学习着React,我非常喜欢她,以致当时有转做前端开发的冲动
当我看着一个Vue的项目视频,能够把它写成React项目时,我觉得已经可以了

我曾写下这么一段话:
javascript作为一个10天就完成核心语法的语言,
一步步在web前端摸爬滚打,依靠着薄弱的语法基础,
在漫长的时间使用原型模仿类的概念,利用模块模拟包的概念,
直至ES6,js终于摆脱了自身的束缚,脱胎换骨——一身华丽的战甲披身,
凌乱的头发也梳妆整齐,手持node长枪,威临天下。
成为编程界一大战将,征伐各个领域。一部前端史便是javascript的奋斗史


8.Canvas与SVG的相遇

首次接触是在前端,canvas作为html5的新标签,蕴藏着强大的能量
曾在Android简单玩过,这次前端的canvas让我领略到绘制的奇妙
SVG更是令我深深折服,开起来对前端的另一个视角
虽然是JavaScript控制的绘图,但和Android异曲同工
也为我之后Android的绘图打下了坚实的基础(下图为Canvas的手写小例子)


9.与Python的三天相处

感觉哪哪都在谈Python,刚好两端已经融合,想消化消化再回安卓
六月尾玩了一下Python,感觉语法特别扭,没有逗号还好说,没有大括号简直尴尬症都犯了
第一天上半天语法如入手,如何面相对象,如何文件操作,感觉和JS的ES6挺像的
下午就开始玩numpy包了,矩阵玩起来还蛮爽的,然后Matplotlib画画图,
第二天图像包Pillow,数了些花生,玩了一下图片的色彩调节和字符码图片
基本操作和JS很像,拿到像素后天下我有,所以并没有耗费太多时间
第三天在玩爬虫,也造出了一个小爬虫,可以爬出一个网页的所有图片
只有三天,我便不深入了,毕竟吾心是属于Android,不过Python真的挺好玩,库多!


四、我的博文分享

1.SpringBoot系列

2018.07.15 我开始在简书上写个小系列总结一下SpringBoot
目的是查看比较方便,一般在公交车上拿着pad看,当然也想多少攒点人气
SpringBoot系列每篇都挺短的,有时候哪里忘了,可以快速找到看看
就这样一点点写了一个入门的小系列,当然看得人也不是很多(现在也是)


2.断剑重铸,骑士归来--重返安卓

可以说我是带着满腹经纶重回安卓的,我开始从头梳理Android,取名Android技术栈
然后基本每日一篇,一直维持到现在,前期的水平有限,篇幅不是很长,点也不是很深
然后10月份迎来了我的Android的第三次瓶颈:数据结构+源码的阅读力非常弱,还有英语的局限
我开始决定去再看一下数据结构,数据结构大概修炼了六七天,感觉和第一次相比判若两人
三端的贯通和逻辑的把握程度,让我hold住了到红黑树为止的数据结构,感觉已经够了
接下来试着读读源码,从我最熟悉的ArrayList开始,发现和学数据结构时写的总体思路一致
然后是HashMap,栽在了红黑树的相关操作上,感觉也差不多了,读码的能力稍微强了一些

曾写过这样一段话: 感觉有时候看源码有点像在风景区看风景,抱着的态度决定你的历程,
那些漫步于风景中的人会着眼当前,收获每一个瞬间带给自己的感触。
那些苛求踏遍每一份土地,览尽一切风光的人,倒是捉襟见肘,让行程变得劳顿。
后者或许览尽风光而无憾,前者虽只览片景却仍收获颇丰,然而这并没有好坏之分,
只有对你适合与否。

接着就是对网络的socket的整理,从java到Android
然后使用线上的服务器进行测试,也加深我对TCP和UDP的理解
最大的收获便是完成了五子棋的双人网络对战


3.在掘金发文和认识一些人

11月初,也是我Android原生绘图系列写了两篇的时候,柚子茶邀请我在掘金发文
在能读源码之后,我在调用方法时会时不时去源码里瞅两眼,使用深那么一丢丢
Android原生绘图系列自认为是非常不错的,也这个系列认识了鸿洋(我时不时向他投稿)
曾经他的视频和教程曾给我很大的帮助,认识他我非常开心
之后的博文我开始注重质量和篇幅,能用一篇的就不用分两篇,因此被误认为大佬


4.看得见的数据结构给我带来的变化

当时是11月21号,突发奇想--可以画数据结构,源于对Android绘制能力的信心
用了5天,写了八篇数据结构的详解,并完成了Ds4Android的绘制与交互
当时想:如果遇到一座山挡路,大多数人都会选择绕过去,怕爬不过再返回更浪费时间
山下的平路尽管障碍较少,但高度提升的很缓慢,虽然你确实在走,但视野会受限
而我想要去爬,因为我是想要见证风采的,如果目标是巅峰的风采,这个小山坡岂能拦我
结果还不错,可以说非常满意,或者超过预期,此等风采只有亲临方知。
可以说我并未攀上山顶,被AVL树拦住了,由于要旋转,节点高度经常变,
我根据节点高度控制分叉的角度,不然第三层就会出现遮挡问题...
我看到的风采已经超乎预期,没必要去再往上了,毕竟还有更重要的事
然后怀着半山腰的风采前行,我是"登山"失败,但收获也非常多


5.逐渐前行

从建站的四部曲和Flutter七日,一步一个脚印不断前行
当然还有很多待提升的地方,如并发和jvm,深入了解一下kotlin
打算2019年3月尾出山,闭关修炼,为期一年。还剩三个多月
把还没总结的东西继续总结,下一点是多媒体相关,并逐渐转用kotlin
安卓的Binder机制有待了解,路漫漫其修远兮,吾将上下而求索
现在我也并不是什么大佬,但将来会是,毕竟我的目标只有顶峰以及那片未知的风采


2019年标签:向那些曾经无法跨越的鸿沟敬上——君临

目标:1.找个工作 2.哪里不会点哪里