기초 SW 프로그래밍
HTML
|
- • WEB(웹)의 기본 구조 개념과 특징 이해
- • WEB 요소와 원리, WEB 서비스 동작 과정
- • Client와 Server의 상관관계
- • HTML 문서 구조 tag (DOCTYPE, html, head, body)
- • 기본 태그 사용법, 폼과 입력 요소, 입력 타입별 특성
- • 테이블 생성과 구조화
- • 시맨틱 태그의 이해와 사용
- [실습] 이론적 지식을 실제 개발 환경에 적용하기 위한 각종 tag들을 이용한 예제 작성
|
H |
CSS |
- • CSS3 문법과 선택자의 종류 및 사용법 (태그, 클래스, ID 선택자)
- • HTML5에 적용하는 스타일 규칙 작성 방법
- • 박스 모델과 구성 요소(margin, border, padding, content)
- • 레이아웃 기법 (float, position, display, Flexbox, Grid)
- • 스타일링 기법 - 텍스트, 폰트, 색상 스타일링
- • 배경 이미지와 그라디언트
- • 응답형 웹 디자인 (미디어 쿼리)
- [실습] HTML과 CSS코드를 이용하여 CSS 적용 컨텐츠 작성
|
H |
자바스크립트
jQuery 라이브러리
|
- • JavaScript의 특성과 BOM, DOM 등 JS의 기본문법
- • 변수와 연산자, 제어문, 배열 처리
- • 코드 블록에 따른 변수의 유효범위와 클로저
- • 함수의 정의와 사용, 중첩 함수
- • 문서 객체 모델(DOM) 이해 - 요소 선택, 수정, 추가, 삭제
- • 이벤트 처리 (이벤트 리스너 추가 및 이벤트 핸들링)
- • 폼 유효성 검사 로직 구현
- • Ajax와 non blocking의 이해 : XMLHttpRequest 객체 사용
- • 동적으로 모듈 input/output 처리
- • jQuery 라이브러리 활용 및 문서접근, 탐색, 이벤트 처리
- • jQuery 지원 함수, jQuery DOM, Ajax
- [실습] 바닐라 자바스크립트((Vanilla JS) 연습용 주제별 프로젝트 작성
|
H |
ECMAScript |
- • 모던한 기술 규격, 표준화된 스크립트 프로그래밍 학습
- • 문법 변수 선언과 데이터 타입: Primitive와 Reference, Symbol 타입의 이해
- • Arrow Functions: 간결한 함수 표현식의 활용
- • Template Literals: 문자열 내 변수 삽입, 다중 라인 문자열 생성
- • Destructuring Assignment: 객체나 배열의 속성을 개별 변수로 쉽게 할당
- • 확장 연산자: 배열이나 객체의 요소를 쉽게 확장하거나 나머지 매개변수를 다룸
- • Modules: 코드를 모듈화하여 관리, import와 export
- • Class: 클래스 선언, 상속, 메소드 정의와 활용 방법
- • Promise 객체와 async/await를 활용한 비동기 처리
- - Fetch API 또는 Axios 통신 라이브러리로 비동기 처리
- • 신규 컬렉션: Map, Set, WeakMap, WeakSet의 사용법
- • Iterables과 Iterators: for...of 루프, 이터러블 프로토콜 이해
- [실습] 최신 자바스크립트 라이브러리를 적용한 실무 활용 프로젝트 작성
|
H |
React.js 라이브러리 |
- • React 라이브러리의 개념, 특징 및 장점
- • JSX 문법과 사용법, 표현식 삽입, 조건부 렌더링
- • 함수형 컴포넌트와 클래스형 컴포넌트, 컴포넌트 생명주기
- • Props를 통한 데이터 전달, State 관리와 상태 업데이트
- • 이벤트 처리 : 사용자 입력, 이벤트 바인딩, 폼 처리
- • React Router: SPA(Single Page Application)의 라우팅 관리
- • 상태 관리 라이브러리: Redux, Context API를 이용한 상태 관리
- • Hooks: useState, useEffect, custom Hooks를 이용한 함수형 컴포넌트 상태 관리
- • React 프로젝트 및 최적화, 성능 최적화
- • 테스팅, 배포 : 테스트, 빌드 과정 이해 및 웹 어플리케이션 배포
- • RESTful API 연동 처리
- [실습] Api 호출 관련 관련, Todo list, 코드 이식성과 재활용 관련 예제 작성
|
H |
Vue.js 라이브러리
|
- • Vue의 특징과 장점, 주요 사용 사례
- • 템플릿 문법 : 데이터 바인딩, 조건부 렌더링, 리스트 렌더링
- • 컴포넌트 생성 및 등록, props와 이벤트, 컴포넌트 통신, 슬롯, 동적 & 비동기 컴포넌트
- • Vue Router: 싱글 페이지 어플리케이션(SPA) 라우팅, 라우트 가드
- • Vuex를 이용한 상태 관리, 패턴 이해
- • Vue.js와 RESTful API : 백엔드 API와의 통신, axios 라이브러리 사용
- • 성능 최적화: 렌더링 최적화, 코드 분할, 애플리케이션 성능 분석
- [실습] Vue.js를 활용 능력 향상을 위한 섹션별 프로젝트 예제 구현
|
H |
Node.js
|
- • Node.js의 특징, 장점 및 사용 사례
- • 실습 환경 설정: Node.js 설치, NPM (Node Package Manager) 사용법
- • fs (파일 시스템), http, path 등의 내장 모듈 사용법
- • NPM과 패키지 관리: 패키지 설치, 업데이트, 삭제 및 package.json 관리
- • Express 프레임워크를 사용한 웹 서버 개발
- • 라우팅: GET, POST 요청 처리, 미들웨어 사용법
- • 템플릿 엔진: EJS, Pug 등의 템플릿 엔진을 이용한 동적 콘텐츠 렌더링
- • RESTful API 개발: REST 원칙에 따른 API 설계 및 구현
- • 데이터베이스 연동 : MariaDB 또는 H2 DB와의 연동
- • Node.js 성능 최적화 구현 방안
- [실습] 서비스를 위한 Node.js 서버 개발 후 RESTful API 구현 예제 작성
|
H |
DataBase
(MariaDB)
|
- • 데이터베이스 기본 개념 및 SQL의 역할과 중요성
- • 실습 환경 설정 : MariaDB 설치
- • 데이터베이스과 테이블 설계 및 정규화 : 1NF, 2NF, 3NF까지의 정규화 과정
- • 테이블 작성 및 제약 조건
- • Index의 이해와 성능 최적화, 쿼리 성능 분석 및 최적화 방법
- • 데이터 정의 언어(DDL) 및 조작 언어(DML) 습득
- • 기본 쿼리 작성
- • WHERE, ORDER BY, 집계 함수, GROUP BY를 이용한 그룹화 및 필터링
- • Join의 이해 및 사용, 여러 테이블의 데이터 결합 방법
- • Subquery의 개념과 쿼리 작성
- • 트랜잭션 : 개념과 ACID 속성, LOCK, 데드락과 같은 동시성 제어 기법
- • 가상 테이블 View의 활용 : 제한적 접근 허용으로 논리적 독립성 보장
- • 계정 생성, 권한 및 보안 처리
- [실습] 다양한 SQL문에 대한 단계별 튜토리얼 연습문제 경험
|
H |
JAVA SE |
- • 자바 개발 환경 설정 및 플랫폼 구조 이해
- • 기본 문법 (변수, 자료형, 연산자, 제어문)
- • 객체지향 프로그래밍 (클래스, 객체, 상속, 인터페이스, 다형성)
- : 코드 재사용성, 유지보수성, 확장성 극대화
- • 예외 처리와 파일 입출력
- • Collection 활용 : List, Set, Map 등
- • DB 연동 프로그래밍
- • 멀티스레드와 동시성 프로그래밍
- • 람다 표현식과 스트림 API
- • NETWORK : TCP, UDP, Thread 기반 네트워크 프로그래밍
- • Git을 이용한 버전 관리
- [실습1] 소 주제별 예제 작성
- [실습2] UI, UX 바탕의 DB 연동 프로젝트 작성
|
H |
JAVA EE - JSP |
- • 서블릿(servlet)과 JSP를 이용한 동적 웹 페이지 개발 능력 향상
- • 서블릿의 개념, 웹 애플리케이션 아키텍처
- • 서블릿 생명주기: init, service, doGet, doPost, destroy 메소드
- • 요청 및 응답 처리: HttpServletRequest, HttpServletResponse 객체 사용
- • 데이터 공유: RequestDispatcher, ServletContext, HttpSession
- • JSP의 장점과 역할, JSP와 서블릿의 차이
- • JSP 기본 요소와 내장 객체
- • 액션 태그와 JSTL(JSP Standard Tag Library)
- • MVC 아키텍처: Model, View, Controller 패턴 이해 및 구현
- • MyBatis 라이브러를 사용한 데이터베이스 연동 및 CRUD 작업
- • 세션 관리: 사용자 세션 추적, 로그인 및 로그아웃 기능 구현
- • 필터와 리스너: 웹 애플리케이션의 요청/응답 사이클 관리
- [실습1] 게시판 작성, JSP를 이용한 주제별 미니 웹 애플리케이션 개발
- [실습2] 실무 웹 애플리케이션 개발 후 배포(팀별 프로젝트 기획, 설계, 구현)
|
H |
Spring Framework |
- • Spring 프레임워크의 개념, 장점 및 주요 구성 요소
- • Spring 개발 환경 설정 및 프로젝트 생성 방법
- • 제어 역전(IoC), 의존성 주입(DI)의 개념 및 구현 방법
- • 기본 어노테이션: @Component, @Autowired, @Service 등의 사용법
- • Spring MVC의 구조와 역할 및 개발 방법
- • 데이터 액세스 : JdbcTemplate, MyBatis, Spring Data JPA를 이용한 CRUD
- • 트랜잭션의 개념, @Transactional을 이용한 선언적 트랜잭션 관리
- • AOP 개념 및 Spring AOP 구현
- [실습] IOC + CRUD + AOP 기능을 가진 애플리케이션 작성
|
H |
Spring Boot |
- • Spring 기반의 쉽고 빠른 웹 애플리케이션 개발용 도구임을 인식
- • Spring Boot의 특징, 장점 및 사용 사례
- • 환경 설정: Spring Initializr 사용, 프로젝트 구조 이해
- • 기본 구성: application.properties 설정, 의존성 관리
- • JPA 등을 이용한 데이터베이스 연동 및 CRUD 활용
- • Spring MVC와 RestController를 사용한 웹 애플리케이션 개발
- • 보안을 위해 Spring Security를 이용한 인증 및 권한 부여
- • Actuator를 사용한 애플리케이션 모니터링 및 관리
- • 프로젝트 운영: Docker 컨테이너화, 클라우드 배포
- [실습1] 학습 내용을 바탕으로 간단한 블로그나 Q&A 웹 애플리케이션 개발
- [실습2] 소규모 팀을 구성하여 실제 비즈니스 요구사항을 해결하는 팀 프로젝트 진행
|
H |
Public Cloud |
- • 클라우드 컴퓨팅의 정의, 장점, 서비스 모델(IaaS, PaaS, SaaS)
- • 퍼블릭 클라우드 개요 및 퍼블릭 클라우드 제공 업체 소개
- • 기본 아키텍처 : 클라우드의 기본 구조와 핵심 구성 요소 이해
- • 클라우드 서비스 관리 : 계정 설정, 비용 관리, 보안 기본 사항
- • 네트워킹: 가상 네트워크, 로드 밸런서
- • 개발 및 배포 도구 : CI/CD 파이프라인, 깃, 도커, 컨테이너 오케스트레이션
- [실습] 클라우드 기반 프로젝트 : 간단한 웹 애플리케이션을 클라우드에 배포
|
H |
프로젝트 공통 |
- 1. 기획서 작성 : 요구사항 분석과 서비스 설계
- 2. 기술서 작성
- 3. 구현
- : 프로젝트 기획 및 UI 설계
- : 요구사항을 통한 상세분석
- 4. 발표 및 시연
|
H |
중간프로젝트 |
|
H |
최종프로젝트 |
- <최종 프로젝트> - K디지털 선정 주제
- 웹서버 구축(프레임워크) 융합프로젝트
- ■ 업무 도구 WBS서비스 개발
- ■ 리뷰기반 커뮤니티 웹서비스 개발
- ■ 웹기반 소상공인 ERP시스템 개발
- ■ 패션포털웹서비스시스템 개발
|
H |