전체 글 (106) 썸네일형 리스트형 [DB] Lock, Oracle Lock DataBase는 데이터를 영속적으로 저장하고 있는 시스템입니다. 이런 시스템은 같은 자원(데이터)에 대해서 동시에 접근하는 경우가 생길 수 밖에 없습니다. 이럴 경우 데이터가 오염 될 수 있는데 그렇게 되지 않도록 데이터의 일관성과 무결성을 유지해야할 필요가 있습니다. Lock Lock이란 트랜잭션 처리의 순차성을 보장하기 위한 방법입니다. 트랜잭션이란 DB의 나누어지지 않는 최소한의 처리 단위입니다. 그리고 중요한 것은 DBMS마다 Lock을 구현하는 방식과 세부적인 방법이 다릅니다. 따라서 DBMS를 효과적으로 이용하기 위해서는 해당 DB의 Lock에 대한 이해가 요구됩니다. Lock의 종류 Lock의 종류로는 공유(Shared) Lock과 베타(Exclusive) Lock이 있습니다. 공유락은 다.. [DB] 트랜잭션 격리 수준(isolation level), Transaction(Spring Transactional, Propagation) 1. Transaction(트랜잭션)에 대한 이해 트랜잭션(Transaction)의 필요성 만약 데이터베이스의 데이터를 수정하는 도중에 예외가 발생된다면 어떻게 해야 할까? DB의 데이터들은 수정이 되기 전의 상태로 다시 되돌아가져야 하고, 다시 수정 작업이 진행되어야 할 것이다. 여러 작업을 진행하다가 문제가 생겼을 경우 이전 상태로 롤백하기 위해 사용되는 것이 트랜잭션(Transaction) 이다. 트랜잭션은 더 이상 쪼갤 수 없는 최소 작업 단위를 의미한다. 그래서 트랜잭션은 commit으로 성공하거나 rollback으로 실패 이후 취소되어야 한다. 하지만 모든 트랜잭션이 동일한 것은 아니고 속성에 따라 동작 방식을 다르게 해 줄 수 있다. 예를 들어 1개의 새로운 데이터를 추가하는 와중에 에러가 .. [NETWORK] EJB EJB는 "Enterprise JavaBeans"의 약어로, 서버 측 Java 애플리케이션 개발을 위한 스펙이며, 분산 시스템 환경에서 업무 로직을 처리하기 위한 컴포넌트 모델입니다. EJB는 Java EE(Java Platform, Enterprise Edition) 스펙의 일부로, Java EE 컨테이너 내에서 실행되며, 일반적으로 데이터베이스 연동, 트랜잭션 관리, 보안 등의 기능을 제공합니다. EJB는 Java RMI(Remote Method Invocation) 기술을 사용하여 다른 Java 애플리케이션에서 EJB를 호출할 수 있습니다. EJB는 세 가지 유형이 있습니다. 첫째는 세션(Session) EJB로, 클라이언트와 상호작용하는 비즈니스 로직을 처리합니다. 둘째는 엔티티(Entity) E.. [SPRING] AOP Spring AOP AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 모듈화 하겠다는 것이다. 예를 들어 핵심적인 관점은 비즈니스 로직이 될 수 있고, 부가적인 관점은 핵심 로직을 실행하기 위해 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등이 될 수 있다. AOP는 흩어진 관심사(Crosscutting Concerns)를 모듈화 할 수 있는 프로그래밍 기법이다 이때 예를 들어 클래스 A의 주황색 블록 부분을 수정해야 한다면 클래스 B, C의 주황색 부분도 일일이 찾아 수정해야 한다. 이런 식으로 소스 코드상에서 계속 반복해서 사용되는 부.. [SPRING] BEAN 1. BEAN : Spring에서 POJO(plain, old java object)를 ‘Beans’라고 부른다.Beans는 애플리케이션의 핵심을 이루는 객체이며, Spring IoC(Inversion of Control) 컨테이너에 의해 인스턴스화, 관리, 생성된다.Beans는 우리가 컨테이너에 공급하는 설정 메타 데이터(XML 파일)에 의해 생성된다.컨테이너는 이 메타 데이터를 통해 Bean의 생성, Bean Life Cycle, Bean Dependency(종속성) 등을 알 수 있다.애플리케이션의 객체가 지정되면, 해당 객체는 getBean() 메서드를 통해 가져올 수 있다. 2. Spring Bean 정의 주요 속성class(필수): 정규화된 자바 클래스 이름id: bean의 고유 식별자scope.. [JS] Async, Await, Fetch, PromiseAll async와 await async와 await라는 특별한 문법을 사용하면 프라미스를 좀 더 편하게 사용할 수 있습니다. async 함수 async 키워드부터 알아봅시다. async는 function 앞에 위치합니다. async function fetchData(url) { try { const response = await fetch(url); // API 요청 보내기 const data = await response.json(); // JSON 데이터 파싱하기 return data; // 데이터 반환 } catch (error) { console.log('Error:', error); } } // fetchData 함수 호출하기 fetchData('https://jsonplaceholder.typico.. [Spring] 주석2 (Annotation) @Resource, @Autowired, @Inject, @Qulifier, @Configuration, @PropertySource @Resource, @Autowired, @Inject, @Qulifier @Resource@Inject@Autowired의존JavaJavaxSpring사용 가능 위치- 필드- 파라미터가 한 개인 setter- 필드- 생성자- setter- 필드- 생성자- setterBean 검색우선순위이름 -> 타입타입 -> 이름타입 -> 이름Bean 강제 지정@Resource(name="ID")@Inject@Named("ID")@Autowired@Qualifier("ID")Bean 없을 경우예외 발생예외 발생@Autowired(required=false) 처리하면 예외 발생 방지.. [Spring] MessageSource 다국어 MessageSource는 Spring에서 국제화(i18n)를 지원하기 위한 인터페이스로, 애플리케이션에서 다국어 메시지를 쉽게 관리할 수 있도록 도와줍니다. 보통 messages.properties 같은 파일을 사용하여 여러 언어에 대한 메시지를 정의하고, 필요할 때 해당 메시지를 가져올 수 있습니다. 1. MessageSource 설정 Spring Boot에서는 기본적으로 messages.properties 파일을 읽습니다.다국어 지원을 위해 messages_ko.properties, messages_en.properties 등을 추가할 수 있습니다. #pathspring.messages.basename=i18n/messagesspring.messages.encoding=UTF-8 src/main/.. 이전 1 ··· 5 6 7 8 9 10 11 ··· 14 다음