본문 바로가기
백엔드/자바

자바-1

by study_yeon 2023. 4. 26.

2023.04.26.
자바 강의 시작

2교시부터 수업


● 짧은 영단어 형식의 문법을 배움

* java - 백엔드
어렵다(익숙하지 않아서), 열심히 반복하기
백견불여일타(이핑)

*  자바스크립트 : 스크립트 - 한 줄씩 씀, 책 한페이지
   자바 : 도큐먼트 - 책 한권

*자바 구조
public class FirstApp {
           public static void main(String[]atgs){
           System.out.println("안녕하세요");
           return ;
          }
}
결과 - 안녕하세요

 

▶해석
public class FirstApp {
             반환 값이 없다   문자열  브라켓[배열] 
public static void main(String[ ]atgs) {
          정적        출입문(시작 점)         
System.out.println("안녕하세요"); -> 세미콜론을 통해  한 줄을 마무리
컴퓨터.모니터.명령어   string
        (출력장치)
return ; -> 반환 값이 있다
}
} ->브레이스(인쇄기호)


3교시


* 일하는 사람 마다 코드 스타일이 다를 수 있음
- 들여쓰기 등 (tab 또는 space로 설정)

* 비트 - 원자
 바이트 - 분자 -> (0,1)단위로 움직임

* 컴파일 - 자바 코드를 컴퓨터 언어로 변경

* 프로그래밍언어 - 사람의 언어와 기계어(컴퓨터언어)의 다리 역할
* 런타임 - 자바가 돌아가는 환경

* 개발 툴이 필요
오라클 - 개인에게는 무료, 기업에게는 유료

 

● 자바 다운 받기 (이클립스 개발환경 구축)

오늘 다운 받은 친구들~


▶ 자바 다운 받는 법(오픈jdk)
- open jdk 검색 https://openjdk.org/
- Download 클릭(2번째 캐릭터의  latest open-source JDK. 부분) -> 아날로그임 (이클립스로 한 번에 해결)

 eclipse 


1. eclipse 검색 https://www.eclipse.org/downloads/

 

2. Download Temurin : Windows x64 (사진의 오른쪽)
- Latest LTS Release 클릭
(각 운영체제에 맞는 것 다운, ver. 11(모바일에서 주로 사용) 또는 17 다운)

 

Eclipse Downloads | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks.

www.eclipse.org


2-1. 다운로드 폴더 들어가서 더블클릭
next  누르고 > 저장 경로를 선택하기 위해 앞으로 내가 사용 할 폴더 dev 만들기

- 브라우저(오른쪽 하단) 로컬디스크(look in 부분) 선택하여 dev 선택 

- 새파일(dev) 만들기(오른쪽 파일에 불꽃 그림) -> dev 안에 카테고리별 (하위폴더) 만들기 ex) dev, language 등 나만의 폴더 생성  

 

> 전부 설치 후(사진 참고)  next - install

하단의 2개 변경

* 경로 예시

-언어 모아둔 파일 경로
c:\dev\language\java(자바) 

-개발툴 모아둔 파일 경로
c:\dev\ide\vscode(개발툴)
c:\dev\ide\eclipse(개발툴)
c:\dev\ide\sts(개발툴)

-서버 모아둔 파일 경로
c:\dev\server\oracle(서버)
c:\dev\server\mariadb(서버)


4교시

3. Get Eclipse IDE 다운로드(설치파일만 다운 됨)-사진의 왼쪽
* Download from: Korea (isp) 확인해보기


3-1. 다운로드 폴더 들어가서 더블클릭
- 2번째 클릭 Eclipse IDE for Enterprise Java and Web Developers  

- 경로 변경(installation folder) c:\dev\ide\eclipse(개발툴) - 설치
*완료화면 뜨면 닫기-no


5교시


4. ecilpse 열기
- 개발앱 종류별로 파일 만들기
- 저장 경로 변경 C:\app\eclipse-workspace\java

- 상자 체크(저장하겠다)

웰컴창

- 웰컴창 닫기를 하면 프로젝트 탐색기, 에디터창 등이 뜸(작업 화면)

 


▶sts
1. spring tools 검색 https://spring.io/tools

 

2. Projects의 Spring Tools 4 클릭 - Spring Tools 4 for Eclipse(운영체제에 맞는 것 다운)

 

Spring | Home

Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.

spring.io


3. 다운로드 폴더 들어가서 파일 확장자 zip으로 변경하여 압축풀기(알집 안되면 반디집 이용-실무에서 사용) 

jar 파일을 zip으로 변경

- >내부에 있는 압축 폴더 풀기 (sts-4.18.0.RELEASE이 생김) - 압축을 총 2회 풀어줌


3-1 생긴 폴더 잘라서 경로 (c:\dev\ide) 저장

*ide : 개발툴 저장하려고 만든 폴더


4. sts 폴더 내부에 SpringToolSuite4(시작화면에 고정 추천) 눌러서 저장경로 workspace (C:\app\java)작성하고

체크박스(자동저장) 체크하여 개시 누름


●  참고

*내 파일 확장자 표시하는 법
...(햄버거 버튼) - 옵션 클릭

노란부분(햄버거 버튼)

- 보기 탭

(해제 - 보호된 운영 체제 파일 숨기기(권장), 알려진 파일 형식의 파일 확장명 숨기기 )
(변경 - 숨김 파일, 폴더 및 드라이브 표시)


* 오픈소스 - 라이선스(저작권) 권한은 개발자(나 말고)에게 있음 
코드 첨가는 가능하나, 소스 코드의 함수명 수정은 불가능

자바의 라이선스는 오라클에게 있다!

* 버그 - 오류
디버그 - 오류를 해결 하는  것
* 내 컴퓨터 속성 보는 법

시스템>정보

- 16GB는 되어야 개발 배우는데 문제 없음


6교시 
● <자바기술 연습> pv


* SpringToolSuite4 실행 
-> 템플릿 존재(vsc와 다른 점)

* file - new - spring starter project누르면 설정화면 뜸

* name : hello_java 으로 변경 후 next 

- developer tools에서 spring boot devtool 선택 : 자동 기능이 생김

  • Property Defaults
  • Automatic Restart
  • Live Reload
  • Global Settings
  • Remote Applications

- web에서 spring web 선택

finish 누르고 뜨는 창은 yes 

 

- 생성된 파일에서 상단의 hello_java 클릭

여기서 작업

* 자바는 정수가 기본 , 더블이 기본임
* class는 브랜드 , 객체는 제품
* main 은 하나만 있어야 함

@ : 엣 기호 - 미리 만들어진 것
@Controller 빨간줄 뜨는 부분에 마우스 올리면 import~~를 눌러 자동으로 만들어줌

* 실행하기
제일 상단의 패키지에 오른쪽 마우스 눌러 run as(스프링으로 했기때문에 spring boot app을 선택)


7교시 
 GetMapping
1대1로 대응하는 주소가 들어오면 명령이 실행 됨

-클라이언트 : 데이터를 요청

-서버 : 데이터를 제공
-프로토콜 : 대화가 서로 통하는 방식(대화한다)

 정보요청 방식
1. get : 간단한 데이터 요청
-무언가를 요청해서 보이게 함
2. post : 

-데이터를 입력해서 서버에 저장 함

택배를 붙이는 형식과 비슷(body에 담아 안보임)

 

▶ get방식은 조회 이용 시 많이 사용되고, post방식은 입력(생성), 수정, 삭제 시 많이 사용된다.


● 웹페이지(구글)에 localhost:8080/name (name-hello 입력) 검색

-  80은 웹 포트로 생략가능하며 , 80포트는 정규 페이지로 충돌이 일어나기도 함

-  localhost:인터넷과 단절되어있는 주소 (해킹 안당함, 나만의 라이브서버)
- >문자열은 반환이 안됨(404에러)

 

- 에러페이지

1. (whitelavel, 404에러)-파일을 못찾는다.

2. 성공하면 200 응답 코드 

3. 500에러 연결 성공 했지만 결과가 안나옴(절반 성공)


* 404에러 해결 법
- 404에러는 콘솔로그(스프툴 하단)에 흔적을 못찾음 / 500에러는 로그에 빨간 줄
- string 으로 run하면 찾을 수 없음 -> 문자열을 돌려야함

@RestController 

- rest를 작성하면 문자열을 데이터로 넘겨줌 - 문자열은 복구가 쉬움
제이슨 형식으로 데이터를 주고 받는 것(파일로 받음)
* json(JavaScript Object Notation) - 규칙을 가져야 함(식별 가능)

localhost:8080/name 을 통해 라이브서버 확인

 

포트(라이브서버 주소)를 변경하고 싶다면

- application.properties를 눌러 원하는 포트번호 작성하고 저장하기

 

* hash 를 이용하여 배열의 각 요소에 빠르게 접근이 가능


*스트링 툴을 저장하면 재시작함


8교시

 

* 유틸리티 - 드래그프리(웹스토어에서 다운)  // 사진, 글 제한 풀어주는 기능

 

● 이미지 넣기

1. 인터넷에서 원하는 이미지 주소 복사 하기

2. 에디터창에

msg = msg + "<img src='복사한 이미지 주소'/ >"; 작성하기

- 이미지를 넣는 것이기 때문에 img src를 필수로 작성해주기 (안하면 404에러)

- 따옴표 주의!


 동영상 넣기

1. 유튜브 등 에서 오른쪽 마우스를 눌러 소스코드 복사하기

2. 에디터창에 붙여넣기

<iframe width="1280" height="683" src="https://www.youtube.com/embed/nqvz1lgRSm8" title="공부음악 61분, 봄에 듣기좋은 힐링음악 피아노 음악듣기 광고없음 _Shizuko Mori" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>\

->이런 구조로 복사 됨!

* iframe - 브라우저안의 브라우저 (홈페이지 안에 사이트 넣기) ex 유튜브, 공지 등


● mvc = model view controller 
- 소프트웨어 설계에서 세 가지 구성 요소   
model : 데이터; 데이터베이스와 상호작용
view : html, css, js가 백엔드 서버쪽에서 만들어져서 클라이언트에게 넘어감
controller : 전반적인 프로그램의 흐름을 제어

 

* 모델은 소프트웨어 내에서 데이터를 의미하고, 뷰는 사용자에게 보이는 화면 내용을 의미한다. 이러한 모델과 뷰의 상호 작용을 관리하는 것이 컨트롤러이다.

* 구조

웹브라우저<-> 웹서버컨트롤러<-> 데이터<-> 데이터베이스
                                              \     /                         
                                           view(화면)
 
*CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인

Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말

*변수선언시
const 가 기본
let은 변경이 필요한 값이 있으면 사용
var은 사용 안하도록.



 

OpenJDK

Learn about the key active Projects in the Community including Amber (high-productivity language features), Loom (lightweight concurrency), Panama (foreign functions and foreign data), Valhalla (primitive types and specialized generics), and, of course, th

openjdk.org


오늘의 후기 

 

- spring은 처음 배워봤다 vsc와 달리 설치부터 복잡하다. 혼자 하면 너무 어려웠을것 같다.

- 프론트를 먼저 해봐서 그런지 수업을 천천히해서 그런지 오류가 거의 안났다 

- 자바도 화이팅,, ,

 

 

'백엔드 > 자바' 카테고리의 다른 글

자바 - 6  (0) 2023.05.03
자바-5  (0) 2023.05.02
자바-4  (0) 2023.05.01
자바-3  (0) 2023.05.01
자바-2  (0) 2023.04.27