본문 바로가기
TOP BOTTOM

1. 프로그래밍15

RSA 출처 뉴스레터 - 해킹짹짹 1. 공개키(비대칭키) 공개키(비대칭키) : 암호화와 복호화할 때 키가 다름 - 공개키는 두 개의 다른 키를 사용하며 각각 암호화와 복호화에 사용 (공개키로 암호화하고, 개인키로 복호화) cf) 대칭키 : 같은 키를 지니고 있어야 함 1) 공개키 (Public key) : 모든 사람이 접근할 수 있도록 공개됨 2) 개인키 (비밀키, Private key, Secret key) : 비공개로 자신만이 소유 2. RSA : 암호화, 전자서명, 인증에서 가장 많이 사용되는 공개키 암호화 알고리즘 - 현재 가장 많이 사용되고 있는 공개키 - RSA를 만든 Rivest, Shamir, Adleman의 이름을 따서 이름 붙여짐 - RSA의 안전성 : 큰 숫자를 소인수분해하는 것이 어렵다는 .. 2022. 3. 13.
[스프링 핵심 원리] 1-3. 객체 지향 설계 원칙(SOLID) 강의 https://inf.run/tCXN 섹션 1. 객체 지향 설계와 스프링 - 4 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 클린코드로 유명한 로버트 마틴이 정리한 좋은 객체 지향 설계의 5가지 원칙 1. SRP 단일 책임 원칙 (Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. - 변경되었을 때, 파급 효과가 적어야 함 2. OCP 개방/폐쇄 원칙 (Open Closed Principle) SW 요소는 확장에는 열려 있으나, (클라이언트의) 변경에는 닫혀 있어야 한다. 3... 2022. 3. 2.
[스프링 핵심 원리] 1-2. 객체 지향 특징 강의 https://inf.run/tCXN 섹션 1. 객체 지향 설계와 스프링 - 3 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 1. 객체 지향 1) 특징 ① 캡슐화 ② 추상화 ③ 상속 ④ 다형성 2) 객체 지향 프로그래밍 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나, 여러 개의 독립된 단위, 객체들의 모임으로 파악하고자 하는 것 - 각각의 객체는 메시지를 주고 받고, 데이터를 처리 => 프로그램이 유연하고 변경이 용이 2. 다형성(Polymorphism) 1) 역할/구현 역할/구현으로 구분하면 단순, 유연해지고, .. 2022. 3. 2.
[스프링 핵심 원리] 1-1. 스프링 역사와 생태계 강의 https://inf.run/tCXN 섹션 1. 객체 지향 설계와 스프링 - 2 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 1. 스프링 릴리즈 • 2003년 스프링 프레임워크 1.0 출시 - XML • 2006년 스프링 프레임워크 2.0 출시 - XML 편의 기능 지원 • 2009년 스프링 프레임워크 3.0 출시 - 자바 코드로 설정 • 2013년 스프링 프레임워크 4.0 출시 - 자바8 • 2014년 스프링 부트 1.0 출시 ... 스프링 부트가 나오기 전까지는 설정할 것이 매우 많았음 • 2017년 스프링 프레임워크 5.. 2022. 3. 2.
[스프링 핵심 원리] 1-0. 스프링 이전 강의 https://inf.run/tCXN 섹션 1. 객체 지향 설계와 스프링 - 1 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 1. Spring 이전 1) EJB(Enterprise Java Beans) : 2000년대 초반의 서버 애플리케이션 - EJB는 Entity Bean 이라는 ORM 기술도 지님 - EJB interface에 매우 의존적이게 됨 - 어렵고, 복잡하고, 비싸고, 느림 * ORM : 자바 객체를 DB에 편하게 저장하고 사용할 수 있음. query사용 안 함 2) POJO(plain old java obje.. 2022. 3. 1.
[스프링 입문] 7. AOP(Aspect Oriented Programming) 강의 https://inf.run/EkSM 1. AOP가 필요한 이유 공통 관심 사항(cross-cutting concern) vs. 핵심 관심 사항(core concern) eg) 시간을 측정하는 로직 vs. 비즈니스 로직 1) 유지 보수 어려움 2) 공통 로직으로 만들기 어려움 ==> 원하는 곳에 공통 관심 사항 적용 특징 - 메소드가 호출 될 때마다 이 로직을 실행하게 됨 - 스프링 : 프록시 방식의 AOP 이용 2. 사용 방법 @Aspect 애노테이션 필요 AOP는 Component 애노테이션을 붙이기보다는 SpringConfig 같은 파일에 등록해서 스프링 빈으로 등록하는 것 권장 @Around()로 targeting해 줌 2022. 2. 27.
[스프링 입문] 6. 스프링 DB 접근 기술 강의 https://inf.run/EkSM 개발 : 웹MVC, 데이터 접근 기술, ORM 기술 등 모두 중요 build.gradle 설정 - jdbc : java는 db랑 연결하려면 jdbc driver가 반드시 필요함 - h2 : database가 제공하는 client DB에 붙으려면 datasource가 필요함 0. 순수 Jdbc - 사양됨 1. 스프링 JdbcTemplate + MyBatis : SQL 직접 작성 - 실무에서도 많이 사용 2. JPA(JAVA Persistence API) vs. MyBatis SQL query도 자동 처리해줌 -> 개발 생산성 높일 수 있음 - SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임 전환 가능 jpa는 객체와 ORM(Object, Relatio.. 2022. 2. 27.