본문 바로가기

분류 전체보기228

[Java] 소켓 Socket 소켓 socket 소켓을 사용하는 통신을 말한다. 소켓이란, 프로세스간 통신에 사용되는 양 끝단 영역을 말한다. java.net 안에 소켓이 있다. tcp/udp를 사용하는 소켓프로그래밍이 대표 TCP와 UDP TCP : '전화' 데이터를 전송하기 전에 먼저 상대편과 연결한 후 데이터 전송 전송 여부를 확인한다. 그러므로 실패하면 재전송한다. UDP : '전보' 연결하지 않고 데이터를 전송 전송 여부를 확인하지 않는다. 그러므로 데이터를 순서대로 수신한다는 보장이 없다. EX) ZOOM 같은 프로그램은 중간에 끊기더라도 별 문제 없이 진행된다. 서버 클라이언트의 1:1통신 서버가 먼저 실행되어 클라이언트의 연결 요청을 기다린다. 하나의 포트에는 하나의 소켓이 연결된다.(프로토콜이 다르면 다른 포트로) 서.. 2021. 8. 3.
[Java] 간단하게 네트워크 사용해보기 (java.net) 서버와 클라이언트 서버 : 서비스를 제공하는 컴퓨터 클라이언트 : 서버가 제공한 서비스를 받는 컴퓨터 서버 모델과 P2P 모델 서버 모델 : 전용 서버를 두고 그 서버의 서비스를 받습니다. P2P 모델 : 클라이언트가 서버의 역할을 동시에 수행하는 것. 네트워크 두대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성 IP : 네트워크 상에서 고유한 자신의 주소 공인 : 어디에서던지 접속할 수 있는 주소 내부 : 내부에서만 통용되는 주소. 192.168.0.10 포트 : ftp 21 web 80 mariadb 3306 mail 25 EX01. Net Stream 서버 프로그램 구현 네트워크를 타고 들어가서 네이버 서버의 메인 페이지를 긁어와 한 줄씩 출력하는 프로그램 package jul02; import.. 2021. 8. 3.
[Java] 쓰레드 Thread 쓰레드 Thread 쓰레드를 이해하려면 프로세스에 대해 알아야 한다. 간단히 말해 "프로세스"란, 실행중인 프로그램이다. 이 프로세스는 보통 하나의 루틴(프로그램 처리 경로)을 가지고 있다. 이 루틴은 직렬적인데, 즉 어떠한 일을 수행할 때 정해진 순서대로 일을 처리한다는 의미이다. 상황에 따라 순서가 필요 없는 일들이 있을 때 분리해서 동시에 처리하는 게 더 효율적일 때가 있다. 이 때 자바에서 사용할 수 있는 것이 쓰레드이다. 쓰레드를 이용하면 하나의 프로세스에서도 병렬적으로 처리, 즉 여러 개의 처리 루틴을 가질 수 있게 된다. 자바에서는 쓰레드도 하나의 객체로 정의한다. 쓰레드는 특이하게 main메소드 역할을 run메소드가 대신한다. 단순 반복의 코드를 실행할 때도 여러 개의 쓰레드를 만들어서 분.. 2021. 8. 1.
[Web] 다이나믹 웹 프로젝트에서 DB연결하기 다이나믹 웹 프로젝트에서 DB 연결하기 1. mariadb-java-client-2.7.3 파일을 해당 프로젝트의 lib폴더에 직접 드래그 앤 드롭으로 넣어준다. 2. 직접 src-main-webapp-WEB-INF-lib 폴더로 가서 파일을 복사해도 된다. 2021. 7. 27.
[Java] 가비지 컬렉션 Garbage Collection 가비지 컬렉션 Garbage Collection 가비지 컬렉터가 더이상 사용하지 않는 객체를 제거하는 것을 가비지 컬렉션이라고한다. 가비지 컬렉션의 특징 자동 메모리 관리 가비지 컬렉션은 프로그래머가 구현할 수 없다. 가비지 컬렉션은 객체이지 참조가 아니다. 가비지 컬렉션의 대상은 살아있는 스레드가 더이상 참조하지 않는 객체이다. 다른 참조 변수가 참조하고 있는 객체는 가비지 컬렉션의 대상이 될 수 없다. 객체에 할당된 메모리를 명시적으로 해제할 수 없다. 가비지 컬렉터가 객체를 어떤 순서로 정리하는지 알 수 없다. 가비지 컬렉터가 언제 수행될지 알 수 없다. 가비지 컬렉터는 JVM이 결정하며 우리는 단지 요청만 할 수 있다. 가비지 컬렉션이 되려면 참조 변수에 null할당하기 참조변수에 null을 할당.. 2021. 7. 27.
[Java] 자바로 Excel 파일 만들기 [JSP] JXL 라이브러리를 사용하여 엑셀로 다운로드 JXL 라이브러리를 사용하여 엑셀로 다운로드 JXL 라이브러리를 사용하여 원하는 화면을 엑셀로 다운... blog.naver.com ▲ JXL 라이브러리 다운로드 방법 https://noirstar.tistory.com/264 SQL Injection 이란? (SQL 삽입 공격) 1. SQL Injection 1.1 개요 Ÿ SQL Injection SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작 noirstar.tistory.com ▲ 참고한 블로그 2021. 7. 27.
[Java] 아파치 POI 설치 및 사용법 아파치 POI 설치 아파치 POI는 마이크로소프트 오피스 파일 포맷을 순수 자바 언어로 읽고 쓰는 기능을 제공한다. 주로 워드, 엑셀, 파워포인트 등의 파일들을 지원한다. 아래 링크를 클릭하여 다운로드 페이지로 이동한다. 2021. 7. 26.
[Java] IO Stream 입출력 스트림 IO Stream 자바에서 데이터는 스트림(stream)을 통해 입출력된다. 스트림은 단방향으로 연속적으로 흘러가는 것을 말한다. 물이 높은 곳에서 낮은 곳으로 흐르듯, 데이터도 출발지에서 나와 도착지로 들어간다. 프로그램이 데이터를 입력받을 때는 입력스트림, 데이터를 내보낼 때는 출력스트림이라고 한다. 실제 프로그램에서는 데이터의 입력은 키보드, 파일, 네트워크로부터 입력될 수 있다. 데이터의 출력은 모니터 화면이나 파일로 출력될 수 있다. EX01. ByteArrayInput(Output)Stream package IO; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.A.. 2021. 7. 26.
[Java] 내부 클래스 Inner Class 내부 클래스 Inner Class class A{ class B{ } } 위와 같이 클래스 내부에 또 다른 클래스가 존재할 수 있다. B는 A의 내부 클래스이고, A는 B의 외부 클래스이다. 내부 클래스 B는 외부 클래스인 A가 아닌 클래스에서 잘 사용되지 않아야 한다. 외부 클래스가 아닌 다른 클래스에서 내부 클래스에 접근해야 한다면 내부 클래스로 선언해서는 안 되는 클래스를 내부 클래스로 선언했다는 의미이기 때문이다. 보통 AWT, Swing 등의 GUI 이벤트 처리 외에는 잘 사용되지 않는다. 내부 클래스의 장점 내부 클래스에서 외부 클래스의 멤버들에게 쉽게 접근이 가능하다. 코드의 복잡성을 줄여준다. (캡슐화) - 외부에는 불필요한 클래스를 감출 수 있기 때문이다. 내부 클래스의 종류와 특징 cl.. 2021. 7. 22.
[DB] Maria DB 설치 https://mariadb.com/downloads/#mariadb_platform Download MariaDB Products & Tools | MariaDB Download the latest versions of MariaDB Platform, MariaDB Community Server, Cloud Database (SkySQL), ColumnStore and MaxScale. mariadb.com ▲ MariaDB 설치 링크 내 컴퓨터는 Windows10 64bit이기 때문에, Windows 64-bit으로 10.5 버전을 선택했다. 아래의 Download 버튼을 누르고, 다운받은 .msi 파일을 실행시킨다. 설치 위치 등은 기본 값으로 두고, 계속 Next를 누르다보면 다음과 같은 창이 뜬.. 2021. 7. 20.
[DB] 이클립스에 MariaDB 연결하기 https://downloads.mariadb.org/connector-java/ MariaDB Connector/J - MariaDB MariaDB Connector/J 1.1 Series The MariaDB Client for Java is used to connect applications developed in Java to MariaDB and MySQL databases. The client library is LGPL licensed. See this article for more information downloads.mariadb.org ▲ MariaDB 사이트에 들어가서 2021. 7. 20.
[오류] Build Path 2021. 7. 20.