- [ Oracle ][Oracle] Sql Developer2021-08-18 17:39:54sql developer 버전을 최신 버전으로 업데이트 하려고 했다. 설치 후 실행을 해보니 아래와 같은 오류 발생! CMD 창을 열어서 > echo %JAVA_HOME% 을 통해 현재 버전 확인도 가능하다. 아래에 가서 다운로드! https://www.oracle.com/java/technologies/javase-downloads.html 설치 후 환경 변수에서 JAVA_HOME 을 변경해주고, 실행하면 된다.
- [ Java ][JAVA] Class 파일 decompile2021-08-11 12:20:20class 파일로 배포된 파일을 읽고 싶은 경우에는 decomplie 툴을 통해 확인 가능하다. http://java-decompiler.github.io/#jd-gui-download 을 접속해서, 아래 다운로드!! 아래와 같이 실행되고, 해당 파일을 열면 바로 볼 수 있다.
- [ Java ][JAVA] 2차원 배열 정렬 Arrays.sort2021-04-23 23:33:511차원 배열의 경우, 아래와 같이 오름차순으로 정렬이 된다. Arrays.sort(arr) 하지만 2차원의 경우에는 compare 함수를 써주면 간단하다. 아래와 같은 2차원 배열이 있다고 가정하면 int[][] arr = {{2,5},{1,5},{1,4}} 아래와 같이 정렬할 수 있다. Arrays.sort(arr, Comparator.comparingInt(o1 -> o1[0])); 0번째 값을 기준으로 compare을 하는 것을 의미한다. 하지만 0만 기준으로 하면, 아래와 같이 보일 수 있다. {{1,5}, {1,4}, {2,5}} 따라서, 0번째가 같을때 두번째 요소를 이용하여 정렬을 하면 된다. 0번째가 같으면 1번째를 비교하고, 다른 경우에는 그냥 0번째로 비교한다. Arrays.sort(a..
- [ Java ][Java] Integer와 int의 차이2021-04-21 14:00:47int (Primitive 자료형-객체가 아니다) ‘자료형’ 을 의미한다. (int, float, long, double 와 같은 하나의 primitive 자료형을 의미합니다.) ‘산술 연산’이 가능합니다. null 로 초기화 불가능합니다. (0으로 초기화 가능합니다.) 이러한 점 때문에 자바는 C/C++과 조금의 차이를 보입니다. Integer (Wrapper 클래스-객체다) Wrapper 클래스입니다. Unboxing 을 하지 않으면(int로 변경하는 것) 산술 연산이 불가능하지만, null값은 처리할 수 있습니다.(그런데 실행하면 산술이 된다!!! 이건 자바에서 Auto unBoxing을 해서 그런다) null값 처리가 용이해서 SQL 과 연동할 경우 처리가 용이. 직접적인 산술연산은 불가능합니다...
- [ Java ][JAVA] BigInteger2021-04-01 17:20:17BigInteger를 사용해야 하는 이유 Type 범위 int -2,147,483,648 ~ 2,147,483,647 long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 BigInteger 선언 BigInteger big = new BigInteger("10000"); BigInteger 에서는 사칙연산(+ , - , * , /) 을 사용할 수 없다!! 덧셈(+) -> add 뺄셈(-) -> substract 곱셈(*) -> multiply 나눗셈(/) -> divide 나머지(%) -> remainder BigInteger 형 변환 BigInteger bigNumber = BigInteger.valueOf(100000); //int -> BigIn..
- [ Java ][JAVA] X-Frame-Options deny2021-03-12 12:10:51iframe을 사용하다 보면 설정에 의해서 Refused to display 'http://localhost:7100/' in a frame because it set 'X-Frame-Options' to 'deny'. 와 같은 메세지를 만나게 되었다. nginx나 tomcat , 웹서버에서 설정하는 부분도 있으나 자바에서 해결하였다. HttpSecurity 설정 부분에 HttpSecuriry.headers().frameOptions().sameOrigin(); 을 설정하였다. X-Frame-Options 에는 아래와 같이 세가지 값이 있다. DENY 해당 페이지는 frame 내에서 표시할 수 없다. SAMEORIGIN 해당 페이지와 동일한 orgin에 해당하는 frame 내에서 표시를 허용한다. ALL..
- [ Java ][JAVA] Stream API2021-02-24 18:10:47Java Stream Stream은 자바 8부터 추가된 기능으로 "컬렉션, 배열등의 저장 요소를 하나씩 참조하며 함수형 인터페이스(람다식)를 적용하며 반복적으로 처리할 수 있도록 해주는 기능"이다. (InputStream, OutputStream같은 I/O Stream이 아니다.) List names = Arrays.asList("jeong", "pro", "jdk", "java"); // 기존의 코딩 방식 long count = 0; for (String name : names) { if (name.contains("o")) { count++; } } System.out.println("Count : " + count); // 2 // Iterator 방식 long count = 0; Iterator ..
- [ Java ][JAVA] 람다식 (Lambda)2021-02-24 17:25:08람다함수란? 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다. 현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다. 람다의 특징 람다 대수는 이름을 가질 필요가 없다. - 익명 함수 (Anonymous functions) 두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 될 수 있다. - 커링 (Curring) 익명함수? 익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다. 이 일급 객체란..