분류 전체보기
-
[Spring] Service, ServiceImpl 구조 이유Spring 2020. 3. 3. 17:58
인터페이스의 사용 이유에 대한 깊은 이해와 경험이 필요하다. 클래스 간 의존 관계를 줄이는 것이 가장 큰 목적이다. 의존 관계를 줄이면 코드 수정을 최소화 할 수 있다. 예) 1. 카드 결제 인터페이스를 만들어놓고 인터페이스의 메소드를 사용하게 함 2. 추후 카드사가 교체되더라도 코드 변경하지 않아도 됨 CardPayments cardPayments = new BCCardPayments(); cardPayments.refund(); NH카드 교체 시 CardPayments cardPayments = new NHCardPayments(); cardPayments.refund(); 참고 : https://cheese10yun.github.io/spring-oop-04/
-
[Algorithm]문자열 해싱Algorithm 2020. 3. 1. 10:13
https://m.blog.naver.com/PostView.nhn?blogId=withham1&logNo=221230878379&proxyReferer=https%3A%2F%2Fwww.google.com%2F 문자열 해싱(String Hashing) 해싱 알고리즘은 다양한 문제들을 해결하는데 도움을 준다. 문자열을 효과적으로 비교해야 하는 문제들이 ... blog.naver.com 햄과함께님 정리해주셔서 감사합니다. hash(s) = (s[0] + s[1]* p + s[2] * p2 + … + s[n-1] * pn-1) mod m 위의 수식은 길이가 n인 문자열 s의 해시값을 구하는데 주로 사용되는 방법이다. p와 m은 특정 양수이며 이 수식은 polynomial rolling hash function..
-
[Spring] 싱글톤 객체를 Stateless 하게 만들어야 하는 이유Spring 2020. 2. 28. 14:51
1. 스프링 컨테이너는 객체를 생성할 때 디폴트로 싱글톤으로 생성한다. 2. 싱글톤 = 메모리에 하나의 인스턴스만 존재하도록 함(컨테이너에 의해 JVM의 힙 영역에 딱 한개만 동적 할당 되는 듯 하다) 4. 만약 여러 스레드에서 동시에 싱글톤 패턴으로 생성된 인스턴스에 접근하면 어떻게 되는가? 5. 세마포어나 뮤텍스 같은걸로 따로 lock처리 하도록 구현되어 있을 줄 알았는데 아님 6. Singleton 패턴으로 생성되는 클래스들은 statless하게 유지되어야 함 예) Controller, Service, DAO 참고 : https://stackoverflow.com/questions/25617962/how-does-the-singleton-bean-serve-the-concurrent-request ..
-
[Javascript] Event Bubbling / Event Capturing / Event DelegationJavascript 2020. 2. 28. 08:28
https://joshua1988.github.io/web-development/javascript/event-propagation-delegation/ 이벤트 버블링, 이벤트 캡처 그리고 이벤트 위임까지 (기본) 이벤트 버블링, 이벤트 캡처링, 그리고 이벤트 위임까지 이벤트 전달 방식과 관련된 모든 것을 파헤쳐 봅니다. joshua1988.github.io 대단히 감사합니다
-
AjaxJavascript 2020. 2. 24. 21:46
Ajax에 대한 설명이 잘 되어있어서 링크 남겨놓습니다 정말 감사합니다 https://poiemaweb.com/js-ajax Ajax | PoiemaWeb 비동기식 처리 모델(Asynchronous processing model or Non-Blocking processing model)은 병렬적으로 작업을 수행한다. 즉, 작업이 종료되지 않은 상태라도 대기하지 않고 다음 작업을 실행한다는 의미이다. 예를 들어 서버에서 데이터를 가져와 화면에 표시하는 작업을 수행할 경우 서버에 데이터를 요청한 이후 서버로부터 데이터가 전달될 때까지 대기하지 않고(Non-Blocking) 즉시 다음 작업을 수행한다. 이후 서 poiemaweb.com https://coding-factory.tistory.com/143 [..
-
[JAVA] Implicit Narrowing ConversionJava 2020. 2. 24. 20:47
승철이가 갑자기 자바 공부하다가 자바에서 정수리터럴은 int 취급이고 && 다운캐스팅이 허용되지 않는데 어떻게 byte a = -127; 이게 implicit하게 다운캐스팅되어서 정상작동하는지 (정수리터럴은 int고 변수 a는 byte 타입이니까 다운캐스팅이라고 생각함) 그리고 왜 byte a = 128; 이건 안 되는지 그렇다면 무슨 일관된 규칙이 있는지 물어보길래 찾아보다가 알게됨 결론 : 자바 만들 때 어떤 경우에는 implicit downcasting(java docs에 있는 narrowing conversion이 공식 표현인듯)을 허용해주기로 정함 Assignment conversion occurs when the value of an expression is assigned (§15.26) t..