Burninghering's Blog
article thumbnail
Published 2021. 11. 3. 21:53
211103TIL_스프링 1 Today I Learned

스프링

API를 만들기 위한 프레임워크 (대용량 서비스에서 많이 사용)

 

전세계 프로그래밍언어 사용 트렌드 살펴보기 - 코딩도 잘해야하지만 트렌드도 알아야함!(커리어 쌓기)

https://trends.google.com/trends/explore?geo=US&q=java,nodejs 

 

Google 트렌드

Google 트렌드에서 java, nodejs에 관한 검색 관심도를 시간, 위치, 인기도순으로 탐색

trends.google.com


스프링 특징 

-모듈화가 잘 되어 있음 -> 라이브러리로 조립을 잘 하면 된다!

-너무나 양이 방대해서 쉽게 사용 가능하지만 원리를 파악하는 것은 어려움


파이썬과 인터프리터의 차이

파이썬 : 인터프리터

자바 : 컴파일러

 

인터프리터는 한 줄 한 줄씩 번역을 진행 -> 한 번에 번역을 진행하는 컴파일러에 비해 번역 시간은 빠른 편,

그래서 매번 번역을 거치기 때문에 인터프리터를 사용하는 언어들은 컴파일러를 사용하는 언어들에 비해 실행 속도가 느린 편

 

성우님의 개발 블로그!

https://lukaid.tistory.com/63?category=1020372 

 

[Java] 01. 자바 vs 파이썬

자바 vs 파이썬 무언가를 학습할 때, 내가 이미 알고있는 것을 바탕으로 하는건 상당히 좋은 방법이라고 생각한다. 내가 이미 알고있는 파이썬과 이제 학습할 자바의 차이점을 살펴보면서 학습

lukaid.tistory.com


스프링과 스프링부트의 차이

-스프링부트 : 개발 속도가 느리고 비대했던 스프링을 좀 더 빠르게 만드는데 집중하기 위해 개발된 프레임워크

-스프링은 WAS가 없지만, 스프링부트는 WAS가 있다!

TOMCAT(WAS) 

WAS = 웹 서버 + 웹 컨테이너

웹 서버가 못하는 일(DB조회, 로직처리)인 동적 컨텐츠 제공

-자바로 만든 어플리케이션의 프로세스를 계속 띄워줌

-인터넷 상에서 HTTP 프로토콜을 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어

(동적 서버 컨텐츠를 수행, (웹서버는 정적 서버) 주로 DB 서버와 같이 수행됨)

 

-JSP(Java Server Page) : "자바 서버 페이지"는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어

 

WAS는 JSP 구동환경을 제공해기 때문에 웹 컨테이너/서블릿 컨테이너라고도 부름(웹컨테이너 : 웹 서버가 보낸 JSP,PHP등 파일 수행 결과를 다시 웹서버로 보내줌)

https://codechasseur.tistory.com/25

 

[Web] 웹 서버와 WAS의 차이를 쉽게 알아보자

서버 개발에 있어서 가장 기초적인 개념인 '웹 서버'와 'WAS(Web Application Servier)'의 차이점을 다뤄보려고 한다. 💡 웹 서버 사전적 정의 "웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML

codechasseur.tistory.com


스프링 기본 레이어

서버 개발자들은 서버에서의 처리가 대부분 비슷하다는 걸 깨닫고, 처리 과정을 크게 3개로 분리

Controller, Service, Repository

 

-클라이언트의 요청을 컨트롤러가 받음

컨트롤러가 요청에 대한 처리를 서비스에게 전담

그러고 나서 클라이언트에게 응답 보냄

 

-서비스는 로직만 처리!

(비즈니스 로직 : 서버에서 사용자의 요구사항을 처리 ex) 로그인 기능이라면, 비교 까지가 서비스)

DB 정보가 필요하다면 레포지터리에게 전담

 

-레포지터리는 DB 관리 -> DB의 CRUD 작업 처리

 


인텔리제이로 스프링 부트 생성!

jar,war는 컴파일 후 생성된 압축 파일 - 어플리케이션을 쉽게 배포,동작하도록 파일 패키징해줌

-JAR : 자바 프로젝트를 압축한 파일

-WAR : 웹 응용 프로그램를 위한 포맷 -> 웹 관련 자원만 포함하고 있으며 이를 사용하면 웹 어플리케이션을 쉽게 배포하고 테스트

 

참고 사이트!
https://ifuwanna.tistory.com/224

 

[Java] JAR WAR 차이점 및 특징 ( + EAR )

JAR (Java Archive) WAR (Web Application Archive) 모두 JAVA의 jar 툴을 이용하여 생성된 압축(아카이브) 파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 있도록 관련 파일(리소스, 속성파일 등).

ifuwanna.tistory.com

 

-JPA : 자바 진영의 ORM 표준

ORM이란(Object-Relational Mapping)은 이름 그대로 객체와 관계형 데이터베이스를 매핑한다는 뜻

ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결

 

SQL을 사용하는 것보다 JPA를 쓰면 더 간단!

https://ykh6242.tistory.com/65

 

자바 ORM 표준 JPA 프로그래밍(1) - JPA란 무엇인가?

JPA란 무엇인가? JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준이다. 어플리케이션과 JDBC 사이에서 동작한다. ORM이란? ROM(Object-Relational Mapping)은 이름 그대로 객체와 관계형 데이터베이스를..

ykh6242.tistory.com

 

-MSA : 데이터베이스마다 물리적인 공간이 다르고,검색도 다르게 -> 데이터베이스도 분화된다는 것


자바, 객체지향 프로그래밍

조금 더 프로그래밍을 현실 세계에 빗대어 체계적으로 해보자는 발상이 객체지향 프로그래밍의 핵심

 

  • 생성자

클래스명과 똑같은 이름을 가진 메소드를 "생성자

 

  • 디폴트 생성자는 왜 만들까?
=> 파라미터 없는 객체 생성 시 문제 발생!

아래 블로그에서 발췌

https://cloudstudying.kr/questions/370

 

자바 디폴트 생성자 질문! ㅠ | CloudStudying

밑에 1번이 없어도 2번에 생성자가 있는데 디폴트생성자라는거를 왜 만들어야만 실행이 되는건지 이해가 안되네요 =_ㅠ 어려워요 자바.. 생성자와 객체? 객체생성하는거 ? 랑 차이점두 잘 모르겠

cloudstudying.kr

 

 

this 라고 표시함으로써, 빵틀(클래스) 전체의 값을 바꾸는게 아니라 빵(객체) 하나의 값만 바꾸는 것!
profile

Burninghering's Blog

@개발자 김혜린

안녕하세요! 반갑습니다.