Java
-
[Java Network] Get 방식 vs Post 방식Java/Java Network 2022. 9. 4. 21:55
개요 HTTP Get 방식 Get 방식의 특징 Post 방식 Post 방식의 특징 - 개요 클라이언트는 인터넷 브라우저 주소창에 URL을 입력하고, 서버는 클라이언트의 요청에 응답하여 웹페이지를 보여준다. 이 때, 클라이언트가 서버로 보내는 데이터를 HTTP 패킷이라고 하며, HTTP 패킷은 크게 Header(헤더)와 Body(바디)로 나누어진다. Header(헤더)는 HTTP Method 방식, 클라이언트와 브라우저, 접속하고자 하는 URL 정보 등이 담겨져 있다. Body(바디)는 보통 비어있으며, 정보를 담아서 서버에 요청할 수 있다. 클라이언트가 서버로 요청을 보내는 HTTP Method에는 여러 가지가 있는데, 그 중 두개인 Get 방식과 Post 방식에 대해 알아보자. - HTTP HTTP란,..
-
[Java Network] OSI 7계층과 TCP/IP 4계층Java/Java Network 2022. 9. 3. 21:00
OSI 7계층 TCP/IP 4계층 - OSI 7계층 OSI 7계층 모델은 네트워크 통신이 일어는 과정을 7단계로 나눈 것을 말한다. 계층을 나눈 이유 : 통신이 일어나는 과정을 단계별로 파악하기 용이하기 때문이다. 특정 계층에서 이상이 생기면, 다른 계층은 놔두고 문제가 있는 계층만 고쳐서 문제를 해결한다. 1계층. Physical Layer (물리계층) 전기적, 기계적, 기능적인 특성을 이용하여 통신 케이블로 데이터를 전송한다. 사용되는 통신 단위는 비트(bit)이며, 0 또는 1만 나타낼 수 있다. 단지 데이터를 전달하기만 하고, 전송하거나 받으려는 데이터가 무엇인지는 신경쓰지 않는다. 대표적인 장치로 통신 케이블, 리피터, 허브 등이 있다. 2계층. DataLink Layer (데이터 링크계층) 물..
-
[Java 개념] 자바 그래픽 GUI AWT 설명 및 예제Java/Java 개념 2022. 9. 1. 22:43
GUI 프로그래밍이란? AWT란? Container란? Component란? LayoutManager란? 이벤트(Event)란? 구현 - GUI 프로그래밍이란? GUI는 과거에 사용하던 DOS(CUI방식)와 같은 방식의 텍스트 기반 운영체제가 아닌 그래픽을 이용하여 사용자와 프로그램 간의 상호작용을 할 수 있도록 해주는 인터페이스를 의미한다. 자바에서는 이러한 그래픽 프로그래밍을 지원하기 위해 나온 것이 AWT이다. - AWT란? AWT(Abstract Window Toolkit)는 GUI 프로그래밍을 제작하기 위해 자바에서 제공하는 라이브러리 AWT는 모든 GUI 프로그램에 사용되는 컴포넌트 및 툴킷을 제공, 향후 JFC와 같은 스윙(Swing)의 모태가 된다. AWT는 운영체제에 구애받지 않고 쓸 수..
-
[JavaFX] JavaFX, SceneBuilder 설치 및 Eclipse(이클립스) 설정Java/JavaFX 2022. 9. 1. 21:32
JavaFX란? JavaFX의 장점 설치하기 전 간단한 응원 한마디 JavaFX 설치하기 SceneBuilder 설치하기 Eclipse(이클립스)에 JavaFX 적용하기 - JavaFX란? JavaFX는 RIA(Rich Internet Application)를 개발하고 배포하는 소프트웨어 플랫폼이며, 다양한 장치에서 실행이 가능하다. JavaFX는 자바 SE를 위한 표준 GUI 라이브러리로서 스윙(Swing)을 대체하기 위해 고안되었다. - JavaFX의 장점 JavaFX는 기존의 Swing보다 훨씬 가볍고, 더욱 더 좋은 그래픽을 지원하다. 또한 Web에서도 호환이 가능하다. 또한 Java 기반에서 동작하기 때문에, Linux, Windows, OS X 등등 Java를 설치할 수 있는 플랫폼이라면 모두..
-
[Java실습] 하노이 탑Java/Java 실습 2022. 7. 24. 19:08
하노이 탑은 n개의 원반을 start(A)부터 via(B)를 통해, end(C)까지 옮기는 알고리즘입니다. 하노이 탑에 대한 코드입니다. import java.util.ArrayList; import java.util.Scanner; public class TowerOfHanoi { public static int count = 0; public static ArrayList arraylist = new ArrayList(); public static void hanoi(int n, int start, int end, int via) { if(n == 1) {// 이동할 원반의 수가 1개 count++; arraylist.add(start + " " + end);// 시작 -> 목표 } else { ha..
-
[Java 실습] 셸 정렬(Shell Sort)Java/Java 실습 2022. 7. 18. 16:38
셸 정렬은 단순 삽입 정렬의 장점을 살리고, 단점을 보완하여 좀 더 빠르게 정렬하는 알고리즘입니다. 다음은 셸 정렬을 오름차순으로 정렬한 코드입니다. 마지막 1-정렬은 삽입 정렬과 다르지 않습니다. public class shellSort { static void shellSort(int[] arr) { // 4-정렬, 2-정렬, 1-정렬 범위를 정해줌 // 마지막 1-정렬은 삽입 정렬(insertion sort)과 같음 for(int i=arr.length/2; i>0; i/=2) { for(int j=i; j=0 && arr[k]>temp; k-=i) { arr[k+i] = arr[k]; } arr[k+i] = temp; } } } public static void main(String[] args)..
-
[Java 실습] 단순 삽입 정렬(Straight Insertion Sort)Java/Java 실습 2022. 7. 18. 14:40
단순 삽입 정렬은 선택한 요소를 더 앞의 알맞은 위치에 삽입하는 작업을 반복하여 정렬하는 알고리즘입니다. 단순 삽입 정렬을 오름차순으로 정렬한 코드입니다. public class InsertionSort { static void insertionSort(int[] a) { for(int i = 1; i < a.length; i++) { // 두 번째부터 비교 for(int j = 0; j < i; j++) { if(a[i] < a[j]) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } } } } public static void main(String[] args) { int [] arr = new int[] {8,2,4,5,7,9}; insertionSort(arr);..