본문 바로가기

빈수 개발자 개발 일기

(898)
[MYSQL] 하위요소들 모두 구해주라 #{acSeq} 에 들어갈 일련번호를 p_ac_seq 로 가지는 애들 모두 구해라 ! select group_concat(ac_seq) from ( select p_ac_seq, ac_seq from ${DB_TABLE_NAME}CATEGORY where use_yn = 'Y') T, ( select @pv := #{acSeq} ) initialization where find_in_set(p_ac_seq, @pv) and length(@pv := concat(@pv, ',', ac_seq))
톰캣과 아파치의 차이점을 모르고 개발중이었지만 😒 아파치 톰캣(Apache Tomcat)은 apache software 재단에서 개발한 서블릿 컨테이너만 있는 웹 애플리케이션 서버입니다. 톰캣의 정식 명칭은 Apache Tomcat으로 대다수의 개발자들이 톰캣이라고 통칭하여 부르며 사실상 웹 컨테이너의 표준으로써 순수 자바 플랫폼입니다. 또한 세계에서 가장 많이 사용하고 있는 WAS 중에 하나이기도 하며 지속적인 업데이트를 통해 계속 진화 중인 오픈소스입니다. 1) WEB서버(Web Server), WAS(Was Server)의 이해 1-1.) WEB서버(Web Server) WEB서버는 정적인 자료를 처리하는 서버입니다. html, css, image등 내용이 변하지 않는 정적인 파일들을 만들어줍니다. Sever에 페이지를 요청하면 서버는 해당하는 화..
[JPA] JPA 의 장점이 뭔지 물어봤을 때 잘 대답하지 못했다. . . JPA(Java Persistence API)는 자바 ORM 기술에 대한 API 표준이다. ORM이란 Object Realational Mapping의 약자로 객체와 관계형 데이터베이스를 매핑해주는 것을 말한다. 그렇다면 ORM기술은 왜 나왔을까? JPA를 공부하기 전에 관계형 데이터베이스의 문제점을 먼저 알아보자. 상품 데이터를 관리하는 Item 클래스가 있고, 상품 데이터를 관계형 데이터베이스에서 관리하기 위해서 우리는 SQL문을 사용한다. SQL 중심 개발의 문제점은 개발자가 CRUD라고 불리는 INSERT, UPDATE, SELECT, DELETE 문을 작성해서 객체를 관계형 데이터베이스에 넣어주고 가져오는 작업을 하는 것이다. 즉, 자바 객체를 SQL을 통해 데이터베이스에 관리하게 하고 데이터베..
[Spring] '스프링 AOP (Spring AOP)' 가 뭐냐고 물어보면 바로 대답해주기 AOP 관련 용어 Aspect 흩어진 관심사를 모듈화 한 것. Target Aspect를 적용하는 곳. 클래스, 메서드 등.. Advice 실질적으로 어떤 일을 해야 할 지에 대한 것, 실질적인 부가기능을 담은 구현체 Join Point Advice가 적용될 위치 혹은 끼어들 수 있는 시점. 메서드 진입 시점, 생성자 호줄 시점, 필드에서 꺼내올 시점 등 끼어들 시점을 의미. 참고로 스프링에서 Join Point는 언제나 메서드 실행 시점을 의미 한다. Point Cut Join Point의 상세한 스펙을 정의한 것. "A란 메서드의 진입 시점에 호출할 것"처럼 구체적으로 Advice가 실행될 시점을 정함. AOP 적용 방법 1. 컴파일 타임 적용 -> 컴파일 시점에 바이트 코드를 조작하여 AOP가 적용..
[Spring] '스프링과 스프링부트의 차이점'을 모르고 스프링 할 줄안다고 하지말기 ! Spring FrameWork 란 스프링은 JAVA 애플리케이션 개발을 위한 포괄적인 인프라를 지원해주는 프레임워크이다. 스프링 도입 전과 후 스프링 도입 전 : JAVA 웹개발 초기에는 데이터 소스에 레코드를 삽입하기 위해서 많은 코드를 작성해야 했다. 스프링 도입 후 : 스프링의 기능중의 하나인 Spring JDBC Template 을 사용하면 단 몇줄로 이 작업을 끝낼 수 있게된다. Spring 의 기능 Spring JDBC Spring MVC Spring Security Spring AOP Spring ORM Spring Test Spring Boot 란 Spring Boot 는 기본적으로 Spring Framework 를 설정하는데 필요한 구성을 제거하는 Spring Framework 확장 버전..
[Java] mysql 접속정보로 쿼리조회 public void selectQuery(String JDBC_DRIVER, String DB_URL, String USERNAME, String PASSWORD ) throws SQLException{ Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 접속 Class.forName(JDBC_DRIVER); conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD); stmt = conn.createStatement(); // 쿼리 String sql1 = "select * from BINSOO_TEST_COMPANY"; rs = stmt.executeQuery(..
▶ kubernetes - POD POD - Lifesycle Pod > Status > Phase Pending 최초 상태 PodScheduled : True Initialized : True Running 원할하게 작동이 시작 하나 또는 여러 개가 비정상 작동시 Wating Succeeded 작업 모두 성공 Failed 작업 중 하나라도 에러 발생시 Pod > Status > Conditions Initialized ContainerReady PodScheduled Ready Pod > Status > Reason ContainersNotReady PodComleted Pod > Containers > ContainerStatuses > Status Wating Running Terminated Pod > Containers > Co..
▶ kubernetes - Controller ( DaemonSet, Job, CronJob ) DaemonSet ReplicaSet 은 Node 의 남은 자원을 비교해 Pod 를 할당하지만 DaemonSet 은 자원에 상관없이 공평하게 각 Node 에 Pod 를 할당한다. Job 프로세스가 일을 하지 않으면 pod 는 종료된다. 종료 : 자원을 사용하지 않는 상태로 멈춰있다. Crontab 특정 시간에 반복되야 하는 작업을 주기적으로 실행한다.