웹 개발

웹 개발/🌐 JavaScript

Javascript에서 호출스택과 태스크큐의 관계

자바스크립트에서 호출스택과 태스크큐의 관계자바스크립트에서 호출 스택(call stack)과 태스크 큐(task queue)는 비동기 프로그래밍과 이벤트 루프(event loop)의 중요한 개념입니다. 이 둘은 자바스크립트의 싱글 스레드 환경에서 코드 실행의 흐름을 제어하는 중요한 역할을 합니다. 이들의 관계와 동작 방식에 대해 알아보겠습니다.1. 호출 스택 (Call Stack)호출 스택은 자바스크립트 엔진이 함수를 호출할 때마다 그 함수의 실행 정보를 스택 구조에 쌓는 곳입니다. 기본적으로, 자바스크립트는 동기적으로 코드가 실행되며, 각 함수는 호출되면 호출 스택에 쌓이고 실행이 끝나면 스택에서 빠져나옵니다.스택 구조: 호출 스택은 후입선출(LIFO, Last In First Out) 구조로 동작합니다..

웹 개발/🖥️ HTML&CSS

모바일 웹화면 더블터치시 자동확대 막는법

더블터치시 자동확대 막는법오늘은 모바일 브라우저에서 확대/축소 기능을 끄는 방법에 대해서 알아보겠습니다.   1. HTML 메타태그 방식 태그에 user-scalable=no 속성을 추가하면, 사용자가 페이지를 확대/축소할 수 없게 됩니다 width=device-width : 화면 너비에 맞춰 페이지를 설정합니다.initial-scale=1 : 페이지 로드시 기본 확대 비율을 1로 설정합니다.maximum-scale=1 : 최대 확대 비율을 1로 설정하여 확대를 제한합니다.user-scalable=no : 사용자가 확대/축소할 수 없게 만듭니다.2. JS방식저는 meta 방식이 안먹혀서 js방식을 사용했더니 바로 됐습니다!document.documentElement.addEventListener('tou..

웹 개발/🍃 SpringBoot

JPA | DAO 설계

DAO 설계DAO(Data Access Object)는 데이터베이스에 접근하기 위한 로직을 관리하기 위한 객체입니다. 비즈니스 로직의 동작 과정에서 데이터를 조작하는 기능은 DAO 객체가 수행합니다. 다만 스프링 데이터JPA에서 DAO의 개념은 리포지토리가 대체하고 있습니다. 규모가 작은 서비스에서는 DAO를 별도로 설계하지 않고 바로 서비스 레이어에서 데이터베이스에 접근해서 구현하기도 하지만, 이번 장에서는 DAO를 서비스 레이어와 리포지토리의 중간 계층을 구성하는 역할로 사용할 예정입니다. 이 포스팅에서는 간단한 데이터베이스 호출만 다루고 있기 때문에 큰 의미는 없지만 실제로 업무에 필요한 비즈니스 로직을 개발하다 보면 데이터를 다루는 중간계층을 두는것이 유지보수측면에서 용이한 경우가 많습니다. 물론..

웹 개발/🍃 SpringBoot

JPA | 리포지토리 인터페이스 설계

리포지토리 인터페이스 설계Spring Data JPA는 JpaRepository를 기반으로 더욱 쉽게 데이터베이스를 사용할 수 있는 아키텍처를 제공합니다. 스프링 부트로 JpaRepository를 상속하는 인터페이스를 생성하면 기존의 다양한 메서드를 손쉽게 활용할 수 있습니다. 리포지토리 인터페이스 생성여기서 이야기하는 리포지토리(Repository)는 Spring Data JPA가 제공하는 인터페이스입니다. 엔티티를 데이터베이스의 테이블과 구조를 생성하는 데 사용했다면, 리포지토리는 엔티티가 생성한 데이터베이스에 접근하는 데 사용됩니다. 리포지토리를 생성하기 위해서는 접근하려는 테이블과 매핑되는 엔티티에 대한 인터페이스를 생성하고, 아래 예제와 같이 JpaRepository를 상속받으면 됩니다.publ..

웹 개발/🍃 SpringBoot

@GeneratedValue(strategy = GenerationType.IDENTITY) 전략 제대로 이해하기

엔티티의 기본 키를 자동으로 생성하는 방법 중 하나로 자주 사용되는 GenerationType.IDENTITY 전략에 대해 살펴보겠습니다. 이 전략은 간단하지만, 정확히 이해하지 못하면 예상치 못한 동작이나 성능 문제를 겪을 수 있습니다.IDENTITY 전략이란?@GeneratedValue(strategy = GenerationType.IDENTITY)는 기본 키 생성을 데이터베이스에 위임하는 방식입니다.이는 주로 MySQL, PostgreSQL, SQL Server와 같이 AUTO_INCREMENT 기능을 지원하는 데이터베이스에서 사용됩니다.작동 방식엔티티 매니저는 기본 키 값 생성을 데이터베이스에 맡깁니다.데이터베이스는 INSERT SQL 실행 시 AUTO_INCREMENT를 통해 기본 키 값을 자동..

웹 개발/🍃 SpringBoot

JPA | 엔티티 설계

엔티티 설계Spring Data JPA를 사용하면 데이터베이스에 테이블을 생성하기 위해 직접 쿼리를 작성할 필요가 없습니다. 이 기능을 가능하게 하는 것이 엔티티입니다. JPA에서 엔티티는 데이버테이스의 테이블에 대응하는 클래스입니다. 엔티티는 데이터베이스에 쓰일 테이블과 칼럼을 정의합니다. 엔티티에 어노테이션을 사용하면 테이블 간의 연관관계를 정의할 수 있습니다.  package com.springboot.jpa.data.entity;import javax.persistence.*;import java.time.LocalDateTime;@Entity@Table(name = "product")public class Product { @Id @GeneratedValue(strategy = Gener..

이재원
'웹 개발' 카테고리의 글 목록