본문 바로가기
TIL

[TIL] Linux 명령어 / main method

by thegreatjy 2023. 9. 23.
728x90

나중에 다시 알아볼 것!

  • 비동기 통신
  • CRUD
  • SSR, CSR, SEO
  • REST
  • MPA, SPA

Linux 명령어

명령어 설명
pwd 현재 위치를 알려줌
ls -al 전체 목록의 정보의 모두 보여줌
cd 디렉터리 이동, 변경
cd / 최상단 디렉터리로 이동
cd - 이동 전 디렉터리로 이동
mkdir 디렉터리 생성
rmdir 디렉터리 삭제
rm 파일 삭제
rm -rf 디렉터리 삭제, 현재 디렉터리 안 파일, 폴더 모두 삭제
f : force, 강제
rm -r (dirpath) 디렉터리 전체 삭제
cp 파일 복사
cp a b : a 파일을 b란 이름으로 복사
mv 파일 이름 변경, 위치 변경
mv a b a 파일을 b 이름으로 변경
mv ./a/b ./c/d b 파일을 c/d로 이동
cat 파일 내용을 터미널에 출력, > 로 파일 생성, ctrl+d로 종료
find
vi, vim 문자 편집기
redirection 화면 출력 결과를 파일로 저장
file
history 실행 명령어 전부 표시
-c : 히스토리 삭제
clear
./ 현재 위치
../ 이전 위치
d directory
- file
chmod 777 설정 변경
r read
w write
x execute
dir > <파일> 출력 흐름을 <파일>로 바꿈 (rediretion)

Linux 프롬프트

$ 사용자
# 관리자

Git bash 홈 디렉터리 변경 (Win)

vi 명령어

명령어 설명
q 종료
w 쓰기
! 강제, 마지막에 붙임

DOS 명령어

명령어 설명
dir 디렉터리 내용 확인
mkdir
type 파일명, 확장명
rd 디렉터리 삭제
del 파일 삭제
rm -rf -f 강제

코드 참조

프론트 : https://codepen.io/

디지털 디자인, 웹 퍼블리싱, 프론트엔드, 백엔드

public static void main(String[] args)

  • public
    • 접근 제어자
    • 프로그램 어디에서나, 누구나 접근 가능
    • 클래스 멤버는 외부로 공개되며, 해당 객체를 사용하는 프로그램 어디에서나 JVM이 직접 접근할 수 있다.
      • 접근 제한자 (access modifier)
접근제한자 접근 가능
public 어디에서나
protected 자신, 상속된 클래스 내
private 자기 자신 클래스 내

  • static
    • 객체를 생성하지 않아도 프로그램 실행 시, 자동으로 메모리에 로딩된다.
    • main method는 객체 생성 없이 실행이 가능하여야 한다.
    • main은 프로그램 시작 전 메모리에 미리 로딩되어야 한다.
    • 프로그램 실행 후, 메모리에서 main 이름의 메소드를 찾아 실행한다.
    • 메모리 할당 방법 ⇒ 1. static 영역 2. heap 영역 3. stack 영역
    • 자바 메모리 구조
저장 데이터 수명
static static 멤버 프로그램 시작-끝
heap 기본 자료형 지역변수의 데이터 값, 레퍼런스 자료형의 실제 데이터 값 변수가 있는 메소드 안
stack 레퍼런스 자료형의 객체, 배열의 참조값(실제 데이터가 저장되어 있는 주소값) 긴 생명주기 변수가 저장됨, new 연산으로 생성, JVM이 알아서 해제(GC,가비지 컬렉트), heap 영역의 참조값(주소값)을 stack 영역의 객체가 가지고 있다.
- reference 변수 값 할당

  public static void main(String[] args) {
  A a = null; // A타입의 a객체 선언 및 Stack 영역 공간 할당
  System.out.println(a); // 결과 : null
  a = new A(); // Heap 메모리에 공간 할당 및 객체(a)에 참조값 할당
  System.out.println(a); // 결과 : @15db9742
  }

        ```
        int port = 4000;
        String host = "localhost";
        ```
  • String[] args
    • 외부로부터 파라미터를 입력받음.
    • 프로그램 실행 시, 처음 실행되는 메서드이므로 외부에서 값을 받을 수 있어야 한다.

  • 운영체제로부터 실행 허락 (CPU 할당)을 받아서 실행됨.
    • 비선점형
      • 운영체제 커널이 CPU를 선점X
      • 프로그램의 프로세스가 CPU를 선점하여 다 사용 후에 운영체제에 돌려줌
      • 프로세스에 문제가 생기면 CPU 반환이 되지 않아 문제가 생김
      • 동기화
      • 윈도우 95 이전
    • 선점형
      • 운영체제 커널이 CPU를 선점
      • 운영체제 커널 프로세스 스케쥴러에 의해 각 프로세스의 CPU 사용을 제어
      • 어떤 프로세스가 CPU를 할당받아 실행 중에 있어도 다른 프로세스가 실행 중인 프로세스를 중지하고 CPU를 강제로 점유할 수 있다.
      • 비동기
      • 윈도우 95 이후 최신 운영체제

MPA, SPA

  • mpa
    • multiple page application
    • jsp, spring
  • spa
    • single page application
    • react

REST

  • REST
    • get, post, put, delete
  • REST API
  • RESTful

⇒ 셋의 차이점?

HTTP 메서드

  • HTTP 메서드
    • 서버, 클라이언트 사이에서 요청, 응답 데이터를 전송하는 방식
    • GET (요청), POST (생), PUT (전체 변경), PATCH (일부 변경), DELETE
  • GET
    • 기본값으로 공개
    • 쿼리 스트링을 통해 데이터 요청
    • URL 끝에 ?요청파라미터&요청파라미터 를 붙임
    • 요청 파라미터는 key=value로 구성됨
    • 요청을 캐시
      • 브라우저에 캐시 저장됨
      • 동일한 요청 시, 캐시 사용
  • POST
    • 비공개
    • id, pw
  • 비동기 통신
    • 코드가 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행

CRUD

  • Create
    • 등록
  • Read
    • 검색
  • Update
    • 전체 수정
      • Path : 부분수정
  • Delete
    • 삭제

SSR, CSR, SEO

  • SSR
    • Server Side Rendering
    • 서버에서 화면 구성
    • html에 모든 정보 → 봇이 데이터 수집 가능
  • CSR
    • Client Side Rendering
    • 클라이언트에서 화면 구성
  • SEO
    • Search Engine Optimize

에러 종류

Syntax 오타, 컴파일러
Logic 논리 오류
Runtime 실행 중 발생하는 에러, 예외처리

디버깅으로 print 대신 log4j2(프로그램 흐름, DB 포함) 사용하기

spring에서는 AOP 기능

  • AOP (spring pojo)
    • 관점 지향, Aspect Oriented programming

강제 형변환 cast operator

  • 변수형을 선언하는 이유
    • 메모리 크기를 절약하기 위해
    • 데이터형 일치 여부를 알기 위해

OS 파일 삭제

자료형 범위

  • Double 부동소수점

(예) 23.45 = 0.2345 * 1$0^2$

부호 = 0,지수 = 2, 맨티사 = 2345

Refs

spa, mpa

https://velog.io/@yejine2/SPASingle-Page-Application-VS-MPA

seo

https://velog.io/@attosisss_/CSR-과-SSR의-차이-그리고-SEO

java main method

https://www.baeldung.com/java-main-method

비동기 통신

https://velog.io/@khy226/동기-비동기란-Promise-asyncawait-개념

get. post

https://brilliantdevelop.tistory.com/32

https://inpa.tistory.com/entry/WEB-🌐-HTTP-메서드-종류-통신-과정-💯-총정리#thankYou

public

http://www.tcpschool.com/java/java_modifier_accessModifier

https://mozi.tistory.com/553

자바 메모리 구조

https://m.blog.naver.com/heartflow89/220954420688

선점형, 비선점형 운영체제

http://www.ktword.co.kr/test/view/view.php?m_temp1=2667

728x90