티스토리 뷰
Java 프로젝트
JDK란?
Java
프로그래밍 언어 (<> 기계어: 0과 1로 이루어진 컴퓨터가 이해할 수 있는 언어)
high-level language (사람이 이해하기 쉬운 형태의 프로그래밍 언어)
- C, C++, JS, Python 등도 high-level language에 속함
Java언어도 컴퓨터가 이해할 수 있는 형태의 기계어로 변환되어야 함
Java Bytecode - Java 언어를 해석하여 만든 Assembly 언어와 유사한 언어
- Java 언어의 소스 코드 파일은
*.java
형태, Bytecode 파일은*.class
형태로 저장
JVM (Java Virtual Machine)
- java bytecode를 받아서(읽어서) 기계어로 컴퓨터에 전달(변환)
- java bytecode: java(프로그래밍언어)와 기계어 사이의 중간 단계. 한줄 한줄이 기계어 한줄에 대응됨.
- java bytecode를 만드는 데 꼭 java를 사용할 필요는 없음. kotlin, scala 등도 java bytecode를 가지고 수행되는 언어임
JRE (Java Runtime Environment)
- bytecode안의 내용 중 바로 이해할 수 없는 내용(외부의 소스코드에 들어가 있는 내용, 라이브러리 등)이 포함되어있는 것을 실행하기 위한 환경 (JVM은 bytecode를 기계어로 전달하는 역할만 함)
- JRE 안에 JVM, 라이브러리 등이 포함되어 있음
JDK (Java Development Kit)
- 자바 언어를 사용해서 개발할 때 필요한 도구를 모아둔 것
- compile: 자바 언어를 java bytecode로 변환하는 과정
- JDK 내에 JRE, java, javac 등이 포함되며, JRE 내에 JVM, 라이브러리 등이 포함되어 있음
Code Editor와 IDE
Code Editor와 IDE
IDE (Integrated Development Environment)
- 코드를 효율적으로 작성하기 위한 도구
- 단순 문법, 어휘적인 부분 체크 이상으로 사용하는 언어/프레임워크에 따라 다양한 기능 제공
- IntelliJ, Visual Studio, Xcode, ...
Code Editor
- 코드의 작성을 도와주는 도구
- 프로그래밍 언어에 따라 문법 검증 및 편집 편의성 제공
- sublime text, vim, Visual Studio Code 등
Docker Setting
Docker 기초
Docker
- 컨테이너 개념을 이용한 가상화 기술의 일종
- OS 위에 컨테이너를 올려 어플리케이션을 활용
- 컨테이너: application
- 컨테이너를 실은 배: docker
- 이전의 가상화 기술에 비해 훨씬 가벼움 (이전의 가상화기술은 hypervisor를 이용)
- hypervisor를 이용한 가상화기술: Host OS위에 가상의 Guest OS들을 올려서 구현
- docker engine: Host OS의 소프트웨어의 일종으로, Host OS위에 바로 컨테이너가 올라감. 컨테이너 안에 라이브러리와 application이 담겨있음.
데이터베이스
- MySQL: 관계형 데이터베이스
- redis: key-value 데이터베이스
- RabbitMQ: message broker
- 서로 다른 하드웨어/OS에 올라갈 때 설정이 각각 다름. 이 문제를 해결하기 위해 docker desktop을 활용.
Docker 테스트 해보기
docker --help
- 터미널에서 docker --help 입력 시, 사용 가능한 명령어의 목록을 볼 수 있음
docker run -d -p 80:80 docker/getting-started
- docker: Docker Daemon에 요청을 보낸다
- run: 컨테이너를 실행한다
- -d: detached. 컨테이너를 background에서 실행하는 옵션
- -p: port. 컨테이너의 포트를 물리 서버의 포트와 연결한다
- docker/getting-started: 컨테이너로 실행할 이미지의 이름
Client-Server Model
HTML, CSS, JS
Spring Boot
- Spring: Application Framework의 하나.
- Spring Boot: (Web) Application Framework (web에서만 사용되지는 않기 때문). spring의 하위 프로젝트 중 하나.
HTML, CSS, JS
- 인터넷 브라우저에서 작동하는 언어
- HTML, CSS, JS 3가지를 인터넷의 cornerstone이라 부름
- HTML (Hypertext Markup Language): 브라우저에 표시될 내용을 기술하는 언어
- CSS: 표현되는 형식을 정의하는 언어. HTML 문서 상에서 사용될 색, 모양, 폰트 등을 정의함.
- JS: 브라우저에서 사용하고 있는 HTML문서의 동작을 제공(정의)하는 언어
- 버튼 클릭으로 인해 다른 페이지로 이동하는 것은 JS와 관계가 없을 수 있음.
- 하나의 페이지 안에서 새로고침 없이 조작 ex. 마우스 오버 시 색이 바뀌는 것 등
Frontend와 Backend
Frontend
- 인터넷 브라우저: HTML, CSS, JS를 해석하는 도구
- Vue.js, React.js 등의 프레임워크: HTML, CSS, JS로 다시 번역됨
- Front-end 개발자: 브라우저에 보이는 것을 중점적으로 개발
- Back-end 개발자: 상황에 맞는 로직(비즈니스 로직)과 데이터를 다루는 개발자
- 비즈니스 로직: 사용자로부터 요청을 받으면 서버(컴퓨터)가 돌려주는 응답/보여주는 내용(데이터)
Client - Server Model
인터넷
- 원격으로 연결된 수많은 컴퓨터들이 이루는 네트워크
- 인터넷을 통해 또다른 컴퓨터/서버컴퓨터에 요청을 보냄으로써 다시 돌려받은 HTML문서를 브라우저에서 페이지의 형태로 보여주게 됨
- http: 이 과정에서 사용되는 요청과 응답의 형식
- 인터넷 브라우저는 서버에 특정한 요청을 보내고 돌려받음
client-server model
- 요청과 응답을 통해 하나의 컴퓨터/프로세스에서 또 다른 컴퓨터/프로세스로 요청과 응답을 주고받는 형태를 띄는 어플리케이션
- spring boot framework의 역할: 서버 프로세스에 해당
- spring boot framework: http 요청 등을 받으면 요청에 따른 응답을 돌려주는 web application을 만드는 framework (framework: 특정한 목적을 위한 도구 또는 라이브러리의 모음)
Spring Boot 프로젝트 시작하기
Spring Initializer (start.spring.io)
- group: 도메인을 역순으로 기재하면 됨
- artifact: 개별 프로젝트 하나를 의미
- name: 실제 프로젝트의 이름
- description: 설명
- package name: 위의 조건들을 기준으로 자동 완성됨
'Java > project lion JSB the origin' 카테고리의 다른 글
Ch.6 Spring Boot 기능활용(1) (0) | 2022.03.04 |
---|---|
Ch.5 CRUD & Data (2) (0) | 2022.03.01 |
Ch.4 CRUD & Data (1) (0) | 2022.02.19 |
Ch.3 Spring Boot Basics (2) (0) | 2022.02.13 |
Ch.2 Spring Boot Basics(1) (0) | 2022.02.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- URLComponents
- 참조 타입
- multipart/form-data
- Endpoint
- 값 타입
- HTTP message
- SSH
- TCP
- SWIFT
- 코딩
- Github
- Cow
- 앱개발
- HTTP Methods
- 메모리 구조
- IOS
- OSI
- 커리어스타터캠프
- ssh-agent
- copy on write
- 부트캠프
- URL
- 야곰아카데미
- ssh-configure
- 어플
- ssh-add
- 네트워크
- URLQueryItem
- JSON
- 스택
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함