본문 바로가기

컴퓨터공학10

[알고리즘] 해시 해시- 키를 통해 값을 찾을 수 있음- 그러나 값을 통해 키를 찾을 수는 없음.- 키 자체가 해시 함수에 의해 값이 있는 인덱스가 되므로 값을 찾기 위한 탐색 과정이 필요 없음.- 값을 익덱스로 활용하려면 적절한 변환 과정을 거쳐야함. 해시 테이블- 키와 대응한 값이 저장되어 있는 공간- 해시 테이블의 각 데이터를 버킷이라고 부름. 해시 함수코딩테스트에서 해시 함수를 직접 구현하라는 문제가 나오는 경우는 거의 없음.Swift의 STL은 이미 Dictionary 를 제공하는데, 해시와 거의 동일하게 동작하므로 해시를 쉽게 사용할 수 있음.해시 함수에 의해 얻어지는 값을 해시값, 해시코드, 해시 체크섬으로도 부름. 해시 함수를 구현할 때 고려해야할 부분- 첫째, 해시 함수가 변환한 값은 인덱스로 활용해야 함.. 2024. 7. 4.
[네트워크/보안] OAuth2.0 보호되어 있는 글 입니다. 2024. 6. 30.
[데이터베이스] DML 기초 ROWNUM은 사용자가 아닌 시스템이 관리하는 의사 컬럼으로 채번, 출력 갯수 지정 등에 활용이 가능하다.oracle 에서만 되는 것 같은데 mysql에서의 사용법은 조금 다른 것 같다.DESC 는 테이블의 구조를 보기 위해 사용한다. SELECT, INSERT, UPDATE, DELETEINSERT테이블에 한 건의 레코드를 추가함여러개를 추가하고 싶으면? INSERT ALL 구문을 사용한다.문자 또는 날짜 값의 경우 반드시 작은 따옴표로 묶어야한다.INSERT INTO 테이블명 (컬럼 리스트)VALUES (값 리스트)칼럼 순서는 실제 테이블의 칼럼 순서와 무관함.정의하지 않은 값은 NULL 값이 입력된다.컬럼 리스트를 적어주지 않으면 모든 컬럼이라고 간주한다.INSERT ALL테이블에 동시에 여러 레코.. 2024. 5. 13.
[컴퓨터 구조] LLVM, clang, static/dynamic linking 안녕하세요 로디입니다. 학부 때는 gcc 를 바탕으로 프로그램 소스 컴파일과 실행과정에 대해 배웠습니다. 저는 학부때 처음 개발 걸음마를 떼고 1년 정도를 IDE 없이 순수 에디터로만 c++ 를 개발했었습니다.그래서 소스를 작성하고, 직접 컴파일과 어셈블, 링킹, 그리고 로딩 과정으로 프로그램을 실행했었죠. 지금보면 참 낭만코딩,,, 이였던것 같습니다.이런 과정을 자동화하기 위해 Makefile도 다루고 했었는데 말이죠..이젠 IDE나 유틸리티에 익숙해지다보니 머릿속에서 증발했네요 🥲 Translation and StartUp 프로세스c++, object-c, swift와 같은 고수준 프로그래밍 언어에서 프로그래밍 소스를 기계어 레벨로 번역하고 컴퓨터에서 실행가능한 프로그램을 만드는 메커니즘은 다 비.. 2024. 5. 12.
[네트워크/보안] OAuth 1.0 보호되어 있는 글 입니다. 2024. 5. 11.
[OS] 11 - 1: I/O Multiplexing 보호되어 있는 글 입니다. 2024. 5. 10.
[컴퓨터구조] 개발자라면 알아야하는 CPU 아키텍쳐 안녕하세요, 로디 🎼입니다.오늘은 개발자라면 꼭 알아야 할 필수 지식인 CPU와 CPU 아키텍처에 대해 알아보겠습니다.CPU ..?우선 CPU가 뭔지 모르신다면.. 충분히 그럴 수 있습니다 (이름부터가 구리잖아요) 저도 그랬거든요;;,,  CPU(Central Processing Unit)는 컴퓨터의 두뇌 역할을 하는 핵심 부품입니다. 쉽게 말해, 컴퓨터가 모든 작업을 처리할 수 있도록 명령을 수행하고 연산을 처리하는 곳이죠. 아래 사진이 바로 CPU입니다. CPU가 어떻게 생겼는지 보여드리고 싶어 컴퓨터를 분해해서 찍어왔어요,,, 실물을 봐야 감이 오니깐^^딱 봐도 ~ 잘모르고 싶게 생겼죠? CPU의 역할업무 처리: 직원이 다양한 업무(문서 작성, 회의 준비 등)를 처리하는 것처럼 CPU는 컴퓨터에서.. 2024. 5. 10.
[OS] 7-1 : 공유메모리 memory mapped IO 보호되어 있는 글 입니다. 2024. 5. 10.
[OS] OSTEP: 29 - Lock based Concurrent DS 보호되어 있는 글 입니다. 2024. 5. 9.
[파일 처리] 01 - RPM, 블록, 페이지 로디입니다.파일처리 교과목을 다시금 정리하고 있습니다.CS는 정말 두고두고 도움이 되는것 같습니다.RPM분당 회전수 (RPM, Resolutions Per minute)- 하드 디스크 드라이브(HDD)의 성능을 나타내는 지표 중 하나.- 하드 드라이브의 회전 디스크가 1분당 회전하는 횟수를 의미.- 이 수치는 디스크의 읽기 및 쓰기 속도에 직접적인 영향을 미침. RPM 의 중요성- 속도와 성능: RPM이 높을수록 데이터에 접근하고 데이터를 읽고 쓰는 속도가 빨라짐. 높은 RPM은 더 빠른 데이터 처리능력을 의미.- 응답 시간(Seek Time) 및 대기 시간(Latency) : 하드 드라이브의 회전 속도가 빠를수록 데이터를 찾는 데에 필요한 시간(Seek Time)과 다음 데이터 블록을 읽기 시작하는 데.. 2024. 4. 13.