Goal JAVA의 3가지 문자열 클래스에 대해 간략하게 설명할 수 있다. 각 문자열 클래스의 차이점에 대해 설명할 수 있다. 상황에 맞게 문자열 클래스를 사용할 수 있다. Introduction JAVA에는 문자열 클래스로 String, StringBuffer, StringBuilder 3가지가 있습니다. 사소해보이지만 상황에라 어떤 클래스를 쓰냐에 따라, 성능차이가 발생하는데요. 어떤 차이점이 있는지 알아보도록 하겠습니다. String vs StringBuffer vs StringBuilder Index String StringBuffer StringBuilder Storage Area Heap or Constant String Pool Heap Heap Modifable No(immutable) Y..
Q) VO와 Map의 차이는? 언제 VO를 쓰고 언제 Map 써야하는가? => 목적에 맞게 Java Beans 일반적으로 자바빈은 속성과, 그 속성에 대한 getter, setter 메서드로 구성된 데이터 객체(VO, Value Object)를 말하며 데이터 전송에 사용되는 객체를 말한다. 자바로 작성된 재사용 가능한 소프트웨어 컴포넌트 getter, setter 메서드를 통해 컴포넌트에 접근가능 VO (Value Object) 데이터 그 자체로 의미 있는 것을 담고 있는 객체 DTO와 동일한 개념이나 차이점은 Read–Only 속성 객체이다. 간단한 독립체( Entity )를 의미하는 작은 객체를 의미한다. **VO vs DTO DTO (Data Transfer Object) 계층간 데이터 교환을 위한..
VO(Value Object) 데이터 그 자체로 의미 있는 것을 담고 있는 객체이다. DTO와 동일한 개념이나 차이점은 Read–Only 속성 객체이다. 간단한 독립체( Entity )를 의미하는 작은 객체를 의미한다. 관계데이터베이스의 레코드에 대응되는 자바클래스이다. 형태는 Database 레코드를 구성하는 필드들을 VO의 Attribute로 하고 해당 변수에 접근 할 수 있는 Getter와 Setter 메소드의 조합으로 클래스를 형성되어진 클래스이다. 거의 불변성을 가지고 equals()로 비교할 때 객체의 모든 값을 비교해야 한다. 색상으로 예를 들어보겠다. 색상 중에 빨강과 초록을 RGBA로 나타내면 RGBA(255,0,0,0)와 RGBA(0,255,0,0) 로 표현된다. 더 나아가서 코드명이 ..
POJO(Plain Old Java Object)란 무엇인가? 스프링 개발을 하면서 POJO 프로그래밍이라는 용어를 자주 접한다. 이제까지 느낌적으로 특정 규약에 종속되지 않는 자바 객체 정도로 이해해왔다. 이 포스팅에서 POJO의 조건과 POJO 프로그래밍의 장점에 대해 예시를 통해 알아볼 것이다. POJO 개념을 사용하지 않은 예시 ( Tight Coupling ) JMS로부터 메시지를 받는 경우 JMS를 사용하기 위해 MessageListener 인터페이스를 상속받아야 한다. 하지만, 다음과 같이 구현하면 JMS라는 특정 환경에 종속되게 되고 다른 메시징 솔루션을 적용하기 어려워 진다. 단순한 예제와 달리 Listener가 많은 경우, AMQP나 다른 솔루션으로 교체할 경우 더더욱 어려울 것이다. ..
React & Spring Boot 연동해보기! 프로젝트 진행에 앞서 연습해보기! Front-end : React Back-end : Spring Boot 스프링 부트를 통해 서버 API 역할을 구축하고, UI 로직을 React에서 담당 ( React는 컴포넌트화가 잘되어있어서 재사용성이 좋고, 수많은 오픈소스 라이브러리 활용 장점 존재) 개발 환경도구 (설치할 것) VSCode : 확장 프로그램으로 Java Extension Pack, Spring Boot Extension Pack 설치 (메뉴-기본설정-설정에서 JDK 검색 후 'setting.json에서 편집'을 들어가 java.home으로 jdk 경로 넣어주기) "java.home": "C:\\Program Files\\Java\\jdk1.8.0_..
1. 프로그래머의 자리는 상사와 6~7m 떨어져있음 2. 그래서 생각해낸 게 웹캠을 이용해서 상사가 오면 대응할 수 있는 거임 3. 카메라가 상사의 얼굴을 인식하면 바로 바탕화면이나 일하는 화면을 띄우게 프로그래밍함 4. 진짜 샀다 카메라 5. 상사 얼굴 인식! 6. 상사 SNS와 사내 인트라넷을 털어서 정확도 높이기 그외 필터링 할 사람들까지 입력 7. 딥러닝 코드 개발 8. 스크린을 자동으로 바꾸는 화면을 설정 상사가 가까이 오면 이게 뜨면서 열일하는 것처럼 보임 9. 성공적으로 동작한 프로그램.. 상사가 가까이 다가오면 화면이 바뀜ㅋㅋ ... 상사 얼굴 학습 후 웹캠에 잡히면 화면이 자동 전환되는 소프트웨어 등장. 상급자나 동료 얼굴을 학습했다 화면을 바꿔주는 ‘보스센서’ 작동 화면 일본 개발자, ..
컴포지트 패턴 (composite pattern) 객체들을 트리 구조로 구성하여 부분과 전체를 나타내는 계층구조로 만들수 있다. 클라이언트에서 개별 객체와 다른 객체들오 구성된 복합 객체(composite)를 똑같은 방법으로 다룰 수 있다. 식당 메뉴를 예로들어 생각해본다면 중첩되어 있는 메뉴 그룹과 메뉴 항목을 똑같은 구조 내에서 처리할수 있게끔 하는 것이다. 메뉴와 메뉴항목을 같은 구조에 집어넣어서 부분-전체 계층구조를 생성할수 있다. 이런 복합구조를 사용하면 복합 객체와 개별 객체에 대해 구분없이 똑같은 작업을 적용할 수 있다. 컴포지트 패턴 클래스 다이어그램 컴포지트 패턴을 메뉴에 적용시켜본다면.. 우선 구성요소 인터페이스를 만드는 것부터 시작해보자. 이 인터페이스는 메뉴와 메뉴 항목 모두에 적용..
이터레이터 패턴 (iterator pattern) 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있는 방법을 제공한다. 컬렉션 객체 안에 들어있는 모든 항목에 접근하는 방식이 통일되어 있으면 어떤 종류의 집합체에 대해서도 사용할 수 있는 다형적인 코드를 만들수 있다. 이터레이터 패턴을 사용하면 모든 항목에 일일이 접근하는 작업을 컬렉션 객체가 아닌 반복자 객체에서 맡게 된다. 이렇게 하면 집합체의 인터페이스 및 구현이 간단해질 뿐 아니라, 집합체에서는 반복작업에서 손을 떼고 원래 자신이 할 일(객체 컬렉션 관리)에만 전념할 수 있다. 이터레이터 패턴 클래스 다이어그램 두개의 서로다른 식당이있고 각각의 식당에서 메뉴를 구현한다고 가정해보자. public class..
도서 쇼핑몰 (BookTopia) Language OS Architecture Framework Java Windows10 Model-View-Controller Spring4 깃허브 : https://github.com/swk3169/bookshop swk3169/bookshop Contribute to swk3169/bookshop development by creating an account on GitHub. github.com
템플릿 메소드 패턴 (template method pattern) 메소드에서 알고리즘의 골격을 정의한다. 알고리즘의 여러 단계 중 일부는 서브클래스에서 구현할 수 있다. 템플릿 메소드를 이용하면 알고리즘의 구조는 그대로 유지하면서 서브클래스에서 특정 단계를 재정의 할 수 있다. 알고리즘의 틀을 만들기 위한 패턴이다. 이 패턴에서 틀(템플릿)이란 일련의 단계들로 알고리즘을 정의한 메소드다. 여러 던계 가운데 하나 이상이 추상 메소드로 정의되며, 그 추상 메소드는 서브클래스에서 구현된다. 이렇게 하면 서브클래스에서 일부분의 단계를 구현할 수 있도록 하면서도 알고리즘의 구조는 바꾸지 않아도 되도록 할 수 있다. 템플릿 메소드 패턴 클래스 다이어그램 커피와 차가 만들어 지는법을 비교해보자. 1. 커피 만드는 법..
- Total
- Today
- Yesterday