Welcome to My World (www.dgmayor.com)

소프트웨어/신 기술 및 잡동 사니

4. Spring 과 Maven & mylyn 펌...

dgmayor 2022. 3. 13. 22:19
728x90

자바 개발자 특히 웹개발자로 일을 하기 위해선 반드시 알아야 할 개념이 있습니다.

Spring  Maven 입니다.

 

Spring 의 개념을 인터넷에서 찾아보면 빠지지 않고 등장하는 말이 있습니다

 

스프링이란 어떤 것이다라고 한마디로 정의하기는 쉽지 않다. 스프링에 대해 가장  알려진 정의는 이렇다.

자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크

 

 

저도 저 말을 듣고 이해할 뿐이지 모르는 사람에서 설명을 하라고 한다면 도저히 이해시킬 자신이 없습니다.

 프레임워크 라는 단어는 기억하셨으면 좋겠습니다.

 

그냥 제 식대로 예를 들어가며 설명을 해 보겠습니다.

 

만약 당신이 아무것도 없는 상태에서 목재 가구를 만든다고 생각해 봅시다.

우선 설계를 해야겠죠

가로 몇미터 세로 몇미터짜리 나무 판자 몇 개를 이용하여

어떤 모양으로, 어떤 크기로, 어떤 기능을 할 지

못은 몇 개가 필요하고 망치, 톱 등 어떤 공구가 필요한 지

하나부터 열까지 다 정해야 합니다.

여차저차해서 다 정하고 나면

나무부터 구해야겠죠

공구점에가서 필요한 공구를 산 다음 숲으로 나무를 베러 갑니다.

원하는 크기의 나무가 나올 때까지 나무를 찾아다닌 뒤 나무를 베고 그 나무를 원하는 크기로 다시 가공해야합니다.

 

저는 여기까지 오기 전에 진작에 가구 만드는걸 포기했을 것 같습니다.

 

그런데 이 때 이케아 매장이 근처에 생겼습니다.

이케아에 가 보니 내가 필요한 가구가 종류별로 크기별로 조립만 하면 가구를 만들 수 있도록

가공된 제품을 팔고 있습니다.

저는 필요한 제품을 사서 조립만 하면 되겠죠

 

이렇게 내가 필요한 개발 환경을 편하게 제공해 주어서 나는 만드는 데에만 집중할 수 있도록 해주는 것이

스프링 프레임워크 입니다.

물론 비유가 좀 잘못됐다고 생각하시는 분들도 있으실 겁니다.

이케아에서 파는 제품은 내가 원하는 대로 만드는 것이 아니라 정해진 대로만 만들어야 하기 때문입니다.

 

음 그렇다면 다른 예를 들어보겠습니다.

 

Powerpoint로 발표자료를 만들 때

배경색, 글씨체, 크기, 그림, 그라데이션 애니메이션 등등

하나하나 다 처음부터 만드시는 분들은 거의 없으실 겁니다.

대부분 인터넷에서 무료로 베포하거나 혹은 판매하는 템플릿을 다운받아서 사용하신 적이 있으실 겁니다.

이 템플릿을 스프링 프레임워크라고 생각하시면 될 것 같습니다.

템플릿을 이용하면 디자인에 들일 시간과 노력을

발표 자료에 양과 질에 더 투자할 수 있으니까요

 

여기까지가 대략적인 스프링의 개념에 관한 간단한 비유적 설명이었습니다.

 

그렇다면 메이븐은 어떻게 설명할 수 있을까요?

 

메이븐은 한마디로 아이언맨에게 자비스 같은 존재라고 할 수 있습니다.

 

토니스타크가 뭔개 개발을 할 때, 혹은 전투를 할 때

자비스에게 수시로 뭔가필요한 것을 부탁하면

자비스는 그자리에서 바로바로 토니스타크가 필요로 하는 무언가를 제공해 주지요

 

자바로 무언가 개발을 할 때 모든 기능(함수라고 불리는)들을 바로 쓸 수 있는 것은 아닙니다.

그때그때 필요한 API 혹은 라이브러리들을 찾아서 import 시켜주고 build 시켜주어야 하지요

그런데 이 때 내가 필요로 하는 기능들을 하나하나 필요할 때마다 찾아서 빌드를 시켜준다면

아마 아이언맨은 아직까지 개발이 되지 않았을 지도 모릅니다.

 

이렇게 pom.xml 이라는 파일에 내가 필요한 라이브러리들을 기술하기만 하면

알아서 웹상에서 찾아서 가져와 프로젝트에 포함시키고 빌드시켜주는 것이 바로 메이븐 입니다.

 

여기까지가 스프링과 메이븐에 관한 아주 간단하고 비유적인 개념 설명이었습니다.

 

좀 비전문적일 순 있지만 초보분들이 어떻게 하면 쉽게 이해할 수 있을까 하는 관점에서 풀어쓰게 되었는데

혹시 저와 생각이 다르시다거나 태클을 거실 부분들이 있다면 언제든지 댓글 달아주세요.

그럼 다음 포스팅에서는 제가 공부한

스프링과 메이븐의 기본 설정 방법을 알려드리겠습니다.

 

긴 글 읽어주셔서 감사합니다.

(- -)(_ _)

 

https://dzzienki.tistory.com/m/59

 

스프링과 메이븐의 비유적 개념

자바 개발자 특히 웹개발자로 일을 하기 위해선 반드시 알아야 할 개념이 있습니다. Spring 과 Maven 입니다. Spring 의 개념을 인터넷에서 찾아보면 빠지지 않고 등장하는 말이 있습니다 “ 스프링이

dzzienki.tistory.com

 

스프링은 프레임 워크이고.... 메이븐은 조력자였구나...

처음 안 사실인데....

아무리 생각해도 난 대체 대학에서 구구단 외에 뭘 배웠나 모르겠다.

 

Myelin은 뉴런을 통해 전기신호가 좀 더 효과적으로 전달될 수 있도록 촉진시켜주는 물질이다.
Mylyn이란 이름은 '생각을 신속하게 코드화'할 수 있다는 것에 초점을 맞춰 이 툴이 능률을 향상시켜줄 수 있다는 것을 뜻하기 위해 이 물질에서 이름을 따왔다.
추천하는 발음은 "myelin"의 발음과 유사한 'mIl&n'이다. 프로젝트는 이전에 Mylar라고 불리웠다.
( 이프로는 '마일린'이라고 부른다. 영회님은 '밀린'이라고 부른다.
  영어발음이니 한국사람이 뭐라고 부르던 네이티브처럼 정확하진 않음! ;; )

Mylyn 프로젝트의 목적은 이클립스 플렛폼에 테스크 중심 UI(Task-Focused User Interface)를 발달시키는 것이다.
Mylyn의 핵심은 시스템과 명시적인 상호작용을 하게 만드는 메커니즘이다.

728x90