전체 글 (164) 썸네일형 리스트형 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 개념, Gradle 빌드 사용법 빌드개념 설명빌드(Build) : 소스 코드를 컴파일, 테스트, 패키징 등을 실행하여 컴퓨터가 실행할 수 있는 실행 파일로 만드는 과정컴파일 (Compile) : 프로그래밍 언어로 작성된 소스 코드를 기계어로 변환하여 실행 가능한 파일로 만드는 과정입니다. 예를 들어, Java 코드(.java)를 바이트 코드(.class)로 변환합니다. 페이지들을 한글로 번역하기컴퓨터는 사람이 작성한 고수준 언어(Java, C, Python 등)를 직접 이해하지 못하기때문에 하지 못하기때문에 기계어(또는 중간 언어)로 바꿔 CPU에서 실행할 수 있는 언어로 변경하는 과정패키징 (Packaging) : 컴파일된 파일을 하나의 패키지로 묶어 배포 가능한 형태로 만드는 단계입니다. Java에서는 .jar 파일이나 .war 파.. 빌드 후 서버 배포 로컬배포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 파일의 묶음)을 실행시키기 위해서 .. 제로베이스 팀프로젝트 진행록4 - 리팩토링 & 멘토 피드백 Transactional 사용에 대한 멘토 피드백과 리팩터링 Transaction 사용에 대해서 대용량 환경에서는 deadlock이나 트래픽 수용성이 떨어지기 때문에 최대한 사용을 피하는 것이 좋다고 하셨다. Trasnaction을 사용할때 방지하고자하는 위험한 케이스가 1. 실제로 일어나는 일인가? 2. 막아야하는 일인가? 3. 다른 방법은 없는가 세가지 질문을 먼저 던져보라고 조언해주셨다. (1) Fail-fast를 통한 rollback 상황 최소화 실제로 내 코드에서 Trasnaction을 사용했던 케이스들을 보면 Trasnaction 없이 코드의 구조만 조금 변경하면 데이터 무결성을 보장할 수 있는 구조였다. 기존에는 Entity상태를 변경하고 저장한후에, API 통신이 실패하면 Paymen.. 비동기 프로그래밍 패턴과 처리 방식 동기처리(Synchoronous Programming) 여러작업을 순차적으로 실행하도록 개발하는 방법. 동기 처리는 한 작업이 끝나야 다음 작업을 시작할 수 있는 방식입니다. 순차적인 작업을 위해서 현재 진행중인 작업의 완료를 기다리며 대기하는 구조입니다.비동기처리(ASynchoronous Programming) 여러 작업을 동시에 실행하는 프로그래밍 방법론. 비동기 처리는 한 작업이 끝나기를 기다리지 않고, 다른 작업을 수행할 수 있는 방식입니다. 비동기처리방식은 두가지 종류가 존재하며 멀티스레드 방식과 Non-Blocking I/O 방식이 있다. 멀티스레드 방식은 작업의 세트를 여러 스레드별로 나누어 가지어 동시에 실행하는 방식. 논블럭킹 방식은 하나의 스레드가 여러가지 작업을 담당하는데, I/.. Docker 개념 및 커맨드 가상화(Virtualization) vs. 컨테이너(Containerization)가상화: 하나의 물리 시스템(호스트)에서 하드웨어 자원을 소프트웨어적으로 나누어 여러 개의 독립된 컴퓨팅 환경(가상 머신, VM)을 생성하는 기술. 하이퍼바이저라는 소프트웨어가 지원. 각 가상머신은 독립적인 컴퓨팅 환경으로 독립적인 OS를 갖고 어플리케이션 실행가능.독립된 환경 : 자원, OS, 커널, 파일 시스템 등 모든 것이 완전하게 분리됨.컨테이너 : 애플리케이션과 그 실행에 필요한 필요한 모든 실행 환경(코드, 라이브러리, 시스템 도구 등)을 패키징하여 실행하는 경량화된 가상화 기술. 주로 리눅스 컨테이너 기술(Linux Containers, LXC) 기반. 각 컨테이너는 독립적인 OS가 아니라 OS 커널을 공유하면.. 제로베이스 팀프로젝트 진행록3 - 협업하여 개발하기 팀프로젝트로 배운 협업코딩여태까지는 혼자서 개발을 해왔기 때문에 문서를 특별히 작성할 필요도 없었고, 다른 사람의 코드를 볼 필요도 없었고, 보여줄 필요도 없었다. 그렇기에 내게 Git은 단지 저장수단이었으며 PR과 Branch는 왜 사용하는지 몰랐고 제대로 테스트코드도 작성하지 않았다. 이 모든 것이 Code Review와 Merge라는 팀 협업행위가 도입되는 순간 큰 혼란을 야기하였고 이 기회를 통해서 협업의 툴과 방법론에 대해 제대로 숙지하고자 아래와 같이 깨달은점을 정리한다. 협업을 위한 개발원칙1. 태도 : 남들을 보여주기위한 코드와 문서, 협업툴 사용하기2. Git 사용법 아주 상세하게 숙지하기3. Continuous Integration 시행하기3.1 PR은 의미있는 기능, 최소 단위로 자.. MSA도입을 위한 Spring Cloud Spring Cloud Gateway 설정은 마이크로서비스 아키텍처에서 여러 개의 독립된 서비스로 나누어진 애플리케이션에 대한 요청을 중앙에서 관리하고, 라우팅과 필터링을 수행하기 위한 구성입니다. 이를 통해 사용자는 여러 서비스에 개별적으로 접근하지 않고, 하나의 진입점(Gateway)을 통해 서비스에 접근할 수 있게 됩니다. 1. 프로젝트 환경 설정Spring Boot 프로젝트 생성: Spring Initializr 또는 IDE를 통해 Spring Boot 프로젝트를 생성하고, Spring Cloud Gateway와 Security에 필요한 의존성을 추가합니다.의존성 추가:Spring Cloud Gateway: 라우팅과 필터링을 제공.Spring Security: 보안 기능을 제공하여 인증과 인가.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 21 다음