첫 날 오늘은 학원 첫 날이었다. 생각보다 진도가 너무 느려서 놀랐다. 처음 컴퓨터를 만지는 학생들이 있어보였고 정보처리기능사 자격증을 가진 사람도 있어 보였다. 다양한 실력을 가진 사람들이 있어서 그런가 선생님은 최대한 자세하게, 그리고 천천히 설명을 하였고, 그
오늘도 어김없이 태그를 배웠다. 뭐 당연하다 태그로 시작해서 태그로 끝나는게 HTML이니 수많은 태그들이 있어서 이것들을 다 필기하고 외우는건 한계가 있고 몇가지 기억에 남는 태그들을 정리해보자 오디오 태그 오디오 파일을 추가하는 것으로 동영상 파일 넣는 거랑 별
오늘은 css에 들어가는 첫 날이다. CSS css의 첫 코드는 이것이다. 태그를 선택해서 디자인을 태그에 입히는 방식이 기본적인 방식이다. 물론 다른 방법도 있다. 여기서 h1같은 것을 태그 선택자라고 하며 이것은 html태그, class선택자, id선택자,
네 번째 날이다. 웹페이지 기본 구성 오늘은 웹페이를 구성한느 방식을 배우는 것으로 시작한다. 이건 예전 방식인데 div를 감싸서 id나 class에 정체성을 주는 방식이다. 요즘은 div로 하나하나 감싸고 id를 하나하나 입력해야하는게 귀찮아서 아예 id값을 태
오늘은 다섯번째 날이다. 클론코딩을 할 때 몰랐던 내용도 꽤 배웠던 날인것 같다. margin, padding 초기화 브라우저 종류가 여러개인데 이 들은 기본 margin과 padding이 다르기 때문에, 이 두개를 초기화 해주고 시작하는 것이 좋다. 이미지 넣기
헷갈리는 거 특수문자를 출력하고 싶을경우 역슬래시를 이용하면 된다. 참고로 역슬래시는 "\\" 이렇게도 나타낼 수 있다. 입력방법 출력은 alert와 console을 이용했다. 입력은 어떻게 할까? 이런 입력창이 나오는데 여기에 "a"를 입력해보자 입력된 결과
오늘은 코딩의 시작이라는 if문을 시작한다. 조건문 if문 if는 조건문으로 만약 조건이 참이라면 그것을 실행하고 거짓이면 실행하지 않는 기능이다 사용법 : 조건식이 참(true)이면 실행문이 실행됨 else문 else문은 if문의 조건이 참이지 않을 결우 실행
for 갑자기 for에 대해서 다시 가르쳐 주신다. 아니 심화과정을 가르쳐 주시는거니 이상하진 않은가. 아무튼 해보자. 반복문과 조건문 동시에 써보기 여기서 중요한 것은 for안에 if를 쓰면 반복은 하지만 특정 조건에서만 어떤 것을 실행 할 수 있다. 누적합 숫
여기서 부터는 웹디자인에서 의 js의 역할을 배운다. css는 그냥 정적인 디자인을 다루지만 jsqurery는 그 이상의 것들을 다룰 수 있다. ex) 움직임...?이것도 css처럼 선택자를 이용하여 디잔인을 한다.queuy selector로 dom문서에 접근이 가능하
참고 : css와 js의 차이는 css는 웹사이트가 뜰때 최초디자인만 지원하고 js는 그 이후에 디자인 변화를 줄 수 있다는 차이가 있다. document.querySelector으로 이미지에 접근하기 방법은 동일하다. 첫 줄과 같이 접근후 image의 속성들을 정
오늘은 일요일이다. 금요일 일이 있어서 휴가를 써서 수업을 듣지못하였다. ㅜㅜ 그래도 선생님께서 녹화를 하셔서 올려주셨기에 따로 공부를 할수 있다. 선생님은 진짜 천사이신거 같다... jquery 이제 바닐라가 끝나고 제이쿼리에 대해서 배운다고 한다. 이건 js의 라
figma 개발자입장에서는 많이 사용하진 않지만 디자이너와 협업시 디자이너의 입장을 이해하기 편하게 되기때문에 배우는 것이 좋다. 예제5 주로 프레임으로 틀을 만들고 시작한다. fill은 백그라운드 컬러같은 개념 effects로 다양한 효과를 넣어 줄 수 있다.
어제는 가로 중앙정렬을 배웠따. justify를 이용해서 가로에서 가운데 왼쪽 오른쪽으로 정렬이 가능했다. 그럼 세로는 어떻게 할까 세로 정렬 결과 align-items로 세로를 정렬할 수 있다. 위 가운데 아래는 가로 정렬과 같이 start, center, e
backtic 예전에는 문자열붙이기를 +를 통해서 했다. 그런데 백틱을 이용하면 진짜 타자를 치는 거처럼 해준다. 코드창에서 띄어쓰기를 하면 출력에서도 띄어쓰기가 되고, 줄바꿈을 하면 출력창에도 줄바꿈이 일어난다. 사용법 저 사선처럼 생긴 따옴표에 쓰고싶은 글을써
router링크가 a태그보다 성능이 빨라서 뷰에서 이걸 사용 a는 페이지 이동시 모든 태그를 새로 만들음 (html한장을 모두 다시 실행한다 ) 근데 router은 불러와야하는 링크만 새로 만들기때문(부분 새로 고침)에 고치지 않을 것들은 나두어서 필요없는 실행은
주의 : 스타일 속성은 객체 형태이다. diabled속성은 true, false로 결정이미지태그는 js에 주의를 해줘야해서 js태그를 보여주겠다.require함수를 사용해야한다.
veu.method 속성을 이용한 출력 어제는 함수를 만들어서 alert으로 출력을 해보았다. 이번에 export에 속성으로 출력할 문자열을 지정하고, 이걸 함수로 내보내보자. 버튼 2를 누르면 Hello world를 나오게 할건데 이걸 함수를 이용해서 하는 것이다.
조건문을 주어 재고가 있다 없다를 출력해보자.inStock속성을 주었고 속성값으로 true, false를 주었다.v-if문으로 instock이 true이면 InStock을 출력하고, 그렇지 않으면(else) out of stock이 나오게 했다.이번엔 수량에 따라 출력
게시판 만들기 계속 json파일 화면에 출력 공통함수 만들기 일단 axiou설치는 되어있고 json파일을 vue에서 사용하려면 axios를 사용하여 읽어들어야한다. axios를 사용하기 위해선 페이지마다 import를 하여야한다. 우선 axios를 import할 파일
JAVA 자바는 os를 가리지 않고 다 잘 작동한다. C언어는 window용으로 개발하면 ios에서는 수정이 필요하지만 java같은경우는 다 잘 작동한다. 한국어는 2byte, 영어는 1byte여서 글자가 깨질수 있다. 그래서 다 utf-8형식으로 언어를 표시하자 해
연산자는 이미 js에서 배웠고 java에서도 동일하다. 요약만 봐도 될거같다.데이터를 처리하여 결과를 산출하는 것을 연산이라고 함산술(이항) : +, -, , /, %부호(단항) : +, -문자열(이항) : +대입(이항) : =, +=, -=, =, /=, %=증감(단
do while이 일반 반복문과 다른 점은 조건식이 참이든 거짓이든 최초 한번은 실행된다.반복문 강제종료 명령문while의 조건에 true, for의 조건에 ;true;을 넣어주면 된다.이때 특정 조건에 탈출을 시켜주지 않으면 무한 루프에 걸리게 된다. 이때 이 무한
배열 1차원 배열 정의하는 방법 배열을 정의 하는 방법은 여러가지가 있다. 첫 번째 방법 자료형[] 변수명 = {변수값}을 해주면된다. 두 번째 방법 int[] 배열변수이름 = new int[배열의 크기]; 를 해주면 된다. int타입의 인스턴스를 만드는 것으
기존의 배열은 크기를 먼저 부여해야한다는 단점이 있었다. 그래서 입력갯수가 변하면 배열의 갯수도 달라질때 불편함이 있었다. 이를 해결할 방법이 ArrayList이다. arrayList 사용법 ArrayList 객체명 = new ArrayList();로 객체를 호출하
열거형 파일 종류가 따로 있다. class가 아니고 enum이라고한다. 년도와 월도 가져올 수 있다. (DAY_OF_WEEK자리를 변경하면된다.)캘린더 함수는 숫자로 알려주기때문에 1이 어떤 요일인지 헷갈릴수 있다. 그래서 열거형과 swith로 1에 일요일.... 이렇
함수는 클래스에서 기능, 동작을 나타낸다.예를 들어 계산기에서 전원을 켜거나, 끄기, 연산등을 말한다.위와 같은 형태로 만들수 있다.함수의 속성은 함수가 끝나면 효력을 잃는다. 하지만 이것을 함수 밖으로 내보낼 수 있는 것이 return이다. 이것을 이용해 result
접근제한자 접근제한자 접근제한자의 종류 접근제한자 : 각 속성(필드)/함수(메소드)를 사용허가를 하는 예약어 public : 모든 클래스는 사용가능 private: 모든 클래스 사용불가 (오직 자신의 클래스만 사용) default: 생략가능, 자신의 폴더(패키지)에서
변수에 final붙여주는 것은 상수이다. 클래스에도 fianl을 붙여줄 수 있는데 이러면 다른 클래스가 자신을 상속 못 받게 할 수있다.final을 붙인 Member클래스를 만들었고, 다른 클래스가 상속을 받게했다.이때 Member클래스에 빨간 줄이 생기며 오류가 뜨는
StringIndexOf 문자열에서 특정 문자의 위치를 찾아주는 함수이다. 만약에 중복된 문자가 있다면 첫번째 문자 위치만 알려준다. *결과 문자가 몇번 째 자리에 있는 지를 알려주고, 찾지 못하면 -1을 출력한다. Repeat함수 결과 문자열을 반복할때 사용
인터페이스 인터페이스 추상메서드만으로 이루어져 있는 클래스를 인터페이스라고 한다. 엄밀히 말하면 클래스가 아니고 인터페이스 자체이다. 메서드의 본체가 존재하지 않으니 '나는 타입만 빌려줄게 본체는 자식 너네가 채워라'같은 방식이다. 인터페이스의 특징 인터페이스에서 속
equals함수 문자열은 비교할 경우 비교연산자를 사용할 수 없다. 비교연산자는 스택방의 값을 비교하는 것인데 문자열의 경우 인스턴스라 힙영역의 주솟값을 가지기 때문이다. equals의 재정의 String의 경우 재정의가 이미 되어있어 String에 대한 equals
Stack 스택 자료구조는 맨 끝에 들어온 데이터가 맨 처음 나간다(후입선출, LIFO = Last In First Out). 문자열 거꾸로 출력하기 등 에 이용할 수 있다.
하나의 try문에 여러개의 예외가 걸릴 위험이 있다고 하면 그 에러 종류마다 catch문을 사용해주어야한다. 첫 번째 catch문이 실행되었다. try문에서 에러가 여러개가 발생하게 만들어 줬는데 첫 번째 문만 실행된 것을 볼 수 있다. 어차피 예외가 발생되면 바로 실
JAVA API 날짜 클래스(자주 사용) LocalDataTime 클래스 LocalDateTime클래스를 가져와서 now함수로 현재시간을 가져온다. DateTimeFormatter의 ofPattern함수를 가져온다. 이제 여기에 형식을 문자열 형태로 넣어주면 되는데
2진 파일에 출력하기(쓰기) 특정 길이만큼 쓰기 배열을 한번에 출력하는 방법이다. write함수를 사용한는 것은 똑같지만 배열의 이름과 인덱스 번호로 여러 개의 값을 한번에 파일쓰기가 가능하다. 2진 파일 읽기 2진 파일 읽기 이진파일은 그냥 읽을 수가 없다. 그래
중첩 클래스 중첩클래스 필드에 클래스를 만들수 있고 함수 안에 클래스를 넣을 수도 있다. 여러가지 클래스와 연관을 맺을때는 독립적인 클래스를 만드는 것이 좋지만 한개의 클래스와만 연관을 맺을 경우에는 중첩클래스를 사용하는 것이 유지보수에 도움이 되는 경우가 있다.
Docker 운영체제는 컴퓨터당 하나만 실행이 가능하다. 그런데 우리는 윈도우를 사용하면서 리눅스를 사용하고 싶은데 이때 사용할수 있는 것이 docker이다. 가상화공간을 만들어서 거기서 리눅스를 실행할 수 있게 해준다. 설치 windowspowershell관리자 권한
컨테이너 기초 컨테이너에 이미지 띄우기 컨테이너 생성하기 컨테이너는 이미지를 실행하면 자동으로 생성이 된다. 즉 실행하면서 생성이 된다는 것이다. 명령어 : "docker run 옵션 --name 생성될컨테이너명 이미지명 셀명" 여기서는 -it --name옵션과, te
vi 시작하기 시작하고 빠져나오기 vi시작 명령어 vi를 시작하는 명령어는 vi이다. 파일명을 미리 주고 싶으면 vi 뒤에 파일명을 입력해주면된다. 명령어 : vi 명령어 : "vi vi파일의파일명" vi를 입력하면 다음과 같은 화면이 나온다. 이번에는 미리 파일명
셀 스크립트 작성 리눅스에서 실행할 명령어들을 작성해서 저장하는 파일이다. 예를 들어 date와 ls를 명령어를 파일에 같이 넣어서 새로운 명령어로 만들어버리면 한번에 date와 ls를 한번에 실행이 가능하다. 또한 조건문이나 반복문을 기술해서 사용할 수 있게끔 하
DB 다운로드 우리는 Oracle의 sql을 사용할 것이기에 Oracle의 SQL Developer에서 소프트웨어를 다운받아보자. 오라클 프로그램과 서버 docker로 선생님께서 만든 서버를 다운받을 것이다. 이 서버에 접속하기 위해서는 프로그램이 필요한데 이 때 사용
like를 이용해서 특정 단어를 포함하는 data를 검색할 수 있다. 검색 방법은 다음과 같다.LIKE 검색시 아무단어나 올수 있다는 표시로 "%"를 해준다. 특정 단어로 시작하는 것은 '단어%'로 표현할 수 있다.질의 : SELECT 컬럼 FROM 테이블명 WHERE
함수 날짜 함수 MONTHS_BETWEEN 날짜 사이 개월 수 구하기 날짜 사이에 개월 수를 구하는 함수가 있다. 근무 개월 수를 구할 때 사용할 수 있다. 함수 : MONTHS_BETWEEN(큰 날짜, 작은 날짜) 근무 개월 수를 구했다. ADD_MONTHS 개
그룹함수 연습문제 "관리자를(MANAGER) 알 수 없는 사원"은 그룹에 해당하는 조건이 아니고 개인에 해당하는 조건이므로 WHERE를 사용해야하고, "최저 급여가 2000 미만인 그룹은 제외"에서는 그룹에 대한 조건이므로 HAVING을 사용해야한다. 그리고 HAV
다중 행 subquery 서브쿼리의 결과로 여러 건이 나온다.
Table DDL문 SUBQUERY를 이용한 UPDATE 수정시 바로 값을 바꾸는 것이 아니라 다른 컬럼의 값으로 바꾸고 싶을때, 다른 컬럼의 확인 없이 SUBQUERY를 이용해서 한번에 값을 바꿀 수 있다. 이렇게 하면 괄호안에서 조회된 값이 DNO가 10일때 LO
질의 : DROP SEQUENCE 시퀀스명;이런 메세지가 뜨면 성공이다.조회속도 향상을 위해 컬럼에 인덱스를 생성함 컬럼에 인덱스를 지정해서 생성하면 된다. 예를 들어 어떤 사이트에서 이름검색이 검색이 너무 느려 DB에 INDEX를 생성해서 속도를 올릴수 있다.쿼리 문
모델링 모델링이란 DB설계를 의미한다. 건축같은경우 설계도, 청사진 등을 만드는 것이다. DB모델링 툴 주로 er-win을 사용한다. 하지만 비싸서 이번 시간엔 무료툴인 ERDCloud를 사용할 것이다. ERDCloud ERDCloud에서 로그인 후 사용하면된다.
Spring boot 스프링은 어노테이션을 이용하여 기능을 실행한다. 어노테이션은 함수와 비슷하고 자주쓰는 기능을 구현 해놓은 것이다. 이것을 이용해서 스프링의 기능을 이용할 수 있다. 클래스, 함수, 변수 등 모든 곳에 붙일 수 있다. 환경설정 시작설정 스프링 부트
저번 시간에 변수를 사용해서 url을 통해 화면에 출력했다.이번엔 변수를 여러개 사용해서 출력해보자RequestParam를 하나 더 추가했다.여러개의 매개변수를 사용할때는 "&"를 이용해서 적어줘야한다. 이것말고는 큰 차이가 없다.변수들을 list에 담아서 model로
패스 배리어블로 한개의 값을 넘겼지만 이번에는 여러개의 값을 넘겨보자마찬가지로 getMapping의 {}안에 변수를 넣어준어야한다. 변수를 하나 더 주어진 거 빼고는 바뀐것은 없다.url에 적은 변수 값들이 잘 출력 되었다.참고로 url에 변수명을 안적고 싶으면 get
향상된 출력 화면에 출력하는 용인데 sout을 사용하면 성능이 굉장히 안 좋아진다. 그래서 이걸 사용해서 출력을 할 수 있다. logback사용 툴 가져오기 위 툴을 resources에 가져와야 이 툴을 사용할 수 있다.이 패키지 명도 우리가 사용하는 프로젝트와 맞춰줘
dno로 삭제하기 DeptService removeByDno함수 만들기 Dao 함수에서 deleteById함수를 가져와서 사용하면 된다. 이 함수는 list에서 회원 정보를 삭제하고 삭제를 하면 1을 안하면 0을 return 한다. count가 0보다 크면 tr
본격적으로 프로젝트를 만들어 보자폴더를 다음과 같이 만들면 된다.JPA에서는 model을 entity라고 한다. 여기선 어노테이션을 사용하여 테이블과 속성들의 getter,setter,생성자 옵션등을 만들수 있다.예전에는 insert time과 updatetime이 없
검색 기능 만들기 이건 수업시간에서 하라고 한 것은 아니지만 그냥 만들어보고 싶어서 만들어 봤다.이렇게 검색창에 id를 입력하면 해당의 id의 게시판 정보를 불러오게 만들어 보았다. service함수 이 기능은 id로 해당 id의 정보를 찾는 것이므로 미리 만들어 놓
※ 대소문자 단축키 인텔리제이에서 대문자 소문자를 한번에 다 바꿔주는 단축키는 ctrl + shift + U이다. 데이터베이스와 연결 검색기능 구현 검색기능은 spring부분은 미리 다 구현을 해놓았기 때문에 jsp영역만 수정하면 된다. 대신 오류를 발견해 contr
저장기능 구현 전에 jpa없이 저장기능을 만들었을때는 if문으로 pk값이 없으면 저장, 있으면 수정으로 인식되게 만들어 주었다. 그런데 이번에는 jpa의 저장함수가 이것을 자동으로 제공해줘서 만들 필요가 없다. Service 구현 jpa를 사용하면 repository
검색 페이지 넘겨도 검색 유지 검색 결과가 여러 페이지일때 페이지를 넘기면 검색 된 내용의 다음 페이지가 아니라, 전체 정보의 다음 페이지로 넘어간다. 이걸 해결하기 위해선 url에 검색할 요소의 정보를 추가해주면 된다. 파일 업로드 기능 구현 이미지를 업로드하는 방
jsp 이번엔 테이블이 아닌 카드 폼을 이용해서 파일을 나열을 할 것이다. 부트스트랩에서 카드를 들고 와서 repository 수정 수정 전 코드 수정 후 코드 소프트 삭제가 일어나지 않은 데이터만 보여줘야하기 때문에 "AND DELETE_TYN = 'N'"을
update 기능 구현 Service 함수 save함수의 else칸을 update를 위해 비워놓았다. uuid만들기 url 만들기 생성자에 넣기 3가지 단계가 있었는데 uuid는 이미 만들어져있으니 url만 만들고 생성자에 넣어보자. 코드 insert에 만들어
로그인 Service함수 Repository 함수 예전에는 생략이 가능했는데 이제는 패스워드를 암호화 하는 객체가 필수가 되었다. config폴더의 WebSecurityConfig클래스에 암호화를 해주는 함수를 하나 만들어주어야한다. config폴더에 패스워드 암
로그아웃 jsp 코드 csrf보안 토큰을 주어야 해킹을 방지할 수 있다. post방식으로 해야 보안에 안전하다 사실 로그아웃은 스프링이 알아서 다 해주기에 configuration만 잘 해주면된다. 회원가입 Service에 save함수 만들기 코드 저장할 함수이
vue와 spring 연결 설계 axios CRUD 함수들과 스프링부트의 컨트롤러 함수들과 네트웍으로 연결됨 이때 컨트롤러는 @RestController 어노테이션을 사용해야함 Vue : axios 라이브러리의 get(), post(), put(), delete() 함
vue 전체 조회와 페이징 vue에서 페이지 기능을 사용하기 위해서는 페이징 라이브러리를 가져와야한다. 이것을 사용하면 따로 반복문을 만들지 않아도 알아서 다 만들어주어 편리하다 spring에서 가져올 데이터 이용하기 spring과 통신에 사용할 변수 정의하기 spri
veu spring 저장 기능 vue service함수 만들기 DeptService.js파일에 저장 함수인 create()를 만들어주어야한다. post는 객체를 전달 해야하므로 axios의 post함수는 controller의 url와 객체를 리턴 값으로 전달한다.
Vue Spring 파일 업로드 기능 전체조회 기능 service함수 만들기 fileTitle으로 검색이 가능하게 검색기능을 구현할 것이고, page와 size로 페이지 기능을 구현할 것이다. 속성 정의 업로드한 파일을 여러개 보여주기 위해 객체 배열을 준비했다
Rest Client 테스트 방법 화면을 확인하지 않고, 즉 프론트가 완성되지 않아도 백엔드의 controller 함수들이 잘 기능하는 지를 확인할 수 있다. 조회 기능 테스트 함수 옆에 qpi버튼을 누르면 테스트 화면으로 넘어간다. 위 화면에서 재생버튼을 누르면 테스