const root = ReactDOM.createRoot(document.getElementById('root')); root.render( // StricMode는 개발자 모드에서만 두번씩 빌드된다 // 이유는 에러를 쉽게 찾으려고 ); 컴포넌트의 생성주기 생성(랜더링) → 변화 → 소멸 mounting - 화면에 보여질때 (초기화) updating - 변화가 발생할때 (예외처리) unmounting - 화면에서 사라질때 (메모리 정리) import React, { useEffect, useState } from 'react'; const MountTest = () => { console.log("test"); useEffect(() => { console.log("useEffect") return(..
전체 글
개발자를 꿈꾸는 비전공자 낙타 github https://github.com/jun9898IoC(Inversion of Control)컨테이너의 사용 어노테이션을 이용한 객체주입컨테이너가 어노테이션 기호를 보고 객체를 생성해서 자동으로 연결시켜준다.스프링컨테이너가 생성될때 설정파일에 등록된 패키지를 스캐닝해서 어노테이션 기호가 추가된 객체들을 생성하고 관계를 설정한다.컨테이너가 생성될때 특정 패키지를 읽어서 작업해야 하므로 태그를 이용해서 생성하고 싶은 객체가 있는 패키지를 등록해야 한다.생성자, 필드, setter메소드를 통해서 주입받을 수 있다. 빈생성스프링 컨테이너가 관리할 수 있도록 하려면@component : 기본빈으로 정의하고 등록할때@Service : 서비스 역할을 하는 빈을 등록@Repository : db연동을 위한 빈을 등록@Controller : 스프링웨 MVC에서 사용하..
프레임워크 완성된 소프트웨어가 아니라 어떤 문제를 해결하기 위해서 만들어진 미완의 모듈로 모든 자바 개발자들이 공통으로 사용하는 기능을 미리 만들어서 제공하는 프로그램(해결해야 하는 문제 - 내가 개발해야 하는 시스템⇒ 교육시스템, 예약시스템, 인터넷뱅킹, 쇼핑몰…)재사용이 가능한 모듈, 일반적으로 프레임워크를 이용해서 개발하는 시스템들의 공통모듈들은 프레임워크에서 제공하는 기능을 이용해서 개발공통모듈 - DB연동, 트랜젝션처리, 뷰관리, 로그기록, 보안, 다국어처리, 메시징…검즘받은 프로그램으로 신뢰성 높은 시스템을 개발할 수 있다.프레임워크를 사용하면 개발자들간의 의사소통이 가능대부분 개발자들이 직접 개발하고 처리하던 작업을 프레임워크가 제공해주기 때문에 유지보수나 시스템 개발을 위해 필요한 시간을 ..
1. 학습 목표2. 학습 내용소프트웨어 프로젝트 관리의 개요프로젝트 관리의 개념프로젝트 관리 대상프로젝트 관리의 구성단계소프트웨어 프로젝트 계획프로젝트 계획프로젝트 계획 단계의 작업 과정소프트웨어 개발영역(scope, 범위) 결정소프트웨어 개발에 필요한 자원 예측소프트웨어 프로젝트 비용 예측 방법프로젝트 계획 수립 시 고려사항소프트웨어 프로젝트 비용 추정개념프로젝트 비용 결정 요소1. 학습 목표 소프트웨어 프로젝트 관리의 개요소프트웨어 프로젝트 계획소프트웨어 프로젝트 비용 추정2. 학습 내용 소프트웨어 프로젝트 관리의 개요 프로젝트 관리의 개념 프로젝트 관리소프트웨어 프로젝트를 조작하고 (organizing), 계획하며 (planning), 일정관리 (scheduling) 하는 것주어진 기간 내에 최소한..
1. 학습 목표2. 학습 내용소프트웨어 개발 생명주기 모형의 개요소프트웨어 개발 생명주기 모형폭포수 모형 (waterfall model)프로토타입 모형나선형 모형4GT 모형(4세대 기법)V모델1. 학습 목표 소프트웨어 개발 생명주기 모형의 개요폭포수 모형프로토타입 모형나선형 모형4GT 모형2. 학습 내용 소프트웨어 개발 생명주기 모형의 개요 소프트웨어 개발 생명주기 모형 소프트웨어 개발 생명주기를 표현하는 형태소프트웨어 공학 패러다임이라고도 함 폭포수 모형 (waterfall model) 개요가장 오래된 모형임많은 적용사례가 있지만 요구사항의 변경이 어려움각 단계의 결과가 확인된 후에야 다음 단계로 넘어감선형 순차적 모형으로 고전적 생명주기 모형이라고도 특징소프트웨어 개발의 각 단계를 확실히 매듭짓고 다..
1. 학습 목표2. 학습 내용소프트웨어 개발 방법론의 개요소프트웨어 공학 패러다임소프트웨어 개발 시 고려해야 하는 내용소프트웨어 개발 방법론소프트웨어 공학이 다루는 일반적인 주제소프트웨어 개발 생명주기정의역할소프트웨어 개발 생명주기의 일반적 공정과정1. 학습 목표 소프트웨어 개발 방법론의 개념을 설명할 수 있다.소프트웨어 개발 생명주기의 개요를 설명할 수 있다.소프트웨어 개발 생명주기의 일반적 공정과정을 설명할 수 있다.2. 학습 내용 소프트웨어 개발 방법론의 개요 소프트웨어 공학 패러다임 패러다임 : 사물을 바라보는 관점, 기본틀, 접근방법, 스타일 등을 의미함소프트웨어 공학 패러다임 : 소프트웨어 개발 시 고려해야 하는 개발방법, 개발환경, 개발관리 등에 대한 이론적인 체계나 접근 방법 소프트웨어의 ..
JDBC Java DataBase Connectivity⇒ 자바가 DBMS와 연동하기 위한 기술 오라클에 접속하여 JDBC를 사용하기 전에 해야할일 오라클 드라이버를 다운로드모든 DBMS의 제조사 홈페이지에서 다운로드오라클이 설치되어 있는 경우 (XE)C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib의 ojdbc.jar파일ojdbc.jar파일 : 오라클 드라이버JVM이 인식할 수 있는 위치로 오라클 드라이버를 복사⇒ 코드를 실행하기 위해서 JVM이 찾을 수 있는 위치⇒ Build path에서 라이브러리 등록(Appllication 이므로, 웹인경우 lib에 복사) 자바로 DBMS 연동 oracle 드라이버 로딩클래스 로더를 이용해서 드라이버의 핵심 클래스를 ..
실행 방법에 따른 자바 클래스의 구분서블릿서블릿 작성 규칙실행 방법에 따른 자바 클래스의 구분 Application : mian 메소드를 만들어서 실행java 클래스명 ———- |______________java 인터프리터가 public static void main(String[] args) 스펙의 메소드를 찾아서 실행Applet : html 태그로 삽입(지금은 안쓴다. 무겁다)servlet 서블릿 클라이언트의 요청을 처리하기 위한 자바기술서버에서 클라이언트의 요청을 처리하고 응답할 수 있도록 만들어진 객체클라이언트가 요청하면 서버에서 실행되면서 DB에 대한 처리, 서버의 리소스를 이용해서 만들어진 결과를 클라이언트에 응답클라이언트가 요청하면 서버가 요청한 서블릿을 찾아서 실행하므로 서버가 찾을 수 있..
1. 학습 목표 시스템의 정의 및 고성요소에 대해 설명할 수 있다. 소프트웨어의 정의 및 특징에 대해 설명할 수 있다. 소프트웨어 공학의 발생 배경과 개념을 설명할 수 있다. 2. 학습 내용 시스템 공학 정의 시스템 어떤 목적과 기능을 수행하기 위해 유기적인 관계를 맺으며, 함께 작용하고, 서로 의존하는 요소들의 집합 각기 독자적인 목적을 가지고 있는 여러 구성요소로 이루어진 특정한 집합 예) 컴퓨터 시스템 : 하드웨어, 소프트웨어 등의 구성요소들이 서로 유기적으로 작용함 시스템 공학 시스템의 개발과 운용, 유지보수를 합리적으로 행하기 위한 사고방법, 절차, 조직 및 기법등을 총칭함 기술적 측면 : 시스템을 구성하는 물리적 요소의 적합성과 이의 효과적인 조합에 의한 효율의 극대화를 추구함 관리적 측면 :..
1) 전반적인 느낀 점 (일주일 동안 한 일) 월 ~ 목요일 동안 예비군을 다녀왔다. 일주일을 통으로 날릴 수도 있다는 불안감에 밤잠도 잘 못 이루고 정말로 피곤했던 한 주가 지나갔다. 날씨는 또 어찌나 덥던지.. 정말로 훈련받다 이러다 죽을 수도 있겠다는 생각이 절로 났었다... 예비군 훈련이 끝나고 남은 1시간이라도 수업을 듣기 위해 매일 매일 센터에 방문했다. 하필 내가 선수학습을 하지 않았던 SQL과 조금 개념이 흐릿하게 잡혀있었던 List, Map, Set 자료구조에 대해 진도를 나가 어떻게든 수업 내용을 머릿속에 쑤셔 넣느라 정말 혼이 쏙 빠졌던 한주였던 것 같다. 다행히도 SQL은 기존 학습하던 자바에 비하면 너무나도 재밌고 쉬웠고, 자바의 여러 가지 자료구조는 그동안 알고리즘 학습으로 단련..