[Web] DTO와 VO의 차이
2021. 12. 17. 14:59
Computer Science/Web programming
스프링을 공부하면서 VO가 있다는 것은 알았지만, DTO만 사용했기 때문에 DTO와 VO의 차이가 무엇인지에 대해 궁금했다. 생각이 난 김에 DTO와 VO의 차이에 대해 간단히 알아보려고 한다. DTO와 VO를 혼용해서 쓰는 경우가 많다. → 왜? core J2EE Patterns이라는 책에서 데이터 전달용 객체를 VO로 정의하다가 TO (현재는 데이터를 의미하는 D를 붙여 DTO로 사용)로 바꾸었기 때문 DTO (Data Transfer Object) 데이터 전달용 계층 간 데이터 교환을 위해 사용하는 객체. DTO에 데이터를 담아 전달한다. 데이터를 담은 private변수들과 이 변수들을 조작할 수 있는 getter&setter 메서드로 구성되어 있다. -> 다른 로직들은 담고 있지 않다! 왜? 순수..
[Web] Spring의 AOP, Interceptor, Filter
2021. 12. 14. 18:06
Computer Science/Web programming
1. AOP (Aspect Oriented Programming) 관점 지향 프로그래밍 Spring에서 각각의 로직들은 비지니스 로직과 부가기능으로 구성된다. 어떤 로직을 기준으로 1) 핵심적인 관점 2) 부가적인 관점으로 관점을 나누어 각각을 모듈화 하겠다는 것! 핵심적인 관점 == 핵심 비지니스 로직 부가적인 관점 == 핵심 로직을 실행하기 위한 부가적인 기능들 (데이터베이스 연결, 로깅, 트랜잭션 처리, 데이터 보호를 위한 암호화, 일괄적인 예외 처리 등) 각각의 로직들에서 계속 반복되어 쓰여지는 코드들 == 흩어진 관심사 (= 횡단 관심사 / 주로 부가기능) 이러한 반복된 코드들을 모듈로 만들어 놓으면 개발 속도가 빨라지고, 유지보수성도 향상됨 이와 같이 흩어진 관심사들을 Aspect로 모듈화 하..
2. O/S Structures
2021. 10. 10. 16:24
Computer Science/운영체제
주니온님의 인프런 '운영체제 공룡책 강의' 와 'Operating System Concepts, 9th edition '을 참고하여 작성하였습니다. 2-1. 운영체제의 개념 운영체제는 컴퓨터에서 항상 수행되는 프로그램으로, 일반적으로 "커널(kernel)" 이라고 불린다. 따라서 커널이 OS이고, OS의 핵심이다. 2-2. 컴퓨터 시스템의 구조 부트스트랩? 보통 컴퓨터를 킬 때, 부팅한다고 한다. 부팅이라는 말은 부트스트랩에서 나온 말이다. 부트스트랩은 컴퓨터가 켜지자마자 가장 처음으로 하는 일이며, 메모리에 운영체제를 로딩하는 일을 말한다. 흔히 말하는 펌웨어가 부트스트랩이다. 우리가 컴퓨터를 키면 메모리에는 아무것도 없는 상태이다. 왜? 컴퓨터의 주기억장치는 대부분 RAM..
1. Introduction
2021. 10. 9. 12:36
Computer Science/운영체제
주니온님의 인프런 '운영체제 공룡책 강의' 와 'Operating System Concepts, 9th edition '을 참고하여 작성하였습니다. 1.1 운영체제(Operating System)는 무엇일까? 컴퓨터라는 H/W를 운영하는 S/W - 컴퓨터란? 정보를 처리하는 기계 - 정보란? 불확실한 상황을 측정해서 수치적으로 표현한 것 정보량 정보의 단위가 1이라면? 1bit (binary digit) 컴퓨터는 정보를 어떻게 처리할까? 정보의 최소단위 → 1bit 정보가 2bit, 8bit ... 면 8bit=1byte 등 정보의 처리 : 정보의 상태 변환이 가능한 물리적인 장치가 필요 (0→1, 1→0) ⇒ 부울 대수 : AND, OR, NOT ⇒ 논리 게이트 : NOT, AND, OR ,XOR, N..