목록All (30)
leelee.log
React 이벤트를 처리하기 위해서는 명심해야 하는 사항이 하나 있다. 보통의 Javascript에서는 함수에 return false를 줘서 이벤트가 퍼지는 것을 막는데 리액트에서는 먹히지 않는 방법이다. 꼭 e.preventDefault를 써줘야한다. 그럼 파라메터도 전달하면서 event도 전달을 할 수 있는 방법은? 공식 문서에 다 나와있는데 성격이 급해서 끝까지 다 못 읽고 스텍오버플로우에서 찾았다.... 요런식으로 해주면 된다. https://stackoverflow.com/questions/42597602/react-onclick-pass-event-with-parameter React onClick - pass event with parameter Without Parameter functio..
스프링이 제공해주는 가장 강력한 기능은 IoC, AOP, PSA라고 한다. 앞의 두 개는 들어본적이 있는데 PSA는 정말 처음 들어보는 개념이다. 강의의 마지막으로 PSA를 다루고 있어서 마지막 포스팅으로 PSA를 다루고자 한다. 이 포스팅이 끝나면 기초가 끝나고 아주 약간의 심화 과정인 'Spring 필수개념' 강좌를 들을 예정이다. PSA역시 약자이다. Portable Service Abstraction. Portable, Abstraction만 보고도 어떤 기능을 제공해주는지 아주 약간 감이 왔다. 코딩을 할 때 Portable과 Abstraction은 몇 번을 강조해도 모자라는 중요한 개념이자, 좋은 코드의 기준이 되는 개념이다. Portable은 코드를 떼어서 다른 부분에서 사용하여도 전혀 이상..
https://jojoldu.tistory.com/468 웹 JS 애플리케이션 개발시 IntelliJ 디버거 사용하기 Vue 혹은 React로 개발시 Webstorm (혹은 IntelliJ Ultimate) 라이센스가 있으신 분들도 VS Code로 개발하시는 경우를 종종 봅니다. 백엔드 개발자 분들이라면 아무래도 IntelliJ가 더 익숙하실텐데요. Chrome + V.. jojoldu.tistory.com 요즘 react를 공부하고 있는데 그냥 intellij로 web mvc 했을 때 보다 더 복잡해서 자바스크립트 파일을 디버깅 해야 했다. 어떻게 설정하는지 몰랐는데 알고보니 javascript 전용 디버깅 옵션을 줘야했다. 자바스크립트 파일 하나를 디버깅하는게 아니라 프로젝트에 있는 자바 스크립트 전..
오늘은 IoC 컨테이너와 Bean, DI(dependency injection)에 대해서 동시에 다루려고 한다. 조금 분량이 많아보이지만 사실 세 개는 겹치고 이어지는 개념이 많아 함께 다루는 게 더 효율적이라고 판단했다. 게다가 Inversion of Control 포스트에서도 IoC 컨테이너에 대해서 다루고 있기 때문에 IoC에 대한 설명이 더 필요하다면 그 포스트를 다시 봐도 좋을 것 같다. https://calgaryhomeless.tistory.com/2 (개념) Inversion of Control *얼마전부터 유튜브에 열려있는 백기선님의 '스프링 입문' 이라는 강좌를 듣기 시작했다. 몇몇 개념들은 정리를 해두면 좋을 것 같아서 블로그 포스팅을 하려고 한다. 다른 분들을 위해 강좌 링크를 밑에..
AOP를 쓸 때 대부분 Aspect용 class를 만들어서 거기다가 @Around, @Before 등을 이용해서 Controller나 Service의 로그를 찍는 걸 봤는데 아예 AOP용 어노테이션을 만들어서 진행하는 게 너무 좋아보여서 다음에도 써보려고한다. Aspect class 를 만들었을 땐 몰랐는데 아예 코드에 명시가 되어있으니 직관적이다. 어노테이션을 직접 만들 수 있다는게 놀랍다. @Target은 java의 어디 부분에 쓸꺼냐는 뜻인데 나는 상세하게 보기 위해 Controller의 메소드들에 찍어볼테니 ElementType.METHOD가 되고 Retention은 저 어노테이션이 언제까지 살아있냐는 뜻. Aspect class에 와서 AOP 상세 조정을 해준다. AOP에 관련된 클래스라는 걸 ..
스프링이 제공해주는 제일 큰 기능으로는 IoC, AOP, PSA가 있다. 이중 AOP는 Aspect Oriented Programming의 줄임말이라고 하는데 강의를 들어보니 Aspect가 핵심이다. Aspect는 관점이라는 뜻이 있는데 나는 국면이라고 해석을 했다. AOP의 주요 기능은 내가 원하는 행동을 매번 어느 특정 국면(또는 시점)에 들어왔을 때 할 수 있게 해준다. 예를 들어서 Client로부터 Controller가 Request를 받고, Response를 작성해서 return하는 시간을 측정한다고 하자. Controller가 하나면 한 번 만 코드를 작성하면 되니까 상관이 없겠지만 AController, BController, CController처럼 컨트롤러가 여러개면 매번 똑같은 코드를 ..
https://effectivesquid.tistory.com/entry/Spring-Boot-starter-test-%EC%99%80-Junit5%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%ED%85%8C%EC%8A%A4%ED%8A%B8 Spring boot starter test 와 Junit5를 이용한 테스트 Junit 5 & Spring Test을 이용한 TDD 환경 세팅 기본 세팅 @ExtendWith(SpringExtension.class) @SpringBootTest(classes = KkApplication.class) @ActiveProfiles("test") public abstract class SpringTestSuppo.. effectivesquid.tis..
http://wonwoo.ml/index.php/post/1933 @Profile 과 @ActiveProfiles 오늘은 Spring의 @Profile 어노테이션과 @ActiveProfiles 어노테이션에 대해서 알아보도록 하자. 가끔 헷갈리는 개발자분들이 있으니 다시 한번 짚고 넘어 가면 좋을 듯하다. @Profile @Profile 어노테이션은 굉장히 유용한 어노테이션이다. 각 환경에 맞게 Spring의 Bean들을 올릴 수 있어 아주 자주 사용되는 어노테이션… wonwoo.ml @Profile과 @ActiveProfiles 둘 다 application.properties 파일들에 따라서 Spring Bean을 만드는데 (개발환경과 배포환경을 구분지어줄 수 있다는 뜻) @Profile은 SpringB..
*얼마전부터 유튜브에 열려있는 백기선님의 '스프링 입문' 이라는 강좌를 듣기 시작했다. 몇몇 개념들은 정리를 해두면 좋을 것 같아서 블로그 포스팅을 하려고 한다. 다른 분들을 위해 강좌 링크를 밑에 남겨두겠다.* 스프링을 사용하면서 DI(dependency injection) 이라는 개념을 들어봤는데 Inversion of Control이라는 중요한 개념이 있었다. 내가 사용할 의존성을 내가 관리하지 않고 누군가 만들어서 주기 때문에 원래 내가 가지고 있어야 할 제어권이 넘어갔다고 하여 제어권 역전 이라고 한다. 스프링은 분명 개발 언어로 자바를 사용하고 있는데 이 inversion of control 때문에 우리가 객체를 사용하고자 할 때 일반 자바와 사용하는 방법에 약간의 차이가 있다. 1. 자바에서..
발단 개발 블로그를 만들기 위해 플랫폼을 알아보다가 개발자들이 많이 쓰는 github.io를 알게 됨. jekyll을 이용해야 테마를 꾸밀 수 있다고 해서 jekyll도 사용해보기로 했다. 목표 1. 테마 선택 2. 선택한 테마 fork 해와서 내 github.io에 적용하기 3. 내 github에 github.io를 위한 repository 만들기 4. 내 컴퓨터에 github.io repository를 clone해서 local에서 블로그 수정/확인하기(다음 포스트에서 진행) 1. 테마 선택하기 jekyll은 사람들이 이미 많이 사용하고 있어서 github에도 자료가 많고, jekyll 테마를 모아둔 사이트도 있다. 테마들을 보고 원하는 것을 선택하면 된다. (1) github에서 jekyll topi..