본문 바로가기

전체 글411

java URL stream meta data 추출 파일을 외부공간에 올려두고 그것을 다시 URL Stream 으로 읽어어 오려고 한다. 하지만 이파일이 어느 확장자명을 가진것인지 모를때는 META 데이터를 읽어와 확장자 명을 정의해야한다. URL.openStream() 과 Files.write({file_name}, {input_stream}) 으로 저장하려할때 어째든 파일 이름과 확장자 명이 필요하다. 그럼 해당 파일에 대한 확장자명은 파일을 임의의 파일로 저장한뒤에 메타데이터를 읽어와 다시한번 저장 하도록 한다. 순서 1. URL 스트림으로 파일 읽기 2. Temp directory 에 파일 저장 하기 3. 템프파일을 읽어들여 메타데이터확인하기 4. 템프디렉토리 파일을 지정된 파일 경로로 메타데이터를 입혀 저장하기 public static void .. 2021. 6. 9.
software design pattern Design pattern 디자인 패턴은 여러 분류로 그룹화 되어 있으며, 크게 3세가지로 나뉜다. 보통 우리가 알고 있거나 자주 이야기 되는 패턴은 생성패턴, 구조패턴, 행동패턴이며, 그외에도 동시실행 패턴도 있다. UML과 같은 일종의 설계 기법 및 설계방법이며, 소프트웨어 엔지니어링에서 디자인패턴은 소프트웨어 디자인시에 일반적으로 발생되는 문제이대한 일반적인 해결책이다. 디자인 패턴으로 코드를 직접 변환하거나 디자인한다고 해서 해결되는 것은 아니며, 이를 해결하기 위한 설명 혹은 템플릿 이라 생각하면 된다. 사용하는(패턴 화된) 이유 ? 다른 사람이 작성한코드를 보고 이해하는건 쉽지 않다. 이해되지 않는 코드드를 수정하거나 새로운 기능을 추가할때는 의도치 않은 결과나 버그가 발생되곤 한다. 디자인 .. 2021. 6. 1.
java generic 사용법 java generic 이란? java 5 버전부터 등장하기 시작한 제네릭 기능이다. 형변환을 안전하게 해주고, 컴파일시에도 잘못된 형변환을 알려준다. 이로인해 코드의 재사용성을 높일수 있고 , 제네릭 메소드 이용시 타입 세이프 하게 개발가능 하다. 가장 보편하게 알려진 제네릭의 의미는 다음과 같다. 제네릭 은 클래스 내부에서 사용할 테이터 타입을 외부에서 지정하는 기법을 말한다. 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 위와 같이 다양한 타입의 객체들을 형변환시, 컴파일시에 도움을 받도록 한다. 제네릭은 사용시 메소드, 클레스, 변수에 활용방법에 따라 명칭이 각기 다르다. 해당 타입종류를 모른다고 해서 문제되진 않는다. Java 개발을 하며 무의식.. 2021. 6. 1.
java Byte[] 문자열 변환 및 복원 byte[] 배열을 문자열로 변환하여 사용 RestAPI 통신을 하거나, 혹은 다른 이유로 인해서 파일을(Byte[]) 를 문자열로 저장 하거나 보내야할 경우가 있다. 가끔 우리가 웹화면에서 HTML의 image 테그를 이용할때 2021. 6. 1.