운영체제 독립적 (Write once, Run anywhere) : 한 번 만들면 어디에서나 실행이 가능하다객체지향 언어 (Object Oriented Programming)다중 스레드 지원간단한 코드 작성 (포인터 제거 및 Garbage Collection 활용)다양
변수 (Variable) 1. 용도 : 데이터 저장 (기본형 데이터 및 참조형 데이터 저장 용도) 2. 사용 방법 3단계 1) 변수 선언 데이터가 저장된 영역 확보 작업 (메모리에 저장되고 메모리 위치에 해당되는 이름 지정) 데이터 위치는 16진수 언제든지 값이
1. 표준 입력 (standard input) 1) 개념 : 키보드로 데이터를 입력 받음 2) 모니터 : System.out 키보드 : System.in 3) java.util.Scanner 클래스 이용해서 키보드에서 입력 받을 수 있음 4) 값을 얻을 수 있는 메
cf) 자바에서 데이터 저장 방법 3가지 ★1) 변수 (variable)값(데이터) 하나만 저장이 가능데이터 개수만큼 변수가 필요관리가 어려움기본형 변수, 참조형 변수 (클래스, 인터페이스, 배열)2) 배열 (array)여러 개의 값을 저장 가능배열에 저장하는 데이터형
1. 2차원 배열 1) 정방형 (1) new 이용 데이터타입 배열명 = new 데이터타입행크기; (2) 리터럴 이용 데이터타입 배열명 = { { 값1, 값2 }, { 값1, 값2}, {값1, 값2} }; (3) new + 리터럴 혼합 데이터타입 배열명 = new
1. 클래스 1) 객체 (object) 주체 (subject)가 바라보는 현실 세계의 모든 사물 및 대상 모니터, 노트북, 책상, 학생, ... 2) 객체의 구성 요소 2가지 (1) 속성 객체를 표현할 수 있는 특성 학번, 이름, 전화번호, 주소, ... (2)
public : 제한이 없음protected (default)private : 외부 클래스에서는 접근이 X, 자신만 접근 가능클래스, 메서드, 로컬변수 제외한 인스턴스 변수 및 스태틱 변수, 생성자에 사용 가능staticfinalabstract: heap 메모리에 생성
프로그램 실행과 관련된 키워드임객체 생성 전에 결정되고 객체 생성인 new와 무관static으로 지정된 변수 및 메서드, 클래스는 프로그램 실행시 생성이 된다 ★메서드 안에서 선언. 메서드 호출 ~ 메서드 종료. stack 메모리메서드 밖에서 선언. 객체 생성(new)
Employee : 큰 개념 (부모 클래스, super class, parent class) Engineer : 작은 개념 (자식 클래스, sub class, child class)형식 : extends 부모 클래스단일 상속(single inheritance) 만 지원
타입 비교하는 방법 : 변수명 instanceof 클래스 : boolean 반환문제 1 : 배열에서 Secretary만 출력하시오.형변환 : 필요시 작은타입 변수 = (작은타입) 큰타입; (강제형변환)문제 2: 배열에서 Manager에 추가된 depart만 출력하시오모
1. 중첩 클래스 (nested class, inner class) 1) 개념 : 클래스 내에 또 다른 클래스를 지정할 수 있다. : 클래스 내 클래스를 중첩 클래스라고 한다 2) 형태 3) 특징 (1) static 변수 사용 불가 (단, static으로 지정한 중첩
cf) final 변수에 final 사용 : 상수 (값 수정 불가) 메서드에 final 사용 : 오버라이딩 불가 (static도) 클래스에 final 사용 : 상속 불가 1. 유틸리티 클래스 (API) 1) java.lang.String 클래스 (1) 사용 방법 2가
1. 예외처리 (exception handling) 1) 예외? 일반적으로 에러(error) 라고 불리는 것 _ 예외가 발생되면 프로그램이 '비정상 종료' 된다 2) 예외 처리 예외가 발생됐을 때 프로그램이 '정상 종료' 되도록 처리하는 방법 정상 처리 방법 : 사용자
3. 표준 API 함수형 인터페이스 1) 개념 : 메서드가 파라미터 및 리턴값의 존재여부에 따른 4가지 형태가 존재한다 2) java.util.function 패키지 : @FunctionalInterface 지정. 따라서 추상 메서드는 반드시 한 개 존재 (1) C
1. 메서드 참조 (method reference) 1) 개념 : 람다 표현식의 축약된 표현 방법 (1) static 메서드 사용 클래스명::static메서드명 (2) 인스턴스 메서드 사용 참조변수명::메서드명 (단, 참조변수가 파라미터인 경우에는 클래스명::메서드명
1. 환경설정 1) MySQL8 다운 및 설치 커뮤니티 버전 (무료) https://dev.mysql.com/downloads/installer/ Windows (x86, 32-bit), MSI Installer 8.0.36 285.3M 2) 접속툴 자체적으로 설치
1. 함수 (Function) 1) 역할 : 데이터 가공 처리 2) 종류 (1) 단일행 함수 (single row function) 테이블의 행 (레코드) 단위로 적용되는 함수 데이터별 종류 a. 문자 데이터 : 길이, 부분열, 대문자, 소문자, 공백제거,... b.
1. 조인 (join) ★ 1) query 작업 (select 문) selection : 행 선택, where 절 이용 projection : 컬럼 선택, select 절 이용 join : 여러 테이블 연결 2) 개념 select 해서 출력하고자 하는 데이터가 하나의
2. 트랜잭션 (transaction) 1) 개념 여러개의 DML 작업들을 하나의 작업으로 묶어서 처리하는 개념으로 묶음을 의미한다. 묶음의 갯수 (1개 이상) 2) 명령어 commit 트랜잭션이 모두 실행했을때 성공해서 실제로 DB에 반영하는 명령
JDBC (Java Database Connectivity) 1) 개요 자바와 DB를 연동하는 자바 기술 2) 특징 JDBC는 DBMS 종 DBMS 종류와 독립적이다 (단 DBMS 벤더가 JDBC를 지원해야됨) DBMS 벤더는 사용자가 만든 자바 어플리케이션과 DBM
1. MyBatis 프레임워크 1) 개요 JDBC 사용을 편리하고 효율적으로 할 수 있는 기능이 추가된 형태의 SQL mapping 프레임워크 2) jar 다운로드 http://mybatis.org > mybatis-3.5.14 > assets > mybat
1. MyBatis 아키텍쳐 2. MyBatis 연동 1) MySQL 드라이버 및 MyBatis 라이브러리 다운로드 및 build path mysql-connector-j-8.3.0.jar mybatis-3.5.14.jar 2) DB 연동시 필요한 4개의 값을 저
1. Java의 GUI 구현 (Graphic User Interface) 1) AWT (Abstract Window Toolkit) 초창기 버전 OS 자원을 이용해서 GUI 랜더링됨 -> OS에 따라 화면이 달라짐 2) Swing Swing 자신의 자원을 이용해서 GU
1. web 아키텍쳐 (web architecture) * html인 경우 - 정적 * jsp인 경우 - 동적 * servelt인 경우 - 동적 2. 요청 1) 필요한 정보 서버의 IP 정보 : 210.100.100.3 port 번호 : 8080 타겟 컴포넌트
외부 파일을 참조할 때 외부 파일의 위치 (경로)를 알려주는 방법/ 로 시작함기준은 / 이다. http://127.0.0.1:5500/ 와 동일예> http://localhost:5000/sample.html http://127.0
1. 환경설정 (html과 동일) 1) node 설정 https://nodejs.org/ 다운 받고 설치 (기본 설치) cmd창에서 node -v 입력하고 버전 확인 2) VSC 설정 https://code.visualstudio.com/ 다운받고 설치 (기본 설
이름 안에 어떤 기능인지를 내포하고 있음문법 : :클래스명기능 : 스타일을 지정하거나 마우스 오버 및 a태그의 3가지 상태(방문 전, 방문 후, 활성화-누르고 있을 때) 색상을 변경할 수 있음: 지정된 태그의 부모가 기준임!문법 : ::요소의사클래스와 다르게 요소의 특
CSS #3 1. 요소 배치 (position) 1) display 속성 (1) 개념 요소를 어떻게 배치할지 제어가 가능한 속성 블럭레벨, 인라인레벨, 렌더링 방지, 인라인처럼 배치되지만 너비높이 지정 가능 2) position 속성 (1) 개요 display 속성
CSS #4 1. 색상 1) 영단어 표기 (120여개) color: red|blue|aqua|... 2) 16진수 (015) #RRGGBB (6비트), #RGB (3비트) #FFFFFF : 흰색 #000000 : 검정색 3) 10진수 (0~255) + rgb (r,
CSS #5 1. Grid 1) 개요 일반적으로 웹페이지는 행과 열로 구성된 grid 형식을 따름 flexbox는 1차원인 행 또는 열만 제어가 가능 grid는 행과 열을 같이 제어할 수 있다 ! 2) 구성 요소 반드시 부모 (grid container) / 자식
1. (Vanilla) Javascript 개요 웹브라우저에서 실행됨 (JS 엔진) 크롬의 JS 엔진 : v8 html 랜더링 기능 : 랜더링 엔진 v8 엔진을 크롬 브라우저뿐만 아니라 일반 서버에서도 실행될 수 있도록 만듦 ==> node.js > JS가 서버에서도
1. Window 객체 전역객체 window 변수로 참조 가능. 하지만 일반적으로 생략해서 사용. screen, location, history. navigator, document 은 Window 객체의 속성이다. 원래는 windo
1. DOM (Document Object Model) 1) 개요 Document (html 문서) Object (JS 객체) 사용자가 만든 html 문서를 웹브라우저가 렌더링 하기 위해서 html 내의 요소에 해당되는 객체 (HTMLButtonElement, HTLM
jQuery 1. 개요 JS의 라이브러리 풍부한 기능 제공 사용하기 쉽다 *.js 형식으로 제공됨 http://jquery.com 2. 설치 1) 다운로드 *.js 파일을 local에 저장해서 사용 압축 버전 : *.js (배포용. 공백을 제거해서 용량을 줄임) 비
Servlet/JSP 1. 자바 개발 플랫폼 1) Java SE (Java Standard Edition) 자바 spec JDK 설치로 SE 환경이 구축됨 rt.jar 개발할 수 있는 프로그램 형태 : 로컬로 실행되는 프로그램 2) Java EE (Java Ent
1. 서블릿 (Servlet) 1) 개요 servlet-api.jar 안의 패키지 이용 -> javax.servlet.http 패키지의 HttpServlet 클래스 이용 Java EE api 문서 참고하기 !!! HttpServlet의 계층 구조 2) 서블릿을 작성
REST API 1. 요청 처리 1) request.getParameter("name") 2) request.getParameterValues(String name) : String[] 예> checkbox check된 값만 서버에 전달이 된다 3) request
MVC 패턴 1. 메인화면 구축 http://localhost:8090/shop/main 2. 회원가입 화면 보기 3. 아이디 중복 체크 하기 mybatis 연동 1) 2가지 jar 빌드 패스 WEB/INF lib에 붙여넣기 2) jdbc.properties
Spring 어플리케이션 개발 https://spring.io/projects/spring-boot Spring Tool Suite (STS) STS4는 부트만 개발 가능 (https://spring.io/tools) jar 파일 다운로드 STS3는 프레임워크, 부
6. IoC Container에게 빈 정보같은 데이터를 알려주는 방법 (Configuration 작업) 1) XML 이용 2) 어노테이션 + 약간의 XML 3) 어노테이션 src/main/resources의 application.properties 이용해서 전반적인
1. Spring 기반의 DB 연동 1) JDBC vs SpringJDBC sql 이용 JDBC 보다 자바코드가 훨씬 적음 2) SpringJDBC + h2 연동 (1) 의존성 설정 (2) h2 관리자 콘솔 설정 웹페이지로 제공 의존성 설정 h2 관리자 콘솔 활성
Spring MVC 1. MVC 아키텍쳐 1) 서블릿 / JSP MVC 아키텍쳐 ListServlet 까지 오려면 요청 URL? http://서버IP:port/context명/서블릿맵핑 http://localhost:8090/context명/list http://
cf) 아키텍쳐 7. Model 생성 방법 (jsp에서 보여줄 데이터 의미) 이전 서블릿/jsp 는 scope에 setAttribute(key,value) 로 저장하고 jsp에서 보여줌 scope 종류에 따라서 저장하고 request.setAttribute(key
14. 예외 처리 Controller에서 예외발생시 예외처리하는 방법임. 1) 기본 SpringBoot는 자동으로 Whitelabel Error Page를 제공한다. 이것이 boot의 특징인 auto configuration 이다 spring-boot-
의존성 설정 이전 MainServlet 역할을 하는 MainController 만들기
Spring Security 1. 제공 파일 1) pom.xml 의존성 설정 2) application.properties 3) MemberDTO.java 2. Spring Security 1) 개요 사용자의 인증 (Authentication)과 권한 (Auth
5. git의 저장 구조 작업 트리---git add---스테이지---git commit---저장소 git init한 git_study 폴더 git diff 비교 : 작업 트리와 저장소 비교 git diff --staged 비교 : 작업 트리와 스테이지 비교 6
1. REST Representational State Transfer (표현 상태 전송) 웹 어플리케이션 개발 방법론 중의 하나로서 클라이언트와 서버간의 상태 정보를 표현하는 방식을 의미 (어제까지의 개발 방법론이 SOAP - Simple Object Access Protocol 임) 1) SOAP 아키텍쳐 2) REST 아키텍쳐 JSON 통신 (XM...
10. POST 응답처리 개선하기 1) status 명시적으로 설정 ResponseEntity의 메서드를 사용하여 status 값을 반환할 수 있음 status 값 종류 200 : 성공 201 : POST 나 PUT 으로 게시물 작성이나 회원 가입 등의 새로운 데이터를
1. 개요 facebook 제공 프론트엔드 프레임워크 (React.js, Vue.js, Angular) > JS 기반 MVC 패턴에서 V를 담당 가상 DOM 이용한 빠른 DOM 조작 가능 (DOM의 복사본을 수정하고 실제 DOM과 가상 DOM을 비교하여 변경된 사항만
1. Image 사용하기 반드시 src 폴더에 저장하고 import 해서 사용 권장. 실습 1- src/assets 폴더 생성 2- 이미지 저장 3- import 해서 이미지 사용 예> import daum from './assets/daum.png'; 2. pr
비동기 함수 JavaScript에서 특정 작업을 "동시에" 처리할 수 있도록 해주는 함수 네트워크 요청, 파일 처리, 타이머 설정, 이벤트 처리시 일반적으로 사용됨 동기 함수와는 달리, 함수가 호출되면 작업을 "백그라운드"에서 처리하고 함수가 완료될 때까지 기다리지 않
8. Context https://react.dev/reference/react/createContext (부모입장) https://react.dev/reference/react/useContext (자식입장) 1) 개요 prop drilling 현상 방지 liftin
1. 라우팅 기본 1) 참조 사이트 https://reactrouter.com/en/main 2) 설치 npm install react-router-dom 설치 후 package.json에 "react-router-dom": "^6.24.1" 추가됨 3) 프로젝트 생성
SPA (Single Page Application)는 전통적인 웹사이트와 달리 사이트 전체를 새로 불러오지 않고 동적으로 컨텐츠를 업데이트하며 사용자 경험을 향상시키는 웹 어플리케이션 형태이다. 초기에 모든 필요한 리소스를 한 번에 불러오고 (HTML/CSS/JS),
Tanstack Query 1) 설치 npm install @tanstack/react-query 사용 import { useQuery, useMutation, useQueryClient, QueryClient, QueryClientProvider