기록
-
학원 day76. MVC 패턴기록 2022. 12. 21. 16:57
웹 어플리케이션 개발방식은 크게 Model1 개발방식과 Model2 개발방식이 있다. 클라이언트의 요청이 오면 톰캣은 jsp와 서블릿을 실행하고, 클라이언트는 응답으로 html컨텐츠를 받게 된다. (웹서버 안에는 만들어놓은 웹어플리케이션이 있고, 웹어플리케이션은 보통 jsp와 서블릿이다.) Model1 개발방식에는 서버에 jsp가 들어있는데 JSP 안에는 html태그(디자인코드)와 java코드(로직코드)가 섞여서 들어있다. 그래서 헷갈리고 유지보수가 어려운 문제점이 있었다. 그리고 JSP에서 바로 DAO를 실행시켜 db엑세스를 요청하면 조회결과를 반환받는다. (세미프로젝트에서 사용했던 방식) Model2 개발방식에서는 MVC(Model-View-Controller)패턴을 적용해서 구현한다. JSP 안에 ..
-
-
학원 day71.기록 2022. 12. 14. 10:17
콜백함수 : 서버로부터 응답이 오면 자동으로 실행되는 함수 제이쿼리의 메소드에서 아래의 메소드들은 반환값이 문자열 혹은 boolean값이다. * 제이쿼리의 메소드 체이닝을 이어갈 수 없다. $("선택자").text() $("선택자").html() $("선택자").val() $("선택자").attr("속성명") $("선택자").prop("프로퍼티명") $("선택자").hasClass("클래스속성값") boolean값 반환 아래의 메소드들에서 반환값을 선택자로 검색된 엘리먼트가 포함된 제이쿼리 객체를 반환한다. * 제이쿼리의 메소드체이닝을 이어갈 수 있다. $("선택자").text("텍스트 컨텐츠") $("선택자").addClass("클래스속성값 클래스속성값")
-
학원 day70. 회원가입기록 2022. 12. 13. 10:12
화면에서 유효성 체크하기 var와 마찬가지로 let도 변수 정의하는 것 제이쿼리 이벤트 함수에서 false를 작성하면 이벤트와 관련된 기본 동작이 일어나지 않는다. 이벤트가 상위 이벤트로 전파되지 않는다. form의 기본동작인 서버로 제출되는 걸 막는다. 마지막에는 return true를 반환해서 submit 이벤트 발생시 태그의 기본동작(폼입력값을 서버로 제출하는 동작)이 진행되도록 한다. 동일한 아이디, 이메일을 사용하는 사용자가 있는지 체크하기 content Type = "text/plain"으로 변경한다.
-
학원 day69.기록 2022. 12. 12. 12:02
(오전 보충) 우리가 하는 일은 정보시스템을 구축하기 위해서 구현하는 것이다. 정보 저장, 관리, 조회를 해야하는데 이 때 DB를 사용한다. DB - 데이터베이스 (데이터를 실질적으로 저장하고 있음) DBMS - 데이터베이스 관리시스템 (데이터를 분석하여 CRUD작업을 함) 정보를 표현하는 클래스 : VO클래스 정보에 대한 DB엑세스 작업을 하는 전담하는 객체 : DAO 객체 OJDBC 라이브러리 : 오라클 DB 엑세스 작업을 하기 위해 필요한 라이브러리 IBATIS와 관련된 환경설정 : 소스폴더 - src/main/resources 안에다가 폴더 META-INF/ibatis/mappers 폴더를 만든다. ibtis-config.xml과 sql이 정의되는 매퍼파일(.xml)을 넣는다. 매퍼파일(.XML)..
-
학원 day68. Map 정복기록 2022. 12. 9. 23:23
컬렉션 클래스의 객체를 만들 때 list, set, map 같은 인터페이스 타입으로 참조하는데 컬렉션 클래스로 하지 않고 인터페이스로 참조하는 이유가 따로 있는지? Set set = new TreeSet(); 보통 이런식으로 컬렉션 클래스의 객체를 만들고 참조하는데 비해 TreeSet set = new TreeSet(); 이렇게는 잘 안하는데 왜 그런것일까? // HashMap 객체를 반환하는 메소드 public HashMap getUserInfo() { return HashMap 객체를 반환해야 한다. } // Map 객체를 반환하는 메소드 public Map getUserInfo() { return 모든 Map의 하위 객체를 반환할 수 있다. } // 매개변수를 Map으로 하는 메소드 public L..
-
학원 day67. 싱글턴 정복중....기록 2022. 12. 8. 23:26
싱글턴은 객체를 한개만 사용하는 방법이다. TodoDao dao = new TodoDao(); : jsp 안에서 객체를 생성했다. 그리고 jsp가 실행될 때마다 계속 생성된다. 그런데 사실 TodoDao는 그 안에 값을 담는게 아니라서 객체 한개만 있으면 된다. 그래서 그 안에 자기 자신을 담는 static변수를 하나 만든다. 그리고 생성자를 private으로 만든다. private이니까 외부에서 안보인다. 객체를 함부로 사용할 수 없게 됨. private static TodoDao instance = new TodoDao(); private TodoDao( ) { } 그리고 public static 메소드를 만들어 위에서 만든 instance를 제공한다. (정적메소드는 객체 생성 안하고도 쓸 수 있으니..
-
학원 day66. github기록 2022. 12. 7. 16:07
깃에서 메인이라는 기본브랜치를 갖고 있음을 확인할 수 있다. 완전히 분리된 작업공간을 브랜치라고 한다. 원격저장소에 main이라는 브랜치가 있다. 개별로 메인이라는 가지를 갖고 있고, 메인이라는 가지에 소스코드를 올린다. 원격저장소 메인에 소스코드를 올린다. 그런데 개별로 수정한 소스코드를 올렸는데 같은 곳을 다르게 수정하면 충돌이 발생한다. 관리자 작업을 할거면 dev-admin-1207 이라는 브랜치를 만든다. 브랜치를 만들 때 메인에 있는 걸 복사해서 만든다. 그리고 위에 병합시킨다. (34분) 그리고 다시 내려받는다. notice하고 admin 개발한게 들어있을 것이다. 또 개발하고 올리고 병합하고 다시 내려받는다. 메인이라는 브랜치를 안 깨뜨리려고 하는 것이다. 브랜치를 따는 것이다. 내가 개별..