20211103 TIL

JIHYE·2021년 11월 3일
0

오늘 배운 것

JAVA

  • 처음부터 객체 지향 언어로 개발된 프로그래밍 언어
  • 자바 가상 머신(JVM)을 사용하여 OS와 상관없이 독립적으로 동작 할 수 있음
  • 가상환경을 거쳐야 하기 때문에 속도가 느리다는 단점이 있음
  • C언어와는 달리 Garbage Collector가 있어 메로리 관리가 용이

JVM(Java Virtual Machine)

프로그램을 실행하는 자바 플랫폼 구성요소. byteCode를 실행시켜준다.

JRE(Java Runtime Environment)

JVM을 생성하는 디스크상의 부분. Runtime 시 필요한 실행환경

JDK(Java Development Kit)

개발자들이 JVM과 JRE에 의해 실행되고 구동될 수 있는 자바프로그램을 생성할 수 있게 해준다.

객체지향(Object-Oriented)

기능이 아닌 객체가 중심이되는 것. 객체를 도출하고 역할을 정의해 나가는 것에 초점을 맞춘다.

객체지향프로그래밍(Object-Oriented Programming)

  • 소프트웨어이 재사용을 지향하기 때문에 생산성이 향상
  • 절차나 과정보다 객체들의 상호작용으로 프로그래밍하기 때문에 현실에 대한 모델링을 좀 더 쉬움
  • 실제 구현되는 부분을 외부에 드러나지 않도록 정보를 은닉할 수 있기때문에 보안성이 향상 됨
  • 캡슐화와 격리구조 때문에 절차지향 프로그래밍과 비교하면 실행 속도가 느림
  • 모든 것을 객체로 생각하기 때문에 추가적인 포인터 크기의 메모리와 연산에 대한 비용이 들어감

Spring

  • Java 기반의 웹을 만드는 프레임워크
  • Spring Boot, Spring Security, JPA, Spring Cloud 등 많은 하위 프레임워크가 있음
  • 톰캣과 같은 WAS가 내장되어 있음

Spring Boot

  • Spring을 더 쉽게 사용하기 위한 도구(1도 안쉬움....)
  • Spring의 컨셉을 유지하지만 더 간결

오늘 느낀 점

알고리즘 세션이 끝나고 AWS를 배울때는 "아...알고리즘이 선녀였구나...🤦🏻‍♀️"를 느끼는 하루하루 였다. 그런데 AWS가 끝나고 Spring 세션이 되니까 "역시 AWS가 어려웠구나...🤦🏻‍♀️"를 깨달은 하루가 되었다.
그동안 TIL에 소홀하기도 하고 머릿속이 엄청 복잡했는데 배우기를 갈망하던 Spring을 배우니까 뭔가 다시 초심을 되찾은 것만 같은 기분이 드는 하루였다.
여전히 용어들은 생소하고 본격적인 수업에는 들어가지 않았지만 어제보다 오늘 더 발전한 내가 되길 바라며 힘내야지!!! 💪🏻

profile
초보개발자의 개발일기

0개의 댓글