패스트캠퍼스 43

220129_스프링입문_디자인패턴_싱글톤패턴_패스트캠퍼스 챌린지 06일차

[스프링입문_디자인패턴_싱글톤패턴] 1. Singleton pattern : 어떠한 클래스(객체)가 유일하게 1개만 존재할 때 사용 : 주로 사용하는 곳 --> 서로 자원을 공유하는 경우 : 프린터 등 : 프로그래밍에서는 TCP Socket통신에서 서버와 연결된 connect 객체에 주로 사용 : Spring의 Bean등에서도 주로 사용 -Singleton -instance -singleton() -getInstance() 2. 인텔리제이 실습 _ 따라해보기 (1) New Project > Java , Next 클릭 (2) Create porject from template 체크, Next 클릭 (3) Project name: design Base package: com.company.design Fin..

개발새발/Spring 2022.01.29

220129_스프링입문_디자인패턴_디자인패턴이란_패스트캠퍼스 챌린지 06일차

[스프링입문_디자인패턴_디자인패턴이란] 1. 디자인 패턴 : 자주 사용하는 설계 패턴을 정형화 --> 유형별로 가장 최적의 방법으로 개발할 수 있도록 정해둔 설계 : 알고리즘과 유사하지만, 명확한 정답이 있는 형태는 아님. 프로젝트의 상황에 맞추어 적용 가능 2. GOF 디자인 패턴 : 기존의 경험을 공유하기 위해 나온 GOF(Gang Of Four) 디자인 패턴 : 객체지향 개념에 따른 설계중 재사용할 경우 유용한 설계를 디자인 패턴으로 정리해둔 것 : 총 23개로서, 이를 잘 이해하고 활용시, 경험이 부족하더라도 좋은 소프트웨어 설계 가능 3. 디자인 패턴의 장점 : 개발자(설계자) 간의 원활한 소통 : 소프트웨어 구조 파악 용이 : 재사용을 통한 개발 시간 단축 : 설계 변경 요청에 대한 유연한 대..

개발새발/Spring 2022.01.29

220128_스프링입문_객체지향_POJO JAVA_패스트캠퍼스 챌린지 05일차

[스프링입문_객체지향_POJO JAVA] 1. POJO JAVA란? : POJO(Plain Old Java Object) : 순수한 자바 오브젝트 : EJB 종속으로 개발되던 시절엔 Module의교체, 시스템 업그레이드시 종속성으로 인한 불편함 발생 2. POJO 특징 (1) 특정 규약에 종속되지 않음 : 특정 Library,Module에서 정의 된 클래스를 상속 받아서 구현하지 않아도 됨 : POJO가 되기 위해서는 외부의 의존성을 두지 않고, 순수한 Java로 구성이 가능해야 함 (2) 특정 환경에 종속되지 않는다 : 특정 비즈니스 로직에서 외부 종속적인 http request, session등 또한, POJO를 위배한 것으로 간주 : 많이 사용하는 @Annotation 기반 설정 또한, 엄연히 PO..

개발새발/Spring 2022.01.28

220127_스프링입문_객체지향_객체지향 설계 5원칙 SOLID_패스트캠퍼스 챌린지 04일차

[스프링 입문_객체지향의 설계 5원칙 SOLID] 응집도와 결합도 : 좋은 소프트웨어 설계를 위해서는 결합도coupling는 낮게, 응집도cohension는 높게! (1) 결합도 : 모듈(클래스)간의 상호 의존 정도의 지표 : 결합도가 낮으면 모듈간의 상호 의존성이 줄어드므로, 객체의 재사용 및 유지보수가 유리함 (2) 응집도 : 하나의 모듈(클래스) 내부에 존재하는 구성 요소들의 기능적 관련성 : 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아짐 : 응집도가 높을수록 재사용 및 유지보수가 용이함 1. SRP(Single Responsibility Principle) 단일 책임 원칙 : 어떠한 클래스를 변경해야 하는 이유는 한가지 뿐 이어야 한다. --> 상속을 받아 오버라이딩을 활용한다 2...

개발새발/Spring 2022.01.27

220126_스프링입문_객체지향_객체지향 4대 특성_패스트캠퍼스 챌린지 03일차

[스프링 입문_객체지향의 4대 특성] [1] 캡슐화 1. 캡슐화 : 객체의 속성Variable을 보호하기 위해 사용 2. Method 설계 : 가지고 있는 속성에 대해서는 해당 상태를 변경하는 기능Method를 제공해야 함 : 실물 객체가 가진 기능을 모두 제공해야 함 : 차량의 렌탈, 반납, 주행거리 계산 등 : 각각의 Method는 서로 관련성이 있어야 함 : 객체 안의 Method는 객체 안의 속성을 처리해야 함, 다른 객체를 전달 받아 해당 다른 객체에 정의 된 속성을 직접 처리하면 안됨 : Method 실행에 필요한 값들은 객체 형태가 아닌 매개변수의 형태로 전달되어야 함 3. Method의 종류 : 반드시 다음중 1개 이상에 속한다. (1) Getter / Setter메소드 : 외부에서 내부속..

개발새발/Spring 2022.01.26

220125_스프링입문_객체지향_객체지향이란_패스트캠퍼스 챌린지 02일차

[스프링 입문_객체지향이란?] 1. 객체지향 (1) 50년이 넘는 역사를 가지고 있다 (2) 이전엔 C언어 기반의 절차지향 언어 였다 (3) 순차적 처리의 비효율을 개선하여 효과적인 개발방식을 채택한 객체지향이 등장함 (4) 추상화, 상속, 은닉, 재사용, 인터페이스등의 특성이 있음 2. 객체지향의 특성 (1) 현실의 사물을 있는 그대로 모델링 : 행위와 속성을 정의 : 실제 사물이 동작하는 방식으로 설계 (2) 사물 : 객체(Object) (3) 사물의 행위 : 행위(Method) (4) 사물의 속성 : 변수(Variable) (5) 기존의 절차지향보다는 편리하게 설계 가능 3. Java (1) Sun Microsystems에서 개발 (2) 현재는 Oracle 에서 서비스중 (3) 자바 가상 머신 Ja..

개발새발/Spring 2022.01.25

220124_스프링입문_객체지향_개발환경설치_패스트캠퍼스 챌린지 01일차

[스프링 입문_개발환경설치] 1. JDK11 설치 https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html 오라클에 로그인후 다운로드를 하여 운영체제에 맞는 버전을 다운로드한다. 설치프로그램을 실행하여 다음을 눌러 설치하고, 재부팅한다. cmd 에서 java -version을 실행한다. 제대로 설치가 되었다면, 설치한 자바 버전이 커맨드 창에 뜨게 된다. 2. IntelliJ 설치 이클립스보다 에러가 적고 가벼운 느낌 유료버전 한달동안 트라이얼 버전을 일단 쓴다. https://www.jetbrains.com/ko-kr/idea/download/#section=windows 다운로드를 받아 설치를 진행한다. 다음과 같이..

개발새발/Spring 2022.01.24

13일차_CSS 개요: 선택자 기본_20210730

선택자 기본 기본 * 전체 선택자 Universal Selector : 모든 요소를 선택 ex) * { color: red; } ABC 태그 선택자 Type Selector : 태그 이름이 ABC인 요소 선택 ex) li { color: red; } .ABC 클래스 선택자 Class Selector : HTML class 속성의 값이 ABC인 요소 선택 ex) .orange { color: red; } #ABC 아이디 선택자 ID Selector : HTML id 속성의 값이 ABC인 요소 선택 ex) #orange { color: red; }

12일차_CSS 개요: 선언 방식_20210726

CSS 개요: 선언 방식 내장 방식 : 의 내용(Contents)으로 스타일을 작성하는방식 링크 방식 : 로 외부 CSS 문서를 가져와서 연결하는 방식 : 병렬 연결 방식 main.css 파일 div{ color: red; margin: 20px; } 인라인 방식 : 요소의 style 속성에 직접 스타일을 작성하는 방식(선택자 없음) : 우선순위가 너무 앞서있어서 유지보수가 쉽지 않음 @import 방식 : CSS의 @import 규칙 으로 CSS 문서 안에서 또 다른 CSS 문서를 가져와 연결하는 방식 : 직렬 연결 방식 main.css 파일 @import url("./box.css"); div{ ... } box.css 파일 .box{ background-color: red; padding: px; }

11일차_CSS 개요: 기본 문법, 주석_20210725

CSS 개요: 기본 문법, 주석 선택자{속성: 값;} 선택자 : 스타일(CSS)을 적용할 대상(Selector) 속성 : 스타일(CSS)의 종류(Property) 값 : 스타일(CSS)의 값(Value) --> 선택자 속성은 값이다. 선택자{속성: 값; 속성: 값;} 중괄호: 스타일 범위의 시작과 끝 ex) div { color: red;} : 태그 선택자 속성컬러는 레드이다. div { color: red; margin: 20px; } : 태그 선택자 속성컬러는 레드이고, 여백은 20px 이다. 구분을 위해 들여쓰기를 이용한다 div{ color: red; margin: 20px; } 주석 /* 설명 작성 */ div{ color: red; margin: 20px; }