반응형

전체 글 99

Persistence Context - LifeCycle

첫번째 그림에 대한 설명웹 애플리케이션에서 EntityManager를 효율적으로 관리하고, 데이터베이스와의 연결을 관리하기 위해 EntityManagerFactory를 하나 생성한다.그리고 EntityManagerFactory에서 각 요청에 대해서 하나씩 EntityManager를 생성한다.그림에서 보면 EntityManager1은 데이터베이스 커넥션을 사용하지 않기 떄문에 커넥션을 얻지 않은 상태이다.그와 반면 EntityManager2는 커넥션을 사용중이고, 보통은 트랜잭션을 시작할 때 커넥션을 획득한다.EntityManager란?JPA(Java Persistence API)의 핵심 인터페이스 중 하나로, 애플리케이션에서 데이터베이스와의 상호작용을 관리하는 역할.이를 통해 엔티티(Entity)를 데이..

JPA 2024.10.24

JPA

JPA를 사용하는 이유초창기에는 JDBC API를 직접 데이터베이스에 연동하였음.이후 iBatis(현재 MyBaits), JdbcTemplate 등인 SQL Mapper 기술을 활용하여 사용코드를 확연히 줄일 수 있었음.그러나, 여전히 CRUD를 위한 SQL을 반복해서 작성해야 하는 과정은 여전히 존재하며, 비생산적 구조로 남아있음.이를 개선하기 위해 고민하고 테이블 이름을 입력하면 CRUD SQL을 자동으로 생성해주는 도구에 객체 모델링 기능을 합친 것이 바로 JPA.객체와 관계형 데이터베이스 간의 차이를 중간에서 해결해주는 ORM(Object Relational Mapping) ==> JPA(자바의 ORM 기술 표준)반복적인 CRUD SQL 알아서 처리한다.객체 모델링과 관계형 데이터베이스 사이의 차..

JPA 2024.10.24

네이버 클라우드 서비스

네이버 클라우드 플랫폼 소개네이버 서비스를 운영하면서 축적된 기술로 2012년 자체적으로 구축2017년 퍼블릭 클라우드 상품 출시, 매년 새로운 서비스 개발 및 업데이트현재 200여개가 넘는 다양한 서비스와 데이터 '각'이라는 자체 데이터 센터를 가지고 있음VPC(Virtual Private Cloud)논리적으로 격리된 네트워크를 제공하며, 다른 사용자의 네트워크와 간섭 없이 클라우드 상에서 안전하고 투명한 IT 인프라 환경을 구현할 수 있다.고객 계정마다 최대 3개를 생성할 수 있으며, 서브넷, IP 주소 범위, 네트워크 게이트웨이, 라우팅 테이블 등을 사용하여 완벽하게 제어할 수 있다.서브넷을 이용 네트워크의 용도별 세분화, 맞춤형 네트워크 환경을 구성Access Control Group(ACG)과 ..

Network 2024.10.21

WMS(창고 관리 시스템) 프로젝트

신세계 I&C JAVA 기반 벡엔드 개발자 양성 과정 프로젝트 WMS(창고 관리 시스템)란?제품이 입고되어 적재되는 것.재고가 선택되어 출하되는 과저에서 실시간으로 재고 수준과 위치를 추적하여 창고 공간을 최대한 활용하도록 관리 및 자동화하는 시스템📽️프로젝트 소개📽️Effitopia는 B2B 창고 관리 시스템(WMS) 개발 프로젝트 입니다. 창고 내 재고를 효율적으로 관리하고, 입고부터 배송까지 신뢰성 있는 물류 운영을 지원하는 WMS(창고 관리 시스템)의 이상향을 실현하는 것을 목표로 하였습니다.This is our page : 팀명 'TOP'는 'This is Our Page'의 약자입니다. 직역하면 '우리의 페이지'라는 의미로 이 이름에는 프로젝트를 통해 겪게 될 수 많은 우여곡절과 기쁨을 추..

프로젝트 2024.10.19

Vue Composition API

지금까지 포스팅 한 것을 보면 기본 문법의 대부분 Vue2에서 사용하는 옵션스 API 방법이다.하지만, 요구하는 기능이 복잡해지고 다양한 로직을 유연하고 조직적으로 구성하고 관리하기 위한 방법으로 Vue3에서는 컴포지션 API를 제공한다.함수 기반 접근 방식 제공하여 개발자가 기능별로 코드를 구성할 수 있게 지원한다.옵션스API : data, computed, methods, lifecycle hook 포함한 객체 기반 옵션 속성으로 구성된 API구분옵션스API컴포지션API장점직관적쉽게 배울수 있음소규모 애플리케이션에 적합함함수 친화적기능별로 코드를 작성하기 쉬움로직의 재사용성이 좋음대규모 애플리케이션에 적합함단점컴포넌트가 복잡해질수록 관련 로직이 분산되어 코드의 재사용성과 가독성이 떨어짐옵션스API에 ..

Front 2024.10.18

컴포넌트 슬롯(Slot)

컴포넌트 슬롯컴포넌트(vue)를 재사용할 수 있는 구성 요소로 생성해주는 도구템플릿 조각을 자식 컴포넌트에 전달하고 자식 컴포넌트가 자체 템플릿 내에서 전달받은 템플릿 조각을 렌더링 할 수 있게 해준다.슬롯을 사용하기 전 App.vuescript>import CustomButton from './components/CustomButton.vue';export default{ components : { CustomButton, }}script>template> CustomButton>CustomButton>template>style scoped> style> 슬롯을 사용하기 전 CustomButton.vuetemplate> button class="btn">Clickbutton>template>style ..

Front 2024.10.17

컴포넌트의 데이터 참조방법 - ref

컴포넌트의 데이터 참조방법(ref)부모컴포넌트와 자식컴포넌트는 서로의 컴포넌트에서 정의된 data, computed, methods 옵션 속성에 접근할 수 있다.ref 속성으로 컴포넌트의 참조를 생성하여 접근한다.App.vuescript>import RefChild from './components/refChild.vue'; export default{ components : { RefChild, }, data(){ return{ parentNum : 10, } }, computed : { numOddEven(){ return this.parentNum % 2 === 0 ? '짝수' : '홀수'; }, }, methods :{ getParentNum(){ return this.parentNum; } },..

Front 2024.10.17

Vue 컴포넌트의 데이터 효율적으로 다루기

"App 컴포넌트의 데이터 전달"의 문제점불필요한 컴포넌트도 데이터를 전달받아야함.컴포넌트 트리 구조가 깊게 연결되어 있을수록 데이터 전달이 매우 번거로움.provide컴포넌트에서 정의 데이터를 자신과 컴포넌트 트리 구조로 연결된 하위 컴포넌트에 공유하는 기능.injectprovide 기능으로 공유한 데이터를 가져올 때 사용하는 기능.default 속성으로 기본값을 따로 지정할 수도 있음.컴포넌트 구분 없이 모든 컴포넌트에 데이터를 공유하고 싶으면 App-Level provide 기능을 사용해야 한다.main.js 파일에서 provide 기능을 사용한다는 의미임.(모든 컴포넌트에서 provide()함수로 정의한 데이터를 공유함) App.vuescript>import FirstChild from './co..

Front 2024.10.16

Vue component에 속성과 이벤트 정의

컴포넌트에 속성과 이벤트를 뷰에 정의할 수 있는데, 사용자 정의 속성 및 사용자 정의 이벤트를 만들어서 적용할 수 있다. 속성사용자 정의 속성 : 전역 등록하거나 지역 등록한 컴포넌트를 사용할 때 컴포넌트와 함께 속성을 정의. App.vue 코드script>import UserProfile from './components/UserProfile.vue'; export default{ components : { UserProfile, }, data(){ return{ name : 'LJH', company : 'ljh99', age : 26, }; }, }script>template> UserProfile :name="name" :company="company" :age="age"/>template>st..

Front 2024.10.16

Vue 컴포넌트 생명주기 이해하기

라이프 사이클 훅(Life Cycle Hook)Vue.js 프레임 워크에서 컴포넌트는 생성되고 파괴될때까지 여러 단계(생명주기)를 거치면서 특정 기능과 역할을 하는 함수를 호출할 수 있도록 설계되어 있다.그러한 함수를 훅 이라고 한다.컴포넌트에서 호출되는 함수를 라이프 사이클 훅이라고 한다.라이프 사이클 훅 예제 코드script> export default{ beforeCreate(){ console.log('beforeCreate'); }, created(){ console.log('created'); }, beforeMount(){ console.log('beforeMount'); }, mounted(){ console.log('mounted'); }, beforeUpdate(){ console.lo..

Front 2024.10.16
반응형