본문 바로가기 메뉴 바로가기

cs09g 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

cs09g 블로그

검색하기 폼
  • 분류 전체보기 (61)
    • Git (10)
    • Open source (2)
    • 프론트엔드 (16)
    • Javascript (15)
    • Mozilla (0)
    • 개발환경 (13)
      • Windows (4)
      • Linux (5)
      • Mac (3)
    • 생각 (3)
    • 여행 (1)
  • 방명록

JavaScript (10)
curl --upload-file 파일을 fetch의 body로 전달하기

curl 을 사용해 로컬에 있는 파일을 업로드하기 위해서는 다음과 같이 --upload-file(-T) 옵션을 사용하면 된다. curl --upload-file {file path} 그런데 위에서 전달받은 파일을 fetch API를 사용해 다른 API의 body로 전달하려고하면 해당 파일의 타입이 ReadableStream이라 실제 파일의 타입으로 내용이 전달되지 않는다. ReadableStream을 원하는 타입으로 전달하기 위해선 다음과 같이 처리하면 된다. const response = new Response(data as ReadableStream); // stream으로 Response 객체 생성 const text = await response.text(); fetch(url, { method:..

Javascript 2021. 7. 22. 17:47
Safari에서 new Date(YYYY-MM-DDTHH:MM:SS) 결과가 다른 현상

2021-01-13T01:28:30 이라는 문자열을 Date 포맷으로 변경할 때, 다음과 같이 Safari에서의 결과가 잘못 표시되는 현상이 있다. Safari에서는 timezone 값을 Chrome 등 다른 브라우저와 다르게 처리하여 발생하는 것으로 보인다. 해결하려면 국내 기준으로 시간 문자열 뒤에 +09:00를 추가하면 된다. const datetimeString = '2021-01-13T01:28:30'; new Date(`${datetimeString}+09:00`); 하지만 고정 값을 넣는 것이 꺼려진다면 다음과 같이 timezone 값을 입력 시간에 더해주면 된다. 이 경우에는 timezone 식별자인 Z를 시간 문자열 뒤에 추가로 붙여준다. const datetimeSring = '2021..

Javascript 2021. 1. 13. 01:43
call, apply 그리고 bind

call, apply, bind는 함수의 실행 컨텍스트(this)를 지정하는데 유용한 메소드이다. this란 함수가 실행된 환경을 나타내는 것으로 보통은 함수가 실행되는 시점에 결정되며 이를 this가 함수에 바인딩된다고 한다. 여기서 바인딩 되는 this를 지정할 수 있게 해주는 것이 call, apply 이고, 바인딩되는 시점을 실행 시점으로부터 독립시켜주는 것이 bind 이다. call, apply 의 경우 호출 즉시 this가 바인딩되고 함수가 실행된다. 차이점은 파라미터가 나열형(call)이냐 배열(apply)이냐 정도이다. this를 지정한다는 것은 아무 값이나 지정할 수 있다는 의미는 아니고, 다음과 같이 생성자 체이닝으로 this를 통해 다른 메소드의 프로퍼티를 가져오는 효과를 얻을 수 있..

Javascript 2020. 7. 1. 22:30
이전 1 2 3 4 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
링크
  • Firefox
  • Mozilla Hacks Korea
TAG
  • 블랙스크린
  • ios
  • chrome
  • readStream
  • Safari
  • git-checkout
  • react
  • setter
  • git-tag
  • ubuntu
  • writeStream
  • no_fcp
  • Mac
  • getter
  • JavaScript
  • bouncscroll
  • 크롬
  • fetch
  • nodejs
  • csv-parser
  • GIT
  • 사이트성능측정
  • abortcontroller
  • testing
  • Karma
  • 리소스모니터
  • bigsur
  • Android
  • Windows
  • event
more

Blog is powered by Tistory / Designed by Tistory

티스토리툴바