본문 바로가기

728x90

전체 글

(405)
[JS] var, let, const 특징 JavaScript의 변수 선언: var, let, constJavaScript에서는 변수를 선언할 때 var, let, const를 사용할 수 있습니다. 이들은 각기 다른 스코프(범위)와 특성을 가지며 코드의 동작 방식에 영향을 미칩니다. 아래는 각각의 특징과 사용 방법을 정리한 내용입니다.  varvar는 ES6 이전의 기본 변수 선언 방식입니다. 하지만 스코프 문제와 호이스팅(hoisting) 특성으로 인해 주의해서 사용해야 합니다. var의 스코프 (범위)var는 함수 스코프를 가집니다. 즉, 함수 내에서 선언된 변수는 해당 함수 안에서만 유효합니다.함수 외부에서 선언된 var 변수는 전역 변수가 되어 프로그램 전체에서 접근할 수 있습니다.var hello = 'hello'; // 전역 변수fu..
[Python] Numpy 데이터 합치기, 쪼개기 넘파이 배열 합치기와 쪼개기NumPy는 배열 간 병합(합치기)과 분할(쪼개기)을 다양한 방식으로 수행할 수 있습니다. 일반 파이썬 리스트보다 효율적이고 유연하게 행(row)과 열(column)을 기준으로 배열을 합치거나 분할할 수 있습니다.  1. 배열 생성import numpy as npa = np.array([1, 2, 3, 4]).reshape(2, 2)print(a)# 결과:# [[1 2]# [3 4]] 배열 a는 2×2 형태로 변환되었습니다.2. 배열 합치기1. 수직으로 합치기 (열 방향, vstack)두 배열을 수직(세로)으로 쌓아 합칩니다.b = np.array([5, 6, 7, 8]).reshape(2, 2)print(b)# 결과:# [[5 6]# [7 8]]print(np.vstack..
[Python] Numpy 인덱싱, 슬라이싱 넘파이(NumPy) 인덱싱과 슬라이싱NumPy 인덱싱(indexing)과 슬라이싱(slicing)은 배열에서 특정 요소나 부분 배열에 접근하기 위해 사용됩니다. 기본적으로 파이썬의 리스트와 유사하지만, 다차원 배열에서 효율적으로 사용할 수 있는 기능들을 제공합니다. 1. 넘파이 배열 생성import numpy as npa = np.arange(10) ** 2print(a)# 출력: [ 0 1 4 9 16 25 36 49 64 81]np.arange(10)은 0부터 9까지 정수 배열을 생성합니다.각 요소를 제곱한 결과로 새로운 배열이 만들어집니다.2. 넘파이 인덱싱 (Indexing)인덱싱은 특정 위치의 요소를 선택할 때 사용됩니다.print(a[2]) # 4print(a[1]) # 1print(..
[Spring Boot] HTTP Cookie 사용하기 이번 글에서는 HTTP 쿠키를 사용하여 쿠키를 생성한 후 클라이언트의 쿠키에 저장하고, 요청이 들어왔을 때 쿠키의 유무를 파악 및 쿠키를 통해 정보를 전달하는 예제를 다룹니다.UserRepository@Componentpublic class UserRepository { // 메모리에 저장할 사용자 리스트 private final List userList = new ArrayList(); // ID로 사용자 찾기 public Optional findById(String id) { return userList.stream() .filter(it -> it.getId().equals(id)) .findFirst(); ..
[네트워크] HTTP 쿠키 cookie 쿠키는 웹 브라우저와 웹 서버 간에 상태 정보를 유지하기 위한 기술로, 사용자의 브라우저에 저장되는 작은 데이터 저장소입니다. 저장할 수 있는 크기는 대부분 최대 4KB이며 도메인당 저장할 수 있는 쿠키 수 또한 제한됩니다.(일반적으로 20~50개라고 하네요) 서버는 쿠키를 통해 사용자의 상태 정보를 관리하고, 클라이언트의 요청을 보낼 때마다 해당 정보를 서버에 전송하여 사용자 상태를 유지합니다. 쿠키는 HTTP 헤더의 Set-Cookie와 같은 헤더를 통해 서버에서 클라이언트로 전송됩니다. 기본적으로 쿠키는 key-value 쌍으로 구성되며, 이름, 값, 유효 기간, 도메인, 경로 등의 정보를 포함합니다.쿠키의 특징클라이언트 측 저장:쿠키는 클라이언트의 브라우저에 저장되며, 서버가 클라이언트의 상태 정..
[백준] 토너먼트 (1057번) 힌트문제 이해이 문제는 이진 트리 구조에서 두 개의 노드가 주어질 때, 이 두 노드가 부모 노드를 통해 만나는 경로를 찾는 문제입니다.주어진 노드가 서로 만나기 위해서는 서로의 부모 노드로 이동해야 하며, 이 과정에서 몇 번의 이동이 필요한지를 계산합니다.핵심 아이디어부모 노드 계산:이진 트리에서 부모 노드는 다음과 같이 계산할 수 있습니다:부모 노드 = (자식 노드 - 1) / 2 + 1이 공식을 사용하여 두 위치(pos1, pos2)의 부모 노드를 반복적으로 계산합니다.만나는 조건:두 위치가 동일할 때까지 부모 노드로 이동합니다.이동하는 횟수를 카운트하여 최종 결과를 출력합니다.알고리즘 흐름사용자로부터 노드 수와 두 위치를 입력받습니다.두 위치가 서로 다를 때까지 부모 노드로 이동합니다.이동한 라운드..
[Spring Boot] Http Session 사용하기 세션을 활용하여 로그인 후 유저 정보 확인하기이 예제는 세션(HttpSession)을 사용하여 사용자가 로그인한 후 유저 정보를 저장하고 관리하는 방법을 보여줍니다.로그인 후 서버는 세션을 통해 사용자 정보를 유지하고, 로그인 상태를 확인하여 사용자 맞춤 서비스를 제공합니다.   주요 코드 및 설명1. UserEntity (사용자 정보 엔터티)@Data@AllArgsConstructor@NoArgsConstructorpublic class UserEntity { private String id; private String password;} 사용자의 아이디와 비밀번호를 저장하는 데이터 클래스입니다.@Data를 사용해 Getter, Setter, toString 메소드를 자동 생성합니다. 2. ..
[네트워크] HTTP Session HTTP Session이란?HTTP 세션은 웹 애플리케이션에서 사용자 정보를 일정 시간 동안 유지하기 위한 기술입니다.세션은 사용자가 웹 애플리케이션에 접속한 뒤 로그인 상태를 유지하거나 사용자 활동을 추적하는 데 사용됩니다.  HTTP Session의 특징Stateless 문제 해결HTTP 프로토콜은 Stateless(상태 비저장) 특성을 가지며, 서버는 각 요청이 서로 독립적입니다.이를 해결하기 위해, 사용자가 인증된 이후 서버는 세션 ID를 발급하여 사용자의 상태를 유지합니다.세션 ID를 통해 서버는 사용자를 식별하고, 매 요청마다 재인증 없이 동일한 사용자로 간주할 수 있습니다.쿠키와의 연계세션 ID는 쿠키를 통해 클라이언트에게 전달됩니다.이후 클라이언트는 매 요청 시 해당 쿠키를 서버에 전송하여..

728x90