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
* 경로 예시
-언어 모아둔 파일 경로
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으로 변경하여 압축풀기(알집 안되면 반디집 이용-실무에서 사용)
- >내부에 있는 압축 폴더 풀기 (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) - 규칙을 가져야 함(식별 가능)
● 포트(라이브서버 주소)를 변경하고 싶다면
- 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와 달리 설치부터 복잡하다. 혼자 하면 너무 어려웠을것 같다.
- 프론트를 먼저 해봐서 그런지 수업을 천천히해서 그런지 오류가 거의 안났다
- 자바도 화이팅,, ,