전체 글 27

Base64 인코딩이란?

Base64는 바이너리 데이터를 문자열 형태로 인코딩하기 위한 방법 중 하나입니다. Base64 인코딩에 대해 알아보기 전에 "인코딩"에 대해 알아보겠습니다. 인코딩이란? 컴퓨터에서 인코딩(Encoding)은 데이터를 다른 형식으로 변환하는 것을 말합니다. 이 과정에서 데이터의 형식이나 구조가 변경되며, 이를 통해 다양한 목적에 맞게 데이터를 사용할 수 있게 됩니다. 예를 들어, 문자열을 다른 문자열 형식으로 변환하거나, 이미지 파일을 다른 형식으로 변환하여 용량을 줄이거나, 음성 데이터를 압축하여 전송 속도를 향상시키는 등의 목적으로 인코딩이 사용됩니다. 인코딩은 다양한 방식으로 이루어질 수 있습니다. 예를 들어, 문자열을 ASCII, Unicode, UTF-8 등의 문자 인코딩 방식으로 인코딩하거나,..

카테고리 없음 2023.03.22

[Java] SOLID - 객체 지향 설계의 5가지 원칙

유지 보수성을 좋게 하고 확장성이 높은 객체 지향 코드를 작성하기 위해 SOLID라는 다섯가지 원칙을 지키라고 합니다. 오늘 포스팅에서는 이러한 SOLID에 대해 알아보고자 합니다. SOLID란? Single Responsibility Principle (SRP): 클래스는 단 하나의 책임을 가져야 하며, 한 클래스는 변경 사유가 하나여야 합니다. 즉, 한 클래스는 자신의 책임 영역 내에서만 변경되어야 하며, 다른 책임과 연관된 변경 사항이 있을 때에는 새로운 클래스를 만들어야 합니다. Open-Closed Principle (OCP): 확장에는 열려 있고 변경에는 닫혀 있어야 합니다. 기존 코드를 수정하지 않고도 새로운 기능을 추가할 수 있도록 설계되어야 합니다. Liskov Substitution P..

Java 2023.03.20

[Java] 오버라이딩(Overriding) & 오버로딩(Overloading)

오버라이딩과 오버로딩은 완전히 다른 개념이지만 명칭이 비슷하고 항상 헷갈려서 정리를 해보려 합니다. 오버라이딩(Overriding)이란? 자바에서 오버라이딩(Overriding)은 상위 클래스(부모 클래스)에 정의된 메서드를 하위 클래스(자식 클래스)에서 재정의하는 것입니다. 이는 다형성(polymorphism)을 구현하는데 중요한 역할을 합니다. 오버라이딩을 하려면, 하위 클래스에서 상위 클래스에 정의된 메서드와 이름, 매개변수, 반환값 등이 동일해야 합니다. 또한 하위 클래스에서 재정의된 메서드는 상위 클래스의 메서드와 동일한 접근 제어자를 가져야 하며, 더 제한적인 접근 제어자를 가질 수는 없습니다. 하지만 더 넓은 범위의 접근 제어자는 사용할 수 있습니다. 아래는 오버라이딩 예제입니다. class..

Java 2023.03.14

[Web] 쿠키(cookie) vs 세션(session)

쿠키(cookie)란? 쿠키는 웹사이트와 브라우저 간의 통신을 가능하게 하기 위해 사용되는 작은 텍스트 파일입니다. 쿠키는 사용자의 브라우저에 저장되며, 사용자가 같은 웹사이트를 방문할 때마다 서버는 이 쿠키를 읽어서 사용자의 이전 활동 정보를 가져올 수 있습니다. 쿠키는 대개 사용자의 선호 설정, 로그인 정보, 쇼핑 카트에 담긴 상품 등과 같은 정보를 저장합니다. 쿠키는 웹사이트가 더 나은 사용자 경험을 제공하기 위해 필요한 정보를 저장하고 활용하는 데 사용됩니다. 예를 들어, 사용자가 로그인 정보를 저장하는 쿠키를 사용할 경우, 사용자는 웹사이트를 다시 방문할 때마다 로그인 절차를 거치지 않아도 됩니다. 또한, 광고 및 마케팅 분야에서도 쿠키를 사용합니다. 광고주는 쿠키를 사용하여 사용자가 광고를 클..

Web 2023.03.12

[Spring] 싱글톤 패턴(Singleton pattern)에 관하여

디자인 패턴이란? 디자인 패턴은 소프트웨어 디자인에서 일반적인 문제들에 대한 해결책을 제공하는 형식화된 방법입니다. 이러한 디자인 패턴은 반복적으로 발생하는 디자인 문제들을 해결하기 위해 소프트웨어 개발 커뮤니티에서 개발되었습니다. 디자인 패턴은 크게 세 가지 카테고리로 분류됩니다. 생성 패턴(Creational patterns): 객체 생성과 관련된 패턴으로, 객체 생성을 캡슐화하고, 객체 생성 방법을 변경하거나, 객체 생성 비용을 줄이는 등의 목적으로 사용됩니다. 대표적인 생성 패턴으로는 싱글톤, 팩토리, 추상 팩토리 등이 있습니다. 구조 패턴(Structural patterns): 클래스나 객체들의 구성 방법과 관련된 패턴으로, 클래스들이 더 큰 구조로 합쳐지는 것을 돕습니다. 이러한 패턴은 코드의..

Java 2023.03.10

[Spring] MVC 패턴과 Spring MVC

MVC 패턴이란? MVC는 Model-View-Controller의 약자로 소프트웨어 개발에서 일반적으로 사용되는 디자인 패턴 중 하나이다. Model(모델): 데이터와 비즈니스 로직을 담당한다. 모델은 데이터베이스, 파일 시스템 또는 외부 소스에서 데이터를 가져와 비즈니스 로직을 적용하여 저장, 수정, 검색 및 삭제와 같은 데이터 조작을 수행한다. View(뷰): 사용자에게 데이터를 표시한다. 뷰는 모델이 제공하는 데이터를 표시하기 위해 사용자 인터페이스를 생성한다. 대표적인 예로 웹에서는 HTML, JSP, JavaScript 등이 뷰의 역할을 수행한다. Controller(컨트롤러): 사용자 입력을 처리하고 모델과 뷰를 연결한다. 컨트롤러는 사용자 요청을 받아 해당 요청을 처리하기 위해 모델에 데이..

Java 2023.03.10

[Spring] Spring Framework의 특징 : POJO, AOP, PSA

이번 장에서는 Spring framework의 대표적인 특징들에 대해 알아보고자 한다. DI/IoC에 관한 내용은 이전 블로그에 작성해 놓았으니 POJO, AOP, PSA에 대해 다루려 한다. DI/IoC는 아래 링크를 참고하기 바란다. https://dreamingsado.tistory.com/24 [Spring] Spring 프레임워크란? Spring Framework란? Spring Framework는 자바 기반의 오픈소스 애플리케이션 프레임워크로, 엔터프라이즈급 애플리케이션 개발에 필요한 여러 기능과 서비스를 제공합니다. Spring Framework는 IoC (Inversion of dreamingsado.tistory.com POJO(Plain Old Java Object)란? POJO는 Pl..

Java 2023.03.09

[Spring] Spring 프레임워크란?

Spring Framework란? Spring Framework는 자바 기반의 오픈소스 애플리케이션 프레임워크로, 엔터프라이즈급 애플리케이션 개발에 필요한 여러 기능과 서비스를 제공합니다. Spring Framework는 IoC (Inversion of Control)과 DI (Dependency Injection)을 기반으로한 컨테이너를 제공하여 객체 지향 개발의 설계 원칙을 준수하며, 객체 지향적인 코드를 작성할 수 있도록 도와줍니다. 또한, Spring Framework는 다양한 기능을 제공하며, 개발자가 편리하게 애플리케이션을 개발할 수 있도록 도와줍니다. Spring Framework의 주요 기능으로는 JDBC, ORM, AOP, MVC, Security, Batch 등이 있습니다. JDBC를 ..

Java 2023.03.09

[Network]WS(Web Server) vs WAS(Web application Server)

Web server란? 모질라 에서는 웹서버를 다음과 같이 설명한다. "웹 서버는" 하드웨어, 소프트웨어 혹은 두 개가 같이 동작하는 것을 의미할 수 있다. 하드웨어 측면에서, 웹 서버는 웹 서버의 소프트웨어와 website의 컴포넌트 파일들을 저장하는 컴퓨터입니다. (컴포넌트 파일에는 HTML 문서, images, CSS stylesheets, 그리고 JavaScript files가 있습니다.) 웹 서버는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)를 주고받을 수 있도록 합니다. 소프트웨어 측면에서, 웹 서버는 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리합니다. 이 문서에서 웹 서버는 HTTP서버로 국한합니다. HTTP 서버는 URL(Web add..

Network 2023.03.08

html_basic

Mindspace studio History Gallery Game Q Lorem ipsum dolor sit amet consectetur adipisicing elit. Quasi, repudiandae? MENU 아이스 아메리카노(Hot) 시나몬 라떼 사과유자차 쌍화차 mindspace-studio room 메뉴 제안 메뉴 이름 메뉴 설명 E-mail 비밀번호 등록 취소 광고. 다이나핏 다운패딩 '2월' 특가 60% 119,600원 1. 주소 : 서울 강남구 어디로 200-1 2. 연락처 : 02-000-0000 3. 사업자 : 라이언 태그 - 문서 제목 태그를 수정하여 웹 브라우저 제목 표시줄에 표시되는 문서 제목을 수정한다. Mindspace sutudio main page 태그 태그 안에는 실..

HTML, CSS 2022.11.30