전체 글
-
[2024_동계_모각코] 6회차(02/14)[CNU] Mogakco 2024. 2. 18. 23:34
6회차 목표 Transactional Java에서의 Annotation Tomcat 6. Transactional Spring Framework에서 제공하는 어노테이션으로, 트랜잭션을 관리하는 데 사용된다. 데이터베이스 용어인 트랜잭션은 데이터베이스 작업을 여러 단계로 나누어 실행할 때, 모든 단계가 성공적으로 완료되면 데이터를 커밋하고, 하나라도 실패하면 이전 상태로 롤백하는 작업 단위를 말한다. @Transactional 어노테이션의 기능) 트랜잭션의 시작과 종료메서드가 실행되면 트랜잭션을 시작하고, 메서드의 모든 작업이 성공적으로 완료되면 트랜잭션을 커밋(commit)하고, 하나라도 실패하면 트랜잭션을 롤백(rollback)한다. 메서드 또는 클래스에 @Transactional 어노테이션을 적용하면..
-
[2024_동계_모각코] 5회차(01/31)[CNU] Mogakco 2024. 2. 18. 23:26
5회차 목표 Interceptor, Servlet Filter DispatcherServlet JPA(ORM) 3. Interceptor, Servlet Filter 둘 다 웹 애플리케이션에서 요청과 응답을 가로채고 처리하는 기능을 제공하는데 사용되지만,각각은 서로 다른 기술과 용도를 가지고 있다. Interceptor(인터셉터): 우선 Interceptor는 Spring MVC에서 사용되는 기능으로, Controller 에서 요청을 가로채고 처리하는 인터페이스이다. Spring의 `핸들러 인터셉터(HandlerInterceptor)` 인터페이스를 구현하여 생성하며, 일반적으로 전역적으로 또는 특정 URL 패턴에 대해 적용된다. 요청 전에 특정 조건을 검사하여 요청을 중단하거나 다른 컨트롤러로 리다이렉트..
-
[2024_동계_모각코] 4회차(01/24)[CNU] Mogakco 2024. 2. 18. 23:18
4회차 목표 equals(), hashcode() IoC와 DI AOP 1. equals(), hashcode() 자바에서 equals()와 hashCode()는 객체 동등성 비교와 해시 기반 컬렉션에 사용되는 두 가지 메서드. equals() 메서드 두 개의 객체가 동등하다고 판단하는 로직을 구현하는데 사용된다.자바에서 모든 클래스는 기본적으로 equals()를 오버라이딩하지 않으면 Object 클래스의 equals() 메서드를 상속받는데, 그 메서드는 객체의 레퍼런스 비교를 수행하기 때문에 두 객체가 메모리에서 같은 위치를 가리키는지를 비교함. 하지만 대부분의 경우에 우리는 객체의 내용을 기반으로 동등성을 판단하고 싶을 때가 많기 때문에 이럴 때는 반드시 오버라이딩 해줘야 한다. 즉, 두 객체의 내용..
-
[2024_동계_모각코] 3회차(01/17)[CNU] Mogakco 2024. 2. 18. 23:08
3회차 목표 Synchronized Java Stream Garbage Collection 1. Synchronized 키워드 멀티스레드 환경에서 공유 데이터에 대한 동기화를 제공하는 방법 중 하나. 멀티스레드 환경에서 여러 스레드가 공유 데이터에 접근할 때, 동시에 데이터를 수정하면 예기치 않은 결과가 발생할 수 있음. 이런 문제를 해결하기 위해 스레드 간의 동기화가 필요하며, 이를 위해 synchronized 키워드를 사용한다. synchronized 키워드를 사용하면 두 가지 주요 목적을 달성할 수 있음. 메소드 동기화: 메소드 선언부에 synchronized 키워드를 추가하여 해당 메소드의 모든 코드 블록에 대한 동기화를 제공. 이렇게 하면 여러 스레드가 해당 메소드를 호출할 때 동시에 접근하지 ..
-
[2024_동계_모각코] 2회차(01/12)[CNU] Mogakco 2024. 2. 18. 22:57
2회차 목표 Reflection Static class와 Static method 비교 Java Exception 1. Reflection 리플렉션 프로그램 실행 중에 클래스의 구조를 분석하고, 클래스의 멤버 변수, 메서드, 생성자 등을 동적으로 조사, 검색하고 호출할 수 있는 기능 쉽게 말하면, 리플렉션은 프로그램이 자기 자신을 조사하고 수정하는 능력을 제공하는 기술이다. 이런 기능을 어디에 주로 사용하나? 동적 클래스 로딩: 실행 중에 동적으로 클래스를 로딩하여 객체를 생성할 수 있기 때문에, 런타임에 어떤 것을 사용할지 결정되는 클래스나 패키지를 사용할 수 있게 해준다. 객체의 메타데이터 접근: 클래스의 이름, 필드, 메서드, 상위 클래스, 인터페이스 등과 같은 메타데이터에 접근하여 클래스에 대한 ..
-
[2024_동계_모각코] 1회차(01/03)[CNU] Mogakco 2024. 1. 3. 23:01
1회차 목표 JVM Final 키워드의 쓰임과 이점 Interface VS Abstract class 1. JVM JRE (Java Runtime Environment) 의 핵심 구성 요소 Java bytecode 가 다른 플랫폼에서 실행되는 것을 가능하게 해준다. Java application ↔ 사용 중인 현재 OS, 하드웨어 사이에서 abstraction layer 역할을 한다. 이러한 abstraction layer 로써의 역할이 자바 언어가 플랫폼 독립적(JVM과 함께라면 어떤 시스템에서도 실행될 수 있는) 인 성격을 가지게 하는 것임. JVM의 내부 동작 과정과 특징 Java 프로그램이 실행될 때, JVM 은 컴파일에 필요한 클래스 파일들(ex.bootstrap class loader, ex..
-
[2024_동계_모각코] 목표 및 활동계획[CNU] Mogakco 2023. 12. 26. 08:25
목표 - Java 개념 및 응용 - Spring 기초 학습 활동 계획 1회차 JVM Final 키워드의 쓰임과 이점 Interface VS Abstract class 2회차 Reflection Static class와 Static method 비교 Java Exception 3회차 Synchronized Java Stream Garbage Collection 4회차 equals(), hashcode() IoC와 DI AOP 5회차 Interceptor, Servlet Filter DispatcherServlet JPA(ORM) 6회차 Transactional Java에서의 Annotation Tomcat
-
[2022_하계_모각코] 6회차(08/15)[CNU] Mogakco 2022. 8. 19. 09:52
6회 차 목표 차원축소 3. LDA(Linear Discriminant Analysis) LDA 개요 LDA는 선형 판별 분석법으로 불리며, PCA와 매우 유사하다. LDA는 PCA와 유사하게 입력 데이터 세트를 저차원 공간에 투영해 차원을 축소하는 기법이지만 중요한 차이는 LDA는 지도학습의 분류에서 사용하기 쉽도록 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소한다. PCA는 입력 데이터의 변동성의 가장 큰 축을 찾았지만, LDA는 입력 데이터의 결정 값 클래스를 최대한으로 분리할 수 있는 축을 찾는다. LDA는 특정 공간상에서 클래스 분리를 최대화하는 축을 찾기 위해 클래스간 분산과 클래스 내부 분산의 비율을 최대화하는 방식으로 차원을 축소한다. 즉, 클래스 간 분산은 최대한 크..