카테고리 없음

내일배움 사전캠프 7일차 (JAVA와 Spring)

본성 2024. 6. 4. 17:52
반응형

내일 배움 사전캠프 7일 차 (두근두근)

 

꾸준함이 벌써 7일차이다.

 

오늘은 Java와 Spring을 알아보려고 한다!!!


What is Java???

자바아이콘

  • Java는 개발자분들의 다양한 활동을 해주게 하는 객체 지향 프로그래밍 언어 및 소프트웨어 플랫폼으로, 노트북 컴퓨터, 모바일 디바이스, 게임 콘솔, 의료장비 등을 포함하여 수십억 개의 디바이스에 실행되고 있다. Java의 규칙과 구문은 C 및 및 C++ 언어를 기반으로 한다고 한다.
  • Java를 개발한 사람은 바로! (두근두근) 최초로 개발한 소프트웨어 개발자로 제임스 코슬링이라는 사람이다. 자바 커피 애호가로서, Java의 명칭을 자바 커피의 원산지인 자바 섬에서 따왔다고 한다. (와우) 

제임스코슬링


Why everyone Java?

 

  • Java 언어로 Android 운영 체제의 핵심을 이루며 전 세계 스마트폰에서 단연 가장 큰 비중을 차지한다.
  • Java 언어로 머신 러닝 및 데이터 사이언스 애플리케이션에서 가장 많이 사용되는 언어 중 하나이다.
  • 특히 견고성, 사용 용이성, 크로스 플랫폼 기능 및 보안 특성 덕분에 많은 기업의 현장에서 인터넷 솔루션을 위한 언어로 선택하고 있다.

Java technical advantages!

 

  • Java 언어는 컴파일러로 객체 지향 아키텍처를 사용하면 모듈식 프로그램과 재사용 가능한 코드를 작성하여 개발 주기를 단축하고 엔터프라이즈 애플리케이션의 수명을 연장할 수 있다.
  • 플랫폼 확장성인 Java의 핵심 속성으로 데스크탑, 비즈니스 앱 등 애플리케이션들을 시간과 비용이 많이 드는 개발 주기를 건너뛸 수 있고 손쉽게 조정할 수 있다.

Java언어는 대단한 언어인 것 같다. 나의 자바는 대해적의 시대로 불러주는 원피스인 것 같다(푸하하)

원피스 골드D.로저 명대사


 

What is Spring?

스프링 로고

  • Spring은 주로 Spring Framework로 모든 종류의 배포 플랫폼에서 최신 Java 기반 엔터 플라이즈 애플리케이션을 위한 포괄적인 프로그래밍 및 구성 모델 제공하는 프로그램으로 확장성이 높은 프로그램이다. 특히 애플리케이션 수준으로 "배관"이라는 중점 인프라 지원으로 영속성과 관련된 다양한 서비스를 지원한다.

What is Spring Framework?

  • POJO(Plain Old Java Object) 방식 프로그래밍으로 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다.
  • 제어 반전 (IoC : Inversion of Control )을 지원하는 역할로 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 Spring에서 사용자의 코드를 호출한다.
  • 의존성 주입 (DI : Dependency Injection)을 지원하는 역할로 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜 준다.
  • 관점 지향 프로그래밍 (AOP : Aspect-Oriented Programming)을 지원하는 역할로 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있다.

Spring의 장점

  • Spring은 개발자가 기본적인 디자인패턴을 강제적으로 사용하도록 하여  용이하다.
  • Spring은 유연성이 좋아 생산성을 높여준다.
  • Spring은 각 모듈을 조립하면 기능을 쉽게 추가 및 제거로 관리가 수월하고 구현이 가능하다.

Spring의 단점

  • Spring은 강력한 기능을 제공하기 위해 많은 설정과 구성이 필요하다. 초기 설정의 복잡성을 증가시킬 수 있고, 초보자에게는 어렵게 느껴질 수 있다.
  • Spring은 다른 프레임워크에 비해 학습이 필요한 부분이 많다. 다양한 개념과 기능을 이해하고 사용하기 위해 시간과 노력이 필요하다.
  • 전통적인 Spring 프레임워크에서는 여러 의존성과 그들의 버전을 관리하는 것이 복잡할 수 있어 의존성 관리가 어려워질 수 있다.
  • 별도의 WAS(Web Application Server)를 설치하고 설정을 해야 해서 서버 구성의 번거로움이 있다.

Spring boot란?

스프링 부트

  • Spring에서 기존 기술의 복잡성을 간략하게 줄여주기 위한 별도의 프레임워크이다.
  • Spring의 기존에 어려운 초기 설정에 쏟아야 했을 시간과 노력을 절약하여 비즈니스 로직을 구현하는 데에 집중할 수 있는 프레임워크이다.

Spring언어 자바를 도와줘와 같은 느낌을 받았다.

 

도와줘!


이렇게 Java와 Spring이라는 프로그래밍 언어를 알아보았다.

 

꾸준함의 시작은 행동에서 나온다!!!

 

오늘도 화이팅!!

 

출처

https://hi5june.tistory.com/41

 

스프링 프레임워크(Spring Framework)의 탄생배경, 장단점

우선 프레임워크가 무엇인지 알고가자! Framework 란? 프레임워크는 말그대로 뼈대이다. 뼈대의 의미를 소프트웨어적인 관전에서 보면 아키텍쳐에 해당하는 골격 코드이다. (골격코드란? - 프로그

hi5june.tistory.com

 

 

 

https://www.codestates.com/blog/content/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

 

스프링과 스프링부트(Spring Boot)ㅣ정의, 특징, 사용 이유, 생성 방법

스프링은 Java 백엔드 개발에 있어 떼어놓을 수 없는 프레임워크입니다. Java 백엔드의 핵심 기술이 되는 스프링 프레임워크와 스프링 부트가 무엇인지, 나아가 스프링 부트를 활용하여 프로젝트

www.codestates.com

 

https://www.elancer.co.kr/blog/view?seq=158

 

Spring과 Spring Boot의 차이점을 아시나요? I 이랜서 블로그

Java의 대표적인 백엔드 개발 프레임워크로 사용되는 Spring과 Spring Boot의 차이점에 대해 알려드립니다. I spring, spring boot, spring boot version, spring boot devtools, spring boot initializr, spring boot jsp

www.elancer.co.kr

https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%94%84%EB%A7%81_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

 

스프링 프레임워크 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 스프링 프레임워크(영어: Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를

ko.wikipedia.org

 

반응형