일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 오버로딩
- 붕대 감기 자바
- 쿠키
- 객체지향
- 붕대 감기
- CPU
- 오블완
- 입출력
- 프로그래머스 붕대 감기
- SQL Mapper
- 멀티태스킹
- contiune
- 중첩 break
- spring security
- 자바의정석
- spring security 설정
- 혼공얄코
- 자바의 정석
- 프로그래머스
- 티스토리챌린지
- continue 사용법
- 리눅스
- java
- 캡슐화
- over()
- 다형성
- hackerrank
- break 사용법
- 오버라이딩
- 멀티프로세싱
- Today
- Total
목록개발공부 (43)
쉽게 쉽게
▤ 목차1. break문 사용법 1. break문 break는 주로 if문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다.break문은 자신이 포함된 가장 가까운 반복문을 벗어난다.for(int i=0; i 2. 중첩 break문중첩 반복문(여러 개 for문) 일 경우에 현재 위치한 가장 안쪽의 반복문에서 빠져나오고 다시 제일 바깥쪽의 반복문을 실행하게 된다.for(int i=0; i 3. 라벨 붙은 break문break문은 근접한 단 하나의 반복문만 벗어날 수 있기 때문에, 중첩 반복문 경우에는 불필요한 반복이 발생할 수 있다. 중첩된 반복문을 벗어나고 싶다면 각 반복문마다 라벨을 지정해 주고 해당 라벨명을 break 명령에 기재하여 원하는 반복문 단계를 바로 빠져나올 수 있다.Loop..
▤ 목차Map에서 활용할 수 있는 메서드와 키(key)와 값(value)을 사용하는 방법에 대해 공부하며 작성했다.1. Map의 추가 메서드 활용보통은 아래처럼 map을 선언하고 값을 넣어준다.HashMap map = new HashMap();map.put(1,"AAA");map.put(2,"BBB");map.put(3,"CCC");map.put(4,"DDD");map.get(1); //AAAmap.get(2); //BBBmap.get(3); //CCCmap.get(4); //DDD하지만 map에 동일 키 값을 추가할 경우 value의 값이 덮어쓰기가 되는데 이를 원치 않는다면 getOrDefault 메서드를 사용할 수 있다. 1. getOrDefault getOrDefault(Object key, V..
▤ 목차1. Spring Security 커스텀 화면Spring Security에서 기본으로 제공하는 로그인 화면과 설정이 있지만 이는 기본적인 수준이라 커스텀이 반드시 필요하다.커스텀 구현 과정에서 화면 생성, 커스텀용 클래스 및 빈 생성 등을 진행할 것이다. Spring Security는 AuthenticationManager(ProviderManager)가 가지고 있는 provider 목록을 순회하면서 provider가 실행 가능한 경우에 provider의 authenticate 메서드를 호출하여 인증 절차를 수행한다. 따라서 4~8에 해당하는 과정을 커스텀하여 만들어줄 것이다.전체적인 과정은 아래와 같다.login 화면 구현 -> Spring Security 설정 수정 -> custcomUser..
▤ 목차1. Spring Security 설정 방법Spring Security 설정에 2가지 방법을 사용할 수 있다는 것을 알았다.java config 방식과 xml 방식인데 이 둘은 설정방법에는 차이가 있다. 이 둘의 차이를 먼저 알아보고 프로젝트에 적용하고자 했다. 1. Java Config 방식장점타입 안전성: Java Config 방식은 컴파일 시점에 오류를 검출할 수 있기 때문에 타입 안전성을 보장한다. 설정 중 잘못된 구문을 작성하면 컴파일 시점에 바로 경고를 받을 수 있다.IDE 지원: Java 코드 기반 설정은 IDE에서 코드 자동 완성 및 리팩토링에 대한 지원이 잘 제공된다.유연성: Java Config 방식은 조건부 로직을 넣거나 복잡한 설정을 처리하는 데 유연하다. Java 코드의 장..
▤ 목차1. 우편번호 API 활용우편번호와 주소를 입력하기 위해서 다음에서 제공하는 API를 활용할 수 있다.https://postcode.map.daum.net/guide Daum 우편번호 서비스우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다.postcode.map.daum.net2. 우편번호 개발1. 라이브러리 다운로드2. 우편번호 양식 고르기다음에서는 다양한 우편번호 양식을 제공한다. 이 중에 원하는 방식을 선택하여 구현하면 된다.1. 팝업을 이용하여 도로명 주소와 지번 주소 모두 보여주기2. 사용자가 선택한 값 이용하기3. iframe을 이용하여 레이어 띄우기4. iframe..
▤ 목차1. 소수 구하기1. 방법1 (N까지 나누기)N 보다 작은 자연수들로 나눈 후 소수인지 아닌지 판별하는 알고리즘이다. 시간복잡도: O(N²)public boolean isPrime(int n) { if (n 2. 방법2 (N의 제곱근보다 작은 수까지 나누기)첫 번째 방법에서 좀 더 발전된 방법으로 소수를 구할 때 N의 제곱근(√) 까지만 나눈다.소수인지 판별할 자연수의 제곱근을 기준으로 그 숫자의 약수들의 곱셈은 대칭적으로 곱셈이 일어나기 때문에 제곱근까지만 판별하면 된다. 만약 n=36일 때1×36=362×18=363×12=364×9=366×6=36 (제곱근에서 대칭의 끝) 즉, 약수는 작은 수와 큰 수로 짝을 이루고 있으며, 그 짝 중 하나는 항상 √n보다 작거나 같고, 다른 하나는 ..
▤ 목차1. 최대공약수 구하기최대공약수란 0이 아닌 두 개 이상의 정수의 공통되는 약수 중에서 가장 큰 수이다.여기서 유클리드 호제법을 이용하여 간편하게 최대공약수를 구할 수 있다.유클리드 호제법의 핵심은 큰 수를 작은 수로 나누어 떨어지게 한 뒤, 수를 반복적으로 수행하여 나머지 0이 될 때까지 작동하는 방법을 의미한다. 이때 작은 수가 최대공약수다. (주의할 점은 큰 수를 작은 수로 나눠야 한다는 것)예를 들어 1071과 1029의 최대공약수를 구하면,1071은 1029로 나누어 떨어지지 않기 때문에, 1071을 1029로 나눈 나머지를 구한다. ≫ 421029는 42로 나누어 떨어지지 않기 때문에, 1029를 42로 나눈 나머지를 구한다. ≫ 2142는 21로 나누어 떨어진다. 따라서, 최대공약수는..
▤ 목차1. 약수의 개수 구하기1. 방법1int N = 12345; // 숫자int cnt = 0; // 약수의 개수 for(int i=1; i이 방법은 number가 커질수록 비효율적이다. 2. 방법2 (효율적인 방법)int N = 12345; //숫자int cnt = 0; //약수의 개수for (int i = 1; i*i N의 약수 중 하나가 m이라고 했을 때, 다른 약수는 number/m이 되므로 하나의 약수를 알면 다른 하나를 알수있다.for문을 √N까지 구하면 약수 절반의 개수를 구할 수 있다는 걸 알 수 있다.즉 1~√N까지 수 중 N의 약수를 구해 × 2를 해주면 되고, 약수가 √N인 경우에 제곱근이므로 1개로 카운트해주면 된다. https://chwan.tistory.com/e..
▤ 목차1. tiles란?공통적으로 사용되는 header/footer와 같은 jsp를 한 곳으로 모아 관리할 수 있도록 해주는 프레임워크이다.만약 각 페이지의 header를 직접 입력하고 수정해야 한다면 많은 노동이 필요하지만 tiles에서는 이를 효율적으로 관리해 줄 수 있다. 2. tiles 적용 방법tiles 적용은 아래 순서로 진행된다.tiles 라이브러리 적용 -> dispatcher-servlet.xml (view resolver)수정 -> tiles.xml 생성 ->. jsp 생성 1. pom.xml 추가 3.0.8 org.apache.tiles tiles-core ${org.apache.tiles-version} org.apache.tiles tiles-se..
▤ 목차1. 이슈공통적으로 사용하는 CommonService에서 모든 컨트롤러에서 사용될 public static void 메서드가 하나 있을 때, 이 static void 필드에 @Autowired된 빈을 사용해야 하는 상황이 발생했다.그러나 그냥 static에 @Autowired된 빈을 사용하면 NullpointerException이 발생하게 된다.@Servicepublic class CommonService { @Autowired private MyBean myBean; public static void commonMethod() { myBean.doSomething(); // myBean이 주입되지 않으므로 NPE 발생 }}그 이유는 @Autowired는 인스..