분류 전체보기 (27) 썸네일형 리스트형 GitHub에 잘못 올라간 파일 제거하기 협업을 하다가 실수로 불필요한 파일 및 민감한 정보까지 GitHub에 올린 경우가 있었습니다.아래의 경우가 예시입니다.Java의 target 폴더 하위 파일들.classGradle과 IntelliJ의 경우 idea 폴더 하위 파일들민감한 정보들(DB 정보, AWS 비밀번호 등)특히 마지막 민감한 정보들을 GitHub에 올리면 해커들의 공격대상이 쉽게 됩니다. 실제로 지인 중 GitHub에 AWS RDS 정보를 올리고 랜섬웨어에 감염된 경우가 있습니다. 뿐만 아니라 AWS 폭탄 과금의 경우도 인터넷에서 종종 찾아볼 수 있어 더욱 주의해야 합니다.위와 같은 내용들은 .gitignore 라는 파일에 추가를 해야합니다..gitignore란 ?.gitignore란 Git 버전 관리에서 제외할 파일 목록을 지정하는.. 싱글톤 패턴 싱글톤 패턴(Singleton Pattern)싱글톤 패턴은 객체 지향 프로그래밍에서 특정 클래스가 단 하나만의 인스턴스를 생성하여 사용하기 위한 패턴이다. 생성자를 여러 번 호출하더라도 인스턴스가 하나만 존재하도록 보장하여 애플리케이션에서 동일한 객체 인스턴스에 접근할 수 있도록 한다. 싱글톤 패턴을 사용하는 이유커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 경우 인스턴스를 여러 개 만들게 되면 불필요한 자원을 사용하게 되고, 프로그램이 예상치 못한 결과를 낳을 수 있다. 따라서 객체를 필요할 때마다 생성하는 것이 아닌 단 한 번만 생성하여 전역에서 이를 공유하고 사용할 수 있게 하기 위해 싱글톤 패턴을 사용한다. 싱글톤 패턴의 장단점장점유일한 인스턴스 : 싱글톤 패턴이 적용된 클래스의 인스턴.. 스프링 -> JSP 변환 흐름도 ✅ 전체 시스템 요약: 구조도[사용자 입력 (HTML form)]→ Controller (UrlEncodedController)→ 유효성 검사: 어노테이션 + Validator→ 유효하면 DTO 생성 → 결과 JSP 응답→ 오류가 있으면 폼 JSP 다시 응답또는 REST API의 경우:[클라이언트 JSON 요청 (Postman 등)]→ REST Controller (RestApiController)→ JSON → Java 객체 바인딩→ 응답 DTO 반환 → JSON 응답✅ 흐름 1: HTML form → UrlEncodedController사용자가 form 입력 후 제출 ... 컨트롤러에서 받음@PostMappingpublic String form(@Valid UrlEncodedForm form, Bi.. Jsp listener ▶ Slide 1: Listener란?정의: 웹 애플리케이션에서 **특정 이벤트(시작, 종료, 세션 등)**가 발생할 때 자동으로 동작하는 감시자 역할의 컴포넌트비유: CCTV처럼 이벤트를 감지하고 자동 반응함예시:애플리케이션 시작 시 초기화 작업 수행세션 생성 시 로그인 처리요청 시작/종료 시 로깅 등▶ Slide 2: 주요 Listener 종류리스너 인터페이스감지하는 이벤트ServletContextListener웹 애플리케이션 시작/종료HttpSessionListener세션 생성/소멸ServletRequestListener요청 생성/소멸HttpSessionAttributeListener세션 속성 변경ServletContextAttributeListenercontext 속성 변경▶ Slide 3: Ht.. Jsp filter @WebServlet("/filter/*")public class F_filter extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String url = req.getRequestURI(); String[] urlArr = url.split("/"); switch (urlArr[urlArr.length - 1]) { case "error": throw new C.. Jsp session 🟦 세션(Session)이란?사용자(브라우저)와 서버 사이의 "상태(state)"를 유지하기 위해 서버에서 관리하는 저장소입니다.즉, 서버가 사용자를 구분해서 로그인 정보, 장바구니 등 중요한 상태 데이터를 기억하기 위해 사용됩니다.✅ 세션은 왜 필요한가?HTTP는 Stateless → 요청을 주고받을 때 누가 누구인지 모름사용자가 로그인했는지, 어떤 글을 썼는지 서버가 기억할 수 없으면 불편그래서 서버가 사용자를 구분해서 기억하기 위한 공간이 바로 Session🔁 세션의 동작 원리클라이언트가 서버에 처음 접속하면,서버는 세션 객체를 생성하고 고유 ID(JSESSIONID)를 발급함서버는 이 ID를 쿠키를 통해 클라이언트에게 전달이후 클라이언트가 요청할 때마다 이 ID를 함께 전송서버는 이 ID로 해.. Jsp cookie ▶ Slide 1: Cookie란?정의: 클라이언트(브라우저)에 저장되는 작은 데이터 조각 → 사용자의 상태나 정보를 브라우저에 기억시켜 두기 위해 사용▶ Slide 2: 쿠키는 왜 필요할까?웹은 기본적으로 상태를 기억하지 못하는(stateless) 구조로그인했는지, 장바구니에 뭘 담았는지 서버는 원래 모름그래서 상태를 기억하기 위해 클라이언트에 저장하는 방식이 쿠키▶ Slide 3: 쿠키 동작 원리서버가 쿠키를 생성해서 응답(Response)에 담아 보냄브라우저는 쿠키를 저장이후 같은 사이트에 요청할 때 자동으로 쿠키를 함께 보냄요청 예:GET /mypageCookie: userid=kim123; theme=dark;▶ Slide 4: 쿠키 특징항목설명저장 위치클라이언트(브라우저) 내부저장 방식key-.. Jsp redirect ▶ Slide 1: Redirect란?정의: Servlet에서 클라이언트에게 **"다른 주소로 새로 요청하라"**고 지시하는 방식사용 예:response.sendRedirect("main.jsp");개념:클라이언트가 서버로 요청서버는 "이 주소로 다시 요청해"라고 응답브라우저가 새 URL로 다시 요청▶ Slide 2: Redirect 전체 흐름[사용자] → /loginCheck (POST 요청) ↓[서버] → sendRedirect("main.jsp") ↓[사용자] → /main.jsp (새 요청) ↓[서버] → main.jsp 실행 후 응답📌 요청이 2번 발생함 (loginCheck → main.jsp)▶ Slide 3: Redirect 특징 정리항목redirectURL 변경✅ 변경됨 (주.. 이전 1 2 3 4 다음