안녕하세요. 해당 포스트는 강민철 저자님의 '혼자 공부하는 컴퓨터 구조+운영체제'를 읽고 정리한 포스트입니다. 03-1. 소스 코드와 명령어모든 소스 코드는 컴퓨터 내부에서 명령어로 변환됨! 고급 언어와 저급 언어고급언어JAVA, Python, C, C++ 같은 프로그래밍 언어개발자(사람)를 위한 언어 저급언어컴퓨터가 직접 이해하고 실행할 수 있는 언어기계어 : 0과 1의 명령어 비트로 이루어진 언어(16진수로 표현하기도 함)어셈블리어 : 0과 1로 표현된 명령어(기계어)를 읽기 편한 형태로 번역한 언어 컴파일 언어와 인터프리터 언어고급 언어가 저급 언어로 변환되는 방식컴파일 방식인터프리터 방식 컴파일 언어컴파일 방식으로 작동하는 프로그래밍 언어컴파일 언어로 작성된 소스 코드는 컴파일러에 의해 저급 ..
안녕하세요. 해당 포스트는 강민철 저자님의 '혼자 공부하는 컴퓨터 구조+운영체제'를 읽고 정리한 포스트입니다. 02-1. 0과 1로 숫자를 표현하는 방법정보 단위비트(bit)컴퓨터가 이해하는 가장 작은 정보 단위0 또는 1, 두 가지 정보로 표현할 수 있음(꺼짐/켜짐)n비트는 2ⁿ가지의 정보를 표현할 수 있음. 예를 들어 3비트일 경우에는 8가지 정보를 표현할 수 있음바이트, ..., 테라바이트 등의 단위를 사용함(c.f. 이전 단위를 1,024개 묶어 표현한 단위는 kiB, MiB, GiB, TiB)1바이트(byte)8비트(bit)1킬로바이트(1kB)1,000바이트(1,000byte)1메가바이트(1MB)1,000킬로바이트(1,000kB)1기가바이트(1GB)1,000메가바이트(1,000MB)1테라바이트..
안녕하세요. 해당 포스트는 강민철 저자님의 '혼자 공부하는 컴퓨터 구조+운영체제'를 읽고 정리한 포스트입니다. 01-1. 컴퓨터 구조를 알아야 하는 이유컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 할 기본 지식! 문제 해결컴퓨터의 내부를 거리낌 없이 들여다보면 더 좋은 해결책을 고민할 수 있음 성능, 용량, 비용위 3가지를 고려하며 개발하는 개발자가 될 수 있음서버 컴퓨터를 구매하거나 또는 클라우드 서비스를 이용할 경우 CPU, 메모리 등은 직접 선택해야 하는데 어떤 선택을 하는지에 따라 성능, 용량, 비용이 달라짐 01-2. 컴퓨터 구조의 큰 그림컴퓨터의 구조는 크게 두 가지이다.컴퓨터가 이해하는 정보컴퓨터는 0과 1로 표현된 정보만을 이해하는데 이렇게 표현된 정보에는 데이터와 명령어..
안녕하세요. 오늘은 자바에서 객체를 생성하는 2가지 방법, 프로토타입 방식과 싱글톤 방식에 대해 알아보도록 하겠습니다. 프로토타입 패턴(Prototype Pattern)⭐ 매번 새로운 객체 인스턴스를 생성하는 방식입니다. ⭐ 각 객체 인스턴스는 서로 독립적이며 각각의 인스턴스는 별도의 상태를 가질 수 있습니다. ⭐ 프로토타입 패턴을 사용하면 객체를 반복해서 생성할 때 유용하여 객체 인스턴스 간의 상태 공유가 필요하지 않은 경우에 적합합니다. ⭐ 'new' 키워드를 사용하여 객체를 생성하며 생성자를 호출하는 방식으로 객체를 초기화하며, 객체 생성 및 초기화가 단순하고 빠른 경우 'new' 키워드로 객체를 생성하는 것이 효율적입니다.// Prototype Pattern ExampleRectangle rec..
안녕하세요. 오늘은 단방향 암호화는 무엇이고 종류에는 무엇이 있는지 알아보도록 하겠습니다. 단방향 암호화(One-way Encryption)란?⭐ 데이터를 한쪽 방향으로만 암호화를 한다는 의미로 평문을 암호문으로 암호화할 순 있지만 암호문을 평문으로 바꾸는 복호화는 불가능하므로 암호화만 가능하기 때문에 단방향 암호화라고 합니다. ⭐ DB로 비밀번호를 관리할 때 유용하게 사용됩니다.But, 단방향 암호화 방식으로 저장할 경우 데이터베이스가 유출되어도 안전하지만 유저가 비밀번호를 잊어버렸을 경우에는 찾기가 불가능합니다. 그래서 대부분의 사이트는 유저가 비밀번호 찾기를 할 경우 메일이나 SMS을 통해 새로운 비밀번호로 변경하도록 하더라고요 :) ⭐ 대표적으로 MD5와 SHA-256 암호화 알고리즘이 있습니다...