목록분류 전체보기 (108)
어리바리 신입 개발자의 얼렁뚱땅 개발 기록 ✨

SQL의 함수는 크게 두 종류 : 내장 함수 / 사용자 정의 함수 [ 내장 함수 ] DBMS가 제공하는 함수 최초 선언 시, 유효한 값을 입력 받아야한다. 선언에 위배되는 값을 입력하면, 실행이 중지되고 에러 메시지가 출력된다. SELECT, UPDATE, DELETE에서 모두 사용가능하다. [[ 주요 내장 함수 ]] [ 제어 흐름 함수 ] 프로그램의 흐름을 제어 - IF(수식, 참, 거짓) SELECT IF(100 > 300, 'T', 'F'); -- F 반환 - IFNULL(수식1, 수식2) : 수식1이 NULL이 아니면 수식1 반환 / NULL이면 수식2 반환 SELECT IFNULL(NULL,'NULL입니까'), IFNULL(300,'NULL입니까'); -- NULL입니까 / 300 반환 - ..

하나의 툴로 여러 데이터베이스를 관리할 수 있다. heiSQL은 무거운 작업을 진행하다보면 멈추는 형상이 발생할 수 있음 팀플, 현업 유지보수 - DBeaver 사용 데이터 수정 또는 삭제할 때 관계-제약조건 존재 *** 삭제하려는 테이블을 찾아서 어떤 테이블이랑 관계가 있는지 확인하고, 순차적으로 데이터를 삭제한다. A,B,C,D 테이블 전부 연관되어있을 때 - SELECT 후 DELETE 오른쪽 마우스 - add new property 윈도우 - 설정
[ 데이터 타입 ] 데이터 타입의 종류가 많은 이유 : 실제 저장되는 데이터 타입이 다양 -> 데이터에 맞는 타입 지정하면 데이터를 효율적으로 저장할 수 있기 때문 RDBMS는 테이블 구조 : 데이터들이 DB서버의 공간을 계속 차지 -> 저장 공간을 효율적으로 사용하는 것이 중요 0~999 6자리 데이터베이스도 낭비를 줄이기 위해 용량을 생각하여 데이터 타입을 지정해야 한다. 크게 문자형, 숫자형, 날짜형으로 나뉘고 실제 저장되는 데이터 타입은 더 다양하다. 각 데이터에 맞는 타입을 지정해서 효율적으로 저장할 수 있다. [ 숫자형 ] - 자주 사용 : SMALLINT, INT, BIGINT, FLOAT *UNSIGNED 예약어 예) 키 데이터를 삽입하는 컬럼 SMALLINT : 대략 범위 -3만 ~ 3만..

[1. 회원가입 화면 - forward] URI : /Min/m_insert_form.ksmart_m View : m_insert_form.jsp 패키지명 : kr.or.ksmart.controller 클래스명 : MController 메서드 : void doGet / void doPost 패키지명 : kr.or.ksmart.forward 클래스명 : MActionForward Index.jsp /WEB-INF/web.xml [2. 회원가입 처리 - forward / redirect 둘 다 아님] URI : /Min/m_insert_pro.ksmart_m View : m_pro.jsp 패키지명 : kr.or.ksmart.Inter 인터페이스 : MActionInterFace 패키지명 : kr.or.ksm..
Model - View - Controller 1. 컨트롤러에서 get방식 또는 post방식 요청 했는지 확인 컨트롤러 -> 어떤 처리과정 -> view(화면) 경로로 포워드 / 리다이렉트 http://localhost:8007/mysqlv8_MVC_MG_tomcat9_jstl_End/Min/m_insert_form_ksmart_m getRequestURI - /하위 전체 경로 문자열 - /mysqlv8_MVC_MG_tomcat9_jstl_End/Min/m_insert_form_ksmart_m getContextPath - /프로젝트명 경로 문자열 - /mysqlv8_MVC_MG_tomcat9_jstl_End 전체 경로 문자열.substring(프로젝트명 경로 문자열의 길이) - /프로젝트명 다음 모든 ..

하나의 ip 주소에 여러 개의 서버를 제공할 때 서비스 포트넘버로 서버를 구분할 수 있다. 8080 웹서버1 포트 8007 웹서버2 포트

[데이터베이스 선택 가이드] 1. KEY -VALUE Database - 데이터를 키 -밸류로 저장하는 데이터 베이스 - 실용성이 떨어지고, 서브DB로 사용 Redis : 특이하고 많이 사용 데이터를 하드디스크에 저장. redis는 RAM에 저장. RAM에 저장 > 속도 빠름 메인 DB를 RAM에 복사하고, 필요한 데이터를 RAM에서 꺼내서 사용 2. RDBMS - 데이터를 표 형태로 저장하고 싶을 때, 관계형 데이터베이스를 사용한다. - 어떻게 데이터를 저장할지 이름(속성)을 작성하고, 데이터를 저장. - 다양한 분야에서 사용할 수 있어서 RANK에 상위권은 모두 RDBMS - RDBMS는 데이터를 저장하고 싶으면, SQL을 사용한다. - 하지만, RDBMS는 데이터의 중복을 싫어함 때문에 반드시 지켜..
[ DBMS ] 1. 데이터베이스의 구축 절차 - 데이터 베이스 만들기 - 테이블 만들기 - 데이터 입력, 수정 ,삭제 - 데이터 조회, 활용 데이터베이스는 데이터를 저장하는 공간이고, 가장 먼저 데이터 베이스를 준비하고, 그 안에 테이블을 생성해야한다. 대용량의 데이터를 관리하며 여러 사용자가 동시 접속 및 공유하는 개념 데이터를 어떤 방법으로 저장하면 좋을까? 여러가지 이론이 제시, 데이터모델 종류 : 계층형, 망형, 관계형, 객체관계형 등 가장 많이 > 관계형 데이터 베이스 RDBMS - 데이터가 테이블에 저장 (최소단위) - 테이블은 하나 이상의 열과 행으로 이루어짐 **root 계정 모든 권한을 가지고 있는 관리자의 이름 root root계정의 비밀번호가 유출 -> 모든 데이터가 유출 설치 후 ..

[ 1.객체 생성 방법 ] 1. 객체 리터럴 방식 const cat = { name: '삼색이', age: 3, sayMeow: function () { console.log(`${this.name}는 ${this.age}살`); } }; // 객체 내에 속성과 메서드를 선언할 때 선언 키워드(var,let,const 사용하지 않는다.) // 속성과 메서드를 선언할 때는 this 사용하지 않음. // 객체 내의 속성이나 메서드를 사용하려면 this 사용해야 한다. 2-1. 생성자 함수 사용 (자바스크립트 내장 함수인 Object() 생성자 함수) const cat = new Object(); cat.name = '삼색이'; cat.age = 3; cat.sayMeow = function () { cons..
[ 내장객체 ] - 문자, 날짜, 배열, 수학 개체 등 - 주로 new 연산자를 활용하여 객체화 한다. ( let 변수 = new 생성자함수(); ) - 브라우저 객체 모델(BOM) : window, screen, location, history, navigator - 문서 객체 모델(DOM) : html구조가 저장된 객체, window 객체의 하위에 있다. (각 문서 구조를 컨트롤 및 이벤트를 처리할 때 쓴다. css의 값도 변경 가능) [ 날짜 객체 ] - 날짜 정보를 얻거나, 날짜 정보에 관련된 작업을 할때 쓰인다. - 날짜의 정보는 사용자의 컴퓨터의 시간을 참조한다. - 구문 : let 변수 = new Date(); - 1000의 정수값은 1초이다. [ 날짜 객체가 지닌 메서드 ] let date..
rs = pstmt.executeQuery(); String m_id = rs.getString("m_id"); String m_pw = rs.getString("m_pw"); String dblevel = rs.getString("m_level"); String dbname = rs.getString("m_name"); while(rs.next()){ if(m_id.equals(dbid)){ .... --------------------------------------------------------------- 실행하면 뷰포트에서 Before start of result set 오류 출력 실행하는 SQL문이 SELECT문일 경우 반환한 데이터를 대입할 객체가 필요하다. (이때 데이터를 대입할 객체는 ..

[ 배열 ] const arr = [1,2,3,4]; [ 객체 ] const obj = { name : '홍길동', arr : [1,2,3,4], // 객체 안 메소드 형태 다 쓸 수 있다. getName1 : function getName1(){}, getName2 : function(){}, getName3(){} } [ 함수 ] 1. 일반함수 function fn(){ let name = '홍길동'; console.log(name); // 내부함수 가능 function fn2(){} } ※ 일반함수 호출시 객체 리턴하기 ※ function objFn(name,age){ return{name,age}; } const obj = objFn('홍길동',20); console.log({obj}); //co..
[ 콜백 함수 ] 다른 함수의 인수로 들어가는 함수 왜 쓰는지? 함수를 순차적으로 실행하고 싶을 때 [ 내부 함수 ] 함수 내부에서 다른 함수 선언 / 다른 함수 호출 가능 var myFn = function(){ console.log('함수 호출'); var subFn = function(){ // 함수 안에 또 다른 함수 선언 console.log('내부 함수 호출'); } subFn(); // 함수 내부에서 다른 함수 호출 }; myFn(); [ 재귀 함수 ] 선언된 함수 내부에 자기 자신을 호출하는 방법 (반복문 대신 사용할 수 있어서 어떻게 보면 편리할 수 있음) 하지만, 재귀호출은 꼭 필요한 상황이 아니면 지양한다. (프로그램 무한루프 걸릴 수 있음...) var myFn = function(..