
클라이언트에서 다운로드 기능을 구현할 때 서버단에서 HttpServletResponse 객체의 header, contentType 등을 셋팅하여 response객체의 OutputStream으로 내용을 전송했다. 이런 경우는 서버 컴퓨터의 저장된 파일을 다운로드할 때 많이 사용하는 방식이다. 다운로드할 수 있는 경우는 파일, 프론트 데이터라고 생각하며 프론트에 표시된 텍스트나 자바스크립트 객체의 데이터를 파일 형식으로 다운로드할 때는 서버를 이용하지 않고 JS + HTML로만 구현이 가능하다. const NAME = "TEST.csv"; const CONTENT = ['이름','직업'].join(',') + "\n" + ['DEVSONG', 'DEVELOPER'].join(','); (function(){..

FlieReader 객체를 이용하여 업로드된 파일을 읽을 수 있다. FileReader란? 웹 애플리케이션이 비동기적으로 데이터를 읽기 위하여 읽을 파일을 가리키는 File혹은 Blob객체를 이용해 파일의 내용을(혹은 raw data버퍼로) 읽고 사용자의 컴퓨터에 저장하는 것을 가능하게 한다. File 객체는 태그를 이용하여 유저가 선택한 파일들의 결과로 반환된 FileList객체, 드래그 앤 드랍으로 반환된 DataTransfer 객체 혹은 HTMLCanvasElement의 mozGetAsFile() API로 부터 얻는다. https://developer.mozilla.org/ko/docs/Web/API/FileReader 1. FileReader.onload() load 이벤트의 핸들러. 이 이벤트는..

가장 기초적인 HTTP method인 get, post에 대해서도 제대로 알고 있지 못했었다. 그래서 대략적인 HTTP 통신을 정리하려고 한다. HTTP란? HyperText Transfer Protocol의 약자로 W3 상에서 정보를 주고받을 수 있는 프로토콜이며, 주로 HTML 문서를 주고받는 데에 쓰임 80번 포트를 사용 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜 HTTP 통신 방식 클라이언트와 서버 사이의 통신은 평문(ASCII) 메시지로 이루어진다. 클라이언트는 서버에게 요청메시지를 서버는 클라이언트에게 응답메시지를 보낸다. HTTP method GET, POST, DELETE, UPDATE를 많이 사용하며 그 외의 Method도 많이 존재한다. GET 반드시 서버의 리소스를 요청할..

안녕하세요! 초보 개발자 슈브로포입니다. 저는 서버 OS로 Ubuntu 18.04LTS를 주로 사용합니다. 익숙해서 그런지 Centos는 어색하더라고요 :) AWS에서 Ubuntu AMI를 선택하여 EC2를 생성하여 사용하다 보면 참 편리하고 좋습니다! 하지만 EC2를 사용하면 매달 청구되는 비용을 보면서 속이 쓰릴 때가 많습니다. "인스턴스 유형을 한 단계만 내려도 비용이 반으로 줄겠는데..." 하고 말이죠. 제가 인스턴스 유형을 선택하는 기준은 Mem입니다. 제가 만들어 실행하는 파이썬, 자바 애플리케이션이 CPU보다는 Mem을 더 필요로 하기 때문이죠. Ubuntu에 ssh로 접속 후 메모리 사용량을 확인할 때는 "top" 커맨드를 많이 사용합니다. 그러면 아래와 같은 화면이 보여집니다. top -..