본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

(360)
SELECT TABLE_NAME, 컬럼위치 확인하기 + 다양한 테이블에서 동일 컬럼 조회 ecoFood 데이터베이스에 customer_name이 필드인 table이름 찾아내기SELECT TABLE_NAMEFROM INFORMATION_SCHEMA.COLUMNSWHERE COLUMN_NAME = 'customer_name'AND TABLE_SCHEMA = 'ecoFood';
Caused by: org.xml.sax.SAXParseException; lineNumber: 104; columnNumber: 15; 요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다. 아래 sql에서 에러가났다.Caused by: org.xml.sax.SAXParseException; lineNumber: 104; columnNumber: 15; 요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다. SELECT F.*, A.GROUP_AREA_NM AS region, O.BUSI_CLASS_NAME AS projectType, C.NM AS projectMethod, D.NM AS constructionType, Z.NM_BUSI_AREA AS office, ROWNUM AS rn AND F.FACILITY_SEQ = #facilitySeq# AND ROWNUM    CDATA 섹션을 추가한다.* CDATA  섹션안에 들어가는 태그..
Exception java.lang.ExceptionInInitializerError: Cannot access defaults field of Properties [in thread "Worker-38: Updating Maven Dependencies"] 화면도 잘뜨고 처음에 큰 문제가 되진않지만 거슬리는 에러Exception java.lang.ExceptionInInitializerError: Cannot access defaults field of Properties [in thread "Worker-38: Updating Maven Dependencies"]   프로젝트 오른쪽 - maven - update project  force update of snapshots/release 선택 - ok   project clean, 완료  https://standout.tistory.com/1607 Maven Cannot access defaults field of Properties에러Cannot access defaults field of Proper..
Maven Cannot access defaults field of Properties에러 Cannot access defaults field of Properties  pom.xml에 plugin 추가, 완료org.apache.maven.pluginsmaven-war-plugin3.3.2
Controller에서 간단하게 DB 테스트 하기: jdbcTemplate.queryForObject 의존성 추가implementation 'org.springframework.boot:spring-boot-starter-data-jpa'implementation 'org.springframework.boot:spring-boot-starter-jdbc'implementation 'org.postgresql:postgresql:42.2.18'    db연결정보 기입(~에 알맞게 입력)spring.datasource.url=jdbc:postgresql://localhost:5432/~spring.datasource.username=~spring.datasource.password=~   jdbc template으로 select 1 실행package com.standout.scard.main;import o..
Invalid value type for attribute 'factoryBeanObjectType': java.lang.String: Mybatis 버전을 수정하자 mybatis의 버전을 업그레이(3.0.3) 하여 해결.* springframwork 버전 id 'org.springframework.boot' version '3.4.0-SNAPSHOT' 기준.
네트워크 통신을 수행하는 URLConnection: addRequestProperty() connect() getAllowUserInteraction() getConnectTimeout() getContent() getContentEncoding() getContentLength() getContentType() getDate() getDefaultAllowUserInteraction() getDefaultRequestProperty() getDefau 앞서 URL클래스와 URLConnection클래스의 차이를 알아봤다.실제로 네트워크 통신을 수행하고 요청(Request)을 보내고 응답(Response)을 받아오는 역할을 하는 URLConnection의 메서드에 대해 알아보자.https://standout.tistory.com/1522 URL 클래스와 URLConnection 클래스의 차이URL 클래스와 URLConnection 클래스는 모두 네트워크 통신을 다루는 데 사용되지만, 목적과 기능이 다르다. URL 클래스URL 클래스는 자원의 위치를 식별하고 관리주로 URL 문자열에서 프로토콜, 호스트,standout.tistory.com  void addRequestProperty(String key, String value) HTTP 요청 헤더에 지정된..
자원의 위치를 식별하는 데 사용되는 클래스URL와 URL메서드: URL() getAuthority() getContent() getDefaultPort() getFile() getHost() getPath() getPort() getProtocol() getQuery() getRef() getUserInfo() openConnection() openStream() set() toExternalForm() toURL() URLUniform Resource Locator자원의 위치를 식별하는 데 사용되는 클래스웹상의 자원을 가리키는 문자열로부터 해당 자원의 프로토콜, 호스트, 포트, 경로 등을 추출하고 관리자바 표준 라이브러리(java.net 패키지)에 포함되어 있으며, 네트워크 프로그래밍 및 웹 개발에서 많이 활용된다.  주요기능을 살펴보자. 자원 위치 식별문자열 형태로 표현된 자원의 위치(웹 페이지, 이미지, 파일 등)를 식별구성 요소 추출주어진 문자열에서 프로토콜, 호스트, 포트, 경로, 쿼리 등의 구성 요소를 추출프로토콜 지원 다양한 프로토콜(HTTP, HTTPS, FTP 등)을 지원하여 해당 프로토콜을 사용하여 자원에 접근연결 및 통신URL 객체를 사용하여 원격 호스트에 연결하고 자원을 가져오는 등의 네트워크 통..
IP 주소를 나타내는 클래스, InetAddress InetAddress 네트워크상의 호스트에 대한 IP 주소를 나타내는 클래스. byte[] getAddress() InetAddress의 IP 주소를 byte 배열로 반환import java.net.*;public class InetAddressExample { public static void main(String[] args) { try { InetAddress address = InetAddress.getByName("www.example.com"); byte[] ipAddress = address.getAddress(); for (byte b : ipAddress) { System.out.pri..
두 컴퓨터 간의 데이터 교환을 가능하게 하는 엔드포인트, 소켓 Socket 소켓 Socket소켓은 네트워크에서 데이터를 읽고 쓰는 다양한 메서드를 제공하여 통신을 가능하게 한다. 소켓이란 두 컴퓨터 간의 데이터 교환을 가능하게 하는 엔드포인트(endpoint)일반적으로 소켓은 IP 주소와 포트 번호로 식별된다.IP 주소는 특정 컴퓨터를 식별하고, 포트 번호는 해당 컴퓨터에서 실행 중인 프로세스(프로그램)를 식별한다.https://standout.tistory.com/1515 통신의 출발지 또는 도착지, 엔드포인트 endpoint엔드포인트 endpoint 네트워크에서 데이터 통신이 시작되거나 종료되는 지점통신의 출발지 또는 도착지를 나타내는 개념 네트워크에서 데이터의 출발지와 목적지를 지정하여 통신을 관리하고standout.tistory.comhttps://standout.tis..
BGP 와 같은 라우팅 프로토콜에서 사용되는 자율 시스템 번호 ASN ASN자율 시스템 번호, Autonomous System NumberASN은 인터넷 라우팅에서 사용되며, 특정 네트워크나 네트워크 그룹을 식별하는 데에 사용된다.특정 네트워크가 다른 네트워크에 연결되어 인터넷 상에서 데이터를 교환하는 데 필수적인 요소이며, 인터넷의 안정성과 효율성을 유지하는 데 중요한 역할을한다. 대개 인터넷 서비스 제공 업체(ISP, Internet Service Provider)나대규모 기업 네트워크와 같이 자체적으로 관리되는 네트워크에 할당된다.각각의 ASN은 자체적인 라우팅 정책을 가지고 있으며, 이를 통해 인터넷 상에서 데이터의 전달 경로를 결정한다. ASN은 16비트 또는 32비트의 숫자로 표현되는데16비트 ASN은 1부터 65535까지의 범위를 가지며, 32비트 ASN은 더..
TCP와 UDP, 데이터의 신뢰성이 중요한가 신속성이 중요한가? TCP Transmission Control ProtocolUDP User Datagram Protocol네트워크 통신을 위한 두 가지 주요한 프로토콜데이터의 정확성과 신뢰성이 중요한 경우에는 TCP를 사용하고, 신속한 전송이 중요한 경우에는 UDP를 사용할 수 있다.  TCP Transmission Control Protocol가상 회선 방식연결 지향적이고 신뢰성 있는 프로토콜데이터 전송의 순서가 보장되며, 데이터의 손실이나 손상을 최소화하기 위해 재전송과 오류 검출 및 복구 기능을 제공한다.세그먼트라는 단위로 데이터를 나누어 전송하고, 수신 측에서는 이를 재조립하여 원본 데이터를 복원한다.TCP는 HTTP, FTP, SMTP 등과 같이 데이터의 정확성과 순서가 중요한 응용 프로그램에 주로 사용 간단한..
직렬화 가능한 클래스의 버전 관리 UID(Unique Identifier) 직렬화 가능한 클래스의 버전 관리 UID(Unique Identifier) 직렬화된 객체의 UID(Unique Identifier)는 해당 클래스의 구조가 변경될 때마다 자동으로 갱신된다. 클래스를 수정시 이전에 직렬화된 객체를 읽어올 때 호환성 문제가 발생할 수 있다. 클래스의 호환성을 유지하기 위해 직렬화된 객체의 UID를 직접 정의하고 관리하는것. Java는 직렬화된 클래스에 버전 UID(직렬화 버전 UID)를 할당 = 호환성 유지 class Person implements Serializable { private static final long serialVersionUID = 1L; // 직렬화 버전 UID private String name; private int age; public Pers..
직렬화가 가능한 클래스 Serializable의 transient 직렬화 제외 직렬화 가능한 클래스를 만들기 위해서는 `Serializable` 인터페이스를 구현해야 한다. https://standout.tistory.com/1507 직렬화란? 데이터 저장, 네트워크 데이터 통신 직렬화 데이터 저장, 네트워크 데이터 통신 데이터나 객체를 일련의 바이트로 변환하는 프로세스 데이터를 파일에 저장하거나 네트워크를 통해 전송할수 있게 한다. Java에서는 Serializable 인터페 standout.tistory.com https://standout.tistory.com/1508 Serializable 인터페이스 직렬화 ObjectOutputStream, 역직렬화 ObjectInputStream와 각 메서드: 인터페이스 구 Serializable 인터페이스 자바에서 직렬화를 수행한다. ..
Serializable 인터페이스 직렬화 ObjectOutputStream, 역직렬화 ObjectInputStream와 각 메서드: 인터페이스 구현, 반환 defaultReadObject() read() readBoolean() readByte() readChar() readDouble() readFloat() readInt() readLong() readS.. Serializable 인터페이스 자바에서 직렬화를 수행한다. https://standout.tistory.com/1507 직렬화란? 데이터 저장, 네트워크 데이터 통신 직렬화 데이터 저장, 네트워크 데이터 통신 데이터나 객체를 일련의 바이트로 변환하는 프로세스 데이터를 파일에 저장하거나 네트워크를 통해 전송할수 있게 한다. Java에서는 Serializable 인터페 standout.tistory.com Person만들기 Serializable을 implements해 인터페이스를 구현한다. // Serializable 인터페이스를 구현한 클래스 class Person implements Serializable { private String name; private int age; public Perso..
[File 입출력 - 메서드] canRead() canWrite() canExecute() compareTo() exists() isAbsolute() isDirectory() isFile() isHidden() createNewFile() createTempFile() createTempFile() delete() deleteOnExit() equals() lastModified() length() list() listFile.. boolean canRead() 파일을 읽을 수 있는지 여부를 반환합니다. (읽을 수 있으면 true, 그렇지 않으면 false) File file = new File("example.txt"); System.out.println(file.canRead()); [출력 결과] true 또는 false boolean canWrite() 파일에 쓸 수 있는지 여부를 반환합니다. (쓸 수 있으면 true, 그렇지 않으면 false) File file = new File("example.txt"); System.out.println(file.canWrite()); [출력 결과] true 또는 false boolean canExecute() 파일을 실행할 수 있는지 여부를 반환합니다. (실행할 수 있으면 true,..
[File 입출력 - 구분자] os마다 파일경로 디렉토리의 구분자가 다른것을 처리해보자: pathSeparator pathSeparatorChar separator separatorChar 파일의 경로와 디렉토리나 파일의 이름을 구분하는데 사용되는 구분자가 os마다 다르다. 만약 윈도우 구분자를 코드에 적었을때 os에서 오류를 일으킬 수 있기에 아래의 멤버변수들을 이용한다. static String pathSeparator 파일 경로에서 디렉터리를 구분하는 데 사용되는 문자열입니다. String pathSeparator = File.pathSeparator; System.out.println(pathSeparator); // 출력: ; static char pathSeparatorChar 파일 경로에서 디렉터리를 구분하는 데 사용되는 문자입니다. char pathSeparatorChar = File.pathSeparatorChar; System.out.println(pathSeparator..
[File 입출력 - 생성/경로] 파일경로, 부모디렉터리/를 가지고있는 파일객체, 정규화된 경로/를 가진 파일객체를 구하다: File() getName() getPath() getAbsolutePath() getAbsoluteFile() getParent() getParentFile() getC.. File - 생성관련 File 객체를 생성한 후 다양한 메서드를 사용할 수 있다. File(String fileName) 주어진 파일 이름을 가지고 새로운 파일 객체를 생성합니다. File file = new File("example.txt"); File(String pathName, String fileName) 주어진 경로와 파일 이름을 이용하여 새로운 파일 객체를 생성합니다. File file = new File("/path/to/directory", "example.txt"); File(File pathName, String fileName) 주어진 경로와 파일 이름을 가지고 새로운 파일 객체를 생성합니다. File directory = new File("/path/to/directory"); F..
파일내에서 원하는 위치로 이동할 수 있는, RandomAccessFile RandomAccessFile 파일내에서 원하는 위치로 이동할 수 있는 Java의 클래스 파일의 내용을 읽거나 쓰는 데 사용될 수 있으며, 파일 내의 임의 위치로 이동하여 데이터를 읽거나 쓸 수 있다. 다른 입출력 스트림과는 달리 RandomAccessFile은 파일 내의 어떤 위치든 접근할 수 있다. `RandomAccessFile(File file, String mode)` : 지정된 파일 객체 및 모드로 `RandomAccessFile` 인스턴스를 생성한다. `RandomAccessFile(String fileName, String mode)` : 지정된 파일 이름 및 모드로 `RandomAccessFile` 인스턴스를 생성한다. `FileChannel getChannel()` : 파일의 `File..
콘솔이외의 다른 입출력대상으로, setOut(), setErr(), setIn() setOut(), setErr(), setIn() 표준입출력의 대상변경, 콘솔이외의 다른 입출력대상으로 변경하는것이 가능하다. static void setOut(PrintStream out) static void setErr(PrintStream err) static void setIn(InputStream in) https://standout.tistory.com/53 표준입출력, System.in, System.out, System.err I/O Input과 Output 입력과 출력, 입출력 컴퓨터 내부, 외부 장치와 프로그램간의 데이터를 주고받는것. 표준 스트림(standard streams) 컴퓨터 시스템의 기본 구성 요소 컴퓨터 프로그램과 그 환경(일반 standout.tistory.com `S..
바이트를 문자기반 스트림으로 InputStreamReader와 OutputStreamWriter, 인코딩을 변환하는 getEncoding() InputStreamReader와 OutputStreamWriter 바이트 기반 스트림을 문자기반 스트림으로 연결시키며 바이트기반 스트림의 데이터를 지정된 인코딩의 문자데이터로 변환하는 작업을 수행한다. inputStreamReader(inputStream in) inputStreamReader(InputStream in, Strring encoding) String getEncoding() OutputStreamWriter(OutputStream out) OutputStreamWriter(OutputStream out, String encoding) String getEncoding() InputStreamReader와 OutputStreamWriter "input.txt" 파일에서 텍스트를 읽어와서 ..
버퍼를 이용해서 입출력의 효율을 높이는 BufferedReader와 BufferedWriter BufferedReader와 BufferedWriter 버퍼를 이용해서 입출력의 효율을 높일 수 있도록 해주는 역할. readLine()을 사용하면 데이터를 라인단위로 읽을 수 있고, newLine()으로 줄바꿈이 가능한 메서드를 가지고있다. "input.txt" 파일에서 텍스트를 읽어와서 "output.txt" 파일에 한 줄씩 쓰는 예시이다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class BufferedReaderWriterExample { public static voi..
문자열 데이터를 읽고 쓰는 데 사용되는 클래스, StringReader와 StringWriter StringReader와 StringWriter 문자열 데이터를 읽고 쓰는 데 사용되는 클래스, 입출력대상이 메모리이다. 파일이나 네트워크와 같은 외부 자원에 대한 입출력이 필요하지 않을 때 유용하다. StringWriter에 출력되는 데이터는 내부 StringBuffer에 저장된다. `StringReader`를 사용하여 문자열 "Hello, world!"를 읽고, `StringWriter`를 사용하여 그 문자열을 다시 쓰는 예시이다. import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; public class StringReadWriteExample { public static void main(Stri..
한 스레드에서 생성한 데이터를 다른 스레드에서 읽을 수 있는 PipeReader와 PippedWriter PipeReader와 PippedWriter 쓰레드간에 데이터를 주고받을때 사용된다. 한 스레드에서 생성한 데이터를 다른 스레드에서 읽을 수 있다. 입출력스트림을 하나의 스트림으로 연결해서 데이터를 주고받으며 입출력을 마친이후 한쪽스트림만 닫아도 나머지 스트림은 자동으로 닫힌다. `PipedWriter`로 데이터를 쓰고, `PipedReader`로 데이터를 읽는 스레드 간 통신을 보여주는 예시이다. `WriterTask` 클래스는 파이프에 데이터를 쓰고 `ReaderTask` 클래스는 파이프에서 데이터를 읽는다. import java.io.IOException; import java.io.PipedReader; import java.io.PipedWriter; public class PipeExample..
파일로부터 텍스트 데이터를 읽고, 파일에 쓰다 FileReader와 FileWriter FileReader와 FileWriter 파일로부터 텍스트 데이터를 읽고, 파일에 쓰는데 사용된다. 사용방법은 FileInputStream/FileOutputStream과 다르지않다. https://standout.tistory.com/1477 바이트기반 파일입출력 스트림 FileInputStream FileOutputStream, String File boolean FileDescriptor FileInputStream(String name) 이 생성자는 파일 이름을 받아들여 해당 파일에 대한 입력 스트림을 연다. try { FileInputStream fis = new FileInputStream("example.txt"); // 파일에서 데이터를 읽는 작업 수행 fis.close(); } stand..
문자기반스트림 Writer의 메서드 append() close() flush() write() 앞서 바이트기반 스트림에 대해 배웠다. https://standout.tistory.com/1470 스트림 - 바이트기반 스트림: FileInputStream/FileOutputStream ByteArrayInputStream/ByteArrayOutputStream PipedInputStr 앞서 스트림과 입출력에 대해 배워봤다. https://standout.tistory.com/106 스트림이란? Stream 개울, 흘러가는것, 가는길 데이터를 운반하는데 사용되는 연결통로 https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%8A%B8%EB%A6% standout.tistory.com https://standout.tistory.com/1477 바이트기반 파일입출력 스트림 Fil..
문자기반스트림 Reader의 메서드 close() mark() markSupported() read() ready() skip() 앞서 바이트기반 스트림에 대해 배웠다. https://standout.tistory.com/1470 스트림 - 바이트기반 스트림: FileInputStream/FileOutputStream ByteArrayInputStream/ByteArrayOutputStream PipedInputStr 앞서 스트림과 입출력에 대해 배워봤다. https://standout.tistory.com/106 스트림이란? Stream 개울, 흘러가는것, 가는길 데이터를 운반하는데 사용되는 연결통로 https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%8A%B8%EB%A6% standout.tistory.com https://standout.tistory.com/1477 바이트기반 파일입출력 스트림 Fil..
PrintStream 다양한 형태로 출력하다 PrintStream() checkError() print() println() printf() 포맷지정자 JDK1.1부터 PrintStream보다 향상된 PrintWriter가 추가되었으나 자주사용되는 System.out에 의해 둘다 사용할수밖에 없음. 둘은 거의 같은 기능이나, 다양한언어의 문자를 처리할때는 가능하면 PrintWriter를 사용하는것이 좋다. PrintStream(File file) 지정된 파일에 데이터를 출력하기 위한 `PrintStream`을 생성한다. try { PrintStream ps = new PrintStream(new File("output.txt")); ps.println("Hello, World!"); ps.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } [출력 결과] "output.txt" 파일이 ..
자동 플러시 auto flush, 버퍼가 가득차거나 출력시 전송한다 활성화시 버퍼가 가득 차거나 개행 문자가 출력될 때마다 버퍼를 비우고 데이터를 목적지로 전송한다. 데이터가 실시간으로 출력되므로, 중요한 데이터를 놓치지 않고 즉시 확인할 수 있으나 성능 저하가 발생할 수 있으므로 주의해야 한다. 예를 들어, `PrintStream` 생성자에서 `autoFlush` 매개변수를 사용하여 자동 플러시 기능을 설정할 수 있다. 일반적으로 `System.out`은 자동 플러시가 활성화되어 있다. https://standout.tistory.com/53 표준입출력, System.in, System.out, System.err I/O Input과 Output 입력과 출력, 입출력 컴퓨터 내부, 외부 장치와 프로그램간의 데이터를 주고받는것. 표준 스트림(standard streams..
SequenceInputStream 두 개의 입력 스트림을 연결하다 SequenceInputStream 클래스는 두 개의 입력 스트림을 하나로 연결하는 데 사용된다. Enumeration을 통해 여러 개의 입력 스트림을 하나로, 두 개의 입력 스트림을 직접적으로 연결하는 두 가지 생성자를 제공한다. SequenceInputStream(Enumeration e) Enumeration을 사용하여 입력 스트림을 연결. SequenceInputStream(InputStream s1, InputStream s2) 두 개의 입력 스트림을 하나의 연속된 입력 스트림으로 연결. 예시로 확인해보기앞서 사용될 파일은 아래와같다고 생각하고 시작하자. 더보기 input1.txt:Hello input2.txt:World! 아래 코드는 input1.txt와 input2.txt라는 두 개의 파일을..