분류 전체보기(170)
-
USB에 ubuntu 22.04설치 - rufus설치
지금 교육받는 환경에서 다른 java 버젼을 사용하려고 하는데 관리자 권한으로 해당 경로 편집이 불가하여 USB에 ubuntu와java를 설치하여 집, 교육환경 두 곳에서 모두 사용할 수 있게 하려고 했다. 그런데 USB에 설치하려면 USB 부팅 디스크 제작 프로그램(rufus) 설치가 필요하다는 사실을 찾으면서 알았다.그 이유는 아래와 같다.로컬 PC의 OS와 USB의 OS는 별개다. 로컬에 설치된 OS와는 별개로 USB 드라이브 자체에 부팅 가능한 Ubuntu 운영체제를 만들어야 한다.USB 부팅을 위한 특수 포맷이 필요하다. 일반적인 USB 드라이브 포맷만으로는 부족하며, USB를 부팅 가능한 형태로 만들어야 한다.ISO 이미지 파일을 USB에 정확히 쓰기 위해서다. Ubuntu ISO 파일을 U..
2024.06.11 -
자바 복습
역할 = interface구현 = interface 구현 class / 객체 구현보다 역할(interface) 분리를 잘 해야한다. 좋은 객체 지향 설계의 5가지 원칙 (SOLID) 단일 책임 원칙(Single Responsibility Principle, SRP)한 클래스는 하나의 책임만을 가져야 한다.클래스는 단 하나의 기능만 가지며, 그 기능을 변경해야 할 이유가 하나여야 한다.개방-폐쇄 원칙(Open-Closed Principle, OCP)소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하지만, 변경에는 닫혀 있어야 한다.기존 코드를 수정하지 않고도 기능을 확장할 수 있어야 한다.리스코프 치환 원칙(Liskov Substitution Principle, LSP)프로그램의 객체는..
2024.06.10 -
포인터 연산
*tmp++ = *s++; tmp가 가리키는 값을 가져와 s가 가리키는 값으로 설정한 후에, tmp와 s를 모두 1씩 증가시킨다. tmp++ = s++; tmp를 1만큼 증가시킨 후, s가 가리키는 값을 tmp가 가리키는 위치에 할당한 후에, s를 1씩 증가시킨다. *--tmp = *--s; --tmp: tmp를 1만큼 감소시킨 후에, 그 위치의 값을 가리킨다. --s: s를 1만큼 감소시킨 후에, 그 위치의 값을 가리킨다. 이후에 tmp가 가리키는 위치에 s가 가리키는 값을 할당한다. --*tmp = --*s; --*tmp: tmp가 가리키는 값을 가져온 후에 1을 감소시킨다. --*s: s가 가리키는 값을 가져온 후에 1을 감소시킨다. 그 후에 tmp가 가리키는 위치에 s가 가리키는 값을 할당한다.
2024.03.08 -
unsigned char
unsigned char 는 byte 단위의 데이터를 나타내는 데에 적합한 데이터 형식이다. 또한 부호 없는 데이터 형식이기 때문에 메모리 영역에 설정할 값을 나타내기에 적합하다. 그래서 size_t 를 받아서 사용하는 memset 함수에 void *형태를 unsigned char *로 변환하여 포인터 산술을 보다 편하고 효율적으로 수행할 수 있다.
2024.03.08 -
size_t
size_t 는 주로 메모리 할당 및 배열 인덱싱과 관련된 작업에서 반환되는데 데이터의 크기를 나타내는데 사용된다. 플랫폼 독립성 32bit 시스템에서는 4byte / 64bit 시스템에서는 8byte이다. 이는 메모리 할당과 같은 작업에서 특정 플랫폼의 메모리 구조에 영향을 받지 않고 일관된 크기를 보장하는데 도움이 된다. 부호 없는 값 size_t 는 부호 없는 정수 데이터 형식이다. 이는 음수 값을 나타내지 않는다는 것을 의미한다. 메모리 크기 또는 배열 길이와 같은 양의 값에 사용된다. 메모리 할당 메모리 할당 함수(ex / malloc)는 size_t 형식을 사용하여 할당할 메모리의 크기를 지정한다. 표준 라이브러리와의 호환성 표준 라이브러리 함수(ex / strlen / sizeof)는 siz..
2024.03.08 -
문자열 포인터 길이 확인 시 주의사항
while (str[str_len]) str_len++; while (str && str[str_len]) str_len++; 아래처럼 while에 str을 넣어주게 되면 str이 NULL인 경우에도 str[str_len]을 안전하게 참조할 수 있다.
2024.02.29