본문 바로가기

전체 글

(161)
Spring JPA Hibernate 트랜잭션 @Transactional (read only) if we need atomicity we use trasnactionaland once we use transactional we do not call save so that hibernate track changes and flush at once. but, if we do not need atomicity, we avoid trasnactional becasue using trsnactional burden db   Hibernate에서는 어떤 일이 벌어지는가? 명시적 vs 암시적 트랜잭션:@Transactional을 사용하면 명시적으로 트랜잭션의 시작과 끝을 정의할 수 있습니다. 이는 Hibernate의 암시적 트랜잭션 관리보다 더 세밀한 제어를 ..
백엔드 개발자 역량관리 방식 (1) : 면접질문 일문일답 정리 [일문일답 정리배경]  어떤 개념에 대해서  함축적으로 설명할 수 있어야 개념에 대한 충분한 이해가 있다고 할 수 있다. 그러한 맥락에서 면접에서 빈출되는 질문을 대상으로 3문장 이내로 답변하는 것을 목표로 한다.   백엔드 개발에서 CS 및 구현에 대해서 빈출되는 면접 질문을 모으고 그에 대해서 답변을 정리해나가는 것을 나의 공부방식으로 채택하겠다.    이를 통해서 나의 개념적 이해 성취도를 가시화하고 시장에서 경쟁력을 유지하고자 한다. [현재 진척상황] [첨부파일의 일부 답변예시] 분류질문답변관련내용정리웹Restful API 설계란?Representational State Transefer로 자원의 '표현에 의한 상태전달'이라는 웹 내에서 리소스 접근방식 설계원칙. 플랫폼 독립적으로 설계되며,  1..
RESTFUL API 설계 REST API의 등장배경 멀티플랫폼의 등장단순히 하나의 브라우저만 지원하면 되었던 이전과는 달리, 최근의 서버 프로그램은 여러 웹 브라우저는 물론이며, 아이폰, 안드로이드 애플리케이션과의 통신에 대응할 수 있어야 합니다. 그전에는?2010년 이전만 해도 Server Side에서 데이터를 전달해주는 Client 프로그램의 대상은 PC 브라우저로 그 대상이 명확했다. 클라이언트의 환경이 비교적 일정했기 때문에, 서버에서 완성된 웹 페이지를 만들어 전송하는 방식이 일반적이었습니다. 그렇다 보니 그냥 JSP ASP PHP 등을 필요한 웹페이지를 구성하고 작업을 진행하면 됐다.즉, 데이터와 프레젠테이션 로직이 서버에서 함께 처리되었습니다. 그래서 범용적이고 유연하고 확장성이 있는 구조가 필요서버는 데이터만을 제..
비동기 Web Flux WebFlux란?Spring WebFlux는 Spring 5에서 도입된 Reactive Programming을 지원하는 비동기, 논블로킹(non-blocking) 웹 프레임워크입니다. 기존의 Spring MVC가 Servlet 기반의 동기적, 블로킹 방식으로 작동하는 것과는 달리, WebFlux는 Reactive Streams API를 기반으로 하여 더 높은 확장성과 비동기 처리를 제공합니다.WebFlux의 주요 특징논블로킹 I/O (Non-blocking I/O) WebFlux는 Netty, Undertow와 같은 비동기 I/O 처리 엔진과 통합되어 동작합니다. 요청과 응답 처리 과정에서 I/O 작업이 블로킹되지 않아 많은 요청을 동시에 처리할 수 있습니다. Spring WebFlux는 비동기 I/O를..
Spring 스케쥴러 Spring SchedulerSpring Scheduler는 Spring Framework의 구성 요소로, 개발자가 특정 간격이나 시간에 작업을 수행할 수 있도록 도와줍니다. Spring Task API의 일부로, 외부 라이브러리에 의존하지 않고도 작업을 스케줄링할 수 있습니다. 백그라운드 작업 실행, 주기적인 데이터 처리, 작업 자동화, 정기적인 유지 보수 작업에 유용하게 사용할 수 있습니다.Spring Scheduler의 주요 기능간단한 설정:주석(annotation) 또는 XML 설정을 통해 스케줄 작업을 구성할 수 있어 간단하게 설정하고 관리할 수 있습니다.Spring Boot와의 통합:Spring Boot에서는 최소한의 설정으로도 사용 가능하며, 많은 설정이 자동으로 구성됩니다.Fixed Del..
Flowchart 작성하기 https://app.diagrams.net/ Flowchart Maker & Online Diagram SoftwareFlowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit dapp.diagrams.net 개발자로서 Flowchart 작성 방법과 대표적인 기호Flowchart(흐름도)는 개발자가 시스템의 로직..
빌드와 Gradle 개념 빌드개념 설명빌드(Build) : 소스 코드를 컴파일, 테스트, 패키징 등을 실행하여 컴퓨터가 실행할 수 있는 실행 파일로 만드는 과정컴파일 (Compile) : 프로그래밍 언어로 작성된 소스 코드를 기계어로 변환하여 실행 가능한 파일로 만드는 과정입니다. 예를 들어, Java 코드(.java)를 바이트 코드(.class)로 변환합니다. 페이지들을 한글로 번역하기패키징 (Packaging) : 컴파일된 파일을 하나의 패키지로 묶어 배포 가능한 형태로 만드는 단계입니다. Java에서는 .jar 파일이나 .war 파일로 패키징할 수 있습니다. 파일들을 책으로 묶기PlainJar :  .class 파일들과 해당 클래스에서 사용하는 리소스(이미지 등)을 포함. 외부라이브러리를 포함하지 않아 주로 다른 프로젝트의..
빌드 파일 서버 배포 로컬배포mavenLocal  배포자체 library를 쓰는 프로젝트에서 local 배포를 진행할때 mavenLocal 저장소에 자체 library 빌드를 진행한다.clean build publishToMavenLocal -x testmavenLocal  배포 저장위치gradle 에서 아래의 두가지 변수에 따라서 배포파일의 위치가 결정된다.group = 'some.platform'version = '1.0.0'~/.m2/repository/{groupId}/{artifactId}/{version}/           전체 빌드와 배포 프로세스개발 단계 : 개발자가 Java 코드를 작성합니다.빌드  : Gradle을 사용하여 전체 빌드 과정을 처리합니다.서버 배포.jar 파일( .class 파일의 묶음)을 ..