1주차

3,3·2021년 11월 28일
0

2021-11-24(수)

  • 소프트웨어 유형을 설명할 수 있는가?
    - 시스템 S/W와 애플리케이션 S/W를 구분하여 설명할 수 있는가?
    - 스탠드얼론 애플리케이션과 클라이언트/서버 애플리케이션을 구분하여 설명할 수 있는가?
    - 설치형 애플리케이션과 서비스형 애플리케이션을 구분하여 설명할 수 있는가?
    - 웹애플리케이션 아키텍처를 설명할 수 있는가?

  • 형상관리 시스템의 목적을 설명할 수 있는가?
    - CVS, SVN, Git을 비교 설명할 수 있는가?
  • 웹 개발자가 갖춰야 할 주요 기술을 알고 있는가?
  • 각 기술의 용도를 간단히 설명할 수 있는가?

2021-11-25(목)

  • git 개발 도구를 설치하고 원격의 깃 저장소를 로컬로 가져올 수 있는가?

  • 깃 디렉토리와 워킹 디렉토리를 설명할 수 있는가?

    • 깃 디렉토리
      • git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말한다.
      • 다른 컴퓨터에 있는 저장소를 Clone 할 때 git directory가 만들어진다.
    • 워킹 디렉토리
      • 사용자의 작업 공간으로써 로컬 저장소에 접근할 수 있으며 실제 파일을 수정하거나 생성하는 공간이다.
      • 현재 작업 중인 소스코드들을 담고 있으며, 운영체제도 워킹 디렉토리 내부의 파일들만 접근하거나 수정 할수 있다.
      • 작업 폴더에서 .git 디렉토리를 제외한 나머지 부분을 말한다
      • 워킹 트리, 워킹 디렉토리, 작업 디렉토리 등으로 불린다.

  • 변경한 파일을 로컬 저장소로 백업하고 원격 저장소에 업로드 할 수 있는가?

    • clone/add/commit/push/pull 명령을 다룰 수 있는가?

      • git clone
        원격 저장소의 저장소를 내 local에서 이용할 수 있게 그대로 복사해 가져온다.

      • git add
        이 명령이 저장소에 새 파일들을 추가하진 않는다. 대신, 깃이 파일들을 지켜보게 한다. 파일을 추가하면, 깃의 저장소 “스냅샷”에 포함된다.

      • git commit
        깃의 가장 중요한 명령어이다. 파일을 수정한 후, 저장소의 “스냅샷”을 찍기 위해 사용하는 명령어이다. 보통 “git commit -m “Message hear.” 형식으로 사용한다. -m은 명령어의 다음 부분을 메세지로 남긴다는 뜻이다.

      • git push
        로컬 컴퓨터에서 작업하고 당신의 커밋을 깃허브에서 온라인으로도 볼 수 있기를 원한다면, 이 명령어로 깃허브에 변경사항을 “push”한다.

      • git pull
        로컬 컴퓨터에서 작업할 때, 작업하고 있는 저장소의 최신 버전을 원하면, "git pull"을 통해 깃허브로부터 변경사항을 다운로드할 수 있다.

  • 프로그래밍 관련 도구를 설치하고 설정할 수 있는가?

    • VSCode와 플러그인을 설치할 수 있는가?
    • JDK 설치 및 설정을 할 수 있는가?
    • Eclipse IDE 설치와 워크스페이스를 설정할 수 있는가?
  • 애플리케이션 빌드 유형을 설명할 수 있는가?

    • 인터프리터 방식/컴파일 방식/하이브리드 방식을 예를 들어 설명할 수 있는가?
    • 각 빌드 방식의 장단점을 설명할 수 있는가?
인터프리터컴파일하이브리드
설명작성된 프로그램을 한 번에 기계어로 번역한 후 실행파일을 만들고, 이를 실행하는 방식으로 동작한다해석기가 첫 문장부터 끝까지 한 문장씩 읽고 기계어로 번역한 후 실행하는 방식으로 동작한다컴파일방식 + 인터프리터 방식으로 사용자에 의해 작성된 프로그램이 컴파일러에의해 중간코드로 변환되고, 이는 다양한 형태의 서로 다른 시스템에서 인터프리터에 의해 직접 실행한다
장점OS와 CPU에 상관없이 실행 가능하다인터 프리터 방식보다 실행속도가 빠르다컴파일 할때 문법검사가 완료되기 때문에 어느정도 기계어에 가깝게 변경이 된다 그래서 인터프리터 방식보다 실행속도가 빠르고 OS/CPU에 상관없이 프로그래밍 및 컴파일 가능하다
단점컴파일 방식에 비해서 실행속도가 느리다OS나 CPU가 다르면 실행이 불가능하다
자바스크립트, HTML, PHPCC# , JAVA
  • OS와 CPU에 따라 실행 파일이 다른 것을 설명할 수 있는가?
    • 같은 CPU/다른 OS에서 실행 파일이 다른 이유?
      OS가 다르다는 것은 명령어 포맷이 다르다는 뜻이다. 그래서 그 포맷에 맞게 실행파일을 맞춰주어야 주어야한다.
    • 다른 CPU/같은 OS에서 실행 파일이 다른 이유?
      CPU가 다르다는 것은 명령어가 다르다는 뜻이다. 인텔이면 인텔용 AMD면 AMD용에 맞는 실행파일로 명령어를 잡아줘야 한다.

  • 인터프리터를 가리키는 다양한 용어를 말 할 수 있는가?
    인터프리터는 Engine, VM, player, Runtime 등으로도 다양하게 불린다.

2021-11-26(금)

  • JVM/JRE/JDK/JavaSE/JavaEE/JavaME 를 설명할 수 있는가?
  • 자바 컴파일러와 JVM의 역할을 설명할 수 있는가?
    • 자바 컴파일러 : 자바 소스코드를 실행하려면 기계가 알아 들을수 있는 bytecode로 변환을 시켜야한다. 변환하기전의 원본 코드인 source code를, 기계에서 실행할 수 있도록 bytecode로 변환 시키는 역할을 한다.
    • JVM : JVM은 자바 컴파일러가 변환한 bytecode를 실행시키는 프로그램이며 bytecode를 읽어서 OS의 코드를 호출하는 역할을 한다.

  • 자바 애플리케이션의 최소 코드를 직접 작성할 수 있는가?
class Hello {
	public static void main(String[] args) {
    	     
             //명령문
             // ...
             // ...
        }
    }
    // Hello : 클래스명
    // main : 메서드명, JVM이 명령문을 시작하는 입구
  • 엔트리 포인트(entry point) 의미를 설명할 수 있는가?
    시작하는 입구 또는 진입점을 뜻한다.
    js는 첫줄 C는 main 함수에서 java는 main 메서드 부터가 엔트리 포인트이다.

  • 자바 컴파일러를 사용하여 자바 소스를 컴파일 할 수 있는가?
    .../src$javac Hello.java
    - 컴파일할 때 소스 파일과 클래스를 파일을 분리할 수 있는가?
    .../src$javac -d ../bin Hello.java

  • JVM을 사용하여 자바 클래스 파일을 실행할 수 있는가?
    ddd
    - 패키지에 소속된 클래스를 파일을 실행할 수 있는가?
    $java -cp bin lang.Test1

  • 텍스트 파일과 바이너리 파일을 구분하는 방법을 아는가?

Text 파일Binary파일
저장형식UTF-8, MS949등 특정 문자집합의 규칙에 따라 저장한다..ppt/.psd/.gif/.pdf 등 특정 애플리케이션에 맞춰 저장한다.
파일보기텍스트 편집기라면 파일보기가 가능하다.해당 파일의 포맷의 알고있는 프로그램만 가능하다.
파일편집텍스트 편집기는 모두 가능하다.해당 파일의 포맷을 지원하는 프로그램만 가능하다. (전용 프로그램이 필요하다)
파일크기파일크기가 크다파일크기가 작다
.java/.csv/.xml/.html/.cs/.js/.txt/.md/.properties등.pdf/.doc/.hwp/.ppt/.xls/.mp3/.avi/.gif/.jpg등

  • 함수와 클래스, 패키지 문법이 등장한 이유를 설명할 수 있는가?
    대량의 명령문을 좀더 쉽게 관리하게 위해서

  • C/C++ 로 개발할 때와 달리 자바의 경우 각 파일을 따로 컴파일 해도 되는 이유를 설명할 수 있는가?
    - 이클립스 IDE에서 소스 파일을 저장할 때 자동으로 컴파일 하는 방식을 사용하는 이유를 설명할 수 있는가?

  • 이클립스 IDE 용 프로젝트 폴더 구조와 Maven 빌드 도구용 프로젝트 폴더 구조를 설명할 수 있는가?

  • 빌드 도구의 역할을 설명할 수 있는가?
    - ant, maven, gradle 빌드 도구를 간단히 비교 설명할 수 있는가?

  • gradle 빌드 도구를 설치하고 설정할 수 있는가?

  • gradle을 이용하여 자바 프로젝트 폴더를 구성하고 이클립스 IDE로 임포트 할 수 있는가?
    • gradle 빌드 스크립트 파일(build.gradle)의 설정 내용을 설명할 수 있는가?

0개의 댓글