분류 전체보기

· CS
트랜잭션 트랜잭션이란 데이터베이스 상태를 변경하는 일련의 작업을 하나의 논리적 단위로 묶은 것입니다. 이때, 데이터 베이스에 접근하는 방법은 쿼리이므로, 즉 여러개의 쿼리들을 하나로 묶는 단위를 말합니다. Spring에서는 @Transactional 에너테이션을 붙여 여러 쿼리 관련된 코드들을 하나의 트랜잭션으로 처리해줍니다. ACID 트랜잭션의 속성을 설명하는 네 가지 원칙. 원자성(Atomicity) : “all or nothing”. 모든 작업이 완전히 수행되거나, 아무것도 수행되지 않아야합니다. 작업 중 하나라도 실패하면 모든 작업은 롤백됩니다. 일관성 (Consistency) : 트랜잭션이 실행 전과 후에 데이터베이스는 일관된 상태를 유지해야 합니다. 트랜잭션 전후의 데이터는 사전에 허용된 방식..
What I learned 1. 자바 복습 (~다형성까지) - 김영한 강의로 개념 복습 2. 스프링 입문 2-1) PostMan - Rset API 표현가능. - url을 바로 확인하기에 편리함. 2-2) Mysql 2-3) MVC? - Model / View / Controller 로 나누어 프로그래밍하는 방법 2-4) 스프링에 대해 3. 테스트 코드 작성? 3-1) given / when / then 단계를 만족하도록 테스트를 작성하자. - given : ~한 상황이 주어졌을 때 (이 데이터를 기반으로) - when : ~를 실행했을 때 (검증할 것을 실행) - then : ~해야 한다. (검증한 결과가 ~가 나와야함) 3-2) AssertJ - 보통 then 단계에서 사용되는 자바 라이브러리. 에러..
D-88 fact - 할당량을 못채웠다. 내일부터 주특기주차 시작이라 Spring 할텐데, 자바를 목표한 곳 까지 공부를 못했다. 너무많다.. 큰일났다? - 내일 조가 바뀐다. 너무 금방금방 바뀌는 것 같다. 기술매니저님도 또 바뀌겠지? 흠.. feeling - 조바심, 할게 너무많은데, 시간도 없고, 집중도 안되고 총체적 난국~ findings - 의존성이란? => 객체의 세계에서 협력은 필수적이며, 객체가 협력한다는 것은 객체 간의 의존성이 존재한다는 것이다. 여기서 의존성이란 파라미터나 리턴값 또는 지역변수 등으로 다른 객체를 참조하는 것을 의미한다. - 의존성의 전이, 의존성이 위험한 이유??? => 의존성은 객체 간의 협력을 위해 필수적이다. 하지만 의존성은 위험하므로 의존성은 최소화되어야 한..
기술매니저님께서 solid 5원칙를 준수하는 코딩을 해보라고 과제를 내주셨다. 과제는 7조 인원들끼리 각자 만들어보고 서로 코드리뷰를 하는 방식으로 진행됐다. 사용자에게 입력을 받아 간단한 계산을 하는 계산기 기능을 만들었는데, 계산은 첫번째 숫자입력, 연산기호, 두번째 숫자입력 순으로 받아 연산해주는 간단한 기능을 구현하였다. 사실 간단하게 만드려면 간단하게 만들 수 있는 쉬운 예제지만 코드 리팩토링 경험과 solid 5원칙을 지키는지 스스로 검토해보는 경험을 시켜주시려고 내주신 과제같다. 우선 solid 5원칙의 단일책임원칙에 의해 클래스의 기능들을 최대한 나눠주었다. 일단 계산기가 실행되면 입력을 받아야하므로 사용자에게 입력받는 클래스를 따로 만들어주었다. import java.util.Scanne..
· Backend/Java
Java에서의 SOLID 원칙은 객체 지향 프로그래밍의 다섯 가지 설계 원칙을 의미합니다. 이 원칙은 소프트웨어 설계의 유연성, 유지보수성, 확장성을 높이기 위해 사용됩니다. 1. 단일 책임 원칙 (Single Responsibility Principle - SRP): - 한 클래스는 단 하나의 책임만 가져야 합니다. - 상황 예시: 예를 들어, 게시글 관리 클래스가 게시글 작성, 읽기, 수정, 삭제 등의 여러 기능을 수행하는 대신, 각각의 책임을 분리하여 게시글 작성, 게시글 읽기, 게시글 수정, 게시글 삭제를 각각의 클래스로 나눌 수 있습니다. 각 SOLID 원칙에 대한 상황 예시와 코드를 함께 설명해드리겠습니다. 아래는 게시글 관리 클래스가 단일 책임 원칙을 지키지 않는 경우를 보여줍니다. // 게..
What I learned 1. 객체지향 프로그래밍이란? - 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식. 즉, "무엇을" 중심으로 프로그래밍 하는 방식이다. 2. JVM? - JVM이란 가상 머신(Java Virtual Machine)으로, 자바 소스 코드를 컴파일하여 바이트코드(bytecode)로 변환한다. 이 바이트코드는 특정 플랫폼에 종속되지 않고 실행 가능한 중간 형태의 코드이다. JVM은 이 바이트코드를 해당 플랫폼의 기계어로 번역하고 실행함으로써 프로그램으로 실행한다. 중요한 기능 중에 자동으로 메모리를 관리해주는 가비지 컬렉션(Garbage Collection)이 있다. 이는 개발자가 명시적으로 메모리를 해제할 필요 없이 동적으로 할..
chillmyh
'분류 전체보기' 카테고리의 글 목록 (17 Page)