| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- 슬림3
- 라이젠노트북
- 탑마이장인
- 티모장인
- SQL
- 자바초보
- 코딩일기
- 개발자준비
- 데이터베이스 JOIN
- IdeaPad 3 15ABA7
- 오라클 DELETE
- 코딩입문
- 데이터베이스 집합연산자
- 데이터베이스기초
- 레노버 아이디어패드 슬림3
- 레노버 슬림3
- 데이터베이스
- 코린이
- 가성비 노트북
- lenovo ideapad 3
- 자바입문
- 오라클UPDATE
- 오라클
- 레노버 노트북
- 데이터베이스 DELETE
- 코딩초보자
- 데이터베이스 UPDATE
- 데이터베이스 기초
- 데이터베이스 예제
- 사무용 노트북
- Today
- Total
목록전체 글 (97)
스퐁지송 개발노트
public class Main { public static void main(String[] args) { String jun = "Hello junseok"; System.out.println(jun); //int배열 : int를 여러개 담을 수 있는 배열 int[] intArray = new int[]{1,2,3,4,5}; System.out.println(Arrays.toString(intArray)); //아무 값이 없는 5개의 배열방을 가진 정수배열 int[] intEmptyArray = new int[5]; System.out.println(Arrays.toString(intEmptyArray)); int[] intArray2 = new int[] {1,2,3,4,5}; System.out...
정수자형 public static void main(String[] args) { short s = 1; System.out.println(s); //정수 int a = 3; System.out.println(a); long b = 4; System.out.println(b); //소숫점 float f = 5.5F; System.out.println(f); //좀더 큰 소숫점을 나타내고싶을때 double d = 5.5; System.out.println(d); } short : 2btye로 표현할 수 있는 정수형 자료형 int : 4byte로 표현할 수 있는 기본정수자료형 가장많이 사용 long : 8byte로 표현할 수 있는 정수형 float : 소숫점을 표현하는 정수형 (뒤에 F를 붙여줘야함) dou..
public class Main { public static void main(String[] args) { //변수 int number = 5; System.out.println(number); String jun = "Hello jun"; System.out.println(jun); //상수 final int finalNumber = 1; //finalNumber = 2; -> 상수는 다른 값으로 재할당이 되지않는다 System.out.println(finalNumber); jun = "Good Bye jun"; // -> 변수는 다른 값으로 재할당이 가능 System.out.println(jun); } 변수 : 처음 선언된 할당값을 재할당하여 값을 변경가능 상수 : 처음 선언된 할당값을 변경불가능 ..
Java 언어는 객체 지향적 프로그래밍 언어이다. Java의 특징 좋은 안정성 때문에 꾸준히 기업영 소프트웨어 기본 언어 및 환경으로 채택 오랜기간 개발된 오픈소스 라이브러리가 많다 다양한 사람들이 개발하고 공유하는 방대한 라이브러리를 사용하면 개발 시간을 단축할수 있으며 안정적으로 프로그램을 만들수 있다 Java의 한계 정해진 Java의 문법때문에, 더 유연하고 견고한 코드를 만들기 어렵다 자바의 단점을 극복한 언어 중 대표적인 것으로는 Kotlin, GoLong등이 있다 그럼에도 불구하고... 레퍼런스(인터넷 검색결과)가 많아 배우기 가장 쉬운 객체지향 언어이다 언어가 다르더라도 실행환경은 Java의 구동환경인 JVM에서 동작하는 언어들이 많다 대표적으로 Scala, Kotlin이 있다 안정성이 중요..
1. 데이터 모델링의 이해 데이터베이스의 모델링은 "현실 세계를 단순화하여 표현하는 기법"이다. 이처럼 현실세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형이라고 할 수 있으며 모델링은 이런 모델을 만들어가는 일이라고 할 수 있다. 1. 모델링이 갖춰야 할 조건 현실세계를 반영해야 한다. 단순화하여 표현해야 한다. 관리하고자 하는 데이터를 모델로 설계한다. 현실 세계를 반영한 모델을 단순화하여 표현한 것이다. 2. 모델링의 특징 추상화 : 현실 세계를 일정한 형식으로 표현하는 것이다. 즉, 아이디어나 개념을 간력하게 표현하는 과정 단순화 : 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미이다. 명확화 : 불분명함을 제거하고 명확하게 해석할 수 있도록..
프로젝트 우클릭 -> properties -> java Build Path -> resources -> Excluded -> Edit -> 아래쪽 add에서 ** 추가
지금은 해결이 됬지만 Log4j가 임폴트되지않는 오류가 있었음 pom.xml에서 runtime 이라는 코드를 주석처리하면됨
단순 질의응답 게시판 Question.java package com.example.sb; import java.time.LocalDateTime; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Question { @Id @GeneratedValue(strategy = Genera..
https://spring.io/tools Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform. spring.io sts 다운 - 윈도우 64버전 다운 https://www.oracle.com/java/technologies/downloads/#jdk17-windows Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.or..
mail.jar 다운 https://mvnrepository.com/artifact/javax.mail/mail/1.4.7 activaion.jar 다운 https://mvnrepository.com/artifact/javax.activation/activation/1.1.1 Maven Repository: javax.activation » activation » 1.1.1 The JavaBeans(TM) Activation Framework is used by the JavaMail(TM) API to manage MIME data javax.activation activation 1.1.1 // https://mvnrepository.com/artifact/javax.activation/activat..
server에 수정 > test.jsp 회원관리 시스템 자바빈, vo(value object), DTO(data transfer object) :데이터 보관(전달)을 하는 객체 DAO(data access object) : DB접근을 위한 객체 package com.study.DAO; //싱글톤 public class MemberDAO { //싱글톤은 생성자가 private //그래야 다른 class나 등등에서 객체생성을 못함 private MemberDAO() { } //객체생성 private 다른 곳에서 수정을 못하게 방지 //static : 정적 객체로 생성(메모리에 공유가 됨) private static MemberDAO instance = new MemberDAO(); //생성한 객체를 호출(리..
의존성 주입(Dependency Injection) 의존성 주입은 Spring에서 아주 중요한 개념이자 장점이다. Bean 객체를 생성할 때 Bean객체가 관리할 값이나 객체를 주입하는 것을 의미한다. Bean객체 생성 후 Bean객체가 가질 기본 값을 자바 코드로 설정하는 것이 아닌 Bean을 정의하는 xml코드에서 정의하는 개념이다. Setter 메서드를 통한 주입 Bean을 정의 할 때 Bean객체가 가지고 있을 기본 값을 생겅자가 아닌 Setter메서드를 통해 주입할 수 있다
세션 session 세션 생성하기 makeSession.jsp 세션 생성 페이지 세션 보기 모든세션 보기 세션정보 보기 세션 제거하기 세션 출력하기 showSession.jsp 세션 출력 페이지 id : pw : age : 세션 한번에 모두 출력하기 showSessionAll.jsp 모든 세션 한번에 출력해주는 페이지 세션정보 출력하기 sessionInfo.jsp 세션 정보 출력 페이지 true, 아니면 False createDate.setTime(createTime); lastDate.setTime(lastTime); %> 세션 id : 세션 생성 시간 : 세션 생성 날짜 : 세션 마지막 엑세스 시간 : 세션 마지막 엑세스 날짜 : 웹 페이지에 머문 시간 : 세션 유효시간 : 새 세션인지? : 세션 제..
서버측에서 생성 => 보관은 클라이언트(pc)에 저장, => 서버에 부담을 줄여준다. 기본형식) 쿠키를 생성하는 페이지 쿠키 출력해보기 쿠키 출력 페이지 유효기간이 길에 설정되서(1년) -1로 뜸 쿠키지우기 쿠키 삭제 페이지 showCookie.jsp에서 만든 id 라는 쿠키가 없어진것을 볼 수 있음 생성한 쿠키 모두 삭제하기 쿠키 삭제 페이지 쿠키보기 모든 쿠키가 삭제되서 오류페이지가 떠야함
index 스파게티 코드 숫자 : mvc 모델1 숫자 : mvc 모델2 숫자 : 스파게티코드 짝수입니다. 홀수입니다. mvc1 : 하나의 jsp안에 자바코드와 html코드가 있음 controller : 자바파일(서블릿) veiw : html(jsp) mvc2 : 자바코드는 서블릿(Mvc.java) = controller html코드는 jsp(mvc2.jsp) = View result변수 : model Mvc.java (서블릿) = controller protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int num = Integer.parseInt..
정보저장용 request => 다음 페이지에 정보를 전달해서 사용 A 페이지(request 정보저장) => B페이지(저장된 정보를 사용) .=> C페이지(request 사용 x) @다음페이지까지 밖에 사용 못함@ application은 하나의 어플리케이션(프로젝트) 내부에서 사용가능 유효 범위 page : 하나의 jsp페이지 request : 요청받은 페이지 (다음 페이지) session : 브라우저 - 로그인 정보를 저장할 때 사용 application : 하나의 프로젝트까지 다른 브라우저로 세번째 페이지 주소를 입력해서 열면 세션도 날라간다 서버를 중지시킨 후 다시 실행하면 application도 날라간다
Spring BeanPostProcessor Bean 객체를 정의할 때 init-method 속성을 설정하면 객체가 생성될 때 자동으로 호출될 메서드를 지정할 수 있다 이때 BeanPostProcessor 인터페이스를 구현한 클래스를 정의하면 Bean객체를 생성할 떼 호출될 init 메서드 호출을 가로채 다른 메서드를 호출할 수 있도록 할 수 있다. BeanPostProcessor postProcessorBeforelnitialilzation : init-method에 지정된 메서드가 호출되기 전에 호출된다 postProcessorAfterlnitialization : init-method에 지정된 메서드가 호출된 후에 호출된다 init-method가 지정되어 있지 않더라도 자동으로 호출된 Spring ..
Bean 객체의 생명주기 Spring의 Bean은 다음과 같은 상황일 때 객체가 생성된다 Singleton인 경우 xml 파일을 로딩 할 때 객체가 생성된다 Singleton이고 lazy-init 속성이 true일 경우 getBean 메서드를 사용할 때 객체가 생성된다 prototype일 경우 getBean 메서드를 사용할 때 객체가 생성된다. Spring의 Bean은 다음과 같은 상황일 때 객체가 소멸된다. IoC 컨테이너가 종료될 때 객체가 소멸된다. 매서드가 없을 경우 default-init-method : 아무 일도 발생하지 않는다. default-destroy-method : 아무 일도 발생하지 않는다. init-method : 오류가 발생한다. destroy-method : 오류가 발생한다. ..
내장 객체 request : 요청 response : 응답 out : 출력 request 내장객체 : 요청 request.getParmeter 값 : 이름 : 컨텍스트 패스 : 요청방식 : 요청URL : 요청 URI : 서버이름 : 프로토콜 : response 내장 객체 (응답) 요청(request)처리해서 클라이언트에서 되돌려줄때 response.sendRedirect("이동할페이지"); ex) 간단한 로그인 페이지 로그인창 => 요청 => 아이디와 비밀번호 체크 => 아이디와 비밀번호 일치하면 메인페이지로 이동 => 일치하지 않으면 다시 로그인 페이지로 이동 main 아이디 : 비밀번호 : checkLogin
JSP페이지 속성 지정 page : JSP페이지 환경설정 include : taglib import 속성 => 자바에서의 import와 같은 것 session 속성 브라우저를 닫기 전까지 데이터를 가지고있는것 (Ex} 로그인해놓으면 다른페이지로 가도 로그인이 안풀리는것) buffer 속성 -> 기본값 8kb autoflush 속성 -> ture면 버퍼가 다 차면 자동으로 보내줌 -> false면 버퍼가 다 차면 에러 발생 isThreadSafe 속성 스레드 설정 info 속성 말그대로 페이지 정보 isErrorPage 기본값 false true : 해당 페이지가 에러페이지가 됨 exception 객체를 사용할 수 있음 해당 페이지 에러 발생 시 -> 입력해둔 에러페이지로 넘어감 include : 현재 페..
JSP : jsp로 작업한 파일 -> java파일로 변환 -> 컴파일 -> 클래스로 만들어짐 -> 실행 ex) sample01.jsp -> sample01_jsp.java -> sample01_jsp.class 클라이언트(사용자)요청 -> 서블릿 코드? -? 서블릿 아님 -> 서블릿으로 변환 -> 컴파일 -> 로드 -> 클라이언트 응답 한번 요청된 jsp -> 로드 -> 응답 서블릿은 요청 -> 컴파일 -> 로드 -> 응답 서블릿은 자바코드안에 HTML을 작성할 수 있음 JSP는 HTML안에 자바코드를 작성할 수 있다. html (정적페이지) jsp(동적페이지) 컨텍스트 패스(Context Path) 경로를 나타내는 것 (기본적으로 프로젝트명과 동일) 변경방법 dynamic Web Project 생성시 ..
정적 페이지 : HTML -> 웹서버에서 이미 만들어진 HTML로 찾아서 보여준다 (보여주고싶은 페이지를 모두 손수 만들어야한다) 동적 페이지 :JSP -> 사용자가 요청을하면 웹서버가 받음 웹서버내에서 요청해결 할 수 없으면 WAS로 넘김 WAS에서 해결된 요청을 다시 웹서버 -> 사용자로 돌려줌 (WAS에서 새페이지를 사용자 요청에 따서 그때그때 생성 ) WAS : 동적인 페이지(생성) 제공 - 웹컨테이너, 서블릿 컨테이러라고도 함 JAVA + SERVLET + JSP : 하나의 웹페이지가 만들어짐 서블릿 : 자바를 이용해서 웹에 실행되는 프로그램을 만드는 것 웨브라우저는 자바코드를 모름 톰캣 -> httpServlet 클래스를 상속받은 클래스가 서블릿 클래스 html에서 from 태그 서블릿 자바 ..
VIEW 가상테이블 CREATE VIEW VIEW_EMP AS (SELECT * FROM EMP WHERE DEPTNO = 20); SELECT * FROM VIEW_EMP; CREATE VIEW V_EMP AS (SELECT EMPNO, ENAME, JOB, HIREDATE FROM EMP); SELECT * FROM VIEW_EMP; --이미 있는 V_EMP를 덮어씌어서 새로운 V_EMP 가상테이블 만들기 CREATE OR REPLACE VIEW V_EMP AS (SELECT ENAME,JOB,TO_CHAR(HIREDATE,'YYYY-MM-DD') AS HIRE FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO); DROP VIEW V_EMP; --가상테이블 삭제 권한 ..
loc : 제어역전 프로그램이 흘러가는 흐름이나 생성되는 객체에 대한 제어권을 개발자가 만드는 개발자가 가지는 것과 달리 프레임워크가 가지는 것을 의미 개발자가 코드릐 흐름이나 객체 생성에 관련된 코드를 프로그래밍 코드에 직접 작성하는 것이 아닌 프레임워크가 사용하는 파일에 작성하면 이를 토대로 프레임워크가 객체를 생성하여 반환하고 코드가 동작하는 순서를 결적하게 된다는 의미이다. pojo class 자바모델이나 기능, 프레임워크등에 따르지 않고 독립적이고 단순한 기능만을 가진 객체들을 의미한다 이러한 객체를 Bean이라고 부른다 IoC 컨테이너의 종류 BeanFactory ApplicationContext BeanFactory 클래스를 통해 객체를 생성하고 이를 전달한다 상속 등 객체 간의 관계를 형성..
제약조건 데이터에 제약조건을 걸어서 옮지않은 데이터가 입력되는걸 방지 데이터의 무결성을 유지하기 위함 무결성 : 데이터의 정확성,일관성을 보장 영역 무결성 - 컬럼에 저장되는 데이터가 적정 데이터인지 확인 NULL,조건범위에 해당하는 값 만족하는 데이터 참조 무결성 - 기본키를 참조하는 외래키에는 기본키에 해당하는 데이터만 저장 개체 무결성 - 데이터를 유일하게 식별해주는 기본키는 반드시 값이 있어야하고, NULL 안되고, 중복도 불가능하다 NOT NULL (데이터추가 NULL불가능) CREATE TABLE NULL_TEST ( ID VARCHAR(20) NOT NULL, --NULL 안됨 PW VARCHAR(20) NOT NULL, --NULL 안됨 NAME VARCHAR(20) ); SELECT * ..
데이터 정의어 CREATE -> 테이블 생성 CREATE TABLE 테이블명 DROP -> 테이블 삭제 " ALTER -> 데이터 수정 " 데이터 타입 VARCHAR : 문자(가변길이 : 고정이아니라 변동가능), 최대 2000byte VARCHAR2 : 최대 4000byte CHAR : 문자(고정길이) EX) VARCHAR(50) -> ABC입력 -> 3byte 차지 CHAR(50) -> ABC입력 ->글자는3byte이지만 이미 설정된 50byte를 그대로 차지 NUMBER : 숫자(가변길이) LONG : 숫자,문자(최대크기가 2GB까지 들어간다) CLOB : 최대크기 4GB 까지들어간다 BFILE : 파일저장 CREATE(테이블생성) 테이블명 생성규칙(컬럼명도 동일규칙) 1.숫자로 시작 안함 2.이름은..
UPDATE 수정문 기본형식) UPDATE 수정할 테이블 SET 수정할컬럼 = 수정할데이터 WHERE 조건식사용가능 컬럼데이터 수정하기 ex) drop table 연습; --기존의 연습 테이블 삭제 create table 연습 as select * from dept; -- dept 테이블을 본떠 만든 연습 테이블 생성 UPDATE 연습 SET LOC = 'SEOUL'; --LOC컬럼의 데이터를 'SEOUL'로 수정 SELECT * FROM 연습; --적용된지 확인하기 ROLLBACK; --변경전으로 (커밋하기 전까지만 가능) UPDATE WHERE 로 조건에 맞는 컬럼의 데이터만 수정 UPDATE 연습 SET LOC = 'SEOUL' WHERE DNAME = 'SALES'; --WHERE 조건문으로 'S..
코딩을 공부하다보니 나중에 팀프로젝트와 기분전환겸 카페에서 공부할때 노트북이 필요할거같아서 일단 비싸지않고 코딩할때 쓸만한 노트북을 찾던 중...!! 추천받아 사게된 레노버 슬림3 15인치 !!! (추천받고도 조건내에 더 좋은 노트북을 찾아봐도 이만한게 없었따...) 일단 스펙은 여기 레노버공식사이트에서 볼 수 있다 https://www.lenovo.com/kr/ko/laptops/ideapad/ideapad-300-series/IdeaPad-3-Gen-7-15-inch-AMD/p/82RN004AKR
INSERT 기본형식 INSERT INTO 테이블(컬럼들도 들어갈수있음) VALUES(추가할 내용들); EX) --(DEPTNO,DNAME,LOC) INSERT INTO DEPT_TEMP VALUES(50,'DATABASE','SEOUL'); --테이블의 컬럼순서대로 입력해줘야 한다.(DEPTNO,DNAME,LOC) SELECT * FROM DEPT_TEMP;--추가됬는지 확인 --아니면 어디컬럼에 넣을지, 특정컬럼만 넣을라면 데이터넣을 컬럼을 지정해준다 INSERT INTO DEPT_TEMP(DEPTNO, DNAME, LOC) VALUES(60,'NETWORK','BUSAN'); INSERT INTO DEPT_TEMP VALUES(70,'JAVA',NULL); INSERT INTO DEPT_TEMP V..
ANY EX) 직책이 SALESMAN인 급여보다 큰사람들을 조회 SELECT * FROM EMP WHERE SAL > ANY( SELECT SAL FROM EMP WHERE JOB = 'SALESMAN' ); EX) 부서번호가 30번 인 사람들의 급여보다 작은 급여를 받는 사람들을 조회 정렬은 급여와 사원번호를 기준으로 오름차순 정렬 SELECT * FROM EMP WHERE SAL < ( SELECT SAL FROM EMP WHERE DEPTNO = 30 ); ALL 모두 만족하는 경우만 TRUE EXISTS 서브쿼리의 결과 값이 하나라도 있으면 TRUE(서브쿼리가 TURE가 되면서 모든 레코드데이터가 나온다) 서브쿼리의 결과 값이 하나도 없으면 FALSE SELECT * FROM EMP WHERE E..