전체 글 (104) 썸네일형 리스트형 [WIL] 2022.12.19~12.23 애자일 방법론, Lombok, Annotation, 라이브 코딩 등 코딩 스킬을 향상시켜 줄 스킬을 다지는 한주였다. 특히 팀프로젝트에서 애자일 방법론을 적용하여 진행한다면 팀원들과 원할한 소통을 하며 체계적인 진행을 할 수 있을 것 같다. 머리를 식히는 소소한 이벤트도 진행되어서 크리스마스를 앞두고 싱숭생숭한 마음을 달랠 수 있었다. 트리에 적은 다짐을 항상 생각하며 남은 일정도 소화해야겠다. 2022.12.23 @Annotation 빈(Bean) vs 컴포넌트(Component) 빈(Bean) 이란? 애플리케이션에서 빈(Bean)이라는 이름으로 객체를 미리 생성해놓고 돌려쓰는것을 얘기한다. (한번만 생성하고 쓰레드들이 다같이 쓴다. = 싱글톤) 스프링앱에 여러 번 빈을 요청하더라도 매번 동일한 객체를 돌려준다는 것이다. (스프링이 빈을 관리한다.) 애플리케이션 컨텍스트(컨테이너) 가 싱글톤으로 빈을 관리하는 이유는 대규모 트래픽을 처리할 수 있도록 하기 위함이다. (메모리는 한정적이기 때문) 컴포넌트(Component) 란? 개발자가 직접 작성한 Class를 Bean으로 등록한 것을 얘기한다. (Bean 과 동일하게 한번만 생성하고 쓰레드들이 다같이 쓰게 하려고) @Component -> (구체화) -> @Controller, @S.. 2022.12.22 DAO, DTO, VO 데이터 관리 데이터에 접근, 교환, 값 관리를 위한 객체들이 필요함 DAO DAO(Data Access Object) 는 데이터베이스의 data에 접근하기 위한 객체입니다. DataBase에 접근 하기 위한 로직 & 비지니스 로직을 분리하기 위해 사용합니다. DTO DTO(Data Transfer Object) 는 계층 간 데이터 교환을 하기 위해 사용하는 객체로, DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)입니다. 유저가 입력한 데이터를 DB에 넣는 과정을 보겠습니다. 유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송합니다. 해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어넣습니다. VO .. 2022.12.21 Lombok 01. Intro 프로그래밍을 하면서 거의 비슷한 코드인데, 반복적으로 적게되는 코드를 마주 한 적 많이있다. 대표적으로 getter와 setter같은 것들이 있습니다. 프로그래밍에서는 이러한 것들을 “보일러 플레이트 코드”라고 합니다. 1890년대 신문사업에서, 광고나 컬럼같이 계속 사용하는 텍스트들을 강철로 인쇄판으로 찍어냈던 것에서 유례. Java에서도 반복적인 코드를 쉽게 작성해주는 Lombok과 같은 라이브러리 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57.. 2022.12.20 IntelliJ tips 개요 Jetbrains사에서 개발한 IDE(Integrated Development Environment, 통합개발 환경) • full name = IntelliJ IDEA ◦ Intelli ===> Intelligent ◦ J ===> Java ◦ Idea ===>IDE that is Advanced • IDE : 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어 • Pycharm, Webstorm, Datagrip 등도 Jetbrain사가 개발한 IDE 지원 언어 및 프레임워크 • Java 및 Kotlin, Scala 및 Groovy와 같은 기타 JVM 언어 • JavaScript 및 관련 기술에 대한 지원 • Spring.. 2022.12.19 애자일 방법론 팀프로젝트를 하며... 뭐가 잘못됐지? (메타 인지) 꾸준한 반복으로 달인이 되려면 적어도 실력을 개선하려는 동기가 있어야 하고 구체적인 피드백을 적절한 시기에 받아야한다. → 적절한 시기란 짧고 빈번한 시기 → 지속적으로 자신의 감정 상태를 살피면서 지금 지루한지 불안한지를 알아채야한다. ‘알아차림’이 꼭 필요 (다른 말로 메타인지. 메타인지는 교육학과 심리학 연구에서 공부를 잘하는 사람들의 중요한 특징 중 하나로 꼽힌다.) → ‘알아차림’을 통해 전략을 적절히 사용해야한다. 효과적으로 프로그래밍 언어를 학습하는 방법은 무엇일까? 튜토리얼을 읽을 때 뭘 만들지 생각하고 읽는다. 튜토리얼을 읽다가 어느정도 프로그램을 만들 수 있겠다는 생각이 들면, 읽기를 멈추고 코딩을 시작한다. → 목적을 가지고 적극적.. [WIL] 2022.12.12~12.16 스프링 숙련주차로 JPA심화에 대한 내용을 학습했다. 지난 주차에서 배운 내용에 대한 이해와 설명을 통해 한 걸음 성장한 것 같다. MySelectShop 프로젝트 실습을 통해 웹서버 설계, 구현, 동작 원리를 익히고 효율적인 프로그래밍을 위해 어떠한 것들을 고려해야하는지 생각하는 계기가 되었다. 이후 진행될 LV2 과제를 진행하며 앞서 배운 것들을 잘 적용하며 프로그래밍 해볼 것이다. 2022.12.16 MySelectShop 필요한 기능 확인하기 키워드로 상품 검색하고 그 결과를 목록으로 보여주기 관심 상품 등록하기 관심 상품 조회하기 관심 상품 최저가 등록하기 Product 설계 Product.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 package com.sparta.myselectshopbeta.entity; import com.sparta.myselectshopbeta.dto.ProductRequestDto; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; .. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음