일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Dependency Injection
- PSA
- 노드
- 노션 Formula
- database error
- syncronized
- 스프링 빈
- 프레임워크
- jetbrains
- aop
- Proxy 패턴
- IoC 컨테이너
- Do It 정직하게 코딩하며 배우는 딥러닝 입문
- 딥러닝
- 스프링 프레임워크
- 기계학습
- express
- 의존성주입
- timezone error
- 노션
- 비지도학습
- 백기선 강좌
- krpano
- 지도학습
- 강화학습
- 스프링
- @Autowired
- 스프링부트 에러
- express-generator
- 강좌 정리
- Today
- Total
목록개발 & 공부 (16)
hyungmuk's blog
차이점 설명 Thread synchronization은 여러 스레드가 공유된 리소스에 동시에 접근하는 것을 조절하기 위해 사용됩니다. synchronized 블록 방식과 synchronized 메소드 방식은 둘 다 스레드 동기화를 달성하는 데 사용되지만, 구현 방식에 약간의 차이가 있습니다. synchronized 블록 방식: synchronized 키워드를 사용하여 특정 블록을 동기화합니다. 특정 블록 내에서만 스레드 동기화가 보장됩니다. 다른 스레드는 해당 블록이 잠길 때까지 대기해야 합니다. 여러 개의 synchronized 블록을 사용하여 다중 리소스에 대한 동기화를 구현할 수 있습니다. synchronized (lockObject) { // 동기화가 필요한 코드 } synchronized 메소드..

이클립스에서 preferences에 들어가면 Java -> Editor -> Content Assist 메뉴가 있다. Content Assist 에서 자바 자동완성 설정을 해줄 수 있다. 항목 중에 Auto activation triggers for Java가 있는데 기본값으로 . 이 입력되어져 있다. 이것은 . 을 입력 해야 그순간 부터 자동완성을 보여준다. 그런데 인텔리제이에서는 모든 문자열에 자동완성이 반응한다. 이클립스에서도 이렇게 해주고 싶다면 Auto activation triggers for Java 값을 .abcdefghizklmnopqrstuvwxyz 로 바꿔주면 된다.
오늘 javascript를 공부하려고 하는 직장 동료 한분이 나에게 이런 질문을 했다. 'DOM이 뭐예요?' 순간 어떻게 설명을 해야할지 막혀서, 잘 대답해 드리지 못한 것 같아서 내가 알고 있는 DOM에 대해서 이렇게 글로 정리를 해 보았다. DOM은 Document Object Model을 말한다. 즉, 문서(HTML)를 객체로 모형화 한 것이다. 이렇게 말하니 더 어렵고 헷갈리게 느껴질수도 있을 것같은데 아래 HTML 구조와 DOM구조를 보라. HTML 구조 DOM 구조 DOM은 위와 같이 Javascript의 Object형식으로 표현되어진다. HTML과 DOM은 위와 같이 다른 모습을 하고 있지만, 서로 같은 정보를 지니고 있다. 그리고 이 둘은 서로 상호작용한다. MDN문서를 보면 DOM에 대해..
1일차 DBMS(Database Management System)란? 파일시스템의 문제점을 개선하기 위하여 등장 데이베이스를 관리하며, 다른 응용프로그램이 데이터베이스를 공유하며 사용 할 수 있는 환경 파일시스템의 문제점 데이터 중복이 생김 복구 미흡 보안/공유 미흡 파일이 프로그램에 종속됨 파일시스템의 문제점을 해결한 DBMS 데이터 중복을 방지 백업/복구 개선 보안/공유 개선 SQL 표준 사용으로 프로그램에 종속 되지 않음 데이터베이스(Database) 여러사람에 의해 공유될 목적으로 저장된 데이터의 집합 트랜젝션(Transaction) 여러 단계의 과정을 하나의 작업 행위로 묶는 단위 ex) 계좌이체는 출금과 입금이 하나의 작업으로 이루어져야 한다. 트랜젝션의 4가지 특성 (ACID) 원자성(Ato..
PSA (Portable Service Abstraction) 스프링 트라이앵글 중에 한 구성요소. 환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하려는 추상화 구조 서비스 추상화 서블릿을 로우 레벨로 직접 사용하지 않아도 된다. (HttpServlet을 직접 사용하지 않아도 됨) 매핑을 간편하게 할수 있다. 코드를 거의 변경하지 않고 완전히 다른 기술 스택으로 실행할 수 있다. (ex. Spring 5 WebFlux) 편의성을 제공해 주기 위해 서비스 추상화를 한다. PSA의 예 @Controller | @RequestMapping | ... Servlet | Reactive 톰캣, 티, 네티, 언도토우 @Transactional JpaTransactionManager | Datasou..
5. AOP 애노테이션 애노테이션을 이용한 AOP를 구현하는 예제이다. 만든 것 @LogExecutionTime 애노테이션 메서드에 @LogExecutionTime 가 붙어있으면 해당 메서드의 기능을 측정 소스코드 OwnerController.java @GetMapping("/owners/find") @LogExecutionTime public String initFindForm(Map model) { model.put("owner", new Owner()); return "owners/findOwners"; } 먼저 컨트롤러에 있는 메서드에 @LogExecutionTime를 붙였다. @LogExecutionTime에 커서를 두고 인텔리제이 에서 Alt + Enter 를 사용하여 LogExecutionT..
application.properties 파일을 src/main/resources 폴더 아래에 만들고 내용을 다음과 같이 작성한다. server.port = 8084
IoC, AOP, PSA를 스프링 트라이앵글이라고 한다. 그중에 IoC는 저번 시간에 했고, 이번 시간에는 AOP에 대해서 알아본다. AOP의 사전적 의미 Aspect Oriented Programing : 관점 지향적인 프로그래밍 AOP를 구현하는 방법은 3가지가 있다. 컴파일을 이용하는 방법 A.java가 A.class로 컴파일 될 때 AspectJ를 이용하여 AOP를 구현한다. 바이트코드를 조작하는 방법: 컴파일된 A.class가 메모리에 올라갈 때 AspectJ를 이용하여 AOP를 구현한다. 프록시 패턴을 이용한 방법 이 방법이 스프링에서 사용되는 AOP 방법이다. 프록시(Proxy)에 대해서는 프록시 패턴을 설명하고 있는 글 https://refactoring.guru/design-pattern..