전체 글

느리게 가는 달팽이 개발일지
CS/디자인패턴&프로그래밍패러다임

디자인 패턴 - 프록시 패턴

면접을 위해 CS 스터디에서 진행하는 CS 정리용입니다. '면접을 위한 CS 전공지식 노트' 책을 챕터별 공부하고 요약정리를 하고 있습니다. - 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 프록시 패턴 대상 객체에 접근하기 전 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 패턴 객체의 속성, 변환 등을 보완 보안, 데이터 검증, 캐싱, 로깅에 사용 프록시 객체로 쓰이기도 한다. 프록시 객체 : 어떠한 대상의 기본적인 동작(속성 접근, 할당, 순회, 열거, 함수호출 등)의 작업을 가로챌 수 있는 객체 자바스크립트에서 프록시 객체는 2개의 매개변수를 가진다. target : 프록..

CS/디자인패턴&프로그래밍패러다임

디자인 패턴 - 팩토리 패턴/전략 패턴/옵저버 패턴

면접을 위해 CS 스터디에서 진행하는 CS 정리용입니다. '면접을 위한 CS 전공지식 노트' 책을 챕터별 공부하고 요약정리를 하고 있습니다. - 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 팩토리 패턴 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴 상속 관계에 있는 두 클래스에서 상위클래스가 중요한 뼈대를 결정 하위클래스에서 객체 생성에 관한 구체적인 내용을 결정 느슨한 결합 : 상위 클래스가 하위 클래스가 분리 유연성 : 상위클래스는 인스턴스 생성 방식에 대해 알 필요가 없다 유지 보수성 : 객체 생성 로직이 따로 떼어져 있어서 리팩터링 할 때 한 곳만 수정 가능 전략 패턴(정..

CS/디자인패턴&프로그래밍패러다임

디자인 패턴 - 싱글톤 패턴

면접을 위해 CS 스터디에서 진행하는 CS 정리용입니다. '면접을 위한 CS 전공지식 노트' 책을 챕터별 공부하고 요약정리를 하고 있습니다. 라이브러리 : 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것, 폴더명,파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유롭다. ex) React.js, Vue.js, Spring 프레임워크 : 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것, 폴더명, 파일명 등에 대한 규칙이 있으며 라이브러리에 비해 좀 더 엄격하다. - 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 싱글톤 패턴 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 → 1개의 인스..

SPRING

View 환경설정 (spring-boot-devtools)

build.gradle에 spring-boot-devtools 라이브러리를 추가하면 html파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다. Application 실행 시 restartedMain으로 나오면 devtools가 제대로 설치된 것이다. 이후 수정사항이 발생하면 Application 재실행할 필요 없이 Build → Recompile을 실행하고 페이지 새로고침을 하면 수정사항이 반영된 것을 확인할 수 있다.

JAVA

clone 메서드

clone() : 자신을 복제하여 새로운 인스턴스를 생성 원래의 값을 보존하거나, 작업에 실패해서 원래의 상태로 되돌리거나, 변경되기 전의 값을 참고 시 도움된다. Object클래스에 정의된 clone()은 단순히 인스턴스변수의 값만 복사한다. → 참조타입의 인스턴스 변수가 있는 클래스는 완전한 인스턴스 복제가 이루어지지 않는다. ex) 배열을 clone()하는 경우 복제된 인스턴스도 같은 배열의 주소를 갖게되므로 clone()한 작업이 원본에 영향을 미치게 된다. 해결방법 : clone()을 오버라이딩해서 새로운 배열을 생성 후, 배열의 내용들을 복사해야 한다 clone() 사용순서 Cloneable 인터페이스를 구현한다. 접근 제어자를 protected에서 public으로 변경한다. → 접근제어자가 ..

Git

git clone 후 파일이나 폴더가 보이지 않을때

브랜치가 main이외 다른 브랜치가 있는 상태에서 git clone을 하고 폴더를 확인했는데 파일이나 내부폴더가 보이지 않을때 해결방법 인텔리제이 -> 하단 git의 Remote 브랜치 Checkout을 해본다.

[패스트캠퍼스]KDT 핀테크 서비스 백엔드/review

21주차 Review - 스프링

이번주 스프링 수업시간에는 AWS를 이용해서 실제 배포 연습을 해봤습니다. AWS의 서비스 중 하나인 EC2 가상 머신 서비스를 이용하여 데이터베이스와 실제 배포를 연습해 봅니다. https://aws.amazon.com/ko/ec2/?did=ft_card&trk=ft_card 아마존 클라우드 서버 호스팅 | Amazon Web Services Amazon Elastic Compute Cloud(Amazon EC2)는 500개가 넘는 인스턴스, 그리고 최신 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델의 옵션과 함께 워크로드의 요구 사항에 가장 잘 부합할 수 있도록 aws.amazon.com AWS에 접속해서 EC2 시작하기 계정생성 로그인 후 콘솔 홈의 우측상단 리전을 서울로 변경 후 사용 ..

[패스트캠퍼스]KDT 핀테크 서비스 백엔드/review

20주차 Review - 데이터베이스

이번주는 설연휴로 스프링수업이 없었고 데이터베이스 중급수업이 있어서 데이터베이스 수업에 대해 리뷰해보고자 합니다. 그나저나 벌써 20주차라니........... 그 어떤 일을 할때보다 시간이 엄청 빨리 지나간 느낌..........ㅠㅠ 인덱스 인덱스란? 데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료구조 인덱스 종류(MySQL) 클러스터형 인덱스 : 사전과 같은 형태(데이터가 순서대로 정렬) 테이블당 하나 설정 가능(primary key 옵션으로 자동생성) 보조 인덱스 : 책의 마지막 장의 찾아보기와 같은 형태 여러 개의 필드 값을 기반으로 쿼리를 많이 보낼 때 생성 인덱스를 확인하는 방법 SHOW INDEX FROM 테이블이름 인덱스의 생성 & 삭제 인덱스의 생성(2가지 방법) C..

작은달팽이
작은달팽이 개발블로그