정리

20 TIL 정리 (Azure,JAVA기초)

모_아이 2022. 5. 17. 01:19

Azure 가상환경 배포

AWS와 매우 유사.

파이참을 이용해 진행 했고

ssh -i {인증서파일경로} {아이디}@{VM IP주소}

윈도우에서 pem 퍼미션 에러가 날 시 이 주소를 참조해보자.

 https://techsoda.net/windows10-pem-file-permission-settings/  )

 

ssh -i ~/azure_key.pem azureuser@IP

AWS를 진행했던 방식과 매우 흡사하다.

이후 pip를 이용해 각종 필요 라이브러리를 다운로드 하고 파일 ftp를 이용해 웹서버에 파일을 올려 배포

과정은 똑같다.

※몽고 db 이용할 시 ip주소를 맞추고 포트 열기

 

- 웹 서버 배포시 token 문제

Typeerror: Object of type bytes is not JSON serializable..  라는 에러가 반겨줬는데 pycharm에선 token 부분에 decode할 필요가 없는데 서버 배포 후 작동 확인할 때 이런에러가 뜬다면 코드를 추가해주자

token = encode(payload, SECRET_KEY, algorithm='HS256').decode('utf-8')

 

 

JAVA 기초 문법

일단 처음 배우기론 메인 함수에서 실행 해야 한다.

public class Main {
    public static void main(String[] args) {
		// write your code here

    }
}

-int는 정수형 변수

-String 은 문자형 변수 선언

※JAVA는 문장의 끝에 꼭 세미콜론을 사용

예시)

int num = 5; //정수형 변수 선언
System.out.println(num);

String sparta = "Hello Sparta!"; // 문자형 변수 선언
System.out.println(sparta);

sparta = "Goodbye Sparta"; // 이미 선언된 변수에 다른 값을 할당
System.out.println(sparta);

예시2)

final int num2 = 10; // 상수형 변수 선언 (final로 선언 가능)
System.out.println(num2);
num2 = 50;

이러면 error가 발생하는데 상수는 처음 할당 된 값을 끝까지 사용해야 한다. 그러므로 50을 새로 할당할 경우 문법 규칙이 틀려 error발생

 

-프로그래밍 언어의 문법적으로 불가능한 코드를 작성한 경우 발생하는 에러를 컴파일에러(compire error)

컴파일 에러는 프로그램을 실행하기 전에 알고 고칠 수 있고 intellij IDE가 빨간줄을 그어주는 이유도 코드가 동작하지 않으니 실행하기 전에 고쳐주라는 뜻

 

변수 선연 [접근제어자][변수의 자료형] [변수의 이름]의 방식

값도 함께 선언하고 싶을 경우 [변수의 자료형][변수의 이름] = [값]

 

※변수의 이름을 붙이는 규칙JAVA에서는 CamelCase라는 규칙으로 이름을 선언하는 것을 표준으로 하고 있따.

첫 글자는 알파벳 소문자로, 그 이후 단어의 단위마다 첫글자만 대문자이고 나머지는 소문자인 단어를 붙여 쓰는방식

 

자료형

-숫자

short s = 1;
System.out.println(a);

int a = 3; // 정수형 변수 선언
System.out.println(a);

long b = 1234567890L; // Long 정수형 변수 선언
System.out.println(b);

float c = 5.5F; // float 실수형 변수 선언
System.out.println(c);

double d = 9.12345678901234567890d; // double 실수형 변수 선언
System.out.println(d);

// 다음처럼 각 자료형의 MAX, MIN 값을 가져올 수 있습니다.
System.out.println(Short.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);

-문자

char alphabet = 'A'; // 문자형 변수 선언
System.out.println(alphabet);
// char type은 default 값이 없습니다.

-논리

boolean fact = true; // 논리형 변수는 true, false의 값을 가진다.
System.out.println(fact);
// boolean type은 default 값이 없습니다.

-바이트

byte data = 'd'; 
System.out.println(data); 
// 알파벳 d는 ASCII code 에서 십진법으로 100이기 때문에 100이라는 글자가 출력됩니다.

컴퓨터에서 표현되는 모든 데이터는 사실상 바이트의 연속이기에 바이트로 표현 가능

아스키 코드란? ( https://ko.wikipedia.org/wiki/ASCII  )

 

자료형

-참조자료형

자바에서 참조 자료형은 기본 자료형이 아닌 모든것을 참조 자료형이라고 함. 자바의 인스턴스를 가리킬 수 있는 자료형

String sparta = "sparta !!";
System.out.println(sparta);

int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과 동시에 초기화
System.out.println(Arrays.toString(intArray));

Java dptjsms Primitive Type을 빼고는 모두 Reference Type 인데 이것은 Java의 언어적인 특징에서 기인

모든 클래스가 Object라는 클래스를 상속받기 때문

 

-배열

동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조

자료형[] 변수 = new 자료형 [배열의 크기] 의 형태로 선언

배열은 데이터를 순차적으로 저장하여 인덱스를 통해 자료에 접근 가능. 여기서 인덱스는 0 ~ (배열의크기 -1)의 범위

int[] intEmptyArray = new int[5]; // int의 5자리 배열 선언
System.out.println(Arrays.toString(intEmptyArray)); // int의 default 값 0으로 채워짐
//그대로 입력후 alt+enter > enter 누르면 변경
int[] intArray = new int[] {1,2,3,4,5}; // int 배열을 선언과 동시에 초기화
System.out.println(Arrays.toString(intArray));

String[] stringEmptyArray = new String[5]; // 참조자료형 String의 5자리 배열 선언
System.out.println(Arrays.toString(stringEmptyArray)); // 참조자료형은 값이 없을 경우 null(아무것도 없다) 이라는 표현으로 표시

String[] months = {"1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"}; 
System.out.println(Arrays.toString(months));
int[] scores = new int[4]; // 배열 선언
scores[0] = 5; //인덱스를 통해 배열에 값 입력
scores[1] = 10;
System.out.println(scores[1]); //인덱스를 통해 배열의 특정 값 출력

String[] months = {"1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"};
// 이렇게 선언과 동시에 값을 입력할 수도 있습니다.
System.out.println(months[7]); //인덱스를 통해 배열에 접근하여 특정 값 출력

int[][] arr = new int[4][3]; //배열을 활용하여 2차원의 배열도 만들 수 있습니다

※배열은 선언과 동시에 크기를 지정받으므로 고정된 크기를 가진다

실제 프로그램이 돌아가며 고정된 크기의 배열을 쓰기 쉽지 않기에 실무에서는 대부분 배열보다는 ArrayList라는 Collection을 사용

반응형

'정리' 카테고리의 다른 글

22 TIL 정리 (java 객체지향)  (0) 2022.05.18
21 TIL 정리 (java 기초)  (0) 2022.05.17
19 TIL 정리 (ms클라우드 azure)  (0) 2022.05.13
18 TIL 정리 (s3업로드,url가져오기)  (0) 2022.05.13
17 TIL 정리 (로드뷰,onkeyup)  (0) 2022.05.11