java || spring boot24 유용한 intellj 단축키 명렁어windowmacGenerate 메뉴를 호출ALT + Insertcmd + N 2025. 2. 18. Java에서 Enum + Bitmask 패턴 활용하기 ## 2. Bitmask만 사용한 경우 (가독성 낮음)Bitmask를 활용하면 여러 상태를 비트 연산(OR, AND 등)을 통해 효율적으로 관리할 수 있습니다.```javapublic class BitmaskExample { // 권한을 나타내는 비트 마스크 값 정의 public static final int FLAG_READ = 1 permissions = EnumSet.of(Permission.READ, Permission.WRITE); checkPermission(permissions, Permission.READ); checkPermission(permissions, Permission.WRITE); checkPermission(permission.. 2025. 2. 10. BitSet 이란? in java BitSet이란?)자바에서 BitSet란 플레그를 비트로 계산할수 있도록 해주는 메서드 이다. BitSet으로 선언하면 BitSet의 크기는 동적으로 조절된다.따로 초기화시에 자바에서 size를 지정하지 않았다면 default size 는 8byte 이다. why? 사용?)보통 플래그를 int로 선언해서 int plag = 0; 이라고 한다면 int값인 4byte가 소모된다. boolean 자료형의 경우 1byte(= 8bit)의 메모리가 필요한 반면, 비트로 저장하면 1bit만 사용한다. 동적 계산법 (DP : Dynamic Programming)에 유리boolean 배열 처럼 사용할 수 있다!! 선언)import java.util.*; BitSete bs = new BitSet(); 선언할떄 위.. 2025. 2. 3. 묵시적형변환이란? 예) java 기준1. System.out.println("SON" + 11); -> SON11이런식으로 11은 묵시적형변환으로 문자로 취급되어 출력된다. 2. int a double b a/b -> 실수값이 나옴위와 같이 자료형이 둘이 다를경우 자료형의 범위가 큰것을 기준으로 작은것이 바뀌게 된다int a -> double a 로 잠깐 변하여 계산되어진다a/b -> 실수/ 실수 로 실수값이 나오게 된다 작은 범위의 자료형이 큰 범위의 자료형 기준으로 변하게된다. 이걸 묵시적형변환이라고 한다. why? 큰범위 기준으로 자료형이 변하게 되는걸까?만약에 작은 범위의 자료형을 기준으로 바뀌게 된다면 범위가 안맞을수 있기 때문이다ex) int a =123; double c=12312312.. 2025. 1. 16. API 요청 하기 restTemplate 사용 - restTemplate - HTTPURLConnection 또는 HttpClient - Feign 클라이언트 - OkHttp - Retrofit 1. spring 통합 -> restTemplate는 spring의 핵심 모듈에 포함되어 있어 spring의 다른 구성 요소와 잘 통합 2. sync, async 지원 -> 동기식 및 비동기식 http 요청을 모두 지원 3. 다양한 http 메서드 지원 -> GET, POST, PUT, DELETE 등 다양한 http 메서드 지원 4. 다양한 인코딩 및 디코딩 기능 -> http요청 및 응답의 데이터를 다양한 형식으로 인코딩하거나 디코딩할 수 있다. ex)json, xml, form .. 2024. 5. 10. API 사용을 위해 HTTP 요청 헤더 만들기 카카오 API 문서 참고시 요청시 다음과 같은 형식이다. 요청 형식( -H "Authorization: KakaoAK ${REST_API_KEY}" ) 이부분을 참고해서 다음과 같이 헤더를 만들어준다. HttpHeaders 를 사용해서 headers를 만들어 준다 이때 응답은 Json형식으로 원한다고 했을 시 headers.setAccept() -> 클라이언트가 JSON 형식의 응답을 원한다는 것을 서버에 알리기 위해 Accept 헤더를 설정하는 부분 headers.set() -> HTTP 요청에 인증 정보를 추가하기 위해 Authorization 헤더를 설정하는 부분 (카카오 api를 사용하기 위해 개인키를 생성 받아서 restApiKey를 넣어.. 2024. 5. 10. sping boot (intellj)편리한 단축키 맥북기준) option + command + m선택한 코드들 묶어서 클래스 만들기option + command + p선택한 부분 클래스에 파라미터 자동으로 만들어줌 ctrl + G다중선택(있는 숫자 만큼 눌러야 한다)ctrl + cmd + G다중선택(있는 숫자 모두 한꺼번에 선택)option + command + L(대문자,소문자상관없이)코드 자동 정렬하기command + shift + t 테스트 코드 만들기 단축키 debtools 가 있는경우)shift + command + F9 = 해당페이지 바로 컴파일 ( 따로 다시 빌드 할 필요없이 바로 적용 가능) 2024. 4. 23. CIA란? C: 기밀성 I : 무결성 A: 가용성 (문서에 제대로 접근이 가능한지 못한지 ) -> 가용성 지키는 방법 : 암호화 2024. 4. 10. StringBuffer 와 StringBuilder의 차이점 StringBuffer 동기화를 지원하여 멀티쓰레드 환경에서 주로 사용한다-> Thread-safe하다 -> 싱글쓰레드 환경일 경우 StringBuffer을 사용해도 되나 동기화관련 처리 때문에 StringBuilder보다 성능이 좋지는 않다. 가변성을 가진다 ->문자열 연산작업이 많을 떄 사용하기 좋다 StringBuilder 동기화를 지원하지 않아 싱글쓰레드 환경에서 주로 사용한다. 가변성을 가진다. ->문자열 연산작업이 많을 떄 사용하기 좋다 cf)Thread-safe-> 멀티쓰레드에서 한 쓰레드가 한 함수를 호출해서 실행되고 있을 때 다른 쓰레드가 그 함수를 호출해서 동시에 실행되더라도 각 쓰레드에서의 함수의 수행결과는 올바르게 나온다. -> 동기화 처리 문제로 속도 측면에서 느려질수 있다. cf.. 2024. 1. 11. call by value, call by reference란? Call by value 인자로 받는 값을 복사하여 처리하는 방식을 의미한다. Call by reference 인자로 받는 값의 주소를 참조하여 직접 값에 영향을 준다. call by value 장점 : 원본값의 불변성을 보장해준다. 단점 : 복사를 해야하기 때문에 메모리 사용량이 늘어나다 call by reference 장점 : 복사하지 않고 직접 참조하기 때문에 빠르다 단점 : 직접참조하기 때문에 원본값이 영향을 받는다. java에서는 포인터가 없어 기본적인 매개변수는 call by value이다. 2024. 1. 4. 이전 1 2 3 다음 728x90