본문 바로가기
728x90

Computer Science39

개발자가 알아야 하는 Unicode, UTF-8의 개념 개발자가 알아야 하는 Unicode, UTF-8의 개념 개발을 하다 보면 유니코드와 UTF-8이라는 용어를 들어봤을 것이다. 두 가지 개념은 텍스트 데이터의 표현과 처리에 있어서 중요한 역할을 하고 있다. 이번 글에서는 유니코드와 UTF-8의 개념과 활용에 대해서 알아볼 것이다. 1. 인코딩(Encoding), 디코딩(Decoding)이란 무엇인가? 유니코드와 UTF-8을 알기 전에, 먼저 알아야 하는 개념이 있다. 인코딩과 디코딩이다. 인코딩(Encoding)은 데이터를 다른 형식으로 변환하는 과정을 말한다. 인코딩은 일련의 규칙을 적용하여 데이터를 해당 형식으로 표현하는 방식인 것이다. 주로 문자열을 바이트로 변환하는 과정을 의미한다. let str = "Hello, world!" // 변환할 문자열.. 2023. 7. 2.
[CS] Multi Process, Multi Thread 개념과 구현 [CS] Multi Process, Multi Thread 프로세스와 스레드에 대해서는 이전에 한 번 정리를 한 적이 있다. 2022.07.06 - [IT 지식/CS] - [CS] 프로세스와 스레드 [CS] 프로세스와 스레드 프로세스와 스레드 1. 프로세스의 개념 어떤 작업을 위해 실행할 수 있는 파일을 '프로그램'이라 한다. 그 프로그램이 컴퓨터에서 연속적으로 실행될 때, 그것을 프로세스라고 한다. 메모리에 올 masterpiece-programming.tistory.com 하지만 개념적인 측면에서 프로세스가 무엇인지, 스레드가 무엇인지 정도만 정리를 했기 때문에, 지금 와서 스레드를 사용한 프로그램을 구현하라고 하면...? 말하는 감자에 불과해진다. 그래서 프로그래머스 자바 중급 강의와 여러 참고 자.. 2022. 7. 31.
[C언어] 구조체 배열, 구조체 포인터 배열 [C언어] 구조체 배열 1. 구조체 배열의 필요성 만약 2차원 좌표를 10개 만들어야 한다면? struct Point2D{ int x; int y; }; // 구조체 변수 10개 선언 struct Point2D p1; struct Point2D p2; ... struct Point2D p10; 이렇게 반복 노가다를 하는 방법도 있겠지만, 수 천개의 구조체는 만들다가 인생이 다 가버릴지도 모른다. 일반 자료형과 같이 배열로 구조체를 만들면 되는 일을 굳이 이렇게 할 필요가 없다. struct Point2D p[3000]; // 요소가 3,000개인 구조체 배열 선언 2. 구조체 배열 선언하기 #include struct Point2D { int x; int y; }; int main() { struct P.. 2022. 7. 19.
[C언어] C언어 구조체(struct) C언어 구조체(struct) Goal. : 구조체의 기본 활용방법부터 포인터를 이용한 구조체 값 변경방법까지 이해한다. 1. 구조체가 만들어진 이유. C언어는 자료를 체계적으로 관리하기 위해 구조체라는 문법을 사용한다. 코드를 구현하다보면 많은 변수들이 선언이 되는데, 이 중 중복적으로 사용되는 코드들이 있다. void introduce(int age, char* name, char* hometown, char* favorite_food); void talk(int age, char* name, char* hometown, char* favorite_food); int main() { int person1_age = 20; char* person1_name = "홍길동"; char* person1_hom.. 2022. 7. 13.
[C언어] 문자열을 활용한 여러 함수 만들기 [C언어] 문자열을 활용한 여러 함수 만들기 1) 주어진 문자열이 원래 문자열의 시작점부터 일치하는 지 확인하는 함수 구현 // start_with #include // c언어의 타입 정의 typedef int bool; // 이렇게 하면 타입을 정의할 수 있다. #define true 1 // 값에 대한 별명 #define false 0 int get_length(char* b){ int length = 0; while(1){ if(b[length] != '\0'){ length++; continue; } break; } return length; } bool starts_with(char* a, char* b){ for(int i = 0; i < get_length(b); i++){ if(a[i] !.. 2022. 7. 13.
[C언어] 문자열 활용하기 [C언어] 문자열 활용하기 1. 문자와 문자열 C언어에서 문자와 문자열은 다른 자료 구조이다. 문자(character) : ‘a’, ‘b’, ‘$’ ‘@’ 등과 같은 단일의 기호를 말한다. 작은따옴표 안에 기호를 쓴다. 정수나 실수 데이터도 작은따옴표 안에 있으면 문자로 인식된다. ‘13’은 문자 처리가 되지 않아 오류가 생길 수 있다. 문자열(String) : “nice”, “안녕” 등과 같이 두 개 이상의 문자 결합 구조를 가진다. 큰따옴표 안에 기호를 쓴다. 1) 문자의 선언 방법 C언어의 문자 자료형은 메모리 한 칸에 하나의 문자만 삽입될 수 있다. char 변수명 = '변수값'; 메모리 안에 변수의 값이 들어가게 된다. 2) 문자열의 선언 방법 메모리 한 칸에 하나의 문자만 들어갈 수 있기 때문.. 2022. 7. 12.
728x90