몰랐던거(53)
-
[OOP] Proxy 패턴 정리하기
Proxy(프록시)의 뜻이 뭘까?뭔가를 대신해준다? 누군가를 대체해준다? 프록시 패턴이란?프록시는 다른 객체에 대한 대체 또는 자리표시자를 제공할 수 있는 디자인 패턴이다. 원래 객체에 대한 접근을 제어하므로, 요청이 원래 객체에 전달되기 전 또는 후에 무언가를 수행할 수 있도록 함. 그렇다면 프록시 패턴은 어떤 문제들을 해결할 수 있을까?프록시 패턴이 해결할 수 있는 문제특정 데이터베이스로의 쿼리 응답이 굉장히 느리다고 가정하자.이 경우 여러 클라이언트들이 직접적으로 DB로 접근해서 쿼리를 날린다면 정말 더 느려질 것이다.하지만 만약 아래와 같이 프록시 서버를 둔다면,프록시 서버에서의 캐싱을 이용해서 DB로의 접근을 줄이고 프록시 서버에서 처리를 해줘 성능 향상을 도모할 수 있고 DB는 DB의 기능만을..
2022.11.10 -
[JAVA] Exception 정리하기
정리의 계기자바를 공부한 지 얼마 되지 않아서 Exception을 잘 처리하는 개발자가 좋은 개발자라는 것을 들어왔지만 몸으로 체감할 수 없었다. 하지만 최근 교육을 들으면서 과제에서 Exception을 다루는 일이 많아졌는데 어떻게 예외처리하는 것이 좋은 것이고 맞는 걸까라는 생각이 들었다.OOP에 관한 얘기를 들었을 때 Exception으로 인해 캡슐화가 깨지는 경우도 있다는 얘기를 들었고 이 시기에 하루에 하나씩 올라오는 면접 질문으로 checked, unchecked Exception에 대해서 설명하라는 질문이 나와 정리해보려고 한다.Error와 Exception의 차이checked, unchecked ExceptionException을 잘 처리하는 방법이런 부분에 대해서 알아보겠다.1️⃣Erro..
2022.11.10 -
[Architecture] Layered Architecture(feat. MVC 패턴)
❓Software Architecture소프트웨어 아키텍처는 모든 소프트웨어 시스템의 기본 구조를 말하며 시스템이 제대로 기능하고 작동하도록 하는 모든 측면을 말한다.소프트웨어 시스템에서의 아키텍처는 물리적 설계가 아닌 구성 요소의 설계, 구성 요소 간의 관계, 사용자 상호 작용 및 시스템에 대한 사용자의 요구를 포함한다.예로써는 Microservices, client-server, layered architecture 등의 구조들이 있다.그렇다면 Layered Architecture는 무엇일까?❓Layered Architecture소프트웨어 개발에서 일반적으로 가장 많이 사용되는 아키텍처이다. Layer의 수에 따라 N Layered Architecture라고 불려지는데 단일 소프트웨어 단위로 함께 기..
2022.11.05 -
DBMS의 종류, DB 서버
DBMS의 종류에 대해서 알아보자. DBMS에는 다양한 종류가 있고 사용 용도나 제어하는 환경 등 조건에 맞게 고안된 것들이다. DBMS는 데이터 저장 방법에 따라 몇 가지로 분류할 수 있다. 계층형 데이터베이스 가장 오래된 DB이다. 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식을 가진다. 하드디스크, DVD 파일 시스템이 이러한 계층현 데이터베이스이다. 관계형 데이터베이스 관계 대수(relational algebra)라는 것에 착안하여 고안한 DB이다. 간단히 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스이다. 객체지향 데이터베이스 객체(object)라는 것을 중심으로 프로그래밍하는 언어를 객체지향 언어라고 부른다. 이처럼, 가능하면 객체 그대로를 DB 데이터로 저장하는 데이..
2022.08.31 -
데이터베이스의 개념
데이터베이스란 무엇일까? 데이터의 집합을 데이터베이스라고 한다. (데이터 : 컴퓨터 안에 기록되어 있는 숫자) 넓은 의미로는 컴퓨터 안에 기록된 모든 것이다. But, 일반적으로 통용되는 DB는 특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 형태를 말함. DB는 어떤 시스템에서 사용될까?. 쇼핑 사이트에서도 주문 정보, 고객 정보를 담고 있는 DB를 사용할 것이다. 편의점에서도 물건을 사면 포스기에서 데이터가 DB로 전송될 것이다. 휴대폰의 전화번호부도 작은 DB라고 볼 수 있다. DB는 정말 다양한 시스템에서 사용되고 일상에서도 흔히 볼 수 있다. DB, DBMS DB는 앞서 말했듯이 저장장치 내에 정리되어 저장된 데이터의 집합이다. DBMS = Database Management ..
2022.08.31 -
Javascript, HTML, CSS
Javascript, HTML, CSS의 역할 HTML : 문서의 구조를 나타냄. CSS : 문서 각 요소들의 스타일을 나타냄. JS : 이런 문서 각 구조와 스타일에 변화를 주거나 로직을 추가. 웹 상에서의 동작. 웹 페이지 상에서 JS, HTML, CSS는 함께 동작한다. 브라우저는 JS 코드를 실행 시켜서 HTML, CSS에 변화가 생긴다면 다시 브라우저에 해당 내용을 반영하여 랜더링에 사용자가 변화를 확인할 수 있게 해준다. 예시 HTML이 구조를 잡는다고 말했듯 아래의 그림과 같이 골격을 잡는다. CSS는 스타일을 담당한다고 말했다. 위에서 태그 p 부분의 폰트 크기와 색상을 바꾼다는 의미이다. JS는 구조와 스타일에 변화를 주거나 로직을 추가한다고 했다. 이 부분에서는 프롬프트에 값을 받으면 ..
2022.08.30