230925

한라봉봉·2023년 9월 25일
post-thumbnail

git

"리눅스" shell 이란?

  • 본셸
  • 콘셸
  • Bash shell

서버 운영시 반복되는 작업을 일괄처리할때 사용한다. 매크로, 요즘은 RPA(업무자동화)

모든 권한 open

8진수로 권한 설정

rwxrwxrwx chmod 777

읽기 쓰기 6
읽기 4
타인 0

script

  • typescript : enum 설정
    데이터 형태를 지정하는것
  • javascript : enum 미설정

네이버 mybox https://naver.me/G87Qliob

버전관리 git 1단계 파일 참조

*리눅스 명령어로 진행
1단계 : Git 설치 및 버전 생성
( 1강 ~ 9강 )

git --version
git init -> 초기화
vim f1.txt - 파일을 생성하고 내용 1만
git status -> 상태확인 -> 적색이면 관리대상이 아님
관리대상이 되면 녹색으로 변경 -> git add 파일명 되는데....
그전에 git config user.name Id
git config user.email 개인메일
or
git config --global user.name "이름"
git config --global user.email "개인메일"
git config --list

위와 같은 작업을 하지 않으면 commit(저장)이 오류발생함!

Oracle은 commit 으로 저장햣
다른 버전관리프로그램은 commit으로 저장
git commit 전에 add가 들어가서 개별적으로 파일관리를 할 수 있음.
add commit 두번 작업하지말고 -am add와 commcleait가 동시에 이루어짐.
단, 조건이 add 가 처음이 아닌 경우.

git 등록순서는 개념적으로 옆과 같다. git <- stage <- work

git add 파일명 -> git add f1.txt
i 키로 insert 전환 -> a 입력 -> esc로 command 모드 -> :wq 후 엔터(w 저장, q는 종료를 실행하는 명령어)
git status 상태확인 -> 녹색으로 변경되어 있음.

git log 작업진형 현황을 알수 있음.햣

vim f1.txt -> 2를 추가하거나 or 1을 2로 변경(내용수정)
git status -> f1.txtls - 적색으로 보임
git add f1.txt 등록 (stage 등록)
git status 녹색으로 변경된 것을 알수 있음
git commit ->Ver_2 로 저장 (git에 올림,
참고사항: commit db는 저장명령으로 oracle에서는 반드시 해야됨)
git log -> 로그를 확인하면 버전이 변경된 것을 알 수 있음
cp퍄ㅡ
cp f1.txt f2.txt 로 복사
git add f2.txt
git commit ->Ver_3으로 저장
git log -> history 확인됨

두개의 파일을 수정 (f1.txt, f2.txt)하고 f1.txt만 add

-->add를 하게 되면 staged(임시기억장소)에 들어감
commit를 하게 되면 repository로 저장됨.

※ Git 에서는 아래와 같이 3가지 단계를 거쳐서 commit 하게 된다.
1) Working Copy : 작업 소스폴더, 작업 소스
소스가 최초 작성되거나 수정되면 Git에서 감지하고
이력을 추적하는데 Working Copy 에서 이루어 진다.
2) Stage : Stage, Index, Staging Area 모두 같은 의미
등록 대기 상태라고 이해하면 된다.
커밋(등록)을 하기 전 중간 확인 단계.
3) Commit : 실제 저장소에 등록
저장소에 소스버전과 이력을 등록한다.

출처 : https://serpiko.tistory.com/703

   Ver_1과 Ver_2 만든후에  cp f2.txt  복사 

내용: 1 2 -> f2.txt 생성

git log -p 를 엔터하면 버전간의 차이를 알 수 있고 q를 누르면 종료됨

만일 특정 버전까지 대한 정보를 보고 싶다면
git log id를 입력(앞자리 4자리 확인)

------------------->>버전과의 차이를 알고 싶다면
git diff id..id를 입력

vim f1.txt -> 5를 추가

add f1.txt
commit -m "Ver_5"
git log --> 버전 내력을 확인

특정 버전으로 되돌리기.
1) reset햣
2) revert 두가지 방법이 있음.

작업순서
git log 로 버전 확인
git reset id --hard -> 이전 버전은 완전히 사라짐.

--hard --soft 차이가 있음(인터넷 검색) soft는 표면적으로는 지웠다고 하지만 복원가능
git checkout log4자리 해당하는 로그를 기준으로 조회됨
git checkout master 전체 로그 조회

svn(버전관리) // git&github(버전관리+협업:SVN비해 배우기 어렵다)
천재교육은 svn, SourceTree(GUI) 사용

==> 깃 크라켄(GUI)

403 에러

윈도우 자격증명 정보와 git에 등록된 사용자명이 다르면 push 시 덮어쓰기 처리되지않고 에러남
https://cafe.naver.com/hamminglab

Git 에서는 아래와 같이 3가지 단계를 거쳐서 commit 하게 된다.

1) Working Copy : 작업 소스폴더, 작업 소스

  소스가 최초 작성되거나 수정되면  Git에서 감지하고 
  이력을 추적하는데  Working Copy 에서 이루어 진다.

2) Stage : Stage, Index, Staging Area 모두 같은 의미
등록 대기 상태라고 이해하면 된다.
커밋(등록)을 하기 전 중간 확인 단계.
3) Commit : 실제 저장소에 등록
저장소에 소스버전과 이력을 등록한다.

단축키 통일은 vim으로 해결

VSC, 인텔리제이 모두 vim을 지원한다.
다만, vim의 경우 수정모드를 따로 진입해야하므로 불편하다는 단점이 있다.
드림코딩 vim 제대로 가르쳐줌.. 영상 참조
단축키 종류는 상당히 많으므로 중요한 부분 일부만 외우고 이후 사용빈도에 따라 추가로 익힐것
-> 얄팍한 코딩사전 영상 참고시 몇가지 간추려져 있음

git reset id --hard -> 이전 버전은 완전히 사라짐.
--hard --soft 차이가 있음(인터넷 검색) soft는 표면적으로는 지웠다고 하지만 복원가능
업로드중..

버전관리 git 2단계 파일 참조(Branch)

  • add 와 commit는 처음 파일 생성시만 별도로 사용하고 그 후로는 -am으로 동시에 적용가능

충돌을 방지하기

  1. 다른 파일을 사용하여 merge 한다.
  2. 같은 파일을 사용해야 하는 경우? -> 아래

Git Stash(숨김) & Conflict(충돌)

7) git checkout -b exp (-b:브랜지와 동시에 체크아웃)

추천 사이트: mdn web docs -> js등 다양한 기본 문서 제공
1. DevOps의 개념을 알아둘것: 개발과 운영을 함께
2. 미래는 MSA개념이 더 늘어날것이다. 마이크로서비스의 경우 배달의 민족, 마켓컬리 참조

Scale - up: 컴퓨터 사양 업그레이드 -> 물리적으로
Scale - Out: 같은 사양으로 컴퓨터 대수(컨테이너)를 늘림, 갑자기 추가가 필요할 때
다수 컨테이너는 도커로 늘린다. 관리할 때는 쿠버네티스가 관리

충돌을 방지하기

  1. 다른 파일을 사용하여 merge 한다.
  2. 같은 파일을 사용해야 하는 경우?
    -> 동일한 파일의 경우 충돌할 수 있지만 특정함수를 기준으로 상/하 위치를 다르게 하는등 라인이다르면 충돌이 발생하지 않음
  3. 충돌이 발생하면 협의하에 master에서 충돌지점을 수정한다.

git hub

git remote add origin https://github.com/cyj083386/git_test4.git
git 주소를 origin 으로 설정, remote는 원격이라는 의미
git branch -M main
git branch를 main으로 수정하여 master 사용하지 않기
git push -u origin maind
ㅡ먀오리진의 주소 올려라

java

게시판의 주요요소

C create
R read 목록보기
-> 글내용(상세보기)도 있어야 함
U update
D delete

교재 p.43부터
데이터 표시형

  • 10진수 34
  • 2진수 101010b
  • 16진수 32h
  • 8진수 034

c/java 에서 문자열은 자바 기본 타입에 존재하지 않고 참조 타입에 속한다.
char 'a'
String "a" -> 얘는 앞에가 대문자로 클래스다..

이스케이프 문자의 경우 좀 예외.
'\q'
'\0' null
'\n' 줄바꾸기
'\t' 탭 공간만큼 비우기

ascii 코드 -> char 변수내 65는 A로 인식된다.

e(지수 : exponent) 2의 4승이면 4가 지수다~

연산자의 우선순위

  1. 괄호
  2. "* , /"
  3. "+ , -"
  4. 동급일때는 왼쪽이 우선

  1. 괄호
  2. 산술
  3. 관계 >=
  4. 논리 &&

3+5 > 3-5 && 7-3 >= 7+2
8 > -2 && 4 >= 9
T && F
F

데이터 타입의 분류

p.144 참조

자동 타입 변환

  • 범위가 작은 타입이 허용범위가 큰 타입으로 대입될때 발생

강제 타입 변환

  • 기존 값이 바꾸려는 타입의 범위 밖이면 변환시 값이 보존되지 않는 문제 발생
    (casting)

상식

정수 + 정수 => 정수
실수 + 실수 => 실수
정수 + 실수 => 실수

10/2 => 5
1/2 => 0
1/(float)2 => 0.5

지역변수와 전역변수

지역변수 (LOCAL) : 블럭{}안에서 선언, 블럭{}에서만 유효
전역변수(GLOBAL) : 블럭 밖에서 선언, 프로그램 전체에 유효

->지역과 전역이 만났을때 누가 우선? 지역변수
int a = 5;
{
int a = 7;
System.out.println(a);
}

결과는 7

p.66 까지 진도

profile
백엔드 개발공부 로그를 기록합니다

0개의 댓글