전체 글 157

객체지향 설계 원칙 SOLID

SOLID(객체지향언어를 이용해서 좋은 클래스를 설계하기 위한 5가지 원칙) SRP(Single Responsibility Principle - 단일책임의 원칙) - 한 클래스는 하나의 책임(기능)만 적용할 수 있도록 설계한다. 변경을 할 때 수정할 내용이 거의 없으면 단일책임원칙을 잘 적용한 것이다(캡슐화). - 계층을 나누는 이유가 이러한 이유 때문이다. - MVC패턴의 예 - ex) 무언가를 등록하는 클래스라면 이 클래스는 등록관련 문제를 수정할 때만 수정돼야 한다. OCP(Open Close Principle - 개방 폐쇄의 원칙) - 소프트웨어는 확장(기능추가)에는 열려있어야하고 변경(기존에 실행이 잘 되는 코드에는)에는 닫혀있어야 한다. - 기존의 코드를 변경하지 않고 기능을 추가할 수 있어야..

정리 2023.04.12

Oracle

Oracle 오라클(Oracle)은 미국 텍사스에 본사를 둔 소프트웨어 회사로, 대표적인 제품으로는 오라클 RDBMS가 있다. 이 회사의 대표적인 제품인 데이터베이스 제품, 오라클 RDBMS는 세계 최고의 점유율을 차지하고 있다. 오라클 데이터베이스(Oracle Database 또는 Oracle RDBMS)는 미국 오라클(Oracle)사의 관계형 데이터베이스 관리 시스템의 이름이다. 현재 유닉스 환경에서 가장 널리 사용되는 RDBMS이다. 검색이나 업데이트용 언어로는 국제 표준화 기구의 표준 구조화 조회 언어와 PL/SQL을 지원한다. 데이터베이스(Database)란? : 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다. 출처 및 참고 - 위키백과

정리 2023.04.11

이너조인과 아우터조인

JOIN : 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것 INNER JOIN(내부 조인) 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다. 보통 '조인'으로 불리는 것이 내부 조인이며, 가장 많이 사용된다. SELECT FROM INNER JOIN ON [WHERE 검색 조건] OUTER JOIN(외부 조인) 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다. SELECT FROM OUTER JOIN ON [WHERE 검색 조건] LEFT OUTER JOIN: 왼쪽 테이블의 모든 값이 출력되는 조인 RIGHT OUTER JOIN: 오른쪽 테이블의 모든 값이 출력되는 조인 FULL OUTER JOIN: 왼쪽 또는 오른쪽 테이블의 모든 값이..

정리 2023.04.10

AOP (Aspect Oriented Programming, 관점 지향 프로그래밍)

AOP (Aspect Oriented Programming) AOP는 관전 지향 프로그래밍으로, 관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. *모듈화 : 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것 예로들어 핵심적인 관점은 결국 우리가 적용하고자 하는 핵심 비즈니스 로직이 된다. 또한 부가적인 관점은 핵심 로직을 실행하기 위해서 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등을 예로 들 수 있다. AOP는 흩어진 관심사(Crosscutting Concerns)를 모듈화 할 수 있는 프로그래밍 기법이다. 소스 코드상에서 계속 반복해서 사용되는 부분들을 흩어진 관심사(Crosscutting Concerns)라고..

정리 2023.04.07

XML(eXtensible Markup Language)이란?

XML(eXtensible Markup Language) XML은 HTML과 매우 비슷한 문자 기반의 마크업 언어(text-based markup language)으로, 사람과 기계가 동시에 읽기 편한 구조로 되어 있다. 그러나 XML은 HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어이다. XML 태그는 HTML 태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다. XML 문서는 텍스트, 기타 요소 또는 둘 다를 포함할 수 있는 요소로 구성된다. 요소는 꺾쇠 괄호로 묶인 시작 및 끝 태그로 표시된다. XML을 기반으로 하는 대표적인 언어로는 XHTML, SVG, RDF, RSS, Atom, MathML..

정리 2023.04.04

JAVA 공부

자바의 정석으로 java공부하기! 일부만 작성 오버라이딩과 오버로딩의 차이점 오버라이딩은 상위 클래스에 있는 메소드를 하위 클래스에서 재정의 하는 것 오버로딩은 같은 이름의 메소드를 변수 타입이나 개수가 다르게 정의하는 것 java의 원시타입(byte) 정수형 byte(1), short()2, int(3), long(4) 실수형 float(4), double(8) 문자형 char(2) 논리형 boolean(1) java의 참조타입 기본 타입을 제외한 타입으로 객체의 주소를 저장하는 타입이다. 문자열, 배열, 열거형 상수, 클래스, 인터페이스 등 불변객체란? 불변 객체는 객체 생성 이후 내부의 상태가 변하지 않는 객체이다. Java에서는 필드가 원시 타입인 경우 final 키워드를 사용해 불변 객체를 만들..

공부 기록 2023.04.02

인프라(Infra)?

인프라(Infra) 인프라(Infra)란? 무엇을 하기 위해 기초가 되는 시설, 환경이라고 할 수 있다. 정보 기술(IT) 인프라는 엔터프라이즈 IT 환경을 운영하고 관리하는 데 필요한 구성 요소로, 클라우드 컴퓨팅 시스템이나 조직의 자체 시설 내부에 배포할 수 있다. IT 인프라의 구성요소로는 하드웨어, 소프트웨어, 네트워킹, 서버 등이 있으며, IT 인프라의 유형으로는 전통적인(기존) 인프라, 클라우드 인프라, 하이퍼컨버지드 인프라가 있다. 인프라가 안정적으로 운영돼야 서비스 안정성이 높아지며 장애가 발생했을 때도 빠르게 대응할 수 있다. 추가로 관련 글이나 기사를 더 읽어봐야겠다. 출처 및 참고 일련의 사태로 본 IT인프라의 중요성 – DATA ON-AIR (dataonair.or.kr) https..

공부 기록 2023.04.01

SaaS?

SaaS(Software as a Service)는 클라우드 기반의 소프트웨어 제공 모델로, 클라우드 제공업체가 클라우드 애플리케이션 소프트웨어를 개발 및 유지 관리하고, 자동 소프트웨어 업데이트를 제공하고, 인터넷을 통해 Pay-as-you-Go 방식으로 고객에게 소프트웨어를 제공합니다. 서비스로서의 소프트웨어(Software-as-a-Service, SaaS)는 클라우드 애플리케이션과 기본 IT 인프라 및 플랫폼을 인터넷 브라우저를 통해 최종 사용자에게 제공하는 클라우드 컴퓨팅 형태입니다. 다음과 같은 대기업, 소규모 기업, 개인에게는 SaaS가 적합한 솔루션일 수 있습니다. 인프라, 플랫폼, 온프레미스 소프트웨어의 구매나 유지관리 책임을 맡고 싶지 않은 경우 자본 비용(CAPEX) 투자가 아닌 운영..

공부 기록 2023.03.30

REST API

API(Application Programming Interface) : 기존에 있는 응용 프로그램을 통해서 데이터를 제공받거나 기능을 사용할 때 사용하는 인터페이스 및 규격 입력과 출력이 존재하는 것 REST(REpresentational State Transfer) 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. 즉, 자원(resource)의 표현(representation)에 의한 상태 전달을 뜻한다. REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에, 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다. 어떤 자원에 대해 CRU..

정리 2023.03.27

JSP(Jakarta Server Pages / Java Server Pages)란 무엇일까?

JSP(Jakarta Server Pages) JSP는 Java를 이용한 서버 사이드 템플릿 엔진으로 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹어플리케이션 도구이다. jsp는 자바를 웹서버에서 쉽게 쓰기 위한 기술이며 언어가 아니다. Java Server Pages의 약자이며, 오라클에서 자바상표권 문제로 오픈소스인 jsp는 자카르타 서버페이지로 이름을 바꾸었다. Java EE 스펙 중 일부로 웹 애플리케이션 서버에서 동작한다. JSP는 실행시에는 자바 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있다. 하지만, 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리하다. 1999년 썬 마이크로시스템즈에 의해 배포되었으며 이와 비슷한 구조로 PHP..

정리 2023.03.26