전체 글 (31) 썸네일형 리스트형 [회고]SSAFY 공통 프로젝트 - 1 SSAFY 2학기 프로젝트 (공통 프로젝트) 우수상 수상해당 프로젝트는 2024년 7월 8일 - 2024년 8월 16일 총 6주동안 진행되었습니다. 8월 22일 싸피 최종 발표를 마치고 공통 프로젝트가 끝이 났습니다.사실 끝난 시점에서 글을 작성할 수 있었지만 이어서 바로 싸피의 2학기 두번째 프로젝트인 특화 프로젝트를 진행했기 때문에 시간이 조금 지난 9월 1일 작성하고 있습니다.생각 나는대로, 기억하고 싶은대로, 조금 마음 편하게 작성하겠습니다. 1. 첫 만남싸피 공통 프로젝트 팀원의 첫 만남은 조금 어색했습니다.이 만남의 시작을 말하려면 싸피의 방학 마지막 주를 먼저 얘기해야할 것 같습니다. 조금은 바쁘게, 조금은 여유롭게 방학을 보내던 시점에 이제 다가오는 2학기를 앞두고, 1학기 같은 반의 친구.. Mixed Content 에러 해결 Mixed Content 에러란?Mixed Content 에러는 웹 페이지가 HTTPS(보안 연결)로 로드되었을 때, 동일한 페이지에서 HTTP(비보안 연결) 자원을 요청할 때 발생합니다. 이는 보안 위험을 초래할 수 있기 때문에 브라우저는 이러한 요청을 차단하거나 경고 메시지를 표시합니다.Mixed Content 에러 해결 방안1. HTTPS로 모든 요청 보내기가장 간단한 해결 방법은 모든 자원을 HTTPS로 제공하는 것입니다. 이는 웹 사이트의 모든 외부 요청 URL을 HTTP에서 HTTPS로 변경하는 것을 의미합니다. 2. 리버스 프록시 사용하기리버스 프록시는 클라이언트가 HTTP 자원에 접근할 때, 서버가 중간에 개입하여 HTTPS로 요청을 보내는 역할을 합니다. 이렇게 하면 클라이언트는 여전.. JWT 인증을 nginx에서 처리하기 위한 방법 lua 목적JWT 인증을 nginx에서 처리하기 위해서 lua 스크립트를 사용했습니다.현재 프로젝트에서 MSA로 설계했습니다.이 경우 서버 마다의 JWT 인증을 어떻게 처리할지 고민이였습니다.nginx는 JWT 파서를 오픈소스로 제공하지 않기 때문에 다른 방법을 사용해야 했습니다.그래서 kong과 lua 같은 스크립트 방식, 또한 SPRING GATEWAY API를 찾아보았습니다.저희 프로젝트 규모에 맞고, 목적(JWT 인증처리만)에 맞고,이미 nginx를 통해 리버스 프록시를 사용하고 있기 때문에, LUA를 사용하고자 했습니다.(특히 nginx plus에 대한 정보가 많이 부족했습니다.)아래는 설정 방법입니다.Lua 스크립트local function verify_jwt() local args = ngx... CORS 문제 문제 상황현재 설정에 따르면 다른 주소(http://ssafy11front.com - 프론트엔드)에서 다른 서버(http://ssafy11back.com - 백엔드)로 요청을 보내면서 CORS(Cross-Origin Resource Sharing) 오류가 발생할 수 있습니다. 브라우저는 보안상의 이유로, 주소나 포트가 다른 서버 간의 요청을 제한하여 CORS 오류를 일으킵니다.해결 방법서버에서 CORS 헤더 허용 설정하기백엔드 서버에서 특정 출처(origin)를 허용하도록 Access-Control-Allow-Origin 헤더를 설정하여 CORS 오류를 해결할 수 있습니다. 모든 출처를 허용하려면 *를 지정할 수 있고, 특정 도메인만 허용하려면 해당 도메인 주소를 명시하면 됩니다.Access-Contro.. Spring 프로젝트 파일 기본 구조 해당 구조에서 눈 여겨볼 기본적인 설정 파일입니다. 웹 애플리케이션 설정 파일들 1. pom.xml (Dependency Management) 용도: Maven 프로젝트에서 필요한 모든 라이브러리(의존성)를 정의하고 관리합니다. 기능: 자동으로 필요한 라이브러리 다운로드 및 관리 프로젝트 구성 요소 간의 호환성 유지 프로젝트 설정의 일관성 보장 2. web.xml (Web Configuration) 용도: 서블릿과 JSP의 배포 설명자로, 웹 애플리케이션의 설정 정보를 포함합니다. 기능: 서블릿 매핑, 세션 타임아웃, 웰컴 파일 리스트 설정 https://huyntohoon.tistory.com/40 HTTP 상태 코드 404(Not Found), 400(Bad Request) 등에 대한 에러 페이지 지.. Spring 개요 및 특징 스프링 프레임워크란? 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다. 스프링 프레임워크의 기초 프레임워크 vs 라이브러리 => 흐름의 결정권자 차이 프레임워크 => 정해진 흐름에 따라 개발 라이브러리 => 개발자가 직접 흐름을 결정 스프링 프레임워크의 기초 EJB와 POJO의 비교 EJB (Enterprise Java Beans): 초기 자바 엔터프라이즈 애플리케이션 개발에서 널리 사용되었으나, 작은 기능에도 EJB의 상속이나 구현이 필요했기 때문에 가벼운 서비스 구현에는 비효율적이었습니다. 또한, 확장성 측면에서도 복잡성이 증가하는 문제가 있었습니다. POJO (Plain Old Java Object): 순수 자바 객체를 이용한 프로그래밍으로, 클래스나 라이브러리에 종속되지 않습니다. 이는 .. 배포자동화 CI/CD AWS EC2, Git Action, Docker CI/CD Continuous Integration" 및 "Continuous Deployment"의 약자 소프트웨어 개발 프로세스의 자동화된 방식을 말함. CI/CD는 개발자들이 애플리케이션을 효율적으로 개발, 테스트 및 배포하기 위해 사용. AWS 아마존 닷컴에서 제공하는 클라우드 컴퓨팅 플랫폼 = 가상 서버 제공 서비스 #### 가상 서버의 필요성 - 자원 활용, 비용절감 : 여러 가상 서버 운영가능 => 서버 구축의 효율성, 비용적 효율성 - 확정성, 유연성 : 쉬운 생성, 복제, 확장 및 축소를 동적으로 조정 가능, 트래픽 변동에 가능 등 여러 편의성 - 격리, 보안 : 독립적인 서버, 보안 강화 - 테스트, 개발 : 테스트 및 개발에 유용함, 또한 실제 운영 환경과 비슷한 환경 테스트 가능 -.. 컴퓨터 네트워크 웹 통신 흐름 HTTP(HyperText Transfer Protocol): 웹 상에서 클라이언트와 서버 간에 문서, 이미지, 동영상 등의 웹 리소스를 주고받기 위한 애플리케이션 계층의 프로토콜. HTTP는 요청-응답 모델을 사용하며, 상태가 없는(stateless) 특성을 가짐. 이는 각 요청이 독립적으로 처리되며, 서버가 이전 요청에 대한 정보를 기억하지 않는다는 의미최근에는 보안 강화를 위한 HTTPS도 사용. HTTP 요청 메서드: HTTP 요청에는 여러 가지 메서드가 존재. (CRUD + HEAD) HTTP 응답 상태 코드: 서버가 클라이언트의 요청에 대해 응답할 때 상태 코드를 사용하여 요청 처리 결과를 전달.(200, 400, 404...) DNS(Domain Name System): 도메인 이름을 IP .. 이전 1 2 3 4 다음 목록 더보기