본문 바로가기

java

[JAVA] 이클립스 Decompiler 설치 개발하면서 Class 파일을 열어서 보고 싶은 순간들이 있다. 패키징되어있다던가, 이미 컴파일된 파일들을 확인하려면, 디컴파일을 통해서 사람이 인지할 수있는 언어로 변환시켜야만이 Class 파일의 내용 읽어들일 수 있게 된다. 그리고, 이클립스에 Enhanced Class Decompiler 을 이용하여 그러한 기능을 수행할 수 있다. 1. Help > Eclipse Marketplace 2. Enhanced Class Decompiler 인스톨 특별히 설정해야할 것들은 없고, 아래의 순서대로 진행하여 해당 플러그인을 설치해주도록 한다. 3. 설치완료 후, 아래대로 진행 4. 설치 완료 후의 작업 설치가 완료되면, Preferences > JAVA 항목에 Decompiler 를 확인할 수 있고, Defa.. 더보기
[JAVA-THEORY] 자바 이론 1 [출처] 자바의정석 JAVA JAVA는, 썬 마이크로 시스템즈에서 개발하여 발표한 객체지향 프로그래밍 언어. 자바의 특징 운영체제에 독립적이다. 운영체제에 설치한, 자바가상머신 ( JVM ) 을 통해, 자바 응용프로그램이 실행되기 때문에, 자바 프로그램은 OS 로 부터 독립적으로 실행 가능하다. ( Write Once, Run Anywhere ) JVM : 자바를 실행하기 위한 가상 머신, 객체지향언어이다. 객체지향 프로그래밍 언어 중 하나이며, 객체 지향개념의 특징인 [ 상속, 캡슐화, 다형성 ] 이 잘 적용된 순수한 객체지향 언어로 평가 받는다. 배우기 쉽다. 자바의 연산자와 기본 구문은 C++ 로부터, 객체지향 관련 구문은 스몰톡 이라는 객체 지향언어에서 가져왔다. 객체지향 언어의 특징인 재사용성과.. 더보기
[JAVA] SPRING JPA Query Method https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference Spring Data JPA - Reference Documentation Example 108. Using @Transactional at query methods @Transactional(readOnly = true) public interface UserRepository extends JpaRepository { List findByLastname(String lastname); @Modifying @Transactional @Query("delete from User u where u.active = false") v docs.spring.io 예시 ) p.. 더보기
[JAVA] LIST 형 POST 처리 - JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token at [Source: java.io.PushbackInputStream@5db922ae; line: 1, column: 1] [JAVA] LIST 형 POST 처리 // CLASS // Student , String name, Integer age @PostMapping("/test") public void test(@Valid @RequestBody List data) { .... } 위와 같이 Post 를 받아주면 아래의 에러를 만날 수 있다 JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token at [Source: java.io.PushbackInputStream@5db922ae; line: 1, column: 1] Json 파싱을 할 때, 올바른 방법이 아니라는 이야기인데, 어떻게 Student .. 더보기
[JAVA] Colletions Sort - 리스트 정렬하기 자바에서 리스트를 정렬할때, 반복문을 써서 직접 리스트 정렬을 구현해도 되지만, 그 이상 혹은 다른 기능이 필요한 것이 아니라면, 제공해주는 기능을 굳이 만들어서 사용할 필요는 없다. 아래의 Collections 클래스에서 제공해주는 메소드들을 이용하여 개발을 해보자. 참조 URL : https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html Collections (Java Platform SE 7 ) Rotates the elements in the specified list by the specified distance. After calling this method, the element at index i will be the ele.. 더보기
[JAVA] Spring 에러 Error creating bean with name : Unsatisfied dependency expressed through field ~ Error creating bean with name '...Service': Unsatisfied dependency expressed through field '...Service''; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type '...Service'' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=t.. 더보기
[JAVA] 특정 특수문자를 제외한 나머지 특수문자만 제거 하기 [JAVA] 특정 특수문자를 제외한 나머지 특수문자만 Replace 하기 특수문자 전체를 제외하는 방법은 아래처럼 "\\p{Punct}" 정규식으로 간단하게 제거를 할 수있습니다. 1. 특수문자 제거하기 // 예시 String punctStr = "a!b#c@d}!%^#" replaceAll("\\p{Punct}", ""); // 결과 : abcd 이번에, 특정 특수문자를 제외한, 나머지의 특수문자만 제거해야되는 경우가 생겨서 아래와 같은 방법을 사용했습니다. // 특수문자 정의 ARRAY String[] puncts = {"!", "\"", "#", "$", "%", "&", "(", ")", "{", "}", "@", "`", "*", ":", "+", ";", "-", ".", "", ",", "^.. 더보기
[JAVA] Spring 에서 python 사용하기 - jython 이전에 작성한 글에서 jython 을 설치하였습니다. https://binshuuuu.tistory.com/288 불러오는 중입니다... 이제 Spring + Maven 에 jython 을 연동해 봅시다. 1. Pom.xml org.python jython-standalone 2.7.1 * 가지고 있는 버전에 맞춰서 추가해주시면 됩니다. 저는 2.7.1 버전을 사용합니다. https://mvnrepository.com/artifact/org.python/jython Maven Repository: org.python » jython Jython is an implementation of the high-level, dynamic, object-oriented language Python written i.. 더보기
[ JAVA ] 자이썬 설치하기 [ JAVA ] 자이썬 설치하기 자이썬이란 ? 자이썬(Jython)은 파이썬의 자바 구현으로, Jim Hugunin에 의해 처음으로 만들어졌다. 처음에는 파이썬 표준 구현의 이름(CPython)을 따라 JPython라는 이름을 썼다. 자이썬은 자바 언어로만 작성되었기 때문에, 모든 자바 가상 머신에서 동작한다. 자이썬 프로그램은 모든 자바 클래스를 바로 불러올 수 있다. 몇몇 표준 모듈을 제외하면, 자이썬 프로그램은 파이썬 모듈 대신 자바 클래스를 사용한다. 자이썬은 표준 파이썬 배포판의 거의 모든 모듈을 포함하고 있으나, 기존에 C로 구현된 일부 모듈은 포함하지 않는다. 예를 들면, 자이썬에서 그래픽 사용자 인터페이스는 TKinter 대신 Swing이나 AWT로 작성해야 한다. https://ko.wi.. 더보기
[JAVA] Calendar 함수 * 몇가지 간단한 Calendar 함수 활용 공통 날짜 로직을 제공할 수 있다. 0. YYMMDD 날짜 포맷 생성 private static final SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd"); 1. 오늘 날짜 구하기 Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); String date = yyyyMMdd.format(cal.getTime()); 2. 오늘을 포함한 7일(이전) 날짜 구하기 String[] lastWeek = new String[7]; Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); for .. 더보기