Skip to content

Instantly share code, notes, and snippets.

View joonseokhu's full-sized avatar

JoonSeok Hu joonseokhu

View GitHub Profile

Apple 모듈이랑 Banana 모듈이 있다. Apple 모듈 안에 있는 AppleService 를 Banana 모듈 안에 있는 BananaService 에서 불러와서 쓰고싶어서 다음처럼 썼는데 에러가 난다. 왜 나는지 이유랑 해결방법은? (힌트: 고쳐야 하는거 세가지)

// apple/apple.module.ts
import { Module } from "module";
@joonseokhu
joonseokhu / a.md
Last active November 1, 2021 08:30
// MyClass/index.ts
import { FuncA, FuncB } from './types'

export default class MyClass {
  funcA(param1: FuncA.Param1, param2: FuncA.Param2): FuncA.Response {
    return blabla
  }

 async funcB(param1: FuncB.Param): Promise {

TL;TR

async 에서 try-catch 로 전체 코드를 묶고 catch 문에서 throw e 하는 것과 try-catch문을 아예 쓰지 않는것은 흐름상으로나 결과적으로나 완전히 같은 결과를 만들어냅니다.

테스트할 코드

const makeError = async () => { throw new Error('에러 클래스에 의한 에러') }
@joonseokhu
joonseokhu / useEffect_trouble.jsx
Created January 11, 2020 11:46
useEffect trouble
import React, { useState, useReducer, useEffect } from 'react';
const Inner = props => {
const {
value: passedValue,
onChange,
} = props;
const [value, setValue] = useState(passedValue);
@joonseokhu
joonseokhu / dummyAPI.js
Last active December 19, 2019 05:52
dummy api
const dummyTexts = [
'순차 반복의 예를 보여주기 위해 웹 스파이더 어플리케이션에 새로운 형태를 소개하겠습니다.',
'이제 웹 페이지에 포함된 모든 링크를 재귀적으로 다운로드 하겠습니다.',
'이 모듈은 새로운 팩토리 함수들을 만들기 위해 함께 구성할 수 있는 팩토리 함수들을 정의하기 위한 직관적인 인터페이스를 제공합니다.',
'최소한의 노력으로 템플릿 패턴을 사용하여 부모 템플릿 클래스에서 상속된 로직과 인터페이스를 재사용하고',
'몇 가지 추상 메소드를 구현하여 완전히 작동하는 새로운 환경설정 관리자를 얻을 수 있습니다.',
'여러 스트림을 하나로 병합하는 것은 일반적으로 간단한 작업입니다.',
'하드코딩된 종속성 사용의 단점은 대부분 상태유지 인스턴스와 관련되어있음을 이해하는것이 중요합니다.', '그 논리는 아주 간단합니다.',
'구현을 살펴보면, 이 프록시는 빈 배열을 타겟으로 사용하여 핸들러에 get과 has 두개의 트랩을 정의합니다.',
'객체를 프록시할때, 우리는 모든 메소드를 가로채기로 결정할 수도 있고, 그중 일부만 가로채고 나머지는 직접 대상에 위임하기로 결정할 수도 있습니다.',
@joonseokhu
joonseokhu / nodejs.md
Last active December 9, 2019 06:24
nodejs course

nodejs

비동기런타임 개념, nodejs의 장점 node/express 기본세팅 서버시작시 실행코드와 요청시 실행코드 라우터/미들웨어

  • res.send, res.json
  • 라우터 path, 라우터 메소드
  • 쿼리, 동적파라미터
  • 라우터 순서, next
@joonseokhu
joonseokhu / express-authorization.md
Created November 21, 2019 12:55
express authorization guide

express의 미들웨어는 인자로 받은 next 함수가 실행되면 다음으로 등록된 미들웨어를 실행시킵니다. 이걸 이용해서 권한 컨트롤이 가능합니다

다음과 같은 컨트롤러가 있습니다.

const onlyGoodPeopleCanUseIt = (req, res, next) => {
  if (req.query.good === 'yes') {
    return next()
  } else {
 res.status(403).json({