How to avoid preflight OPTION request in CROS request

When sending CROS Ajax request, sometimes you may found that before every request you make, there will be a OPTION request sent. It’s quite annoying and slows down your data request since the actually request has to wait the OPTION request to finish. According to the CORS strategy (highly recommend you read about it) You can’t just force the browser to stop sending OPTION request if it is necessary. There’s two way you can work around it Make sure your request is a “Simple Request” Set Access-Control-Max-Age for the OPTION request

Read More »

React+Webpack1/2/3+Semantic UI and how to do theming

Semantic UI is a great UI framework which can make your UI development much easier, but it’s still not a joyful job to make it work with webpack especially for theming. This tutorial works for both webpack 1/2/3, though you need to make small change just to follow webpack2/3’s syntax. For the main differences for webpack2/3, scroll to the bottom!

Read More »

How to Fix: npm WARN cannot run in wd

You may encounter this issue when you run npm with root permission. In my case, I created a postinstall command to fix a particular node module’s problem:

Read More »

Introduce to Loose-Constrolled react form input

React provides two ways to use its form inputs, Controlled and Uncontrolled. I will try to explain both of them and the user cases, after that I will introduce an in-the-middle way to control your form input: Loos-Controlled, which tries to fulfill the user case that the others do not solve well.

Read More »

Implementing responsive design in React

Two kinds of responsive design There’s two type of responsive design: One is just adjusting an element’s appearance in response to different media types, like hiding or showing some elements, change size, color or layout. Another way will be using the diffent design or totally different component for different media types. For example, a complex table view with lots of fields for each row, for a large screen, just show a regular table, but when the screen shrinks, the table view will be replaced with a card list, within each card, all the fields will be rendered vertically.

Read More »

《Learning Agile》读书笔记:核心思想

敏捷开发(Agile)是什么? 敏捷开发是一套方法和方法论的集合,他帮助你的团队更加高效的思考,工作和做出更好的决定。这套方法和方法论涉及所有的传统软件工程领域,包含项目管理,软件设计和架构,以及进程优化。

Read More »