분류 전체보기 125

[JavaScript] let, const 키워드와 블록 레벨 스코프

01. var 키워드로 선언한 변수의 문제점변수 중복 선언 허용 → 이미 선언되어 있는 변수의 값을 모르고 변경할 가능성 존재함수 레벨 스코프: 함수의 코드 블록만을 지역 스코프로 인정  → 전역 변수가 중복 선언되는 경우 발생변수 호이스팅 → 흐름이 맞지 않고, 가독성을 떨어트림// 함수 레벨 스코프var x = 1;if (true) { // x는 전역변수 → 이미 선언된 전역 변수 x가 존재하므로 중복 // 변수값이 변경됨 x = 10;}console.log(x); // 1이 아닌 변경된 값인 10이 출력// 변수 호이스팅console.log(name); // 2. 변수 사용 → 변수가 undefined로 초기화 name = 'KKK'; // 3. 변수 값 할당console.log(..

JavaScript 2025.04.10

[JavaScript] 변수

01. 변수(variable)프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념메모리(memory) = 셀(memory cell)의 집합셀 하나의 크기 = 1 byte의미: 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 or 그 메모리 공간을 식별하기 위해 붙인 이름// 하나의 값 저장var userId = 1;var userName = 'KKK';// 객체나 배열(자료구조)를 사용하면 여러개의 값을 하나로 그룹화하여 하나의 값처럼 사용할 수 있음var user = {id:1, name:'KKK'};var users = [ {id:1, name:'KKK'}, {id:2, name:'LLL'}]; 02. 식별자(identifier)의미: 어떤 값을 구별해서 식별할 수 있는 고유한 이름 (=변수)메모..

JavaScript 2025.04.10

[Python] 입력과 출력

00. 변수 명명 규칙구성 요소: 영문자, 숫자, 밑줄(_)금지: 공백, 숫자로 시작, 소문자와 대문자 구분권고: 의미있는 이름으로 명명01. 입력myName = input()input() : 사용자로 부터 입력을 받음= : 오른쪽 항의 내용을 왼쪽 항에 저장myName : 변수로 숫자값이나 문자값등을 저장02. 출력print(myName) # 앞서 input()에서 입력한 사용자의 값이 출력됨print('a', 'b', 3) # 문자열들이 공백(' ')으로 연결됨print('a+b', 'a'+'b') # 'a+b'는 그대로 출력, 'a'와 'b'는 'ab'로 합쳐진 후에 출력print() # 다음 줄로 넘어감print괄호 안의 내용을 화면에 출력하고 줄넘김괄호 안에는 문자값, 변수, 계산식이 들..

Python 2025.04.04

[Python] 파이썬 시작 전

01. Python인터프리터 객체지향 - 한 줄 씩 해석다른 언어와 결합하거나 API와 연결하는 역할을 주로 수행대부분의 인공지능 관련 공개 SW들이 Python을 지원02. 빅데이터 개요산업 혁명혁명(revolution)권력이나 조직 구조의 갑작스런 변화를 의미사회나 정치 체제의 변화를 의미하는 것이 일반적, But 경제나 문화, 사상 등 여러 분야의 급격한 변화를 가리키는 말로도 사용빅데이터데이터 vs 정보데이터(data): 자료, 현실 세계에서 측정되고 수집된 사실 또는 값정보(information): 어떠한 목적이나 의도에 맞게 데이터를 가공 처리즉, 의미/목적을 포함하지 않고 단순 수집된 원시 자료는 데이터, 의도/목적에 따라 데이터를 처리하고 분석하여 데이터에 의미를 부여한 것은 정보정의대량의..

Python 2025.04.04

[회고록] 패스트캠퍼스 부트캠프 3

기간 : 2025.3.10 ~ 2025.3.3101. 진행 내용(1) Toy Project 1 (2025.3.10 ~ 2025.3.17) 쇼핑몰 주제 선정벤치마킹 쇼핑몰 선정화면 정의서, 기능 정의서 제작ERD 모델링(2) Toy Project 2 (2025.3.17 ~ 2025.3.31)이전에 작업한 내용(화면 정의서/기능 정의서/ERD)을 바탕으로 실제로 구현하여 서비스 제작02. 각 기간 동안의 결과물(1) Toy Project 1git : https://github.com/kimyelin0506/KDT_DBE3_Toy_Project1(2) Toy Project 2 git : https://github.com/kimyelin0506/KDT_DBE3_Toy_Project203. 추후 개발 사항 - 상..

회고록 2025.03.31

[Spring] Spring 핵심 개념 정리

1. Spring 기본 개념Q1. Spring 프레임워크란 무엇인가요?Spring은 자바 기반의 엔터프라이즈 애플리케이션(Enterprise Application) 개발을 위한 프레임워크로, 객체 지향 프로그래밍을 지원하고, DI(의존성 주입)와 AOP(관점 지향 프로그래밍) 등의 개념을 통해 효율적인 개발을 가능하게 합니다. Q2. Spring의 핵심 개념은 무엇인가요?Spring의 핵심 개념은 다음과 같습니다.DI (Dependency Injection, 의존성 주입)객체 간의 의존성을 Spring 컨테이너가 관리하여 유연한 애플리케이션을 만들 수 있도록 합니다.AOP (Aspect Oriented Programming, 관점 지향 프로그래밍)로그, 트랜잭션, 보안과 같은 공통 기능을 분리하여 코드의..

Spring 2025.03.08

[Spring] 원격 프로그램의 실행

01. 원격 프로그램의미: 사용자가 물리적으로 떨어진 곳에서도 컴퓨터, 서버, 또는 네트워크에 접속하여 제어하거나 작업을 수행할 수 있도록 해주는 소프트웨어원격 프로그램 등록프로그램 등록URL과 프로그램을 등록 (WAS, tomcat)객체 생성 담당: WAS객체를 미리 생성함Spring에서 사용한 디자인 패턴 Singleton: 하나의 객체로 여러 사용자가 공유하여 사용FlyWeight: Singleton을 배열/맵으로 다룸Prototype: 객체를 복사, clone()원격 프로그램 등록 방법: @key값이 중복될 경우. value를 배열로 저장파라미터의 key 값이 같을 때 모든 요소를 불러오는 방법: getParameterValues()하나만 가져오고 싶을 경우: getParameter()+) WAS..

Spring 2025.03.04

[자료구조 with JAVA] 이진 탐색 트리 - Red Black Tree

01. Red-Black Tree조건Root 노드와 Leaf 노드의 색: BlackRed 색 노드의 자식의 색: Black (Double Red 불가)모든 Leaf 노드에서 Root 노드까지 가는 경로의 Black 노드 수 같음조건이 깨지는 상황: Rebalancing 실행 02. 삽입(case 1) 노드 삽입 후 Double Red 발생 1: 부모 노드의 형제 노드가 Red인 경우ReColoring 진행삽인한 노드의 부모와 부모 형제 노드를 Black으로 변경부모의 부모 노드를 Red로 변경부모의 부모 노드가 Root인지 Double Red인지에 따라 조건 진행(case 2) 노드 삽입 후 Double Red 발생 2: 부모 노드의 형제 노드가 Black or NullReStructuring 진행조정 ..

[자료구조 with JAVA] 균형 이진 트리 (Balanced Binary Search Tree) - AVL 트리

01. 균형 이진 트리 (Balanced Binary Search Tree)모든 노드의 좌우 서브트리 높이가 1이상 차이나지 않는 트리 (이진 탐색 트리)노드의 삽입 / 삭제가 일어나는 경우 균형을 유지하도록 하는 트리 종류AVL 트리Red-Black 트리02. 이진 탐색 트리의 편향 발생case 1) 삽입 순서: 20 → 10 → 30 → 5case 2) 삽입 순서: 5 → 10 → 20 → 30이진 탐색 트리의 규칙을 벗어나고 값들의 편향이 발생함03. AVL 트리노드가 삽입/삭제가 일어나는 경우 트리의 균형을 체크하고 유지하는 트리각 노드의 BF(Balance Factor)를 [1, 0, 1]만 가지게 하여 균형 유지BF: (왼쪽 서브 트리 높이) - (오른쪽 서브 트리 높이)앞서 언급한 case ..