001cloudid의 등록된 링크

 001cloudid로 등록된 티스토리 포스트 수는 216건입니다.

Java 9 [내부링크]

static 메서드와 인스턴스 메서드static 메서드와 인스턴스 메서드 static이 붙지 않은 것 => 인스턴스 메서드 static이 붙은 것 => static 메서드(클래스 메서드) iv 사용 여부 인스턴스 메서드 인스턴스 생성 후, '참조변수.메서드이름()'으로 호출 인스턴스 멤버(iv)와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수(iv) 사용 가능 static 메서드(클래스 메서드) 객체생성없이 '클래스이름.메서드이름()'으로 호출 인스턴스 멤버(iv, i..

자바 처음부터 다시 시작하기 8 [내부링크]

메서드 //메서드(객체지향개념, 클래스 안에) = 함수(클래스에 독립적) //문장들을 묶어 놓은 것 => 작업단위로 문장들의 묶어서 이름을 붙인 것 //값(입력)을 받아서 처리하고, 결과를 반환(출력) //메서드의 장점 //코드의 중복 ↓ //코드의 관리가 쉬움 //코드를 재활용할 수 있음 //코드가 간결해서 이해하기 쉬워짐 //메서드의 작성 //반복적으로 수행되는 여러 문장을 메서드로 작성 //하나의 메서드는 한 가지 기능만 수행하도록 작성 //메서드 = 선언부 + 구현부 // 반환타입 메서드이름(타입 변수면, 타입 변수명,...) //{ 메서드 호출 시 수행될 코드 } //매개변수 0~n개, 출력 0~1개 //메서드의 구현부 //지역 변수(lv) : 메서드 내에 선언된 변수 //int add(int ..

자바 처음부터 다시 시작하기 7 [내부링크]

객체 지향 언어 OOP //객체지향 언어 //코드의 재사용성을 높이고, 유지보수가 쉽게하며, 코드의 중복 제거 //객체지향 언어 = 프로그래밍 언어 + 객체지향개념(규칙) //객체지향개념의 규칙을 외우기 //핵심개념 : 캡슐화, 상속, 추상화, 다형성 클래스와 객체 //클래스와 객체 //클래스는 객체를 정의해놓은 것이며, 용도는 객체를 생성하는 데 사용 //객체는 실제로 존재하는 것이며, 용도는 객체가 가지고 있는 기능과 속성에 따라 다름 //즉, 클래스는 설계도, 객체는 제품이라고 생각하면 편함 //제품 설계도(클래스) - 제품(객체), TV 설계도(클래스) - TV(제품) //객체의 구성요소 - 속성과 기능 //객체 = 속성(변수) + 기능(메서드) //객체와 인스턴스 //객체 : 모든 인스턴스를 대..

240418 Java [내부링크]

복잡도 : 알고리즘의 성능을 나타내는 지표 시간복잡도(Time Complexity) : 특정한 크기의 입력에 대하여 알고리즘의 수행 시간 분석 오메가 표기법(Big-Ω Notation) : 최상의 경우(best case) 세타 표기법(Big-Θ Notation) : 평균의 경우(average case) 빅오 표기법(Big-O Natation) : 최악의 경우(worst case) 입력 크기(n)에 따른 단위 연산의 수행 횟수 변화를 함수로 나타낸 것 T(n) = 3n^2 + 2n + 8; n : 입력 횟수 증가, 3n^2 + 2n + 8 : 연산 단위 수행 횟수 증가 점진적 표기법 : Asymptotic Notation 시간복잡도 함수를 대표적인 복잡도 함수 집합의 원소로 표현하는 방법 알고리즘의 기본연..

자바 처음부터 다시 시작하기 6 [내부링크]

배열의 출력 //배열의 출력 int[] iArr = {100,90,80,70,60,50}; System.out.println(iArr);//배열을 가리키는 참조 변수 iArr값을 출력. 주소가 출력 //단, char 배열의 경우는 주소가 나타나지 않음 char[] chArr = {'a','b','c','d'}; System.out.println(chArr); System.out.println(); //배열 요소를 순서대로 하나씩 출력 for(int i = 0; imax) { max = score1[i]; } else if(score1[i] 1차원 배열의 배열 int[][] arr = { {1,2,3},{4,5,6} }; //new int[][] 가 생략됨 // => // int[][] arr = { //..

240417 DB - 오라클 정리 [내부링크]

복습만이 살길이다 오라클 SQL 정리 null값 : 산술식에 null값이 포함된 경우 전체 결과도 null alias : " " 큰따옴표 리터럴값 : ' ' 작은 따옴표 nvl : MySQL의 ifnull과 같음. null값을 실제 값으로 변환 그룹 함수와 group by절 사용 식 : 그룹함수에 포함되지 않는 컬럼이 같이 출력되려면 그룹함수에 포함되지 않은 컬럼은 반드시 group by절에 포함되어야함 on절 join, left, full outer join, self-join subquery : subquery를 먼저 실행한 후 메인쿼리 실행 제약조건 : PK, FK, UK, CK, NN 10g버전이후 오라클에서는 휴지통이 있음 => show recyclebin, flashback table 테이블 ..

자바 처음부터 다시 시작하기 5 [내부링크]

배열 //배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 //배열의 선언 : 배열을 다루기 위한 참조 변수의 선언 //타입[] 변수이름; => 배열 선언(배열을 다루기 위한 참조변수 선언) //변수이름 = new 타입[길이]; => 배열을 생성(실제 저장공간을 생성) int[] score; score = new int[5]; //배열의 인덱스 : 각 요소(저장공간)에 자동으로 붙는 일련 번호 //인덱스 범위는 0부터 '배열길이 - 1'까지 //int[] score; //1. 배열 score를 선언(참조 변수) //score = new int[5]; //2. 배열의 생성 //=> int[] score = new int[5]; //배열의 선언과 생성을 동시에 score[3] = 100; Syst..

자바 처음부터 다시 시작하기 4 [내부링크]

제어문 //제어문 flow control states //조건문, 반복문 //조건문(if, switch) : 조건을 만족할때만 {}를 수행(0번 또는 1번) //자주 사용되는 조건식 // 'A' =90) { grade = 'A'; } else if (score >= 80) { grade = 'B'; } else if (score >= 70) { grade = 'C'; } else { grade = 'D'; } System.out.println("학점은 " + grade + "입니다."); /* == int score = 0; char grade = 'D'; //학점을 D로 초기화 System.out.print("점수를 입력 : "); Scanner scanner = new Scanner(System.in..

자바 처음부터 다시 시작하기 3 [내부링크]

연산자 //연산자 : 연산을 수행하는 기호 //피연산자 : 연산자의 연산 수행 대상 //모든 연산자는 연산결과를 반환 ↔ 연산 결과를 반환하지 않으면 연산자가 아니다 //연산자의 종류 //산술 연산자 + - * / % //비교 연산자 > < >= = instanceof, == != //4. 논리 연산자 &, ^, |, &&, ||, ? //5. 삼항 연산자 ?: //6. 대입 연산자 //1 ~ 6 순서임 //※단항 연산자, 대입연산자는 결합 규칙이 ←임 //ex) x = y = 1 // y = 1이 먼저 대입되고, x = 1이 대입 증감연산자 //증가연산자(++) 피연산자의 값을 1 증가 //감소연산자(--) 피연산자의 값을 1 감소 //전위형 값이 참조되기 전에 증가 j = ++i; //j = ++i;..

240412 DB 순위 함수 [내부링크]

순위 함수 순위 함수 rank() : 순위를 구하기 위한 함수 row_number() : 순위를 구하되 동일 값에 대해서도 고유한 순위를 부여 ※차이 : 공동 순위가 있을 때 어떻게 반환해주는가가 다름 --rank rank() over (order by 컬럼명 asc/desc) --row_number row_number() over (order by 컬럼명 asc/desc) -- ex 1 select employee_id, last_name, salary, rank() over (order by salary desc) rank1, row_number() over (order by salary desc) rank2 from employees order by salary salary row_number ->..

자바 처음부터 다시 시작하기 2 [내부링크]

두 변수 값 바꾸기 //두 변수 값 교환 int x = 10; int y = 20; x = y; y = x; System.out.println(x); System.out.println(y); int a = 10; int b = 20; int temp; temp = a; a = b; b = temp; System.out.println("a = " + a); System.out.println("b = " + b); 값의 타입 //값의 타입 //값(data) : 문자(char), 숫자(정수(byte, short, int, long), 실수(float, double)), 논리(boolean) 0~65535 //실수형 정밀도(오차없는 자리수) //float 7자리 //double 15자리 printf() //pr..

자바 처음부터 다시 시작하기 1 [내부링크]

알아두면 편한 단축어 Ctrl + Shift + L : 모든 단축키 목록 ※이클립스 단축키가 윈도우 단축키와 충돌(같을 때) 윈도우 단축키가 작동됨 => 단축키 변경 : Windows-Preferences-General-Keys Alt + Shift + A : 멀티 컬럼 변경(토글키) => Shift + ↓ Ctrl + A (전체 선택) => Ctrl + i 자동 들여쓰기 Ctrl + /, Ctrl + Shift + C : 주석 Ctrl + Space 자동완성 ※자동완성 변경 : Windows-Preferences-Java-Editor-Templates ※Windows-Preferences-Java-Editor-Content Assist-Acto activation triggers for java => ..

240408 Web - TourWeb 2 [내부링크]

top.jsp 공지사항 문의하기 상품투어 프로그램 소개 여행자료 BoardController.java package com.itwillbs.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/board/*") public class BoardController { ///board/list @GetMapping("/list") public String list() { System...

240408 Java - 시간복잡도 [내부링크]

※자료 구조 자료(데이터)의 집합으로 데이터들을 어떤 형태로 저장해 둘 것인가에 대해 연구해 놓은 형태 ※알고리즘 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합을 총칭 문제를 해결해 나가는 절차 입력, 출력, 유한성, 명백성, 효과성을 만족 분석을 통해 좋고 나쁨을 평가할 수 있음 논리이며 실질적인 개발에 적용되는 기초적인 아이디어 정해진 상황에서 더 효율적으로 문제를 해결해주는 알고리즘은 분명히 존재하고 알고리즘 분석을 통해 증명 어디에 사용? 개발 전체에 사용 효율적인 알고리즘을 사용함으로써 원하는 결과를 도출 종합적인 개발 역량을 평가하기 좋은 용도 프로그램과 알고리즘 프로그램 : 컴퓨터 상에서 실행할 수 있도록 컴퓨터가 이해할 수 있는 언어로 작성하는 것 알고리즘 : 프로그램을 작성하기..

240405 WEB - TourWeb 1 [내부링크]

1. 스프링에 프로젝트 생성 Spring Legacy Project - TourWeb, Spring MVC Project - Next - com.itwillbs.TourWeb - Finish 2. project명 없애기 설정하기 Servers - Tomcat v9.0 Server at localhost - Modules 탭 선택 ※ project명을 없애고 싶다면 ${pageConext.request.contextPath} 쓰지 않음 프로젝트 선택하고 - Edit - Path : / 로 변경 - Ok Servers 탭을 닫고 Save - Run as 3. 자바 버전 변경 프로젝트 우클릭 Properties => Project Facets(3.1, 11), Java Compiler(11) 4. 스프링 버전..

240405 Cloud - 취약점 스캐닝 [내부링크]

취약점 스캐닝 - Nessus Kali에 접속 인터넷으로 Nessus essentials(https://www.tenable.com/products/nessus/nessus-essentials)접속 1. 홈페이지에서 Activation Code 받기 First Name, Last Name, Businees Email 을 입력하고 Get Start 클릭 2. 레지스트리 등록 후 Download Nessus의 Download 클릭 Version : Nessus 10.7.2, Platform : Linux-Debian- amd 64 설정 후 Download 3. 다운로드 완료 후 터미널 열기 cd Downloads ls => Nessus 파일 확인 sudo dpkg -i Nessus-10.7.2-debian1..

240404 Java - 컬렉션 프레임워크 4 [내부링크]

컬렉션 프레임워크 Map key와 Value로 구성된 객체를 저장하는 구조 데이터나 객체를 담아두기 편함 key는 중복이 될 수 없고, value값은 중복이 가능 기존 저장된 key와 동일한 key로 값을 저장한다면 기존 값은 없어지고 새로운 값을 덮어쓰게 됨 HashMap, TreeMap 등이 있음 HashMap 해시 함수를 통해 키와 값이 저장되는 위치를 결정 JSON 파일 형태를 가지고 있음 ex) put(key, value) => put('apple','사과') package test22; import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class HashMapTest1 { public static ..

WEB - 롬복2 [내부링크]

롬복 setter, getter, toString 생성자를 자동으로 생성해주는 라이브러리 다운로드 후 cmd창을 열고 cd 다운받은경로 java -jar lombok.jar 설치 창이 뜨면 스프링 선택 -> install 스프링 경로에 C:\sts-bundle\sts-3.9.18.RELEASE 폴더 안에 lombok.jar 파일 있으면 설치 완료 pom.xml lombok 설치 https://mvnrepository.com/ 에서 lombok 검색 project lombok 아무거나 복사한 후 pom.xml에 붙여넣기 버전을 1.18.32로 변경(lombok 다운받은 버전이 1.18.32이기 때문에) org.projectlombok lombok 1.18.32 provided lombok을 사용 가능하게 ..

240403 Java - 컬렉션 프레임워크 3 [내부링크]

컬렉션 프레임워크 Hash: 정보를 저장하거나 검색할 때 사용하는 자료 구조 -> Hash Table, Hash Map 해시코드 해시는 내부적으로 배열을 사용하여 데이터를 저장하기 때문에 빠른 검색 속도를 갖음 데이터 삽입, 삭제 시 기존 데이터를 밀어내거나 채우는 작업이 필요 없도록 특별한 알고리즘을 이용하여 데이터와 연관된 고유한 숫자(index)를 만들어 낸 뒤 저장 위치로 사용 특정 데이터가 저장되는 인덱스는 그 데이터만의 고유한 위치이기 때문에 삽입 시 다른 데이터의 사이에 끼어들거나 삭제 시 다른 데이터로 채울 필요가 없으므로 삽입과 삭제 시 데이터의 이동이 없도록 만들어진 구조 해시가 내부적으로 사용하는 배열을 Hash Table이라고 하며 그 크기에 따라서 성능 차이가 많이 남 키-값 형식..

WEB - 테스트 1, 롬복 1 [내부링크]

테스트 설계 -> 구현 구현하는 동안 테스트하면서 실무에서 작업을 많이함 src/test/java 안에 패키지(만들기 나름). 기본적으로 있는 패키지 안에 MemberTest 클래스 생성 package com.itwillbs.sec; import javax.inject.Inject; import org.junit.Test; import com.itwillbs.dao.SampleDAO; import com.itwillbs.domain.MemberDTO; public class MemberTset { @Inject private SampleDAO sampleDAO; public void testGetMember() { MemberDTO memberDTO =sampleDAO.getMember("admin");..

240402 DB - Top-N 분석 [내부링크]

Top-N 분석 Top-N 질의는 컬럼에서 가장 큰 n개의 값 또는 가장 작은 n개의 값을 요청 max, min을 이용하면 최고, 최저값은 찾을 수 있음. 하지만 1등에서 5등, 1등에서 3등 등 범위는 알 수 없음. 그 때 사용하는 것이 Top-N 분석임. 질의 구조 메인 쿼리 from (서브쿼리(정렬 구문이 반드시 들어가야함))-> inlineview select [컬럼1, 컬럼2,...,], ROWNUM -- ROWNUM : 의사 열. 논리적인 컬럼. 서브쿼리에서 반환되는 각 행에 1부터 시작해서 순차 값을 할당 from (select [컬럼1, 컬럼2,...] from table order by top-n_column) -- from의 서브쿼리를 인라인뷰 where ROWNUM

240401 Java - 컬렉션 프레임워크 2 [내부링크]

컬렉션 프레임워크 데이터를 효율적으로 다루기 위한 클래스들의 집합 Iterable 자바 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화 한 것 Iterable forEach -> next();, hasNext(), remove(); List(ArrayList, LinkedList, Vector) 동일한 타입의 여러 원소를 선형 집합으로 관리하는 동적 데이터 구조 요소 추가, 삭제됨에 따라 크기가 변경될 수 있음 List Interface 구현체에 따라 특성이 다름 ArrayList 인덱스를 통한 요소 접근이 빠름 원소 삽입/제거가 느림 LinkedList 인덱스를 통한 요소 접근이 느림 원소 삽입/제거가 빠름 Vector ArrayList 이전 사용 클래스 스레드 동기화 지원..

240329 DB - 사용자 관리를 위한 Data Dictionary [내부링크]

※복습 유저 생성 명령어 create user 유저명 identified by 패스워드 패스워드 변경 명령어 alter user 유저명 identified by 패스워드 system 권한 -> dba 관리자가 권한 관리 object 권한 -> object 소유자가 권한 관리 사용자 관리를 위한 데이터 사전 유저마다 권한이 다르기 때문에 할 수 있는 작업이 다름 user_users : 자신의 계정에 대한 정보 conn hr/hr desc user_users; select username, user_id, expiry_date, default_tablespace, created, account_status from user_users; expriry_date : 패스워드 변경 만기일(보통은 180일) def..

240328 Java - 컬렉션 프레임워크 1 [내부링크]

컬렉션 프레임워크 컬렉션 프레임워크 데이터의 저장, 이와 관련있는 알고리즘을 구조화 해놓은 프레임워크 자료구조와 알고리즘을 클래스로 구현해 놓은 것 컨테이너 클래스라고도 함 컬렉션 프레임워크를 구성하는 클래스들은 많은 양의 인스턴스를 다양한 형태로 저장한느 기능을 제공 자료구조와 알고리즘을 잘 몰라도 자바의 컬렉션 프로엠워크를 활용하면 다양하고 효율적으로 인스턴스의 저장이 가능 자료 구조 자료의 집합 데이터들을 어떤 형태로 저장해 둘 것인가에 대해 미리 연구해 놓은 형태들 특별한 사용 목적의 데이터를 특별한 형태로 담을 수 있도록 설계된 공간 데이터의 검색, 삽입, 삭제 등의 다양한 측면을 고려하여 효율적인 데이터의 저장 방법을 연구 알고리즘 어떤 문제를 해결하기 위한 절차, 방법, 명령어들의 집합을 총..

240328 Web - 보안 6 [내부링크]

보안 MemberDTO package com.itwillbs.domain; import java.sql.Timestamp; import java.util.List; public class MemberDTO { private String userid; private String userpw; private String username; private Timestamp regdate; private Timestamp updatedate; private String enable; private List authList; @Override public String toString() { return "MemberDTO [userid=" + userid + ", userpw=" + userpw + ", usern..

240327 Java - 제네릭 2 [내부링크]

제네릭 타입 자료형을 매개변수로 가지는 클래스와 인터페이스 class 및 interface 뒤에 < > 를 적어주고 타입 매개변수를 지정 기본 자료형으로 지정할 수 없음. Integer, Double과 같은 Wrapper 클래스로 객체 타입으로 변환하여 데이터 값으로 사용해야함 사용할 자료형을 제한하는 제네릭 클래스에서 T 자료형에 사용할 자료형에 제한을 둘 수 있음 제네릭 클래스의 T에 대입된 자료형을 사용할 클래스를 추상 클래스로 상속 받는다. package test20; //추상 클래스 abstract class Material{ public abstract void doPrinting(); } //일반 클래스 class Powder extends Material{ @Override public v..

240327 DB - 데이터 제어어(DCL) [내부링크]

데이터 제어어 권한 부여, 회수 ※정리 SQL 유형 DQL(데이터질의어) : select DQL을 DML로 구분하는 경우도 종종 있음. 책마다 다름 DML(데이터조작어) : insert update delete => commit rollback DDL(데이터정의어) : drop alter create truncate => auto-commit을 내포 DCL(데이터제어어) : grant revoke => auto-commit을 내포 유저 생성 권한을 부여하거나 회수하기 위해서는 새로운 유저가 있어야함 create user 권한 소유자(dba)가 DB에 user를 생성할 수 있음 sys로 접속 후 진행 show user -- 접속된 유저 확인 -- demo 유저 생성 create user demo ident..

240326 WEB - 보안 5 [내부링크]

보안 권한 memberMapper insert into tbl_member_auth values(#{userid}, #{auth}) com.itwillbs.domain에 AuthDTO.java 생성 package com.itwillbs.domain; public class AuthDTO { private String userid; private String auth; @Override public String toString() { return "AuthDTO [userid=" + userid + ", auth=" + auth + "]"; } public String getUserid() { return userid; } public void setUserid(String userid) { this.us..

240325 WEB - 보안 4 [내부링크]

보안 JDBC 1) 지정된 형식 테이블 생성 2) 기존 데이터베이스 이용 UserdetailService(CachingUserDetailService, InMemoryUserDetailsManager, JdbcDaoImpl, JdbcUserDetailsManager, LdapUserDetailManager, LdapUserDetailsService 클래스 제공) 1) 지정된 형식 테이블 생성 create table users( username varchar(50) not null primary key, password varchar(50) not null, enabled char(1) default '1'); create table authorities ( username varchar(50) not n..

240325 Java - 제네릭 1 [내부링크]

제네릭 동일한 프로그램 코드에 다양한 데이터 타입(자료형)을 적용 클래스 내부에서 사용할 변수의 형태를 외부에서 지정하는 방법으로 주로 멤버 변수의 자료형이나 메소드 반환 타입을 외부에서 지정해줄 때 사용 클래스와 메소드들을 일반화시켜 제네릭 메소드와 제네릭 클래스를 만듦 제네릭 메소드나 제네릭 클래스는 개발자가 원하는 데이터 타입으로 구체화시켜 메소드나 클래스의 프로그램 코드를 틀로 찍어 내듯 생산하는 기법 어떤 클래스나 메소드에 모든 사용 가능한 자료형을 미리 명시해 주어 클래스를 선언할 때 타입을 결정하지 않고 객체 생성 시 유동적으로 재사용하기 위한 것 제네릭을 활용하면 따로 형변환을 시켜 사용할 필요가 없고, 타입 에러가 발생하지 않기 때문에 유용하게 사용할 수 있음 제너릭 타입 자료형을 매개변..

240322 WEB - 보안 3 [내부링크]

보안 로그인 SampleController.java (...생략...) //sample/customLogin @GetMapping("/customLogin") public void doCustomLogin(String error, String logout, Model model) { System.out.println("doCustomLogin()"); System.out.println("error : " + error); System.out.println("logout : " + logout); //참조형이 비어있는 경우 => null if(error != null) { model.addAttribute("error","Login Error"); } if(logout != null) { model.add..

240322 Cloud - 칼리 리눅스(Kali Linux) [내부링크]

칼리 리눅스 보안 해킹툴이 포함된 리눅스 운영체저 버전 Debian 계열의 리눅스 600개 이상의 보안과 해킹 도구가 미리 설치되어 있음 공격 보안 전문 보안 연구팀이 유지 다운로드 https://www.kali.org/get-kali/#kali-platforms .iso 또는 Pre-built VMs 형태로 다운로드 다운로드 후 윈도우에서 가상화 프로그램을 통해 운영을 하게 됨 => 가상화 프로그램 VM Ware 또는 Virtual Box 사용 설치 로드맵 이미지 또는 VMs 다운로드 가상화 프로그램 설치 가상화 프로그램(Virtual Box)에 등록하기 .iso를 사용하여 설치 VirtualBox Manager 실행 우측 상단 새로 만들기 - 전문가 모드 이름 : Kail 폴더 : 기본값 ISO 이미..

240321 Java - 스레드 3 [내부링크]

스레드 웹 서버 내에서 처리하기 위해서 스레드를 발생시켜 응답을 처리 인터럽트 하나의 프로그램 실행을 하드웨어적인 방법으로 중단하고 후에 재개할 수 있도록 다른 프로그램의 실행으로 옮기는 것 어떤 프로그램의 실행 중에 외부로부터의 몇 가지 사건에 의해 그 프로그램의 실행이 일시 정지되어, 그 사건에 대응한 다른 프로그램이 먼저 실행되는 것을 '인터럽트'라고 함 인터럽트 되어 실행된 프로그램이 완료되면 원래 프로그램의 실행이 중단점으로부터 재개 인터럽트는 하나의 명령의 실행마다 일어날 가능성이 있음 인터럽트를 일으키는 인터럽트 사건 또는 인터럽트를 발생시키는 주된 원인으로는 컴퓨터의 내부 구성 부품의 고장, 정의되어 있지 않는 명령의 발생, 자리 수가 넘침, 기억 보호 위반, 전원 및 지진에 의한 이상, ..

240321 DB - 조건부 표현식 2 [내부링크]

조건부 표현식 decode 함수 case 식과 같은 문법. = 연산자를 내포하고 있음 decode(컬럼|표현식, 찾는 내용1, 결과1[,찾는 내용 2, 결과 2,...][,기본값]) select last_name, job_id, salary, decode(job_id, 'IT_PROG, 1.1*salary, 'ST_CLERK', 1.15*salary, 'SA_REP', 1.2*salary, salary) REVISE_SALARY from employees; ※ 객체를 혼자 쓰일 수 있는 것이라고 생각한다면 테이블, 뷰, 인덱스, 시퀀스, 시노님, 함수 등이 객체라고 할 수 있다. ※ case식과 decode 함수를 비교하면 case식이 더 성능이 좋음. decode함수는 객체이기 때문이다. 연습문제 --..

240320 Java - 스레드 2 [내부링크]

스레드 싱글 스레드 package test18; public class Thread1 { public static void main(String[] args) { //스레드(Thread) //하나의 프로세스에서 동시에 기능을 처리하기 위한 목적으로 사용되는 실행 단위 //하나의 프로세스에는 1개 이상의 스레드가 존재함 //싱글(메인) 스레드 : 최초 실행 시 메인 스레드가 main() 함수를 실행시킴 //멀티 스레드 : 하나의 기능을 실행할 수 있는 실행 단위(스레드)가 여러 개인 것을 말함 //스레드를 사용하는 목적은 '동시 작업 처리' //JVM이 운영체제 역할을 함(CPU 역할) //자바는 프로세스가 존재하지 않고 스레드만 존재 //JVM에 의해 스케쥴되는 실행 단위 코드 블록. 하나의 프로세스(응..

240320 DB - 객체 사용을 위한 Data Dictionary, 조건부 표현식 1 [내부링크]

DB사전 ※DB 사전을 사용하기 전 구조정보를 먼저 확인한 후 필요한 컬럼만 찾아 사용 dictionary user_object user_tables user_tab_columns user_object 데이터 사전 사용 DB에 존재하는 Object에 대한 정보를 가진 뷰 desc user_objects; select object_name, object_type, created, status from user_objects order by object_type; user_tables 데이터 사전 user(사용자) 소유의 테이블 정보를 조회 desc user_tables; select table_name from user_tables; user_tab_columns 데이터 사전 user 소유의 테이블 내 컬..

240319 WEB - 보안 2 [내부링크]

보안 패키지 생성(보안 관련) package com.itwillbs.security; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.security.access.AccessDeniedException; import org.springframework.security.web.access.AccessDeniedHandler; public class CustomAccessDeniedHandler implements Access..

240318 WEB - 보안 1 [내부링크]

필터와 인터셉터를 이용한 웹 시큐리티 적용 새로운 프로젝트 springSecurity 생성 pom.xml에 Spring Security관련 태그 넣어주기(core, web, config, taglibs) pom.xml 4.0.0 com.itwillbs sec springSecurity war 1.0.0-BUILD-SNAPSHOT 11 5.0.7.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.springframework...

240318 Java - 스트림 3, 스레드 1 [내부링크]

스트림 스트림 연산 스트림 생성 - 중간 연산 - 최종 연산 package test17; import java.util.Arrays; import java.util.List; public class ArrayListStreamTest2 { public static void main(String[] args) { //문자열 스트림 객체를 생성해서 중복 제거, 필터링으로 출력 //List객체 생성 List list = Arrays.asList("a","b","a","c","a","d"); list.stream().forEach(a -> System.out.print(a + " ")); System.out.println(); //distinct() 메소드로 중복 제거 후 내부 반복자로 출력 list.strea..

240315 Cloud - Git & GitHub 2 [내부링크]

여러 명이 함께 Git 협업 Git에서 병렬 버전 관리는 Branch를 통해서 관리 ※이클립스에서 깃을 사용할 때만 토큰이 필요함 VSCode나 Git Bash에서는 필요없음 프로젝트에서 A가 팀장을 맡았고 A의 GitHub 계정에 저장소를 생성하여 master를 관리. A는 우선 자신의 GitHub계정에 저장소를 생성(reservation_project) A는 자신의 로컬저장소를 이용해 작업을 진행 이클립스로 Project_EX 프로젝트를 생성 A는 메인페이지를 담당하여 'introduction'이라는 폴더를 생성하고 introduction.jsp를 생성 Project_EX 폴더에 git 초기화 및 커밋, 푸시 VSCode Open Folder Project_EX Ctrl+` (terminal)+ 버튼..

240314 Java - 람다식 2, 스트림 1 [내부링크]

람다식 매개변수로 전달하는 람다식 package test17; //함수형 인터페이스 : 람다식을 만들기 위한 인터페이스 @FunctionalInterface interface PrintString{ //추상 메소드 void showString(String str); } /* class aa implements PrintString{ @Override public void showString(String str) { System.out.println("showString() 메소드 구현"); System.out.println(str); } } */ public class TestLambda1 { //매개변수로 전달하는 람다식 //lambda 함수 인터페이스로 구현한 익명구현 객체 //람다식(익명함수)이 들..

240314 WEB - 정규표현식 [내부링크]

정규표현식 Join us Privacy policy Join Us Basic Info User ID Password Retype Password Name E-Mail Retype E-Mail Optional Address Phone Number Mobile Phone Number 체크박스, 라디오 상자 제어 Join us Privacy policy Join Us Basic Info User ID Password Retype Password Name E-Mail Retype E-Mail 성별 남 여 Optional Address Phone Number Mobile Phone Number Select 제어 중간부터 코드가 꼬여 복붙해옴.. Join us Privacy policy Join Us Basic I..

240313 Java - 람다식 [내부링크]

람다식 람다식 함수형 프로그래밍 방식(Functional Programming : FP) 메소드를 하나의 식으로 표현한 것으로, 코드를 효율적이고 간결하게 작성할 수 있도록 문법을 제공 함수는 자체로 선언하여 쓰일 수 없고 클래스의 구성 멤버로 선언되고 사용됨 람다식은 익명 함수 생성 문법으로 함수명 없이 구현부(실행문)만으로 선언되고 함수가 아닌 실행문을 가진 객체가 됨 일반적인 객체가 아닌 인터페이스를 구현한 익명 구현 객체를 생성 함수의 매개변수는 값 또는 객체이지만 람다식으로 작성한 함수(동작)를 넘겨줄 수 있게 됨 함수형 인터페이스 클래스 내에 선언되고 클래스의 객체를 생성해서 호출하는 객체지향방식인 클래스 의존 형식이 아님 인터페이스를 이용해서 추상 함수를 정의하고 오버라이드 시킨 구문을 하나..

240313 DB - 데이터정의어(DDL) - Index, Synonym [내부링크]

4. Index 테이블과 연관되어 있음 행의 검색 속도를 높이기 위해 사용하는 Object 오라클 서버가 자동으로 사용하고 유지 관리함 where절이나 조인조건에서 자주 사용되는 컬럼인 경우 인덱스 생성 시 성능에 도움이 됨 정의방법 : create index, alter index(사용은 거의 없음. 알아서 관리해주기 때문), drop index 사용방법 : X 인덱스 생성 자동생성 : PK 또는 UK 제약조건이 정의된 컬럼에 자동으로 생성됨 수동생성 : 행에 엑세스하는 속도를 높이기 위해 유저가 인덱스를 생성할 수 있음 create index emp_last_name_idx on employees(last_name); 인덱스 삭제 drop index emp_last_idx; 컬럼의 데이터에 영향을 미..

240312 WEB - jQuery AJAX [내부링크]

아이디 중복 체크 $(function(){ // class="dup" 버튼을 클릭했을 때 $('.dup').click(function(){ // class ="id" 텍스트 상자가 비어있으면 "아이디를 입력하세요." 포커스 if($('.id').val() === ''){ alert("아이디를 입력하세요."); $('.id').focus(); return; //버튼은 기능이 없기 때문에 return만 작성해줌 } // 아이디 중복체크 $.ajax({ //ajax 옵션 //type : 'get' 또는 'post', //url : "가상주소", //data : {이름:값(키:값),이름:값(키:값),...}, //dataType : 'html', //success : function(result){ //aler..

240311 WEB - 로그인 제어 [내부링크]

Join us Privacy policy Login Login Info User ID Password

240311 Java - 내부 클래스2 [내부링크]

내부 클래스 클래스 내부에 선언된 또 다른 클래스 외부 클래스와 밀접한 관련이 있고 다른 클래스와는 협력할 일이 없는 경우에 내부 클래스로 선언해서 사용 내부 클래스는 중첩 클래스라고도 함 내부 클래스에서 외부 클래스의 멤버에 손쉽게 접근할 수 있음 서로 관련 있는 클래스를 논리적으로 묶어서 표현함으로써, 코드의 캡슐화를 증가시킴 외부에서는 내부 클래스를 접근할 수 없으므로 코드의 복잡서을 줄일 수 있음 내부 클래스 종류 인스턴스 내부 클래스 static 키워드를 가지지 않는 클래스 외부 클래스의 인스턴스 변수나 인스턴스 메소드에 사용될 목적으로 선언 정적 내부 클래스 static 키워드를 가지는 클래스 외부 클래스의 클래스(정적) 변수나 인스턴스 메소드에 사용될 목적으로 선언 지역 내부 클래스 외부 클..

240308 WEB - 정리 2, jQuery [내부링크]

정리 2 폼에서 입력한 내용이 서버에 전달되면 서버에 request 내장 객체 저장 web.xml : 페이지를 적지 않으면 자동으로 실행 시켜줌 response.sendredirect : 주소가 바뀌면서 요청 - 응답 결과값 session.setAttribute : 연결되어 있는 동안 페이지 상관없이 값을 유지 MVC패턴을 이용하기 전에는 jsp에 모든 것을 다 넣음.(여러 명이 동시에 작업하기 위해 분리) 객체 생성 개념 MemberDTO memberDTO = new MemberDTO(); 변수에는 하나만 저장이 가능, 기억장소를 여러 개 담을 수 있게 memberDTO 여러 개를 담을 수 있는 주소값을 가지고 있음. set() get() 메소드로 접근 MVC 패턴 Q. MVC 패턴 동작원리 및 장점 ..

240308 Cloud - Git & GitHub 1 [내부링크]

더보기 순서대로 진행해야함 Git 설치 Standalone Installer에서 비트에 맞게 다운로드 기본값으로 설정해서 설치 설치가 완료 되었으면 우클릭 - Open Git Bash here git git과 관련된 명령어 git --version git 버전 확인 로컬 저장소 만들기 컴퓨터에 git과 연결할 로컬저장소를 생성 로컬 저장소는 실제 Git을 통해 버전관리가 이루어질 컴퓨터 내의 폴더 D드라이브 StudyGit 폴더 생성 StudyGit 폴더 안에 README.txt 텍스트 파일을 생성 README.txt에 아무 내용을 넣고 저장 폴더 안에서 마우스 우클릭 후 Open Git Bash here git init 초기화 작업(폴더 안에 숨긴 폴더로 .git이 생성됨 ※리눅스에서 .은 숨긴 파일을..

240307 Java 입출력 스트림 3, 내부 클래스 1 [내부링크]

버퍼링 기능으로 파일 복사하기 package test15; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class FileCopyTest1 { public static void main(String[] args) { //FileInputStream, FileOutputStream 클래스를 사용하여 이미지 파일을 읽어와서 복사 long ms = 0; try(FileInputStream fis = new FileInputStream("src/tes..

240307 WEB - 정리 1, 보안 취약점 1 [내부링크]

JSP(Java Server Page) 자바, 웹 서버 동작원리 JDK설치 웹 서버 설치 -> 아파치 톰캣 웹 서버의 역할 : 1) 웹서버(아파치) 서버에 내용(파일)을 사용자에게 보여주는 기능 2) 웹 애플리케이션 서버(톰켓) : JSP, JAVA 코드 -> HTML로 변경해서 사용자에게 보여주는 기능 웹 서버 동작원리 Q. 웹 서버 동작원리는? HTML 페이지 클라이언트가 HTML 페이지를 요청 - 서버에서 요청한 페이지를 응답 (사용자가 서버에 요청 - 서버에서 요청한 페이지를 응답) 웹 서버에 전달 - 웹 서버 안에 사용자가 요청한 페이지를 찾아 사용자에게 전달(응답) JSP 페이지 클라이언트가 JSP 페이지 요청 - 웹 서버(아파치) 전달 - 해당 JSP페이지 찾아 웹 애플리케이션 서버(웹 컨테..

240306 Java 입출력과 스트림 2 [내부링크]

예외 처리 throws package test15; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class FileOutputStreamTest2 { public static void main(String[] args) throws IOException { //바이트 단위 스트림 생성과 처리 //1) 입력 스트림(InputStream) 클래스 상속 //2) 출력 스트림(OutputStream) 클래스 상속 //파일 단위 처리스트림(FileInputStream, FileOutputStream) 클래스로 구현 //FileOutputStream 클래스 : 파일로 저장..

240306 DB - 데이터정의어(DDL) - View, Sequence 1 [내부링크]

Object 유형 Table View Sequence Index Synonym 1. Table 정의방법 : create table, alter table, drop table, truncate table 사용방법 : select, insert, update, delete 2. View 하나 이상의 Base table을 기반으로 생성, 물리적으로 존재하지 않고 Data Dictionary에 Select 구문 형태로 정의만 되어 있는 가상의 논리적인 테이블. 보안성, 공간효율성, 편의성 정의방법 : create view [or replace] view. or replace로 수정작업, drop view 사용방법 : select, insert, update, delete -- create table과 비슷 c..

240304 DB - SQL활용 데이터정의어(DDL) - table3 [내부링크]

테이블 수정(alter table) ※desc 테이블명은 제약 조건은 not null만 알 수 있음, 어느 조건이 있는지 확인하기 위해서는 db사전을 이용해야함 -- db사전 통해 제약 조건을 확인 user_constraints desc user_constaraints; -- constraint_name, constraint_type, table_name, search_condition(ck), r_constraint_name(fk 참조)을 많이 사용! select constraint_name, constraint_type, search_condition, r_constraint_name from user_constraints where lower(table_name) = 'employees'; 부모테이..

240304 Java - 입출력과 스트림 1 [내부링크]

※코딩 테스트 자료 구조/알고리즘 문제해결 형식 API 구현 형식 과제 형식 문제 해결 과정 : 요구사항이해 -> 설계/검증 -> 기능 구현 -> 결과 자바 입출력과 스트림 스트림 자바에서 모든 입출력은 스트림(stream)을 통해서 이루어짐 표준 입출력 package test15; public class SystemInTest { public static void main(String[] args) { /* 1. 표준 입출력 PrintStream 클래스 out -> 표준출력 스트림(System.out.println()메소드) InputStream 클래스 in -> 표준입력 스트림(System.in) OutputStream 클래스 err -> 표준 오류 출력 스트림 */ System.out.println..

240228 DB - SQL활용 데이터정의어(DDL) - table2 [내부링크]

※MySql과 차이점 테이블 생성 시 제약조건 선언(constraint) + 제약조건명 + 제약조건 이 들어감, ※오라클에서는 not null을 제외한 제약 조건은 테이블 레벨 문법, 컬럼 레벨 문법을 사용할 수 있음 서브쿼리 구문을 사용한 테이블 생성 -- 복사본 테이블 생성 create table dept80 as select employee_id, last_name, salary*12 ANNSAL, hire_date from employees where department_id = 80; --설명 -- 1 select employee_id, last_name, salary*12 ANNSAL, hire_date from employees where department_id = 80; -- 2 crea..

240227 WEB - Map [내부링크]

데이터를 DTO 하나에 담기지 않을 때 Map으로 받으면 된다. select * from reboard where subject like CONCAT('%',#{search},'%') order by re_ref desc, re_sql asc limit #{startRow},#{pageSize} //변경 select * from reboard where subject like CONCAT('%',#{search},'%') order by re_ref desc, re_sql asc limit #{startRow},#{pageSize} //--------------------------------- public List getBoardList(PageDTO pageDTO) { System.out.printl..

240223 WEB 댓글,대댓글 [내부링크]

답글 게시판 컬럼 추가 re_ref 답글그룹, re_lev 들여쓰기, re_seq 답글순서 DB 테이블 생성 create table reboard( num int primary key, name varchar(20), subject varchar(50), content varchar(500), readcount int, date timestamp, re_ref int, //그룹 re_lev int, re_sql int); 오름차순 정렬 글 번호 제목 re_ref re_lev re_seq 2 제목2 2 0 0 5 답글2 2 1 1 6 답글21 2 2 2 1 제목1 1 0 0 3 답글1 1 1 1 4 답글11 1 2 2 .... left.jsp Notice Driver Download 1:1문의 Reboar..

240223 Cloud - HTTPS [내부링크]

Let's Encrypt를 통한 SSL/TLS 인증서 생성 https://letsencrypt.org - 인증 절차가 단순해서 단 한 줄 명령어로 인증서 발급이 가능 - 발급 대기 시간 없이 바로 발급 - nginx, apache와 같은 웹 서버에 맞추어 자동 옵션이 설정되도록 설치 가능 - 인증 유효기간이 90일(자동으로 인증 갱신 가능) - 무료 AWS -> EC2 인스턴스 생성 - 이름 : SecureWeb - AMI : Kenel5 - 인스턴스 유형 : t2.micro - 키페어 : 기존 - 기존 보완 그룹 선택 : ssh, web -> 인스턴스 시작 MobaXterm 원격 접속 아파치 웹 서버 설정 sudo yum install -y httpd sudo systemctl start httpd s..

240222 DB - SQL활용 데이터정의어(DDL) - table 1 [내부링크]

SQL 활용 데이터정의어(DDL) - table 제약 조건 PK, FK, UK, NN, CK 제약조건 선언 시기 table 생성 시 : create table table 생성 후 : alter table 제약조건명 지정(Mysql과 다른점임) 고유하고 의미있는 제약 조건명 부여가 권장됨 ex) 테이블 약자_컬럼 약자_제약조건 유형 약자 ※MySql 테이블 생성 시 특징 제약조건명을 부여하지 않음. 내부적으로 DBMS가 자동으로 이름을 부여해놓음. 제약조건명을 사용할 일이 없음 -- MySql create table stu (stu_no int primary key, stu_name varchar(10) not null, birth date not null, phone varchar(30) unique a..

240221 DB - Data Dictionary, SQL 활용 [내부링크]

Data Dictionary 구성요소 1. Base tables - 오라클 본인의 수첩이라고 생각하자 - DB의 모든 정보를 DBMS가 보기 쉬운 형태로 기록해 놓은 테이블 - 사용자는 권한이 없음 2. Data Dictionary views - Base table을 사용자가 보기 쉬운 형태로 기록해 놓은 테이블 - 읽기 전용(select만 가능함) - 종류 1) user_xxx : 내(접속 유저)가 소유한 object 정보 조회(user_constraints 중요함) -- user_tables(내 소유의 테이블 정보) desc user_tables; select table_name, tablespace_name from user_tables; -- user_constraints(테이블의 제약조건) --..

2410220 WEB 메인에서 최신 글 보여주기, 게시판 검색 [내부링크]

중복확인을 조금 더 안정적으로 하기 위해서 AjaxController package com.itwillbs.controller; import javax.inject.Inject; import javax.servlet.http.HttpServletResponse; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import com.itwillbs.domain.MemberDTO;..

240219 WEB - 파일 업로드2, 갤러리 게시판, AJAX를 이용한 중복확인 [내부링크]

지난 시간 오류가 난 부분 수정 BoardController @PostMapping("/fwritePro") public String fwritePro(HttpServletRequest request, MultipartFile file) throws Exception{ //throws Exception => 메소드 호출하는 곳에서 예외처리를 함 System.out.println("BoardController fwritePro()"); //파일 업로드 -> 프로그램 설치 //commons-fileupload, commons-io, javax-annotation 설치 //pom.xml에 코드 작성 //servlet-context.xml에서 프로그램 설정 // 1) 대용량 데이터베이스(오라클) 컬럼에 저장 /..

240219 자바스크립트 jQuery [내부링크]

jQuery 웹 문서에 자바스크립트를 쉽게 활용할 수 있도록 도와주는 오픈 소스 기반의 자바스크립트 라이브러리 DOM 조작을 간편하게 사용하기 위해 만들어짐 속성을 대부분 메소드화 시켜 사용하고 간단한 메소드 형태로 지정이 가능함 문서객체선택이 간단함 사용방법 1) jQuery 플로그인 연결(다운로드 후 lib 추가) -> https://jquery.com/download/ 접속 후 Download the compressed, production jQuery 3.7.1 우클릭 다른 이름으로 저장 -> 외부링크로 사용 (...생략...) 불러오기 준비 구문 (...생략...) (...생략...)) (...생략...) 라이브러리를 연결 후 불러들이는 또 다른 방법 jQuery -> $ 변경, document..

240216 DB - 치환 변수 [내부링크]

치환 변수 -- 쿼리 구문은 같지만 데이터 값만 다른 경우 select * from employees where employee_id = 101; select * from employees where employee_id = 107; select * from employees where employee_id = 200; -- 치환 변수 : select * from employees where employee_id = &emp_id;(변수명) 문자나 날짜가 들어와야하는 치환 변수 시 작은 따옴표 안에 작성 select employee_id, last_name, salary, job_id from employees where job_id = '&job'; 그림 2를 보면 대, 소문자를 구분함 select e..

240216 Cloud [내부링크]

교재 4장 운영 서버의 외부 환경 구성 도메인 네트워크(인터넷)는 IP주소를 통해서 통신이 이루어짐 호스트(PC, 서버)에 호스트 이름을 붙여 사용하기 쉽게 만든 것이 도메인 하지만 컴퓨트는 호스트 이름으로는 상대방을 찾을 수 없으며, 호스트 이름과 IP 주소를 변환하는 과정이 필요 호스트 이름을 IP 주소로 변환하는 것을 이름 분석(Name Resolution)이라고 하며, 이름 주소 해석을 실행하는 서비스를 '네임 서비스'라고 함 현재 인터넷은 네임 서비스로 DNS(Domain Name System)을 사용하고 있음 도메인 이름 DNS는 인터넷 전체의 이름 공간(도메인)을 계층화 하고, 차례대로 권한을 위임해서 분산 관리를 함 ex) 도메인 이름의 예 www.google.co.kr이라는 주소가 있다고..

240215 WEB - 글 수정, 삭제, 파일 업로드 1 [내부링크]

content.jsp Notice Public News Driver Download Service Policy Content Notice 글번호${boardDTO.num} 글쓴이${boardDTO.name} 조회수${boardDTO.readcount} 작성일${boardDTO.date} 글제목${boardDTO.subject} 글내용${boardDTO.content} 글 수정 update.jsp Notice Public News Driver Download Service Policy Update Notice 글쓴이 글제목 글내용${boardDTO.content } BoardController @GetMapping("/content") public String content(BoardDTO boardDTO..

240214 DB - DML 2, 트랜잭션 [내부링크]

데이터조작어(DML) 1. insert 구문 테이블에 새로운 행 추가 insert into 테이블명[(컬럼명1, 컬럼명2, ....)] value (값1,값2,...); ※desc 테이블명 => 컬럼 만든 순서 -- 컬럼 리스트 생략 시 기본 컬럼 순서대로 값을 넣어줘야함 insert into departments values(280, 'Java', 107, 1700); -- 컬럼 리스트의 순서가 기억 나지 않을 때 컬럼명과 값을 짝을 맞춰서 넣어줘야함 insert into departments(department_name, location_id, manager_id, department_id) values('Jsp', 1700, 108, 290); -- null값 삽입 1(자동 null값 삽입) ins..

240213 WEB [내부링크]

날짜 포멧 변경 Notice Public News Driver Download Service Policy Notice No. Title Writer Date Read ${boardDTO.num} ${boardDTO.subject} ${boardDTO.name} ${boardDTO.readcount} Prev 123 456 789 10 Next BoardController @GetMapping("/list") public String list(HttpServletRequest request, PageDTO pageDTO, Model model) { System.out.println("BoardController list()"); // 한 화면에 보여줄 글의 개수 설정 int pageSize = 15; //..

240208 자바스크립트 [내부링크]

공지창 스크림의 중앙에 배치하기 현재 시각 현재 시간 보기 현재 시간 보기 문서 객체 모델(DOM) green skyblue pink 1. 정적 생성 : html 문서에 태그로 직접 작성하여 생성하는 방법 제목 태그1 2. 동적 생성 : 자바스크립트로 문서 객체 요소를 생성하는 방법 document.write()메소드 createElement()메소드

240208 WEB [내부링크]

게시판 top.jsp Notice Public News Driver Download Service Policy Notice No. Title Writer Date Read 15Vivanus viveer portitor commodo. Host Admin2012.11.0615 14Vivanus viveer portitor commodo. Host Admin2012.11.0615 13Vivanus viveer portitor commodo. Host Admin2012.11.0615 12Vivanus viveer portitor commodo. Host Admin2012.11.0615 11Vivanus viveer portitor commodo. Host Admin2012.11.0615 10Vivanus vi..

240207 자바스크립트 [내부링크]

2) 브라우저 객체(BOM) 이전 시간에 이어서 window 객체 문서를 열면 팝업 창이 표시 열기 문서를 열면 팝업 창이 표시 공지 사항 항목1 항목2 항목3 항목4 항목5 닫기 navigator 객체 브라우저 정보 history 객체 location 객체 주소 이동 screen 객체

240207 DB - 고급 Subquery 2, DML 1 [내부링크]

고급 subquery 3. 단일컬럼 서브쿼리 서브쿼리로부터 메인쿼리로 단일 컬럼을 기준으로 값(단일행, 다중행)이 반환되는 유형 메인쿼리 좌변에 단일컬럼이 있으면 됨 = 비쌍 비교 방식 select employee_id, manager_id, department_id from employees where manager_id in (select manager_id from employees where employee_id in (174,141)) and department_id in (select department_id from employees where employee_id in (174,141)) and employee_id not in (174,141); 단일 컬럼 서브쿼리 + 다중행 서브쿼리 4..

240206 WEB [내부링크]

updatePro package com.itwillbs.controller; import javax.inject.Inject; import javax.servlet.http.HttpSession; import org.springframework.http.HttpRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.a..

240205 WEB [내부링크]

더보기 https://www.youtube.com/watch?v=6yMKZK_aLbo&list=PLV1ll5ct6GtwAXWNsTwU6VIJF775-WASU https://hpark3.tistory.com/28 [Spring] 스프링 MVC 프로젝트의 기본 구조와 동작 순서 1. 스프링 MVC 프로젝트의 기본 구조 2. 스프링 프레임워크의 전체 동작 순서 Request -> DispatcherServlet (web.xml)-> HandlerMapping (servlet-context.xml) -> Controller [Controller -> Service -> DAO -> DB -> DAO -> Service -> Control hpark3.tistory.com Join us Privacy policy..

240205 자바스크립트 [내부링크]

객체(object) 프로그램에서 인식할 수 있는 모든 대상, 데이터를 저장하고 처리하는 기본 단위, 자바스크립트에서 필요한 시스템 1) 내장 객체 JS 엔진이 구동되는 시점 바로 제공, 객체를 생성시켜서 사용 자바스크립트 엔진에 내장되어 있는 객체들로 문자, 날짜, 배열, 수학 객체 등이 있음 형식) new 객체(); ex) let 사용할객체명 = new 객체(); 작성된 인스턴스 사용 : 인스턴스명 뒤에 마침표를 붙이고 객체의 프로퍼티나 메소드 이름을 작성 2) 브라우저 객체 브라우저에 내장된 객체로 웹 브라우저 전체를 관리하는 시스템 3) 문서 모델 객체 브라우저 객체에 렌더링되어 보이는 웹 문서를 관리하는 시스템 4) 브라우저 객체의 하위 객체 웹 문서의 모든 요소를 해석하고 분석하여 조작할 수 있..

spring(스프링) 프로젝트 생성 [내부링크]

더보기 글 작성 이유 스프링으로 팀 프로젝트를 진행하는데 있어서 초기 설정부터 어려움에 부딪혔다. 그래서 팀 프로젝트를 원활하게 진행 할 수 있도록 아주 기초적인 부분부터 정리하기 위해 작성한다. 스프링 프로젝트 생성 1. 프로젝트 생성 2. 생성된 프로젝트 최상위 단에서 Alt + Enter(Properties) 1) Java Compiler - Use compliance from execution environment 'JavaSE - 11' on the 'Java Build Path' 체크 해제 후 11으로 변경 2) Project Facets - Dynamic Web Module 3.1, Java 11으로 변경 1), 2) 설정이 완료되었으면 Apply and Close - Yes 스프링 프로젝트..

240202 DB - Subquery, 고급 Subquery 1 [내부링크]

Subquery 쿼리 구문 안에 쿼리문. group by절 이외에 모두 가능함 select 컬럼명 from 테이블명 where 조건 (select 컬럼명 from 테이블명) 예시 select last_name, salary from employees where salary > (select salary from employees where last_name = 'Abel'); select last_name, job_id, salary from employees where salary = (select min(salary) from employees); select department_id, min(salary) from employees group by department_id having min(sal..

240202 Cloud [내부링크]

AWS Auto Scaling 기준값에 따라 서버의 수를 '자동'으로 늘렸다 줄였다 하는 서비스 사람이 아닌 AWS에서 자동으로 추가/삭제 절차 EC2 인스턴스 스냅샷 생성 시작 템플릿 생성 Auto Scaling 생성 1. EC2 인스턴스 스냅샷 생성 ※과금이 발생할 수 있으니 사용 후 반드시 종료(삭제) EC2 인스턴스 - 인스턴스 - exercise-instance1 중지 상태 확인(중지) 우클릭 - 이미지 및 템플릿 - 이미지 생성 이미지 이름 exercise-image 나머지는 기본값으로 -> 이미지 생성 상단에 '현재 AMI 생성중...(생략)' 메세지 표시 이미지 - AMI - exercise-image 2. 시작 템플릿 생성 인스턴스 - 시작 템플릿 - 시작 템플릿 생성 시작 템플릿 이름 ..

240201 자바스크립트 [내부링크]

인라인 방식(attribute 방식) 문서 로딩 이벤트 마우스 이벤트 버튼을 클릭할 때 이벤트 키보드 이벤트 폼 이벤트 목록1 목록2 목록3 form 태그에 지정하는 reset, submit 아이디 : 비밀번호 : Red Orange Yellow Green Blue Purple @charset "UTF-8"; a:link, a:visited{ color: black; text-decoration: none; } ul{ list-style: none; width: 500px; margin : 10px auto; /*auto 중앙정렬*/ padding: 0; } li{ display: inline-block; width: 35px; border: 1px solid #ccc; padding: 10px 15px..

240201 WEB [내부링크]

list package com.itwillbs.controller; import java.util.List; import javax.inject.Inject; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; i..

240131 자바스크립트 [내부링크]

※함수를 호출 먼저 호출한 후 함수 정의 수행된다. 함수 선언문 형식에 의한 함수 생성 방법으로 정의한 함수는 함수 호이스팅이 이뤄짐 함수를 정의하기 전 호출을 해도 에러가 발생하지 않음 하지만 함수를 정의하고 호출하는 식으로 하는 것이 유지보수가 편함 매개변수값이 없는 즉시 실행 함수 (...생략...) (...생략...) 매개변수값이 있는 즉시 실행함수 (...생략...) (...생략...) 매개변수값이 있는 즉시 실행 함수

240131 Java - 자바 입출력 [내부링크]

자바 입출력 통로 => 스트림(=버퍼) package test14; import java.io.IOException; public class SystemInTest1 { public static void main(String[] args) throws IOException { System.out.println("알파벳 하나를 쓰고 [Enter]를 누르시오"); //표준 입력 스트림에서 데이터 가져오기 : 1byte 단위(영문자1개, 키보드에서 입력된 데이터 값을 약속으로 정해놓은 아스키코드값으로 처리됨) int i; try { i = System.in.read(); System.out.println(i); System.out.println((char) i); } catch (IOException e) {..

240131 DB - 고급 JOIN 2 [내부링크]

고급 Join 7. Cross join 조인을 하고자 하는 두 테이블의 모든 행을 기준으로 조인하는 유형 카테시안곱, 상호곱 모든 경우의 수를 만들고자 할 때 사용 의미 있는 결과가 아니며, 모든 조합을 만들어보고 싶을 때 간혹 사용 SQL> select 컬럼1, 컬럼2,... from 테이블1 cross join 테이블2; 연습문제 1 select location_id, street_address, city, state_province, country_name from locations natural join countries; 연습문제 2 select e.last_name, e.job_id, d.department_id, d.department_name from employees e join depa..

240130 WEB [내부링크]

package com.itwillbs.controller; import java.lang.ProcessBuilder.Redirect; import javax.inject.Inject; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframewo..

240129 WEB [내부링크]

1) 프로젝트 만들기 File - New - Other - spring - spring Legacy project - Next - Project Name - springProject2 - Templates Spring MVC Project 선택 - Next - Yes -package : com.itwillbs.myweb2 - Finish 2) 자바 버전 변경 프로젝트 오른쪽 버튼 - Properties - Java Compiler - JDK Compliance - Alt + u - 11으로 변경 - Project Facets - Dynamic Web Module - 3.1 - Java - 11 - Apply and Close 3) p33 스프링 버전 변경 => 4.3.8 버전으로 변경 pom.xml 11..

240129 자바스크립트 [내부링크]

변수 변수명만 존재 : 적용범위를 제한하지 않고 사용가능(전역 변수) mul = 10*20; mul = 20*30; mul = 10; var : 동일한 변수명으로 중복 선언 가능, 선언된 변수에 재할당(변경) 가능 var mul = 10*20; var mul = 20*30; mul = 20; let : 동일한 변수명으로 중복 선언 불가능, 선언된 변수에 재할당 가능 let mul = 10*20; let mul = 20*30; //중복선언오류 mul = 30; const : 동일한 변수명으로 중복 선언 불가능, 선언된 변수에 재할당(변경) 불가능(상수화), 변수 선언시 반드시 데이터 값을 초기화 const mul = 10 * 20; const mul = 20 * 30; //중복선언오류 mul = 20; /..

240129 Java - 날짜와 시간을 다루는 클래스 [내부링크]

날짜와 시간을 다루는 클래스 java.util.Date JDK1.1버전부터 여러가지 문제가 생겨 대부분의 메소드와 생성자가 사용되지 않게 되었음 java.util.Calendar Date 클래스를 개선한 새로운 클래스 java.time 패키지 Date와 Calendar 클래스의 단점을 개선한 새로운 클래스들을 제공 사용이 가장 편리함. package test13; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.Calendar; import java.util.Date; public class DateTes..

240126 DB - JOIN 2, 고급 JOIN 1 [내부링크]

DB를 켜고 끄는 것은 터미널에서 해줘야함 터미널에서 lnsrctl start -- -> 리스너켜기 sqlplus /nolog conn sys/oracle as sysdba startup 조인의 경우는 SQL Developer로 확인하는 것이 편함 ※SQL Developer 설정하는 작업([study/DB] - 240110 DB) Join 여러 테이블의 컬럼을 함께 출력하는 구문 select 컬럼명1, 컬럼명2, 컬럼명3 from 테이블A join 테이블B on 테이블A.컬럼명 = 테이블B.컬럼명 [where] [group by] [having] [order by] 공통된 데이터의 컬럼을 찾아줘서 on에 작성해줘야한다. 공통된 데이터 컬럼에서 접두어로 정확히 출처 테이블명을 밝혀줘야함 ex3) 모호한 컬..

240125 자바스크립트 [내부링크]

변수 선언과 할당 호이스팅 : 함수 line

241025 Java - 예외 2 [내부링크]

예외 순위는 Exception>>>>>>나머지. 즉, Exception은 가장 나중에 작성해야함 package test12; import java.util.InputMismatchException; import java.util.Scanner; public class ExceptionTest4 { public static void main(String[] args) { // 2개의 정수를 입력받아 사칙연산을 수행하는 프로그램 작성 // 1. 정수값이 아닌 다른 자료형이 입력될 경우 예외 처리 -> InputMismatchException // 2. 0으로 나누는 경우의 예외 처리 -> ArithmeticException Scanner sc = new Scanner(System.in); while (tru..

240125 WEB [내부링크]

JDBC MemberDAO package com.itwillbs.dao; import javax.inject.Inject; import javax.sql.DataSource; import com.itwillbs.domain.MemberDTO; public class MemberDAO { //멤버변수 정의 javax.sql.DataSource private DataSource dataSource; //set 메소드 @Inject public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } //리턴형 없는 insertMember(memberDTO 주소) 메소드 정의 public void insertMember(Member..

240124 자바스크립트 [내부링크]

1부터 10까지 짝수만 더하기 구구단 출력 꾸미기 JAVASCRIPT- css - gugudan.css 생성 @charset "UTF-8"; div{ background-color: #eeeeee; display: inline-block; padding: 0 20px 30px 20px; margin: 15px; border : 1px solid #ccc; line-height: 2; } h3{ text-align: center; font-weight: bold; } chapter04_2.html 구구단 출력 1부터 10까지 짝수만 더하기 자리 배치도 만들기2

240124 Java - 예외 1 [내부링크]

예외 package test12; public class ExceptionTest { public static void main(String[] args) { //try~catch~finally 구문으로 예외처리해서 프로그램이 멈추지 않도록 만들어야 함 //강제 예외 발생 : throw 키워드를 사용해서 처리함 //try 문제(예외)가 발생할 수 있는 구문을 { } 안에 작성 //Runtime Error //Error : 심각한 에러 //Exception : 가벼운 에러(오류) //예외 : 프로그램 실행 도중에 발생할 수 있는 예기치 않는 상황이 발생을 대비하여 코드를 작성하는 것 //예외가 발생하는 경우 : 0으로 나누는 경우, 배열 인덱스가 음수 또는 범위를 벗어나는 경우, // 정수를 읽는 코드가 ..

240124 Cloud [내부링크]

교재 EC2 인스턴스 작성 2 p31 asdf plugin add ruby → 루비 언어의 플러그인 설치(Phusion Passenger가 C++와 루비 언어로 만들어졌기 때문) sudo yum install gcc gcc-c++ glibc glibc-common gd gd-devel openssl-devel libcurl-devel -y → 루비를 설치하는 데 필요한 패키지 설치 asdf install ruby 3.1.1 → 루비 언어 설치 asdf global ruby 3.1.1 → 버전 3.1.1을 루비 언어의 기본 버전으로 설정 ======================================================================= Phusion Passenger 설치 → ..

240123 WEB - SPRING3 [내부링크]

시작점 가상 주소 →가상 주소 요청 정보를 저장하는 request, response → web.xml 참조 → root-context.xml(DB연동) → servlet-context.xml → Controller(주소매핑) 회원가입처리 기존 방식(수동 방식) src/main/java에 com.itwillbs.domain 패키지 생성 후 기존 MemberDTO파일 넣기 MemberController.java @RequestMapping(value = "/member/insertPro", method = RequestMethod.POST) public String insertPro(HttpServletRequest request) { //public String insertPro(사용하고자 하는 값의 변수..

240122 WEB - SPRING2 [내부링크]

스프링 프레임워크 : 자바로 만든 프로그램 툴, 전자정부표준 프레임워크, 스프링 부트(스프링프레임워크를 경량화) spring MVC 동작원리 사용자, 유저, 클라이언트 브라우저에 URL(주소) 입력 http://localhost:8080/myweb/ => http가 요청정보를 가지고 localhost:8080 서버 찾아감 localhost:8080 서버에 /(모든페이지) 페이지 보고 싶다 요청 요청정보 들고 서버에 감(처리) => 1. 웹서버(아파치) 전달 => 웹서버 안에 / 페이지 찾기 => 처리필요 => 2. 웹 애플리케이션 서버(WAS,톰캣,웹컨테이너) 전달 => 1) request(http가 들고온 요청정보를 저장), response(서버 처리결과 응답정보를 저장) 기억장소 만들어줌(객체생성) ..

240122 자바스크립트 [내부링크]

큰따옴표로 묶은 문자열 안에 또 다른 문자열을 넣으려면 작은 따옴표로 표기함. 배열(복합 유형) 여러 개의 데이터값을 하나의 변수명(배열명)으로 묶어서 선언 배열[] 배열명["값1", "값2",...] 배열 내부의 데이터 타입이 서로 다를 수 있음. DOCTYPE html> 배열과 조건문 배열 //var 변수명 = 배열명[값1, 값2, 값3,...]; //var 배열명 = []; (빈 배열 선언) var spring ="봄"; var summer ="여름"; var fall = "가을"; var winter ="겨울"; var season = ["봄", "여름" ,"가을" ,"겨울"] for(var i = 0 ; i < season.length ; i++){ console.log(season[i] + "..

240119 자바스크립트 [내부링크]

DOCTYPE html> 자바스크립트 기본 입출력 입력하기 1. 확인 창 입력 : confirm() 2. 프롬프트 창에서 입력 : prompt() 1. 확인 창 입력 : confirm("질문 내용") [확인]이나 [취소]버튼 중에서 클릭하여 선택하면 그 결과값을 변수에 저장 결과가 true/false 값으로 반환받은 값을 프로그램에 처리할 수 있음 ※자바와 달리 자바스크립트는 자료형을 붙히지 않음. 알아서 처리함. //형식) confirm("질문") var reply = confirm("정말 삭제하시겠습니까?"); document.write(reply); //확인을 누르면 ture, 취소를 누르면 false라고 나타남. 2. 프롬프트 창에서 입력 : prompt() 사용자가 입력한 텍스트 필드 내의 내용..

240119 Cloud [내부링크]

교재 EC2 인스턴스 작성 -1 대시보드 인스턴스 - 인스턴스 시작 - EC2 인스턴스 생성 이름 : exercise-instance1 AMI : Amazon Linux2 AMI(HVM) - Kernel 5.10 인스턴스 유형 : t2.micro(기본값) 키패어 : 기존 키페어 사용 네트워크 설정 : 기존 보안 그룹 선택(ssh, web) 스토리지 구성 : 8(기본값) 인스턴스 시작 MobaXterm을 이용해 원격 접속 p24 명령어 sudo yum install git -y -> EC2 서버에 git(형상관리) 설치 git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.9.0 → ~ : 홈 디렉토리를 의미. 현재 접속자가 ec2-user이..

240118 자바스크립트 [내부링크]

태그 사이에 소스를 넣어주면 됨 html 요소들 선택 html 문서에서 각 요소들을 구분하기 위해 사용 ex) type, id, class, name, value input button id를 설정해 주고 js나 jquery로 해당하는 id에 이벤트를 처리를 줄 수 있다. DOCTYPE html> 자바스크립트 작성 방법 내부 스크립트 형식 작성 //type="text/javascript" 적어주지 않아도 되지만, 웹 버전에 따라 동작하지 않을 수 있다. alert("Welcom Javascript World!"); 외부 스크립트 형식 작성 요소의 속성으로 사용 input type="button" button 태그 click double click mouse over 전송 초기화 간단한 입출력 방법 입력 ..

240118 WEB - JSP25, SPRING 1 [내부링크]

BoardController if(sPath.equals("/list.bo")) { System.out.println("가상주소 비교 /list.bo 일치"); //http://localhost:8080/MVCProject/list.bo //모든 게시판 1페이지 //http://localhost:8080/MVCProject/list.bo?pageNum=2 //한 페이지에 보여줄 글 개수 설정 10 int pageSize = 10; //현 페이지 번호 가져오기 String pageNum = request.getParameter("pageNum"); //현 페이지 번호가 없으면(null이면) "1"페이지로 설정 if(pageNum==null) { pageNum = "1"; } //페이지 번호를 정수형으로 변..

240116 WEB - JSP24 [내부링크]

수정, 삭제 public class BoardController extends HttpServlet{ RequestDispatcher dispatcher = null; BoardService boardService = null; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("BoardController doGet()"); doProcess(request, response); }//doGet() @Override protected void doPost(HttpServletRequest req..

240115 WEB - JSP23 [내부링크]

public class BoardDAO { Connection con = null; PreparedStatement ps = null; ResultSet rs = null; public Connection getConnection() { try { // Class.forName("com.mysql.cj.jdbc.Driver"); // String dbUrl = "jdbc:mysql://localhost:3306/jspdb?serverTimezone=Asia/Seoul"; // String dbUser = "root"; // String dbPw = "1234"; // con = DriverManager.getConnection(dbUrl, dbUser, dbPw); //커넥션 풀(Connenction P..

240115 자바스크립트 [내부링크]

C드라이브- JAVASCRIPT - tools (이클립스, 톰캣) 톰캣 https://tomcat.apache.org/download-90.cgi 접속 64bit.zip 다운 이미 설치되어 있기 때문에 압축만 풀기(설치X) 이클립스 https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2023-12/R/eclipse-inst-jre-win64.exe&mirror_id=466 이클립스 설치(IDE) 경로 : C:\JAVASCRIPT\tools 다운로드 후 tools 안에 넣어주기 C:\JAVASCRIPT workspace만들어주기 → C:\JAVASCRIPT\JAVASCRIPT_projcet 이클립스 실행 후 경로 : C:\JAVASCRIPT\JA..

240115 Java [내부링크]

LinkedList 클래스 배열의 번거로움을 개선한 자료 구조이다. 링크드 리스트의 각요소는 다음 요소를 가리키는 주소 값을 가진다. 따라서 메모리는 떨어져 있어도 논리적으로는 앞뒤 순서가 있다. 같은 List 인터페이스를 구현한 ArrayList에 비해 중간에 자료를 넣고 제거하는 데 시간이 젝거 걸리며, 크기를 동적으로 증가시킬 수 있다. package collection; import java.util.LinkedList; public class LinkedListTest { public static void main(String[] args) { LinkedList myList = new LinkedList(); //링크드 리스트에 요소 추가 myList.add("A"); myList.add("B..

240112 Cloud [내부링크]

클라이언트는 서버와 전달하는 것이 아니라 중간에 대리자와 대화하는 것을 프록시 클라이언트 - 프록시 - 서버 프록시가 서버가 여러개 있을 때 포트번호로 포트번호에 맞게 전달해줌 이전 시간 \ → \.(jsp)$ 정규표현식에 문제가 생겼기 때문이다. .을 제대로 표현하기 위해서는 \를 붙혀주어야함. → \. $ : .jsp로 끝나는 것 ※index.jsp 호출시 web2의 /user/share/tomcat/webapps/ROOT/index.jsp가 호출됨 따라서 원하는 내용을 첫 화면으로 보여주고 싶다면 위의 파일 수정 또는 교 haproxy를 통한 로드밸런싱 로드(load) : 부하 = 일을 얼마만큼 많이하는지 로드밸런싱 : 부하가 하는 일을 맞춰준다. AWS에서는 ELB라는 로드밸런싱을 지원 ELB는 ..

240112 WEB - JSP22 [내부링크]

DOCTYPE html> member/info.jsp member/info.jsp 회원 정보 조회 기억 장소 할당 // MemberDAO memberDAO = new MemberDAO(); // System.out.println("MemberDAO의 기억장소 주소 : " + memberDAO); // //MemberDAO에 리턴할 형 MemberDTO getMember(String id) 메소드 정의 // //MemberDTO memberDTO = MemberDAO의 기억장소 주소.getMember(id) 메소드 호출 // MemberDTO memberDTO = memberDAO.getMember(id); // //id가 일치했을 때 memberDTO에 id, pw, name, date가 저장해서 리턴,..

240111 Java [내부링크]

컬렉션 프레임워크 제네릭 프로그램에서 변수를 선언할 때 모든 변수는 자료형이 있다. 메소드에서 매개변수를 사용할 때도 자료형을 가지고 있다. 대부분은 하나의 자료형으로 구현하지만, 변수나 메소드의 자료형을 필요에 따라 여러 자료형으로 바꿀 수 있다면 프로그램이 유연할 것이다. 어떤 값이 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍하는 것을 '제네릭(Generic) 프로그래밍'이라고 한다. 제네릭 프로그램은 참조 자료형이 변환될 때 이에 대한 검증을 컴파일러가 하므로 안정적이다. 어떤 변수가 여러 참조 자료형을 사용할 수 있도록 Object 클래스를 사용하면 다시 원래 자료형으로 반환해주기 위해 매번 형 변환을 해야하는 번거로움이 있다. 이러한 경우에 사용하는 프로그래밍 방식..

240111 WEB - JSP21 [내부링크]

DOCTYPE html> member/delete.jsp member/delete.jsp 회원 정보 삭제 아이디 : 비밀번호 : public class MemberController extends HttpServlet { //MemberController 파일을 servlet파일로 지정 //→ MemberController extends HttpServlet(자바내장객체(처리담당자) 상속 //→ 웹 애플리케이션 서버(처리담당서버)가 자동으로 서블릿 메소드 호출 //→ service(), doGet(), doPost(),... 자동으로 호출 //→ doGet(), doPost() 재정의(메소드 오버라이딩)해서 주소매핑 작업 처리 //메소드 오버라이딩(alt + shift + s → v) @Override ..

240110 Java [내부링크]

String 클래스 String을 선언하는 방법 String s1 = new String("CString"); //생성자의 매개변수로 문자열 생성 String s2 = "String"; //문자열 상수를 가리키는 방식 문자열을 생성자의 매개변수로 하여 생성하는 방식과 이미 생성된 문자열 상수를 가리키는 방식이 있다. 이 두 방법은 내부적으로 큰 차이가 있다. new 예약어를 사용하여 객체를 생성하는 경우 "CString" 문자열을 위한 메모리가 할당되고 새로운 객체가 생성된다. 문자열 상수를 가리키는 방식은 s2가 기존에 만들어져 있던 "String"이라는 문자열 상수의 메모리 주소를 가리키게 된다. String s3 = "String"; 코드를 작성하게 되면 s2와 s3는 주소 값이 같게 된다.(프로그..

240110 DB - 그룹함수, JOIN 1 [내부링크]

단일 행 함수 : 행 당 함수가 적용되어 반환 lower(last_name) substr(phone_number, 1, 3) nvl(commission_pct, 0) 다중 행 함수 : 행 그룹을 조작해서 결과를 한 개 반환함 그룹함수 행 그룹을 조작해서 하나의 결과 값을 반환함 특징 : null값은 제외하고 작업함 avg max min sum sum과 avg는 숫자 데이터 타입인 컬럼만 사용이 가능하다. 단, max, min은 모든 데이터 타입의 컬럼에 사용이 가능하다. count count(*) : * 모든 컬럼, 행 하나가 1이기 때문에, 테이블의 전체 행의 개수 반환, null이 있어도 상관 없음. 즉, null과 중복값 포함 count(expr) : 특정 컬럼 지정했을 때, null인 값은 무시하..

240109 WEB - JSP20 [내부링크]

MVC 패턴 여러명에서 동시에 작업하기 위한 효율적인 프로그램 방식 Model : DB 작업 MemberDTO, MemberDAO View : 화면 insert.jsp 화면 Controller : 제어 insepPro.jsp => 자바파일 메소드() insert.jsp(화면) => MemberService insertPro() 메소드(처리) - MemberDAO 메소드(DB) => login.jsp(화면) => MemberService loginPro() 메소드(처리) - MemberDAO 메소드(DB) => main.jsp 주소 매핑 가상주소 만들어서 하이퍼링크 연결 => 실제 페이지 연결 public class MemberController extends HttpServlet { //MemberCon..

240108 DB - 단일 행 함수 2 [내부링크]

4. 변환함수 문자 → 숫자 : to_number 문자 → 날짜 : to_date 숫자 → 문자, 날짜 → 문자 : to_char 날짜를 문자로 to_char 날짜를 문자로 : 날짜를 보기 좋게 표현하기 위해 사용 to_char(날짜, '사용자 형식') 날짜 형식 요소를 활용해서 사용자 포맷을 작성함 사용자 형식을 작은 따옴표 안에 써준다. ※날짜 형식 요소 년도 YYYY : 숫자로 된 전체 연도표시 YEAR : 영어 철자로 표기된 연도 표시 RR,YY : 연도를 2자리 숫자로 표시 월 MM : 월을 2자리 숫자 값으로 표시 MONTH : 전체 월 이름을 표시 MON : 월의 영어 약자로 표시 요일 DY : 3문자로 된 요일 약어 표시 DAY : 요일의 전체 영어 이름 표시 날짜 DD : 숫자 형식의 월..

240108 Java [내부링크]

인터페이스(interface) 인터페이스는 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할을 한다. 인터페이스는 추상 메소드와 상수로만 이루어져 있다. 구현된 코드가 없기 때문에 인터페이스로 인스턴스로 생성할 수 없다. package interfaceex; public interface Calc { //인터페이스에서 선언한 변수는 컴파일 과정에서 상수로 변함. double PI = 3.14; int ERR = -999999999; //인터페이스에서 선언한 메소드는 컴파일 과정에서 추상 메소드로 변환됨 int add(int num1, int num2); int substract(int num1, int num2); int times(int num1, int num2); int divide(..

240105 DB - 단일 행 함수 1 [내부링크]

lsnrctl start sqlplus /nolog conn sys/패스워드 as sysdba startup conn hr/패스워드 show user; 단일 행 함수 행당 하나의 결과를 반환 SQL> 함수명(인수) 문자함수 숫자함수 날짜함수 변환함수 일반함수 +DBMS마다 자체 함수 1. 문자함수 문자 입력을 받아 문자 및 숫자값을 모두 반환할 수 있다. 1) 대,소문자 변환함수 lower('SQL Course'); sql course upper('SQL Course'); SQL COURSE initcap('SQL Course'); Sql Course(첫글자 대문자) 디스플레이+ 조건 찾기로 많이 사용된다. 2) 문자 조작 함수 concat(expr1, expr2) : 두 인수를 연결해서 하나의 문자열로..

240105 Cloud [내부링크]

AWS EC2(nginx)를 활용한 Reverse-Proxy 구현 ※프록시 인터넷(클라이언트입장에서) 웹 서버에 접속을 하기 위해 http80포트를 이용 연결하나에 세션이 감당해야함. 그를 방지하기 위해 프록시라고하는 서버를 두어 클라이언트는 프록시와 통신. 프록시와 서버가 통신을 함. 프록시같은경우는 직접 서버에게 응답은 받은 후 클라이언트에게 응답처리함 리버스 프록시의 경우 클라이언트가 서버에게 직접 응답을 받음 즉, 프록시는 대리인이라고 할 수 있다. ※순서를 따라서 실습 구성요소(3개의 인스턴스 생성) nginx Reverse-Proxy(nginx) : 3.35.21.27 port80 web1(apache) : 54.180.105.44 port80 web2(tomcat) : 13.209.50.24..

240104 Java [내부링크]

package test; public class Exam { public static void main(String[] args) { //1) 알파벳 대문자 A~Z까지 출력하는 프로그램 작성 // char a = 'A'; // System.out.println((int)a); //65 // char f = 'F'; // System.out.println((int)f);//70 for(int i =65; i

240104 WEB - JSP19 [내부링크]

이전 시간에 했던 것에서는 주소에 /insert.jsp로 되었는데, 이를 주소값에 insert.me가 되게 package com.itwillbs.controller; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MemberController extends HttpServlet { //MemberContro..

240103 Java [내부링크]

추상클래스 구체적이지 않은 클래스를 추상클래스(abstract class) 구현부가 없는 메소드를 추상메소드(abstract method) 추상 클래스, 추상 메소드는 abstract예약어를 사용 abstract int add(int x, int y); public abstract class 클래스명{ public abstract void 메소드명(); } 추상 메소드가 속한 클래스를 추상 클래스로 선언하지 않으면 오류가 발생한다. 추상 클래스 구현 public abstract class Computer { public abstract void display(); public abstract void typing(); public void turnOn() { System.out.println("전원 켜기..

240103 DB - 조건문과 정렬 [내부링크]

※lsnrctl start ※alias는 큰 따옴표 그 외(2가지 경우 외)에는 작은 따옴표사용 ※컬럼 크기 조정 : col 컬럼명 format a크기 조건문 where select 컬럼명 from table where 조건문; select column, where row where 컬럼명 = 값(숫자, '문자', 날짜'); 즉, Oracle에서는 대,소문자를 구분한다는 특징이 있다. 입력되어 있는 자료의 대,소문자를 정확히 입력해야 원하는 정보를 찾을 수 있다.(MySQL과 차이가 있다. 단, 해결해줄 수 있는 방법이 있다. 함수를 이용하면 된다.) 위의 오류는hire_date는 date, '2005-08-13'은 문자로 인식한다. 하지만 '2005-08-13'이는 날짜 형식이 맞다. 왜 그런것일까? ..

MVC [내부링크]

MVC MVC(Model-View-Controller) 애플리케이션을 Model, View, Controller 세 가지 주요 논리적 구성 요소로 분리하는 패턴이며, 각각의 요소는 애플리케이션의 특정 개발 측면을 처리하도록 구축되었다. Model : DB작업 View : 화면 Controller : 제어 MVC 흐름도 클라이언트 브라우저가 MVC 애플리케이션에 요청을 보낸다. 들어오는 요청의 URL을 기반으로 라우팅*을 수행한다. *라우팅 : 네트워크에서 경로를 선택하는 프로세스 라우팅 작업은 적합한 컨트롤러를 호출하고 메소드를 사용하여 이를 실행 컨트롤러는 모델을 사용하여 데이터를 처리하고 적절한 메소드를 호출 처리된 모델은 뷰로 전달되고, 뷰는 화면에 출력한다. web.xml index.html in..

240102 WEB - JSP18 [내부링크]

BoardDAO 정리 public int getMaxNum() { Connection con = null; PreparedStatement ps = null; ResultSet rs = null; int num = 0; try { con = getConnection(); String sql = "select max(num) from board"; ps = con.prepareStatement(sql); rs = ps.executeQuery(); if(rs.next()) { num = rs.getInt("max(num)"); } } catch (Exception e) { e.printStackTrace(); } finally { if(rs!=null) { try { rs.close(); } catch (E..

DTO, DAO, MVC [내부링크]

DTO Data Transfer Object 객체의 데이터를 담아두는 용기 DAO Data Access Object 그 용기(DTO)를 실제 데이터베이스에 가져가서 뭘 사용할지 고르는 곳 유저가 입력한 데이터를 DB에 넣는 과정 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어 전송한다. 해당 DTO를 받은 서버가 DAO를 이용해 DB로 데이터를 집어 넣는다. MVC Model : 주고 받을 객체 View : 실제로 보는 jsp Controller : 처리 웹 기능은 컨트롤러에서 호출해 거기서 모델을 가지고와 리턴을 뷰 시켜주는 것 그 모델에는 뷰에 보여줄 값들이 있고 뷰에서는 그 가져온 값들을 뿌려주는 개념이다.

리눅스 명령어 12가지 [내부링크]

리눅스 운영 체제에서 자주 사용되는 명령어이다. ls : 현재 디렉토리의 파일 및 폴더 목록을 표시하는 명령어. > ls cd : 디렉토리 변경 명령어. 다른 디렉토리로 이동한다. > cd /경로/의/디렉토리 cp : 파일 또는 디렉토리를 복사하는 명령어. > cp 파일(디렉토리) 목적지 mv : 파일 또는 디렉토리를 이동하는 명령어. > mv 파일(디렉토리) 목적지 > mv 파일(디렉토리) 목적지 변경할파일(디렉토리)명 rm : 파일 또는 디렉토리를 삭제하는 명령어. > rm 파일(디렉토리)명 mkdir : 디렉토리를 생성하는 명령어 > mkdir 디렉토리명 rmdir : 빈 디렉토리를 삭제하는 명령어 > rmdir 디렉토리명 pwd : 현재 작업 디렉토리의 경로를 출력해주는 명령어 > pwd chmo..

231229 DB - select 구문을 사용한 데이터 검색 [내부링크]

root : 관리자 계정(서버관리자용) os user : 최소한의 권한만 가지고 있음 root(oracle01) Linux 설치 시 내장된 User 관리자의 권한을 소유함. oracle(oracle) DBA, 개발자용 일반 User 최소한의 권한을 소유함. /home/oracle 디렉토리 권한 /u01/app/oracle 디렉토리 권한 즉 모든 DB파일은 /home/oracle 또는 /u01/app/oracle 디렉토리에 설치 sys, system : DB생성시 자동으로 만들어지는 user sys : sysdba 권한(dba + DB 시작/종료) SQL> conn sys/패스워드 as sysdba system : dba 권한 SQL> conn system/패스워드 hr : object(table, vie..

231229 Cloud [내부링크]

AWS EC2 nginx 설정 EC 대시보드 - 인스턴스 - 인스턴스 - 인스턴스 시작 이름 : nginx AMI : Amazon Linux 2 인스턴스 유형 : t2.micro 키패어 : 기본 네트워크 설정 : 기존 보안 그룹 선택(ssh, web) 스토리지 구성 : 8GiB(기본값) → 인스턴스 시작 원격 접속 nginx 공식 리포지토리 추가 sudo vi /etc/yum.repos.d/nginx.repo →yum 명령어 시 EC2 인스턴스가 저장소(repository)를 찾는데 그 경로가 /etc/yum.repos.d/이다 →여기 있는 저장소를 기본값으로 찾게 됨 →※AWS가 아닌 일반적인 리눅스라면 /etc/yum/repo.d/centos-base.repo 파일에 저장된 기본값으로 저장소를 찾음 ..

231228 Java [내부링크]

상속(inheritance) 상속이란 B 클래스가 A 클래스를 상속받으면 B클래스는 A 클래스의 멤버 변수와 메소드를 사용할 수 있다. A클래스(상위 클래스) ↑ B 클래스(하위클래스) : A 클래스가 B 클래스에게 상속한다. = B 클래스가 A 클래스를 상속받는다. A클래스는 상위 클래스, 부모 클래스, super class, base class라고 표현하며, B 클래스는 하위 클래스, 자식 클래스, subclass, derrived class라고 표현한다. 클래스 상속 문법 class B extends A { } A가 가지고 있는 속성이나 기능을 추가로 확장하여 B 클래스를 구현한다는 뜻이다. 일반적인 클래스 A에서 더 구체적인 클래스 B가 구현된다. 예를 들어 동물(상위 클래스), 사람(하위 클래스..

231228 WEB - JSP17 [내부링크]

DOCTYPE html> board/03content.jsp board/content.jsp 글 내용 보기[아이디 : ] 글번호 작성자 조회수 작성날짜 제목 내용 글수정 글삭제 목록 DAO public void updateReadcount(int num) { System.out.println("BoardDAO updateReadcount()"); BoardDTO boardDTO = new BoardDTO(); try { Connection con = getConnection(); String sql = "update board set readcount = readcount+1 where num = ?"; PreparedStatement ps = con.prepareStatement(sql); ps.set..

231227 Java [내부링크]

배열 자료를 순차적으로 관리하는 구조 학교에 학생이 100명이고 이들의 학번을 관리하기 위해서 학번 변수를 100개 선언해야한다면 int studentID1; int studentID2; ... int studentID100; 매우 번거롭고 귀찮을 것이다. 이때 사용하는 자료형이 배열(array)d이다. 배열을 사용하면 자료형이 같은 자료 여러 개를 한 번에 관리할 수 있다. 배열 선언과 초기화 배열선언 자료형[] 배열이름 = new 자료형[개수]; 또는 자료형 배열이름[] = new 자료형[개수]; 배열을 사용하려면 먼저 배열을 선언해야한다. 변수와 마찬가지로 자료형을 함께 선언하며, 배열을 이루는 각각의 자료를 배열 요소라고 한다. 배열 요소는 자료형이 모두 같다. 저장하려는 자료의 성격에 맞게 자료..

231227 DB - 데이터정의어(DLL), 오라클 [내부링크]

데이터정의어(DLL) - View 예시 1) create view empvu80 as select employee_id, last_name, salary, department_id from employees where department_id = 80; 예시 2) create view deptvu as select * from departments where department_id > 200; 예시 3) 뷰를 통해서 insert 작업 → base table에도 데이터가 삽입됨을 확인 할 수 있다. 즉, 똑같이 들어간다. 예시 4) base table을 통한 insert 작업 insert into departments values(410,'BBB',178,1700); 예시 5) 보안성 예제 사장을 제외한..

231226 WEB - JSP16 [내부링크]

DOCTYPE html> board/01writePro.jsp board/writePro.jsp BoardDAO public int getMaxNum() { int num = 0; try { Connection con = getConnection(); String sql = "select max(num) from board"; PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); if(rs.next()) { num = rs.getInt("max(num)"); } } catch (Exception e) { e.printStackTrace(); } return num; } writePro //max(num)+1 ..

231222 DB [내부링크]

데이터정의어(DDL) - Table 테이블 수정(alter table) 테이블 생성 후 컬럼 추가 시 기본적으로 마지막 컬럼으로 추가됨 초기 값은 null값이 삽입 SQL> 1) alter table 테이블명 add → 컬럼 추가, 제약 조건 추가(pk, uni, ck, fk) 2) alter table 테이블명 modify → 컬럼 수정, 제약조건 추가, 삭제(nn) 3) alter table 테이블명 drop → 컬럼 삭제, 제약조건 삭제(pk, uni, ck, fk) 4) alter table 테이블명 rename → 컬럼명 변경 컬럼 추가 : alter table 테이블명 add 컬럼명 제약 조건 예시) dept80 테이블에 job_id 컬럼 추가 alter table dept80 add job_..

231222 Cloud [내부링크]

시작전 확인 사항 rpm -qa httpd mariadb → db설치 확인 sudo systemctl status httpd → 아파치 동작 확인 sudo systemctl start httpd → 아파치 실행 sudo systemctl enable httpd → 부팅 시 아파치 자동 실행 sudo systemctl status mariadb → mariadb 상태 확인 sudo systemctl start mariadb → mariadb 실행 sudo systemctl enable mariadb → 부팅 시 mariadb 자동 실행 MariaDB 데이터베이스서버의 이중화 Slave DB에서 Master와 동기화 설정 DB_Slave에서 change master to master_host=' 13.209..

231221 Java [내부링크]

복습 객체지향프로그래밍 객체 : 눈에 보이는 사물 모두 객체 지향 프로그래밍(Object Oriented Programming) : 객체를 기반으로하는 프로그래밍하는 것, 객체를 정의하고 객체 간 협력으로 프로그래밍하는 것. cf) 절차지향프로그래밍 : 일어나는 일을 시간순으로 프로그래밍하는 것 클래스 객체지향프로그램은 클래스를 기반으로 프로그래밍한다. 클래스는 객체의 속성과 기능을 코드로 구현한 것이다. 객체를 클래스로 구현하는 것을 '클래스를 정의한다.'라고 한다. 클래스를 정의하려면 클래스의 이름과 클래스가 가지는 속성(특성)이 필요하다. ex) 사람 객체를 클래스로 살펴보면 객체를 표현할 클래스의 이름 : Person 객체가 가지는 속성 : 이름, 나이, 직업, 사는 곳 등 클래스 속성(특성)은 ..

231221 WEB - JSP15 [내부링크]

DOCTYPE html> member/list.jsp member/list.jsp 회원 목록 아이디비밀번호이름가입날짜 public ArrayList getMemberList() { ArrayList memberList = new ArrayList(); try { Connection con = getConnection(); String sql = "select * from members"; PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while(rs.next()) { //한 사람의 정보를 저장할 바구니 MemberDTO 객체 생성 MemberDTO memberDTO = new MemberDTO(); S..

231220 Java [내부링크]

인터페이스 구현 코드가 없는 인터페이스 인터페이스(interface)는 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할 인터페이스는 추상 메서드와 상수로만 이루어져 있음 구현된 코드가 없기 때문에 인스턴스를 생성할 수 없음 package interface_; public interface Calc { //인터페이스에서 선언한 변수는 컴파일 과정에서 상수로 변환됨 double PI = 3.14; int ERROR = -9999999; //인터페이스에서 선언한 메소드는 컴파일 과정에서 추상 메소드로 변환됨 int add(int num1, int num2); int substract(int num1, int num2); int times(int num1, int num2); int divide..

231220 DB [내부링크]

데이터정의어(DDL) - Table 객체(테이블, 뷰, 인덱스 등)를 생성, 수정, 삭제하는 명령 테이블 관련 DDL 종류 : create table, alter table, drop table, truncate table(테이블 절단) 테이블 생성(create table) SQL> create table 테이블명 (컬럼명1, 데이터타입(컬럼사이즈), 컬럼명2, 데이터타입(컬럼사이즈) [default 기본값], 컬럼명3, 데이터타입(컬럼사이즈) [제약조건]); ()안에 테이블을 구성할 컬럼 테이블명, 컬럼명은 한글을 사용하지 않음. 데이터 타입 종류 1) 문자 char : 고정형 (생년월일, 전화번호 등에 사용) varchar : 가변 (이메일, 주소 등에 사용) 공간 효율 : char < varchar..

231219 WEB - JSP14 [내부링크]

8. MVC member/info.jsp 회원 정보 조회 기억 장소 할당 MemberDAO memberDAO = new MemberDAO(); System.out.println("MemberDAO의 기억장소 주소 : " + memberDAO); //MemberDAO에 리턴할 형 MemberDTO getMember(String id) 메소드 정의 //MemberDTO memberDTO = MemberDAO의 기억장소 주소.getMember(id) 메소드 호출 MemberDTO memberDTO = memberDAO.getMember(id); //id가 일치했을 때 memberDTO에 id, pw, name, date가 저장해서 리턴, //그렇지 않을 경우 memberDTO에 비어있는 값 null이 리턴 S..

231218 WEB - JSP13 [내부링크]

※배포파일 가져오기/내보내기 내보내기 Project - 우클릭 - Export - 위치지정 및 파일명, Export Source files, Overwrite existing file 체크 - Finsh 가져오기 우클릭 - Import 웹 압축파일 war, 자바 압축파일 jar 8. MVC package member; import java.nio.file.attribute.AclEntry; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Timestamp; public class MemberDAO { //멤버 변수 //생성자 → 생략하면 자바가 알아서 자동으..

231218 Java [내부링크]

다운 캐스팅 instanceof package polymorphism; import java.util.ArrayList; //instanceof로 워래 인스턴스형 확인 후 다운 캐스팅 //상위 클래스 Animal class Animal{ public void move() { System.out.println("동물이 움직임"); } } //Animal을 상속받은 Human 클래스 class Human extends Animal{ public void move() { System.out.println("사람이 두 발로 걷는다"); } public void readBood() { System.out.println("사람이 독서를 한다"); } } //Animal을 상속받은 Tiger 클래스 class Dog..

231215 WEB - JSP12 [내부링크]

데이터베이스 연결 DOCTYPE html> jsp4/list.jsp jsp4/list.jsp 회원 목록 아이디비밀번호이름가입날짜 DOCTYPE html> jsp4/main.jsp jsp4/main.jsp 님 환영합니다. 로그아웃 회원 정보 조회 회원 정보 수정 회원 정보 삭제 회원 목록(관리자) MVC DOCTYPE html> member/insertPro.jsp member/insertPro.jsp 회원가입완료 //231215 package member; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Timestamp; public class Member..

231215 Cloud [내부링크]

EC2 인스턴스 DB서버(MariaDB) 설정 시작전 확인 사항 rpm -qa httpd mariadb → db설치 확인 sudo systemctl status httpd → 아파치 동작 확인 sudo systemctl start httpd → 아파치 실행 sudo systemctl enable httpd → 부팅 시 아파치 자동 실행 sudo systemctl status mariadb → mariadb 상태 확인 sudo systemctl start mariadb → mariadb 실행 sudo systemctl enable mariadb → 부팅 시 mariadb 자동 실행 ※링크(link) 윈도우의 바로가기와 같은 개념 리눅스에서 systemctl enable 서비스명 을 입력하면 심볼릭 링크가 ..

231214 Java [내부링크]

※ https://docs.oracle.com/en/java/javase/21/docs/api/index.html 상속 상속 예시 package inheritance_polymorphism; //Customer 클래스 구현 public class Customer { //멤버 변수 protected int cId; //고객ID protected String cName; //고객 이름 protected String cGrade; //고객 등급 int point; //포인트 double ratio; //적립 비율 //디폴트 생성자 public Customer() { //기본등급 cGrade = "bronze"; //기본등급 ratio = 0.1; //보너스 포인트 기본 적립 비율 } //보너스 포인트 적립, ..

231214 WEB - JSP11 [내부링크]

데이터베이스 연결 DOCTYPE html> jsp4/info.jsp jsp4/info.jsp 회원 정보 조회 아이디 : 비밀번호 : 이름 : 가입날짜 : main.jsp 이동 DOCTYPE html> jsp4/update.jsp jsp4/update.jsp 회원 정보 수정 아이디 : 비밀번호 : 비밀번호 입력 시 회원정보 수정 이름 : DOCTYPE html> jsp4/updatePro.jsp jsp4/updatePro.jsp DOCTYPE html> jsp4/delete.jsp jsp4/delete.jsp 회원 정보 삭제 아이디 : 비밀번호 : DOCTYPE html> jsp4/deletePro.jsp jsp4/deletePro.jsp 회원 정보 삭제

231213 Java [내부링크]

배열 복사하기 배열 복사하는 방법 하나는 기존 배열과 배열 길이가 같거나 더 긴 배열을 만들고 for문을 사용하여 각 요소 값을 반복해서 복사하는 방법, 둘 System.arraycopy() 메서드를 사용하는 방법이 있음 System.arraycopy(src, srcPos, dest, destPos, length) src 복사할 배열 이름 srcPos 복사할 배열의 첫 번째 위치 dest 복사해서 붙여 넣을 대상 배열 이름 desPos 복사해서 대상 배열에 붙여 넣기를 시작할 첫 번째 위치 length src에서 dest로 자료를 복사할 요소 개수 package arrary; public class ArrayCopy { public static void main(String[] args) { int[] ..

231213 DB [내부링크]

데이터 수정 : UPDATE SQL> UPDATE 테이블명 SET 컬럼명 = 값 [WHERE 조건] 테이블의 특정 행(데이터)을 수정하는 명령어 예제1) 113번 사원의 부서 확인 → 부서 100 select employee_id, last_name, department_id from employees where employee_id = 113; 113번의 사원의 부서를 50으로 바꾸기 update employees set department_id = 50 where employee_id = 113; select employee_id, department_id, last_name from employees where employee_id=113; where 절 작성 시 특정행이 수정된 것을 확인 할 수 ..

231212 WEB - JSP10 [내부링크]

회원가입 테이블 만들기 id, pw, email, 이름, 생년월일, 연락처, 성별,회원가입날짜,... id pw 이름 회원가입날짜를 필수 조건으로 간단하게 만들기 create table members( id varchar(20), pw varchar(20), name varchar(20), date timestamp, primary key(id)); jsp4.insert.jsp 회원가입 아이디 : 비밀번호 : 이름 : jsp4/insertPro.jsp 회원가입완료 회원가입완료 jsp4/login.jsp 로그인 아이디 : 비밀번호 : jsp4/loginPro.jsp 로그인 화면 jsp4.insert.jsp 회원가입 아이디 : 비밀번호 : 이름 : jsp4/insertPro.jsp 회원가입완료 회원가입완료 ..

231211 WEB - JSP9 [내부링크]

6. 데이터베이스 연결 update jsp3/update.jsp 학생수정화면 학생번호 : 학생이름: 학생정보수정성공 delete 학생정보삭제화면 학생번호 : 학생이름: 학생정보삭제성공 select 결과값이 있음. jsp3/select.jsp numname 학생 정보 조회 학생번호 : 학생 정보 조회 numname

231211 Java [내부링크]

클래스 메서드 /* * static 멤버 : static으로 지정한 멤버 변수 or 멤버 메서드 * static 변수(정적변수, 클래스 변수) * static 영역 : 클래스 파일(*.class)의 bytecode가 로드되는 장소 * class가 로드될 때 클래스 내부에 정의된 클래스 변수의 클래스 메서드는 할당 및 초기화됨 * 객체의 생성없이 바로 접근(사용)할 수 있음 * → static 영역에 존재하는 변수와 메서드는 객체가 생성되기 이전에 이미 할당되어 있기 때문 * static 키워드를 통해 static영역에 할당된 변수와 메서드는 모든 객체가 공유해서 사용 */ //231211 package test6_4; /* * 클래스 멤버와 인스턴스 멤버 간의 참조와 호출 * 클래스 멤버(클래스 변수, ..

231208 WEB - JSP8 [내부링크]

6. 데이터베이스 연결 명령 프롬프트 실행 mysql -u root -p → pw입력 → 접속(mysql>) 데이터베이스 만들기(프로젝트 전체 공간(영역 만들기)) → DB 설계 데이터베이스 관리할 사용자(관리자 root, 사용자 생성해서 사용) 테이블 만들기(프로젝트 전체 공간 안에 주제별로 저장할 공간) 데이터베이스 만들기 데이터베이스 만들기 →create database jspdb; 데이터베이스 목록 확인 → show databases; 데이터베이스 선택(Database changed) → use jspdb 테이블 목록 → show tables; student 테이블 만들기 → create table student (num int primary key, name varchar(10) ); 테이블 구..

231208 DB [내부링크]

다중행 서브쿼리(Multiple-row subquery) 다중행 비교 연산자 any(or) =any (= + or) : in >any (> + or) : 최소값보다 크면 됨 >=any (>= + or) : 최소값보다 크거나 같으면 됨 = + and) : 최대값보다 크거나 같으면 됨

231207 Java [내부링크]

객체 간 협력 예제) package test6_2; //학생 클래스 구현 public class Student { public String studentName; //학생 이름 public int money; //학생이 가진 돈 //학생 이름과 학생이 가진 돈을 매개변수로 받는 생성자 public Student(String studentName, int money) { this.studentName = studentName; this.money = money; } //학생이 버스를 타면 1000원을 지불하는 기능을 구현한 매서드 public void takeBus(Bus bus) { bus.take(1000); this.money -= 1000; } //학생이 지하철을 타면 1500원 지불하는 기능을 구..

231207 WEB - JSP7 [내부링크]

5. 쿠키 jsp2/cookieTest1.jsp 쿠키 : 쿠키이름 : 쿠키값 : 쿠키설정시간 : 쿠키값 가져오기 jsp2/cookieTest2.jsp 쿠키값 만들기 쿠키값 삭제 jsp2/cookieTest3.jsp 쿠키값 가져오기 jsp2/cookieEx1 "안녕하세요. 이것은 쿠키 예제입니다""Hi, This is Cookie example" 한국어 페이지 보기(기본값) 영어 페이지 보기 jsp2/cookieEx2 사용자가 선택한 값 : 쿠키주소 : 쿠키이름 : 쿠키값 : 쿠키설정시간 : 초 쿠키값 가져오기(설정된 언어 페이지 보기)

231206 Java [내부링크]

This 예약어 자신의 메모리를 가리키는 this package thisEx; //자신의 메모리를 가리키는 this class BirthDay{ int day; int month; int year; //태어난 연도를 지정하는 메서드 public void setYear(int year){ this.year = year; //b.Day.year = year;과 같음 } public void printThis() { System.out.println(this); } } public class ThisEx { public static void main(String[] args) { BirthDay bDay = new BirthDay(); bDay.setYear(2000); System.out.println(bD..

231206 DB [내부링크]

그룹화(group by절) group by절과 그룹 함수 사용 시 지켜야하는 규칙 → select절의 컬럼 리스트 중 그룹함수에 포함된 컬럼과 그룹함수에 포함되지 않은 컬럼이 함께 출력되려면 그룹함수에 포함되지 않은 컬럼은 반드시 group by절에 포함되어 있어야 문법 오류가 나지 않음 ex) SELECT department_id, AVG(salary) FROM employees GROUP BY department_id ORDER BY department_id; ex1) select department_id, avg(salary) from employees; 결과가 나오지만 오류임. ex2)select department_id, job_id, avg(salary) from employees group ..

231205 WEB - JSP6 [내부링크]

※영역 객체와 속성 값을 저장 메서드 setAttribute(), 값을 가져오는 메서드 getAttribute() jsp1/scopeForm.jsp 아이디 : 비밀번호 : jsp1/scopePro1.jsp 아이디 : 비밀번호 : pageContext값 : request값 : session값 : application값 : scopePro2.jsp 이동 scopePro2.jsp로 get방식으로 데이터 요청하면서 이동 jsp1/scopePro2.jsp 아이디 : 비밀번호 : pageContext값 : request값 : session값 : application값 : 4. 액션 태그 JSP문법으로 태그처럼 사용하도록 만든 문법, %밖에 사용 jsp:forword 페이지(주소줄) 변경 없이 request값을 가지..

231204 Cloud [내부링크]

AWS EC2 인스턴스 MariaDB 설정 rpm -qa maria* → 서버에 MariaDB 존재 확인 → mariadb-5.5.68-1.amzn2.0.1.x86_64 만 출력되면 설치가 필요한 상황 MariaDB 설치 sudo yum install -y mariadb mariadb-server →mariadb : 서버에 접속하기 위한 클라이언트 패키지 →mariadb-server : 현재 서버를 DB 서버로 만드는 패키지 MariaDB 동작확인 sudo systemctl status mariadb → Active: inactive (dead) 중지 중 → start 필요 MariaDB 시작 sudo systemctl start mariadb 마리아DB 접속 mysq ( = mysql -u root) ..

231204 Java [내부링크]

정보 은닉 1. 기본 생성자 출력 //231204 package test5_3; //정보 은닉 → 멤버 변수 앞에 접근 제어자를 붙여서 새로운 데이터값을 대입하거나 그러지 못하도록 함 public class Student { //public과 private 구분 int studentID;//default : 아무런 접근 제어자를 지정하지 않은 경우, 동일한 패키지 내에서만 접근 가능 private String studentName;//private : 자신의 클래스 내에서만 접근 가능 public int grade;//public : 외부 클래스 어느 곳에서나 접근 제한이 없음 public String address; //생성자를 하나라도 만들지 않으면 컴파일러가 기본생성자(default construc..

AWS란? [내부링크]

※생활코딩에 영상을 참고하여 작성하였습니다. AWS란? AWS(Amazon Web Service)는 클라우드 컴퓨팅, 남의 컴퓨터를 빌려서 원격 제어를 통해서 사용하는 것. hosting과 같은 말이다. host는 인터넷에 연결된 컴퓨터 한 대, 한 대를 의미하며, 컴퓨터를 빌려줘서 서버로 사용할 수 있도록하는 사업을 호스팅 비즈니스라고 한다. 즉, 클라우드와 호스팅은 결국 서버 컴퓨터를 빌려주는 임대 사업이라고 할 수 있다. AWS에서 컴퓨터를 빌려주는 서비스는 Elastic Compute Cloud, 줄여서 EC2. 왜 빌려서 사용할까? 첫째, 비용이 저렴하기 때문이다. 만약 내가 웹 사이트를 운영한다고 가정했을 때, 하루 방문자는 10명이며, 동시 접속자는 1명이 될까말까한 상황이다. 내가 16GB..

Databse란? [내부링크]

※생활코딩에 영상을 참고하여 작성하였습니다. DB(데이터베이스)를 시작하기 전 데이터가 중요한 이유에 대해서 생각해 본 적이 있는가? 다양한 이유가 나올 것이다. 데이터가 중요한 이유 중 하나는 데이터를 가공해서 다양한 일을 할 수 있기 때문일 것이다. 이렇게 중요한 데이터를 이용할 수 있는 수단 중 하나는 file(파일)이 될 것이다. 또 파일이 가지고 있는 한계를 극복하기 위해 고안된 전문화된 소프트웨어가 바로 DB이다. DB를 이용하면 소중한 데이터를 안전하고 빠르게 보관 및 사용할 수 있다. DB의 본질 DB는 정보의 도구이다. DB를 어떻게 입력하고 출력하는지를 따져본다면 그 DB를 사용할 수 있다고 할 수 있다. 데이터 입력에는 데이터의 생성(Create), 수정(Update), 삭제(Dele..

Java Chapter 2 타입과 연산자 [내부링크]

2. 타입 2-1 변수(variable) 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미하며 저장된 값은 변경될 수 있다. 변수의 이름 생성 규칙 영문자, 숫자, _, $로만 구성할 수 있다. 숫자로 시작할 수 없다. 공백을 포함할 수 없다. 자바에서 미리 정의된 키워드는 사용할 수 없다. 변수의 종류 변수는 기본형(primitive type) 변수와 참조형(reference type) 변수로 구분되며, 기본형 변수는 실제 연산에 사용되는 변수이다. 기본형 변수는 정수형, 실수형, 문자형, 논리형으로 구분되며, 참조형 변수는 기본형 변수를 사용하여 사용자가 직접 만들어 사용하는 변수를 의미한다. 2-2 상수(Constant) 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공..

Java Chpater 1. 자바란? [내부링크]

※이해가 되지 않는 부분을 따로 정리했기 때문에 누락된 부분이 많습니다. TCPSCHOOL에 정리된 내용을 수정 변경해서 작성하였습니다. 1. 자바(Java)란? 1-1 자바? Java는 객체지향언어로 개발된 프로그래밍 언어이다. Java는 JVM(Java Virtual Machine)을 사용하여 어느 운영체제에서나 같은 형태로 실행될 수 있다. 1-2 자바 프로그램의 실행과정 .java -컴파일러-> .class → 실행 1-3 자바 프로그램 주석(comment) 코드에 대한 이해를 돕는 설명을 적거나 디버깅을 위해 작성하는 메모이다. 자바 컴파일러는 주석은 무시하고 컴파일하기 때문에, 실제 결과에 아무런 영향을 주지 않는다. // 한 줄 주석은 "//"을 사용 /* 여러 줄 주석을 사용할 때는 "/*..

231201 WEB - JSP5 [내부링크]

3) session HTTP 프로토콜은 요청/응답 구조로 되어 있어 서버가 요청에 대한 응답을 전송하고 나면 연결이 끊어지게 됨. 따라서 클라이언트의 정보가 유지되어야 할 필요가 있는 경우를 위해 가상 연결이라는 개념의 세션이 등장. 클라이언트의 세션 정보(연결정보)를 저장한 객체 → 연결이 되어 있으면 페이지 상관없이 값이 유지 세션 기억장소가 삭제되는 경우 사용자가 사용하는 브라우저를 모두 닫았을 경우 - 사용자가 세션 ID를 잃어버림 사용자가 서버에 접근을 세션 유지 시간에 의해 30분동안 하지 않았을 경우 사용자가 로그아웃(세션삭제명령) - 세션 기억 장소 삭제 jsp1/session.jsp 세션 ID : 세션 만든 시간 : 세션 마지막 접근 시간 : 세션 유지 시간 : 초 세션 유지 시간 변경 ..

231201 Cloud [내부링크]

EC2 서버 워드프레스 설정 워드프레스는 웹 사이트를 간단히 만들 수 있는 프로그램 웹 서비스 프로그램, PHP, DB가 필요 웹 서비스 프로그램 : Apache, DB : MariaDB ※LAMP : Linux Apache MariaDB PHP 순서 EC2 인스턴스 생성 인스턴스 원격접속(MobaXterm) 워드프레스 설정 워드 프레스에 필요한 요소가 있는지 확인 rpm -qa http php mariadb-server → 입력 시 아무 내용이 나오지 않으면 설치가 되어 있지 않음을 뜻함. 설치 필요 패키지(프로그램 설치) sudo yum -y install httpd php php-mysqlnd mariadb-server 아파치 웹 서비스 프로그램 시작 systemctl status httpd → 동..

231130 Java [내부링크]

생성자 기본 생성자 package test5_2; public class Person { String name; float height; float weight; //생성자 //기본생성자 //멤버 변수에 각 자료형이 가지고 있는 기본값으로 초기화시켜줌 Person(){} //일반 메서드 void show() { System.out.println("이름 : " + name); System.out.println("체중 : " + height); System.out.println("신장 : " + weight); } } package test5_2; public class Person_Main { public static void main(String[] args) { //객체(인스턴스) 생성 : 기본생성자 ..

231130 WEB - JSP4 [내부링크]

3. 내장객체(implicit object) form 태그의 속성 method="post"일 경우 request.setCharacterEncoding("utf-8"); 작성해줘야 한글이 깨지지 않음. 문자형을 숫자로 변환 기본적으로 숫자도 문자형으로 표현하기 때문에 자료형을 변경하기 위해서는 아래와 같이 작성해줘야함 String age = request.getParameter("age"); int age1 = Integer.parseInt(age); 1) request 배열이 들어가면 for와 함께 사용됨 jsp1/for.jsp 취미 : 등급 :

231129 Java [내부링크]

인스턴스 복습 package test5_1; //설계만 해놓은 클래스 public class Score { String name; //이름 int kor, math, eng; //점수 //멤버 변수에 저장된 데이터값을 출력해주는 메서드 void show() { System.out.println("이름 = " + name); System.out.println("국어점수 = " + kor); System.out.println("수학점수 = " + math); System.out.println("영어점수 = " + eng); } } package test5_1; public class Score_Main { public static void main(String[] args) { //객체(인스턴스) 생성 : ..

231129 DB [내부링크]

단일 행 함수 - 변환 함수, 제어 흐름 함수, 시스템 정보 함수 변환 함수 date_format(날짜, 형식) : 날짜를 형식에 맞게 출력하는 함수 select date_format(now(), '%Y-%M-%d') as "Now"; 날짜 형식 요소 %Y : 년도를 4자리 숫자로 표현, %y : 년도를 2자리로 표현 %M : 월을 영문 풀네임으로 표현 %b : 월을 영문 약자로 표현 %m : 월을 2자리로 표현 %c : 월을 2자리 숫자로 표현하되 10보다 작을 경우 한자리로 표현 %d : 일을 2자리 숫자로 표현 %e : 일을 2자리 숫자로 표현하되 10보다 작을 경우 한자리로 표현 %W : 요일을 영문 풀네임으로 표현, %a : 요일을 영문 약자로 표현 %H : 시간을 24시간으로 표현 %h : 시..

231128 WEB - JSP3 [내부링크]

※웹 서버 동작 과정 html 사용자(유저, 클라이언트)가 브라우저에 URL을 입력 : http://localhost:8080/webProject/html2/test2.html localhost:8080 서버에 test2.html 페이지를 요청 → 웹 서버 전달 → 웹 서버 안에 test2.html 페이지 찾기 → 찾은 페이지를 사용자에게 전달(응답) ∴사용자가 요청하면 서버가 찾아서 사용자에게 응답 jsp 1 사용자(유저, 클라이언트)가 브라우저에 URL 입력 : http://localhost:8080/webProject/jsp1/form1.jsp localhost:8080 서버에 form1.jsp 페이지를 요청 → 웹 서버(아파치) 전달 → 웹 서버 안에 form1.jsp 페이지 찾기 → .jsp는 ..

231127 WEB - JSP2 [내부링크]

JSP 웹 서버의 동작원리 (HTML, JSP) HTML 동작원리 사용자(유저, 클라이언트)가 브라우저에 URL을 입력 : http://localhost:8080/webProject/html2/test2.html localhost:8080 서버에 test2.html 페이지를 요청 → 웹 서버 전달 → 웹 서버 안에 test2.html 페이지 찾기 → 찾은 페이지를 사용자에게 전달(응답) ∴사용자가 요청하면 서버가 찾아서 사용자에게 응답 사용자(유저, 클라이언트)가 브라우저에 URL 입력 : http://localhost:8080/webProject/jsp1/form1.jsp localhost:8080 서버에 form1.jsp 페이지를 요청 → 웹 서버(아파치) 전달 → 웹 서버 안에 form1.jsp 페..

231127 Java [내부링크]

객체 : 존재하거나 생각할 수 있는 것. 인간이 생각하고 표현할 수 있는 모든 것이 객체 객체지향기법 : 실세계의 문제를 사람이 생각하는 방식대로 자연스럽게 표현(모델링)하여 컴퓨터로 옮기는 방식 객체화한다 : 메모리에 변수와 함수를 배치하고 사용 클래스 : 클래스에 포함되는 요소. 멤버(멤버 변수, 멤버 함수)라고도 함. 설계도 클래스 기본형식 class 클래스명 { 멤버 리스트(변수와 함수) 속성(변수) 작성 기능(메서드) 작성 }; ※패키지이름은 소문자, 클래스 이름은 대문자, 변수와 메서드 이름은 소문자로 시작하여 중간에 새 단어로 대문자+소문자 인스턴스(객체) 실제로 사용할 수 있도록 생성된 클래스. 클래스에 main() 함수 포함 public class Student1 { int student..

231124 DB [내부링크]

substr(문자열, 시작위치, 반환할문자수) : 문자열의 일부분을 반환해주는 함수. 문자열을 시작위치부터 반환할 문자수만큼 반환함. select substr('대한민국만세', 3,2); select last_name, substr(last_name, 1,2) from employees; == select last_name, left(last_name,2) from employees; select last_name, right(last_name,2) from employees; == select last_name,substr(last_name,-2, 2) from employees; 단일행함수 - 숫자, 날짜 함수 숫자 함수 round(숫자, 반올림할 자리) : 숫자를 반올림할 자리까지 반올림을 해주는 ..

231124 Cloud [내부링크]

[ec2-user@ip- ~]$ history 넣었던 명령어를 볼 수 있다. 1 sudo yum update -y 2 sudo yum install -y httpd 3 systemctl status httpd 4 systemctl start httpd 5 sudo systemctl start httpd 6 systemctl status httpd 7 history ※무결성 점검 프로그램 tripwire 한 줄 삭제 history -d 1 [ec2-user@ip- ~]$ history -d 1 [ec2-user@ip- ~]$ history 1 sudo yum install -y httpd 2 systemctl status httpd 3 systemctl start httpd 4 sudo systemctl ..

231123 Java [내부링크]

ex1) 한 개의 정수를 매개변수로 입력 받아서 입력값이 양수, 음수, 0인지 문자열로 출력하는 함수를 정의하고 main 함수에서 호출하는 프로그램 작성 public static String func(int num) { String result; if(num>0) { result="양수"; } else if (num==0) { result="0"; } else { result="음수"; } return result; } public static void main(String[] args) { func(10); String result1 = func(10); System.out.println(result1); 또는 public static String func(int num) { if(num>0) { re..

231123 DB - JOIN과 단일행함수 [내부링크]

join 컬럼 별칭(alias) SQL1> select 컬럼1, 컬럼2,... from 테이블 A join 테이블 B on 테이블 A.컬럼= 테이블B.컬럼 SQL2> 컬럼명 앞에 테이블명을 접두어로 붙여서 컬럼의 소속을 밝힘 → 성능 향상 select 테이블A.컬럼1, 테이블A.컬럼2,..., 테이블B.컬럼1, 테이블B.컬럼2,... from 테이블A join 테이블 B on 테이블A.컬럼명 = 테이블B.컬럼명 order by 테이블A.컬럼명; SQL3> 테이블 alias 활용. 컬럼명 앞에 테이블 alias 접두어를 붙힘 → 성능 향상 select * from 첫번째 테이블 이름 별칭1 두번째 테이블 이름 별칭2 where 조건 join 추가 문법(오라클) inner join(내부조인) : 조인조건을 ..

231122 Java [내부링크]

함수 = 메소드 함수 유형 4가지 함수 내에서 처리한 결과값을 반환할 필요가 없고, 함수 내에서 수행에 필요한 데이터값을 넣어주지 않아도 되는 경우 함수 내에서 처리한 결과값을 반환할 필요가 없고, 함수 내에서 수행에 필요한 데이터값을 넣어주어야 하는 경우 함수 내에서 처리한 결과값을 반환할 필요가 있고, 함수 내에서 수행에 필요한 데이터값을 넣어주어야하는 경우 함수 내에서 처리한 결과값을 반환할 필요가 있고, 함수 내에서 수행에 필요한 데이터값을 넣어주지 않아도 되는 경우 ※함수 안에 함수를 만들수 없다. 유형 1. 반환값이 없고, 매개변수가 없는 경우 public static void add() { int num1 = 10; int num2 = 20; int result = num1 + num2; S..

231122 WEB - CSS9, JSP1 [내부링크]

*플렉스 레이아웃을 활용해 항상 중앙에 표시 * {margin: 0px; box-sizing: border-box;} body {background : url(img/bg5.jpg) no-repeat left top fixed; background-size: cover; display: flex; /* 왼쪽 오른쪽 가운데 정렬 */ justify-content: center; /* 위 아래 가운데 정렬 */ align-items: center; /* 최소 높이 */ min-height: 100vh;} button {background-color: #ccc; font-size: 1.2em; padding: 1em 2em; border: none; border-radius: 5px; box-shadow: 1..

231120 WEB - CSS8 [내부링크]

반응형 웹 연습 DOCTYPE html> CSS2/ex3.html * { margin:0;padding:0; } body {background: #fff;} a {text-decoration: none;} nav a:link, a:visited {color: #fff;} nav a:active {color: yellow;} h1 {font-size: 1.8em;} h2 {font-size: 1.3em;} p {font-size: 1.3em; line-height: 2.5;} li {font-size: 1em; line-height: 2;} /* 모바일 - 767px 이하 */ #container {width: 100%; margin: 0 auto;} header {width: 100%; height: 3..

231120 Java [내부링크]

Q1. operator 값이 +,-,*,/인 경우 사칙 연산을 수행하는 프로그램을 if-else if문과 switch-case문을 사용해 작성 int num1 = 10; int num2 = 2; char operator = '+'; int num1 = 10; int num2 = 2; char operator = '+'; if (operator=='+') { System.out.println("num1 + num2 = " + (num1 + num2)); } else if (operator=='-') { System.out.println("num1 - num2 = " + (num1 - num2)); } else if (operator=='*') { System.out.println("num1 * num2 =..

231117 WEB - CSS7 [내부링크]

시맨틱(semantic) 태그 문서 내용에는 영향을 주지 않으면서 웹 브라우저가 문서 구조를 파악하는 데 중요한 역할을 하는 태그 연습1) 생략 시맨틱태그 : 웹문서 구조를 만듬 (화면상에서는 별 차이가 없음.) 헤더영역 메뉴(내비게이션)영역 내용을 담는 태그 독립적 내용 담는 태그 내용영역 사이드바 푸터영역 * {margin:0px; padding: 0px; box-sizing: border-box;} /* 전체영역 밖여백 0, 안여백 0, box-sizing : border-box */ a {text-decoration: none;} /* a 밑줄 없앰 */ ul {list-style: none;} /* ul 목록 스타일 none */ #contaniner {margin: 0px auto; backg..

231117 Cloud - AWS Apache Tomcat Server(여기서부터 수정) [내부링크]

Apache Tomcat Server 새로운 인스턴스 생성 이름 : ApacheTomcat Ct ↔ Web(Apache) ↔ WAS(Tomcat) ↔ DB 이름 외 모든 설정은 이전 시간에 했던 것과 똑같이 Tomcat은 8080포트를 기본적으로 사용. EC2 대시보드 네트워크 및 보안- 보안그룹 - web - 인바운드 규칙 편집 그림 3 규칙 추가 클릭 사용지 자정 TCP, 포트번호 8080 수동으로 입력, 소스 유형 Anywhere-IPv4 섵개 포트번호 변경 불가, 소스 유형 Anywhere-IPv4 선택 MobaXterm 사용해서 원격 접속. Session → New Session → SSH Remote host : EC2 인스턴스 퍼블릭 IPv4주소 Advanced SSH settings 탭 →..

231116 Java [내부링크]

for문 반복횟수를 알고 있을 때 주로 사용 형식: for(초기화변수(초기값) ; 조건식(반복횟수) ; 증감연산자 ) {반복할 내용} ex1) "안녕하세요" 10번 출력 int i; for(i=1; i

231116 WEB - CSS6 [내부링크]

연결선택자 둘 이상의 선택자를 연결해서 스타일이 적용될 요소가 어느 부분인지 지정. 선택자를 둘 이상 조합하므로 '조합 선택자','콤비네이션 선택자','콤비네이션 셀렉터'등으로 부름. *하위선택자와 자식선택자 특정 요소를 기준으로 그 안에 포함된 요소를 하위 요소라고 함. 현재 요소를 기준으로 바로 한 단계 아래 요소는 자식 요소, 그 자식 요소의 한 단계 아래는 손자 요소라고 함 하위선택자를 사용하면 부모 요소에 포함된 하위 요소를 모두 선택하여 자손 선택자라고도 함. 즉, 자식 요소뿐만 아니라 손자 요소, 손자의 손자 요소 등 모든 하위 요소까지 적용. ex) section p {.....} section 상위 요소, p 하위 요소 자식선택자는 하위 선택자와 다르게 자식 요소에만 스타일을 적용하는 선..

231115 Java [내부링크]

반복문 프로그램 내에서 동일한 명령을 지정 횟수만큼 반복하여 수행하도록 제어하는 명령문 *반복문에서 지켜야하는 규칙 1. 초기화변수 : 반복을 시작하는 값을 저장해 놓은 변수 = 초기값 2. 조건식 : 반복횟수를 정한다.(조건을 만족할 때까지 반복 수행 → 조건이 만족하면 계속해서 반복을 수행) 조건식이 거짓이면 반복할 내용을 수행하지 않고 while문을 빠져나간다. 3. 증감연산자 : 반복횟수가 순차적으로 늘어나거나 줄어들어야 함 ※증감연산자 : 하니씩 순차적으로 증가, 감소시키는 연산자 1. 단항으로 이루어진 증감연산자 : a++, ++a, a--, --a 2. 대입 연산자 : a = a + 1 → a +=1 *while문 반복횟수를 모르거나 무한반복 시켜야하는 경우 주로 사용 형식) while(조건..

231115 DB - ERD만들기와 JOIN [내부링크]

HR 스키마 - ERD 만들기 ERD(Entity-Relationship Diagram) 개체(테이블)와 개체 사이의 관계도 데이터 모델링 테이블들을 설계해서 생성하는 일련의 과정 데이터 모델링 순서 요구사항 수집 및 분석 개념 모델링 주요 개체(테이블)와 관계를 결정하는 단계. 테이블, 컬럼, 테이블과 테이블의 관계 결정. 결과물 → ERD(뼈대) 논리 모델링 개념모델링의 결과를 구체화 시키는 단계. 제약조건, 데이터타입, 컬럼 사이즈 등 결정. 결과물 → 구체화된 ERD 물리 모델링 : 논리모델링의 결과를 토대로 테이블 차트 및 생성. 작업을 하는 단계 결과물 → 테이블 차트, 테이블 생성 역모델링? 현재 운영되고 있는 테이블을 토대로 구체화된 ERD를 그리는 작업 메뉴 [Home] - [Models..

231114 WEB - CSS5 [내부링크]

웹 요소 위치 지정 *웹 요소의 위치를 정하는 left, right, top, bottom left : 기준 위치와 요소 사이에 왼쪽으로 얼마나 떨어져 있는지 지정 right : 기준 위치와 요소 사이에 오른쪽으로 얼마나 떨어져 있는지 지정 top : 기준 위치와 요소 사이에 위쪽으로 얼마나 떨어져 있는지 지정 bottom : 기준 위치와 요소 사이에 위쪽으로 얼마나 떨어져 있는지 지정 *배치 방법을 지정하는 position position : static; : 문서의 흐름에 맞춰 배치. 기본값 position : relative; : 위치값을 지정할 수 있다는 점을 제외하면 static과 같음 position : absolute; : relative값을 사용한 상위 요소를 기준으로 위치를 지정해 배치 ..

231113 WEB - CSS4 [내부링크]

*border-radius 둥근 테두리 border-radius: 크기 또는 백분율 크기 : 반지름 크기를 px, em의 단위와 함께 수치로 표시 백분율 : 핸재 요소의 크기를 기준으로 비율(%)로 지정 생략 생략 실습1) p.259 생략 #container{ width: 600px; border: none; /* 왼쪽 오른쪽 가운데 => 밖여백 위아래 0, 왼오른쪽 자동으로 계산 */ margin :0 auto; } div{ border: 1px dotted #222; padding: 20px; margin:20px; } table, th, td{ /* 1px 실선 #ccc; 테이블 테두리선 합치기 */ border: 1px solid #ccc; border-collapse: collapse; } th..

231113 Java [내부링크]

switch case에서 하나의 변수나 수식에 대한 다양한 조건을 검사할 때 사용 ex1) 숫자를 입력받아 홀수와 짝수 구분 Scanner sc = new Scanner(System.in); System.out.println("정수 입력"); int a = sc.nextInt(); a = a%2; switch(a) { case 0 : System.out.println("짝수"); break; case 1 : System.out.println("홀수"); break; } 단 이렇게 했을 때 음수가 나올 때는 결과값이 제대로 나오지 않는다. System.out.println("정수 입력"); int a = sc.nextInt(); a = a%2; switch(a) { case 0 : System.out.pr..

자바 프로그램에서 오류가 나는 대표적인 이유 [내부링크]

자바 프로그램에서 오류가 나는 대표적인 이유는 1. 구문 오류(Synatax Errors) 프로그램의 구문이 올바르게 작성되지 않았을 때 발생한다. 괄호 누락, 세미콜론 누락, 잘못된 변수 이름 등이 포함된다. 2. 런타임 오류(Runtime Errors) 프로그램의 구문이 올바르게 작성되지 않았을 때 발생한다. 예를 들어 0으로 나누는 시도, 배열 경계를 벗어나는 접근, 변수의 초기화 문제 등이 포함된다. 3. 논리 오류(Logic Errors) 프로그램이 실행되지만 의도한 대로 동작하지 않는 경우 발생한다. 잘못된 계산, 조건문 논리의 오류, 함수 호출 순서의 오류 등이 포함된다. 4. 자원 부족 오류(Resource Errors) 자원 부족으로 인해 발생하는 오류로, 메모리 부족, 파일 접근 권한 ..

231110 Cloud - AWS EC2 인스턴스 웹서버 동작 및 파일 업로드 [내부링크]

더보기 EC2 인스턴스를 만들고 간단히 동작시키는 방법을 알아보았다. 계속해서 웹 서버 Apache와 Nginx를 이용하여 동작시키는 방법과 파일 업로드하는 방법에 대해 알아보자 AWS EC2 인스턴스 웹 서버 동작(Apache) 새로운 인스턴스 생성 위의 이전 글(231106 cloud)을 참고하여 Web이라는 인스턴스를 생성 ※이전 시간과 다른 점은 이미 네트워크 설정에서 만든 것이 있으므로 그림1을 참고 Select existing security group(또는 기존 보안 그룹 선택)을 선택 일반 보안 그룹 web, ssh 선택 웹 서버로 동작하기 위해서는 웹 서버용 프로그램이 필요 아파치 웹 서비스 프로그램 설치 ec2-user 계정은 일반 사용자 계정이므로 프로그램 설치, 계정 관리 등 관리자..

231110 WEB - CSS3 [내부링크]

목록 스타일 *메뉴 형태로 회사소개 도서 자료실 동영상 강의 생략 li {list-style: none;border: 1px solid black; width: 300px; padding: 20px 40px; margin: 5px;} 회사소개 도서 자료실 동영상 강의 생략 표 스타일 상품 구성 선물용과 가정용 상품 구성 용도중량, 개수, 가격 선물용3kg11~16과35,000원 5kg18~26과52,000원 가정용3kg11~16과30,000원 5kg18~26과47,000원 table {border: 1px solid black; caption-side: bottom; width: 500px; border-collapse: collapse; border-spacing: 10px 30px;} th, td {..

231109 Java - 조건문3 [내부링크]

조건문 if if(조건식) {수행문} if(조건식) {수행문1} else{수행문2} if(조건식) {수행문1} else if{수행문2} else if{수행문3} ... else {수행문4} if(조건식) {수행문1 if(조건식2) {수행문} } else {조건식 2의 거짓일때 수행문} else {조건식1의 거짓일 때 수행문} System.out.println("나이 입력"); int age = sc.nextInt(); int charge = 0; if(age b) ? a : b; 간단한 조건문의 경우 조건연산자를 사용하는 것이 더 바람직할 수 있다. switch문 하나의 변수나 수식에 대한 다양한 조건을 검사할 때 사용 switch(변수, 수식){case 비교 기준 값:, break, default 사용..

231109 WEB - CSS2 [내부링크]

CSS 대상(태그) {속성:값;} 대상지정 : 전체선택자(*), 태그선택자, id=이름 #이름, class=이름 .이름 {color: green;} p{color: skyblue;} h1 {background-color: yellow;} #pp {color: blue;} 레드향 껍질이 붉은 빛이 돌아 레드향이라 불린다. 레드향은 한라봉과 귤을 교배한 것으로 일반 귤보다 2~3배 크고, 과육이 붉고 통통하다. 비타민 C와 비타민 P가 풍부해 혈액순환, 감기예방 등에 좋은 것으로 알려져있다. {color: green;} p{color: skyblue;} h1 {background-color: yellow;} #pp {color: blue;} .ppp {colot : purple;} 레드향 껍질이 붉은 빛이 ..

231108 Java - 탐욕 알고리즘, 조건문 2 [내부링크]

탐욕 알고리즘(Greedy algorithm) 여러 경우 중에서 하나를 결정해야할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는것 // 금액을 입력받아 화폐단위대로 분리해서 표시(5만원권, 1만원권, 5천원권, 1천원권) (단, / , % 만 사용할 것) // 187,000원을 입력받아서다면 5만원권 3장, 1만원권 3장, 5천원권 1장, 1천원권 2장. System.out.println("금액을 입력하세요."); int price = sc.nextInt(); System.out.println("입력받은 금액 " + price); int oman = price/50000; int ilman = (price%50000)/10000; int ochun = ((price%50000)%10000)/5..

231108 DB - WHERE과 ORDER BY [내부링크]

where절과 order by 절 where절 - 비교연산자 Between A and B 비교연산자 A(하한값) 이상 B(상한값)이하의 값을 비교해주는 연산자로 범위 검색시 활용. 모든 데이터 타입에 활용 가능 -- 숫자형식 : between 하한값 and 상한값 select employee_id, last_name, salary, job_id, department_id from employees where salary between 2500 and 3500; -- 날짜 : between 과거 날짜 and 최근 날짜 select employee_id, last_name, salary, hire_date from employees where hire_date between '1990-01-01' and '..

231107 WEB - HTML4, CSS1 [내부링크]

autofocus 자동적으로 커서가 가 있도록함. 문서를 불러오면 폼에서 마우스 포인트 보이기 이름 placeholder placeholder=" " : 텍스트 상자에 설명을 하고자 할 때. 설명글 아이디 readonly 수정 못하고 읽기만 가능하게 끔 ※disable 은 서버에 전달하지 않음. 사용하지 않는 것이 좋음. required 필수 조건을 제어 실습1 ex3.html에 아이디 상자에 자동 포커스, 설명글 "4자~10자 사이, 공백 없음", 이메일 필수 조건, 비밀번호 필수조건 및 "문자와 숫자, 특수 기호 포함" 설명글, 비밀번호 확인 필수 조건을 해보자 사용자 정보 아이디 이메일 비밀번호 비밀번호 확인 value 값태그 여러 줄 텍스트 상자 ex1) 선택 사항5 여러 줄 텍스트 상자 valu..

231106 Cloud - AWS 시작하기 및 EC2 인스턴스 원격접속 [내부링크]

더보기 본격적인 Cloud(AWS) 수업을 시작하기 전 AWS에 대한 기본 개념을 알아둘 필요가 있다. 사실 몰라도 상관은 없을 수도 있지만 알아두면 이해하는데 편할 것이다. *클라우드 -언제, 어디서든 인터넷을 통해 접속이 가능한 환경 -클라우드 환경은 스스로 만들 수 있고, 빌릴 수도 있으며 사업자가 제공하는 서비스를 이용하는 방법이 있음 *클라우드 컴퓨팅 -서버 및 네트워크 등 인프라 전체를 임대해 주는 서비스로, AWS 및 Azure, Google Cloud Platform이 있음 -클라우드에 구축된 인프라를 활용하는 서비스나 이를 사용하는 것을 클라우드 컴퓨팅이라고 함 -일반적으로 클라우드라고 하면 클라우드 컴퓨팅을 의미 *온프레미스 -온프레미스(on-premise)는 자사가 서버 등을 구축하는..

231106 Java - 연산자 2, 조건문 1 [내부링크]

연산자 조건연산자(삼항연산자) 조건 ? 참값 : 거짓값; int num = (5 > 3) ? 10 : 20; System.out.println(num); //조건이 참이기 떄문에 10이 출력 ※조건을 괄호로 묶어주는 습관을 가지자 //나이가 20세 이상이면 성인, 그렇지 않으면 미성년으로 출력 int age = 20; String result = (age>=20) ? "성인" : "미성년" System.out.println(result); //성인이 출력 // 직접 입력해서 결과 출력 System.out.println("나이를 입력하세요."); int age1 = sc.nextInt(); String result1 = (age>=20)? "성인" : "미성년"; System.out.println(resu..

231103 WEB - HTML3(폼 태그) [내부링크]

*폼 삽입하기 사용자의 의견이나 정보를 얻으려고 폼을 사용하는 경우가 많음. 폼을 만드는 태그 여러 폼 요소 form 태그의 속성 method="get" : 주소 표시줄에 사용자가 입력한 내용이 그대로 드러남 method="post" : 입력한 내용의 길이에 제한받지 않고 사용자가 입력한 내용도 드러나지 않음. name=" " : 자바스크립트로 폼을 제어할 때 사용할 폼의 이름을 지정(백엔드에서는 반드시 써줘야함.) action=" " : form태그 안의 내용을 처리해줄 서버 프로그램을 지정 target: action 속성에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에서 열도록 함. autocomplete="on/off" : 자동 완성 기능. 기본값은 on. 폼 요소를 그룹으로 묶는 태그 태그..

231101 DB - CRUD [내부링크]

데이터베이스 관련 용어와 테이블 만들기, 데이터 삽입, 수정, 삭제 데이터베이스 관련 용어 DBMS Data Managerment System(데이터베이스 관리 시스템)의 약자. 데이터베이스를 관리하는 시스템 또는 프로그램. DB 조직화된 정보들의 모음 또는 데이터 집합. DB는 고유한 이름을 가져야함. 객체(Object) 유무형의 정보를 가지고 있는 독립적인 실체. 종류로는 테이블, 뷰, 인덱스 등이 있음. 테이블(Table) 데이터베이스 내에서 데이터를 저장할 때 가장 많이 사용하는 객체 유형. 행과 열로 이루어져있음. 데이터(Data) 테이블과 같은 객체에 저장된 실제 정보를 의미함. 열(Column) 컬럼 또는 속성(Attribute)라고 함. 테이블에서 세로 부분, 하나의 테이블은 여러 개의 열..

231103 DB - SELECT문 [내부링크]

※MySQL에서 문자 데이터 값 검색 시 대소문자를 구분하지 않음. 데이터 조회 select * from 테이블명 [where 조건문]; -- 예시 select * from members; select * from products; select * from orders; select 컬럼1, 컬럼2,... from 테이블명 [where 조건문]; -- 예시 select member_id, member_name from members; select company, prod_name, price from products; select orde_num, order_date from orders; ※데이터 조회 시 컬럼 순서와 테이블의 컬럼 순서와 같을 필요가 없다. 출력하고 싶은 컬럼을 순서대로 작성하면 작성..

231102 Java - 연산자 1 [내부링크]

연산자 연산자에는 산술, 단항, 비교(또는 관계), 논리, 비트 등이 있다. 산술 연산자 +, -, *, /, % // ex1) int num1 = 10; int num2 = 3; int sum, sub, mul, div, mod; System.out.println("num1 = " + num1); //10 System.out.println("num2 = " + num2); //3 sum = num1 + num2; sub = num1 - num2; mul = num1 * num2; div = num1 / num2; mod = num1 % num2; System.out.println("num1 + num2 : " + sum); System.out.println("num1 - num2 : " + sub); ..

231102 WEB - HTML2(여러 파일 삽입) [내부링크]

절대참조(프로젝트를 기준) 이미지 찾기 이미지 파일을 절대 참조로 찾고자한다면,

231101 Java - Scanner 클래스 2 [내부링크]

Scanner 클래스 입력 : 키보드로 입력 받은 값을 변수에 저장 Scanner 참조변수명 = new Scanner(System.in); class명 변수명 = new class명(입력방법); 사용 class import : Ctrl + Shift + O 한 번만 선언해주면 된다. 정수 입력 : .nextInt(); System.out.println("정수를 입력해주세요."); int v1 = sc.nextInt(); System.out.println(v1 + " 입력하였습니다. \n"); 실수 입력 : .nextDouble(); System.out.println("실수를 입력해주세요."); double v2 = sc.nextDouble(); System.out.println(v2 + " 입력하였습니다..

231031 WEB - HTML 1 [내부링크]

*태그 및 단축키 태그와 단축키는 여러가지 실습을 통해서 필요에 따라 그때그때 작성할 예정. 제목을 나타내는 태그 h1이 가장 큰 제목이고, 점점 작아짐. ex) 제목1 제목2 제목3 제목4 제목5 제목6 텍스트 단락을 만드는 태그 내용 ex) 본문의 내용은 여기에1 본문의 내용은 여기에2 본문의 내용은 여기에3 줄 바꿈 편집기에서 줄을 바꾸더라도 웹 브라우저에서는 한 줄로 표시 brake를 뜻한다. ex) HTML(Hyper Text Markup Language) : 웹 문서를 만드는 언어 안녕하세요 안녕하세요 인용할 때 쓰는 태그 사용빈도는 그리 높지 않음. 인용문 내용 ex) 인용문 내용1 인용문 내용2 글자 진하게 태그 내용 글자 진하게 강조 태그 내용 기울기 태그 내용 밑줄 태그 내용 취소선 태..

231030 Java - 변수 2, Scanner 클래스 1 [내부링크]

변수 자료형 변환(Type Cast) 변수 내의 저장된 데이터의 자료형을 변경시킨다. 1) 자동 형변환 : 작은 크기의 자료형을 큰 크기의 자료형으로 저장할 경우 2) 명시적 형변환 : 변경할 자료형을 변수 앞에 정확하게 표시 ex) int a = 100; byte b (byte) a; 3) 접미사 형식 : 리터럴 상수일 경우 접미사 형태로 변환 가능 ex) float b = 1.0f; 문자(Character) 문자(char 2byte)는 글자 하나, 데이터 값은 작은 따옴표 안에 ex) char ch = 'A'; 인코딩(encoding) : 문자를 정해진 코드값으로 변환 디코딩(decoding) : 정해진 코드값을 문자로 변환 유니코드(unicode) 전 세계의 모든 문자를 처리할 수 있도록 만든 표준..

231027 WEB - JSP [내부링크]

웹 페이지를 만들기 프론트엔드 개발 : 웹 브라우저에서 실행되는 모든 언어 html, css, java script(J Query,react,..) 백엔드 개발 : 웹 서버에서 실행되는 언어 Java, JSP, 스프링프레임워크,... → DBMS 연결 JSP(java Server Page) 1. JDK 설치 ㄴ1.8ver, 11ver, 17ver 2. 웹 서버 (Web App Server, WAS) 설치 : 아파치 톰 9ver(https://tomcat.apache.org/download-90.cgi) ㄴ 설치 Server shutdown port : 8005 ㄴ HTTP/1.1 Connector Port : defualt ㄴ컴퓨터 서버 접속 : http://localhost:8080 ㄴ웹 서버에서 제공..

231027 DB - MySQL 설치 [내부링크]

MySQL 다운로드와 설치 MySQL 다운로드 https://downloads.mysql.com/archives/installer/ 접속 후 OS및 버전 확인해서 다운로드 MySQL 설치 ※자세한 내용은 교재 참고할 것 Setup Type - Custom- MySQL Server 8.0, MySQL Workbench 8.0, Samles and Examples 8.0-...-Type and Networking Config Type에는 Development Computer(MySQL 외에도 여러 프로그램을 사용하는 컴퓨터), Server Computer(웹 서버 등의 중요한 서버가 가동되는 컴퓨터에 MySQL을 설치할 때 선택. MySQL이 최소한의 메모리만 사용) Dedicated Computer(MyS..

231026 DB - DB와 DBMS [내부링크]

DB와 DBMS 데이터 저장 매체의 예시 전자스프레드시트, 캐비넷, DB DB 특징 DBMS로 관리되는 데이터의 집합 대용량의 데이터를 저장하고 관리하기 용이 암호화 등의 보안 기능이 제공 여러 사용자 및 응용 프로그램이 동시에 사용 가능 데이터 검색, 삽입, 수정, 삭제가 편리 대부분의 기업들이 DB를 사용하여 데이터를 저장관리 DB란? 조직화된 정보들의 모음, 데이터의 집합, 데이터의 저장공간 자체를 의미 DBMS(Database Management System)란? 데이터베이스 관리 시스템 데이터의 집합인 데이터베이스를 관리해 주는 프로그램 데이터베이스 생성부터 데이터베이스의 유지, 저장 공간, 백업/ 복구 등 관리 데이터베이스로부터 데이터 검색, 데이터 삽입, 데이터 수정, 데이터 삭제 작업을 도..

231026 Java - 변수 1 [내부링크]

System.out.println(" "); 큰 따옴표 안의 내용을 화면상 출력한다. 변수 변수(variable) 데이터를 담아둘 수 있는 메모리 공간, 컴퓨터 내부에 문자를 담아주는 것. 값은 언제든지 변경이 가능하며 값이 반드시 들어가 있어야한다. 변수 선언 형식 데이터타입 변수명 = 값; 데이터타입(자료형) 변수명(찾아갈 메모리 공간 주소, 임의로 지어주면 됨) ※참고 = : 대입 연산자(뒷쪽에 있는 값을 변수명에 넣는다.) == : 같다 연산자 변수명 작성 규칙 1) 숫자로 시작할 수 없다. 2) 특수문자는 $와 _만 사용할 수 있다. 3) 예약어는 사용할 수 없다. 데이터 타입 변수 선언은 한 번만 가능하다.(데이터 타입(자료형)은 붙이지 않는다.) 선언한 변수를 출력하고 싶다면 아래에 그림4와..

231025 Java - Java란? [내부링크]

-Java 프로그래밍 언어 -Java언어의 특징 객체 지향 프로그램 언어(프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것 -Java Bitecode 자바 컴파일러가 생성하는 코드, 특정 하드웨어에서 직접 수행할 수 있는 기계어가 아니라 자바 가상 머신에 의해 해석될 수 있는 중간 코드 개념 -JVM(Java Virtual Machine) 자바 어플리케이션을 클래스로더를 통해 읽어 들여 자바 API와 함께 실행하는 것. 즉, 자바 바이트코드로 컴파일된 프로그램을 컴퓨터에서 실행 가능하게 해주는 가상 머신 -JRE(Java Runtime Environment) 자바 어플리케이션을 실행할 수 있도록 구성된 배포판 -JDK(Ja..

231025 WEB - WEB 표준 [내부링크]

WEB 표준 "HTML(Hypertext Markup Language)" 웹 페이지와 그 내용을 구조화하기 위해 사용하는 코드이다.

MySQL 2 [내부링크]

테이블의 생성 SQL> CREATE TABLE 테이블명; 우선 명령프롬프트를 실행한 후 MySQL 접속한 후 명령프롬프트에 mysql -u root -p 입력한다. 다음으로 어떤 스키마를 사용할지를 지정해야한다. USE organize_test; 테이블을 생성하면 된다. DB 장점은 스프레드시트와 달리 컬럼에 대한 내용을 설정할 수 있다. 즉, 반드시 설정한 내용만을 입력받을 수 있다. 먼저 스키마를 생성하기는 아래와 같다. mysql> use organize_test Database changed mysql> CREATE TABLE topic( -> id INT(11) NOT NULL AUTO_INCREMENT, -> title VARCHAR(100) NOT NULL, -> description TEX..

MySQL 1 [내부링크]

스프레드시트와 관계형 데이터베이스의 공통점과 차이점 공통점 : 데이터를 표의 형태로 표현해주는 것이다. 차이점 : 컴퓨터 언어(SQL)를 통해서 제어할 수 있느냐 없느냐인 점이다. 즉 코드를 통해서 데이터를 조작할 수 있느냐 없느냐이다. MySQL(관계형 데이터베이스) 구조 구성요소 : 표(table) , 데이터베이스(database, shema), 데이터베이스 서버(database server) MySQL 서버 접속 DB를 사용했을 때 얻을 수 있는 여러가지 효용이 있는데 첫번째로 보안이다. 파일은 운영체제가 해킹당하거나하면 그냥 수정이 가능하다. DB는 자체적인 보안 체계를 가지고 있기 때문에 데이터를 보관할 수 있다. 두번째로 권한이다. 사용자 A는 모든 테이블과 모든 스키마에 대해서 읽기, 쓰기,..