12/24(화) 회고록

OneTwo·2024년 12월 24일

TIL

목록 보기
2/5

오늘 공부한 내용을 두서 없이 작성해보겠다.
JS와 스프링을 공부했는데 기초에 가까운 내용을 공부해서 아직까지는
서로 연관성도 없고 공부글이라기 보다는
개인적인 일기에 가까운 듯하다.

JS(자바스크립트)란?

프로그래밍 언어 중 하나로 웹 페이지의 동적인 기능을 구현하기 위해 사용된다.

자바스크립트는 웹 브라우저에서 실행되는 클라이언트 사이드 언어이다.

소스코드를 한줄 한줄 읽어나가는 형식인 인터프리터 방식으로 실행된다.

자바스크립트는 프론트엔드 , 백엔드 둘 다 개발이 가능하며

IOS, 안드로이드 등 다양한 분야에서 널리 사용되고 있다.

JavaScript 사용 방법

  1. 내부 스크립트

내부스크립트는 HTML문서의 <script> 태그 안에 JS코드를 직접 작성하는 방식이다.

<script> 태그를 <html> 파일의 <head>또는 <body>안에 작성한다.

주로 간단한 테스트 코드 작성에 사용한다.


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>내부 스크립트 예제</title>
   
</head>
<body>
	 <script>
        function greet() {
            alert("Hello, 내부 스크립트!");
        }
    </script>
    
</body>
</html>
  1. 외부 스크립트

자바스크립트 파일을 HTML과 별개인 .js 확장자의 파일로 저장한 후 불러온다.

HTML내에서 <script>의 src속성으로 HTML문서 위치의 기준 파일 경로를 입력해준다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>외부 스크립트 예제</title>
</head>
<body>
		<script src="script.js"></script>
    <button onclick="greet()">Click Me</button>
</body>
</html>

JS의 기초문법1

  • 3가지 변수 선언 방법

JavaScript에는 변수를 선언하는 3가지의 키워드가 있다.

1. var

최신 코드에서는 거의 사용하지 않으며 , let과 const로 대체된다.

변수가 선언된 함수 내부에서만 유효하며

같은 이름의 변수를 다시 선언할 수 있다.

변수가 선언되기 전에 해당 변수에 접근할 수 있지만 , 그 값은 undefined로

초기화된다.

function exampleVar() {
    if (true) {
        var x = 10; // var는 블록 스코프를 무시
    }
    console.log(x); // 10
}
exampleVar();

var a = 5;
var a = 10; // 중복 선언 가능
console.log(a); // 10

2. let

변수가 선언된 블록({ }) 내부에서만 유효하다.

함수와 블록 모두에서 사용할 수 있다.

같은 이름으로 변수를 다시 선언할 수 없다.

선언 전에 변수를 사용하려고 하면 참조 오류가 발생한다.

function exampleLet() {
    if (true) {
        let x = 10; // let은 블록 스코프를 따름
        console.log(x); // 10
    }
    // console.log(x); // 변수 x는 블록 외부에서 유효하지 않음
}
exampleLet();

let a = 5;
// let a = 10; // 이미 선언되어 에러가 남

3. const

한번 값을 할당하면 재할당이 불가능하다.

let과 동일하게 블록 ({ }) 내부에서만 유효하다.

초기화 후 변경이 불가능하지만

객체 혹은 배열의 속성은 수정이 가능하다.

선언 전에 사용하려고 하면 참조 오류가 발생한다.

function exampleLet() {
    if (true) {
        let x = 10; // let은 블록 스코프를 따름
        console.log(x); // 10
    }
    // console.log(x); // 변수 x는 블록 외부에서 유효하지 않음
}
exampleLet();

let a = 5;
// let a = 10; // 이미 선언되어 에러가 남

스프링 하기 전 알아야 할 지식들

스프링을 배우기 전에 알아야 할 기본적인 지식들을 소개하겠다.

클라이언트

서버로 요청하는 모든 프로그램

서버

클라이언트의 요청을 받아 처리하는 주체

데이터베이스

데이터를 한 군데에 모아놓고 여러 사람이 사용할 목적으로 관리하는 데이터 저장소

RDB

Relational Database의 약자

관계형 데이터베이스

데이터를 행과 열로 이루어진 테이블로 관리하며 기본키를 사용해 각 행을 식별함

테이블 간에 관계도 지을 수 있다.

NoSQL

RDB는 저장,질의,수정,삭제가 용이하나 성능을 올리는게 쉽지않음

데이터베이스의 성능을 올리기 위해서는 머신의 성능을 좋게하는 스케일 업 혹은

머신을 여러 대로 분리하는 스케일 아웃이라는 것이 필요함

스케일 아웃은 데이터베이스의 분산이 필요 → 트랜잭션을 사용하면 성능이 떨어짐

  • 트랜잭션이란?
    데이터베이스의 상태를 변화시키기 위한 작업의 단위
    모든 작업이 성공적으로 완료되거나 하나라도 실패하면 전체 작업이 취소 되어야 함
    다음의 조건을 만족해야한다.

  • 원자성
    트랜잭션 내의 모든 작업이 전부 성공하거나 전부 실패해야함

  • 일관성

    실행되기 전과 후의 일관성이 데이터베이스의 보장되어야함

  • 고립성
    동시에 여러 트랜잭션이 실행될때 독립적으로 실행되는 것처럼 보장되어야 함

  • 지속성
    성공적으로 완료되면 그 결과는 영구적으로 반영되어야 함

IP & Port

IP : 서버의 주소

Port : 해당 서버의 특정 서비스 주소

라이브러리와 프레임워크

라이브러리

→ 애플리케이션 개발에 필요한 기능인 클래스,함수 등을 모아놓은 코드의 모음

프레임워크

→ 소프트웨어 개발을 수월하게 하기 위한 소프트웨어 개발환경

즉, 프레임워크는 애플리케이션을 개발할 때 전체적인 구조를 잡기 위해 사용하는 것이고

라이브러리는 애플리케이션을 개발을 하는 과정에서 필요한 기능을 구현하기 위해 사용

profile
매일 성장하는 개발자

0개의 댓글