전체 글36 [프로그래밍] JVM 의 구조 자바를 이용하고 쓰고 있는데도, 아직 자바 가상머신에 대한 제대로된 이해가 없었다. 이번에 한 번 알아보려고 한다. JVM - Java Virtual Machine 자바 가상 머신의 위키백과 정의를 먼저 보자. 자바 가상 머신(영어: Java Virtual Machine, JVM)은 자바 바이트코드를 실행할 수 있는 주체이다. 자바 바이트코드는 플랫폼에 독립적이며 모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 자바 바이트코드를 실행한다. 따라서 표준 자바 API까지 동일한 동작을 하도록 구현한 상태에서는 이론적으로 모든 자바 프로그램은 CPU나 운영 체제의 종류와 무관하게 동일하게 동작할 것을 보장한다. 자바 가상 머신은 CPU와 운영체제에 상관 없이 같게 동작하도록 하는 주체라고 한다. 자.. 2020. 9. 17. [보안] MD5 와 SHA의 차이 MD5 - Message-Digest algorithm 5 MD5는 위키 백과를 참조 하자면, 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. 1991년에 로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안했다. 라고 한다. 메세지 축약 알고리즘으로, 파일의 무결성 검사 용도로도 사용된다고 한다. 128비트의 해시 함수를 이용해, 암호화와 복호화를 하는데 사용된다고 한다. MD5의 결함을 발견하고 SHA로 사용하기를 권장하고 있다고 한다. SHA - Secure Hash Algorithm SHA의 정의는 위키 백과에 따르면 이렇다, SHA(Secure Hash Algorithm, 안전한 해시 .. 2020. 9. 17. [데이터베이스] 키의 속성과 개념 데이터베이스에서, 각 테이블에 있는 인스턴스를 어떻게 구별할까? 그 역할을 하는 속성을 키(key) 라고 한다. key는 한 개의 속성으로도 구성될 수 있고, 여러개로도 구성될 수 있다. key에는 여러가지 종류들이 있는데 알아보자. 수퍼 키 - Super Key 수퍼키는 유일성의 특성을 만족하는 속성 또는 속성들의 집합이라고 한다. 유일성은, 키가 갖추어야 하는 기본 특성으로, 하나의 릴레이션에서 키로 지정된 속성의 값은 튜플마다 달라야 한다. 이렇듯, 각 튜플마다 중복 되는 값이 있으면 안된다는 것이다. 위의 사진의 빨간 원 안에 있는 튜플들을 보면, 겹치는 값이 없어야 한다. 후보 키 - Candidate Key 후보키는 유일성과 최소성을 만족하는 속성 또는 그러한 것들의 집합이라고 한다. 유일성은.. 2020. 9. 17. [OS] 리틀 엔디안, 빅 엔디안 운영체제 수업때, 리틀 엔디안과 빅 엔디안의 차이에 대해서 배워본 적이 있다. 그나마 기억나는 것이라면 빅 엔디안은 리눅스에서, 리틀 엔디안은 윈도우 기반에서 쓰인다는 소리를 들었던 것 같다. 일단 자세히 알아보자. 바이트 오더 - Byte Order 바이트 오더는, 일종의 글을 읽는 방향이라고 생각하면 쉬울 것 같다. 옛날 일본 시대의 글을 오른쪽에서 왼쪽으로 읽는 방식이었다고 들었다. 반면에 한국은 왼쪽에서 오른쪽으로 읽는 방식을 취했다. 바이트 오더라는 것은 그런 의미라고 생각하면 쉽다. 빅 엔디안은 낮은 값에서부터 시작해, 높은 값로, 리틀 엔디안은 낮은 값에서부터 시작해, 높은 값으로 쓰는 방법이다. 빅 엔디안 - Big Endian 빅 엔디안은 데이터를 저장할 때, 순차적으로 저장한다. 조금 .. 2020. 9. 16. 이전 1 ··· 4 5 6 7 8 9 다음