CS25 [디자인패턴] 싱글톤 주요 특징인스턴스가 하나만 존재: 클래스에서 단 하나의 인스턴스만 생성되어야 합니다.글로벌 접근: 싱글톤 인스턴스에 전역에서 접근할 수 있어야 합니다.게으른 초기화(Lazy Initialization): 인스턴스가 필요할 때까지 생성하지 않고, 최초 접근 시에만 인스턴스를 생성하는 방식입니다.장점시스템 전체에서 공유 자원을 효율적으로 관리할 수 있습니다. (예: 데이터베이스 연결, 로그 처리 등)여러 인스턴스가 존재할 필요가 없는 경우, 메모리 낭비를 줄일 수 있습니다.객체 간 동기화 문제가 해결될 수 있습니다. (단일 인스턴스 사용으로 경쟁 조건을 예방)단점싱글톤 패턴은 전역 상태를 가지므로, 프로그램의 결합도가 높아질 수 있습니다.멀티스레드 환경에서 안전하지 않을 수 있으므로 동기화 처리가 필요합니다.. 2024. 10. 4. [Basic] 프론트엔드 XSS 보안 XSS 방어하기현재 XSS를 방어해주는 라이브러리나 프레임워크가 존재합니다. 하지만 이를 제대로 사용하기 위해서는 어떠한 대책이있는지 알아두고 있는 것이 좋습니다. 방어하는 방법은 아래와 같이 여러가지가 존재합니다.문자열 이스케이프 처리 예시에서 제시한 img tag에서 에서 '' 등을 이스케이프 처리 합니다. 아래와 같은 문자들을 이스케이프 처리 할 수 있습니다.특수문자이스케이프 처리&&>>""'' 속성값의 문자열을 쌍따옴표로 감싸기 만약 URL이 이러한 형태를 띄고 있다면 이스케이프 처리만으로는 방어하기 힘듭니다.위와 같은 URL이 HTML로 변환되면 아래와 같습니다.이렇게 되면 input 속성이 설정되는 결과를 낳아서 의도하지 않은 동작과 공격을 당할 수 있습니다. 1차적으로는 이러한 속성값을 쌍따.. 2024. 10. 2. [Basic] Client Side Rendering vs Sever Side Rendering 1. Client-Side Rendering (CSR)Client-Side Rendering에서는 초기 HTML 페이지가 빈 상태로 브라우저에 전달되고, JavaScript가 로드된 후에 클라이언트에서 동적으로 페이지를 렌더링합니다. 모든 렌더링 작업은 브라우저에서 이루어지며, 사용자 인터페이스가 완성되기 전까지는 JavaScript가 완전히 실행되어야 합니다.동작 방식: 브라우저가 HTML과 함께 JavaScript 파일을 다운로드하여 실행한 후, React 컴포넌트가 클라이언트에서 렌더링됩니다.장점: 페이지 이동이 빠르고, 동적 콘텐츠 로딩에 유리합니다.단점: 첫 페이지 로딩 속도가 느릴 수 있으며, SEO(검색 엔진 최적화)에 불리할 수 있습니다.2. Server-Side Rendering (SSR.. 2024. 9. 26. [Basic] SPA ( Single Page Application ) - SPA는 'Single Page Application'의 약자로 단일 페이지로 구성된 웹 애플리케이션을 말한다. - 렌더링의 역할을 서버에게 넘기지 않고 브라우저에서 처리하는 방식- 웹 애플리케이션에 필요한 모든 정적 리소스를 최초에 한번 다운로드 하고, 이후 새로운 페이지 요청 시 페이지 갱신에 필요한 데이터만을 전달받아 페이지를 갱신 > 장점1. 전체적인 트래픽 감소 / 렌더링 효율 향상2. 모듈화 / 컴포넌트 개발 용이3. 빠른 화면 이동 가능4. 향상된 UX 제공 > 단점1. 정적리소스 한번에 다운로드 --> 초기 구동 속도 느림2. 코드 외부 노출 위험 존재3. SEO 가 어렵다. ------------------------- SEO 가 어려운 이유는 클라이언트 렌더링시에 DOM 에 빈상태로.. 2024. 9. 25. 이전 1 2 3 4 5 ··· 7 다음