Yunpeng's Blog

Life, coding and everything


  • Home

  • Categories

  • Archives

  • About

To Select the Correct Technical Stack for Web

Posted on 2018-04-29 Edited on 2019-07-13 In Technical , Web Comments:

When I planned to upgrade the CS1101S DG Website project, selection of the technical stack became a big headache. The current decision is

  • Backend: Spring Boot 2.x
  • Frontend: Vue.js 2.x + Bootstrap 4.x (integrated with Vue.js using Bootstrap Vue)

In this post, I would like to present the decision-making process.

What are the possible languages, frameworks?

Certainly, there are many different choices. Let’s compare them as follows. To select a backend framework, it is essentially to select a server-side programming language.

  • Java (current choice): good for scalability and maintainability, used in many enterprise applications. As a relatively old language, its robustness is no doubt.
  • PHP: also a traditional choice. However, its performance is not as good as Java (since Java is a fully compiled language, PHP is parsed into opcode and sent to Zend Engine).
  • Ruby: a dynamic-typed language, which becomes famous due to Ruby on Rails. You can write less code to achieve more functionalities. However, its performance is even worse and its development environment is also not trivial to set up.
  • Node.js: a newer technology than others. It provides a unified language for both frontend and backend development. It is fast since it leverages JavaScript event loop to create non-blocking I/O.
  • Python: clear and compact syntax that is helpful to developers. Similar to Ruby, it has potential performance issues.
Read more »

Blogging with Hexo.js

Posted on 2018-04-11 Edited on 2019-07-13 In Technical , Blog Comments:

As you may already know, this blog is built using Hexo.js with theme Next. In this post, I will discuss the reasons why I select this static site generator and this theme.

Why do I select Hexo.js?

  • I want a blog website that only consists of static webpages. Thus, I cannot use any content management system (CMS) with dynamic pages, like WordPress and Drupal.
    • This provides me with more options to host it. For instance, GitHub Pages only supports static webpages.
    • Static webpages are generally faster. They do not need any server-side pre-rendering.
  • It may be a waste of time to write raw HTML, CSS & JavaScript code for every page of the blog. Much of the code can be reused. Thus, I need a framework to help me generate the static webpages.
  • I want to develop in both Windows and Linux-based environment. This means some programming languages like Ruby may be troublesome. Thus, I will not choose engines like Jekyll.
  • The body of my blog posts should not be in plain text. I need basic styling of the text. Also, I may insert code snippets to technical posts sometimes.
    • Therefore, the framework had better support Markdown and/or AsciiDoc.
    • I know how to use LaTeX. My slides for my CS1101S classes are all typed in Latex with Beamer package. However, although LaTeX is very powerful, I have to say its syntax is way too complex.
      • In fact, the Next theme also supports math equation rendering by either MathJax or Katex.

Given all the factors mentioned above, I choose Hexo.js in the end.

Read more »

Hello World

Posted on 2017-10-13 Edited on 2019-07-13 In Miscellaneous Comments:

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Read more »
123
Niu Yunpeng

Niu Yunpeng

The world never stops for you.
11 posts
8 categories
RSS
GitHub Facebook LinkedIn Website
Creative Commons
0%
© 2017 – 2019 Niu Yunpeng
Powered by Hexo v3.9.0
|
Theme – NexT.Gemini v7.2.0