Lang(73)
-
다중행을 하나의 배열로 조회하기
- 환경 : PostgreSql - 함수 : array_agg / array_to_string 카테고리 테이블 아이템 테이블 위와 같은 테이블이 있을 때 최종적으로 위와 같은 정보를 화면에 보여주려 한다. 최근 스프링부트와 리액트를 이용해 웹페이지를 만드는 도중, 팀원이 위와 같은 형태의 데이터를 가져올 때, 먼저 DB에서 카테고리 테이블 데이터를 가져와 List로 만든 후, 해당 카테고리 List를 for문을 돌려 다시 반복적으로 DB에 접속해, 각 카테고리에 해당하는 아이템 테이블 데이터를 조회해온 후, 가져온 데이터를 다시 반복문을 돌려 하나의 문자열로 연결한 뒤 카테고리 객체에 합쳐주는 것을 보았다. 이런 경우 db도 불필요하게 많이 접속할 뿐만 아니라 불필요한 반복문을 돌리는 등 번거로운 작업이..
2023.03.30 -
자바, 소켓
1. 소켓 프로그래밍 소켓을 이용한 통신 프로그래밍 클라이언트와 서버간의 일대일 통신 소켓 : 프로세스간 통신에 사용되는 양쪽 끝단을 의미 java.net 패키지 이용 통신방식 TCP 통신방식 양방향 연결 기반 통신방식 (Connection Oriented) 신뢰성 있는 데이터 전송 (수신여부 확인) 연결 후 통신 데이터 손실 시 재전송 UDP 통신방식 비연결 기반 통신 방식 신뢰성 없는 데이터 전송 (수신여부 미확인) 연결 없이 통신 데이터가 손실될 수 있다 전송속도가 빠르다 2. TCP 소켓 프로그래밍 클라이언트와 서버 간 일대일 통신 먼저 프로그램이 실행되어 클라이언트 프로그램의 연결요청을 기다려야 한다 통신과정 서버프로그램 : 서버소켓을 사용, 특정 포트에서 클라이언트의 연결 요청을 처리할 준비 ..
2023.03.28 -
자바, 네트워크
1. 네트워킹 두 대 이상의 컴퓨터를 연결하여 네트워크를 구성하는 것 컴퓨터들을 서로 연결하여 데이터를 주고받거나 자원을 공유 java.net 패키지 이용 통신의 3대 요소 서버 (Server) 클라이언트 (Client) 네트워크 (Network) : 서버와 클라이언트 연결 2. 클라이언트 / 서버 컴퓨터간의 관계를 역할로 구분 서버 : 서비스를 제공하는 컴퓨터 클라이언트 : 서비스를 사용하는 컴퓨터 서비스 : 서버가 클라이언트로부터 요청받은 작업을 처리하여 결고를 제공 IP주소 컴퓨터를 구별하는데 사용되는 고유 값 4byte (32bit)의 정수, 4개의 정수 구분 네트워크 주소, 호스트 주소로 구성 3. InetAddress IP주소를 다루기 위한 클래스 package com.nw.day1; impo..
2023.03.28 -
쓰레드의 동기화
멀티쓰레드의 경우 여러 쓰레드가 같은 프로세스 내의 자원 공유 쓰레드A가 작업하던 도중 쓰레드B에게 제어권이 넘어가 공유데이터를 변경하면 의도와 다른 결과가 나온다 package com.thread.day1; public class ThreadTest5 { public static void main(String[] args) { MyRunnable4 r = new MyRunnable4(); Thread th1 = new Thread(r); Thread th2 = new Thread(r); th1.start(); th2.start(); } } class MyRunnable4 implements Runnable{ int insVar = 0; //공유 @Override public void run() { in..
2023.03.28 -
자바에서의 입출력, I/O
1. 자바에서의 입출력 I/O (input, output) 컴퓨터 내부 또는 외부의 장치와 프로그램 간의 데이터를 주고받는 것 System.our.println 등 Stream 입출력, 즉 어느 한쪽에서 다른쪽으로 데이터를 전달 두 대상을 연결하고 데이터를 전송할 수 있는 통로 = 스트림 단방향 통신만 가능 하나의 스트림으로 입력과 출력을 동시에 할 수 없다 데이터 소스 - 입력스트림 - 자바프로그램 - 출력스트림 - 데이터목적지 스트림의 구분 다루는 데이터에 따라 byte 기반 스트림 (1byte 단위로 데이터 이동) InputStream / OutputStream 문자(char)기반 스트림 (2byte단위로 데이터 이동) Reader / Writer 데이터 가공에 따라 Node 스트림 데이터 소스와 ..
2023.03.28 -
Swing, Jtable
1. Swing JFC(Java Foundation Class Library) 라고 명시한다 Awt처럼 프레임을 생성하고 이벤트를 지정한다 Awt보다 컴포넌트의 기능이 많다 Awt 시스템 os의 자원을 그대로 이용 단일 Panel로 구성 Swing 컴포넌트를 자바로 구현 다중 패널로 구성 컴포넌트가 적재되는 패널이 계층별로 여러 개 존재한다 package com.swing.day1; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; ..
2023.03.28