dev 31

gdg on campus ewha - Spring WIL 6주차

1. DAODAO : 데이터베이스에 접근하는 로직을 비즈니스와 별도로 분리 - SQL 실행, 예외처리 등을 분리하여 수행 -> 재사용성, 유지보수성을 위해 스프링  DAO의 필요성 : 코드 간소화, 예외처리 개선, 테스트 용이성코드 간소화 : 스프링 DAO는 반복적인 JDBC 코드를 줄여줌 : 개발자가 핵심 비즈니스 로직에 집중 가능하도록테스트 용이성 : 의존성 주입을 통해 DAO를 쉽게 모의 객체로 대체 가능 - 단위 테스트 용이  2. JDBCJDBC 템플릿 : 템플릿 메서드 패턴(메소드의 구조를 정의하고, 일부 단계를 하위 클래스에서 구현)을 구현 / 콜백 사용 / 배치 작업 지원(batchUpdate)JDBC 템플릿 사용법 : 의존성 추가 -> DataSource 설정(빈 정의 -> 연결 풀 설정..

dev/백엔드 2024.11.17

스프링 스터디 4주차

스프링 스터디 4주차 : 김영한의 스프링 입문강의 15,16,17강 15강 : 회원 웹 기능 - 홈 화면 추가저번에 만든 멤버 컨트롤러, 의존관계 -> 멤버 컨트롤러로 회원 등록/조회하는거 만들어보자위와 같이 HomeController를 만들고, templates에 home.html을 만든다 Spring Boot에서 / 경로로 요청이 들어오면 home.html을 반환하도록 설정한 것!Spring Boot의 기본 설정에 따라 templates 폴더 안에 home.html 파일을 넣어 두면, 해당 파일이 View Resolver에 의해 렌더링된다. 예를 들어, src/main/resources/templates/home.html 경로에 home.html 파일을 위치시키면, / 경로로 요청이 들어올 때 해당 ..

dev/백엔드 2024.11.10

스프링 스터디 3주차

스프링 스터디 3주차 : 김영한의 스프링 입문강의 11,12,13,14강 11강 회원 서비스 개발회원 리포지토리,도메인 활용하여 실제 비즈니스 로직 작성 기본 코드는 위와 같고, 추가적으로  중복 회원 검증 코드를 위와 같이 따로 메소드로 뺄 수도 있다 서비스는 비즈니스에 의존적인 네이밍을, 리포지토리는 기계적인 용어들을 사용 전체회원조회 기능도 구현   12강 회원서비스테스트ctrl + shift + t 단축키! 해당 단축키를 누르면, 테스트를 이렇게 간편하게 하도록 도와준다  테스트를 원하는 메소드를 클릭하고 확인을 누르면, 위와같이 테스트클래스 기본코드를 작성해준다  위와같이 바디를 작성하고 테스트를 하면, 잘 되는걸 확인할수있다  중복회원을 등록시키지 않는 기능이 잘 작동되는 지에 대한 테스트 t..

dev/백엔드 2024.11.03

gdg on campus ewha - Spring WIL 4주차

관점지향 프로그래밍과  커스텀어노테이션  - AOP : 핵심기능과 부가기능 분리하자- 애플리케이션  = 부가기능(중복되어 코드 전반에 흩어져있다) + 핵심기능 / 핵심기능 : 핵심 비즈니스 로직- 부가기능과 적용할 위치를 합쳐 ASPECT로 모듈화- 핵심 비즈니스 로직과 Aspect가 합쳐져서 애플리케이션이 실행됨- AOP : 횡단 관심사를 핵심 비즈니스 로직에서 분리하여 모듈성 향상시키는 프로그래밍 패러다임 / OOP 보완 / Aspect라는 특별한 객체로 모듈화- Aspect : 부가기능을 모듈화한 것 - Advice(what,when) + Pointcut(where)- Tartet : aspect가 적용될 객체(클래스,메소드..)- Advice : aspect가 특정 조인포인트에서 해야하는 부가기능..

dev/백엔드 2024.10.06

스프링 스터디 2주차

스프링 스터디 2주차 : 김영한 스프링 입문강의 8,9,10강 8강 : 비즈니스 요구사항 정리데이터 : 회원 id,이름기능 : 회원등록, 조회아직 데이터 저장소 선정되지 않음(시나리오)   일반적인 웹 애플리케이션 계층 구조- 컨트롤러 : 웹 mvc의 컨트롤러 역할- 서비스 : 핵심 비즈니스 로직 구현(ex.회원id 중복 금지 로직 등)- 도메인 : 회원,주문,쿠폰 등등 주로 db에 저장되고 관리되는 비즈니스 도메인 객체- 리포지토리 : db에 접근, 도메인 객체를 db에 저장하고 관리함  클래스 의존관계- 회원 비즈니스 로직에 회원서비스가 있고, 회원 리포지토리(회원을 저장하는 것)는 인터페이스로 구현 -> 이유 : 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 추후 변경할 수..

dev/백엔드 2024.10.05

스프링 스터디 1주차

스프링 스터디 1주차 : 김영한 스프링 입문강의 5,6,7강 5강 : 정적컨텐츠1) 스프링 웹개발 기초- 웹개발 기초의 3가지 방식 : 정적컨텐츠(서버에서 하는 것 없이 파일을 그대로 웹브라우저에 내려주는 것), MVC와 템플릿 엔진(가장 많이 사용, HTML을 서버에서 프로그래밍하여 바꿔서 내려주는 것 - 컨트롤러, 모델,뷰가 필요), API(안드로이드 등의 앱개발자와 협업 시 - JSON이라는 데이터 구조 포맷으로 클라이언트에게 데이터 전달 - react,vue 등에서 많이 사용, 혹은 서버끼리 통신시(서버끼리의 통신에선 html이 필요없으므로)) 2) 정적 컨텐츠- resources/static에 hello-static.html을 넣고, 이걸 그대로 전달- localhost:8080/hello-st..

dev/백엔드 2024.10.04

gdg on campus ewha - Spring WIL 2주차

이번주 세션 주제 : IoC 컨테이너와 스프링부트 자동 설정 - 스프링부트의 자동 설정과 조건부 빈 처리에 대한 이해 1) 저번 주 복습 - POJO (Plain Old Java Object) : 자바로 생성하는 순수한 객체 - 객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트- DI : 의존성 주입 - 각 클래스 간의 의존 관계를, 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해 주는 것 - 필요한 객체를 직접 생성하지 않고 외부로부터 받아서 사용-> 빈? 컨테이너?  2) IoC 컨테이너 = 스프링 컨테이너 = 애플리케이션 컴포넌트의 중앙 저장소 = 스프링에서 객체 생성을 책임지고 의존성을 관리하는 컨테이너로, POJO(객체)의 생..

dev/백엔드 2024.09.24

flutter : 앱 개발 과정 정확하게 톺아보기

저번 포스팅에 이어, 밑의 교재 chapter 4 부분을 공부해보려고 한다https://product.kyobobook.co.kr/detail/S000208993133 초보자도 프로처럼 만드는 플러터 앱 개발 | 이정주 - 교보문고초보자도 프로처럼 만드는 플러터 앱 개발 | 누구나 5주 만에 쉽고 빠르게 배우는 플러터 앱 개발의 모든 것만약 어느 날 갑자기 혼자서 플러터로 앱을 개발해야 한다면, 여러 가지 어려움에 직product.kyobobook.co.kr 1) ui작업 (위젯) - 위젯은 플러터에서 ui를 구성하는 기본 단위- 플러터 앱 개발은, 위젯이라는 레고 블록들을 이리저리 결합하고 반복해서 사용하는 작업의 연속- 선언형 ui : 플러터의 위젯은 바깥으로부터 입력된 필드 값과 상태에 따라 다르게..

dev/프론트엔드 2024.09.22

flutter : 앱 개발 과정 빠르게 훑어보기

https://product.kyobobook.co.kr/detail/S000208993133 초보자도 프로처럼 만드는 플러터 앱 개발 | 이정주 - 교보문고초보자도 프로처럼 만드는 플러터 앱 개발 | 누구나 5주 만에 쉽고 빠르게 배우는 플러터 앱 개발의 모든 것만약 어느 날 갑자기 혼자서 플러터로 앱을 개발해야 한다면, 여러 가지 어려움에 직product.kyobobook.co.kr 본격적인 대회 작업물 개발 전 마지막으로, 이 책의 챕터 3/4를 보고 개발에 들어갈 예정이다 데일리 캣츠 앱 -> 고양이 사진 리스트 조회, 상세 조회, 업로드, 댓글, 좋아요, 신고 등의 기능 구현 예정화면 구성 -> 사진 리스트 화면, 사진 상세 화면, 사진 업로드 화면컴포넌트 구성 -> 사진 리스트화면 : 앱바(제..

dev/프론트엔드 2024.09.22