GithubHelp home page GithubHelp logo

ktis_java's Introduction

ktis_java

2023.03.21 - 첫 번째 자바 수업 (절차지향으로 프로그래밍)

유지보수를 하기 위해 다양한 클래스를 둔다

jsp = java와 html 합쳐놓은 느낌

자바 클래스와 메서드로 구성 => 합쳐서 프로그램으로 함

주제 주시면 바로 당일 프로그램 만들기 - 23(목)까지 2-3일 간격으로 프로그램 숙제

  1. 등록부 자바, 절차지향적으로(한 클래스에 때려박기) 리스트(배열)을 다룸 // 이름 등록 // 사용할 변수

과제 : 삭제 할 이름을 입력했는데 없으면 "없다"는 안내문 있으면 " 삭제가 완료되었다는 안내문 -> count로 해결

만들고 대리님이 객체지향으로 보여주심(정답지)

2023.03.24 - 두 번째 자바수업 (객체지향으로 프로그래밍)

유지보수를 위해 클래스를 나눈다

vo 필드와 생성자(일종의 메서드인데, 생성할 때 단 한 번 호출됨)

기본 생성자는 어느 클래스에든 다 있다 생성자 사용법 - 만드는 이유는

this는 이 클래스를 의미

명시적 생성자 오버로딩 : 생성자 이름은 같지만 파라미터를 다르게 하여 각자 다른 동작 오버라이드 : 메소드 기능 재설정(재정의)

(빌더 패턴)

캡슐화를 통해 데이터의 접근을 제한

private - 타 클래스 메소드에서 접근할 수 없다 public으로 하면 타 클래스에서 접근 가능(직접 호출이 가능)

항상 메소드를 통해서 인자 값을 주고 받는다

arraylist<> 괄호 안에 클래스가 들어갈 수도 있고 타입이 들어갈 수도 있다

전제 : 코드 보지 말고 맨땅에 바로 코딩 과제 1: 수정기능 같은 주민번호를 입력을 받아서 이름을 수정하는 역할 ( 3번으로 수정 기능을 만들어서 주민번호를 입력했을 때 이름을 수정하는 코드 )

springboot와 springframework가 있으나 다음 수업은 springboot로 함

https://github.com/hjk7902/spring -> 미리 조금 공부하기

[이해가 안되는 것] setter를 통해서 private으로 된 곳에 넣는다 -> 설명 다시 한 번 요청 public void - 언제 void를 적어주는건지 => 우선 객체지향으로 해보고 이해가 안되면 다음 시간 시작할 때 질문하기

2023.03.28 - 세 번째 수업 - 스프링부트 - Controller

프론트엔드 3요소를 타임리프로 만들기

컨트롤러 : 로직 처리 없이, 요청을 받아서 단순히 넘겨주는 아이 서비스 : 로직 처리 레포지토리 : 트랜잭션 처리

생산성(유지보수)을 높이기 위해

서브릿과 jsp는 사용X 디스패처 서브릿의 구조를

파란색은 많이 건들지 않는다 빨간색은 많이 만지는 것

스프링 mvc 는 페이지를 넘겨주고

restful은 페이지를 안보여주고 데이터를 넘겨준다

msa 마이크로 소프트 아키텍처 -

컨트롤러가 작동 클래스 패키지 위치를 잘못 설정했거나

spring.bin으로 등록해야 한다.

스프링 컨테이너가

컴포넌트 스캔 : 스프링 컨테이너가 ~~~을 찾는 것

컨트롤러에 있는 getMapping에서 return해주는 값에 .html을 붙여 그 페이지를 화면에 띄워준다.

레스트 컨트롤러는 데이터를 넘겨줌


  1. 중복시 삭제 -> return boolean으로 중복확인

  2. 중복시 삭제하는 메소드 작성

  3. main.html에서 버튼, text칸 생성

  4. 기존의 함수와 비슷한 방식으로 클릭시 삭제 함수 생성

2023.04.14

공부 순서 : jpa -> mybatis

jpa 사용해보기

  1. 파일 형식으로 학습 데이터를 올린다.

각각의 상황에 맞는 모델이 대략 4가지 정도가 있음

파일 형식 "prompt": " ", "completion":" "

JPA 만들기 보여줌 이름 : SpringBoot file - lombok, spring web, maria db, thymeleaf, 2.7.11-snapshot

java 버젼 -8 application.properties파일에 DB정보 적어주기

컨트롤러 - index.html파일로 보내준다 => 핵심!

form 방식과 - 페이지 이동(페이지를 새로 그려주는 것) ajax 방식으로 보내주는게 있음 - (비동기 방식,

아무것도 안적으면 get 방식으로 감 method="post"

그냥 컨트롤러 -

레스트 컨트롤러 : 데이터를 보내기 때문에

VO, DTO, entity

jp에서 파라미터 => DB 정보를 공개하면 안되기 때문에

dto -> entity-> vo ->

리퀘스트 - entity - db - 리스폰스 => 핵심!!!

entity 파일 생성 후 @Table(name="테이블 이름")

@Builder //lombok -> 빌더 패턴 100% 사용, 안쓰는 사람 못봄 @AllArgsConstructor -> 모든 파라미터를 받아주는 생성자를 자동 생성 @NoArgsConstructor -> 파라미터를 받지않는 생성자를 자동 생성

MemberService 인터페이스에서 하나의 큰 틀을 짠다. - 설계적인 부분

서비스 구현체를 만들지 않아도 설계가 완벽하다면 원래는 인터페이스로 완벽하게 구현이 가능하다

@RequiredArgsConstructor -> 롬복을 쓰면 이걸로 캡슐화 @autowired를 생략할 수 있다.

@Data -> 모든 롬복을 다 해결해줌 MemberRequestDto.java에서 @Data를 선언해줌

빌더 패턴은 - ex) 멤버에 멤버 아이디를 사용한다고 기록해주는 것

ktis_java's People

Contributors

jojinho333 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.