books 13

HTML의 기본

마크업이 중요한 이유HTML에서 마크업이란 "어떤 문자열에 의미를 갖는 마크를 붙인다"라는 뜻 컴퓨터에게 정보의 의미를 알려주기 이해 사용웹 접근성을 위해검색 사이트에 정확한 정보를 제공하기 위해컴퓨터가 적절하게 해석하고 활용할 수 있는 정보를 기계 가독형 데이터라고 함. https://html.spec.whatwg.org/multipage/ HTML StandardHTML Living Standard — Last Updated 19 March 2025html.spec.whatwg.orghttps://www.w3.org/TR/css-2024/ CSS Snapshot 2024Abstract This document collects together into one definition all the specs..

깊은 복사와 얕은 복사

두 객체의 비교와 복사v1 == v2, 변수 v1과 v2가 참조하는 객체의 내용이 같은가?v1 is v2, 변수 v1과 v2가 참조하는 객체는 동일 객체인가?객체 복사얕은 복사r1 = ['John', ('man', 'USA'), [175, 23]]r2 = list(r1)print(r1 is r2)print(r1[0] is r2[0])print(r1[1] is r2[1])print(r1[2] is r2[2])r2는 r1가 참조하고 있는 값만 복사할 뿐 실제 객체를 복사한건 아니다(얕은 복사) 깊은 복사J2021 = ['John', ('man', 'USA'), [175, 23]]J2022 = list(J2021)J2022[2][1] +=1 print(J2021)print(J2022)J2021 = ['John..

수정 가능한 객체와 수정 불가능한 객체

immutable & mutable객체가 지닌 값의 수정이 불가능한 객체를 가리켜 "immutable 객체"라고 하며 대표적예로 "튜플", "문자열"이 있다. 객체가 지닌 값의 수정이 가능한 객체를 가리켜 "mutable" 객체라 하며 대표적인 예로 "리스트"와 "딕셔너리"가 있다. 리스트 객체r [1, 2]id(r) # 리스트 주소 정보 확인r +=[3, 4] # 리스트에 값을 추가r# [1, 2, 3, 4]id(r) # 리스트 주소가 바뀌지 않았음을 확인 튜플 객체t = (1, 2)print(t)t += (3, 4)print(t)print(id(t))성격에 따라 달라지는 함수의 정의리스트def add_last(m, n): m += nr = [1, 2]add_last(r, [3, 4])print(..

레퍼런스 카운트와 가비지 컬렉션

가비지 컬렉션변수 s에 문자열이 저장되었다고 표현되었다고 표현하지만 사실은 문자열 객체에 s라는 이름이 붙은 상황이다.s = "Garbage Collection"print(s) 파이썬의 변수는 빈 상자가 아닌 떼었다 붙였다 할 수 있는 '포스트잇'의 개념이다. 변수 s가 문자열 "Garbage Collection"을 참조한다.변수 s가 문자열 "Garbage Collection"을 레퍼런스한다.참조는 '포스트잇을 가져다 붙인 것을 뜻한다. 아래 코드는 리스트 객체를 생성하고 이를 r이라는 이름으로 참조한다.r = [1, 2, 3] 이 리스트 객체는 언제 소멸되나? -> 객체를 아무도 참조하지 않는 사항r = [1, 2, 3]r = 'simple' 위 처럼 r이 리스트를 참조한 상태에서 문자열을 참조하게 ..

001 보안의 정의 및 용

보통은 보안은 "무언인가를 보호하는 행위"로 인식하고 있다. 보호하는 자산에 따라서 데이터를 지키는 정보보안, 직접적인 접근을 지키는 물리보안, 다양한 산업의 형태를 지키는 융합보안 등 보호할 자산을 지키는 행위를 말한다.  보안이란 외부의 "위협"으로부터 내부의 "자산"에 대한 취약점을 보호대책을 통해 보호하는 방식을 말한다. R = V A T - C 위협을 없애거나, 자산의 가치가 없거나, 취약점이 존재하지 않는다면 위험이 존재하지 않게 된다. 위험 - 펜의 파괴 : 외부의 행위에 대해 자산(펜)이 발생할 손실취약점 - 잘 부러짐 : 자산이 가지는 공격 가능한 성질자산 - 펜 : 개인/법인이 소유하고 있는 유/무형의 가치위협 - 펜을 함부로 사용하는 습관 : 자산에 손실을 발생시키는 행위보호대책 - ..

도커 없이 컨테이너 만들면서 이해해보기

chrootchroot [옵션] NEWROOT [커맨드]chroot myroot /bin/sh커맨드를 지정하지 않으면 $SHELL이 기본값chroot[~]# cd /tmp#테스트 폴더만들기[tmp]# mkdir newroot[tmp]# [tmp]# mkdir -p newroot/bin[tmp]# mkdir -p newroot/usr/bin[tmp]# [tmp]# mkdir -p newroot/lib64#필요한 파일 복사[tmp]# which bash[tmp]# cp /bin/bash newroot/bin/[tmp]# which ls[tmp]# cp /usr/bin/ls newroot/bin/usr/bin/# 필요한 라이브러리 확인 후 복사[tmp]# ldd /bin/bash linux-vds..

도커 개념

도커란?'데이터 또는 프로그램을 격리시키는 기능'을 제공하는 소프트웨어컴퓨터에는 워드, 엑셀, 메일, 아파치, mysql 등 많은 프로그램(소프트웨어)이 함께 동작한다. 도커는 다양한 프로그램과 데이터를 각각 독립된 환경에 격리하는 기능을 제공, 그것도 운영체제(비슷한 것) 통째로 격리하는 기능이다. 운영체제 독립 애플리케이션(앱) 개발도커 설치 시 앱 실행 가능WInodw, Linux 등 운영체제에 무관앱 패키지화(이미지화)앱 및 실행 환경을 이미지에 패키지화앱 : 앱 소스실행 환경 : 운영체제, 웹 서버, 런타임 환경, 라이브러리 및 종속성 등앱 가상화(파일화)앱 이미지의 내용을 파일에 작성리눅스 컨테이너 기술 기반리눅스 커널 기반 가상화 기술 : 컨테이너 격리(독립)도커 구성도커 엔진도커 실행 환경..

자바 기술 시스템 소개

자바는 프로그래밍 언어뿐 아니라 여걸 가지 소프트웨어와 명세로 구성된 기술 시스템을 통칭자바 기술 시스템은 크로스 플랫폼 소프트웨어를 개발하고 배포하는 데 필요한 모든 것을 제공분산데이터, 분석 플랫폼 등의 용도로 클라우드 시스템에서 구동 중인 자바 가상 머신은 380억 개 이상개인용 컴퓨터, 셋톱박스, 내비게이션 등을 포함하면 전 세계적으로 600억 개 이상의 자바 가상 머신 동작 중하드웨어 플랫폼이라는 족쇄를 제거하여 '한 번 작성하면 어디서든 실행'라는 이상을 실현상당히 안전한 메모리 관리 시스템을 갖춘 덕에 메모리 누수 문제와 엉뚱한 메모리를 가리키는 문제 대부분을 피할 수 있음런타임에 핫 코드를 감지, 컴파일하고최적화하여 자바 애플리케이션이 최상의 성능을 내도록 도와 줌표준 API 자체가 풍부할..