最近心血来潮,搭建了个人网站,一方面想学习下新的知识,另一方面也想有个作品,在这分享下自己的体会,先不说知识点。

建站容易吗,因人而异,而我在完成这个最最简单的工作时起码经历了3个阶段不同的心理变化,我也很意外。

第一阶段 - 信心满满:

  前端不就是Html,CSS和JS三剑客吗,配个Java后端实在是太简单了,况且还有bootstrap和Spring框架,5分钟不用就能打好。由于公司用eclipse而到处都夸idea,所以我打算用新的编辑器去做,而就这个简单的决定却花费了不少时间,开始打击我的信心。

  什么问题?就是热部署,在eclipse中项目启动后若是更改了文件保存,如果勾选了自动build就会自动编译,改变的代码立刻会被使用。而idea则不是,于是乎面向百度编程,在经过几个方案的设置后会发现自动编译是可以了,但是如果这样设置debug模式不可用(蛋疼),然后继续查找信息,终于翻到了一篇信息解释了这个问题,最后综合考虑还是选择手动编译来进行运行时的部署。

  问题1牵扯出问题2并且很可能会有问题3、4...,最关键的是当问题一连串的拉出来时,越末尾的问题越难查。已经不是百度第一页,百度前几条就能解决的,而且很多时候并没有100%针对你提问的,很可能这篇文章只有50%,另一篇30%,要将几篇文章结合起来,才能对目前的困难有个初步的解决方案。在这过程的难免会碰到路走不通的情况(没人为你这问题提供回答),或者是路途崎岖(改个BUG还得刮骨疗毒),这时取舍权就在自己手中,这跟工作是不一样的,自己建站是没人帮助的,没有上司拍板,没有明确的目标要求(一句话,靠自己)。

第二阶段 - 死磕到底:

  为什么要做网站,还不是想有点追求。

  那做的途中就会碰到很多阻挡你追求脚步的障碍,例如bootstrap的模态窗(就是个弹窗),在我使用时会发现,浏览器页面如果有滚动条再配合固定的顶部导航栏,那么弹窗弹出时会将滚动条弄消失,然后页面元素会撑满,关掉弹窗会让页面恢复之前的样子,有种鬼畜的样子:

打开模态框前:

打开模态框后:

  是不是很不爽,我才刚用bootstrap来建立帝国,结果弄个弹窗就告诉我大清亡了?

  于是又百度没准是我使用姿势不对,就是这次经历让我深有体会,框架什么的使用方法,其实真的不会很具体的教你什么,运气好你按教程做了,完美出效果。但更多情况会有各种问题,甚至连教程都看得一脸懵逼(怎么这么不详细啊擦),结果操作正确,bootstrap的确存在这个问题....

  又到了老套路解决问题的时候,结果因问题偏回答的不多,并且一些答案单看是不知道对不对的,还得尝试,可能解决了当下这个问题却对其他正常功能造成影响。最后是在不起眼的角落里最优解。

  这个只是建站中的一个小插曲,还有许许多多意向不到的问题,例如云服务器数据库被入侵,服务器Tomcat部署各种报错等等。

第二阶段 - 敬畏并充满希望:

  初生牛犊不怕虎,工作中很多外在的框架,环境部署等等外部条件都是别人搭建好的。往往只要写业务逻辑即可,当自己动手后发现外面的世界很大很大,自己脑海里蹦出的小要求,简单的效果,网上一搜都是值得深挖的东西(例如各种验证码,现在都涉及到大数据分析用户行为来判断是人还是机器,而不是简单的验证)。一些以前自认为懂得知识点竟然还有很多小细节(用了这么久的JS,你参透原型链了吗,并以此为原理来解释下你的JS继承为什么要这么写吗)。

  书到用时方恨少,不只是功能,更有性能(缓存的使用等),安全(CSRF等)其他平时很少注意的问题(都是大佬们写好了)。一些技术的使用后再了解下背后的实现,设计思想也是十分有意思的(例如Springboot,Spring这些,用起来很方便,很强大,可是为什么呢,其实没有魔法没有duang,都是程序员一行行代码堆出来的)。

    现在底子已经勉强建好了,各种知识点都可以在里面尝试,有趣的或者很坑的我会记录下来和大家分享~

搭建Springboot网站有感的更多相关文章

  1. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA

    笔记 2.快速搭建SpringBoot项目,采用IDEA     简介:使用SpringBoot start在线生成项目基本框架并导入到IDEA中 参考资料:         IDEA使用文档    ...

  2. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse

    笔记 1.快速搭建SpringBoot项目,采用Eclipse     简介:使用SpringBoot start在线生成项目基本框架并导入到eclipse中 1.站点地址:http://start. ...

  3. 如何申请https证书、搭建https网站

    如何申请https证书.搭建https网站 随着国内搜索引擎巨头百度启用全站https加密服务,全国掀起了网站https加密浪潮.越来越多的站点希望通过部署https证书来解决“第三方”对用户隐私的嗅 ...

  4. github pages搭建个人网站如何添加导航

    折腾过github pages的同学都清楚使用jekyll搭建个人网站的目录结构,而导航最终的代码是在使用的主题目录中的default.html文件中的. 我的结构如下: . ├── .html ├─ ...

  5. Windows Azure免费空间如何搭建PHP网站/数据库、域名绑定

    7月份,阿象为大伙介绍了中国版Windows Azure如何建站.自定义远程虚拟机,最高可选四核.28G内存的服务器,相信不少站长.开发者用户大呼过瘾.不过Azure建站系统仅支持SQL数据库,并不支 ...

  6. GitHub上搭建个人网站

    大致如下步骤: 1.注册Git账号 2.创建SSH keys 3.新建repository --- 4.设置网站 5.clone库到本地 6.提交.上传 7.预览 本教程默认你了解GitHub的基础之 ...

  7. 从零开始用 Flask 搭建一个网站(一)

    前言 笔者之前未接触过 Python,只是略懂一点前端,所以说从零开始也相差无几吧.Flask 是一个轻量级的基于 Python 的框架,但是扩展性非常良好(Github 上 22000 多个 sta ...

  8. 从零开始用 Flask 搭建一个网站(三)

    从零开始用 Flask 搭建一个网站(二) 介绍了有关于数据库的运用,接下来我们在完善一下数据在前端以及前端到后端之间的交互.本节涉及到前端,因此也会讲解一下 jinja2 模板.jQuery.aja ...

  9. 从零开始用 Flask 搭建一个网站(二)

    从零开始用 Flask 搭建一个网站(一) 介绍了如何搭建 Python 环境,以及 Flask 应用基本项目结构.我们要搭建的网站是管理第三方集成的控制台,类似于 Slack. 本篇主要讲解数据如何 ...

随机推荐

  1. Xilinx ISE如何调用Modelsim进行联合仿真

    图: 在对设计的芯片进行测试时,经常要用到FPGA,可是里面的仿真工具却不如Modelsim那么好用,且在规模比较大时,ISE在仿真时,软件经常会报告内存限制的问题,此时一般会切换到Modelsim软 ...

  2. k8s学习 - 概念 - Pod

    k8s学习 - 概念 - Pod 这篇继续看概念,主要是 Pod 这个概念,这个概念非常重要,是 k8s 集群的最小单位. 怎么才算是理解好 pod 了呢,基本上把 pod 的所有 describe ...

  3. 对象属性 Object.getOwnPropertyNames() Object.keys for...in

    1.Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组. Object.getOwn ...

  4. 和朱晔一起复习Java并发(二):队列

    和朱晔一起复习Java并发(二):队列 老样子,我们还是从一些例子开始慢慢熟悉各种并发队列.以看小说看故事的心态来学习不会显得那么枯燥而且更容易记忆深刻. 阻塞队列的等待? 阻塞队列最适合做的事情就是 ...

  5. Apache struts2 Freemarker标签远程命令执行_CVE-2017-12611(S2-053)漏洞复现

    Apache struts2 Freemarker标签远程命令执行_CVE-2017-12611(S2-053)漏洞复现 一.漏洞描述 Struts2在使用Freemarker模块引擎的时候,同时允许 ...

  6. py+selenium+IE10【IE已停止工作】【已解决】

    问题:跑自动化时,到某个用例IE就崩,提示已停止工作.   手工跑的时候,IE挂,提示“Internet Explorer 已经为了帮助保护您的计算机而关闭此网页”. 且每次都在需要调用flash插件 ...

  7. Django自带的后台管理系统

    1.准备工作: 1-1.创建django项目和应用 1-2.修改settings.py配置文件: #应用配置: INSTALLED_APPS = [ 'django.contrib.admin', ' ...

  8. Redis(一)--- 概述

    使用redis很长时间了,但只是限于使用,一直也没有进行系统的学习与底层研究,现系统的学习一下redis并记录笔记. Redis 1.Nosql 非关系型数据库,key-value键值对存贮. 2.内 ...

  9. C# Socket服务器端如何判断客户端断开求解

    Socket client //假如已经创建好了,连接到服务器端得Socket的客户端对象. 我们只要client.Poll(10,SelectMode.SelectRead)判断就行了.只要返回Tr ...

  10. 如何启用linux的路由转发功能

    如何使用iptables的NAT功能把红帽企业版Linux作为一台路由器使用? 方法: 提示: 以下方法只适用于红帽企业版Linux 3 以上. 1.打开包转发功能: echo "1&quo ...