Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 모션비트
- 크래프톤 정글
- 정보처리기사
- 스택
- 리액트
- 코드트리
- HTML
- TiL
- CSS
- Java
- corou
- userprog
- 핀토스
- 큐
- 4기
- 자바
- 자바스크립트
- 나만무
- 시스템콜
- Flutter
- JavaScript
- 크래프톤정글
- pintos
- 알고리즘
- 오블완
- Vue.js
- 사이드프로젝트
- 소켓
- 백준
- defee
Archives
- Today
- Total
미새문지
24.06.26 day10 코드트리 문제 풀기, require와 import의 차이점 본문
728x90
특정 규칙의 문자 출력
정수 n을 입력받아 문자를 특정 규칙에 따라 출력하는 프로그램을 아래 예를 참고하여 작성해보세요.
예)
n에 3을 입력받는 경우
@
@ @
@ @ @
@ @
@
a = int(input())
for i in range(1, a+1):
for j in range(a-i, 0, -1):
print(' ', end=' ')
for k in range(i):
print('@', end=' ')
print()
for i in range(1, a):
for j in range(a-i, 0, -1):
print('@', end=' ')
for k in range(i):
print(' ', end=' ')
print()
별 문제로 익숙해져서 공백을 포함한 규칙으로 금방 풀었던 것 같다.
require와 import 차이점
require와 import는 각각 다른 자바스크립트 모듈 시스템에서 사용되는 키워드로, 모듈을 불러오는 데 사용된다.
require
const module = require('module');
- 사용되는 모듈 시스템은 CommonJS이며 주로 Node.js 환경에서 사용된다.
- 동기적으로 모듈을 불러온다.
- require 호출은 코드가 실행될 때 바로 호출되며, 모듈을 불러오는 즉시 실행하고 반환된 객체를 사용한다.
- require 호출이 완료될 때까지 다음 줄의 코드가 실행되지 않는 동기적 호출이 이루어진다.
import
import module from 'module';
import { specificFunction } from 'module';
- 사용되는 모듈 시스템은 ES6 모듈 시스템(ECMAScript 2015)이며 브라우저와 ES 모듈이 지원되는 버전의 Node.js 에서 사용 가능하다.
- 정적 분석이 가능하며, 비동기적으로 모듈을 불러온다.
- import 호출은 코드가 실행되기 전에 호출되며, 모듈을 불러오고 평가하는 과정이 비동기적이다.
- 정적으로 분석되기 때문에, 최적화 및 트리 쉐이킹(tree-shaking)이 가능하다.
트리 쉐이킹(tree-shaking)
웹팩(Webpack)이나 롤업(Rollup)같은 현재 자바스크립트 번들러에서 사용되는 최적화 기법 중 하나이며, 사용되지 않는 코드를 제거하여 최종 번들 크기를 줄이는 기술이다.
require, import 주요 차이점
require | import | |
모듈 시스템 | CommonJS | ES6 모듈 |
사용 환경 | Node.js 환경 | 브라우저와 호환되는 버전의 Node.js 전부 |
동기/비동기 | 동기적 | 비동기적 |
코드 실행 시점 | 코드 실행 중에 모듈을 불러옴 | 코드 실행 전에 모듈을 불러옴 |
정적/동적 분석 | 동적 분석 | 정적 분석 |
이러한 차이로 두 키워드는 각각 다른 상황에 사용되며, ES6 모듈 시스템을 사용하면 더 나은 최적화와 모듈관리가 가능하다.
Node.js에서도 ES6 모듈을 지원하기 때문에 두 시스템을 섞어서 사용하는 경우도 많다.
728x90
'개발 TIL' 카테고리의 다른 글
24.06.28 day12 코드트리 문제 풀기, 이벤트 전파(Event Propagation) (0) | 2024.06.28 |
---|---|
24.06.27 day11 코드트리 문제 풀기, 리액트의 라이프 사이클 (0) | 2024.06.27 |
24.06.25 day9 코드트리 문제 풀기, falsy values (0) | 2024.06.25 |
24.06.24 day8 코드트리 다중반복문(별문제 학습 중) (0) | 2024.06.24 |
24.06.23 day7 코드트리 반복문(무한 루프까지) 학습 (0) | 2024.06.23 |