분류 전체보기

· 프로젝트
학원에서 이때까지 배운 내용을 토대로 프로젝트를 만들시간입니다! 프로젝트의 주제는 중고거래 전문 쇼핑몰 만들기였고, 우리 팀은 전자기기 전문 중고거래 쇼핑몰을 만들기로 하였습니다. 프로젝트를 시작하면 설계부분부터 진행하기 때문에 웹사이트를 만드려는 클라이언트의 요구를 명확히 알 수 있도록 요구사항부터 설계를 진행했습니다. 📌요구사항 정의서란? 고객의 요구사항을 정리한 내용 제품을 만들거나 업데이트하기 위해 기능을 기획하는 단계에서 요구사항을 개괄적으로 설명하는 문서 제품 개발 프로세스 전반에 걸쳐 필수적인 중요 문서 고객의 요구사항의 명확히 기록하기 위해서 작성하는 문서 📌 요구사항작성 요령 요구사항 정의서에는 기본적으로 1. 구분 (웹/앱/사용자/관리자/공통 등) 2. 요구사항명, 요구사항ID 3. 세..
SpringFramework = Spring + Framework Framework : 어떤 대상을 구성하는 구조/틀을 사용한 작업 (SW) 기능을 클래스/인터페이스 형태로 미리 구현해놓은 형태를 사용하는 것 음식으로 비유하자면, 밀키트 → 다 준비되있음 우리가 밀키트를 쓰는 이유: 편리함, 맛도 보장됨 EJB(Enterprise Java Bean) - 대규모의 자바빈으로 설계되어있는 프로젝트 서버 중심 개발(백) 확장성, 유지보수 중량프레임워크 느림, 무거움 - 구동이 힘듦 Spring Framework 클라이언트 중심(모바일 등장) 생산성, 안정성 경량프레임워크(확장성) EJB를 개선한 것 스프링 주요 개념/특징 EJB보다 가볍고, 배우기 쉽다. 제어의 역행 기술을 사용해서 애플리케이션간의 느슨한 결..
· Error
참고자료 https://ezor.tistory.com/entry/Eclipse-Tomcat-Server-Context-Path-%EB%B3%80%EA%B2%BD [Eclipse, Tomcat] Server Context Path 변경 [상황]서버가 시작되는 중에 오류가 나서 이것저것 건드리다가 실행이 되었음 그러나 정상적으로 실행되는 경우, 보통 http://localhost:8088/프로젝트명 이어야하는데, pom.xml을 복붙해서 그런건지 ( ezor.tistory.com 이클립스에서 서버 오류... 이클립스랑 톰캣 전부 삭제하고 다시 깔고 이틀동안 삽질하다가 너무너무 쉬운 방법으로 해결함... 저 trade가 사진처럼 되있어야 정상인데 /trade2/프로젝트 파일 로 실행되서 시간은 없는데 페이지도..
· JAVA
String[] str = {"this","is","java","world"}; System.out.println(Arrays.toString(str)); // [this, is, java, world] // 오름차순 정렬 후 : [is, java, this, world] Arrays.sort(str); System.out.println(Arrays.toString(str)); 새로운 정렬기능을 만들려면? 내부적으로 Comparator 의 compare() 메서드를 사용 새로운 정렬 기능을 만들고 Arrays.sort() 에 전달을 하면 됨 자바에서는 함수만 전달할 수 있는 방법이?? 없다! 따라서, 해당 기능을 가지는 객체를 전달해야 한다. 일회용으로 정렬 기능을 작성하려면? (익명 내부 클래스 활용)..
· JAVA
함수형 인터페이스(functional interface) 또는 타겟타입(target type) 람다식은 결과적으로 "인터페이스의 클래스를 손쉽게 구현하는 방법" 반드시 하나의 abstract 메서드만 존재 만약 abstract 메서드가 없거나 두 개 이상 존재한다면 람다식으로 대체할 수 없음 함수형 인터페이스 @FunctionalInterface 어노테이션 선언 함수형 인터페이스를 사용하는 람다식 유형 파라미터와 리턴타입이 없는 경우(파라미터:x, 리턴타입X) @FunctionalInterface interface MyFunc1 { // 함수형 인터페이스 어노테이션(@FunctionalInterface) 선언 시 발생! // => 함수형 인터페이스는 반드시 하나의 추상메서드(abstract method)..
· JAVA
익명 객체를 생성하는 람다식 자바는 객체 지향 언어로 객체 없이 메서드를 호출할 수 없다. 람다식은 객체 없이 인터페이스의 구현만으로 메서드를 호출할 수 있는데, 그 이유는 익명 내부 클래스에 있다. 익명 내부 클래스는 클래스 이름 없이 인터페이스 자료형 변수에 바로 메서드 구현부를 생성하여 대입할 수 있음 즉, 람다식으로 메서드를 구현해서 호출하면 컴퓨터 내부에서는 익명클래스가 생성되고, 이를 통해 익명 객체가 생성되는 것 StringConcat concat3 = new StringConcat() { @Override public void makeString(String s1, String s2) { System.out.println(s1 + "," + s2); } }; // => 내부적으로 익명 구현..
· JAVA
자바 8에 추가된 가장 큰 특징 "함수형" 프로그래밍 형태를 받아들인 결과 함수형 프로그램이란? (함수형 vs 객체지향) 함수형 : 1950년대, 객체지향 : 1990년대 (역사가 더 오래되었음) 기능 위주의 프로그래밍 기법 매개변수만을 사용하여 만드는 함수(순수 함수, pure function)를 구현하고 호출함으로써 외부 자료에 부수적인 영향을 주지 않도록 구현하는 방식 객체 지향 : 객체를 기반으로 구현, 클래스에 속성과 기능을 정의 함수형 : 함수를 기반으로 자료를 입력받아 구현, ,기능 즉 함수가 따로 존재 함수 이름이 없는 익명함수를 만드는 것 메서드의 이름과 리턴타입을 빼고 '->'를 활용하여 람다식을 구현 ex) public int add(int x, int y) { return x + y..
· JAVA
익명객체의 로컬 변수 사용 메서드의 매개변수나 로컬변수를 익명 객체 내부에서 사용할 때 제한이 있음 익명객체는 메서드 실행이 종료되면 없어지는 것이 일반적이지만, 메서드가 종료되어도 계속 실행 상태에 존재할 수 있음 (ex. 익명 쓰레드 객체 사용) 메서드의 매개변수나 로컬변수를 익명 객체 내부에서 사용할 때 매개변수나 로컬변수는 메서드 실행이 끝나면 스택(stack) 메모리에서 사라지기 때문에 익명객체에서는 지속적으로 사용할 수 없음 이런 문제를 해결하기위해 자바는 컴파일 시 익명 객체에서 사용하는 매개변수나 로컬변수의 값을 익명 객체 내부에 복사해두고 사용함 매개변수나 로컬변수가 수정되어 값이 변경되면 수정된 값과 익명 객체에 복사해둔 값이 달라지게 되어 매개변수나 로컬변수를 final로 선언할 것을..
ઇ땅코니ଓ
'분류 전체보기' 카테고리의 글 목록 (16 Page)