전체 글 67

[Git] commit 되돌리기

커밋 후 다시 이전버전으로 돌아가는 방법 terminal을 열어서 $ git log 명령어 입력시 이런식의 commit 아이디와 그에 대한 정보들이 나옴 그중에 위그림처럼 HEAD로 있는부분이 현재 커밋되어 있는부분이고 그아래 commit log에서 되돌리고 싶은 commit 아이디를 복사해서 $ git rest --hard 복사한 커밋아이디 를 입력해주면 이전 커밋으로 되돌아간다. **git log화면 나가려면 q를 누르면 된다.

개발 2022.09.02

RSA 인증방식

RSA - 위키백과 : RSA 암호는 공개키 암호시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘으로 알려져 있다. RSA가 갖는 전자서명 기능은 인증을 요구하는 전자 상거래 등에 RSA의 광범위한 활용을 가능하게 하였다. 1978년 로널드 라이베스트(Ron Rivest), 아디 샤미르(Adi Shamir), 레너드 애들먼(Leonard Adleman)의 연구에 의해 체계화되었으며, RSA라는 이름은 이들 3명의 이름 앞글자를 딴 것이다. 라고한다.. 데이터 전송방법 데이터 수신방법 1 데이터를 수신자의 공개키로 암호화한다. (암호화) 데이터를 발송자의 공개키로 연다. (서명검증) 2 그 데이터를 다시 발송자의 비밀키로 잠근다. (전자서명) 열리면 수신자의 비밀키로 연다. (복호화) ..

개발/Infra 2022.07.11

[객체지향프로그래밍] 다형성과 추상화

다형성(Polymorphism) A. 여러(poly) 모습(morph)을 갖는 것 B. 객체 지향에서는 한 객체가 여러 타입을 갖는 것 - 즉 한 객체가 여러 타입의 기능을 제공 - 타입 상속으로 다형성 구현 - 하위 타입은 상위 타입도 됨 다형성 예 --------------------------------------------------- public class Timer { public void start() {...}; public void stop() {...}; } public interface Rechargeable { void charge(); } public class IotTimer extends Timer implements Rechargeable { public void charge..

개발 2022.05.06

[객체지향프로그래밍] 객체, 캡슐화

객체란 - 기능으로 정의된 클래스 - 기능은 메소드로 표현됨 - 단순히 변수만 있고 setter getter를 제공하는건 객체가 아니라 Data 캡슐화 - 데이터 + 관련기능 묶기 - 객체가 기능을 어떻게 구현했는지 외부에 감추는 것 - 구현에 사용된 데이터의 상세 내요을 외부에 감춤 - 정보 은닉 의미 포함 - 외부에 영향없이 객체 내부 구현 변경 가능 *캡슐화하지 않았을 경우 if(acc.getMembership() == REGULAR && acc.getExpDate().isAfter(now())) { ..정회원 기능제공 } 5년이상 사용자 일부기능 정회원 혜택 1개월 무상제공기능이 추가될시 if(acc.getMembership() == REGULAR && ( (acc.getServiceDate()...

개발 2022.04.28

[객체지향프로그래밍] 의존과 DI

의존 1. 기능 구현을 위해 다른 구성요소를 사용하는것 A.의존의 예 : 객체 생성, 메서드 호출, 데이터 사용 2. 의존은 변경이 전파될 가능성을 의미 A.의존하는 대상이 바뀌면 바뀔 가능성이 높아짐 - 예 : 호출하는 메서드의 파라미티가 변경 - 예 : 호출하는 메서드가 발생할 수 있는 익셉션 타입이 추가 순환 의존 1. 순환 의존 -> 변경 연쇄 전파 가능성 A.클래스, 패키지, 모듈 등 모든 수준에서 순환 의존이 없도록 해야한다. B.의존하는 대상이 많을수록 좋지 않음. 의존 대상 많을 때 1. 기능이 많은 경우 A.한 클래스에서 많은 기능을 제공하는 경우 기능별로 분리 고려 - 각클래스마다 의존이 줄어듬 - 한 기능을 수정할때 다른기능과 관련된 코드를 수정하는일이 발생하지 않음 - 개별 기능 테..

개발 2022.04.15