본문 바로가기

참고자료

(31)
JAVA - 추상메소드와 추상클래스 그리고 인터페이스는 왜 쓰는걸까? 추상메소드 클래스 내에서 추상메소드가 있고 이 클래스를 상속할 때 추상메소드를 반드시 재정의 해서 쓴다. 추상클래스 abstract 키워드로 선언한 클래스이다. 추상 메소드가 있는 경우와 없는 경우가 있다. 추상 클래스는 인스턴스를 생성할 수 없다. 추상클래스는 인스턴스 생성의 목적이 아니다. 상속이 목적이다. 상속할 때 추상클래스가 되지 않으려면 모든 추상 메소드를 전부 다 구현해야한다. 인터페이스 상수와 추상메소드의 집합이다. 객체화가 불가능하며 인터페이스 내의 메소드는 public abstract 상태이다. 컴파일시 자동으로 생성해준다. default 키워드를 사용해 공통적인 코드를 정의할 수도 있다. 사용하는 이유 다형성과 다형성을 통한 낮은 결합도와 높은 응집도를 추구하는 것으로 귀결된다. 추상..
객체와 클래스 요약 클래스는 객체의 설계도이다. 객체는 클래스 토대로 구현한 것이다. 객체 객체란 구현할 대상이다. oop 관점에서 클래스 타입으로 선언되었을 때 객체 라고 부른다. '클래스의 인스턴스' 라고도 부른다. 인스턴스란? 구현된 객체의 실체이다. 클래스 정보를 바탕으로 한 어떤 것이 메모리에 할당이되면 그제서야 그것을 인스턴스라고 부를 수 있다. 그럼 객체와 클래스의 다른점은? 클래스는 설계도이다. 객체는 설계도로 만들어진 대상이다. 객체와 인스턴스라는 용어를 굳이 구별해서 쓴다면 그 이유는 객체는 '실체' 에 초점을 인스턴스는 '관계' 에 초점을 맞춘다는 특징 때문이다. 엄밀히 말한다면 인스턴스는 객체에 포함된다. (인스턴스 < 객체 ) 클래스 타입으로 선언되었을 때 객체라고 부르고 그 객체가 메모리에 할..
자바의 특징은 무엇일까 요약하자면 4가지를 말할 수 있다. 1. 객체 지향 언어이다. (OOP) 2. 자동 메모리 관리를 해준다. (GC) 3. 운영체제에 독립적이다. 4. 동적 로딩을 지원한다. 1. 객체 지향언어 -상속, 다형성, 캡슐화, 추상화의 특징이다. 2. 자동 메모리 관리 - 더 이상 사용하지 않는 메모리는 해제 시켜 준다. - JVM 에 있는 Garbage Collection이 자동으로 메모리 관리를 해준다.. - 개발자가 GC 를 해제하고 직접 메모리 관리를 할 수도 있다. 3. 운영체제에 독립적이다. 자바는 JVM 위에서 돌아간다. 때문에 CPU나 운영체제의 영향을 받지 않는다. 자바의 멀티스레드 프로그래밍은 운영체제의 지원이 필요없다. (c 나 C++ 은 필요하다.) 4. 동적 로딩 지원 - 자바는 어플리케..
aws 기초 배포 툴 : travis , jenkins 알아야 할 것 billing IAM ELB EC2 S3 http, Lambda API gateway DynamoDB autosacling vpc cloud9 cloudformattion 1. IAM 루트로는 잘 로그인 하지 않는다. 루트로 접근하는 것은 위험하다 root에서 admin 권한을 주는 계정 하나를 만든다. 이 admin 권한은 루트와 딱 하나가 다르다. billing을 볼 수가 없다. root가 admin을 만들고 admin이 각 user들을 만들고 필요한 권한을 부여한다. MFA otp같은 기능이다. 설정을 하면 google otp 같은 인증 수단으로 인증을 해야한다. 루트가 mfa 를 제거하려면 우측 상단 자신의 이름을 클릭하면 나오는 보안자격 ..
aws 배포 관련 참고 사이트 https://victorydntmd.tistory.com/337 [AWS] RDS 인스턴스 생성 및 EC2에서 접근하기 ( MySQL, 프리티어 ) 1. 서비스 소개 AWS RDS(Relational Database Service)는 클라우드에서 관계형 데이터베이스를 쉽게 설치, 운영 및 확장할 수 있는 관리형 서비스이며, 주요 특징은 다음과 같습니다. Amazon Aurora, MySQL, Mari.. victorydntmd.tistory.com https://tigger.dev/m/category/DevOps 개발 여행 프론트엔드 엔지니어로 업무하고 있는 Tigger의 블로그입니다. :) tigger.dev https://twofootdog.tistory.com/category/IT/AWS 'IT/..
인코딩과 디코딩 좋아하는 그림을 떠올려보자. 사람이라면 무엇이든 떠오르겠지만 컴퓨터라면 그냥 비트덩어리가 입력될 것이다. img 는 MIME 타입의 한 종류이다. 또한 비트 덩어리이기도 하다. 우리가 img를 통신상에서 보낼때 이 덩어리에서 국수를 뽑듯 비트를 조각내어 문자열과 같은 한 스트링으로 보낸다. 그리고 이처럼 한 스트링으로 변환하는 과정이 직렬화이다. 그래, 직렬화가 되었다 해보자. 그런데 통신상에서의 전기신호 역시 비트로 이루어져 있지 않은가. 그럼 국수가 된 이미지의 비트는 어떻게 될까 인코딩 -- start비트와 stop비트 통신을 할때는 어디서 부터 어디까지 보낸다는 start비트와 stop 비트가 생긴다. 근데 바이너리 파일의 경우에는 이 두 종류의 비트와 겹치는 패턴을 가지고 있는 경우가 많다. 때..
oauth-client 의 설명 a.클라이언트 b.우리가 제공하는 어플리케이션(=서버) c.구글, 네이버 등 클라이언트가 이용하는 곳의 서버(= resource server) d.oauth 서버 1. register a의 회원정보를 이용하기 위해선 b는 c의 승인을 미리 받아놔야 된다. 서비스 마다 다 다르지만 공통적으로 client id / client secret / Authorized redirect URIs 를 요구한다. client id : b 를 식별하는 id client secret : client id 의 비밀번호 Authorized redirect URIs : c가 권한을 부여할때, c가 Authorize code를 보내줄 url 2.인증 인증은 기능별로 받는다. 기능을 scope 라고 하자 a 가 b 에 요청할때 c ..
aws 에 배포 0.깃허브에 commit 과 push를 할 때 - 빌드 파일들도 같이 배포해야 된다. - intellij라면 unversioned 파일도 체크하자 . 빌드 파일들이기 때문이다. 1. aws 에 깃을 설치해보자 sudo yum insatll git 을 입력하고 git --version 을 입력해보자 2. git 에서 데이터를 가져와 보자 --1. mkdir 로 git 에서 clone 할 디렉토리를 만들자 예시) mkdir ~/디렉토리 && mkdir ~/디렉토리/서브디렉토리 => root/디렉토리/서브디렉토리 가 생성된다. --2. 깃에서 clone을 해보자 git clone 리포지토리 주소 그 뒤에 cd b* 한 후 ll (ls- al을 해보자) 을 입력해보자 3. gradle로 테스트를 해보자 1. 테..