본문 바로가기

분류 전체보기95

디자인패턴(템플릿 메소드 패턴 / 팩토리 메소드 패턴) 디자인 패턴 이란 ? 디자인 패턴은 소프트웨어 설계 시 특정 상황에서 자주 만나는 문제를 해결하기 위해 시용할 수 있는 재사용 가능한 솔루션을 말한다 모든 패턴에는 간결한 이름이 있어서 잘 알려진 패턴을 적용하고자 할 때 간단히 패턴 이름을 언급하는 것만으로도 설계의 의도와 해결책을 함께 설명할 수 있다는 장점이 있다. 디자인 패턴은 주로 객체지향 설계에 관한 것이고, 대부분 객체 지항적 설계 원칙을 이용해 문제를 해결한다. 패턴의 설계 구조를 보면 대부분 비슷한데,그 이유는 객체지향적인 설계로부터 문제를 해결하기 위해 적용할 수 있는 확장성 추구 방법이 대부분 두 가지 구조로 정리되기 때문이다. 하나는 클래스 상속이고 다른 하나는 오브젝트 합성이 다. 따라서 패턴의 결과로 나온 코드나 설계 구조만 보면.. 2019. 12. 16.
S3 는 무엇이고 왜 사용하는가? 한마디로 아마존에서 제공하는 storage 이다. 프로젝트를 진행하면서 이미지를 업로드 했을때 본인의 storage 파일에 저장이 되기때문에 다른 컴퓨터에서 이미지를 업로드 했을때는 당연히 나의 컴퓨터에는 파일이 존재하지 않기때문에 github로 내려받지 않는 이상 파일을 확인 할 수 없다는 문제가 있었다. 이러한 문제점을 해결하기 위해서는 하나의 클라우드 storage가 당연히 필요했고 모든 이미지를 aws s3에 저장을 하기로 했다. 이런 방법으로 회원의 이메일로 폴더를 만들고 그안에 각자의 이미지를 저장했다. 그러니 url 자체를 db에 저장해서 바로바로 가져다써 너무 편해졌다~ 그러고 기분좋게 github에 merge를 때렸다..... 그후에 국제전화가 계속 오고 aws에서 메일이 계속온다. 확인.. 2019. 12. 16.
Thread를 이용한 실시간 시계 import java.awt.Frame; import java.awt.event.WindowEvent; import java.awt.event.WindowAdapter; import java.text.SimpleDateFormat; import java.util.Date; import java.awt.Graphics; import java.awt.Font; import java.lang.Thread; class Clock extends Frame implements Runnable { public Clock(String title){ setFont(new Font("고딕", Font.BOLD,36)); setBounds(250,200,400,100); setVisible(true); setTitle(ti.. 2019. 12. 14.
Comparable , Comparator Comparable 과 Comparator하면 객체 정렬 을 떠올려야 한다!!!! 1. Comparable (java.lang) - 기본 정렬기준을 구현하는데 사용 - 주로 Integer와 같은 warpper클래스와 String, Date, File과 같은 것 - 기본적으로 오름차순으로 정렬되도록 구현되어 있다 - public int compareTo(T o) ​ public final class Integer extends Number implements Comparable ​ class PersonDTO implements Comparable { private String name; private int age; public PersonDTO(String name , int age){ this.nam.. 2019. 12. 14.