Various React components

  • Stateless components - purely functional

    No need to implement constructor then.

Insights into DNS

  • DNS cannot mapping to subfolders

    DNS can only map to an host/IP address, but not path / port.

    What you ask for requires URL forwarding/redirecting, and is not about DNS records.

    You will need a web server to redirect by HTTP 301.

Miscellanies about React Native

  • If /android or /ios is missing under project volume:

    1
    2
    react-native upgrade # optional
    react-native eject
  • react-native run-ios: xcrun: error: unable to find utility “instruments”, not a developer tool or in PATH
    error Command failed: xcrun instruments -s
    xcrun: error: unable to find utility “instruments”, not a developer tool or in PATH

https://stackoverflow.com/questions/42506068/how-can-i-regenerate-ios-folder-in-react-native-project

Good to know about ReactJS

  • Declarative

  • Component-based

    encapsulate behaviors into small units called Components
    Components are made of elements.
    Components enable us to break down the entire UI in to smaller reusable pieces.
    can have private states to control.
    Only class components can store states.

  • Component Methods

  • Component State and Lifecycle

  • Element

    smallest building blocks is elements.

  • Basic structure for a component

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    import React, { Component } from 'react';

    class Menu extends Component {
    constructor(props) {
    super(props);
    // Need to supply this props to the super class
    }
    render(){
    return(
    // the view for this component
    );
    }
    }
    export default Menu;
    //need to import this component for wherever we use
  • Every parameter pass to the component is under props.

  • If one component export the default one, there is no need to enclose import component name with braces, otherwise error occurs.

  • JSX: wrapped React Component expression

  • Handling events like handling DOM elements

Good to know about Bootstrap

  • Container

    Whatever is enclosed inside <div class="container"></div> will be restricted to the same width as the rest of the Web page.

  • Material Design

    Indeed, If you have interest where I found this colors you can visit www.android.com and then look up their documentation for material design and there, they have suggestions for how colors can be used in your Android application but the same thing applies even to a website.

  • Column classes

    • col, col-x, col-auto
    • col-xx-x
    • order-xx-first/last
    • offset-xx-x
  • Button class btn-block

Good to know about ECMAScript6

  • Variation hoisting

  • Global or local variable?

    var/const/let/[none]

  • Arrow function

    this reference

Good to know about NoSQL

  • NoSQL is non-relational

  • ACID-compliant (only just recently with MongoDB)

    • Atomic/Atomacity: A change will not be saved but rolled back unless the entire transaction is completed.
    • Consistency: No intermediate state from one valid state to another. Always valid states.
    • Isolation: The effect of more than one concurrent transactions is the same as if they happen in sequence.
    • Durability: The data is there no matter whether database is shutdown, failures or crashes.

Miscellanies about Hexo deployment with purification

A scheme for running single docker-hexo server

Start PHP service:

1
docker run --name phpfpm -d -v ~/www:/app php:5.6-fpm

Use a pre-built hexo image:

1
docker run --name myhexo -v ~/blog:/root/blog -d sempr/hexo-al

Don’t forget to make links between containers:

1
docker run -d --name mynginx -p 80:80 -p 443:443 --link phpfpm:phpfpm --link myhexo:myhexo -v ~/https.conf:/etc/nginx/conf.d/default.conf -v ~/1_im.semprathlon.net_bundle.crt:/etc/nginx/ssl/nginx.crt -v ~/2_im.semprathlon.net.key:/etc/nginx/ssl/nginx.key --volumes-from phpfpm nginx