본문 바로가기

전체 글95

테스트 말 그대로 내 코드의 테스트를 말한다. 내가 작성한 코드가 잘 돌아가는지 문제가 없는지를 확인하는 것이다. 매번 내가 개발을 하고 데이터가 잘 들어갔는지 데이터를 잘 가지고 오는지 확인했던 부분이 모두 테스트에 들어가는 것이였다... 하지만 토비의 스프링에서는 이런 부분을 자동화하고 더욱 효율적인 테스트에 대해서 이야기를 하고있다. 테스트를 위한 코드 작성을 하는게 좋다는 이야기를 자주 들었었던거 같다.... 프로젝트를 하면서 본인 코드에 에러를 잘 잡지 못하는 경우가 생겨 다른 팀원이 말해주는 경우도 있고 엄청 나중에 갑자기 발견하는 경우도 있었다. 그런 경우를 생각해보면 이런 부분도 꼭 훈련을해서 가는게 좋을꺼 같다는 생각이 든다~ 테스트의 가치? 스프링으로 개발을 하면서 테스트를 만들지 않는다면 이.. 2019. 12. 20.
AOP(Aspect Oriented Programming) ? AOP 란? 어플리케이션의 핵심적인 기능에서 부가적인 기능을 분리해서 애스펙트라는 모듈로 만들어서 설계하고 개발하는 방법을 AOP(Aspect Oriented Programming)이라고 한다 Aspect란? 어플리케이션의 핵심 기능은 아니지만, 어플리케이션을 구성하는 중요한 요소이고, 부가적인 기능을 담당하는 요소이다. 객체지향 모듈을 오프젝트라 부르는것과 비슷하게 부가기능 모듈을 애스펙트라고 부르며, 핵심기능에 부가되어 의미를 갖는 특별한 모듈이라 생각하시면 됩니다. 애스펙트는 부가될 기능을 정의한 어드바이스와 어드바이스를 어디에 적용할지를 결정하는 포인트컷을 함께 갖고 있습니다. Aspect = Advice + Pointcut 어드바이저는 단순한 형태의 애스펙트라고 볼 수 있다. AOP 구현 방법 .. 2019. 12. 18.
비동기 처리(Promise 객체) 저번시간에 배웠던 콜백 함수! 권장하지 않는 방법이다. 요새 많은 사람들이 사용하는 Promise 에 대해서 공부해 보자! 왜 Promise가 필요한가? ajax가 서버에다 데이터 하나만 주세요 라는 요청을 보낸다. 그런데 데이터를 받아오기도 전에 마치 데이터를 다 받아온 것 처럼 화면에 데이터를 표시하려고 하면 오류가 발생하거나 빈 화면이 뜬다. 이러한 문제점을 해결하기 위한 방법중 하나가 프로미스이다!! 간단한 예를 통해서 설명을 해보겠습니다. function getData(callbackFunc) { $.get('url 주소/products/1', function (response) { callbackFunc(response); // 서버에서 받은 데이터 response를 callbackFunc().. 2019. 12. 18.
비동기 처리(Callback hell) 비동기 처리? function getData() { var tableData; $.get('URL', function(response) { tableData = response; }); return tableData; } console.log(getData()); 위 코드의 정답은 무엇인가? 바로 대답한다면 비동기 처리를 좀 아시는 분이군요~ 정답은 return 으로 undefined가 출력이 된다는 것이다 즉 비동기 처리를 하면 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 특성을 가진다!!! 그렇기 때문에 데이터를 아직 가져오지 못했는데 리턴 해버려서 undifined가 출력 되는 것이다!! 나 또한 웹프로젝트를 하면서 어떨때는 return값이 잘 가지고 오다가.. 2019. 12. 17.