UNIQUE 제약조건중복되는 값의 저장이 불가능UNIQUE INDEX가 생성 빠른 검색효과null 가능 / null은 중복도 가능NOT NULL테이블 단에서 설정이 불가능NULL, '' 저장 불가능값의 중복 입력은 가능함CHECK설정한 조건 내의 값만 저장 가능조건절에
Like 연산자기능 : 일부의 문자조건이 일치하는 데이터를 검색할 수 있게 해준다.WHERE 컬럼명 LIKE 패턴값와일드카드 문자% : % 위치에 0개 이상의 문자(열)과 대체 : 위치에 반드시 1개 문자와 대체Escape 문자 where 컬럼명 like '%$\_
구문들이 반환하는 결과값의 타입은 확실히 인지해두기.기능주로 사용되는 위치반환하는 값이 있는 구문이면 반환하는 결과값의 형태문법이 좀 특이한지DECODE()반환값 : 비교값에 해당하는 결과값CASE()동등비교범위비교 그룹함수COUNT 함수 : 레코드(행)(해당 열의 데

오라클 객체로서 테이블의 특정 컬럼값을 넘버링(numbering)하기 위해서 사용된다.START WITH nINCREMENT BY n음수값 설정도 가능하고 생략시 1씩 증가된다.MAXVALUE nMINVALUE n시퀀스가 가질수 있는 최소값을 지정한다. CYCLE인 경
브라우저에서1\. naver.com 입력 enter2\. dns 서버 (도메인 네임서버) naver.com => 해당 ip주소 얻기3\. ip주소의 서버에서 접속, index.html 요청(request)4\. 서버는 서버에 저장된 index.html 파일을 찾아서 응
HTML 이어서 태그 방식 : 줄바꿈기준 1) 인라인 방식 : 줄이 바뀌지 않는다. 2) 블럭 방식 : 자동으로 줄이 바뀐다. 한줄을 통째로 차지한다. 수평선 태그 (블럭 방식) 문단 태그 PARAGRAPH 뛰어쓰기 여러번은
문장에 포함된 줄 바꿈과 여백 등을 그대로 표현 가능.공백 따옴표 "엠퍼센드 &문단표시보다 작은 <보다 큰 >선택자 위주로 공부할 예정이다.css 내에서의 주석/\* \*/css 문법selector(선택자) + Declaration(선언)선언 : property
운영체제와 상관없이 같은 코드의 JAVA 코드 작성 : 플랫폼 독립적JDK( + JVM 가상머신)실행될 때타입%s String 문자열%c Character 문자%d decimal 정수%f float 실수%b boolean 불린System 은 java.lang. 패키지에
멤버변수, 인스턴스변수, 전역변수0\. 사용시 new 키워드로 객체 생성 후 사용1\. new 키를 이용하여 객체 생성할 때 멤버(인스턴스)변수가 생성 후 참조변수에 생성된 객체의 주소 저장 후 참조하여 사용? 멤버변수? 참조변수 ?2\. 전역변수 : 클래스 전체에서
...데이터 날아감Math.random()0.0~0.99999~ 의 랜덤한 값구하고 싶은 값이 1~6이면 Math.random() 에 6을 곱하고 +1하고 int형으로 바꿔주면 된다(int)Math.random()\*6 +1
기본 데이터 및 참조 데이터 형을 포함한 자바의 모든 데이터 타입을 배열로 저장할 수 있다.같은 데이터 형만 배열로 저장이 가능하다.요소의 접근은 인덱스를 이용하여 가능하다.배열의 크기는 length를 사용하여 구할 수 있다.1차원 배열 및 다차원 배열이 모두가능하다.
Array 함수와 배열의 간단한 비교 및 복사
DD
개념 : 개념 : 궁금점 : static 초기화 블럭이 실행되는 정확한 경우 (무조건 최초 1번만?)Date함수 임포트 및 호출 - 내부 메소드 사용 위해서는 임포트 및 객체성생 필요Math.random 객체 생성할 필요 없이 사용가능한 static 메소드? 클래스?일
Acorn academy 12/08스마트폰 앱 제작 외에 거의 사용되지 않는다.member Outer : 클래스의 멤버변수나 메서드처럼 클래스가 정의된 경우이다.local : Outer 클래스의 특정 메서드 안의 로컬변수처럼 클래스가 정의된 경우이다.static : s
일반적으로 에러(error)라고 일컫는 예외는 프로그램 실행 중에 발생되는 의도하지 않은 문제를 의미한다. 중요한 점은 예외가 발생되면 프로그램은 비정상 종료되고 프로그램이 비정상 종료된다는 것은 프로그램이 끝까지 수행되지 못하고 중간에 종료됨을 의미하며, 프로그램을
List<String> list2=Arrays.asList("홍길동", "이순신", "세종", "test", "세종");ArrayList를 for문, foreach문, Iterator를 이용하여 각각 순회해보기List를 다형성을 적용해서 생성해보기List에 Arr
자바의 I/O 개요표준 입출력node 계열과 filter 계열File API , Path 및 Files API파일 입출력객체 직렬화큰 개념 입력 / 출력입력콘솔 : byte로 받아서 char로 변환해서 한라인씩 읽을 수 있게하여 반환파일 : 파일경로로 탐색하여 파일을
결과가 자동으로 커밋됨 (오토커밋)의도적으로 롤백해주기 위해 오토커밋을 해제해야함.DELETERS필요없음INSERTsql문에서 데이터가 들어갈 위치에 ?가 들어감PreparedStatement 를 이용한 insert와 selectDeptDAO클래스에서 데이터베이스에 연
JDBC 자동 커밋 autocommit => connection이 관리tx 명시적 처리 순서 (트랜잭션) 1) con.setAutoCommit(false) 2) dml sql executeUpdate 3) 정상실행 con.commit() 4) 문제 발생 con
프로젝트 마이바티스 설정 스탭1\. 프로젝트 생성 , driver build path지정2\. 패키지 생성,3\. Jdbc.properties파일의 4가지 정보 설정 후 파일붙이기4\. 모델클래스 파일만이라도 생성, mapper.xml 빈껍데기 파일 만 생성 후패키지에
사칙연산자와 나머지값을 구하는 연산자를 말한다.주의할점은 문자열과 다른 데이터형이+ 연산을 하면 문자열이 연결된다.변수나상수의값을비교할때쓰이는연산자로서결과가항상true 또는false인 논리값(boolean)이어야 한다가. == , != equal 연산자로서 필요
mapperchoose when otherwise foreach \`
< 목차 >객체의개념객체의 구성요소 ( 프로퍼티와메소드)객체의 종류 2가지데이터 관련 시스템객체브라우저 관련 시스템객체:속성(attribute) + 동작(behavior):프로퍼티(property) + 메소드(method)가. 프로퍼티( property ) : 객
BOMlocation 부분 복습 필요 제대로 이해 못함.폼버튼 클릭시 submit 이벤트 자동 발생 => action 부분 실행내가 나한테 전송event.preventDefault() 발생한 이벤트를 정지시켜준다.submit이벤트를 정지시켜줌위 이벤트 정시후 ㄷ페이지
백엔드 : 서버컴 실행 Servlet, jsp + 프론트엔드 : 브라우저에서 실행 html, css, jsServelet : DB연동(PreparedStatement, MyBatis)단점 : 사용자에 대한 요청 처리는 Java 코드와 동일하지만,html을 만들기가 매우
Enumeration으로 request 데이터 받아서 사용하기hasMoreElements()nextElement()getParameter()request.getParameterNames()를 통해 모든 값을 받아서 반환.Enumeration으로 받아서 처리권장되는 방법
mybatis 주의할 점 dto의 멤버변수 column명과 동일해야함form의 각 정보전달 태그 name = column명과 동일시해두면 매우 편리column명 = dto 멤버변수명 = form 데이터name명InitParam 사용key/value 형태로 설정 및 코드
servlet 워크샵 22번은 많이 사용하는 로그인 형식이니 숙지해두자.클라이언트에서 서블릿으로 요청하고 응답을 처리할 때, 서블릿이 요청 받기 전과 응답 처리 전에 임의의 특정 작업울 수행할 수 있도록 Filtel API를 사용할 수 있다.즉, 서블릿이 실행되기 전의
<a href="<%=request.getContextPath()%>/include/top.jsp">from root/프로젝트/include/top.jsp</a><br>flush : true -> 변경시 즉각반영. 꼭 true를 달아주기.자체 />
=> javascript 작업 데이터 전송 : 1) 콘솔로 데이터확인 후 전송=> 서버 servlet, jsp 2) 전송받은(파싱)데이타 확인3) db작업 => list, dto, dml 갯수 결과 확인jsp 응답처리MVC 패턴에 사용됨서블릿은 자바 코드 작성에 장점이
retrieve.jsp<select>태그에서 일치하는 직업의 <option>태그를 seleted 하는 코드mybatis에서 MAP, choose when, like을 이용like 사용시 concat, + 를 사용하면 오류 뜸.그냥 한 문자열 내에 붙여도 문제
jQuery jQuery에서 css 선택자로 여러개의 요소를 받을 때는 '태그'의 배열을 반환한다.이 경우 x0.innerText 처럼 배열접근.자바스크립트문법 형식으로 접근한다.x0은 태그를 반환하며 자바스크립트 코드를 적용할 수 있다.만약 해당 태그를 $()안에 한
add(expr) : 기존 검색요소에 expr과 일치하는 검색요소를 추가.주의할 점은 메서드명이 add이기 때문에, 새로운 요소가 기존 요소에 생성/추가 되는 것이 아니다. expr은 선택자 또는 html이 될 수 있다.$("div").add("p")는 $("div,
jQuery.map( array, function )입력된 배열을 가공하여 새로운 배열로 다시 반환시키는 메서드.jQuery.merge(arr1,arr2)두 개의 배열을 병합(merge)하는 메서드.jQuery.trim(str)입력값으로 받은 STR문자열의 앞과 뒤의
알아둬야할 부분webapp이랑 com.controller랑 같은 파일단이라고 생각하고 href등을 작성sample02_json3_1.jsp 파일에 get방식으로 data:{}를 폼데이터 파라미터로 보내고dataType으로 결과값을 받는다.받은 결과값은 success 또
쇼핑몰 만들기 미니프로젝트 진행미니쇼핑몰 만들기 - MVC기반의 JSP버전서버 : MVC패턴을 활용controller : servlet, view jsp, m : model기능 하나당 서블릿 1, jsp1DB : ORACLE xe 11g, jdbc, MyBatis프론트
Ajax 비동기 통신에 대해서 정리jQuery Ajax 문법 기본 형식url 경로 주의데이터 보내기json 형식의 "key": value 형식으로 전송전달받는 곳에서 폼데이터처럼 사용가능반환받는 데이터타입응답해주는 곳에서 어떤 데이터를 어떤 타입으로 보낸지를 생각한 후
jsp, servlet 파일이 너무 많아서 머리속에서 잘 그려지지 않고 복잡함.파일 위주로 머리 속에서 정리하지말고 페이지 단위로 정리하는걸로 합의보자.네이버 메일 smtp환경설정 ->POP3/IMAP 설정 ->pop3/smtp 사용 으로 체크jar 파일 필요 lib에
Git 사용법 Window -> show view -> other -> git -> 3개 선택리포지토리 생성프로젝트 생성 -> team ->리포지토리 선택하여 연동스테이지, 커밋gitignore.io 접속해서 생성Working Tree에서 .gitignore 찾아서 위
탬플릿 복사해서 사용색상그리드그리드 옵션종단점경고창html, js script링크배지버튼카드케러셀콜랍스
configuration.xml 외부파일로 빼두기trace: 전부표시error: 에러만 표시 ApplicationContext ctx = new GenericXmlApplicationContext("classpath:com/kkk/\*.xml");person.xmlm
기본생성자를 이용한 주입멤버변수 설정 없이 객체 생성생성자를 이용한 주입존재하는 생성자의 인자명, 갯수와 일치하게 생성한다.<constructor-arg name="" value=""/><constructor-arg name="" ref=""/>기본형은 va
key가 String, value가 String인 맵 형태의 객체setProperty(key) 값 설정getProperty(key) 값 반환props.stringPropertyNames(); 키값 반환config.xml나중에 xml의 bean관련은 전부 자동화할 것이다
dto 클래스의 별칭 지정해주는 어노테이션 전에 쓰던거 session => sql session template다른 점 따로 close()를 안해줘도 된다.또한 template의 기능 업그레이드 버전인 MyBatis를 사용할 수 있다.properties 로딩 => al
Thymeleaf 연습
메서드 앞에 set, get 키워드를 추가하여 변수와 같은 방식으로 사용 가능하게 만들 수 있다.setXxx() -> setXxx클래스이름을 사용하지 않고 constructor 키워드를 사용하여 생성자를 만든다.자바스크립트 클래스는 생성자가 하나만 존재할 수 있다.명시
방법1. 컴포넌트 기준으로 상대경로로 이미지파일 찾아가기my-address같은 케밥표기법으로 넘기면 반드시 받는 쪽은 myAddress같은 카멜 표기법을 사용한다. props:\[ 'username', 'age', 'myAddress']v-bind를 통해 자식에 다양
v-model과 v-if를 활용한 입력제한에 따른 텍스트 실시간 변경 기능키없으면 렌더링 안됨순서 기억배열: (내용, 인덱스)객체: (내용, 키, 인덱스)키값에 같은 이름의 변수 사용하면 안된다. 흠...require 역할 알아보기이미지 경로가 src/assets일떄
클릭이벤트 활용이벤트처리함수에서 데이터 뽑아오는 연습e.target.textContent, e.target.innerText로 이벤트메서드에서 html태그 text 사용splice를 이용하여 개별삭제를 구현이중순회 로직과 splice를 이용하여 전체삭제를 구현.Dele
vue에서 spring 서버에 데이터요청=> 스프링 프로젝트 <=> db dept 테이블의 자료보통 비동기로 처리함2번방법이 비동기를 구현하기 비교적 간편함방법 2가지1) http객체 이용2) anios객체 이용(비동기 동작) : npm 이용 별도 설치 필요leg
특정 링크에 컴포넌트를 연결시키는 것Vue 프로젝트 내에서 라우터 installnpm install vue-router@3App.vue에서 탬플릿 작성router.js 작성path: "/\*\*"는 나머지 페이지에 대한 처리main.jsimport Vue from 'v
부모의 이벤트 함수를 자식에서 호출하게끔 하는 방식을 통해서 props를 활용한다.해당 방법을 통해 자식 -> 부모로 데이터 전달이 가능하다.부모에서 이벤트함수를 선언 및 정의자식 컴포넌트 호출시 속성명={이벤트함수} 로 이벤트함수 전달 2-1. 여기서 속성명은 이벤트
뭔가 이상함 기준이 없음 상수가 바뀜해결하려면 공식문서 참고해서 원리를 이해해야할듯함initialGameBoardr가 const 상수형인데handleSelect로 setGameBoard(newGameBoard); 하고나서initialGameBoardr을 map으로 다시
import React, { forwardRef, useImperativeHandle, useRef } from 'react';ref.current => null이 된다.따라서 참조하는 태그가 사라졌을 경우 current.value와 같이 참조하려는 경우 널포인터 에러

자식컴포넌트에 dispatch 넘겨서 사용라이프사이클 훅 메서드들은 클래스형 컴포넌트에서만 사용할 수 있다.이를 대체한게 useEffect다.콜백함수가 몇번 실행될지가 배열과 연관이 있다.반환값이 없다.익명함수는 바로 실행되지 않고 App이 실행되어 DOM이 랜더링된

<dialog></dialog>태그 활용js에서 태그를 useRef로 선택해서 ref.current.showModal(), ref.current.close()로 모달 on/off 구현https://reqres.in/ ->create api 이용htt

NaviLink

라우터 배열 createBrowserRouter(\[])의 element로 오는 각 객체들의 속성 중 index:true는 부모와 동일한 주소를 사용한다는 뜻이다.// index:true -> 부모와 동일한 주소를 사용form 에서 기본으로 데이터를 전송하는 기능은 동

자료 pt 참고 node => 자바스크립트코드 => 브라우저 밖에서 실행되는 (애플리케이션) : 웹서버 구축, db 연동노드 폴더 생성 C:\\node_study\\node_stunode, npm 버전 확인실행 node 파일명.js순수 js파일만 실행하는 것이라면 in

$emit() 사용node_chat_stu, node_chat_prof 폴더 생성각각 npm init npm install express --savenpm install socket.io --saveconst fs = require("fs");정적 파일 생성css, j
설치: npm install nodemon -g실행: nodemon 파일이름주의 : powershell에서는 실행 불가능

servlet, spring 과는 다르게 배포가 좀 빡쌤pom.xml내장톰켓 쓰게 하기 위한 디펜던시javax - jstl 사용 위한 디펜던시pom.xml에 추가되어야할 것 2가지메인.java 파일에 추가되어야할 것 1가지외부에서 실행되게 하게끔 하는 코드
jar 파일 로컬에서 배포, 실행 서비스aws => 우분투 설치 20.04원격 터미널 (내컴퓨터에서 서버컴퓨터로 명령어 전달) putty원격 파일전송(ftp) winscpubuntu설치 및 환경설정oracle xe docker 이용 설치 / 포트 개방 => 원격 dbm

WINSCP 실행 - 고급 -SSH-인증- 개인키파일 설정하기리눅스 터미널 기본 명령어......chmod 파일이나 디렉토리의 권한을 변경읽기 쓰기 실행7 7 7sudo passwdsu 루트계정으로 변경vi /etc/ssh/sshd_config:set number:
이전 학습에서 이미지 설정이 잘못되어서 전부 삭제 후 다시 설정sudo docker pull oracleinanutshell/oracle-xe-11g (실제 설치할 버전)sudo docker run --name oracle11 -d -p 11521:1521

환경변수 설정path-편집-javahome 어쩌구 위로 올리기set JAVA_HOMEset pathjavacC:\\jenkins_work 파일 생성 -> 안에 톰켓 9버전 설치server.xml 설정 8090, manager, host_manager 설정, tomcat

지금까지의 작업1\. 로컬프로젝트 작성 -> 로컬톰캣을 통한 테스트2\. 로컬 빌드 -> WAR 생성3\. AWS 톰캣 -> 배포 후 서비스ci/cd =============1\. 로컬프로젝트 작성, 테스트 => GIT push2\. jenkins git pull, 테

jdk17 설치환경변수 설정c:에 eclipse_17 파일 생성내부에 sts4설치workspace 폴더 생성window-preference-java-jdk17추가 및 선택-적용jsp 사용설정help-eclipse market -> eclipse web 검색하고 deve
spring-boot-starter-web에 slf4j 로그 관련 라이브러리가 포함되어있다.application.propertiesTestController이후 test 주소에 요청을 보내면 log root 레벨 설정에 따라 알맞은 로그가 log파일에 로깅됨이후 하루가