본문 바로가기
반응형

전체 글1072

배열의 복사(깊은복사, 얕은복사) 포스팅 쓰기 앞서, 이 복사에 대한 개념은 현재 탭인 자바 뿐 아니라 다른 언어에서도 비슷하게 적용이 된다. 그냥 모르고 사용을 하면 위험하니 개념을 알려주기 위해 포스팅을 작성이고 java 탭에 작성한 이유는 테스트 코드가 자바 언어로 했기 때문이다. 배열이 있고 그 배열을 복사해야하는 때가 있다. 그럴때 그냥 변수 복사하듯이 복사를 하게 되면 아래와 같은 상황이 발생한다. int[] a = {1,2,3,4}; int[] b = a; 이렇게 코드를 짜면 이 그림처럼 작동을 한다. 두개의 변수가 같은 배열을 바라보고 A 가 변경되면 B에서도 변경된 값이 나온다. 사실 이러면 복사의 의미가 없다. 그래서 배열을 복사할때는 깊은 복사를 해줘야하고 깊은 복사는 다음 그림과 같다. 이렇게 하기 위한 코드는 다음.. 2022. 7. 29.
특정 파일 리스트 가져오기(listdir) os.listdir 우선 os 모듈의 listdir을 사용해 특정 폴더에 있는 .py 파일만 보게 된다. import os path = "./" file_list = os.listdir(path) print ("file_list: {}".format(file_list)) 코드는 매우 간단하다. 현재 디렉토리에 있는 모든 파일(디렉토리) 리스트를 가져온다. 실행 결과는 다음과 같다. file_list: ['a','b','c']; 디렉토리 내에 있는 모든 파일 및 디렉토리 리스트가 나왔다. 내가 원하는 파일은 .py 확장자를 가진 파일이므로, 코드를 추가해보면 import os path = "./" file_list = os.listdir(path) file_list_py = [file for file in.. 2022. 7. 28.
[Oracle]특정 컬럼명을 가진 테이블을 찾을때 어떤 컬럼을 조인하고 있는 테이블을 찾고 싶거나, 컬럼명만 알고 테이블 이름을 모를때 사용하는 쿼리이다. SELECT TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE 1=1 AND COLUMN_NAME = 'table_name' AND COLUMN_NAME LIKE '%ble_n%' 참고로 전체 테이블을 확인하는 쿼리는 다음과 같다. select * from all_tables; 2022. 7. 27.
@Autowired 대신 @RequiredArgsConstructor Spring 에서는 다양한 장점이 존재하는데 그중 하나는 의존성 주입(DI) 에 대한 개념이다. 이 개념이 어떤 의미인지 모른다면 아래 참고포스팅에서 확인하고 오면 도움이 될것이다. 여기서 나오는 annotation중 하나는 autowired 라는 annotation이고 이 annotation의 역할은 스프링 bean에 등록되어있는 객체를 주입해주는 역할이다. 하지만 스프링팀에서 autowired를 사용하는것보다 RequiredArgsConstructor를 사용하는것을 추천하는 글을 보았다. 일단 먼저 RequiredArgsConstructor annotation은 하는 역할이 자동으로 필수 생성자를 만들어주는 역할을 한다. 비슷한 annotation으로는 NoArgsConstructor, AllArgs.. 2022. 7. 26.
[mac setting .m1pro] IJ 설치(IntelliJ) 자바 및 스프링 등을 다루기 위해서는 지금까지 eclipse 나 STS IDE를 사용해왔는데, IntelliJ 의 추천을 여러번 받아보고 좋은 성장의 기회일것 같아서 설치라도 해보고 심심할때 잠깐이라도 해보려고 설치를 해보았다. 이클립스 설치가 궁금한 분이라면 아래 참고 포스팅을 확인해보길 추천한다. IntelliJ IDEA는 JetBrains사에서 제작한 상용 자바 통합 개발 환경이다. 줄여서 IntelliJ 혹은 IDEA로도 불린다. 이클립스 재단의 이클립스와 썬 마이크로시스템즈의 넷빈즈로 대표되는 무료 자바 통합개발환경에서 볼랜드(/코드기어)의 제이빌더(JBuilder)와 함께 얼마 안 되는 상용 개발 도구 가운데 하나이다. (출처 : 위키백과) 먼저 설치를 하려면 사이트로 접속을 한다. https.. 2022. 7. 25.
substring , indexOf (lastIndexOf), charAt 을 이용한 문자열 추출 자바에서 String 을 다룰때 자주 사용하는 메서드들이다. String substring(int start) : 현재 문자열 객체 start위치부터 끝까지 문자열 발췌 String substrnig(int start, int end) : 현재 문자열 객체에서 start 부터 end 직전까지 문자열 발췌 Char charAt(int location) : 현재 문자열 객체에서 해당위치의 문자값 1개를 발췌. 반환값은 char형 int indexOf(int ch) : 현재 문자열 객체에서 ch문자가 첫번째로 발견된 위치를 반환,없으면 -1반환 int indexOf(String str) : 현재 문자열 객체에서 str를 찾아서 존재하면 첫째문자 위치를 반환하고 없으면 -1반환 int lastIndexOf(St.. 2022. 7. 24.
InsertSelect / UpdateSelect 데이터베이스를 다루는 쿼리는 다양하게 있지만 InsertSelect 과 UpdateSelect 라는 구문도 있다. 구문은 쉬우나 자주 헷갈리는 문법이라서 포스팅 해두고 직접 보려고 작성하였다. InsertSelect Insert Into 테이블A A Select * from 테이블B B //여기에서는 컬럼이 동일한 갯수, 자료형 이어야 한다. UpdateSelect UPDATE 테이블A A SET ( A.업데이트 받을 컬럼 ) = ( SELECT B.업데이트 할 컬럼 FROM 테이블 B B WHERE B.NO = '특정번호' ) WHERE A.NO ='특정번호'; 2022. 7. 23.
JPA에서의 어노테이션 JPA에서나 Springdata JDBC에 사용되는 어노테이션에 관해서 다뤄볼 것이다. 엔티티 관련 @Entity 당 어노테이션을 붙이게 되면 해당 클레스가 데이터베이스의 테이블과 1대1 매칭이 됨. @Table(name="zzz") 해당하는 테이블과 매핑됨. @Column(aa 해당 맴버변수와 테이블의 Column와 맵핑됨 @Id 해당 어노테이션이 붙은 맴버변수는 해당 테이블의 Primary key가 된다. 객체를 식별할 유일값임. @GeneratedValue(stargety=?) AUTO(default):JPA 구현체가 자동으로 생성 전략을 결정한다. IDENTITY : 기본키 생성을 데이터베이스에 위임한다. 예를 들어 MySQL의 경우 AUTOINCREMENT를 사용하여 기본키를 생성한다. SEQU.. 2022. 7. 22.
LocalDateTime 날짜 비교 자바에서 날짜 자료형중 하나인 LocalDateTime에서 날짜를 비교하려면 다음과 같이 비교를 하면 된다. import java.time.LocalDate; public class LocalDateCompare { public static void main(String[] args) { LocalDate date1 = LocalDate.of(2021, 6, 19); LocalDate date2 = LocalDate.of(2021, 6, 20); LocalDate date3 = LocalDate.of(2021, 6, 20); // isAfter() System.out.println(date1.isAfter(date2)); // false System.out.println(date2.isAfter(date.. 2022. 7. 21.
반응형