| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- hexagonal architecture
- Transaction
- Hexagonal
- Spring Data JPA
- springboot
- 실무
- JPA
- JDBC
- simplejpaRepository
- Adapter
- Spring
- Layered Architecture
- transactional
- Today
- Total
ListLecture (11)
Ezcho
JSP란 HTML 코드내에서 자바를 쓸수있음. 굿 서블릿 컨테이너에서 관리되는 내장객체의 생명주기를 이용하여 페이지간 속성관리 커스텀 태그 기술을 사용하여 코드를 태그화함 EL을 통해 데이터를 표현함 JSP구성요소 1. 지시어 2. 액션 3. 템플릿 데이터 4. 스크립트 요소 5. 커스텀 태그 JSP 동작과정 hello.jsp 1. 클래스변환되는게 있는가 -> 없으면 자바소스로 변환 2. 있으면 메모리 실행 여부 확인 -> 없으면 자바 클래스로 컴파일 -> 이후 요청대기상태에 올리기위해 init() 3. 있으면 Ready상태로 들어가서 요청대기 -> Service() 상태 -> Ready상태 ... 반복 4. Destroy()로 종료 JSP 장점 1. HTML 파일에 자바기술을 거의 무한대로 사용가능 2..
서블릿의 장점 서블릿의 단점 서블릿 클래스 구조 언어구현: 자바 서블릿 컨테이너에 해당 클래스가 서블릿임을 알려야함. 2.0: web.xml에 표기 3.0: annotation 사용 구현법 GenericServlet이나 HttpServlet 상속받아 클래스 구현 Http 프로토콜에 최적화되어있는 HttpServlet 상속받아 구현하면 좋음 HttpServletRequest 1. web.xml에 작성 2. 자바 annotation 사용 @WebServlet(description = "Hello World Servlet", urlPatterns="/hello") public class HelloWorldServlet extends HttpServlet{...} 서블릿 생명주기 init() 메서드로 초기화 1..
1. First Assembly Language Program 1. 두개를 더하는 프로그램 간단한 assmebly언어 프로그램이다. 1. 메인프로시저를 시작한다.(프로그램의 엔트리포인트) 2. 5를 EAX레지스터에 둔다. 3. 6을 EAX레지스터에 더한다. 새로운 값 11을 얻는다. 5. ExitProcess라는 윈도우 서비스를 호출한다. 프로그램을 멈추고 OS로 컨트롤을 반환한다. 6. 메인프로시저의 끝 표시다. 2. 변수를 더하는 프로그램 .data, .code로 데이터영역과 코드영역을 구분한다. 2. sum 변수가 선언되었다. 이상황에서 우리는 메모리에 32비트를 할당하고, 0으로 초기화한다. 2. Integer Literals 정수 리터럴은 선택적인 부호, 하나 이상의 숫자, 그리고 숫자의 기본(..
x86 프로세서 패밀리의 아키텍처 Intel IA-32 및 Intel 64 프로세서 • 인텔 펜티엄, 코어 듀오, 코어 2 및 코어 i 시리즈 AMD 프로세서 • AMD 애슬론, 페놈, FX 및 라이젠 시리즈 일반적인 Microcomputer 의 설계 - 메모리 저장 장치 컴퓨터 프로그램이 실행되는 동안 명령어와 데이터를 보유합니다. CPU에서 데이터요청을 받아 RAM에서 CPU로 데이터를 전송하고 CPU에서 처리 후 다시 전송합니다. -CPU, 메모리및 프로그램 모든 데이터 처리는 CPU내에서 이루어지므로 메모리에 있는 프로그램은 실행되기 전에 CPU로 복사되어야 합니다. 1. Micro Computer 설계 1. 버스 • 컴퓨터의 한 부분에서 다른 부분으로 데이터를 전송하는 Parallel한 와이어 ..
1장 Assembly Language 의 소개 Machine Language란? 기계어는 컴퓨터의 CPU가 이해하는 숫자형 언어이다.. 모든 x86 Processor 는 공통된 기계어를 이해합니다. 어셈블리어는 기계어와 어떤 관련이 있나요? 어셈블리어는 ADD, MOV, SUB, CALL과 같은 짧은 니모닉을 사용한 명령문으로 구성됩니다. C++ 어셈블리어와 어떤 관련이 있나요? HLL(High Level Language)은 어셈블리어와 기계어와 일대다 대응 관계를 가집니다. C++의 단일 문장은 여러 어셈블리어 또는 기계어 명령문으로 확장됩니다. 예를들어 아래의 코드가 있다고 가정해봅시다. int Y; int X = (Y+4) * 3; 아래의 어셈블리어로 변경됩니다. mov eax, Y add eax,..
1. 알터네이팅 시퀀스 알터네이팅 시퀀스(Alternating sequence)는 번갈아가면서 일어나는 일련의 사건이나 현상을 의미합니다. 컴퓨터에서 CPU 버스트와 I/O 버스트는 알터네이팅 시퀀스의 예시입니다. 2. CPU Burst Cycle CPU Scheduler 일반적으로는 레디큐에서 순서대로 들어온 ready상태의 프로세스를 선택합니다. 이 결정은 언제 일어날 수 있습니다. (1) 프로세스가 실행에서 대기 상태로 전환됩니다(예: I/O 요청), (2) 프로세스가 실행에서 준비 상태로 전환(예: 시간 슬라이스 만료)(3) 프로세스가 대기에서 준비 상태로 전환(예: I/O 완료), (4) 프로세스가 종료될때 (1)과 (4)에 따른 일정은 선제적이지 않습니다. (2)와 (3)에 따른 일정은 선제적..
1절 블록 암호와 스트리 암호 블록암호란 어느 특정 비트수의 집합을 한번에 처리하는 암호 알고리즘 이때 이 비트집합을 블록이라고 한다. 앞에서 배웠던 DES나 트리플 DES의 블록 길이는 64비트이다. 스트림 암호란 데이터의 흐림(스트림) 을 순차적으로 처리해 가는 알고리즘 단위는 1비트, 32비트, 8비트 단위로 가변적이다. 모드란 긴 평문을 블록으로 나누어 암호화 하는것을 말한다. mod연산에서 따온 것 같다. 2절 ECB모드 ECB는 평문 블록을 암호화 하는것이 그대로 암호문 블록이 되는것이다. padding개념이 존재하고 padding은 마지막 평문 블록이 블록 길이에 미치지 못할 경우 추가하여 블록 길이가 되도록 마치는것을 말한다. 대략적인 모식도이다. 복호화는 위 그림의 역순이다. 특징 1. ..
1절 시저암호 시저암호: 평문으로 사용되는 알파벳을 일정한 문자 수 만큼 평행이동 시킴으로써 암호화 한다. 예를들어 abcde라는 암호가 존재하면 shift 2 연산을 진행하면 cdefg가 된다. (2문자 평행이동) 평문: kabsoonyee 암호문: NDEVRRQBHH 대충 이렇다. 그러면 이때 키값은 무엇일까? 당연히 평행 이동한 문자수가 될것이다. 복호화 과정도 동일하다. 키값을 다시 재사용한다. 이는 대칭암호이다. 1-4 전사 공격에 의한 해독 이러한 암호문은 전사 공격에 의해 해독되기 쉬운데, 영어 알파벳이 26문자 이므로 암호화 키는 0~25까지 26가지 일것으로 추정할 수 있다. 이때 키가 될 수 있는 모든 가능한 후보들을 시도해 보는게 전사공격 이다. 브루트포스 어택이라고 한다. 2절 단일..