SeSac 생성형 AI를 활용한 클라우드&보안전문

리액트 1

yoonsc202 2024. 12. 12. 00:17

OX문제 정답:

  1. Amazon EC2는 가상 서버를 제공하는 서비스입니다.
    • O
  2. Amazon RDS는 서버리스 데이터베이스를 제공합니다.
    • X
  3. AWS Lambda는 서버를 직접 관리해야 하는 서비스입니다.
    • X
  4. Amazon S3는 데이터를 저장하고, 웹에서 액세스할 수 있는 서비스를 제공합니다.
    • O
  5. VPC는 AWS 리소스에 대한 프라이빗 네트워크 환경을 제공합니다.
    • O
  6. AWS IAM을 통해 리소스에 대한 권한을 관리할 수 있습니다.
    • O
  7. Amazon CloudFront는 전 세계에서 콘텐츠를 빠르게 전송할 수 있도록 도와주는 CDN 서비스입니다.
    • O
  8. AWS Elastic Beanstalk은 애플리케이션 배포를 자동화하는 서비스입니다.
    • O
  9. Amazon EC2는 단일 리전 내에서만 사용할 수 있습니다.
    • X
  10. S3 버킷의 퍼블릭 액세스 설정을 차단하면, 모든 객체에 대한 퍼블릭 액세스가 차단됩니다.
    • O

5지선다 문제 정답:

  1. Amazon EC2에 대한 설명으로 옳지 않은 것은?
    • SLA를 통해 100% 가용성을 보장한다.
  2. EBS 스냅샷에 대한 설명으로 옳은 것은?
    • AWS 클라우드 환경에서 데이터를 백업하는 기능이다.
  3. AMI(Amazon Machine Image)에 대한 설명으로 알맞은 것은?
    • 필요한 소프트웨어 구성이 포함된 템플릿이다.
  4. S3 버전 관리 기능을 활성화하면 어떤 이점이 있는가?
    • 객체의 이전 버전을 복구할 수 있다.
  5. S3 Glacier에 가장 적합한 사용 사례는?
    • 장기 데이터 보관
  6. 탄력적 IP(EIP)에 대한 설명 중 옳지 않은 것은?
    • 탄력적 IP는 추가 비용이 없다.
  7. Auto Scaling 정책을 설정하려면 무엇이 필요한가?
    • CloudWatch 알람
  8. S3 정적 웹사이트 호스팅을 사용할 때 필요한 설정은?
    • 퍼블릭 액세스 허용
  9. S3 스토리지 클래스 중 데이터 액세스 빈도가 매우 낮고, 비용이 가장 저렴한 옵션은?
    • S3 Glacier Deep Archive
  10. SSE-KMS 암호화를 사용하면 어떤 기능을 추가로 제공받을 수 있는가?
    • 키를 중앙에서 관리하고 감사 기능을 제공한다.
  11. 다음 중 CloudFront의 주요 기능이 아닌 것은?
    • 데이터베이스 백업 제공
  12. VPC 피어링 연결을 설정하면 어떤 이점이 있는가?
    • 두 VPC 간 프라이빗 연결 제공
  13. S3 객체 잠금(Object Lock)을 사용하는 이유는?
    • 객체를 특정 기간 동안 삭제하거나 덮어쓰지 않도록 방지
  14. DynamoDB의 특징으로 올바른 것은?
    • 완전 관리형 NoSQL 데이터베이스 서비스이다.
  15. Lambda 함수를 사용할 때 어떤 트리거를 설정할 수 없는가?
    • EC2 인스턴스 상태 변경
  16. Amazon RDS에서 다중 AZ 배포의 주요 이점은?
    • 자동 장애 조치 제공
  17. Elastic Beanstalk의 주요 이점은?
    • 애플리케이션 코드 배포 자동화
  18. AWS Lambda의 실행 시간 제한은?
    • 15분
  19. AWS CloudTrail은 어떤 목적으로 사용되는가?
    • AWS 계정 활동 로깅
  20. Amazon ECS는 다음 중 무엇을 지원하지 않는가?
    • 데이터베이스 관리
  21. AWS Kinesis Data Streams의 주요 사용 사례는?
    • 실시간 데이터 스트리밍
  22. AWS IAM 정책은 무엇을 정의하는가?
    • 사용자와 그룹의 액세스 권한
  23. AWS RDS 백업은 기본적으로 어떻게 수행되는가?
    • 24시간마다 자동으로 수행
  24. CloudWatch 대시보드를 사용하면 어떤 작업을 수행할 수 있는가?
    • 실시간 모니터링과 알람 구성
  25. Amazon SNS를 사용하는 주요 이유는?
    • 실시간 알림 전송
  26. AWS CodePipeline의 주요 이점은?
    • CI/CD 파이프라인 관리
  27. Elastic Load Balancer(ELB)의 기능으로 알맞은 것은?
    • 애플리케이션 트래픽 분산
  28. Amazon Redshift는 주로 어떤 목적으로 사용되는가?
    • 데이터 웨어하우스
  29. AWS Backup의 주요 이점은?
    • 모든 AWS 서비스의 백업 중앙화

============================================================================================

1.  표현식

  • 값을 생성하는 코드의 단위

2. 문장

  • 작업을 수행하는 코드 단위
  • 하나 이상의 표현식으로 구성될 수 있으며, 대부분의 경우 세미콜론으로 끝난다

3. 동적 타이핑

  • 변수에 데이터가 대입되는 변수의 자료형이 결정함
    • 자바에서는 변수를 설정하면 변수가 가질 수 있는 데이터타입을 지정하는 한편 JS에서는 var i = 100과같이 변수를 선언할때 변수의 데이터타입이 지정되지 않고, 변수의값이 할당되는 시점에 할당되는 값에 따라 변수의 데이터타입이 지정됨.

4. 배열의 정의

  • arr[값, 값]으로 추가하여 배열을 정의할 수 있다.

5. 배열의 특정값 찾아내기

  • 맨 뒤의 값을 찾을 시에는 legnth -1을 실행하여 맨뒤의 값을 찾을 수 있다.
  • 또는 배열에서 'arr1[0]' 고ㅓㅏ같이 0번째의 배열값에 갈 수 있게 할 수 있다. 
console.log(arr[arr1.length -1]);

6. 오브젝트 타입

  • 다양한 데이터타입을 순서에 상관없이 모아놓은 데이터 타입
  • 객체는 key, value로 구성되어 있으며, key는 문자열, value는 데이터 삽입이 가능함
let obj1 = {a : "apple", b : "banna", c : "carrot" }

 

7. var

  • let이라는 키워드를 사용시 호이스팅이 발생하지 않는다
  • var 호이스팅 현상
    • 변수선언이 호이스팅되고, undefined로 초기화 되는 현상
console.log(x1);
var x1 = 100;

>> 
undefined
  • x1이 초기화가 되지 않은 상태에서 불러왔기때문에(100이라는 값이 넣어지지 않았기때문에) undefined 반환
  • 이를 위한 해결책으로는 let/const로 선언을 한다.

8. 호이스팅이란?

  • 변수 선언함수 선언실제 코드 실행 전에 상단으로 끌어올려지는 현상

9. const  : 상수 변수

  • 한번 값을 지정하면 이후에는 값을 바꿀 수 없는 상수 를 의미하는 변수

10. let/const의 호이스팅 현상

 1) let의 경우

  • let에서 값을 선언하기 이전 호출을 진행하면 레퍼런스 에러가 발생한다.
console.log (x1);

let x1;

console.log (x1)
>>
ReferenceError: Cannot access 'x1' before initialization
undefined

  • 변수선언이 호이스팅되고, 선언문에 도달하기 전까지 이루어지지 않음
  • 초기화 전까지의 변수는 TDZ(Temporal Dead Zone)에 높이게 됨
let x1; //TDZ보관

console.log(x1);

x1=100; //TDZ해제 , 참조가 가능해짐

console.log(x1);

>>
undefined
100

 

11. 함수 호이스팅

  • 함수선언은 전체 스코프에서 접근이 가능하도록 호이스팅 됨

정상적인 함수 호이스팅

function hello( ) {
        console.log(`hello`);
}

hello ( );
>>
hello

비정상적인 함수 호이스팅

hello( ) ;
function hello( ) {
        console.log(`hello`);
}
hello( );
>>
hello
hello
  • 선언이 되기 이전에도 호출이 되는 모습
따라서 함수 표현식은 변수 호이스팅의 영향을 받는다.

 

 

12. var로 함수선언시

var hello
hello = function( ) {
        console.log(`hello`);
};
hello ( );
>>
hello
  • 만일 선언 이전에 호출을 할 시 타입에러가 뜰 수 있다.

 

13. 연산자(operator)

  • 나누기, 나머지, 몫을 가져오는 연산자
console.log(`7/4 = ${7/4}`); //나누기
console.log(`7%5 = ${7%5}`); //나머지
console.log(`7//5 = ${Math.floor(7/5)}`); //
// 파이썬과 같은경우 몫을 출력하는 연산자가 존재하나, JS의 경우에는 Math.floor를 사용하여야야한다.
>>
7/4 = 1.75
7%5 = 2
7 // 5 = 1

 

나머지 연산자 부호

console.log(`4 % 3 = ${4%3}`);
console.log(`4 % -3 = ${4%-3}`);
console.log(`-4 % 3 = ${-4%3}`);
console.log(`-4 % -3 = ${-4%-3}`);
>>
4 % 3 = 1
4 % -3 = 1
-4 % 3 = -1
-4 % -3 = -1
  • 나머지 연산자의 부호는 왼쪽피연산자 의 부호를 따라간다.

+연산 부호

console.log(`hello` + `world` );
>>
helloworld
  • 또한 +연산자는 문자열을 결합할때 사용된다.

14. const message를 통한 배열출력

const message = "Hello, 자바스크립트!";

console.log(message[0]);
console.log(message[7]);
console.log(message[99]);

>>
H

undefined
  • 한글, 영문 모두 한 글자 [1] 로 취급하고 범위 밖의 값은 undefined를 반환한다.

15. 전행연산자, 후행연산자

let i = 100;
console.log("#1 : " +i);
if(i++ > 100) {
    console.log("#2 : "+i); // 후행연산자는 나중에 적용이 되는 모습이다.
}
console.log("#3 : " +i);

i = 100;
console.log("#4 : "+i);
if(++i > 100) {
     console.log(# 5 : " +i);
}
console.log("#6 : " +i);
>>
#1 : 100
#3: 101
#4 : 100
#5: 101
#6 : 101

 

16. 동등연산자, 일치연산자

 

동등연산자의 경우

let n = 100;
let s = "100";
console.log(typeof (n));
console.log(typeof (s));

if (n == s) {
            console.log("일치");
} else
            console.log("불일치");
>>
number
string
일치

 

일치연산자

let n = 100;
let s = "100";
console.log(typeof (n));
console.log(typeof (s));

if (n === s) {
            console.log("일치");
} else
            console.log("불일치");
>>
number
string
불일치
  • == : 데이터타입 상관없이 값을 비교 (정수든 문자열이든 100이니깐 맞는거다) : 동등연산자
  • === : 데이터타입까지 같아야한다 (정수 100하고 "100"하고는 전혀 다르다) : 일치연산자

 

17. 강제자료형 변환

const n = 52;

console.log(n, typeof n);
console.log(String(n), typeof String(n));

console.log(n+10);
console.log(String(n)+10);

const b = true;
console.log(b, typeof b);

console.log(String(b), typeof String(b));

>>
52 number
52 string

62
5210

true boolean
true string

 

30. Number( ) 함수를 통해 숫자로 형변환시키기

 

숫자정수를 숫자로

const s = 123;
console.log(s, typeof s);
console.log(Number(s), typeof Number(s));

console.log(s + 456);
console.log(Number(s) + 456);
>>
123 string
123 number

123456 //"123" +456 을 통해서 123456이 반환
579
  • 문자열숫자로 나오지만 number를 통해 강제로 number 123으로 만들었다
  • 아래의 경우 123+456=579인 값이 반환이 된것이다.

문자를 숫자로

const x = "숫자";
console.log(x, typeof x);
console.log(Number(x), typeof Number x)

>>
숫자 string
NaN number
  • "숫자" 라는 문자열에서 정수 숫자가 발견되지 않기때문에 NaN number가 뜬다.

boolean 값을 숫자로

const t = true;
console.log(t, typeof t);
console.log(Number(t), typeof Number(t));
>>
true boolean
1 number
  • True의 경우 1을 반환하기 때문에 숫자 1로 형변환이 완료가 된다.

31. 함수 선언문

function add(x,y) {
     //함수이름, 옆에 괄호내부는 매개변수, 인자값이라고 부름 
     return x+y; //함수본문
}
  • function으로 정의 하되 반드시 함수이름이 있어야한다.

32. 함수표현식

  • 변수는 값을 주고 받을 수 있음
let a = 100;
let b = a;
console.log(a); //100
console.log(b); //100
>>
100
100
  • 함수표현식을 사용하면 함수를 변수와 같이 사용할 수 있음

 

33. 익명함수와 기명함수

let add = fucntion(x, y) {return x+y}
함수변수            익명함수 표현식                        

 

let sum add;
add(10, 20);
add(10, 20);

let add = function plus(x, y) {return x+y};
기명함수 표현식 : 함수 외부에서는 함수 이름을 사용할 수 없으나, 내부에서는 자기 자신을 호출할때 사용할때 사용할 수 있음

 

34. 콜백함수

  • 개발자가 코드를 이용해 명시적으로 호출하는 함수가 아닌
  • 개발자는 단지 함수를 등록하기만 하고
  • 어떤 이벤트가 발생하거나 특정 시점에 도달했을때 시스템에서 호출하는 함수

예) 이벤트 핸들러 : 특정 이벤트가 발생하였을때 실행할 함수

                          <input type = "button" onClick="function( ) {...}" />

 

35. 즉시 실행함수 = 자기 호출함수

  • 함수정의와 동시에 바로 실행하는 함수
  • IIFE(Imediately Invoked Function Expression)
  • 함수표현식을 소괄호로 둘러싼 후 바로 호출(실행) 할 수 있도록 소괄호 쌍을 추가한다.
function add(x,y) {
      console.log(x+y);
}
add (10, 20);

>>
function (x, y) {
      console.log(x+y);
}
(10, 20)

 

36. 화살표 함수

  • 함수표현식에서 function 키워드를 빼고 함수 파라미터와 함수 본문 사이에 화살표(=>) 를 넣는다.
  • 만약 매개변수가 한 개일 경우 {중괄호}를 뺄 수 있다.

 

37. JS의 배열

  • 배열길이는 length 속성으로 알 수 있음
  • 배열 삽입을 할때 빈값에 삽입할경우 undefined으로 정의된 vlaue가 사이에 끼워지게 된다.

38. 배열의 탐색

console.log(values [0]);
console.log(values [1]);
...
  • value를 찾아가면서 탐색하는 방법

 

for (let i = 0; i < values.length; i++) {
               console.log(values [i]);
}
  • for문을 이용한 배열을 탐색

 

for (let index in values) {
               console.log(index, values[index]);
}
  • let index 함수 사용으로 배열탐색

 

이번 챕터 문제정리

### 초급 문제

#### O/X 문제

1. JavaScript에서는 세미콜론 없이 코드를 작성할 수 있다. 
2. var 키워드는 ES6 이후에도 가장 널리 사용되는 변수 선언 방법이다. 
3. const로 선언된 변수는 값이 변경될 수 없다. 
4. 배열의 길이를 구하려면 length 속성을 사용한다. 
5. NaN은 'Not a Number'를 의미하며, typeof로 검사하면 'number'를 반환한다. 

#### 객관식 문제

6. 다음 중 동등 연산자는 무엇인가요?

   1. \==
   2. \===
   3. \=
   4. !=

7. JavaScript에서 데이터를 변환할 때 사용하는 함수는?

   1. parseInt
   2. parseFloat
   3. Number
   4. 위의 모든 것

8. 함수 선언문을 정의하는 키워드는?

   1. def
   2. function
   3. func
   4. declare

9. 다음 코드의 출력은?

   ```javascript
   let x = 10;
   console.log(x++);
   ```

   1. 10
   2. 11
   3. undefined
   4. 에러

10. 다음 코드에서 출력 결과가 다른 것은?

javascript
console.log("5" + 5);
console.log(5 + "5");
console.log(5 - "5");


1. "55"
2. "55"
3. 0
4. 에러

### 중급 문제

#### O/X 문제

11. let과 const로 선언된 변수는 TDZ(Temporal Dead Zone)에 영향을 받는다. 


12. 화살표 함수는 this 값을 바인딩하지 않는다. 


13. for...of 반복문은 배열과 함께 사용할 수 있지만, 객체와는 사용할 수 없다. 


14. JavaScript의 모든 객체는 프로토타입을 가진다. 


15. JSON.stringify는 객체를 JSON 형식의 문자열로 변환한다. 

#### 객관식 문제

16. 다음 코드의 출력 결과는?

    ```javascript
    const obj = { a: 1, b: 2 };
    console.log(Object.keys(obj));
    ```

    1. [1, 2]
    2. ['a', 'b']
    3. { a: 1, b: 2 }
    4. undefined

17. 다음 중 배열 메서드가 아닌 것은?

    1. map
    2. reduce
    3. filter
    4. assign

18. 다음 코드의 실행 결과는?

    ```javascript
    function test(a, b = 10) {
      return a + b;
    }
    console.log(test(5));
    ```

    1. 15
    2. 5
    3. NaN
    4. undefined

19. 다음 중 JavaScript의 비동기 처리 방식이 아닌 것은?

    1. 콜백
    2. 프로미스
    3. async/await
    4. try/catch

20. 다음 코드의 출력 결과는?

    ```javascript
    console.log(typeof null);
    ```

    1. null
    2. undefined
    3. object
    4. string

### 고급 문제

#### O/X 문제

21. 프로미스의 상태는 pending, fulfilled, rejected로 나뉜다. 
22. 클래스의 상속은 prototype을 기반으로 이루어진다. 
23. 스프레드 연산자는 객체 병합에 사용할 수 있다. 
24. try/catch 블록은 동기적 코드에서만 예외 처리가 가능하다. 
25. setTimeout 함수는 이벤트 루프의 콜백 큐에 추가된다. 

#### 객관식 문제

26. 다음 중 이터러블(iterable) 객체가 아닌 것은?

    1. Array
    2. String
    3. Map
    4. Number

27. 다음 코드의 출력 결과는?

    ```javascript
    console.log("hello".charAt(0));
    ```

    1. "h"
    2. "e"
    3. "o"
    4. undefined

28. 다음 코드의 실행 결과는?

    ```javascript
    const arr = [1, 2, 3];
    arr[10] = 99;
    console.log(arr.length);
    ```

    1. 3
    2. 10
    3. 11
    4. 99

29. 다음 코드의 실행 결과는?

    ```javascript
    const promise = new Promise((resolve, reject) => {
      resolve('Success');
    });
    promise.then(data => console.log(data));
    ```

    1. Success
    2. Error
    3. undefined
    4. rejected

30. 다음 코드의 실행 결과는?

    ```javascript
    const set = new Set([1, 2, 3, 3]);
    console.log(set.size);
    ```

    1. 2
    2. 3
    3. 4
    4. undefined



'SeSac 생성형 AI를 활용한 클라우드&보안전문' 카테고리의 다른 글

파이썬 정리  (0) 2024.12.13
리액트 2  (0) 2024.12.12
리액트 간단정리  (1) 2024.12.11
클라우드 컴퓨팅 3  (0) 2024.12.11
클라우드 컴퓨팅 2  (0) 2024.12.11