전체 글 777

CGI와 서블릿 그리고 톰캣

1. CGI란 무엇인가 CGI란 공통 게이트웨이 인터페이스(common gateway interface)의 약어로, 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약들을 말한다. 그렇다면 여기에서는 CGI에 대하여 조금 쉽게 설명한 후에 그 개념에 대하여 더 자세하게 알아보도록 하겠다. CGI란 사용자의 요청의 의한 서버의 응답이라고 할 수 있다. 예를 들어 방명록이나 게시판등이 대표적이라고 할 수 있는 것이다. CGI를 가능하게 하기 위해서는 사용자의 입력을 받아들이는 html문서와 입력을 처리하기 위한 CGI프로그램이 필요하다. CGI는 응용프로그램이기 때문에 html로는 만들 수 없고 웹서버의 환경의 따라 다르게 구현되는데 주로 C, Perl, Visual Basic 등이 사용되고 있다..

Java 2020.05.13

JVM과 바이트 코드

JVM : Java Virtual Machine (자바 가상 머신) - 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. - Java Byte Code를 OS(Operating System : 운영체제)에 맞게 해석, 실행될 수 있는 런타임 환경을 제공해주는 규격. - JVM은 많은 하드웨어와 소프트웨어 플랫폼에 이용 가능하다. - 운영체제 독립적으로 동작하기 위해 필요 - 컴파일된 바이트 코드를 실행하기 위한 가상의 머신 * Loads code : 작성된 소스코드를 로드(Load : 읽기) * Verifies code : 소스코드 검증 및 확인 ( 문법에 올바른지 검증하여 정상적으로 동작하는지 확인한다.) * Executes code : 소스코드 실행(실제 머신에서 소..

Java 2020.05.13

J2EE, JDK, JRE, J2SE 차이

1. JRE : JVM이 실행될 수 있도록 도와주는 역할을 하는 파일로 주로 "사용자"가 사용한다. 그리고 JDK와 별도로 설치가 가능하다. 2. JDK : "개발자"를 위한 파일로 자바 소스코드를 직접 입력할 수 있다. JDK를 설치하면 JRE와 JVM가 함께 설치되어 직접 입력한 자바 소스 코드를 실행시킬 수 있다. 3. J2SE(Java 2 Standard Edition) [ 기본적인 Java의 개발/실행 환경으로 Java언어를 이용하여 어플리케이션(Application), 애플릿(Applet) 그리고 컴포넌E트(Component) 등을 개발하고 실행할 수 있는 환경을 제공하는 플랫폼이다. ] 어떠한 Java프로그램을 개발하더라도 J2SE설치는 필수이며 SDK, RE, Plugin 기술등으로 구성된..

Java 2020.05.13

값의 종류와 표현 방법.

4가지 값의 종류. - 정수값 - 실수값 - 문자값 - 진리값 ( 0, 1로 표현을 하는 곳도 있다.) 1. 정수값. 26 - 10진수 (0x)1a - 16진수 (0)32 - 8진수 (0b)11010(2신수) --> 진법을 달리하였을 뿐이지 모두 숫자 26을 나타내는 표현이다. (괄호 안의 숫자 0과 영문 표기는 필히 붙여서 다른 진법임을 구분하여야 한다.) 컴퓨터에서는 유한한 자원의 물리적인 장치를 통해서 숫자를 표현해야 한다. 하여 사용 가능한 크기만큼 활용할 수 있다. 자바에서는 정수를 32비트로 표현할 수 있으며 전구를 32개 껐다켰다를 반복하며 관리할 수 있다. 8비트는 1바이트이며 전구를 8개씩 묶어서 4개 묶음으로 관리하면 4바이트로 정수를 표현할 수 있다. 그 이상의 비트를 필요로 한다면 ..

IT 유용한 정보 2020.05.10

If문 return.

void doCommandDetail(int id) { System.out.println("== 게시물 상세 =="); Article article = getArticleById(id); if ( article == null) { System.out.println("해당 게시물은 존재하지 않습니다."); return; } System.out.printf("번호 : %d\n", article.id); System.out.printf("날짜 : %s\n", article.date); System.out.printf("제목 : %s\n", article.title); System.out.printf("내용 : %s\n", article.body); } if 문 마지막에 return; 을 입력해주고 바로 밑에 ..

Java 2020.05.08

LED(발광 다이오드)에 레지스터(저항)이 필요한 이유.

LED를 동작시키려면 출력 전압이 5V나 되는 OUTPUT포트에 그냥 연결하면 LED에 많은 양의 전류가 흐르게 되어 LED가 손상될 수 있다. 가장 중요한 이유로 회로를 만들다 보면 가장 많이 사용하는 부품이며 저항은 전기의 흐름을 막아주는 역할을 하며 전압차를 만들어 주거나 전류를 낮춰주어 LED의 손상을 최소화 할 수 있다.

IT 유용한 정보 2020.05.07

전기가 발생하는 원리

전기가 발생하는 원리 - 전자와 이온 전기는 전자가 일정한 방향으로 흐르면서 만들어낸다. 전자 중에는 다른 원자로 쉽게 이동할 수 있는 것이 있다. 전자의 이러한 성질 때문에 어떤 원자는 전자를 다른 원자에 주기도 하고, 다른 원자로부터 전자를 받기도 한다. 원자가 전자를 잃으면 +전하를 띠고, 전자를 얻으면 -전하를 띠게 되는데, 이렇게 전하를 띤 입자를 이온이라고 한다. +전하를 띤 입자를 양이온, -전하를 띤 입자를 음이온이라고 한다. 우리가 사용하는 전기는 전자들이 일정한 방향으로 흐르면서 전류를 만들어낸 것이다. 이때 전자들은 스스로 이동하는 것이 아니라 배터리를 구성하는 물질들의 전압 차에 의해 움직이게 된다. 물은 높은 곳에서 낮은 곳으로 흐르지만, 전자는 전압이 낮은 곳(음극)에서 높은 곳..

IT 유용한 정보 2020.05.07

컴퓨터 기본 용어.

1. H/W 원래는 쇠붙이라는 뜻으로 컴퓨터의 CPU, HDD, 기억장치 등 기계장치의 몸체 그 자체를 일컫는 말이다. 2. S/W 컴퓨터를 활용하기 위한 운영체제(Windows 등) 및 각종 프로그램(한글 등)을 말한다. 3. 운영체제 컴퓨터의 시스템의 전반적인 동작을 제어하고 조정하는 시스템 프로그램들의 집합으로 Window, UNIX등이 이에 해당된다. 4. CPU(중앙처리장치) 컴퓨터 시스템 전체를 제어하는 장치로써, 다양한 입력장치(키보드, 마우스 등)로부터 자료를 받아 처리한 후 그 결과를 출력장치(모니터, 프린터 등)로 보내는 일련의 과정을 조정하고 제어하는 장치로써 컴퓨터 성능을 좌우하는 기준이 된다. 5. RAM(주기억장치) Random Access Memory의 약칭으로 데이터의 기록과..

IT 유용한 정보 2020.05.05

다형성(Polymorphism)

자바에서는 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 그래서 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있다. 그러나 같은 타입의 인스턴스라도 참조 변수의 타입에 따라 사용할 수 있는 멤버의 개수가 달라진다는 점에 주의해야 한다. 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조하게 되면 부모 클래스에 정의된 멤버들(상속받은 멤버 포함)만 사용할 수 있게 되고 반대의 경우(자식 클래스 타입의 참조 변수로 부모 클래스의 인스턴스를 참조하는 것)는 불가능하다. 자식 클래스의 멤버는 부모 클래스를 확장한 것이기 때문에 부모 클래스보다 같거나 더 많기 때문이다. 부모 클래스에 없는 멤버를 사용할 가능성이 있어서 ..

Java 2020.05.05

WORA를 지원하기 위한 자바 프로그래밍 방법.

자바 번역기의 특징. 1단계 : 형태소분석 2단계 : 구문분석 3단계 : 의미 분석 4단계 : 중간코드 --> 컴파일러 사용 (1단계 ~ 4단계) 5단계 : 최적화 6단계 : 물리코드 --> 인터프리터 사용 (5단계 ~ 6단계) 자바는 실제로 번역기 2개가 사용된다. 개발자가 컴파일하는 컴파일러에 의해서 4단계까지 번역이 되고 사용하는 사용자들에 의해서 번역하여 실행이 되는 것으로 구분된다. 컴파일러 : 번역을 위주로 하는. 인터프리터 사용 : 실행을 위주로 하는. * 바이트코드(가상 CPU 코드) (= 중간까지만 만들어졌다고 해서 중간코드 라고도 한다. )가 만들어지고 이것이 물리적인 장치인 기계(이진)코드로 변환된다. 가상CPU 코드 --> 물리적인 장치가 아니다. JDK ( Compiler, Deb..

IT 유용한 정보 2020.05.05

JVM, GC

* JVM : Java Virtual Machine ( 자바 가상 머신 ) * GC : Garbage Collector ( 가비지 컬렉터 ) JVM은 작성한 자바 프로그램이 수행되는 프로세스를 의미한다. 다시 말해 java라는 명령어를 통해서 애플리케이션이 수행되면, 이 JVM 위에서 애플리케이션이 동작한다. 이 JVM에서 여러분들이 작성한 프로그램을 찾고 실행하는 일련의 작업이 진행된다. 자바의 기본 메모리 관리는 개발자가 하지 않아도 된다. 메모리 관리를 JVM이 알아서 하기 때문이다. 이때 JVM 내에서 메모리 관리를 해주는 것을 바로 "가비지 컬렉터"라고 부른다. Garbage는 우리나라말로 "쓰레기"라는 의미이며, 사용하고 남아 있는 전혀 필요 없는 객체들이 여기에 속한다. 아무리 가비지 컬렉터..

Java 2020.05.03

재귀 알고리즘 기초.

재귀(Recursion) 함수란 특정 함수 내에서 자기 자신을 다시 호출하여 문제를 해결해나가는 함수이다. 문제를 해결하기 위해 원래 범위의 문제에서 더 작은 범위의 하위 문제를 먼저 해결함으로써 원래 문제를 해결해나가는 방식이다. 일반 반복문을 통해 구현 가능한 기능은 재귀 함수를 통해 구현이 가능하며 반대로 재귀 함수로 구현 한 기능을 반복문으로 구현이 가능하다. 재귀 함수는 함수 내에서 자기 자신을 계속 호출하는 방식이기 때문에 함수 안에 반드시 종료 구간이 되는 Base Case를 생각하며 코드를 구현해야 한다.

Java 2020.05.03

메모리 구조

자바 프로그램이 실행될 때, *JVM은 *OS로부터 필요한 메모리를 할당 받음. 메모리가 낮은 순으로 클래스, 클래스 변수 -> 객체 인스턴스 -> 메서드, 지역변수, 매개변수 순 클래스, 클래스 변수(메소드 영역) / 객체 인스턴스(힙 영역) / 메서드, 지역변수, 매개변수(스택 영역) 메서드 영역 - 클래스 사용 시, 해당 클래스의 클래스 파일(. class)을 읽고, 그 정보를 메서드 영역에 저장. 힙 영역 - 자바에서 사용되는 모든 인스턴스가 저장되는 영역. new 키워드를 사용해서 만든 객체 생성 시, 힙 영역에 저장한다. 스택 영역 - 메서드가 호출될 때 메소드의 스택 프레임이 저장되는 영역. - JVM은 메소드가 호출되면, 메소드 호출과 관계되는 지역 변수 및 매개변수를 스택 영역에 저장. ..

Java 2020.05.03

자바 언어의 특징.

자바는 c++언어에서 파생된 언어. 1. 객체 생성과 제거를 모두 개발자가 하다 보니 제거하지 못한 객체의 메모리가 쌓여가서 불편함을 겪음. --> 이에 자바는 delete 키워드를 제거함. 2. 참조변수와 포인트 변수가 있었는데 객체의 포인터 변수를 제거함. 3. 이차 이상의 포인터 문제를 해결하기 위해서 모든 포인터를 제거함. 4. 데이터 구조를 정의하는 두 가지 방법으로 클래스와 struct 2가지가 있었는데 struct 키워드를 제거함. 5. c++은 함수지향, 객체지향 모두 가능하지만 자바의 함수는 메서드로만 사용하도록 제약하여 캡슐화하도록 한다. 완전한 객체지향으로 바뀌었다. 6. 컬렉션의 부재 --> 자바는 언어에 컬렉션을 포함. 7. 글로벌한 문자 ..

IT 유용한 정보 2020.05.03

강의 주제 : 자바 코드의 기본 규칙. (2020-04-30 시청)

class Main { public static void main(String[] args) { int kor1, kor2, kor3; int total; float avg; kor1 = 50; kor2 = 60; kor3 = 80; total = kor1 + kor2 + kor3; avg = total / 3; System.out.printf("total is %d\n", total); System.out.printf("avg is %f\n", avg); } } kor1 = 50; kor2 = 60; kor3 = 80; total = kor1 + kor2 + kor3; avg = total / 3; 수학에서는 문장을 내려쓰기로 구분을 하지만 java에서는 ; (semicolon)을 가지고 구분한다. ;..

IT 유용한 정보 2020.05.01
728x90
반응형
LIST