TIL 썸네일형 리스트형 [SpringFramework][AOP] AOP(Aspect Oriented Programming : 관심 지향 프로그래밍)란? OOP(object Oriented Programming)란 객체지향 프로그래밍 즉, 객체 간의 관계를 지향하는 프로그래밍 방식 관심(Aspect)을 지향하는 프로그래밍에서 관심은 ? 위 그림처럼 아기를 키우는 부모들의 육아방식이나 교육방식은 제각각 다를 수 있다 어떤 부모는 아기를 재우기 위해 아기띠를 하는 반면, 어떤 부모는 침대에 눕혀놓고 재우기도 한다. 그리고 어떤 부모들은 언어의 발달을 위해서 책을 읽어주는 시간을 많이 가지는 반면, 어떤 부모 들은 책 보다 동요를 더 많이 들려주는 방식으로 아기의 언어 발달을 도우려 한다. 부모들의 키우는 방식이 각자 다를 수 있지만 공통되는 부분도 있다 그것은 아기의 건강.. 더보기 [SpringFramework][IoC/DI기초] IoC(Inversioin of Control)/DI(Dependency Injection) IoC의 의미를 이해할 수 있다. Framework는 애플리케이션 흐름의 주도권이 Framework에 있고 Library는 애플리케이션 흐름의 주도권이 개발자에 있는데, 여기서 말하는 애플리케이션 흐름의 주도권이 뒤바뀐 것을 IoC라고 한다. Java 웹 애플리케이션에서 IoC가 적용되는 예 서블릿 기반의 애플리케이션을 웹에서 실행하기 위한 서블릿 컨테이너의 모습이다 Java콘솔 애플리케이션의 경우 main() 메서드가 종료되면 애플리케이션의 실행이 종료된다. 하지만 웹에서 동작하는 애플리케이션의 경우 클라이언트가 외부에서 접속해서 사용하는 서비스이기 때문에 main() 메서드가 종료되지 않아야 할 것이다. 그런.. 더보기 [SpringFramework][POJO] POJO(Plain Old Java Object) POJO의 의미를 이해할 수 있다. POJO는 Spring에서 사용하는 핵심 개념들에 둘러 싸여져 있는 모습이다. 이는 POJO라는 것을 IoC/DI , AOP, PSA를 통해서 달성할 수 있다는 것을 의미한다 POJO는 Plain Old Java Object라는 단어의 첫글자를 따서 만든 약자로써 Java로 생성하는 순수한 객체를 의미한다. POJO 프로그래밍이란? POJO 프로그래밍이란 POJO를 이용해서 프로그래밍 코드를 작성하는 것을 의미한다. 그런데 단순히 순수 자바 객체만을 사용해서 프로그래밍 코드를 작성한다고 해서 POJO 프로그래밍이라고 볼 수는 없다 POJO프로그래밍으로 작성한 코드라고 불리우기 위해서는 크게 두가지 정도의 기본적인 규칙을.. 더보기 [Spring Framework][사용하는 이유] 학습 목표 Spring Framework이 무엇인지 이해할 수 있다. + [Framework와 Library의 차이] Framework는 우리가 어떠한 애플리케이션을 만들기 위한 틀 혹은 구조를 제공한다. Framework의 장점 -효율적으로 코드를 작성할수 있다. 아무것도 없는 상황에서 코드를 작성하는것과, 기본 구조가 만들어져 있는 상황에서 코드를 작성하는 것은 많은 차이가 있다 개발하고자 하는 애플리케이션을 밑바닥부터 일일이 전부 개발하는것이 아니라 서로 다른 애플리케이션간의 통신이나, 데이터를 데이터 저장소에 저장하는 등의 다양한 기능들 역시 Framework이 라이브러리 형태로 제공함으로써 개발자가 애플리케이션의 핵심 로직을 개발하는 것에 집중할 수 있도록 해준다. -정해진 규약이 있어 애플리케.. 더보기 [Spring][DI] 학습 목표 Spring 컨테이너(Container)와 빈(Bean)의 의미를 이해할 수 있다. What(스프링 컨테이너는 무엇인가?) ApplicationContext를 스프링 컨테이너라고 하고 인터페이스로 구현되어있다(다형성 적용) 스프링 컨테이너는 XML, 에너테이션 기반의 자바 설정 클래스로 만들 수 있따 예전에는 개발자가 xml을 통해 모두 설정해 줫지만 이러한 복잡한 부분들을 Spring Boot를 사용하면서 사용하지 않게되었다 빈의 인스턴스화, 구성, 전체 생명 주기 및 제거까지 처리한다 - 컨테이너는 개발자가 정의한 Bean을 객체로 만들어 관리하고 개발자가 필요로 할 때 제공한다 스프링 컨테이너를 통해 원하느 만큼 많은 객체를 가질수 있다 의존성 주입을 통해 애플리케이션의 컴포넌트르 관리한.. 더보기 [데이터베이스와 SQL][SQL문정리] 데이터베이스와 SQL 데이터베이스란? 여러 사람이 공유하여 사용할 목적으로 통합하여 관리되는 데이터의 모음이다 최근에는 크게 관계형 데이터베이스(RDS, SQL)와 비 관계형(NoSQL, Non relational)으로 구분된다 데이터베이스 관리 시스템을 제공하는 서비스의 종류는 매우 많지만, 기본적으로 데이터의 검색과 분석에 사용되는 방법은 동일하다 데이터 베이스 종류는 다음과 같다 RDS, SQL, MySQL, Oracle DB, PostgreSQL NoSQL, MongoDB, Redis SQL(Structed Query Language) 관계형 데이터베이스에 접근하고 조작하기 위한 표준 언어이다 데이터베이스 종류에 따라 조금씩 문법이 다르지만 정보를 관리하는 기본적인 CRUD 기능을 가지고 있다. .. 더보기 [DB][SQL][WHERE][TRUNCATE,DELETE,DROP 차이] 1. WHERE문 - 테이블에서 특정 조건에 부합하는 데이터만 조회하고 싶을 때 사용한다 예) SELECT * FROM EMPLOYEE WHERE JOP ="사원"' 2. 논리 연산자(and/or) 문 -where문 + or/and 문 SELECT * FROM EMPLOYEE WHERE JOP !="사장"' AND salary >= 500 SELECT * FROM EMPLOYEE WHERE JOP!="사장" OR salary >= 500 >> 사장이 아니거나, salary가 500 이상이거나 둘 중 하나만 맞아도 출력됨 3.BETWEEN A AND B SELECT * FROM EMPLOYEE WHERE SALARY BETWEEN 300 AND 500; 4. IN SELECT * FROM EMPLOYEE .. 더보기 [HTTP][HEADER][캐시와 조건부 요청] 캐시가 없을 때 첫번 째 요청시 http헤더 0.1m http바디 1.0m 일 때 1.1m를 응답으로 반환하고 그 반환값이 브라우저에 나타나고, 두번째 요청시 똑같이 1.1Mbyte를 반환한다 매번 요청시 마다 1.1mbyte를 다운로드해야한다 그럴 경우 1.데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야한다 2.인터넷 네트워크는 매우느리고 비싸다 3.브라우저 로딩속도가 느리다(느린 사용자 경험) 캐시가 적용됐을때 cache-control (캐시가 유효한 시간(초)) 첫번 째 요청시 http헤더 0.1m , http바디 1.0m일때 1.1를 응답으로 반환하고 그 반환값이 브라우저에 나타나고, 웹브라우저 안에 캐시저장소에 캐시유효시간만큼 저장소에 있다가 유효시간 내에 요청을 하면 .. 더보기 이전 1 ··· 3 4 5 6 7 8 9 10 다음