공부일기

삐약삐약 개발일기

Dev 9

Promise

Promise란? 프로미스가 생성된 시점에는 알려지지 않은 값의 대리자로,비동기 연산이 동료된 이후에 결과 값과 실패 사유를 처리하기 위한 처리기를 연결비동기 메서드에서 like 동기 메서드처럼 값을 반환할 수 있음but  최종 결과를 반환 X -> 미래의 어떤 시점에 결과를 제공하겠다는 Promise를 반환 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise

Dev/JavaScript 2024.11.04

클라이언트와 서버 구조

## 클라이언트와 서버 구조웹브라우저(요청) -> 웹서버가 가지고 있는 html문서(응답) -> html문서를 클라이언트에게예를 들어 크롬이라는 브라우저에서 서버에 요청을 보낼 때는 서버의 주소(IP 주소) 또는 서버의 주소를 대체할 수 있는 도메인명을 알아야 한다.예를 들어 주소창에 naver.com을 입력하면 네이버에서 운용하고 있는 웹 서버가 호출되고 서버는 요청에 대한 응답을 브라우저에 돌려준다.즉, 웹서버는 요청에 대한 응답으로 html문서나 다른 resource들을 브라우저에 표시하게 된다.​프로토콜 : http의 서비스 내용은 웹 서비스, 포트번호는 80https 프로토콜 : 서비스 내용은 SSL(보안)을 적용한 웹서비스 제공, 포트번호 443FTP(파일전송 프로토콜) : 서비스내용은 파일 ..

Dev/Spring 2024.06.18

스프링 부트 환경 설정

https://spring.io/tools  Spring | Tools spring.io위 링크에서 이클립스 다운 jar파일을 열 수 있도록 알집 같은 파일이 있다면 미리 프로그램을 제거하도록 한다. 다운로드 받아진 jar 파일을 더블클릭하면 sts 파일이 생성된다. sts 파일안에 exe 파일 있는 것을 확인하고 sts 파일을 잘라서 C드라이브로 잘라 붙이기 한다.편의성을 위해서 sts 파일 안에 있는 exe 파일을 바탕화면 바로가기 만들기 혹은 하단 바에 고정하기를 설정한다.이클립스를 실행 후 해당 경로를 지워내고 런치!스프링 프로젝트 생성프로젝트에 맞춰서 밑줄 친 부분을 확인하며 작성한다.Next를 진행 후 나오는 체크리스트 중 Spring Web을 체크해 준다.JDK 연결 에러가 발생할 때 해결 ..

Dev/Spring 2024.06.18

스프링 부트란?

# 스프링 부트란?웹 프로그램(웹 애플리케이션)을 쉽게 빠르게 만들 수 있도록 도와주는 자바의 웹 프레임워크​라이브러리 : like 플러그인, on off가 가능한, 연동해서 사용가능한, 환경이 아닌프레임워크 : 구축이 되어 있는 환경​웹 프로젝트를 완성하기 위해서 많은 기능을 생성해야 한다.쿠키처리, 로그인, 로그아웃, 데이터베이스 처리 등,,,웹 프레임워크에는 기능들이 이미 만들어져 있다.웹 프레임워크에 있는 기능을 익혀서 사용하기만 하면 되고 흐름을 정확하게 파악하면 된다.​스프링부트는 웹 보안적인 부분에서 굉장히 튼튼한 웹 프레임 워크이다.SQL 인젝션 : 악의적인 SQL을 주입하여 공격하는 방법 XSS(Crose Site Scripting) : 자바스크립트를 삽입해 공격하는 방법CSRF(Cros..

Dev/Spring 2024.06.18

형변환

형변환 - CPU도 연산을 할 수 있도록 표현법(자료형)을 하나로 통일시켜 줘야 함 - 자동 형변환 : 피연산자의 자료형이 일치하지 않아서 자동으로 발생하는 형변환 - 명시적 형변환 : 명시적으로 형변환 연산자를 이용해서 발생시키는 형 변환 - 연산 및 대입에서 발생 [1] 연산 서로 다른 데이터 형으로 계산할 때는 Java는 더 큰 데이터 형을 사용해 계산함 예상치 못한 오류의 원인이 될 수 있으므로 주의! 연산의 우선순위와 함께 다른 결과 유발 [2] 대입 변수에 값을 대입할 때나 변수끼리 대입할 때는 좌우변의 타입이 일치해야 함 ex) int a = 10; long b = a; // 자동형 변환, int인 a가 long으로 자동 형변환 규칙- boolean을 제외한 나머지 7개의 기본형은 서로 형변..

Dev/JAVA 2024.06.11

JAVA의 메모리

메모리코드영역 : 실행할 프로그램의 코드를 올려놓을 공간데이터 영역 : static 영역 프로그램이 종료될 때까지 유지해야 하는 데이터 저장할 공간코드영역 + 데이터 영역 > method 영역​스택영역 : 아주 잠깐 사용하고 삭제할 데이터의 공간힙 영역 : 프로그래머가 원하는 방식으로 쓸 수 있는 공간  스택 : 데이터가 아래서부터 차곡차곡 쌓였다가, 제거될 때는 맨 위의 데이터부터 차례로 제거 > LIFO(Last In First Out)Queue(큐) : FIFO(First In First Out)힙 : 자유 기억 공간, 주소를 기억하고 있다가 직접 데이터가 있는 곳에 접근

Dev/JAVA 2024.06.11

변수와 자료형

# 변수 - 데이터를 저장하기 위해 메모리에 공간을 만들어 할당하고, 이름을 부여한 것 - 데이터의 저장과 참조를 위해 할당된 메모리 공간 # 데이터타입 - 자료형 - 변수 공간을 얼마나 확보할 것인지 크기를 정하는 것 - 자료에 대한 형태, 종류 - 변수를 만들 때 어떠한 데이터가 들어가며 메모리는 몇 바이트를 차지하는지 명시해 주는 것 // 변수 선언 int 1; a = 10; // 값 할당 // 선언과 동시에 값 할당 int b = 20; // 여러 개를 동시에 선언과 할당 int c = 30, d = 40; // 여러 개를 선언한 후, 할당 int e, f; e = 100; f = 200; // 변수끼리의 할당 int k = 45; int n = k; ** 지역..

Dev/JAVA 2024.06.11

JAVA의 구성, 사용자 정의 명칭 규칙

# JAVA의 구성package : 관련된 class들의 묶음​main이 잇는 class가 파일명이 되어야 한다.public의 경우에는 파일명과 동일한 class에서만 사용할 수 있다.​ # 사용자 정의 명칭의 규칙package, class, method, field(변수)의 이름 규칙class, method, field : 첫 글자는 $, _, 영문자공백 불가특수문자 불자숫자는 첫글자 제외 사용가능예약어 사용 불가​권장사항class : 첫글자 대문자, $, _method : 첫글자 소문자, $, _field: 소문자합성어의 첫글자는 대문자 ex) HelloJava상수 : 모든 문자를 대문자로 구성, 합성어인 경우 언더바를 사용 ex) int COLOR = 7; / int COLOR_RAINBOW = 5;

Dev/JAVA 2024.06.11

JAVA란?

JAVA란 프로그래밍 언어컴퓨터에게 요청(Coding) > 통역(Compiling) > 결과 실행(Interpreting)​컴파일러 - 바이트코드(반 기계어)로의 변화인터프리터 - 한 Line씩 읽어서 실행 컴파일러를 통해서 변환된 언어는 컴퓨터에게 넘겨져서 실행할 수 있는 환경이 필요함 > 그 환경이 인터프리터​소스코드(test.java)> 컴파일러 : javac 컴파일러로 컴파일> 결과물(test.class) : 컴파일러에서 자바 바이트코드라는 컴파일 문서를 만들어줌> 가상머신 : 자바 가상머신(JVM:Java Virtual Machine)이 인터프리터의 기능을 수행​바이트코드 : 플랫폼에 무관하게 사용할 수 있음 JRE(Java Runtime Environment) : 사용자를 위한 실행환경만 제공..

Dev/JAVA 2024.06.11