[Gradle] 스프링부트 빌드 시 plain.jar vs .jar 차이점
·
study/Server
1. 개요 스프링부트 빌드 시 위와 같이, jar파일이 만들어진다.실제로 사용하는 거는 .jar인데 대체 plain.jar는 왜 만들어지는지 궁금해졌다.2. Executable Jar vs Plain Jar.jarExecutable Archive 또는 Executable Jar라고 부른다.애플리케이션 구동에 필요한 모든 의존성이 포함되어 있다.bootJar 작업에 만들어진다.plain.jarPlain Archive 또는 Plain Jar라고 부른다.executable jar와 달리 모든 의존성을 포함하지 않고 클래스와 리소스 파일만 포함되어 있다. 즉, 실행가능하지 않다.Jar 작업에 만들어진다.라이브러리 형태로 재사용할 때 주로 쓰인다고 한다.그렇다면 plain.jar는 도대체 왜 생기는 걸까..?⇒ ..
Caddy로 도메인 없이 https 설정하기
·
study/Server
개요1. Caddy란?Go로 작성된 오픈소스 웹 서버이다.자동으로 tls 인증서를 발급해주는 기능이 있고 리버스 프록시 설정도 가능하다.Caddyfile이 nginx.conf 같은 역할을 한다.2. Caddy를 쓰게 된 이유상황 상, 굳이 도메인을 살 필요가 없어서 그냥 퍼블릭 ip주소로 쓰고 있다.프론트가 배포를 vercel로 했는데, vercel이나 netlify 같은 것들을 쓰면 무조건 https로만 요청을 할 수 있다.⇒ 따라서, 서버도 무조건 https 통신이 가능해야 한다.공짜로 인증서를 발급받아 쓸 수 있는 방법을 찾아보다 간단하고 가벼운 오픈소스인 Caddy를 선택하게 되었다.사용 방법1. EC2에 Caddy 설치https://caddyserver.com/docs/install#debian..
HTTP 응답 헤더, Content-Disposition
·
study/Server
ACC 해커톤에서 S3에서 파일을 가져오는 조회 API와, 바로 로컬에 다운로드되는 다운로드 API를 구현했다.프론트엔드가 없기 때문에 다운로드 응답에서 링크를 누르면 바로 로컬에 다운로드가 되게 했어야 했는데, Content-Disposition 헤더를 사용해 똑같이 presignedUrl을 반환하는 것만으로 구현할 수 있었다! https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition Content-Disposition - HTTP | MDNIn a regular HTTP response, the Content-Disposition response header is a header indicating if the cont..
[error] Node.js Error <SyntaxError: Cannot use import statement outside a module>
·
study/Server
개요 Node.js 프로젝트 세팅을 하고 index.js에서 Common JS 방식이 아니라 ES 방식으로 import 해줬는데 SyntaxError: Cannot use import statement outside a module 가 떴다. /* const express = require("express"); */ //common JS 방식 import express from "express"; //ES6 해결법 package.json에서 아래 코드를 추가해줘야 한다. "type": "module" "type"을 따로 설정해주지 않았거나 "commonjs"로 설정되어 있으면 기본적으로 commonjs 방식으로 설정되기 때문에 type 필드 값을 module로 설정해줘야 es6 방식으로 처리된다.
cowboysj
'study/Server' 카테고리의 글 목록