전체 글 57

24/08/13

오늘의 수업 : SQL 이어서 + 배포하기 배포하는 방법은 두가지를 배웠다.하나는 firebase를 이용다른 하나는 docker이다. firebase는 react로 만든걸 올리는 용이라는데 그냥도 올라가는것 같은데 다시 해봐야겠다.근데 한시간이 지나도 사이트가 호스팅되지 않는다...깃허브로 만들어볼때도 css 적용이 안됐었는데,, 해결법을 찾아도 안돼서 포기했었다.  firebase는 강의실 컴퓨터 문제로 c -> d 드라이브로 옮기니 파일생성 오류가 해결되었지만 호스팅이 안돼어 기다려보았다.그래서 docker는 놓쳐버려,,, 중간 부터의 기록을 못찾겠다.mysql의 터미널 까진 열었지만 어떻게 교재의 명령어가 입력되는지 모르겠다. => firebase 창은 뜨지 않았다!!!

그룹화 & 정렬

그룹화 구문 : GROUP BYSELECT 열, 집계함수 FROM 테이블 [WHERE 필터 조건] GROUP BY 열ex) 주소별 학생수      select address, count (*)      from students      group by address      주소별 학생 평균 나이      select address, avg (age)      from students      group by address GROUP BY 절에 의해 생성된 그룹 중 조건에 부합하는 그룹 선택하는 구문 : HAVINGSELECT 열, 집계함수 FROM 테이블 [WHERE 필터 조건] GROUP BY 열 HAVING 그룹 필터 조건ex) 학생 수가 2명 이상인 주소만 조회      SELECT address..

[SQL] 2024.08.12

함수

데이터베이스의 함수 = 프로그래밍에서의 함수 내장함수SUM : 숫자의 합SELECT SUM(age) FROM students; => 288AVG : 숫자의 평균SELECT AVG(age) FROM students; => 32MAX : 숫자의 최대값SELECT MAX(age) FROM students; => 36MIN : 숫자의 최소값SELECT MAX(age) FROM students; => 28CONCAT : 두 문자열 연결SELECT CONCAT(name, address) FROM students; => 이름과 주소를 하나의 문자열로 생성LENGTH : 문자열 길이 반환SELECT LENGTH(address) FROM students; => 주소의 문자열 길이 반환REPLACE : 특정 문자열을 치환..

[SQL] 2024.08.12

My SQL

SQL을 사용해 보기 위해 MySQL Workbench를 깔아주고 connection을 만들어 준다.새로운 데이터 테이블을 만들기 위해 데이터베이스를 생성해 준다.create database [이름]ctrl + shift + enter => 정상적으로 실행 되었는지 확인 (명령어의 옆의 파란불 or output박스 안의 내용)그리고 그 데이터베이스 사용을 위해use [이름]테이블 생성 SQL문 입력DML [데이터베이스에서 데이터를 조작하는데 사용하는 언어 - sql의 하위 집합]SELECT : 데이터 조회FROM : 조회할 테이블 지정WHERE : 조회할 데이터 필터링INSERT : 데이터 삽입INSERT INTO : 새로운 행 삽입UPDATE : 수정할 테이블 지정SET : 데이터 수정WHERE : 수..

[SQL] 2024.08.12

데이터베이스와 SQL?

데이터베이스?통합 관리하는 데이터 집합 DBMS (DataBase Management System)?데이터베이스 관리 시스템  SQL (Structured Query Lanuage)?데이터베이스에서 내가 원하는 데이터만 골라 보고 싶을때 사용데이터를 정의, 조작, 제어 DDL : 데이터베이스 or 테이블 등 생성&삭제&구조 변경DML : 데이터를 처리 or 조회 or 검색 을 위한 명령어KCL : 데이터 관리를 위한 명령어 RDBMS?Relational + DBMS = 관계형 데이터베이스2차원 테이블 구조로 데이터 저장 1:1 관계 : 한 개의 행과 한 개의 행에 대응1:n 관계 : 한 개의 행과 다른 여러 개의 행에 대응n:n 관계 : 여러 개의 행과 여러 개의 행 대응....

[SQL] 2024.08.12

#6 QUOTES AND BACKGROUND

QUOTES1. 명언들을 객체의 배열로 정리 하자 2. HTML에서 필요한 테그들을 만들어 주고 3. JS에서 타겟 가능하도록 정의해 준다.const quote = document.querySelector('#quote span:first-child');const author = document.querySelector('#quote span:last-child'); 4. 그리고 명언 객체를 불러오려면 console.log(quotes[0]); 처럼 객체의 수를 알아야한다.    매번 새릴 순 없지! 추가 같은 것도 해버리면..?    => 내장함수 Math. 사용!         Math.random() : 0부터 1사이의 랜덤한 숫자 제공 / 하지만 소숫점 자리제공...         Math.ran..

#5 CLOCK

1. HTML엔 h2 tag를 사용해 기본값 00:00:00 설정2. JS에서 qureySelector or getElementBy~로 태그를 부른다.3. 시계를 업데이트 하려면 interval(시간의 간격)을 사용해야 한다.4. 이는 내장함수가 있다 : setInterval('실행하고자 하는 함수', '함수 호출 간격(ms)');const clock = document.querySelector('#clock');function sayHello() {  console.log('hello');}setInterval(sayHello, 5000);5초마다 콘솔에 hello를 입력해 줄것 이다. (함수 실행 확인) 5. 시계를 표시하기 위해선 날짜함수를 이용해야한다.    이 또한 내장 함수 Date();   ..

#4 LOGIN

JS의 if문같은 조건문을 이용하지 않고 HTML에서 input태그의 글자수 제한(최대길이), 빈칸확인 등을 걸수 있는데,이는 유효성 검사(required)가 필요하다. 이를 하기 위해 input태그는 꼭 form태그 안에 감싸져 있어야 한다!그래야 HTML만으로도 유효성 검사를 통해 위의 기능들이 실행된다. form의 자식인 input태그의 속성은 required(필수, 없다면 폼제출이 차단된다.), maxlength, type, placeholder 등이 있다. 하지만 이를 사용하면 버튼 or enter 클릭 시 '무조건' 자동으로 submit(새로고침)이 된다. 문자열을 입력시키는데 있어서 보다 깔끔하고 반복적이지 않게 사용하는 방법은` ${} ` 를 사용하는 것이다.const username = ..

JavaScript On The Browser

document : 접근할 수 있는 HTML을 보여주는 객체document.title : HTML에서 정한 head의 title을 보여준다.document.title = 'test'를 통해 문서의 title이름 변경 가능 특정한 무언가를 가져오려면~특정 HTML내용 변경!자바스크립트로 HTML에 접근하기 document.getElementById("~"); : tag의 id명으로 내용을 가져올 수 있다.const title = document.getElementById"title");title.innerText = 'Got you!';처럼 사용시 대상(element)을 정의해 가져와 줘야한다.element.innerText : element 안에서 사용자에게 '보여지는 text 값'들만 가져오거나 설정 ..