정영진 강사님
위버스컴퍼니 => DevOps Engineer
티맥스소프트APM Developer
강의소개

백엔드 엔지니어는 어떤 역할을 하는지 잘 나타내준다
1. 백엔드 엔지니어는 서버측의 설계, 구조, 유지관리를 담당하는 사람이다
그만큼 뒷단에서 동작하는 부분에 대해서,
대부분 관련이 있기에.. 중요한 역할을 맡은 엔지니어링..이다.
★ What need for Engineer [왓 니드 포 엔지니어]
엔지니어로서 필요한 것은..
• 프로그램을 잘 설례에 대한 능력이다.
프로그램을 잘 설계하는 것은 정말 어렵다.
서비스를 얼마나 세분화 해서 관리할지? 또 배포는 어떻게 할지??
개발할때는 어떤 패턴과 어떤 언어를 선택할지..
이런 부분들을 모두 고려해야 한다
• 개발 언어는 도구이다?? 그렇기에 더 중요하다
도구를 정확히 파악하고 제대로 된 역할을 해야
제대로 된 프로그램을 남길 수 있기에
자신이 하려는 언어가 어떻게 동작해야 하는지..
서비스의 성격이 동작을 어떻게 동작하는지 알아야지..
제대로 언어를 사용할 수 있다.
• 트러블 슈팅은 = 문제가 발생했을 때
일을 빠르게 분석하고, 문제를 해결하는 능력을 통해서
★서비스의 장애를 해결하는 능력이 개발자의 소신 및 능력이라고 본다.
• 협업 능력은 = 옆팀과의 협업과 같은 팀내에 팀원들과,
협업을 할때 자신의 의사만을 주장하는 것이 아니라,
서로 의견을 교환하고, 받아들일 줄 아는..
자세도 필요합니다
• 이외..도 개발자 및 엔지니어가 필요한 능력이 무엇일지..
앞으로 진행하면서 보자.

그림은 다양한 로드맵을 살펴볼수있다.
자바개발자 뿐만 아니라, 프론트엔드 엔지니어, 데브옵스 에진니어 등..
이 로드맵은 이렇게 해라..가 아니라, 이런 길도 있다.
-
★ AWS 라는 클라우드 환경에서, 직접 배포해서, 서비스가 통신하는 과정까지..


====

Java의 역사
1995년도 베타버전의 릴리즈로 자바의 발전이 시작된다.
그리고
★ 시간이 흐를수록 많은 기능들이 더해졌다
현재 최신버전은.. JDK18
그러나 강의는 JDK8 을 기준으로 한다.

=> 보충)
JVM=가상머신환경에서 동작하기에 메모리 관리도
JVM이 가비지컬렉션 모듈에서 해주게 된다..
그리고, 플랫폼에 종속적이지 않고,
한번 컴파일 된 프로그램은 어느 운영체제나 환경에서 동일하게 동작,실행을 보장
-많은 오픈소스 프레임워크가 있기에
개발성 속도와 생산성이 증가된다.

*GUI = 그래픽유저인터페이스의 환경에는 적합하지 않다.




먼저 JDK 설치
-오라클에서 제공하는 JDK를 다운받는 사이트이다
-IDE 튤로 프로젝트 생성해보기
public class Main {
public static void main(String[] args){
System.out.println("Hello world");
}
} 위 처럼 만들어서 출력하게 되면
System.out.println("Hello world");
// 시스아웃프린트라는 함수가 하나 작성되게 된다.



-JRE(Java Runtime Environment)
Java를 실행함에 있어 필요한 환경을 포함



