세무민의코딩일기 42

세무민의 코딩일기 : Publishing to Tomcat v9.0 Server at localhost...' has encountered a problem 오류 해결하기

오랜만에 오류 해결 포스팅으로 찾아왔습니다. 사실 이번 오류는 워낙 다양한 부분에서 문제가 발생할 수 있었던 부분입니다. 위와 같은 오류는 현재 8080 port와 8005번 포트를 사용하고 있어서 발생하는 문제입니다. 그렇다면 해당 포트를 종료시켜주면 문제가 해결됩니다. 포트를 종료시키는 방법은 다양하게 존재하겠지만 가장 빠르게 조치할 수 있는 방법은 Cmd에서 진행하는 것입니다. #1. netstat -a -o 명령어 입력 콘솔에 위와 같은 명령어를 입력하면 아래처럼 포트에 대한 상태를 확인할 수 있습니다. 해당 8080 포드에 대한 PID는 18416번인데 이녀석을 통해서 8080 포트를 종료시켜주면 됩니다. #2. taskkill /f /pid 18416 명령어 입력 입력하면 위와 같이 프로세스가..

세무민의 코딩일기 : 개발자가 객체 설계시 염두해야 할 사항은?

개발자가 객체를 설계하는 경우에 회사에 로직이 존재한다면 큰 설계가 없이 기존 로직을 가져다 쓰는 경우가 대다수지만 때로는 개발을 해야하는 경우가 존재하다고 생각해서 작성해봅니다. 토비의 스프링이라는 E-book을 읽었을 때 생각하게 된 것입니다. # 중복 코드의 메소드 추출 로직 // 결과값 체크 로직을 만든다고 가정 # VO 로직 public class UserVo{ private String userName; private String userPhoneNumber; private String userSex; private Boolean userPhoneCheck; // getter와 setter가 존재한다고 가정 } # SVC 로직 public String addUser(UserVo user){ r..

세무민의 코딩일기 : DB 공부할 때 팁! [Group By와 Order By만 잘해도 절반은 먹고 간다. ]

인턴을 하면서 느낀점은 프로그램의 성능 최적화는 DB에서 Select 하는 과정을 어떻게 하는지가 중요한거 같다. 일반적으로 Service에서 값을 원하는 형태로 변형하여 넘겨도 되지만 쿼리로 제작할 수 있다면 제일 베스트이다. 여기서 가장 중요한건 서브쿼리, 내장함수도 중요하지만 기본적인 Group by와 Order By의 중요성이다. 우선 이론적인 학습을 해보자. 1. GROUP BY 그룹이라는 말 처럼 AVG, SUM과 같이 전체 값을 연산했을 때 주로 사용되는데 일반적으로 여러개의 행을 이용하여 통계적인 값을 추출할 수 있다. 2. ORDER BY ORDER BY는 조회하려는 데이터를 정렬로 자주 사용되곤 한다. 일반적으로 쿼리를 제작하다보면 Group by 형식 오류를 자주 접하는 사람들이 있다..

DB/SQL 2021.05.07

세무민의 코딩일기 : DB 함수 공부하기

DB에서 쿼리를 많이 작성해 본 경험이 없었다. 그렇지만 회사에서 인턴을 하면서 엄청 느끼고 있는게 쿼리를 잘 만드는 것이 데이터의 속도를 빠르게 해줄 수 있다. 내가 속한 부서가 대체적으로 운영 및 유지보수다보니 새로운 신기술은 배우기 어렵지만 DB 쿼리에 대해서 엄청 많이 볼 수 있어서 나름 배울점도 많고 부족한 점도 많다는 걸 느낀다. 최근에 업무 중에 함수를 제작하고 다양한 쿼리들을 만들면서 집에서 공부 해야겠다는 마음은 먹었으나.... 실상 회사 끝나고 집에 오면 아무것도 하기 싫어져서.... 그냥 조금씩 틈틈히 해볼 생각이다. 오늘은 기본적인 함수를 제작했다. 기존에 만들었던 테이블을 기반으로 만들었는데 항공 테이블을 가지고 진행할 예정이다. 항공 테이블은 항공사이름, 나라, 사이트, 전화번호..

DB/SQL 2021.04.18

Oracle DB로 달력 만들기!

오늘 과장님께서 주신 과제가 있어서 과제를 푸는데 과제 내용은 쿼리로 달력을 만드는것! 그래서 내가 구현한 방법은 총 3가지였다! #1 Case 문을 이용하는 방법! select min(case when WEEKDAY = 1 then DDAY end) AS 일, min(case when WEEKDAY = 2 then DDAY end) AS 월, min(case when WEEKDAY = 3 then DDAY end) AS 화, min(case when WEEKDAY = 4 then DDAY end) AS 수, min(case when WEEKDAY = 5 then DDAY end) AS 목, min(case when WEEKDAY = 6 then DDAY end) AS 금, min(case when WE..

DB/SQL 2021.04.12