목록전체 글 (101)
개발일기장
Promise.all ~~~) 이렇게 해서 exception handling해도 되는데 한번에 값을 다 받와서 사용하려고 await 붙이면 그렇게 할 수도 없고 try - catch로 해도 소용이 없음 input * 400ms만큼 쉬었다가 홀수면 resolve, 짝수면 reject나게 만든 Promise들에 대해서 실행을 시킴 function promise(value) { return new Promise((resolve, reject) => { setTimeout(() => { if (value % 2 === 1) { resolve(`${value} -> PASS`); } else { reject(`${value} -> FAIL`); } }, value * 400); }) } async function..
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B3%A0%EA%B8%89%ED%8E%B8/dashboard 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., 핵심 디자인 패턴, 쓰레드 로컬, 스프링 AOP스프링의 3가지 핵심 고급 개념 이해하기 📢 수강 www.inflearn.com 공통 로직 분리를 위해서 사용함.. https://tlqckd0.tistory.com/105 Spring Proxy Factory Java에서 Proxy사용하는 방법에 대해서 두가지 했었음 1. J..
Java에서 Proxy사용하는 방법에 대해서 두가지 했었음 1. Jdk 동적 Proxy >> Interface가 있어야함. InvocationHandler를 구현해서 객체 생성 후 Proxy를 생성해서 사용 https://tlqckd0.tistory.com/102 Proxy ... Proxy 사용법. 1. InvocationHandler를 구현한 객체를 만듬 생성자에 실제 method를 수행할 객체를 넣어줘야함.. 그리고 다른것도 넣어도 될듯..? args에는 method를 호출 했을 때 넣어주는 인자값들. @Slf4j publ tlqckd0.tistory.com 2. CGLIB >> 인터페이스없이 구체 클레스(인터페이스도 됨)를 사용. MethodInterceptor를 구현 후 Enhancer에 등록 ..
영화 상영 시간표 사용해서 뭔가 만들어보고 싶은게 생겼었음 영화 정보라 던가 meta정보는 open api가 있는데 상영 스케쥴에 관한거는 내가 못 찾은건지 없었던거같음 그래서 다른사람들 정보를 찾아보니깐 다들 그냥 상영관(시지븨, 메박, 롯머)에서 크롤링 하더라거 https://kobis.or.kr/kobis/business/mast/thea/findTheaterSchedule.do KOFIC 영화관 입장권 통합전산망 :: 상영스케줄 kobis.or.kr 이렇게 이쁘게 나와있는게 있었음.. 문제는 API로 안해주고 크롤링을 해야한다는 점임 그리고 url 쿼리로 값을 뽑을 수 없고 동적으로 클릭 하나씩 해야한다는점 여기서 광역 선택 기초 선택 상영관 선택 이렇게 3번 눌러야 동작을 함 클릭 하고 바로 나..
일반 java proxy 말고 CGLIB에서 제공하는 proxy사용법 1. MethodInterceptor를 구현 methodProxy 객체가 있는것 말고는 여기까지는 비슷함 그리고 method.invoke보다 저게 더 빠르다고 하는데 몰루겠슴. @Slf4j public class TimeMethodInterceptor implements MethodInterceptor { private final Object target; public TimeMethodInterceptor(Object target) { this.target = target; } @Override public Object intercept(Object obj, Method method, Object[] args, MethodProxy ..
Proxy 사용법. 1. InvocationHandler를 구현한 객체를 만듬 생성자에 실제 method를 수행할 객체를 넣어줘야함.. 그리고 다른것도 넣어도 될듯..? args에는 method를 호출 했을 때 넣어주는 인자값들. @Slf4j public class TimeInvocationHandler implements InvocationHandler { private final Object target; public TimeInvocationHandler(Object target) { this.target = target; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { log..
일단 class를 이렇게 만들어 둠 static class Hello{ private Integer iValue = 10; public String sValue = "hello"; public String callA(String args){ log.info("call A"); return "A "+args; } public String callB(String args){ log.info("call B"); return "B"; } } 1. Class 정보 호출 // Class 정보 획득 Class classHello = Class.forName("hello.proxy.jdkdynamic.ReflectionTest$Hello"); // 내부에 있는 경우 $ 이렇게 하면 해당 파일에 위치한 class의 me..
Spring boot를 시작할 때 모든 직접 추가한 모든 Bean을 확인하고 검사하는 로직이 필요할거 같음.. https://tlqckd0.tistory.com/94 Spring 공부 02. 스프링 컨테이너 https://tlqckd0.tistory.com/93 Spring 공부 01. Configuration, Bean import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; 이거 사용해서 Config 를 등록 할 수 있다. ApplicationContext a tlqckd0.tistory.com 그래서 Spring 을 시작하고 나서 바로 실행되게 하는 Com..