DevTales
close
프로필 배경
프로필 로고

DevTales

  • 분류 전체보기 (31)
    • Java (4)
      • Spring Boot (0)
    • Kotlin (0)
    • C (1)
    • Go (9)
    • Python (4)
    • Database (3)
    • Cloud (5)
    • 기타 (4)
  • 홈
  • 방명록
C (1) - 상수와 변수

C (1) - 상수와 변수

C 언어 C 언어의 탄생 C 언어는 1972년, 유닉스(UNIX) 시스템에 사용하기 위해 켄 톰슨(Ken Tompson)이 만든 B 언어를 데니스 리치(Dennis Ritchie)가 발전시켜 만든 언어입니다. 1969년에 개발된 초기 유닉스는 대부분 어셈블리어로 작성되어 컴퓨터의 하드웨어가 바뀌면 유닉스를 다시 개발해야 하는 문제가 있었습니다. 이런 불편을 해결하고자 데니스 리치는 하드웨어에 상관없이 사용할 수 있는 C 언어를 만들었습니다. 이러한 C 언어의 장점으로는 다음의 3가지가 있습니다.하드웨어를 제어하는 시스템 프로그래밍이 가능합니다.기종이 다른 컴퓨터에서도 올바르게 작동하는 이식성을 갖춘 프로그램을 만들 수 있습니다.함수를 사용해 개별 프로그래밍이 가능합니다.앞으로 학습할 C 언어는 1999..

  • format_list_bulleted C
  • · 2025. 7. 8.
  • textsms
리눅스 컨테이너 (5) - namespace [NET]

리눅스 컨테이너 (5) - namespace [NET]

NET namespace 이전에 리눅스 컨테이너 (4)편에서는 프로세스 격리 기능 중 하나인 UTS namespace에 대해 살펴보았습니다. 리눅스 컨테이너에서 사용하는 여러 종류의 namespace 중 NET namespace는 컨테이너가 고유한 네트워크 인터페이스, IP 주소, 라우팅 테이블, 포트 등 네트워크 스택 전반을 독립적으로 소유하도록 하여, 네트워크 자원 측면에서의 완전한 격리를 제공합니다. 이를 통해 하나의 물리 서버에서 여러 컨테이너가 각각 자신만의 가상 네트워크 환경을 구성하고, 다른 컨테이너나 호스트와 충돌 없이 통신하거나 완전히 차단된 상태로 동작할 수 있습니다. Network Interface 네트워크 인터페이스(Network Interface)는 컴퓨터 시스템이 외부 네트워크와..

  • format_list_bulleted Cloud
  • · 2025. 6. 30.
  • textsms
리눅스 컨테이너 (4) - namespace [UTS]

리눅스 컨테이너 (4) - namespace [UTS]

UTS namespace 이전에 리눅스 컨테이너 (3)편에서는 프로세스 격리 기능 중 하나인 PID namespace에 대해 살펴보았습니다. 리눅스 컨테이너에서 사용하는 여러 종류의 namespace 중 UTS namespace는 컨테이너가 고유한 hostname과 domain name을 갖도록 하여, 네트워크 식별자 측면에서의 독립성을 제공합니다. 이를 통해 하나의 물리 서버에서 여러 컨테이너가 서로 다른 호스트 이름을 사용하며 서로 간섭 없이 동작할 수 있습니다. hostname hostname은 리눅스 시스템에서 네트워크 상의 시스템을 식별하기 위한 이름입니다. 보통 사람이 읽기 쉬운 형식으로 지정되며, 시스템 관리자나 자동화 도구가 각 시스템을 구분할 때 주로 사용됩니다. 예를 들어 web-ser..

  • format_list_bulleted Cloud
  • · 2025. 6. 9.
  • textsms
리눅스 컨테이너 (3) - namespace [PID]

리눅스 컨테이너 (3) - namespace [PID]

PID namespace 이전에 리눅스 컨테이너 (2)편에서는 프로세스 격리 기능 중 하나인 chroot에 대해 살펴보았습니다. 이번 글에서는 리눅스 컨테이너 기술의 핵심 개념 중 하나인 namespace 중에서 PID namespace에 대해 알아보겠습니다. 컨테이너와 커널 PID namespace에 대해 보기 전에, 먼저 리눅스 컨테이너 (1)편의 서론에서 언급했던 내용을 다시 살펴보겠습니다.컨테이너는 호스트 커널을 공유하면서도 사용자 공간은 독립적으로 분리된 실행 환경을 제공합니다. 이 개념을 실제로 확인하기 위해, 컨테이너 기술의 대표적인 도구인 docker를 사용해 실습해보겠습니다. 실습 환경은 (2)편과 동일하게 Multipass를 사용했습니다. 우선 docker가 설치되어 있는지 확인해보겠습..

  • format_list_bulleted Cloud
  • · 2025. 6. 2.
  • textsms
리눅스 컨테이너 (2) - chroot

리눅스 컨테이너 (2) - chroot

chroot 이전에 리눅스 컨테이너 (1)편에서는 여러가지 프로세스 격리 기능들에 대해 간단히 살펴보았습니다. 이번 글에서는 격리 기능들 중 chroot의 동작 원리를 들여다보고, 실제로 어떻게 사용하는지 실습을 통해 알아보겠습니다. chroot를 실습하려면 리눅스 환경이 필요한데, 저는 이를 위해 Multipass를 사용했습니다. Multipass는 Ubuntu를 개발한 Canonical에서 제공하는 경량 가상 머신 관리자로, 로컬 환경에서 빠르고 간편하게 Ubuntu 인스턴스를 실행할 수 있도록 도와주는 도구입니다. 개발 및 테스트용 리눅스 환경을 구축할 때 매우 유용합니다. 동작 원리 chroot는 Change Root Directory 의 줄임말로 루트 디렉터리를 바꾼다는 뜻을 갖고 있습니다. 먼..

  • format_list_bulleted Cloud
  • · 2025. 5. 28.
  • textsms
Python (4) - 내장 함수, 표준 라이브러리, 외부 라이브러리

Python (4) - 내장 함수, 표준 라이브러리, 외부 라이브러리

내장 함수 파이썬 내장 함수는 파이썬 모듈과 달리 import가 필요하지 않기 때문에 아무런 설정 없이 바로 사용가능합니다. 활용 빈도가 높은 내장 함수들을 살펴보겠습니다. abs 숫자의 절댓값을 리턴합니다.>>> abs(3)3>>> abs(-3)3>>> abs(-1.2)1.2 all 반복 가능한 데이터의 모든 요소가 참이면 True, 하나라도 거짓이면 False를 리턴합니다. (빈 값인 경우에는 True를 리턴합니다.)>>> all([1, 2, 3])True>>> all([1, 2, 3, 0])False>>> all([])True any 반복 가능한 데이터의 요소 중 참이 있으면 True, 모두 거짓이면 False를 리턴합니다. (빈 값인 경우에는 False를 리턴합니다.)>>> any([1, 2, 3..

  • format_list_bulleted Python
  • · 2025. 5. 18.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 6
  • navigate_next
전체 카테고리
  • 분류 전체보기 (31)
    • Java (4)
      • Spring Boot (0)
    • Kotlin (0)
    • C (1)
    • Go (9)
    • Python (4)
    • Database (3)
    • Cloud (5)
    • 기타 (4)
최근 글
인기 글
최근 댓글
태그
  • #tucker의 go언어 프로그래밍
  • #PostgreSQL
  • #mysql
  • #비동기
  • #Callback
  • #혼자 공부하는 C언어
  • #system call
  • #논블로킹
  • #점프 투 파이썬
  • #java
전체 방문자
오늘
어제
전체
Copyright © Kakao Corp. All rights reserved.
Designed by 티스토리

티스토리툴바