为什么要自建一个
博客园用得好好的,为什么要自建一个呢?一万个人可能有一万个理由。我的理由有以下几个:
1、博客园是个技术分享的社区,但人不是一个纯技术的东西,人有生活,还有其他兴趣爱好。比如我除了编程以外,还喜欢摄影(风景),还喜欢轻音乐,这些东西发在博客园上就不太合适了。
2、有人会说,这些可以放在其它的博客啊,比如简书,Lofter什么的。好吧,这些我都有开通了,但是……没那么多精力去维护啊,而且此消彼长,说不定什么时候这些就被淘汰没了。我高中的时候也是主流的空间、博客都开过,新浪博客、新浪微博、网易博客、QQ空间、百度空间......前段时间开始百度空间已经挂掉了,后面还有哪些会接着挂掉,我写过的东西又要搬家了。还有一些非博客的,比如百度文库、CSDN的资源、站酷的图(现在看太丑了)、优土的视频,都是血汗的结晶啊。也是时候该采收回来,自己做一个长久的备份了。
3、更个性化、更丰富的导航和收集(转载)功能、友情链接,看到好的博文、微信文章、知乎、果壳,很想收藏或分享给大家。看到很有用的一些网站,看到很厉害的个人博客(比如PHP鸟哥的 风雪之隅、前端大牛 张鑫旭),想标下来以后偶尔观摩一下。
4、排版自定义,还可以各种特效。比如诗词、比如乐谱,这种要特殊排版的文体没有哪个博客可以提供。对于特效的话,很多H5特别炫的效果(比如黑客帝国背景),这些都是可以随拿随用的。对于博客园的申请JS权限,好吧,我对“申请”这种事情有种不详的不爽,而且有些情况用后端程序更好的,这样的话只有JS就很鸡肋了,所以对申请JS权限这个提不起兴趣来。
5、博客园是.NET的聚集地,CSDN是JAVA的聚集地。PHP呢?似乎并没有,PHP100感觉算不上,莫非都是分散在各大框架的社区里了。
要弄些什么内容
1、首先是博客的话,文章的读和写是必定的,读的话无非就是文字排版,代码排版 和 特殊文体排版(我自己的特定需求),这些大都有现成方案。写的话,主流有两种方案,一个是HTML编辑器(如KindEditor),另一个是新兴的 MarkDown编辑器(如简书的、CSDN的),对于我提到的特殊文体,也很可能暂时只能使用图片的方式。
2、由于喜欢摄影,所以图片和视频是要有的了,这些文件体积比较大,不宜存在网页服务器,需另外找一个专门存静态资源的服务提供商(目前只发现七牛在做这个)。
3、这个博客系统应该会分成三或四个模块:PC浏览端、移动浏览端、PC管理端、移动管理端(功能可能很少)。各有不同的职能,也可能有不同的解决方案。
技术方案选型
1、服务租用。权衡价格、功能、学习价值这几个方面,我选择了西部数码的云服务器做网站和数据库服务器,七牛做静态资源服务器。至于为何选择这两个,以后我再写博文分析。
2、技术。既然是个人博客,那么稳定性、扩展性等等并不需过虑。当你被面试的时候问到你的个人站用到了哪些技术,如果只是一些平平淡淡烂大街的技术点,那么估计面试官会很失望。所以应该尝试一些大胆、听起来就比较先进的技术,这也是锻炼自己学习能力的一个很有效的途径。
3、后端。服务器肯定是选用Linux系统,大势所趋硬着头皮上,现在的高新技术哪个不是用的命令行啊,连前端都有些技术要用命令行了。我比较熟悉PHP,但又想试试NodeJS,用哪个好呢?仔细分析了一下,还是先用着PHP,以后再看。然后PHP就要选框架了,记得有句话说“每个PHP框架都在定义着自己的PHP语言”,可谓入木三分,我最熟悉的框架是ThinkPHP,中小公司都在用它,可以说是草根语言中的草根框架。如果用它来写的话,我已经看到下一任的面试官要摇头了。他山之石,可以攻玉,既然学任何另外一个框架的成本都是差不多的,那么当然是选最受好评(bigger)的Laravel了。
4、前端。前端的技术多如牛毛,基础的 JS的有jQuery,CSS的有LESS和SASS,还有HTML5和CSS3;前端UI的有 Bootstrap,jQuery mobile(似乎已淘汰),ionic,MUI等;前端MVC重量级的有 AngularJS、ReactJS。作为玩技术的个人博客,那么这些都有可能会使用到(ReactJS很可能不会)。边做边看吧。
5、爬虫。爬什么呢?主要目的是爬自己发在博客上的文章,个人站也不是说建好就建好,就算建好也没有什么人来看,所以主要技术方面还是在博客园上发。其它一些方面也有可能是在另外一些博客上发,然后再定期汇到自己的博客里。说到爬虫发现最近这段时间博客园上很多讲python做爬虫的博文,是不是慕课网上那个视频教程引发的兴趣呢?
最后,发以前自己做的个人站 www.batsing.com^_^ 望各位多多指点。

The article discusses the HTML <datalist> element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

The article discusses the HTML <progress> element, its purpose, styling, and differences from the <meter> element. The main focus is on using <progress> for task completion and <meter> for stati

The article discusses the HTML <meter> element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates <meter> from <progress> and ex

The article discusses the <iframe> tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.

This article explains the HTML5 <time> element for semantic date/time representation. It emphasizes the importance of the datetime attribute for machine readability (ISO 8601 format) alongside human-readable text, boosting accessibilit


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1
Easy-to-use and free code editor

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
