반응형

 


[학습일지] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강 2주차


 

내일 배움 카드를 통해 패스트캠퍼스에서 자바 스프링 강의를 수강 중에 있습니다.

이번 주차는 2주차로 자바에서의 조건문, 반복문인 제어문을 배웠고, 객체의 초반부 강의를 수강했습니다.

이를 정리, 기록하고자 글을 작성합니다.

 


  • 조건문
  • 반복문
  • 객체 기초

자바 조건문 - if else, switch

 

if else

 

조건문은 if문의 내부 조건이 참이라면 해당 부분만 동작하고 아래 else if, else 문은 동작하지 않습니다.

만약 if문이 거짓이고, else if가 참이라면 마찬가지로 else if가 동작하고, 아래 else 문은 동작하지 않습니다.

즉, else 문은 if, else if 가 모두 거짓이어야 그때서야 동작합니다.

 

if와 else if는 내부 조건을 확인하여 동작하는 같은 역할이지만 상호 배타적으로 한쪽이 동작하면 다른 쪽이 동작하지 않습니다.

제어가 위에서 아래로 내려오면서 condition을 확인하므로 우선권은 if문이 갖습니다.

else if는 여러 개 작성이 가능합니다.

 

 

 

switch

 

다른 조건문으로 switch 문이 있습니다.

switch의 내부 조건을 확인하고 일치하는 case로 제어를 넘겨줍니다.

조건은 정수, 문자열, 상수가 가능합니다. 변수, 실수는 불가능합니다.

break가 없다면 해당되는 case 아래 case들을 모두 실행하므로 break를 적절히 사용해주어야 합니다.

 


자바 반복문 - while, for

 

while

 

자바에서의 반복문으로 while이 있습니다. while은 condition이 true일 때 계속 동작을 하다가 false가 되면 종료를 합니다.

해당 코드는 5 미만일 때 종료가 될 것처럼 작성했지만 사실 4일 때 while문으로 들어가서 5를 만들기 때문에 최종적으로 sum은 5가 됩니다.

 

 

for

 

다른 반복문인 for문은 (초기식, 종료식, 증감식)으로 구성되어 있습니다.

초기식은 반복 횟수를 위해 사용할 변수를 초기화해줍니다.

종료식은 반복문이 언제 종료될 것인가를 결정합니다.

증감식은 반복 횟수를 위해 사용할 변수를 증감해주는 역할을 합니다.

쉼표를 기준으로 초기식에 여러 변수를 선언할 수 있고, 증감식에도 여러 변수 증감이 가능합니다.

코드는 while때와 마찬가지로 i가 0부터 4까지 총 5회 반복을 진행하기 때문에 sum은 5가 됩니다.

 

 


자바 객체 

 

객체지향 프로그래밍이란 현실 세계의 구체적, 추상적 단위를 객체로 설계하여 각 개체의 속성, 기능을 통해 협력하여 동작하도록 하는 것입니다.

 

객체를 클래스로 구현하는 방법

  • 속성은 멤버 변수로 선언
  • 기능은 메서드로 선언

member

객체의 속성은 클래스 내부에 작성합니다.

 

 

method

객체의 기능인 메서드는 반환 타입, 함수명, 매개변수, 몸체로 구현합니다.

 

 

객체의 생성

객체는 new 연산자를 통해 인스턴스로 생성되고 생성된 인스턴스는 힙 메모리에 동적 할당됩니다.

인스턴스가 사용되지 않으면 가비지 컬렉터가 사용하지 않는 인스턴스를 제거합니다.

 

생성자

생성자는 객체의 멤버 변수를 초기화해주는 역할을 합니다.

new 연산자를 통해 인스턴스를 생성할 때 초기화해줄 수 있습니다.

매개변수가 없는 기본 생성자는 컴파일러가 추가해주지만, 생성자를 작성하게 되면 기본 생성자를 추가하지 않습니다.

생성자는 오버 로딩이 가능합니다.

반응형
반응형

[학습일지] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강 1주차


 

국민 내일 배움 카드를 통해 JAVA와 SpringBoot의 강의를 들을 수 있는 정부 지원 사업을 알게 되어 카드를 먼저 신청한 이후에 패스트캠퍼스에서

강의를 수강하게 됐습니다. 카드의 발급은 5일 정도 걸렸고, 강의는 일주일마다 새로 수강생들의 신청을 받는 것 같습니다.

자세한 수강 방법은 HRD-Net 또는 패스트캠퍼스 홈페이지에 접속하면 상단 메뉴에서 쉽게 찾을 수 있을 겁니다.

 

수강 신청한 강의는 총 8주 과정으로 기본적으로 자바에 대해서 먼저 배우며, 이후에 SpringBoot를 배우는 과정입니다.

강의 기간인 8주 동안의 과정을 기록하고, 공부한 내용들을 정리하기 위해 글을 작성하기로 했습니다.

 

 


1주차

 

자바 프로그래밍 특징

  • 객체 지향 프로그래밍 언어입니다.
  • 오픈 소스 라이브러리가 풍부합니다.
  • 자바는 컴파일 이후에 운영체제에 따라 설치된 JVM이 바이트 코드를 실행하므로 운영체제에 영향을 받지 않습니다.

* 자바 소스코드를 컴파일하면 컴파일러가 바이트 코드로 변환을 합니다. 운영체제에 따라 설치된 JVM이 다르며

JVM은 컴파일러가 변환한 바이트 코드를 읽어 자바 프로그램을 실행합니다.

 


자바 프로그램 실행과 진법 표현

 

자바 프로그램 실행

 

자바 진수 표현

진수를 표현하기 위해 리터럴 앞에 각 진법마다 2진수(0B), 8진수(0), 16진수(OX) 입력하면 진수 표현이 가능합니다.

 


자바의 자료형 8가지

 

자바에는 기본 자료형으로 8가지 종류가 있으며, 각 자료형은 바이트 크기가 다릅니다.

변수를 자료형에 따라 선언하면 해당 변수는 메모리 공간을 자료형의 바이트 크기만큼 차지합니다.

 

정수형: byte(1), short(2), int(4), long(8)

실수형: float(4), double(8)

문자형: char(2)

논리형: boolean(1)

 

기본적으로 자바에서는 모든 리터럴 숫자의 자료형을 int를 사용합니다.

형 변환은 자신보다 바이트 크기가 큰 자료형으로 값을 참조할 때 자동 형 변환이 일어나지만,

자신보다 작은 바이트 크기의 자료형으로 변경할 땐 강제 형 변환이 필요합니다.

byte(1) -> short(2) -> int(4) -> long(8) -> float(4) -> double(8)

 

주의할 점은 long은 8바이트이고, float은 4바이트이지만 실수형의 숫자 표현 범위가 더 넓기 때문에

long이 바이트 크기가 크더라도 float으로 자동 형 변환이 가능합니다. 역순은 강제 형변환이 필요합니다.

 


자바의 연산자

 

산술 연산자: *, /, %, +, -

비교 연산자: <, >, <=, >=, ==, !=

논리 연산자: &&, ||, !

대입 연산자: =

* 대입연산자는 산술 연산자와 같이 복합 연산자로 사용할 수 있습니다.

 

자바에서의 연산자 우선순위는 산술 > 비교 > 논리 > 대입 연산자 순서로 이루어집니다.

 

 

반응형
반응형

Github를 이용하여 웹 호스팅하기

Github web hosting service를 하기 이전에 알고 있어야 할 개념

-github는 정적 웹사이트 호스팅만 지원한다.

 

동적 웹사이트와 정적 웹사이트의 차이점

정적 웹사이트 (HTML, CSS, JS)

 - 클라이언트가 요청한 자원을 그대로 반납해준다.

동적 웹사이트 - (PHP, JSP, ASP, MySQL)

 - 클라이언트가 요청한 자원에 데이터를 가공 후 응답해준다.

 - 동적 자원은 WAS(web application service)에서 관리한다.

 

간단하게 말하면 동적 웹사이트란 데이터베이스를 이용하는 웹사이트이다. github에서는 동적 웹사이트를 무료 호스팅 해주지 않는다. github에서 동적 웹사이트를 호스팅 하기 위해서는 유료 호스팅 서비스를 신청해야만 웹사이트에서 데이터베이스까지 이용가능하게 된다.

 


GITHUB를 이용하여 웹 호스팅 하는방법


먼저 GITHUB를 가입하여 이메일인증을 한 후 이용해야 합니다.

 

New버튼을 클릭하여 새로운 저장소를 생성한다.

create

Repository name에 원하는 저장소 이름을 입력한다.

Initialize this repsitory with a README를 체크해줘야 웹 호스팅 서비스가 가능하다.

위 과정을 다 마쳤다면 Create repository를 클릭하여 저장소를 생성한다.

만들어진 해당 저장소에서 Settings 메뉴란을 클릭

 

쭉 내리다 보면 GitHub Pages에서 Source를 master로 설정하면 호스팅 된 주소를 받을 수 있다.

반응형

' > Git' 카테고리의 다른 글

[Git] 기본 사용법 및 명령어  (0) 2022.07.26
[Git] Git rebase 재배치 사용법  (0) 2022.07.26
[Git] Sourcetree stash 스태시 사용법  (0) 2022.04.06
[Git] SourceTree, cli Git 커밋 되돌리기  (0) 2020.12.28
반응형

 

[Git] SourceTree, cli Git 커밋 되돌리기

 


 

커밋을 되돌리는 방법 3가지

 

1. reset

2. 브랜치 생성

3. revert

 


 

1. reset을 이용하여 되돌리는 법

reset은 기본적으로 커밋 기록을 전부 없앤다.

파일의 변경 사항 유지는 사용자가 선택할 수 있다.

 

 

commit 2 로 돌아가기 위해 "이 커밋까지 현재 브랜치를 초기화"를 선택한다.

 

 

 

 

원하는 option을 선택

 

reset option 3가지

soft - 커밋 없애고, 파일 변경 사항은 유지 (add 이후 상태)

mixed - 커밋 없애고, 파일 변경 사항은 유지 (add 이전 상태)

hard - 커밋 없애고, 파일 변경 사항도 전부 없앤다.

 

 

1 - 2. 원격 저장소 브랜치가 있을 경우

 

원격 저장소 브랜치는 commit 4에 있으므로 commit 2의 내용으로 다시 push 해야한다.

 

 

 

 

Sourcetree가 강제push를 지원하지 않으므로 터미널에서 git push --force를 입력한다.

 

 

 

 

원격 저장소까지 commit 2 로 성공적으로 되돌아갔다.

reset --hard는 이후 커밋들이 전부 지워지므로 그다지 추천하는 방법은 아니지만 혼자 작업한다면 유용하다.

 

 

cli 명령어

$git reset --hard 커밋해시값

$git push -f  [원격저장소명칭]  [원격브랜치]

 


 

hard로 인해 지워진 commit을 되돌리는 방법

 

$git reflog 를 입력하면 이전까지 모든 내역들이 나온다.

해시값을 선택해서 

$git reset --hard [되돌릴 해시값]

reset --hard를 진행했어도 되돌릴 수 있다.

 


 

2. 브랜치를 생성하여 되돌리는 법

 

commit 2에 해당되는 곳의 내용으로 되돌아 가려고 한다.

commit 2에 새로운 브랜치를 생성하고, 파일 내용을 변경하여 commit을 수행한다.

 

 

 

 

 

commit2의 commit 완료하고, main 브랜치와 병합하려고 하면 충돌이 발생한다.

 

 

 

 

 

원하는 파일내용으로 충돌을 해결해 준 후 commit을 한다.

 

 

 

 

 

commit 2의 내용으로 성공적으로 병합을 완료하였다.

 

newBranch에서 main을 병합했지만,

main에서 newBranch를 병합하는 작업도 HEAD만 옮겨주면 같은 방식으로 할 수 있다.

 

 

cli 명령어

$git checkout -b [생성할브랜치명] [커밋해시값]

$git merge main

 

 

 


 

3. revert를 이용하여 되돌리는 법

revert는 되돌릴 때마다 새로운 커밋을 생성한다.

커밋을 없애는 것보다 생성하는 것이 안전하기 때문에 협업시 사용한다.

 

 

3-1. 순차적으로 되돌리기

 

 

commit3을 사용하기 위해 "커밋 되돌리기"를 선택한다.

 

 

 

 

새로운 커밋이 생성되며 commit3의 내용으로 돌아갔다.

 

 

 

 

이번엔 commit3 을 커밋 되돌리기하여 commit2의 내용을 사용하려한다.

커서를 이전과는 다르게 자신의 위치에서 커밋 되돌리기를 수행하지 않고 그 아래 커밋에서 커밋 되돌리기를 선택한다.

 

 

 

 

commit2의 내용으로 변경되어 커밋되었다.revert를 수행하면 커밋이 되고,

이전 커밋내역이 지워진다.

순서는 위에서부터 순차적으로 되돌리길 원하는 커밋내역까지 되돌려줄 수 있다.

 

 


 

3-2. 커밋 내역을 골라서 취소하고 싶을 때

 

commit 2를 취소하고 싶은 경우 commit2 를 revert(커밋 되돌리기) 하여 충돌을 해결하고 커밋해주면 된다.

중간 부분 내역만 사라지고 그 이후는 유지된다.

 

cli 명령어

$git revert [취소할커밋값]

$git revert head~N  (N번째가 취소되는 커밋)

 


 

 

 


restore

 

add 실수 시 unstaging file 만들기

git restore --staged 파일명

 

수정 사항 원본으로 되돌리기

git restore 파일명

 

일부 파일만 이전 커밋으로 되돌리기

git restore --source head~N 파일명

반응형

' > Git' 카테고리의 다른 글

[Git] 기본 사용법 및 명령어  (0) 2022.07.26
[Git] Git rebase 재배치 사용법  (0) 2022.07.26
[Git] Sourcetree stash 스태시 사용법  (0) 2022.04.06
Github를 이용하여 웹 호스팅하기  (0) 2021.01.07

+ Recent posts