전체 글

새싹 개발자의 개발일지
오늘은 코드의 겉모양은 유지하되 내부 구조를 개선하는 리팩터링 조별 발표와, 자바 웹 개발의 뿌리인 서블릿(Servlet)의 동작 원리를 깊게 파고들었다. 1. 리팩터링( Refactoring ) : 코드를 건강하게 만드는 습관 리팩터링이란 소프트웨어의 겉으로 드러나는 기능은 바꾸지 않으면서, 내부 구조를 개선하여 가독성을 높이고 유지보수를 쉽게 만드는 작업을 말한다. 단순히 코드를 깔끔하게 만드는 것을 넘어, 잠재적인 버그를 줄이고 설계의 유연성을 확보하는 것이 목적이다. [팀별 발표 내용 요약]아래는 팀별로 발표한 핵심 기법들을 정리했다.기법설명Inline Class역할이 거의 없거나 과도하게 쪼개진 클래스를 다른 클래스로 합쳐 단순화하는 리팩터링 기법Extract Method길거나 복잡한 코드 일부..
1. Java Mini Project 발표🚨 [ 발표 및 피드백 ]- 구현은 잘 했으나 조금 더 현실의 도서 시스템이 들어갔어도 좋았을 것 같다.- 연체가 되었을 때 연체를 해제하는 방법 중 연체료 입금 방법도 있는데 이것도 구현하면 좋을 것 같다.- 비밀번호 입력 시 화면에 그대로 표시되는데 이게 조금 아쉽다.프로젝트 발표 후 위와 같은 피드백을 받았다. 이번 프로젝트는 Java 콘솔 기반으로 진행되었기 때문에 입출력 방식이 텍스트 중심으로 제한되었다.특히 결제, 사용자 인터랙션, 상태 변화가 복잡한 기능은 콘솔 환경에서는 구현 난이도가 급격히 증가한다는 한계가 있었다. 콘솔 기반 시스템의 한계는 다음과 같다. 1. 사용자 경험(UI/UX)의 제한- 버튼, 팝업, 실시간 상태 표시가 불가능- 입력과 ..
1. 사용자 도서 검색 기능 상세 (기능 설명)Day 3에는 일반 사용자가 원하는 도서를 쉽고 정확하게 찾고, 즉시 대여 프로세스까지 이어질 수 있도록 기능을 고도화했습니다. 콘솔 기반이지만 직관적인 사용자 경험(UX)을 제공하는 데 집중했습니다. .다중 조건 검색 메뉴: 다중 조건 검색 메뉴: 사용자는 메인 메뉴에서 [1] 제목, [2] 저자, [3] ISBN, [4] 출판사 중 원하는 조건을 선택하여 검색을 시작할 수 있습니다.검색 결과 표(Table) 포맷팅 출력: 예를 들어 사용자가 [1] 제목 검색을 누르고 **'자바'**를 입력하면, DB에서 부분 일치 검색 결과를 가져와 위 사진처럼 깔끔한 표 형식으로 띄워줍니다.카테고리명 JOIN 출력: 단순한 카테고리 숫자 코드가 아니라, DB JOIN을..
1. 관리자 도서 관리 기능 상세 (기능 설명)Day 2에는 관리자가 콘솔 환경에서 전체 도서 데이터를 관리할 수 있도록 등록, 수정, 삭제(CRUD) 메뉴를 구현했습니다.도서 등록 (Create) : [1] 도서 등록 메뉴 선택 시 ISBN, 도서명, 저자, 출판사, 카테고리 코드, 출판년도를 순차적으로 입력받아 DB에 신규 저장합니다. 무결성을 위해 등록 전 ISBN 중복 검증 과정을 거치도록 했습니다.도서 수정 (Update) : [2] 도서 수정 선택 시, 먼저 전체 도서 목록을 5개씩 페이징하여 출력합니다. 목록을 확인한 뒤 수정할 도서의 ISBN을 입력하고, 수정할 항목(1: 제목, 2:저자, 3: 출판사 등)을 선택해 특정 데이터만 핀포인트로 변경할 수 있도록 동작합니다.도서 삭제 (Del..
1. 프로젝트 개요프로젝트명 : Java 기반 도서관 관리 시스템 (Console & JDBC 연동)개발 기간 : 26.12.03 ~ 25.12.05 (총 3일)개발 인원 : 총 4명기술 스택 : Java, Oracle DB, JDBC, Github프로젝트 목표 : 순수 Java 객체지향 프로그래밍과 MVC 패턴의 이해도를 높이고, JDBC를 활용한 데이터베이스 연동 및 4인 팀 단위의 원활한 협업 프로세스를 경험하는 것 2. 역할 분담단기간에 완성도 있는결과물을 내기 위해 도메인별로 역할을 명확히 나누었습니다.유저 파트 (1명) : 사용자 회원가입, 로그인, 권한(일반/관리자) 처리대여 파트 (2명) : 도서 대여, 반납 로직 및 대여 제한 일자(banned_date) 관리도서 파트 (1명 - 본인 ..
📌 웹 개발 3총사: HTML, CSS, JavaScript웹 페이지를 만들 때 가장 기본이 되는 세 가지 기술은 HTML, CSS, 그리고 JavaScript입니다. 이 세 가지 기술은 각자 다른 역할을 담당하며, 함께 작동하여 사용자가 보는 웹 페이지를 만들어냅니다.1. HTML (HyperText Markup Language): 웹 페이지의 뼈대역할: 웹 페이지의 구조를 정의합니다. 텍스트, 이미지, 비디오 등 다양한 콘텐츠를 웹 페이지에 표시할 수 있도록 합니다.특징:태그 (Tag): HTML은 다양한 태그를 사용하여 웹 페이지의 구조를 만듭니다. (예: , , , , )속성 (Attribute): 태그에 추가 정보를 부여합니다. (예: )마크업 (Markup): 텍스트에 태그를 추가하여 웹 페..
📌Java GUI 프로그래밍 : Swing & JFrame1. Swing & JFrame이란?Swing은 자바에서 GUI(Graphic User Interface)를 구현하기 위한 경량 툴킷이다. 운영체제에 의존하지 않고 자바만으로 화면을 구성할 수 있다.JFrame은 Swing 라이브러리의 핵심 클래스로, 우리가 흔히 보는 '기본 창(Window)'을 의미한다.버튼, 텍스트 필드, 패널 등 모든 컴포넌트는 JFrame 위에 올라간다.기본 Layout은 BorderLayout이다. (동/서/남/북/중앙 배치)▼ JFrame 기본 생성 흐름JFrame frame = new JFrame("제목"); // 창 생성frame.setSize(400, 300); // 크기 설정frame.setDefaultClos..
📌MVC 패턴 (Model-View-Controller)[Image of MVC pattern architecture diagram]1. MVC란?MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다.소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둔다. 이러한 “관심사 분리(Separation of Concerns)”는 더 나은 업무의 분리와 향상된 관리를 제공한다.기반 파생 패턴: MVVM(Vue, React 등), MVP, MVW 등 2. MVC 패턴의 구조출처 : 위키백과 - 모델-뷰-컨트롤러 요소설명Model(모델)애플리케이션의 데이터와 핵심 비즈니스 로직을 담당View(뷰)사용자에게 보여지는 부분(UI)을 담당Cont..
noeul.log
한 페이지가 될 수 있게🍀