2019/11/19 TIL

HANJIN·2019년 11월 19일
0

TIL

목록 보기
8/14
post-thumbnail

자바스크립트를 이용해서 페이지 비우기

document.write('');
문서전체 태그를 날림으로써 빈페이지로 만들 수 있다.

자바스크립트를 이용해서 새 창, 혹은 새 탭 열기

window.open(url, name, specs, replace)

  • url: URL 주소를 특정한다. URL이 특정되지 않으면 빈 창이 열린다.
  • name: 타겟을 특정한다. 빈 탭, 혹은 현재 창 등

react-router을 이용해서 파라미터 넘겨주기

<Link to={pathname: uri, state: {}}>
</Link>

이런 방식으로 값을 넘기면 Link를 통해서 넘어간 컴포넌트에서 this.props.location을 통해서 값의 참조가 가능하다

express.js에서 라우팅 핸들러에 async/await 적용

express.js에서 라우팅 핸들러 함수에
async/await을 적용하면 에러가 생겼을 때 처리하지못하고
UnhandledPromiseRejectionWarning이라는 경고문구만 출력한다.
여기까지는 아직 괜찮지만, 이 에러처리는 곧 Deprecation 될 예정이고 그러면 최악의 경우 에러가 생겼을 시,
node 어플리케이션 자체가 종료되는 사태가 벌어질 것이다.

이러한 일을 막기 위해서는 라우팅 핸들러 함수를 랩핑해주거나 라우팅 핸들러 함수 자체를 수정해주어야한다.
데코레이터 패턴을 활용해서 함수를 만드는 방식이 하나의 해결 방법이 될 수 있는데, 이미 이러한 함수를 모듈화 시켜놓은 것들이 있다.
express-async-warp
express-warp-async

이 정보는 👉해당 블로그를 참조하였습니다.

[Error: connect ETIMEDOUT]

node.js + Sequelize 환경에서의 오류

DB자체가 죽어있는경우(데몬이 실행되지 않은 상태)에서 출력되는 경우 확인

라우팅 핸들러에 미들웨어 적용

router.use(function (req, res, next) {
  console.log('Time: ', Date.now());
  next();
});

즉, router.use(fn) 와 같은 방식으로 router에 미들웨어를 적용 가능.

eslint Parsing error: Unexpected token function with async

eslint configure 파일에 설정을 추가해주어야함
package.json에 eslint 설정이 있을수도 있고, .eslintrc.json 등 다른 파일에 존재할 수 있음
본인이 설정해둔 곳에 추가해야함.

{
  env:{},
  extends:[],
  parserOptions:{
    ecmaVersion: 8 // 이 부분만 추가
}

해설👉 async/await 함수는 ECMAScript2017(es8)에서 제공되는 기능이기 때문임.

eslint Parsing error: Unexpected token =>

위와 같은 경우

{
  env:{},
  extends:[],
  parserOptions:{
    ecmaVersion: 6 // 이 부분만 추가
}

해설👉 arrow function은 ECMAScript2015(es6)에서 제공되는 기능이기 때문임.

즉, arrow function과 async/await function이 모두 필요하면 상위버전인 es8로 맞춰주면 된다.

XML, JSON, YAML

XML

XML 문서는 <xml>태그를 이용해서 XML 문서임을 명시한다.
ex) <?xml version="1.0" encoding="UTF-8"?>

  • 시작태그와 종료태그로 구성
  • 태그는 꺽쇠(<>)를 이용해서 작성한다. 닫는 태그에는 슬래시(/)를 포함한다. ex) <TITLE>내용</TITLE>
  • 시작태그와 종료태그는 대소문자까지 동일해야한다.
  • 태그 안에 속성을 명시할 수 있다. ex) <TITLE color="red" type="bold">내용</TITLE>
  • 주석을 사용할 수 있다.. 문법은 <!-- 주석 내용 --> 형태로 사용한다.

ex)

<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <name>홍길동</name>
    <score>95</score>
    <hobby>
      <element>Soccer</element>
      <element>Ninza</element>
    </hobby>
  </user>
  <user>
    <name>이순신</name>
    <score>100</score>
    <hobby>
      <element>Sing</element>
      <element>Dancing</element>
    </hobby>
  </user>
  <user>
    <name>나동빈</name>
    <score>97</score>
    <hobby>
      <element>Coding</element>
      <element>Hiding</element>
    </hobby>
  </user>
</users>

XML 유효성 검증 사이트

JSON

  • 거의 모든 프로그래밍 언어에서 JSON을 지원한다.
  • 주석을 사용할 수 없다.
  • 키:밸류 의 형태로 사용한다.
  • 대괄호( {} )와 큰 따옴표를 이용해 작성한다.

ex)

{
	"users": {
		"1": {
			"name": "홍길동",
			"score": 95,
			"hobby": ["Soccer", "Ninza"]
		},
		"2": {
			"name": "이순신",
			"score": 100,
			"hobby": ["Sing", "Dancing"]
		},
		"3": {
			"name": "나동빈",
			"score": 97,
			"hobby": ["Coding", "Hiding"]
		}
	}
}

JSON 유효성 검증 사이트

YAML

  • 주석을 사용할 수 있다.
  • 개행, 공백을 이용하여 작성한다.
  • 태그를 사용하지 않고 공백 위주로 작성하기 때문에, 한 줄로 작성할 수 없다.
  • YAML은 한글과 같은 유니코드 문자를 그대로 사용할 수 있다.(JSON은 인코딩하여 보여준다)
  • 설정 파일을 만들 때 가장 많이 사용된다.
  • 상속(Inherit) 기능도 적용할 수 있다.

ex)

users:
  1:
    name: 홍길동
    score: 95
    hobby:
      - Soccer
      - Ninza
  2:
    name: 이순신
    score: 100
    hobby:
      - Sing
      - Dancing
  3:
    name: 나동빈
    score: 97
    hobby:
      - Coding
      - Hiding

YAML 유효성 검증 사이트

profile
소프트웨어 엔지니어.

0개의 댓글