- PYTHON
- mysql
- 프로그래머스
- Git
- spring mvc
- spring boot
- DI
- string
- Django
- nginx
- Docker
- sql
- select
- SSL
- java
- ORM
- @transactional
- AWS
- 자바
- 스프링
- join
- spring security 6
- 1차원 배열
- 데이터베이스
- jpa
- springboot
- 문자열
- 스프링부트
- spring
- session
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록Java (80)
개발하는 자몽
MVC(Model View Controller) 사용자 인터페이스, 데이터 및 논리 제어를 구현하는 데 사용되는 소프트웨어 디자인 패턴 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있다. MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같다. Model : 데이터와 비즈니스 로직 관리 데이터베이스와 직접적으로 상호작용하는 역할(SELECT, INSERT, UPDATE, DELETE) 데이터의 상태가 변경되는 경우, View에 알리거나 가끔 Controller에게 알리기도 한다. View : 레이아웃과 화면 처리 앱의 데이터를 보여주는 방식(UI) 템플릿 엔진, HTML/CSS 모델/DB에 직접 접근하지 않고 Controller와 상호작용 Controller : 명령을 Model과 V..
DAO(Data Access Object) DB의 데이터에 접근하기 위한 객체 DB 접근 로직 / 비즈니스 로직을 분리하기 위한 용도로 사용 DB에 접속하여 데이터 CRUD(Create, Read, Update, Delete) 작업을 시행하는 클래스 DAO는 단일 데이터에 대한 접근, 갱신 개념이다. Service는 하나 이상의 DAO를 이용하여 비즈니스 로직을 처리한다. (Like 트랜잭션 단위) DTO(Data Transfer Object) 각 계층간 데이터를 교환하기 위한 객체 어떠한 로직도 가지지 않는 순수한 데이터 객체 getter, setter 메소드만 가지고 있는 클래스 setter를 활용하기 때문에 가변(mutable)성을 가지고 있는 클래스 VO(Value Object) 각 계층간 데이터..
이 글과 관련하여 새로운 글을 작성했다. 도메인형과 계층형 패키지 구조가 무엇인지 알았다면 이 글도 읽어보자. [Spring] 패키지 구조 설계 이전에 패키지 구조에 관한 글을 쓴 적이 있다. [Spring Boot] 패키지 구조 여러 글을 찾아봤는데 크게 두 가지 방식으로 패키지 구조를 구성한다. 도메인형 패키지 구조 계층형 패키지 구조 개발의 backend-jaamong.tistory.com 여러 글을 찾아봤는데 크게 두 가지 방식으로 패키지 구조를 구성한다. 도메인형 패키지 구조 계층형 패키지 구조 개발의 규모나 성격, 회사에서 진행하는 방식에 따라 정해지는 것으로 보인다. 두 방식에 대해 간단하게 정리해보자. (위에서 언급한 것처럼 개발, 회사마다 다르므로 내가 정리한게 맞다는 보장은 없다.) 도..
현업에서 Spring Boot를 많이 사용하지만 Spring 또한 잘 알아야 DevOps나 다른 개발자와의 협업이 수월하다고 해서 공부한다. 계획은 다음과 같다. (1~5 : 환경 세팅, 6 : 테스트, 7 : 구축한 환경에서 코딩) Eclipse 설치 Gradle Project 생성 Spring MVC 할 수 있도록 환경 설정 이클립스에서 gradle 프로젝트 생성하기 나는 C > C++ > java > js 순으로 배웠다 요즘은 쭉 nodejs에서 npm, package.json 을 통해 모듈을 쉽게 설치하고 관리하였다 오랜만에 java로 돌아오니까 외부 라이브러리를 임포트 할 때 불편하게 느껴졌다 chinsun9.github.io 2. File > New > Others... 클릭 3. Gradle..
[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 위 강의를 바탕으로 작성 중입니다. 비즈니스 요구사항 정리(쉬운 버전) 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러(Controller) : 웹 MVC의 Controller 역할 서비스(Service) : 핵심 비즈니스 로직 구현 리포지토리(Repository) : 데이터베이스에 접근..
정적 컨텐츠(Static Content) 서버에서 프로그래밍 하는 것 없이 파일을 웹 브라우저에 그대로 보냄 스프링 부트는 정적 컨텐츠 기능을 자동으로 제공 웹 브라우저 : localhost:8080/hello-static.html 스프링 부트 내장 tomcat 서버 스프링 컨테이너 : hello-static 관련 컨트롤러 X (컨트롤러가 1순위) → resource로 찾으러 떠나기 resources : static/hello-static.html resources에 hello-static.html 있어서 웹 브라우저에 hello-static.html 반환 MVC(Model, View, Controller)와 템플릿 엔진 서버에서 html을 변형해서 주는 방식 사용자: Controller 조작 Contr..
필요한 것 찾는 방법 spring.io 접속 Project > Spring Boot > Learn : 버전에 맞는 reference documentation 에서 잘 찾기.. 스프링 부트 Welcome Page 기능 src > main > resources > static에 index.html 생성해서 아래 내용 입력 후 run → localhost:8080 접속하면 Hello hello 정적 페이지 : 위 html파일을 웹서버가 웹브라우저에 넘겨줌(응답), no 프로그래밍 그냥 파일을 던져준 것 템플릿 엔진(Template Engines)을 사용해서 위에꺼 모양 바꾸기 가능 → 나는 Thymeleaf 사용 src > main > Hello.hellospring(package) > controller(란..
Maven, Gradle 같은 빌드 툴들은 의존 관계를 관리해준다. 예를 들어 spring web -> spring-boot-starter-web만 가져오는게 아닌 이 친구를 쓰려면 다른 친구들도 필요하다. (의존 관계) Gradle이 필요한 친구들을 다 가져온다. 즉, Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다. spring-boot-starter(공통) : 스프링 부트 + 스프링 코어 + 로깅 +) log에 관심이 있다면, logback 또는 slf4j 검색
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/lecture/48553?volume=0.90&mm=null&tab=note&quality=1080 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 위 강의 기반으로 내가 모르는 부분만 정리 start.spring.io : spring initializr 필요한 라이브러리를 가져오고 빌드하는 라이프사이클까지 관리..
C++, Java를 이용해서 코딩을 하지만 객체지향프로그래밍에 대해 제대로 알지 못하는 것 같아서 간단하게 정리해보려고 한다. 추상화 "해결해야할 문제를 소프트웨어적으로 단순하게 만드는 행위" 소프트웨어 설계 = 복잡한 현실 문제를 간단하게(추상화)하는 과정 부품화 로직과 관련된 변수, 메소드 = 객체 -> 다른 곳에도 활용 가능(재활용성 up) 다른 곳에도 활용 가능하다는 것은 "부품"으로써 사용된다는 의미 "메소드"는 프로그램 안에서 중복되게 사용되는 것을 별도로 분리해서 로직으로 만든 것 --> 객체지향으로 이어짐 => 메소드 사용 ~ 코드 양 감소, 코드 찾기 쉬워짐, 문제 진단 속도 증가 은닉화, 캡슐화 제대로된 부품이라면 해당 부품이 어떻게 만들어졌는지 모르는 사람도 사용 방법만 알면 쓸 수 ..