React, 모바일 여부 확인을 위한 Hook

현재 실행환경이 모바일인지를 확인하기 위한 Hook입니다.

import { useState, useEffect } from 'react'

const useIsMobile = () => {
  const [isMobile, setIsMobile] = useState(false);

  useEffect(() => {
    const checkIsMobile = () => {
      const userAgent = typeof window.navigator === 'undefined' ? '' : navigator.userAgent;
      const mobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
      setIsMobile(mobile || ('ontouchstart' in window && window.innerWidth <= 1024));
    };

    checkIsMobile();
    window.addEventListener('resize', checkIsMobile);

    return () => window.removeEventListener('resize', checkIsMobile);
  }, []);

  return isMobile;
};

export default useIsMobile;

node로 실행한 서버 스크립트를 데몬(damon)으로 실행하기

nohup과 &의 조합으로 실행해도 해당 터미널을 종료하면 실행한 서버 스크립트가 같이 종료되 버리는 문제가 있습니다. 이 경우 forever란 패지키를 npm으로 설치해서 이용하면 됩니다.

npm i -g forever

그리고 index.js를 실행하고 싶다면 다음처럼 입력합니다.

forever start index.js

잘 실행되고 있는지 확인하기 위해서는 다음 명령을 입력합니다.

forever list

forever로 실행한 것을 종료하기 위해서는 다음처럼 명령을 입력합니다.

forever stop index.js

forever로 실행한 모든 프로그램을 종료하기 위해서는 다음과 같습니다.

forever stopall