728x90

분류 전체보기 274

암호화 방식

암호화 알고리즘 종류 (tistory.com) 암호화 알고리즘 종류 암호화 깊게 파고들어 정리를 한다면.. 아마 끝도 없을것..자세하게는 주제별로 따로 정리를 천천히라도 해야겠다. 언제가될지.. 암호화 알고리즘은 각각의 특징과 종류를 머리속에 잘 정리해두 jusungpark.tistory.com 1.대칭키 암호 (비밀키 암호) 암호화 키와 복호화 키가 같은 것. 가장 보편적인 암호화방식은 현 미국 표준 방식인 AES (그 전에 나온 DES알고리즘의 취약점을 대체하기 위해 등장된 것) 2.비대칭키 암호(공개키 암호) 암호화 키와 복호화 키가 다름 ex ) RSA 3.단방향 암호 해싱을 위해 암호화하는 것으로, 암호화/복호화와는 다른 개념 MD5, SHA같은 방식이 있지만, MD5는 단시간 내에 충돌값을 찾..

가상메모리와 가상메모리의 페이징

[운영체제] 가상 메모리(Virtual Memory System) (tistory.com) [운영체제] 가상 메모리(Virtual Memory System) 들어가기 전.. 메모리(memory)란? 메모리란 프로그램과 프로그램 수행에 필요한 데이터 및 코드를 저장하는 장치임. 메모리는 크게 내부 기억장치인 주기억장치와 외부 기억장치인 보조 기억장치 ahnanne.tistory.com 컴퓨터에서 말하는 메모리라는것은 프로그램 + 프로그램 수행에 필요한 데이터, 코드를 저장하는 장치를 말함 메모리는 크게 주기억장치, 보조기억장치로 분류됨 주기억장치에는 DRAM, CPU 안에 있는 레지스터, 캐쉬 등의 내부 기억장치가 해당됨 SSD, HDD같은 외부 기억장치가 보조기억장치임 초기 컴퓨터는 사용 가능한 RAM의..

CS/운영체제 2023.10.01

[공룡책] 운영체제

ex)windows 10, Linux, Mac OS X 운영체제: 컴퓨터를 운영하는 시스템 컴퓨터: 정보를 처리하는 기계 정보: I(x) = - log2P(x) 어떤 불확실한 상황을 측정해서 추측치로 표현하는 것 정보량 컴퓨터가 정보를 어떻게 처리하죠? 정보의 최소 단위 bit (binary digit) 정보의 처리: 정보의 상태 변환(0에서 1로, 1에서 0으로) 덧셈은? 반가산기, 전가산기 뻴셈은? 2의 보수 표현법 곱셈과 나눗셈은? 덧셈과 뺄셈의 반복 실수 연산은? 부동 소수점 표현법 함수는? GOTO 삼각함수, 미분, 적분, 사진촬영, 동영상 재생..... 컴퓨터가 만능이라는 건가요? 범용성: universality -NOT, AND, OR 게이트만으로 모든 계산을 할 수 있다. NAND 게이트만..

CS/운영체제 2023.10.01

[C++]Vector와 List의 차이점

1.Array Vs List 차이점 Array : 메모리 상에 데이터가 연속적으로 저장됨 List : 메모리 상에 데이터가 비연속적으로 저장됨 2.Vector Vs List 차이점 99퍼센트는 벡터를 씀 (벡터가 더 빠름) 랜덤 접근 삽입/삭제 뒤쪽 삽입/삭제 벡터 O(1) O(n) - 하나하나 다 밀어야함 O(1) 리스트 O(n) - iterator를 사용해야함 O(1) O(1) if find함수를 쓸 때는 둘 다 O(n) 시간복잡도가 필요함 but vector의 find가 훨씬 빠름 실제 저장 공간은 격자구조. vector는 순차적으로 저장됨 -> 다 cache안에 들어감 list는 여기저기 끊어져있음 -> cache miss가 일어남 더보기 자료구조의 성능을 비교할 때는 원소의 크기, 지역성에 대한..

CS/C++ 2023.10.01

[C#]박싱 언박싱

[c#] 박싱(boxing), 언박싱(unboxing) 개념과 사용 이유 (tistory.com) [c#] 박싱(boxing), 언박싱(unboxing) 개념과 사용 이유 기존에 타입을 변환하는것을 형변환(type casting)이라고 했었습니다. (형변환은 관련 포스팅 참조 바랍니다.) 박싱과, 언박싱도 형변환을 하는것이지만 조금 결이 다른데요. 1. 박싱과 언박싱이란? yeko90.tistory.com 형변환과 비슷하지만 다른 개념 박싱(boxing) : 값 형식을 참조 형식(Object타입)으로 변환 언박싱(unboxing): 박싱했던 값을 다시 원상태로 복귀 명시적으로 적어주면서 언박싱해야함 왜 사용? 배열에 다양한 타입으로 넣고 싶어서 단점: 메모리상 비효율 1.값형 -> 참조형으로 바뀔 때, ..

CS/C# & Unity 2023.09.27

정렬(선택,버블,삽입,병합,퀵,힙) / 무엇이 가장 빠르고 왜 빠른가 (동작과정)

(2) [게임코딩급행열차] 정렬 알고리즘 - YouTube 1.선택정렬 정렬되지 않은 데이터들 중에서 가장 작은 값을 추출하여 가장 맨 앞으로 정렬해나가는 알고리즘 시간복잡도 매 실행마다 최솟값 찾아야 하므로 이중 for문 사용하여 O(n^2) 2.버블정렬 인접한 두 수를 계속해서 비교하는 정렬 알고리즘 맨 뒤 인덱스부터 앞으로 정렬이 될 것임 시간복잡도 : O(n^2) 매번 자리를 바꿔야 하므로 비효율적임 (데이터가 많아졌을 경우 엄청난 연산) 3.삽입정렬 자료 배열의 모든 요소를 앞에서 부터 비교하고자 하는 타겟값(tmp)과 정렬된 값을 비교하여 자신의 위치를 찾아 삽입하면서 정렬해나가는 알고리즘이다. 매번 비교할 때마다 앞 부분에 해당하는 범위 모두 타겟값과 비교하여 해당 원소를 삽입할 수 있는 위..

렌더링 파이프라인

[Computer Graphics] 렌더링 파이프라인 요약 (velog.io) [Computer Graphics] 렌더링 파이프라인 요약 3차원으로 만들어진 모델을 2차원 픽셀 데이터로 변환하는 렌더링 과정인 렌더링 파이프라인(Rendering Pipeline)에 대해 알아보자. velog.io 3차원으로 만들어진 모델을 2차원에 투영하는 렌더링 과정의 프로세스를 자세하게 표현한 것이다. 컴퓨터에 데이터로 존재하는 3D 리소스가 모니터에 출력되는 과정이 렌더링 파이프라인을 따르게 된다. 위의 과정에 따라 화면에 도형을 표시할 수 있으며, 주황색 박스로 된 과정이 조작 가능한(Programmable) 단계 1.Input Assembler (Vertex Specification) CPU로부터 렌더링 수행할 ..

C++과 C#의 차이 (+ 속도차이)

C#과 C++간의 가장 중요한 차이점은 메모리 관리 메모리 할당/해제 플랫폼 지원 구문 C malloc, free 사용 프로그래머가 메모리 수동으로 관리해야 하기 때문에 많은 메모리누수 C++ new, delete로 직접 할당, 해제 스마트포인터를 사용해 자동으로 할당, 해제로 진화하였지만 여전히 순환참조 같은 특정 상황에서 메모리 누수 특정 하드웨어 및 운영체제에 맞게 컴파일할 수 있는 네이티브 언어 C와 유사한 구문을 사용하는 저수준 언어 C# 가비지 콜렉터를 채택 오버헤드가 있어 시스템이 바쁘게 돌아가고 있을때 GC가 실행되면 시스템에 장애 여러 운영체제에서 공통 런타임 환경을 제공하는 .NET플랫폼에서 사용 Java와 유사한 구분을 사용하는 고수준 언어 C#은 C++보다 느릴까?

CS/ETC 2023.09.27
728x90