본문 바로가기

Review161

AOP (Aspect Oriented Programming, 관점 지향 프로그래밍) AOP (Aspect Oriented Programming) AOP는 관전 지향 프로그래밍으로, 관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. *모듈화 : 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것 예로들어 핵심적인 관점은 결국 우리가 적용하고자 하는 핵심 비즈니스 로직이 된다. 또한 부가적인 관점은 핵심 로직을 실행하기 위해서 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등을 예로 들 수 있다. AOP는 흩어진 관심사(Crosscutting Concerns)를 모듈화 할 수 있는 프로그래밍 기법이다. 소스 코드상에서 계속 반복해서 사용되는 부분들을 흩어진 관심사(Crosscutting Concerns)라고.. 2023. 4. 7.
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. 4. 4.
JAVA 공부 자바의 정석으로 java공부하기! 일부만 작성 오버라이딩과 오버로딩의 차이점 오버라이딩은 상위 클래스에 있는 메소드를 하위 클래스에서 재정의 하는 것 오버로딩은 같은 이름의 메소드를 변수 타입이나 개수가 다르게 정의하는 것 java의 원시타입(byte) 정수형 byte(1), short()2, int(3), long(4) 실수형 float(4), double(8) 문자형 char(2) 논리형 boolean(1) java의 참조타입 기본 타입을 제외한 타입으로 객체의 주소를 저장하는 타입이다. 문자열, 배열, 열거형 상수, 클래스, 인터페이스 등 불변객체란? 불변 객체는 객체 생성 이후 내부의 상태가 변하지 않는 객체이다. Java에서는 필드가 원시 타입인 경우 final 키워드를 사용해 불변 객체를 만들.. 2023. 4. 2.
인프라(Infra)? 인프라(Infra) 인프라(Infra)란? 무엇을 하기 위해 기초가 되는 시설, 환경이라고 할 수 있다. 정보 기술(IT) 인프라는 엔터프라이즈 IT 환경을 운영하고 관리하는 데 필요한 구성 요소로, 클라우드 컴퓨팅 시스템이나 조직의 자체 시설 내부에 배포할 수 있다. IT 인프라의 구성요소로는 하드웨어, 소프트웨어, 네트워킹, 서버 등이 있으며, IT 인프라의 유형으로는 전통적인(기존) 인프라, 클라우드 인프라, 하이퍼컨버지드 인프라가 있다. 인프라가 안정적으로 운영돼야 서비스 안정성이 높아지며 장애가 발생했을 때도 빠르게 대응할 수 있다. 추가로 관련 글이나 기사를 더 읽어봐야겠다. 출처 및 참고 일련의 사태로 본 IT인프라의 중요성 – DATA ON-AIR (dataonair.or.kr) https.. 2023. 4. 1.
SaaS? SaaS(Software as a Service)는 클라우드 기반의 소프트웨어 제공 모델로, 클라우드 제공업체가 클라우드 애플리케이션 소프트웨어를 개발 및 유지 관리하고, 자동 소프트웨어 업데이트를 제공하고, 인터넷을 통해 Pay-as-you-Go 방식으로 고객에게 소프트웨어를 제공합니다. 서비스로서의 소프트웨어(Software-as-a-Service, SaaS)는 클라우드 애플리케이션과 기본 IT 인프라 및 플랫폼을 인터넷 브라우저를 통해 최종 사용자에게 제공하는 클라우드 컴퓨팅 형태입니다. 다음과 같은 대기업, 소규모 기업, 개인에게는 SaaS가 적합한 솔루션일 수 있습니다. 인프라, 플랫폼, 온프레미스 소프트웨어의 구매나 유지관리 책임을 맡고 싶지 않은 경우 자본 비용(CAPEX) 투자가 아닌 운영.. 2023. 3. 30.
REST API API(Application Programming Interface) : 기존에 있는 응용 프로그램을 통해서 데이터를 제공받거나 기능을 사용할 때 사용하는 인터페이스 및 규격 입력과 출력이 존재하는 것 REST(REpresentational State Transfer) 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. 즉, 자원(resource)의 표현(representation)에 의한 상태 전달을 뜻한다. REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에, 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다. 어떤 자원에 대해 CRU.. 2023. 3. 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. 3. 26.
클라우드(Cloud) 서비스란? 오늘은 클라우드에 대해서 정리해볼 것이다. 우선 클라우드가 무엇인지에 대해 정확히 이해하기 위해 여러 사이트를 참고하여 정의된 내용을 가져와 보았다. 클라우드(Cloud)서비란 무엇일까? 클라우드, 클라우드 서비스란? 클라우드는 인터넷을 통해 액세스할 수 있는 서버와 이러한 서버에서 작동하는 소프트웨어와 데이터베이스를 의미한다. 클라우드 서버는 전 세계 데이터 센터에 위치한다. 사용자와 기업은 클라우드 컴퓨팅을 사용하면 직접 물리적 서버를 관리하거나 자체 서버에서 소프트웨어 응용 프로그램을 실행하지 않아도 된다. 클라우드는 영문 그대로 '구름'이라는 뜻을 가지고 있다. 컴퓨터 데이터를 로컬PC의 내부 디스크에 보관하지 않고 인터넷을 통해 중앙 컴퓨터에 저장할 수 있는데 이 공간을 클라우드라고 한다. 인터.. 2023. 3. 24.
스트림(Stream) 자바의 정석으로 java 공부하기 https://www.youtube.com/watch?v=7Kyf4mMjbTQ&t=197s - 스트림의 기능 : 중간연산, 최종연산 * 중간연산 : 연산결과가 스트림, 반복적으로 적용가능(0~n번) * 최종연산 : 연산결과가 스트림이 아닌 연산, 단 한번만 적용가능(스트림의 요소를 소모, 0~1번) - 스트림의 특징 : 원본변경 안함(readonly), 일회용(like iterator 필요하면 다시 생성), 최종연산 전까지 중간연산이 수행되지 않음, 일종의 표시만 해둠(지연된 연산) - 스트림의 작업을 병렬로 처리 : 병렬스트림 parallel() - 기본형 스트림 : IntStream, LongStream, DoubleStream * 오토박싱&언박싱의 비효율 제거(St.. 2023. 3. 21.