국비

    [세미 프로젝트] 1DU1DU 원두 구독쇼핑몰 프로젝트 진행과정 기록

    [세미 프로젝트] 1DU1DU 원두 구독쇼핑몰 프로젝트 진행과정 기록

    세미 프로젝트 기록 원두 정기구독 쇼핑몰 1DU 1DU 프로젝트 기간 ( 2022.02.16 - 2022.04.01 ) 기능 구현 기간 ( 2022.03.21 - 2022.04.01 ) 2주간 진행. 팀 인원 : 5명 세미프로젝트 주제는 고객 취향 테스트를 통해 입맛에 맞는 원두를 매달 정기 구독할 수 있는 서비스를 제공하는 1DU 1DU라는 이름의 쇼핑몰이다. 프론트와 백엔드는 구별하지 않고, 팀원들과 기능별로 나누어 제작하기로 했다. 그중 내가 맡게 된 메인 기능은 상품 주문과 상품 결제이다. 그리고 관리페이지의 주문 내역관리, 교환환불 요청 / 마이페이지의 주문내역 상세및 수정 등을 맡았다. 2월 16일 세미프로젝트 팀이 정해졌고, 수업 진도와 동시에 세미 프로젝트를 진행하고 있다. 온전히 기능 구..

    [Java] day22. 입출력IO 보조스트림/ 직렬화

    입출력 파트 이제 끝. 오늘로 자바 파트가 끝나고 오라클로 넘어간다. 그렇다고 자바가 완전히 끝난게 아니니 오라클 수업동안 자바도 같이 복습해야만 한다. 자바 + 오라클 + 당일과제 + 팀스터디 -> 오 빡세다... 여기에 정처기 필기까지 했다면 더 힘들었겠지만 정처산기 실기 까지 여유가 있으니 다행이다. 보조 스트림 filterStream 스트림의 기능을 향상시키거나 새로운 기능을 추가하기 위해서 사용 보조 스트림은 실제 데이터를 주고 받는 스트림이 아니기 때문에 입출력 처리가 불가능 기반 스트림을 먼저 생성한 후 이를 이용하여 보조 스트림을 생성 보조 스트림의 종류 입출력 성능(BufferedInputStream/BufferedOutputStream) 기본 데이터 타입 출력(DataInputStrea..

    [Java] day22. 입출력IO / Stream / File

    입출력이라는 것을 알아볼 때, 이 입력장치는 키보드가 될 수도 있고 프로그램이 될 수도 있지만, 우선 파일을 외부 자원으로 보고 확인하기 위해 파일 클래스에 대해 가장 먼저 학습했다. File 클래스 파일 시스템의 파일을 표현하는 클래스 JDK 1.0부터 지원하는 API로 파일 처리를 수행하는 대표적인 클래스 이다. 대상 파일에 대한 정보로 인스턴스를 생성하고 파일의 생성, 삭제 등등의 처리를 수행하는 기능을 제공하고 있다. 파일 클래스를 이용해서 인스턴스를 생성한다. 대상 파일이 존재하지 않아도 인스턴스를 생성할 수 있다. File file = new File("section01/file/test.txt";) createNewFile()을 통해 파일을 생성할 수 있고 성공 실패 여부를 boolean으로..

    [Java] 국비교육 day21. 예외처리 Exception

    이제껏 코드작성하면서 나왔던 오류들을 따로 배우게 될줄 몰랐는데 .... 배우는 줄 알았으면 오류가 왜 났는지 빨간줄에 메세지도 주의깊게 볼 걸 그랬다. NullPointException 정도 기억에 남아있다 ... 아니면 배열의 인덱스를 초과하는 오류(짜증)!!! 예외처리는 배우고 보니 핸들링 자동완성 기능이 있다는 게 정말 너무나 다행이었다. try-catch구문 매번 쓴다고 생각하면 얼마나 귀찮았을까. 오류와 에러 시스템 상에서 프로그램에 심각한 문제가 발생해서 실행중인 프로그램이 영향을 받는 것은 오류와 예외로 구분할 수 있음 오류(Error) 시스템 상에서 프로그램에 심각한 문제를 발생하여 실행중인 프로그램이 종료되는 것 예외(Exception) 오류와 마찬가지로 비정상적으로 종료시키지만 미리 ..

    [Java] day20. 컬렉션 프레임워크 Set / Map

    Set 저장 순서가 유지되지 않고, 중복 인스턴스도 저장하지 못하게 하는 자료구조 수학에 비유하면 집합과 비슷한 개념이다. 구현 클래스 : HashSet, LinkedHashSet, TreeSet Set 인터페이스를 구현 한 Set 컬렉션 클래스의 특징 1. 요소의 저장 순서를 유지하지 않는다. 2. 같은 요소의 중복 저장을 허용하지 않는다. (null 값도 중복되지 않아 하나의 null 만 저장한다) HashSet 클래스 Set 컬렉션 클래스에서 가장 많이 사용 되는 클래스 중 하나이다. JDK 1.2부터 제공되고 있으며 해시 알고리즘을 사용하여 검색 속도가 빠르다는 장점을 가진다. HashSet Set에 인스턴스를 저장할 때 hash함수를 사용하여 처리 속도가 빠름 동일 인스턴스 뿐 아니라 동등 인스..

    [Java] day19. 컬렉션 자료구조 Stack/ Queue

    Stack Stack은 제한적으로 접근할 수 있는 나열 구조로 데이터를 저장하는 자료구조로 후입선출( LIFO - Last Input First Out ) 방식이다. Stack은 리스트 계열 클래스의 Vector 클래스를 상속 받아 구현하였다. 스택 메모리 구조는 선형 메모리 공간에 데이터를 저장한다. 데이터를 넣는 Push 동작과 데이터를 빼는 Pop 동작을 수행한다. Stack 인스턴스 생성 Stack integerStack = new Stack(); Stack에 값을 넣을 때는 push() 메소드를 이용한다. add()도 이용 가능하지만 Vector의 메소드이므로 push()를 사용하는 것이 좋다. integerStack.push(1); integerStack.push(2); integerStack..

    [Java] day19. 컬렉션 프레임워크 LinkedList

    하루만에 많을 양을 학습하려니 약간 헤롱거리는 것이.. 이게 그 말로만 듣던.. 타자치는 감자 상태??? 가 되어버렸다. LinkedList ArrayList가 배열을 이용해서 발생할 수 있는 성능적인 단점을 보완하고자 고안되었다. 내부는 이중 연결리스트로 구현 되어 있다. 단일 연결 리스트 저장한 요소가 순서를 유지하지 않고 저장 되지만 이러한 요소들 사이를 링크로 연결하여 구성하며 마치 연결 된 리스트 형태인 것 처럼 만든 자료구조이다. 요소의 저장과 삭제 시 다음 요소를 가리키는 참조 링크만 변경하면 되기 때문에 요소의 저장과 삭제가 빈번히 일어나는 경우 ArrayList보다 성능면에서 우수하다. 하지만 단일 연결리스트는 다음 요소만 링크하기 때문에 이전 요소로 접근하기 어렵다. 이를 보완하고자 만..

    [Java] day19. 컬렉션 프레임워크 ArrayList

    컬렉션에 대해서는 완전히 처음들어서 큰일났다. 수업 시작하니 나름 자료구조를 배웠다고 오 자료구조... 했는디 수업 뒤로갈수록 아 코드 너무 길다.... 하나 사용하려면 정말 Iterator dIter = ((LinkedList)stringList).descendingIterator(); 이런거 진짜.... 너무 오.... 컬렉션 ? 자바는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현클래스를 java.util 패키지에 제공한다. 이들을 총칭해서 컬렉션 프레임 워크라고 부른다. 컬렉션은 객체의 저장을 뜻하고, 프레임워크는 사용 방법을 정해놓은 라이브러리를 말하는 것. 컬렉션 프레임워크에는 크게 List, Set. Map이 있다. List 자료들을 순차적으로 나열..

    [Java] day17. API -Date / Calendar

    이번엔 날짜를 나타내는 API 메소드들을 배웠다. 가장 처음 배웠던 java.util.Date 말고 어떤 방법들이 있을까. 우선 Date에 대해 자세히 알아보자. Date 시스템으로부터 현재 날짜, 시간 정보를 가져와서 다룰 수 있게 만들어진 클래스 생성자 2개만 사용하고 나머지는 모두 deprecated 되었다. Date ( ) ; Date ( long ) ; 이렇게 두 개만 살아 남아있다. 첫번째로 기본 생성자로 인스턴스를 생성해보자. 시스템(내 운영체제)으로부터 현재 날짜, 시간 정보를 가져와 기본 값으로 사용한다. Date today = new Date (); java.util.Date = new java.util.Date();//이렇게 작성하는 것이 좋다 Date는 java.sql.Date와 j..