끄적끄적 코딩
article thumbnail
Spring AOP(Aspect Oriented Programming)
Spring 2023. 4. 18. 23:34

관점 지향 프로그래밍 (AOP) 핵심 관심 사항과 공통(부가) 관심 사항 - 핵심 관심 사항(core concern)과 공통 관심 사항(cross-cutting concern) - 기존 OOP에서는 공통관심사항을 여러 모듈에서 적용하는데 있어 중복된 코드를 양상 하는 한계가 존재함 - 이를 해결하기 위해 AOP가 등장 - Aspect Oriented Programming은 문제를 해결하기 위한 핵심 관심 사항과 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍함으로써 공통 모듈을 손쉽게 적용할 수 있게 함 AOP는 application에서의 관심사의 분리(기능의 분리) 즉, 핵심적인 기능에서 부가적인 기능을 분리한다. 분리한 부가기능을 어스펙트(Aspect)라는 독특한 모듈 형태로 만들어서 설계하고 ..

article thumbnail
Spring IoC(Inversion of Control), DI(Dpendency Injection)
Spring 2023. 4. 18. 23:00

IoC (Inversion of Control, 제어의 역행) - IoC/DI - 객체지향 언어에서 Object간의 연결 관계를 런타임에 결정 - 객체 간의 관계가 느슨하게 연결됨(loose coupling) - IoC의 구현 방법 중 하나가 DI(Dependency Injection) IoC 유형 Dependency Lookup - 컨테이너가 lookup context를 통해서 필요한 Resource나 Object를 얻는 방식 - JNDI 이외의 방법을 사용한다면 JNDI관련 코드를 오브젝트 내에서 일일이 변경해 주어야 함 - Lookup 한 Object를 필요한 타입으로 Casting 해 주어야 함 - Naming Exception을 처리하기 위한 로직이 필요 Dpendency Injection - ..

article thumbnail
[React] JSX
React 2023. 4. 18. 02:06

코드 이해하기 import "./App.css"; function App() { return ( Hello, I'm Jetty! ); } export default App; import구문 - 특정 파일을 불러오는 것을 의미 - 리액트로 만든 프로젝트의 자바스크립트 파일에서는 import를 사용하여 다른 파일들을 불러와 사용할 수 있음 - import는 Node.js에서 지원하는 기능. Node.js에서는 require라는 구문으로 패키지를 불러옴 * Node.js - 브라우저가 아닌 환경에서 자바스크립트를 실행할 수 있게 해 주는 환경 - 이러한 기능을 브라우저에서도 사용하기 위해 번들러(bundler)를 사용 대표적인 번들러로 웹팩, Parcel, browserify라는 도구가 있으며, 각 도구마다 ..

article thumbnail
Spring Framework
Spring 2023. 4. 17. 19:45

Spring이란 https://spring.io Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform. spring.io - Spring Framework는 자바로 Enterprise Application을 만들 대 포괄적으로 사용하는 Programming 및 Configuration Model을 제공해 주는 Framework로 Application 수준의 인프라 스트럭쳐를 제공. - 즉, 개발자가 복잡하고 실수하기 쉬운 Low Level에 신경 쓰지 않고 Business Logic 개발에 전념할 수 있도록 해준다. * 엔터프라이즈 급 애플리케이..

article thumbnail
[데이터베이스] 데이터베이스 모델링
데이터베이스 2023. 4. 17. 00:02

데이터베이스 모델링 (Database Modelling) - 정보화 시스템을 구축하기 위해 어떤 데이터가 존재 하는지 또는 업무에 필요한 정보는 무엇인지 분석하는 방법 - 관계형 데이터베이스는 이 ‘표’의 개념을 사용해서 데이터를 구성하는 방법을 사용 데이터베이스 모델링 순서 개념적 데이터베이스 모델링 업무분석 단계에서 얻어진 내용을 토대로 우선 Entity를 추출하고 Entity내에 속성(Attribute)을 구성하며 Entity간의 관계를 정의해서 ER-Diagram을 정의하는 단계 1.사용자 부문의 처리현상을 분석한다. 2.중요 실체와 관계를 파악하여 ERD를 작성한다. 3.실체에 대한 상세 정의를 한다. 4.식별자를 정의하고, 식별자 업무규칙을 정한다. 5.실체별로 속성을 상세화 한다. 6.필요한..

article thumbnail
[데이터베이스] JOIN
데이터베이스 2023. 4. 16. 22:47

JOIN 이란 - 둘 이상의 테이블에서 데이터가 필요한 경우 테이블 조인이 필요 - 일반적으로 조인 조건을 포함하는 WHERE 절을 작성해야 한다. - 조인 조건은 일반적으로 각 테이블의 PK 및 FK로 구성됩니다. JOIN 종류 - inner join - outer join - left outer join - right outer join JOIN 조건의 명시에 다른 구분 - natural join - cross join(full join, cartesian join) JOIN 시 주의 사항 - 조인의 처리는 어느 테이블을 먼저 읽을지를 결정하는 것이 중요 - INNER JOIN : 어느 테이블을 먼저 읽어도 결과가 달라지지 않아 MySQL 옵티마이저가 조인의 순서를 조절해서 다양한 방법으로 최적화를 ..

[데이터베이스] View
데이터베이스 2023. 4. 16. 22:36

View - 데이터베이스에 존재하는 ‘가상의 테이블’ - 실제 행과 열을 가지고 있지만 데이터를 저장하고 있지는 않음 - 테이블처럼 물리적으로 저장되는 것은 아님 - join이나 subquery와 같이 여러 개의 테이블을 참조하여 데이터를 조회 할 때 번거로움을 줄일 수 있음 - 단 MySQL에서 View는 단지 다른 테이블이나 View에 있는 데이터를 보여주는 역할만 수행 - View와 Table의 차이점은, Table은 실질적인 데이터가 있지만 View는 데이터가 없고 SQL만 저장한다. View 장점 - 특정 사용자에게 테이블 전체가 아닌 필요한 필드만(보안성) 보여줄 수 있음 - 복잡한 쿼리를 단순화해서 사용할 수 있음 - 쿼리를 재사용할 수 있음 - 여러 방법의 데이터 조회에 알맞은 다양한 구조..

[데이터베이스] Index
데이터베이스 2023. 4. 16. 22:32

Index - 책의 찾아보기(index, 색인)와 같이 원하는 내용을 바로 찾을 수 있도록 지원 - 테이블의 데이터 조회 시 동작속도를 높여주는 자료구조 - 데이터의 위치를 빠르게 찾아주는 역할 - 컬럼의 값과 레코드가 저장된 주소를 키와 값의 쌍으로 인덱스를 만들어 둠 - MYI(MySQL Index) 파일에 인덱스 저장 Index의 문제점 - 책의 모든 페이지에 나오는 단어를 찾아보기에 표시하게 되면 찾아보기의 분량이 엄청나게 많아져 오히려 본문보다 두꺼워지는 상황이 발생 - 필요 없는 index를 만들면 데이터베이스가 차지하는 공간만 늘어나고, index를 이용하여 덷이터를 찾는 것이 전체 테이블을 찾는 것 보다 느려짐 - 데이터베이스의 공간을 차지하므로 추가적인 공간 필요(DB크기의 10% 정도의..

검색 태그