분류 전체보기
-
탭 기능 설명 및 사용법 가이드 1. 메인 JSP 베이스가 될 JSP 코드 사용할 때에 temp.jsp에 js, css 모두 import 후 temp.jsp를 include 한 뒤 사용하는게 좋음. 2. 메인JS 2-1. tabFunc const tabList = new Array(); const tabFunc = (target) => { let link = target.attr('id'); let name = target.text(); if(name == '로그관리') name = '목록조회'; if(tabList.length < 8) { if(tabList.indexOf(name) == -1) { // report를 실행해야 하는 탭 if(name == '서식뷰어') { tabList.push(nam..
탭 기능 만들기탭 기능 설명 및 사용법 가이드 1. 메인 JSP 베이스가 될 JSP 코드 사용할 때에 temp.jsp에 js, css 모두 import 후 temp.jsp를 include 한 뒤 사용하는게 좋음. 2. 메인JS 2-1. tabFunc const tabList = new Array(); const tabFunc = (target) => { let link = target.attr('id'); let name = target.text(); if(name == '로그관리') name = '목록조회'; if(tabList.length < 8) { if(tabList.indexOf(name) == -1) { // report를 실행해야 하는 탭 if(name == '서식뷰어') { tabList.push(nam..
2024.01.25 -
다음에는 더 정확하게 이해를 하고 사용해보기 Quartz는 Job Scheduling 라이브러리로 어느 자바 프로그램에서도 쉽게 통합하여 개발할 수 있다. Quarzt 사용하기 1. Pom.xml에 Quartz dependency 추가 org.quartz-scheduler quartz 2.3.2 2. Trigger와 Job을 Bean 등록을 한다. @Configuration public class ConfigureJob { @Bean @Conditional(QuartzCondition.class) public JobDetail jobADetails() { return JobBuilder.newJob(ExecuteJob.class) .withIdentity("Job") .storeDurably().buil..
Scheduler 만들 수 있는 Quartz 정리다음에는 더 정확하게 이해를 하고 사용해보기 Quartz는 Job Scheduling 라이브러리로 어느 자바 프로그램에서도 쉽게 통합하여 개발할 수 있다. Quarzt 사용하기 1. Pom.xml에 Quartz dependency 추가 org.quartz-scheduler quartz 2.3.2 2. Trigger와 Job을 Bean 등록을 한다. @Configuration public class ConfigureJob { @Bean @Conditional(QuartzCondition.class) public JobDetail jobADetails() { return JobBuilder.newJob(ExecuteJob.class) .withIdentity("Job") .storeDurably().buil..
2024.01.22 -
Spring Security spring security를 사용하기 위해서 pom.xml에 의존성을 추가해야 한다. org.springframework.boot spring-boot-starter-security 3.2.1 dependency> 그리고 로그인 구현 시 필요한 UserDetailService를 상속받은 service와 UserDetails를 상속받은 User가 필요하다. UserDetailService @Service @RequiredArgsConstructor public class MemberDetailService implements UserDetailsService { private final MemberMapper memberMapper; private final PasswordE..
Springboot 3.0 이상에서 Spring security 사용Spring Security spring security를 사용하기 위해서 pom.xml에 의존성을 추가해야 한다. org.springframework.boot spring-boot-starter-security 3.2.1 dependency> 그리고 로그인 구현 시 필요한 UserDetailService를 상속받은 service와 UserDetails를 상속받은 User가 필요하다. UserDetailService @Service @RequiredArgsConstructor public class MemberDetailService implements UserDetailsService { private final MemberMapper memberMapper; private final PasswordE..
2024.01.17 -
배열의 형태가 첫 번째 그림과 같이 산 모양의 형태인지 판별하는 문제 문제를 풀기 위해서는 제일 큰 값을 가진 요소의 index를 알아내는 것이다. 그 index를 알아내서 그 전까지 계속 증가하는지, index 후에는 계속 감소하는지 판별하면 되는 문제이다. 그리고 index가 0 또는 제일 마지막 인덱스일 때에는 false를 반환해야 한다. class Solution { public boolean validMountainArray(int[] arr) { int length = arr.length; int max = 0; int index = 0; for(int i = 0; i max) { max = arr[i]; index = i; } } if(in..
[리트코드] Valid Mountain Array배열의 형태가 첫 번째 그림과 같이 산 모양의 형태인지 판별하는 문제 문제를 풀기 위해서는 제일 큰 값을 가진 요소의 index를 알아내는 것이다. 그 index를 알아내서 그 전까지 계속 증가하는지, index 후에는 계속 감소하는지 판별하면 되는 문제이다. 그리고 index가 0 또는 제일 마지막 인덱스일 때에는 false를 반환해야 한다. class Solution { public boolean validMountainArray(int[] arr) { int length = arr.length; int max = 0; int index = 0; for(int i = 0; i max) { max = arr[i]; index = i; } } if(in..
2023.12.09 -
arr 배열에서 arr[ i ]가 arr[ j ]의 두 배가 맞으면 true를 반환하고 그렇지 않으면 false를 반환하는 문제 반복문 내에 i와 j가 같지 않을 때 arr[ i ] == arr[ j ] * 2 일 때만 true를 반환시켜주는 코드를 짜면 쉽게 풀리는 문제이다. class Solution { public boolean checkIfExist(int[] arr) { for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr.length; j++) { if(i != j) { if(arr[i] == 2 * arr[j]) { return true; } } } } return false; } }
[리트코드] Check If N and Its Double Existarr 배열에서 arr[ i ]가 arr[ j ]의 두 배가 맞으면 true를 반환하고 그렇지 않으면 false를 반환하는 문제 반복문 내에 i와 j가 같지 않을 때 arr[ i ] == arr[ j ] * 2 일 때만 true를 반환시켜주는 코드를 짜면 쉽게 풀리는 문제이다. class Solution { public boolean checkIfExist(int[] arr) { for(int i = 0; i < arr.length; i++) { for(int j = 0; j < arr.length; j++) { if(i != j) { if(arr[i] == 2 * arr[j]) { return true; } } } } return false; } }
2023.12.09 -
Jenkins, Linux, Vi에 대해 알아보자 Jenkins 모든 언어의 조합과 소스 코드 Repository에 대한 지속적인 통합(Continuous integration, CI)과 지속적 배포(Countinuous delivery, CD) 환경을 구축하기 위한 도구이다. 빌드, 테스트, 배포 프로세스를 자동화하여 소프트웨어 품질과 개발의 생산성을 높일 수 있다. Git 과 같은 버전 관리 시스템과 연동하여 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동되도록 설정할 수 있다. Jenkins의 이점 1. 편리한 설정 웹 기반의 콘솔로 다양한 인증 기반과 결합이 가능하며 권한 관리 기능을 통해 안전한 빌드 및 배포 환경을 구축할 수 있다. 수많은 플러그인을 사용하여 자동화 할 수..
신입 개발자의 기록 [12/07] Jenkins, Linux, Vi에 대해Jenkins, Linux, Vi에 대해 알아보자 Jenkins 모든 언어의 조합과 소스 코드 Repository에 대한 지속적인 통합(Continuous integration, CI)과 지속적 배포(Countinuous delivery, CD) 환경을 구축하기 위한 도구이다. 빌드, 테스트, 배포 프로세스를 자동화하여 소프트웨어 품질과 개발의 생산성을 높일 수 있다. Git 과 같은 버전 관리 시스템과 연동하여 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동되도록 설정할 수 있다. Jenkins의 이점 1. 편리한 설정 웹 기반의 콘솔로 다양한 인증 기반과 결합이 가능하며 권한 관리 기능을 통해 안전한 빌드 및 배포 환경을 구축할 수 있다. 수많은 플러그인을 사용하여 자동화 할 수..
2023.12.07 -
Apache와 Tomcat을 이용해서 war를 배포해보기 먼저 배포를 하기 전 Tomcat에 대해 알아보았다. Tomcat이란 아파치 소프트웨어 재단의 웹 어플리케이션 서버(WAS)로 자바 서블릿을 실행시키고 JSP 코드가 포함되어 있는 웹 페이지를 만든다. 자바 서블릿과 JSP 규격의 참조용 구현으로 평가되고 있는 Tomcat은 웹 서버에서 넘어온 동적인 페이지를 읽어들여 프로그램을 실행하고 그 결과를 다시 html로 재구성하여 Apache에게 되돌려주는 역할이다. Apache는 HTTP 웹 서버이고 구축이 쉽기 때문에 많이 사용한다. 여기서 Apache와 Tomcat의 차이점 Apache는 HTTP 요청을 처리하는 웹 서버이고 Tomcat은 WAS 서버이다. WAS(Web Application Ser..
신입 개발자의 기록 [12/06] Apache와 Tomcat을 사용해 war 배포Apache와 Tomcat을 이용해서 war를 배포해보기 먼저 배포를 하기 전 Tomcat에 대해 알아보았다. Tomcat이란 아파치 소프트웨어 재단의 웹 어플리케이션 서버(WAS)로 자바 서블릿을 실행시키고 JSP 코드가 포함되어 있는 웹 페이지를 만든다. 자바 서블릿과 JSP 규격의 참조용 구현으로 평가되고 있는 Tomcat은 웹 서버에서 넘어온 동적인 페이지를 읽어들여 프로그램을 실행하고 그 결과를 다시 html로 재구성하여 Apache에게 되돌려주는 역할이다. Apache는 HTTP 웹 서버이고 구축이 쉽기 때문에 많이 사용한다. 여기서 Apache와 Tomcat의 차이점 Apache는 HTTP 요청을 처리하는 웹 서버이고 Tomcat은 WAS 서버이다. WAS(Web Application Ser..
2023.12.06 -
배열 속 중복된 요소를 지우고 그 자리를 뒤의 요소로 채워야하는 문제이다. 처음에는 되게 어렵게 생각했었다. 새로운 배열을 만들지 않고 어떤 식으로 해결할까 생각하다가 nums[i] == nums[i+1] 일 때 nums[i+1] 자리에 nums[i+2]의 값을 넣어주면 되는 거 아닐까 생각을 했었는데 그런식으로 문제를 푸니 계속 오답이 나왔다. 그래서 result 라는 변수를 선언한 뒤 nums[i] != nums[i+1] 일 때 nums[result] 에 nums[i+1] 를 넣어준다. 그리고 result를 반환해주면 답이 나온다. class Solution { public int removeDuplicates(int[] nums) { int result = 1; for(int i = 0; i < n..
[리트코드] Remove Duplicates from Sorted Array배열 속 중복된 요소를 지우고 그 자리를 뒤의 요소로 채워야하는 문제이다. 처음에는 되게 어렵게 생각했었다. 새로운 배열을 만들지 않고 어떤 식으로 해결할까 생각하다가 nums[i] == nums[i+1] 일 때 nums[i+1] 자리에 nums[i+2]의 값을 넣어주면 되는 거 아닐까 생각을 했었는데 그런식으로 문제를 푸니 계속 오답이 나왔다. 그래서 result 라는 변수를 선언한 뒤 nums[i] != nums[i+1] 일 때 nums[result] 에 nums[i+1] 를 넣어준다. 그리고 result를 반환해주면 답이 나온다. class Solution { public int removeDuplicates(int[] nums) { int result = 1; for(int i = 0; i < n..
2023.12.05