Tiny Bunny '분류 전체보기' 카테고리의 글 목록 (7 Page) - 솜님의 블로그
솜님의 블로그

분류 전체보기 183

카테고리 설명
  • pom.xml- 스프링 컨테이너 설정 파일이다.  applicationContext.xml- 컨테이너 설정 파일임을 알 수 있다.-  GenericXmlApplicationContext은 실무에서 사용하지 않는 실습용이다.  컨테이너란?1. 개발자를 대신해서2. 객체를 생성(관리) 해주는 것   - 생성 == new- 서블릿 컨테이너 (톰캣)   new FC(); / fc.doGet(); / fc.doPost();  IoC제어의 역행"apple" 호출한 new 와 "samsung"을 호출한 new가 다름  "apple"를 호출한 new- Setter 주입: Web에서는 대부분 Setter 주입,  사용자에게 더 나은 경험을 제공하기 위함  == bean(객체)이 생성(new)되다가 예외가 발생하는 ..

  • 프로젝트를 맨 처음 생성할 때 dependency 주입할 수 있는데,만약 프로젝트를 만들 때 넣지 못했다면 pom.xml에 직접 다 넣어줘야 한다. 의존성이란?어떤 코드를 실행할 때 필요한 다른 곳의 코드가 있는가? ex) 프로젝트 만들 때 주입하는 가장 대표적인 의존성이 JDBC- JDBC 사용할 때 ojdbc6.jar- jquery 사용할 때 CDN 주입이란?필요한 다른 부분의 코드 내용을 추가하는 것 이것을 합쳐서 의존성 주입(DI) 이라고 한다. // IPhone.java@Overridepublic void powerOn(){ Watch watch = new AppleWatch(); watch.powerOn();}이 코드는 powerOn이 될 때마다 new가 생성된다.이러한 코드를 보고 IPhon..

  • JSP로 mvc 패턴 활용하여 진행한 프로젝트가 완료되었다. 🍀 프로젝트 주제 : 낚시 예약 및 웹 커뮤니티담당 : (DB파트) 테이블 설계 및 구현, 위시리스트 종단처리 구현  PPT 자료 (pdf 변환)  깃허브 링크https://github.com/dasom0203/2024_single_mindedness  느낀 점우리 팀은 대면 회의도 자주 했던지라 (프로젝트 다가올수록 거의 매일 남아서 같이 회의/코드 작성함!)팀 단합이 잘 되고, 문제가 생겨도 바로 공유할 수 있어서 좋았다!그렇지만 설계단계에서 더 많은 소통과 꼼꼼함이 필요하지 않았나 생각이 들었고, 기능을 좀 더 꼼꼼하게 살펴본 뒤 테이블 구상이 필요하다고 느꼈다.이번 프로젝트에서는 헷갈렸던 JOIN사용법에 대해 더 익힐 수 있고, Vie..

  • 원인 및 내용SQL Error [1064] [42000] 는 문법 에러라고 한다. // 작성한 SQL문ALTER TABLE BOARD -- BOARD 테이블 변경ADD CONSTRAINT FK_BOARD_WRITER_ID -- FK 제약조건을 추가FOREIGN KEY (BOARD_WRITER_ID) -- BOARDWRITER가 FKREFERENCES _MEMBER(MEMBER_ID) --그 FK 값은 MEMBER테이블의 MID에서 가져온다.ON DELETE CASCADE;   주로1. 잘못된 SQL문을 사용2. 예약어를 사용3. 주석처리 문제 (-- 뒤에 반드시 공백이 있어야 함)4. 잘못된 테이블 / 컬럼명 사용등등.. 이 있다고 한다.  해결 방안내 경우 주석 뒤 공백이 들어가지 않은 부분이 있어서 ..

  • DBMS 오라클 → MySQL로 이관작업을 진행한다. 기존 오라클에서 날짜 컬럼은BOARD_REGISTRATION_DATE DATE DEFAULT SYSDATE -- 작성 날짜DATE 타입, default SYSDATE 로 설정되어 있다.  MySQL에서는 날짜 관리하는 타입에 DATE / DATETIME / TIMESTAMP 등이 있다. 오라클에서의 DATE 타입은 날짜와 시간을 모두 저장하는 타입인데,MySQL에서 DATE와 DATETIME은 구분되어 사용한다고 한다. DATE : 날짜만 저장DATETIME : 날짜와 시간을 모두 저장TIMESTAMP : 날짜와 시간을 모두 저장, 서버의 시간대에 따라 자동으로 조정TIMESTAMP의 경우 시간대 변환을 처리해 주는 타입이다. (만약 한국에서 작성한 ..

  • 만약 아래와 같은 코드들이 있다. // Iphone.javapackage test;public class Iphone { public Iphone() { System.out.println("아이폰 객체 생성"); } public void powerOn() { System.out.println("아이폰 전원 On"); } public void powerOff() { System.out.println("아이폰 전원 Off"); }} //GalaxyPhone.javapackage test;public class GalaxyPhone { public GalaxyPhone() { System.out.println("갤럭시 객체 생성"); } public void powerOn() { System.ou..

  • Spring 프레임워크 구조프레임워크를 배울 땐, 이게 무슨 장점이 있고 왜 쓰는지를 알아야 한다.프레임워크란? 틀, 뼈대, 구조를 의미한다. Spring 프레임워크== 일관된 개발 양식을 해당 Spring을 통해 개발자들에게 제시하는 것.그래서 개발자들의 역량이 획일화되는 것. 따라서 프레임워크를 사용하면 일관성 유지가 용이하다.+ 관리가 쉽고, 구현시간이 단축된다.+ 개발비용이 최소화된다.+ 유지보수가 용이하고, 재사용성이 증가한다. 요즘 나오는 프레임워크들은 Spring을 기반으로 하고 있다.그래서 이 내용을 잘 알고 있으면 어디서든 사용하기 쉽다! [결론]Spring 프레임워크가 뭔데?"IOC와 AOP를 지원하는 경량의 프레임워크""POJO를 대신 관리해주는 프레임워크"    IOC란?제어의 역행..

  • 1.  Spring Starter Project 선택 후 Next   2.- Name :  Project 이름- Type : Gradle를 쓰지만, 구조 공부를 하는 중이니 현재는 Maven (라이브러리 관리를 무엇으로 할 건지에 대한 질문)- Packaging : 우리는 web project 파일을 줄 것이기 때문에 War- Language : 현재 Java- Java Version : 현재 자바 버전  --> 버전을 모른다면 cmd에서 java -version 으로 확인 가능하다.그 아래는 이름, 규칙 같은 것. 굳이 변경하지 않고 사용한다.   3. 의존성 주입할게 있으면 넣으라는 창이다. (==라이브러리 주입)일단 이건 나중에!  ( 이 곳에서 JDBC 등 추가할 수 있음) Spring의 핵심이 ..

  • 페이지네이션페이지네이션이란 웹 사이트에서 데이터를 여러 페이지로 보여줄 수 있는 기능을 의미한다. 이번 프로젝트에서 페이지네이션 기능을 구현하기 위해,DB파트에서 요청에 맞는 데이터를 잘라 서버 측에 전달해 주기로 했다. 사용자가 페이지 번호를 선택하면, 해당 페이지 번호가 DB로 넘어오게 되고,이 넘어온 페이지 번호를 이용해 데이터를 계산하고 원하는 데이터만 잘라서 다시 반환한다. 우리는 한 페이지 당 9개의 데이터를 보여주기로 결정했고, 이때 계산되는 방식은BETWEEN (선택한 페이지 번호-1)*9+1 AND 선택한 페이지 번호*9;가 된다.  하지만 이 데이터를 그냥 찾아서 보내줄 수 없기 때문에,ROW_NUMBER() 라는 함수를 사용해 순번을 매긴 뒤 BETWEEN을 사용해 원하는 범위의 데이..

  • 기존 Oracle 사용 → 최종 프로젝트로 가면서, MySQL로 이관작업.이때 디비버를 사용하기로 했다.  1) 디비버 다운로드 페이지로 접속 2) Windows / Mac Os에 맞게 다운로드해준다.  3) 다운로드 Setup창 뜨면 계속 다음버튼, 사용권 계약은 동의 4) Choose Users 뜨면 all users 선택 후 다음 5) 구성 요소 선택 후 계속 다음 선택! (중간에 다운로드 폴더 설정 o)

  • 이번 중간 프로젝트를 진행하며 새롭게 알게 된 방식이 있다.바로 "종단처리" 와 "횡단처리" 이다. 기존의 우리는 M V C 패턴을 활용하여 기능 구분 없이 Model / View / Controller 세 파트로 나뉘어 코드를 작성하고 기능을 구현했다.이렇게 기존처럼 파트를 나눠 처리하는 것을 횡단처리라 한다. 반대로 종단처리는특정한 하나의 기능을 한 명의 개발자가 M V C 파트를 구분하지 않고 기능을 구현하는 것을 의미한다. 횡단처리의 경우각자 파트의 기능에 대해 집중할 수 있어서 조금 더 각자의 관심사에 맞는 코드가 나올 수 있고종단처리의 경우한 사람이 M V C 코드를 모두 작성하기 때문에 일관성있는 코드가 작성될 수 있다.

  • 동적 쿼리 정적쿼리는 기존에 사용한 방식대로 고정되어 있는 SQL문을 사용하는 것이고,동적쿼리는 상황에 맞게 쿼리를 조합하여 사용할 수 있는 방식이다. 이번 중간 프로젝트에서 전체 페이지 수를 반환하는 간단한 기능에 대한 쿼리문을 동적쿼리로 변경해 사용해 보았다.전체 페이지 수는 기능에 따라 다르게 나타날 수 있기 때문에 각각 쿼리문을 작성해야 하는데,반복되는 쿼리가 발생되므로 동적 쿼리를 사용했다.  ▼ 기능별로 각각 작성된 SQL문-- 3. 전체 페이지 수를 반환하는 select문 (페이지네이션 사용)-- [전체 검색 - 기본]SELECT CEIL(COALESCE(COUNT(PRODUCT_NUM),0)/9.0)AS PRODUCT_TOTAL_PAGE FROM PRODUCT;-- 아래는 AND~ 쿼리 사..