- springboot
- Docker
- 문자열
- session
- PYTHON
- mysql
- Git
- spring mvc
- 자바
- sql
- 스프링
- DI
- AWS
- SSL
- 스프링부트
- spring
- nginx
- 데이터베이스
- spring security 6
- @transactional
- spring boot
- 1차원 배열
- jpa
- join
- select
- java
- ORM
- Django
- 프로그래머스
- string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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)
개발하는 자몽
Wrapper class 프로그램에 따라 기본 타입(primitive type)의 데이터를 객체를 취급해야 하는 경우 먼저 데이터를 객체로 변환한다. 8개의 기본 타입에 해당하는 데이터를 객체로 포장하는 클래스를 wrapper class라고 한다. wrapper class는 각각의 타입에 해당하는 데이터를 인수로 받아, 해당 값을 갖는 객체로 만든다. wrapper 클래스는 모두 java.lang 패키지에 포함된다. 자바의 기본 타입에 대응하여 제공하고 있는 wrapper 클래스는 아래와 같다. primitive type wrapper class byte Byte short Short int Integer long Long float Float double Double char Character bool..
상속을 공부하다가 is-a, has-a 관계를 명확하게 알아둬야 사용에 유의할 수 있음을 깨달았다. is-a 간단히 is-a는 'A는 B이다'의 '~이다'와 같다. is-a는 추상화(형식이나 클래스와 같은)들 사이의 포함 관계를 의미한다. 한 클래스 A가 다른 클래스 B의 서브클래스임을 말한다. 타입 A는 타입 B의 명세(specfication)를 암시한다는 점에서 타입 B의 서브타입이라고도 할 수 있다. is-a 관계는 타입 또는 클래스 간의 has-a 관계와는 대조된다. has-a 및 is-a 관계들 간의 혼동은 실세계 관계 모델에 대한 설계에 있어 자주 발견되는 에러이다. 또한 객체 또는 타입 간의 instance-of 관계와도 대조된다. - 위키피디아 - is-a 관계를 통해 생성된 클래스 및 객..
static static 키워드를 사용하여 static 변수와 static 메서드를 만들 수 있다. 각각 정적 필드와 정적 메서드라고도 하며 둘 모두를 정적 멤버(클래스 멤버)라고 말한다. 이 둘은 객체(instance)에 소속된 멤버가 아닌 클래스에 고정된 멤버로, 클래스 로더(classloader)가 클래스를 로딩해서 메서드 메모리 영역에 로드할 때 클래스별로 관리된다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용이 가능하다. static 키워드로 생성된 정적 멤버는 heap이 아닌 static 영역에 메모리가 할당된다. static 영역에 할당된 메모리는 모든 객체가 공유할 수 있어서(같은 곳의 메모리 주소만 바라봄) 어디서든지 참조할 수 있다는 장점을 갖는다. 그러나 Garbage Collect..
자바를 공부하면서 new 키워드 없이 객체를 생성하면(only declaration) 이 객체는 메모리를 할당받는지 궁금했다. 처음에는 단순히 이렇게 검색했다. "자바 new 역할" "자바 메모리 할당" "자바 new 객체" 위와 같이 검색하면 new로 인스턴스화된 객체의 메모리 상태를 알려주는 글들이 수두룩하게 나온다. 하지만 내가 궁금했던 것은 인스턴스화 이후의 메모리 상태가 아니었기 때문에 친구에게 도움을 요청했다. 저렇게 검색 키워드 추천을 받고 다시 검색을 했다. "JVM 메모리 할당" "JVM declare memory" JVM과 선언, 메모리 이 세가지 키워드를 함께 검색하니 글을 하나 발견했다. JVM allocates memory at declaration for primitive typ..
스프링과 객체 지향의 관계를 정리해보자. 스프링과 객체 지향 스프링은 객체 지향 언어인 Java 기반의 프레임워크로 좋은 객체 지향 애플리케이션을 개발할 수 있도록 도와준다. 객체 지향의 특징 추상화 캡슐화 상속 다형성 객체 지향 프로그래밍 객체 지향 프로그래밍은 컴퓨터 프로그램을 "객체"들의 모임으로 보는 것으로 각 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 이렇게 객체들이 주고받고 하는 것을 "협력"한다고 하자. 또한 프로그램을 유연하고 변경하기 좋게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 다형성? 다형성(Polylmorphism)은 하나의 객체가 여러 타입을 가질 수 있다는 것을 의미한다. 세상을 역할과 구현으로 구분해보자. 운전자(역할)는 자동차(역할)의 종류가 어떤 것..
이 글은 아래 강의를 기반으로 작성됩니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com AOP가 필요한 상황 AOP는 언제, 왜 쓰는지를 알면 어렵지 않다. 그렇다면 언제 쓰고 싶은 걸까? 다음과 같은 상황이 주어졌다고 하자. 모든 메소드의 호출 시간을 측정하고 싶어 공통 관심 사항(cross-cutting concern) VS. 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶어 모든 메소드의 호출 시간을 측정하고 싶어서 초 단위로 측정을 했다. ..
이 글은 아래 강의를 기반으로 작성됩니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 다음 순서로 진행한다. 스프링 통합 테스트 스프링 JdbcTemplate JPA 스프링 데이터 JPA 본래 강의 순서대로라면 "H2 데이터베이스 설치"와 "순수 JDBC"가 있어야 하는데 데이터베이스 설치를 따로 다룰 필요는 없어 보이고, 순수 JDBC는 요즘 실무에서 쓰지 않는 걸로 알고 있기 때문에 넘긴다. 스프링 통합 테스트 이전까지 했던 테스트는 전혀 스프링과 관련이 없는 순수한 Java 코드로..
이 글은 아래 강의를 기반으로 작성됩니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 다음 순서대로 진행한다. 회원 웹 기능 - 홈 화면 추가 회원 웹 기능 - 등록 회원 웹 기능 - 조회 홈 화면 추가 1. 홈 컨트롤러 추가 controller 패키지에 HomeController를 추가한다. @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } @GetMapp..
지난 포스트에서 스프링 빈을 등록하는 방법에는 2가지가 있고, 그중에서 "컴포넌트 스캔과 자동 의존관계 설정" 방식을 다뤘다. 이번에는 "자바 코드로 직접 스프링 빈을 등록"한다. 이 글은 아래 강의를 기반으로 작성됩니다. 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 자바 코드로 직접 스프링 빈 등록 등록 전에 이전에 MemberService와 MemoryMemberRepository에 사용한 @Service, @Repository, 생성자 위에 @Autowired를 전부 제거한다. MemberController의 @Contro..
이 시리즈는 오랜만에 작성한다. ㅎ.. 정신차리고 다시 해야지. 이 글은 아래 강의를 바탕으로 작성됩니다. 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 스프링 빈(Bean)을 등록하는 방법에는 2가지가 있다. 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록 이 글에서는 첫번째 방법을 이용해서 등록한다. 컴포넌트 스캔과 자동 의존관계 설정 멤버 컨트롤러는 멤버 서비스를 통해 회원가입을 하고, 데이터를 조회할 수 있어야 함 → 의존관계가 있다 : 멤버 컨트롤러가 멤버 서비스를 의존한다. 빈(Bean)이란? Sp..