最近心血来潮,搭建了我的网站,一方面想学习下新的知识,另外一方面也想有个做品,在这分享下本身的体会,先不说知识点。css
建站容易吗,因人而异,而我在完成这个最最简单的工做时起码经历了3个阶段不一样的心理变化,我也很意外。html
第一阶段 - 信心满满:前端
前端不就是Html,CSS和JS三剑客吗,配个Java后端实在是太简单了,何况还有bootstrap和Spring框架,5分钟不用就能打好。因为公司用eclipse而处处都夸idea,因此我打算用新的编辑器去作,而就这个简单的决定却花费了很多时间,开始打击个人信心。java
什么问题?就是热部署,在eclipse中项目启动后如果更改了文件保存,若是勾选了自动build就会自动编译,改变的代码马上会被使用。而idea则不是,因而乎面向百度编程,在通过几个方案的设置后会发现自动编译是能够了,可是若是这样设置debug模式不可用(蛋疼),而后继续查找信息,终于翻到了一篇信息解释了这个问题,最后综合考虑仍是选择手动编译来进行运行时的部署。mysql
问题1牵扯出问题2而且极可能会有问题三、4...,最关键的是当问题一连串的拉出来时,越末尾的问题越难查。已经不是百度第一页,百度前几条就能解决的,并且不少时候并无100%针对你提问的,极可能这篇文章只有50%,另外一篇30%,要将几篇文章结合起来,才能对目前的困难有个初步的解决方案。在这过程的不免会碰到路走不通的状况(没人为你这问题提供回答),或者是路途崎岖(改个BUG还得刮骨疗毒),这时取舍权就在本身手中,这跟工做是不同的,本身建站是没人帮助的,没有上司拍板,没有明确的目标要求(一句话,靠本身)。jquery
第二阶段 - 死磕到底:linux
为何要作网站,还不是想有点追求。git
那作的途中就会碰到不少阻挡你追求脚步的障碍,例如bootstrap的模态窗(就是个弹窗),在我使用时会发现,浏览器页面若是有滚动条再配合固定的顶部导航栏,那么弹窗弹出时会将滚动条弄消失,而后页面元素会撑满,关掉弹窗会让页面恢复以前的样子,有种鬼畜的样子:程序员
打开模态框前:ajax
打开模态框后:
是否是很不爽,我才刚用bootstrap来创建帝国,结果弄个弹窗就告诉我大清亡了?
因而又百度没准是我使用姿式不对,就是此次经历让我深有体会,框架什么的使用方法,其实真的不会很具体的教你什么,运气好你按教程作了,完美出效果。但更多状况会有各类问题,甚至连教程都看得一脸懵逼(怎么这么不详细啊擦),结果操做正确,bootstrap的确存在这个问题....
又到了老套路解决问题的时候,结果因问题偏回答的很少,而且一些答案单看是不知道对不对的,还得尝试,可能解决了当下这个问题却对其余正常功能形成影响。最后是在不起眼的角落里最优解。
这个只是建站中的一个小插曲,还有许许多多意向不到的问题,例如云服务器数据库被入侵,服务器Tomcat部署各类报错等等。
第三阶段 - 敬畏并充满但愿:
初生牛犊不怕虎,工做中不少外在的框架,环境部署等等外部条件都是别人搭建好的。每每只要写业务逻辑便可,当本身动手后发现外面的世界很大很大,本身脑海里蹦出的小要求,简单的效果,网上一搜都是值得深挖的东西(例如各类验证码,如今都涉及到大数据分析用户行为来判断是人仍是机器,而不是简单的验证)。一些之前自认为懂得知识点居然还有不少小细节(用了这么久的JS,你参透原型链了吗,并以此为原理来解释下你的JS继承为何要这么写吗)。
书到用时方恨少,不仅是功能,更有性能(缓存的使用等),安全(CSRF等)其余平时不多注意的问题(都是大佬们写好了)。一些技术的使用后再了解下背后的实现,设计思想也是十分有意思的(例如Springboot,Spring这些,用起来很方便,很强大,但是为何呢,其实没有魔法没有duang,都是程序员一行行代码堆出来的)。
如今底子已经勉强建好了,各类知识点均可以在里面尝试,有趣的或者很坑的我会记录下来和你们分享~
欢迎关注,博客会陆续推出有意思的知识点和各类神坑,但愿和你们一块儿探讨。
网站地址为:https://www.top-housekeeper.xyz
等网站再成熟点会公布git地址,目前网站运用到的知识有:
1.js知识:面向对象编程思想(建立工具类,封装ajax造成统一的请求和回调流程,对象的基础设计)、继承的实现(包含原型链知识)
2.html和css知识:盒子概念、各类定位
3.bootstrap:模态框、弹框、导航、轮播图
4.jquery:ajax的使用
5.java:一些设计思想、log4j2等插件的使用
6.springboot:对系统异常的统一拦截、对前端不一样数据的接收和返回(跳转)、拦截器、过滤器、系统初始化、mybatis
7.freemark:模板的使用
8.redis
9.mysql
10.linux:mysql、redis、https的设置、tomcat
11.网站安全:数据库安全、XSS攻击、滑动验证码的设计