전체 글

프로그래밍 지식과 백엔드 관련 공부 자료를 게시합니다.
· 프로젝트
📌 데이터베이스를 설계할 때에 고려해야 할 점 정확한 데이터 모델링 데이터베이스는 비즈니스 프로세스를 반영해야 합니다. 따라서 엔티티, 속성, 관계 등을 정확하게 식별하고 모델링하는 것이 중요합니다. 데이터 정규화 데이터베이스 스키마 설계시 정규화는 중요한 고려사항입니다. 정규화는 중복을 최소화하고, 데이터 무결성을 보장하며, 데이터의 일관성을 유지하는 데 도움이 됩니다. 데이터 무결성 데이터 무결성은 데이터베이스에서 데이터의 정확성, 일관성, 신뢰성을 보장하는 것입니다. 이를 위해 기본 키, 외래 키, 유니크 키 등의 제약 조건을 활용할 수 있습니다. 성능 최적화 대용량 데이터를 처리할 때는 쿼리 성능이 중요해집니다. 따라서 인덱싱, 테이블 파티셔닝, 쿼리 최적화 등을 고려하여 성능이 좋은 스키마를 설..
· 프로젝트
학원에서 이때까지 배운 내용을 토대로 프로젝트를 만들시간입니다! 프로젝트의 주제는 중고거래 전문 쇼핑몰 만들기였고, 우리 팀은 전자기기 전문 중고거래 쇼핑몰을 만들기로 하였습니다. 프로젝트를 시작하면 설계부분부터 진행하기 때문에 웹사이트를 만드려는 클라이언트의 요구를 명확히 알 수 있도록 요구사항부터 설계를 진행했습니다. 📌요구사항 정의서란? 고객의 요구사항을 정리한 내용 제품을 만들거나 업데이트하기 위해 기능을 기획하는 단계에서 요구사항을 개괄적으로 설명하는 문서 제품 개발 프로세스 전반에 걸쳐 필수적인 중요 문서 고객의 요구사항의 명확히 기록하기 위해서 작성하는 문서 📌 요구사항작성 요령 요구사항 정의서에는 기본적으로 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..
ઇ땅코니ଓ
땅콩맛츄르