오늘은 스프링의 삼각형이라고 불리는 세가지 핵심 프로그래밍 모델에 대해 간략하게 정리하고 가려고 합니다! 삼각형에는 loC/DI, AOP, PSA가 있습니다. 편의를 위해 설명은 반말로 진행합니다. 스프링이란 자바 애플리케이션 개발에 사용되는 프레임워크이다. 애플리케이션 바탕이되는 틀, 공통 프로그래밍 모델, 기술 API 등을 제공한다. 애플리케이션의 기본 틀 - 스프링 컨테이너 스프링컨테이너와 애플리케이션 컨텍스트라고 불리는 스프링 런타임 엔진을 제공한다. 설정정보를 참고로 해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리한다. 공통 프로그래밍 모델 - 스프링 삼각형 스프링은 코드가 어떻게 작성되야 하는지에 대한 기준도 제시한다. 흔히 스프링 삼각형이라 불리는 세가지 프로그래밍 모델을 지원한다. 1..
전체 글
경험들을 아카이빙합니다.회사에서 깃허브를 사용하면서 좀 더 효율적으로 브랜치를 활용할 수 있는 방안을 찾아보다가 github flow라는 개발 전략을 알게 되었다. 보통 브랜치로 기능별로 브랜치를 만들어 개발한 후 main 브랜치에 merge후 배포하곤 했는데 github flow는 다섯가지 종류의 브랜치를 사용하여 개발한다. 브랜치 종류가 많으므로 그만큼 안전하다고 볼 수 있다. github flow에서 사용하는 브랜치의 종류는 main, develop, feature, release, hoxfix 가 있다. 브랜치들의 역할 main : 제품으로 출시될 수 있는 브랜치 develop : 다음 출시 버전을 개발하는 브랜치 feature : 기능을 개발하는 브랜치 release : 이번 출시 버전을 준비하는 브랜치 hotfix ..
Ajax 란? ‘Asynchronous JavaScript and XML’의 약자 웹에서 화면갱신없이 서버로부터 데이터를 가져올 수 있다. 브라우저에서 데이터를 ajax engine을 통해 서버로 전송한다. 이 때 ajax engine에서는 javascript로 DOM을 사용해 XMLHttpRequest(XHR) 객체로 데이터를 전달한다. 이 XHR을 이용해 서버에서 비동기 방식으로 자료를 조회할 수 있다. 서버에서 데이터를 전달할때 화면전체 html을 전달하지 않고 text, xml형식으로 브라우저에 전달한다. Ajax 사용하는 이유는? 화면의 이동없이 데이터를 송수신하기 때문에 보안상 치명적인 문제를 일으킬 수 있다. script기반이기 때문에 개발할때 디버깅이 불편해 어려움이 발생할 수 있음. ->..
1. 구현할 기능은? 특정 옵션이 선택되었을 때 해당 옵션에 관한 데이터 히스토리를 보여주려고 합니다. 옵션은 select 태그로 이루어져 있으며 저는 과제로 예를 들어보겠습니다. 데이터 히스토리는 과제에 코멘트를 달거나 수정할 때마다 DB에 데이터를 쌓고 생성된 시간을 내림차로 정리하여 테이블로 나타낼 것입니다. 2. 로직 생각해보기 처음엔 특정 옵션이 변경될 때마다 ajax를 요청했습니다. 여기서 중요한 점은 dataType을 "script"로 해야된다는 점입니다. 저는 컨트롤러에서 js로 응답할 것이기 때문이죠. comments_controller.rb def get_comment @history = ProjectComment.where(option_id: params[:id]).order(crea..