1~2개월
- Java 문법과 객체지향 프로그래밍을 학습합니다.
- HTML·CSS와 JavaScript로 웹 화면과 입력 처리를 구현합니다.
- 관계형 DB와 SQL의 조회·변경을 실습합니다.
- Git으로 변경 내용을 기록하고 개발 환경을 구성합니다.
국비 수료 후 보완 학습를 살펴보고 관심 직무와 학습 자료를 연결합니다.
6개월 안팎으로 운영되는 웹 개발 과정의 대표적인 구성을 안내합니다. 교육과정에 따라 언어와 도구, 실습 순서는 다릅니다. 국비 과정은 집중 학습과 협업 프로젝트를 경험하는 기회가 되며, 아래 보완 영역은 출신에 따른 평가가 아니라 자신의 학습 경험을 점검하는 기준으로 활용합니다.
집중적인 실습을 통해 화면·서버·DB를 연결하는 경험을 쌓을 수 있습니다.
팀 프로젝트에서 역할 분담과 기능 통합을 경험하며 협업 방식을 배울 수 있습니다.
다른 전공이나 업무에서 얻은 도메인 지식을 서비스의 요구사항과 사용자 관점에 연결할 수 있습니다.
완성한 프로젝트를 바탕으로 부족한 개념을 찾아 보완하면 이론과 구현의 관계를 구체적으로 이해할 수 있습니다.
웹 기능 구현에 집중하면 자료구조를 비교하고 복잡도를 분석하는 연습이 적을 수 있습니다.
입력이 커졌을 때 느려지는 이유나 자료구조 선택 근거를 설명하기 어렵습니다.
배열과 해시·스택·큐를 학습하고 같은 문제를 서로 다른 방법으로 풀어 복잡도를 비교합니다.
문제로 연습합니다프레임워크로 서버를 실행하는 동안 프로세스와 메모리를 직접 관찰할 기회가 적을 수 있습니다.
스레드 간 데이터 충돌이나 프로세스 종료의 원인을 설명하기 어렵습니다.
프로세스·스레드·메모리 개념을 학습하고 실행 중인 서버를 관찰한 뒤 경쟁 상태를 재현합니다.
API 호출이 되는 상태에 집중하면 통신의 각 단계와 실패 원인을 깊게 다루기 어려울 수 있습니다.
DNS 오류·연결 실패·HTTP 오류를 구분하지 못하고 재시도만 반복합니다.
IP·DNS·TCP·HTTP 흐름을 학습하고 개발자 도구와 서버 로그로 요청 경로를 확인합니다.
CRUD 실습에 집중하면 모델링과 트랜잭션·인덱스를 비교할 시간이 부족할 수 있습니다.
중복 데이터나 동시 수정 문제를 해결하기 어렵고 느린 질의의 원인을 추측합니다.
키와 정규화부터 학습하고 제약조건·트랜잭션을 적용한 뒤 실행계획으로 인덱스 효과를 확인합니다.
문제로 연습합니다언어와 웹 도구를 익히는 동안 CPU·메모리·저장장치의 관계를 생략하기 쉬울 수 있습니다.
메모리 사용과 디스크 입출력의 차이를 설명하기 어렵고 성능 개선 근거가 불분명합니다.
CPU·메모리·저장장치와 캐시를 학습하고 객체 생성과 파일 읽기의 동작을 실행 환경에서 관찰합니다.
프로젝트를 완성하는 일정에 집중하면 자동 테스트와 변경 설계를 반복할 시간이 부족할 수 있습니다.
기능을 수정할 때 다른 기능이 깨지거나 하나의 코드가 너무 많은 책임을 가집니다.
핵심 업무 규칙의 정상·경계·실패 테스트를 작성하고 외부 의존성과 기능의 책임을 나눕니다.
웹 기능 중심 과정에서는 논리·확률·통계와 데이터 해석을 별도 과목으로 다루지 않을 수 있습니다.
조건식의 의미나 평균·분포의 차이를 설명하기 어렵고 분석 결과를 과도하게 일반화합니다.
집합·논리·함수를 코드와 연결하고 기초 통계를 작은 데이터로 실습합니다. 데이터 직무를 목표로 하면 확률과 선형대수를 추가로 학습합니다.
문제로 연습합니다시연용 서비스를 만드는 과정에서는 권한 검증과 장애 대응을 충분히 반복하기 어려울 수 있습니다.
다른 사용자 데이터 접근이나 배포 설정 오류를 발견해도 검증·복구 절차가 불분명합니다.
인증·인가와 입력 검증을 점검하고 비밀값을 분리합니다. 테스트 환경에서 로그 확인과 백업·복구를 연습합니다.
언어·자료구조·실행 원리를 프로젝트와 연결합니다.
네트워크와 데이터 일관성을 검증합니다.
테스트·운영·기술 설명을 보완합니다.