엑셀 VBA 자동화 기록
Back-end/기타 (BE)2023. 12. 20. 12:46엑셀 VBA 자동화 기록

이 글은 이 전 글의 내용들을 토대로 재구성되었습니다 https://blog.naver.com/progress0407/222068926986 https://blog.naver.com/progress0407/222074132611 완성본 만들게 된 계기 당시 SI 철수 이후 부장님, 차장님, 사원님 등 본인을 포함한 5~6명이 작성해야할 엑셀 시트가 있었다 이전 동일 작업하셨던 차장님 말씀으로는 이틀 정도는 부지런히 작업해야 끝낼 수 있다고 하셨다 그 업무가 주어질 당시, 다른 팀원들은 다른 태스크가 있었고 신입이었던 내가 가장 먼저 하게 되었다 (중견 이상 기업의 신입은 입사 초기에 일이 없는 경우가 많았다) 내용은 간단했던 걸로 기억한다 각 테이블과 관련된 쿼리의 갯수를 고려해서 기입하면 되는 것이다 ..

[동시성] 오프라인 선점 락 (Redis)
Back-end/기타 (BE)2023. 12. 12. 23:53[동시성] 오프라인 선점 락 (Redis)

코드는 이곳에 ! https://github.com/progress0407/jvm-tools/tree/main/redis 과거에 맡았던 도메인 중에 동일 요청건에 대한 중복 결제 요청을 막아야할 일이 있었다 (자세히 기술할 수 없다!) 그때 사용했던 방식이다 과거에 최범균님의 DDD에서 본 방법인데, 이름은 오프라인 선점 잠금으로 알고 있다 마침 사내에서 Redis를 사용했고 락을 짧은 시간 동안 유지 + 분산 환경임을 고려하여 Redis를 사용했다 세간에 알려진 오프라인 선점 락과는 다소 다른 것은... 시간 순서에 따른 락을 선점 -> 해제는 아니었다 즉 아래와 같은 상황이 아니었다 API 1 접근: Lock 획득 API2 접근: Lock 방출 정확히는 아래와 같은 상황이다 API 1에 동시 접근 가..

@Transactional 어노테이션 넌 뭐야?
Back-end/기타 (BE)2023. 8. 31. 23:55@Transactional 어노테이션 넌 뭐야?

@Transcational 어노테이션에는 정말정말 매우 많은 기능이 있다 - 선언만으로 트랜잭션 보장 - DB 접근 계층 추상화 - 리소스 동기화 (쓰레드별 트랜잭션 관리) - 격리레벨 조정 - 전파레벨 설정 - 롤백 에외 설정 (특정 예외에 대해선 롤백하지 않는다) - readOnly + JPA사용시 약간의 성능 향상 (스냅샷 저장 X) 원리 이 마법을 어떻게 스프링은 이루어냈을까? AOP로 이것을 해낸다 사실 이 하나만으로 해낼 수는 없고 AOP와 IoC와 빈 후처리기(Bean Post Processor), 프록시가 이것을 해낸다 우선 스프링은 메서드 혹은 클래스 레벨에 @Transactional 어노테이션이 있는 클래스에 대해 CGLIB이란 라이브러리를 통해서 동적으로 생성한 Proxy객체를 생성하..

스프링 배치 getting start
Back-end/기타 (BE)2021. 3. 25. 01:51스프링 배치 getting start

www.youtube.com/watch?v=i8YRTpy0pgM 해당 동영상 덕택에.. 무사히 따라할 수 있었다. spring.io/guides/gs/batch-processing/ Creating a Batch Service this guide is designed to get you productive as quickly as possible and using the latest Spring project releases and techniques as recommended by the Spring team spring.io www.youtube.com/watch?v=1XEX-u12i0A 나중에 요것도 해보자!!

뉴렉쳐 Servlet & JSP [61 ~ 70강]
Back-end/기타 (BE)2020. 11. 1. 10:34뉴렉쳐 Servlet & JSP [61 ~ 70강]

강의 61 - 중간 정리 강의 62 - forEach의 속성 사용하기 >

뉴렉쳐 Servlet & JSP [51 ~ 60강]
Back-end/기타 (BE)2020. 10. 7. 02:09뉴렉쳐 Servlet & JSP [51 ~ 60강]

강의 51 - JSP를 이용해서 자바 웹 프로그램 만들기 시작 list.jsp 가 깨짐.. 이 화면에서 file - property나, alt+enter 하지만 이게 끝이 아님 아래와 같은 jsp 페이지 지시자를 넣으면 된다. 이클립스 jsp파일 생성시 기본으로 생김! 52 - JDBC를 이용해 글 목록 구현하기 쉽게 임포트하기 : 글자 맨 끝 ctrl + space, 저장 WAS가 배포하는데, 이 곳의 lib 환경에 동봉시켜주어야 한다.. (자세한건 8분쯤을 참고) data가 두개만 추출되는 문제 발생 내 pc에 클라와 서버가 둘다 있는셈.. 끼얏호 강의 53 - 자세한 페이지 구현하기 int id = Integer.parseInt(request.getParameter("id")); String url..

뉴렉쳐 Servlet & JSP [41 ~ 50강]
Back-end/기타 (BE)2020. 10. 3. 16:46뉴렉쳐 Servlet & JSP [41 ~ 50강]

강의 41 - JSP의 코드 블록 out.write(); // 문자열을 출력해주는 전문 함수 out.print(); // 다양한 자료형 지원함 out.print 를 대신 써줘 service()가 아닌 클래스 밑으로 page 지시자; 어떤 코드들 보다도 앞서서 서블릿 코드에 삽입 강의 42 - JSP의 내장객체 간단히 알아보기 page와 같은 변수는 jsp service 기본 변수와 겹침.. pageContext는 applicationContext (전역)와 다르게 page한정 out 출력을 위한 객체 page 현재 페이지를 참조하는 객체 강의 43 - JSP로 만드는 Hello 서블릿 옛날에 만든 java파일을 jsp로 다시 만들자 < 강의 44 - 스파게티 코드를 만드는 JSP 짝수입니다. 홀수입니다...

뉴렉쳐 Servlet & JSP [11~20강]
Back-end/기타 (BE)2020. 10. 3. 15:19뉴렉쳐 Servlet & JSP [11~20강]

뉴렉쳐님께 항상감사함을 표합니다! [서블릿/JSP 강의 11 - 이클립스를 이용한 서블릿 프로그래밍] ​ 컨텍스트명은 Context가 아닌 root로 쓰는게 좋아 ctrl+shift+o (lib 추가)나 ctrl+space 를 잘 이용하자 ​ 서블릿 url 매핑법 만일 WEB-INF폴더에 web.xml이 없으면 톰캣 폴더에서 가져오자 를 수정해주어야 한다. 그리고 서버 재기동한다. ​ 서블릿/JSP 강의 12 - 어노테이션을 이용한 URL 매핑 위처럼 하면 annotation방식으로 매핑이 가능하다. metadata-complete를 true로 하면 해당 xml에만 매핑정보가 있는걸로 판단한다. 그렇기 때문에 false로 하여, 현재 xml뿐만 아니라 다른 곳에도 매핑 장소가 있다는 것을 알린다. ​ 간..

뉴렉쳐 Servlet & JSP [31 ~ 40강]
Back-end/기타 (BE)2020. 10. 3. 01:02뉴렉쳐 Servlet & JSP [31 ~ 40강]

서블릿/JSP 강의 31 - Cookie의 maxAge 옵션 브라우저가 닫혀도 유효한가 ? 그렇다.. 없어져야 하는데.. 아래와 같이 유효기간을 설정할 수 있다. valueCookie.setMaxAge((int)(0.5 * 60)); 초 단위 이기 때문에 1시간이면 1 * 60 * 60 하루면 24*60*60 이다. 서블릿/JSP 강의 32 - Application/Session/Cookie 정리 Application Session Cookie 사용범위 전역 범위에서 사용하는 저장 공간 세션 범위에서 사용하는 저장 공간 Web Browser별 지정한 path 범주 공간 생명주기 WAS가 시작해서 종료할 때 까지 세션이 시작해서 종료할 때 까지 Browser에 전달한 시간부터 만료시간까지 저장위치 WAS ..

뉴렉쳐 Servlet & JSP [21~30강]
Back-end/기타 (BE)2020. 10. 1. 21:00뉴렉쳐 Servlet & JSP [21~30강]

response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); PrintWriter out = response.getWriter(); String x_ = request.getParameter("x"); String y_ = request.getParameter("x"); int x = 0; int y = 0; if(!x_.equals("")) { x = Integer.parseInt(x_); } if(!y_.equals("")) { y = Integer.parseInt(y_); } out.println("==== 계산 결과 ==== "); //왜 오류가 날까 //out.printf("%d + %d =..

뉴렉쳐 Servlet/JSP [11~20강]
Back-end/기타 (BE)2020. 10. 1. 20:57뉴렉쳐 Servlet/JSP [11~20강]

뉴렉쳐님께 감사함을 표합니다! https://www.youtube.com/watch?v=j6lXa1adyM0&list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd&index=16 ​ ​ ​ [서블릿/JSP 강의 11 - 이클립스를 이용한 서블릿 프로그래밍] ​ 컨텍스트명은 Context가 아닌 root로 쓰는게 좋아 위 컨텍스트를 / (root) 로 바꾸자 사진 설명을 입력하세요. ctrl+shift+o (lib 추가)나 ctrl+space 를 잘 이용하자 ​ 서블릿 url 매핑법 만일 WEB-INF폴더에 web.xml이 없으면 톰캣 폴더에서 가져오자 를 수정해주어야 한다. 그리고 서버 재기동한다. ​ 서블릿/JSP 강의 12 - 어노테이션을 이용한 URL 매핑 위처럼 하면 annota..

뉴렉쳐 Servlet & JSP 강의!  정주행 고고씽! [1~10강]
Back-end/기타 (BE)2020. 10. 1. 20:49뉴렉쳐 Servlet & JSP 강의! 정주행 고고씽! [1~10강]

우주 최강의 질 좋은 강의를 제공해 주신 newlecture 나나짱님께 감사드립니다. https://www.youtube.com/watch?v=jp7vtbLin-s&list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd&index=8 강의록 갑니다~! ​ ​ [1강] 학습 안내 serlvet, jsp, jsp mvc 패턴까지, 그 다음은 spring mvc 패턴까지 [2강] 웹 서버 프로그램이란 옛날 웹을 이용하지 않는 시절에는, CS(클라서버)간 데이터를 동기화하는게 번잡스러웠다, (클라이언트 프로그램 업뎃의 어려움(재설치)) 데이터 전송 구현의 어려움 그러나 웹브라우저와 page 개념을 이용하면서 용이해졋다 [3강] 웹서버 프로그램과 Servlet 클라에서 {url}/member/li..

image