본문 바로가기

전체 글131

Spring_2주차-(2) 1. 영속성 컨텍스트 * Entity 객체를 효율적으로 쉽게 관리하기 위해 만들어진 공간이다. * 오른쪽 캡처를 보면 개발자들은 EntityManager를 사용해서 Entity를 저장하고 조회하고 수정하고 삭제할 수 있다. * EntityManager는 EntityManagerFactory를 통해 생성하여 사용할 수 있는데 EntityManagerFactory를 만들기 위해서는 DB에 대한 정보를 전달해야한다. * 정보를 전달하기 위해서는 /resources/META-INF/ 위치에 persistence.xml 파일을 만들어 정보를 넣어두면된다. (아래 예시는 스프링환경이 아니고 자바환경에서 하는중) * 코드에 화살표 부분에 이름은 보통 프로젝트나 클래스 명으로 하는게 좋긴하다. * 이제 실행 코드 부분.. 2023. 11. 2.
Spring_2주차-(1) 1. IoC(제어의 역전), DI(의존성 주입) *주입은 필드에 직접,메소드,생성자 형식으로 있는데 주로 생성자 주입을 사용한다. -왼쪽부터 차례대로 생성자,직접,메소드 방식 *제어의 역전은 왼쪽 코드 보면 Consumer가 직접 Food를 만들어 먹었기 때문에 새로운 Food인 피자를 만들려면 피자 자체를 새로 만들고 Consumer에도 추가해줘야해서 여러곳의 코드 변경,추가가 필요하다. * 이를 해결하기 위해 만들어진 Food를 Consumer에게 전달해주는 식으로 변경함으로써 Consumer는 추가적인 요리준비(코드변경) 없이 어느 Food가 되었든지 전부 먹을 수 있게 됬다. * 해결전에는 제어의 흐름이 Consumer → Food 였는데 이후에는 Food → Consumer 로 역전 되었다. 2.. 2023. 11. 2.
Spring_1주차-(2) 0. servlet 이란 동적인 웹 페이지를 생성하고 클라이언트의 요청을 처리하는 데 사용하는거로 이해하면 된다. 1. Spring MVC * 일단 MVC는 디자인 패턴이고 어떠한 효율적인 방법들을 패턴화 해놓은것들 말한다. * MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리한다. * Model 은 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행하고, View는 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현하는 인터페이스를 담당하고 컨트롤러는 Model과 View 사이의 상호작용을 조정하고 제어한다. * Spring MVC는 쉽게 말하면 Spring에서 MVC 디자인 패턴을 적용하여 HTTP 요청을 효율적으로.. 2023. 11. 1.
Spring_1주차-(1) 0. DNS 일단 네이버,구글,스파르타 홈페이지등 각각 ip주소가 있는데 일반인들이 192.168.0.354이런 ip주소를 다 외우기 힘드니 이 주소에 이름을 정해준다는거다. 그래서 네이버는 www.naver.com 이렇게 정한거고 ip주소에 이름 정해주는 이런걸 DNS라 한다. 1. 그레이들 (Gradle) * Gradle은 내가 작성한 java코드를 설정에 맞게 자동으로 Build를 해준다. * Build란 소스 코드를 실행 가능한 결과물로 만드는 과정을 뜻한다. * Gradle을 사용하면 간편하게 Java 소스 코드를 실행한 가능한 jar 파일로 만들어준다. * build.gradle은 Gradle 기반의 빌드 스크립트이고 이 스크립트를 작성하면 소스 코드를 빌드하고 라이브러리들의 의존성을 쉽게 관.. 2023. 10. 31.
23/10/30 1.응집도와 결합도 응집도와 결합도에 대해 읽어보니 헷갈리고 어려웠는데 느낀대로 말해보면 결합도는 의존성,응집도는 한 모듈이 갖고있는 하나의 기능을 따지는듯하다. *결합도가 낮으면 좋고 높으면 그닥 / 응집도가 낮으면 그닥 높으면 좋다 결합도,응집도 여러 단계로 나뉘어 지는데 이건 자세히 들어가려면 거의 책 한권의 내용일듯해서 일단 크게만 보고 예를들어 보면 -결합도: 비밀번호 변경하는 A클래스 있을때 A클래스에서는 비번 변경하려는 회원정보 불러오기 B클래스,변경비번확인 체크하는 C클래스,변경완료하고 회원정보 등록하는 D클래스 이렇게 필요하니 결합도가 있다 할 수 있는듯하다. -응집도: 회원가입 하는 클래스안에서 비밀번호 변경하는 메소드가 있을시, 회원가입 클래스에서는 회원 가입만 해야하는데 완전 다른 .. 2023. 10. 30.
23/10/27 1. 오늘 특강에서 강하게 머리속에 들어온것중 첫번째로는 프로그래밍에 관련된 글이나 깃허브 다른사람 코드 보는게 중요하다 했다. 이유는 이렇게하면 표현하는게 늘고 사고를 흡수한다해서 그렇다. 두번째로는 작업하다가 에러들을 만나는데 에러 복붙으로 해결만 하고 끝내지말고 고민해보고 고민한걸 글로 남겨보라 하셨는데 맞는말 같다. 예전에 어떤 에러 일어났을때 복붙 검색으로 해결하고 나중 또 같은 에러를 복붙 검색으로해서 기억에 안남으니 그렇다. 2. 팀프로젝트 진행하면서 인텔리제이에서 제공해주는 다이어 그램이라는거를 알게됬는데 중요하고 많이 사용 할 것 같다. 생각해보니 프로젝트랑 관련 없는 아예 다른 사람이 코드를 보면 처음부터 당연히 이해하기 어렵고 무엇인지 잘 모를테니 처음 구조,흐름을 이해하기 쉽도록 하.. 2023. 10. 27.