전체 글 375

[JAVA] boxed()_Stream

>boxed( ) Stream의 중간 연산에 사용되는 메소드이다. 기본 자료형을 Wrapper 클래스 형으로 만들때 우리는 박싱(boxing)이라고 한다. boxed()메서드도 마찬가지이다. 기본 자료형을 요소로하는 IntStream 따위를 Wrapper 클래스 형을 요소로 하는 Stream로 전환하는 것이다. Array to List 혹은 List to Array로 변환하는 방법에 Stream을 사용한다면 많이 접할 것이다. Collection에는 기본 자료형을 담지 못하고 Wrapper 클래스로 변환하여 담을 수 있기 때문이다. 참고 링크 https://okky.kr/articles/1004937

Memo/짧은 메모 2022.10.19

[JAVA] indexOf, contains의 시간복잡도 문제(미해결)

궁금증 : 알고리즘 문제를 풀다보면 주어진 조건이 시간 복잡도를 제한한다는 것을 암시하는 경우가 있다. : 때문에 이중 반복문으로 문제를 풀어야하지만 이중 반복문을 못 쓸 때가 있다. : 그런데 이런 경우에 indexOf() 메서드나 contains() 메서드를 문제가 해결된다. : indexOf(), contains() 모두 다 메서드 내부적으로 순회를 해야하는 것이라고 생각했고 내가 아는 한에서는 시간 복잡도 또한 O(n)이라고 알고 있다. : 그런데 왜 해결되는 것일까?? List.indexOf( ) : 인자로 주어진 값이 List에 존재하면 해당 인덱스를, 존재하지 않으면 -1을 반환하는 메서드 : indexOf 메서드를 조건식의 조건으로 쓰는 경우, IDE는 보통 contains( ) 메서드를 ..

Memo/짧은 메모 2022.10.19

39.02_[Spring] AOP_22.10.18

>AOP 흩어진 관심사를 모아서 따로 처리하는 것이 AOP이다. 여기서 관심사는 Crosscutting Concerns을 의미한다. Crosscutting Concerns이란 객체(클래스)에서 핵심 로직이 아닌 부가적인 기능을 담당하는 부분을 말한다. 부가적인 기능을 담당하기 때문에 한 객체에만 있지 않고 해당 기능이 필요한 다른 객체에도 똑같이 존재할 수 있다. 즉, AOP란 객체들에 존재하는 Crosscutting Concerns들을 종류별로 모아서 처리하는 것이라고 할 수 있다. >Aspect 같은 Crosscutting Concerns을 하나로 모아놓은 것을 Aspect라고 한다. 그리고 모아놓았다는 것은 모듈화를 했다는 의미와 같다. >Target Aspect를 적용할 객체(클래스)를 의미한다...

39.01_[Spring] IoC, DI_22.10.18

>IoC, Inversion of Control 제어의 역전을 의미하는 용어이다. 클래스 간 의존 관계를 형성하기 위한 방법으로는 클래스 내부에서 new 키워드로 다른 클래스의 객체를 생성하는 것이 있을 것이다. 하지만 이는 단점이 많은 방법이고 불편하다. 이를 편리하게 하며 단점을 극복하기 위해 Framework가 의존 관계를 형성하게 만드는 방법을 IoC(제어 역전)라고 한다. >Spring IoC Container Spring IoC Container는 Spring Framework에서 IoC 기능을 담당한다. Container라고 불리우는 이유는 내부에 다른 객체를 만들어 놓고 이를 관리하기 때문인데, 이 객체들을 Bean이라고 하며, Spring Framework내에서는 Bean을 Spring ..

22.10.15 카카오 정지 사태

>사건 일시: 2022년 10월 15일 15시 30분경 문제: 카카오톡 및 카카오 관련 서비스 먹통 원인: 카카오톡 데이터센터 화재(SK주식회사 C&C 판교 화재) >세부사항 -발화지점: 지하 3층 UPS 3E-1 랙 주변 UPS란? UPS란 무정전 전원 장치이며, 쉽게는 배터리로 볼 수 있다. 조금 자세히는 서버 셧다운을 방지하기 위한 장치이다. 서버 장치에 전력을 직접적으로 공급할 경우, 갑자기 전력이 끊기는 순간 서버 장치(하드웨어)는 심각한 손상을 입을 수 있다. 이런 경우를 대비해서 UPS를 사용한다. UPS는 직접적으로 전력을 공급받고 받은 전력을 서버 장치에 전달해주며, 만약 갑자기 전력이 끊겼다면 서버 장치에 신호를 전달하고 서버가 안전하게 셧다운할 수 있는 시간을 벌어주는 기능을 한다. ..

IT 2022.10.17

38~39_[Spring Core] AOP 키워드_22.10.17~22.10.18

AOP (Aspect Oriented Programming) >개요 -Aspects : Advice + PointCut = Aspect : Advice, 부가 기능을 정의한 코드 : PointCut, 어드바이스를 어디에 적용할 지 결정하는 부분 -Core Concerns (핵심 기능) : 업무 로직을 포함하는 기능 : 객체의 고유한 기능 -CROSS-CUTTING CONCERNS (부가적인 기능) : 로깅, 보안, 트랜젝션 등 : 횡단 관심사라고도 함. : 단독으로 사용되지 않고 핵심 기능과 함께 사용됨. >Spring MVC -@Controller -@Service -@Repository >AOP -등장 배경 : Core Concerns과 CROSS-CUTTING CONCERNS을 분리, 즉 관심사 분..

36~37_[Spring Core] DI 키워드_22.10.13~22.10.14

>DI(Dependency Injection) -생성자 -IoC >Spring Container -Bean -Bean의 생명 주기 -BeanFactory -ApplicantionContext >Bean -@Bean -getBean(); -BeanDefinition -MetaData : XML or Java >Bean Scope -Singleton >Java 기반 Container 설정 -@Configuration -@Bean -@Component -@Autowired -JSR-330 메타 데이터(주석) -@Import >ComponentScan -basePackages : @ComponentScan(basePackages= " ") -@SpringBootApplication -ComponentScan 기..