h2861331의 등록된 링크

 h2861331로 등록된 티스토리 포스트 수는 78건입니다.

#1 Wargame leviathan1 (Level0 ~ Level2), radare2 [내부링크]

일단 leviathan 같은경우 힌트가 주어지지 않는다! Data for the levels can be found in the homedirectories. You can look at /etc/leviathan_pass for the various level passwords.  /etc/leviathan_pass..

#18 Wargame bandit 15 (Level30 ~ 33(End)), git show-ref, git 파일 추가 [내부링크]

Level30 -> Level31 ssh://bandit30-git@localhost/home/bandit30-git/repo에 git 저장소가 있습니다. bandit30-git 사용자의 비밀번호는 bandit30 사용자의 비밀번호와 동일합니다. 저장소를 복제하고 다음 레벨..

#17 Wargame bandit 14 (Level28 ~ Level30), branch,git log,git show,git checkout 명령어 [내부링크]

Level28 -> Level29 ssh://bandit28-git@localhost/home/bandit28-git/repo에 git 저장소가 있습니다. bandit28-git 사용자의 비밀번호는 bandit28 사용자의 비밀번호와 동일합니다. 저장소를 복제하고 다음 레벨..

#16 Wargame bandit 13 (Level26 ~ Level28), git clone명령어 [내부링크]

Level26 -> Level27 그 전 레벨에서 수고했다 한다. 이제 bandit25에서 bandit26의 shell을 땄는데, 바로 bandit27을 그상태에서 얻어 보라는 뜻이다. 1.ls 를 통해 살펴보니 예전에 풀었던 bandit19 문제와 똑같..

#15 Wargame bandit 12 (Level24 ~ Level26), 브루트포스공격,more명령어 [내부링크]

Level24 -> Level25 데몬은 포트 30002에서 수신 대기 중이며 bandit24에 대한 암호와 비밀 숫자 4자리 핀코드가 제공된 경우 bandit25에 대한 암호를 제공합니다. 무차별 대입(brute-forcing)이라고 하는 10000..

#14 Wargame bandit 11 (Level23 ~ Level24), touch,bash,cp [내부링크]

Level23 -> Level24 시간 기반 작업 스케줄러인 cron에서 일정 간격으로 프로그램이 자동으로 실행됩니다. /etc/cron.d/에서 구성을 찾고 어떤 명령이 실행되고 있는지 확인하십시오. 참고: 이 수준에서는 자신의..

7/30 열리는 HackingLand 참가! [내부링크]

https://www.youtube.com/watch?v=i5dlfOonhLI 노말틱 님이 주최하시는 ! 해킹랜드에 참가하게 되었다. 티켓 비밀번호는 stage1, stage2, stage3 를 깨고 나면, 나온다!! 일단 bandit 문제를 클리어한 나한테는 비..

#13 Wargame bandit 10 (Level21 ~ Level23), tmp [내부링크]

Level21 -> Level22 시간 기반 작업 스케줄러인 cron에서 일정 간격으로 프로그램이 자동으로 실행됩니다. /etc/cron.d/에서 구성을 찾고 어떤 명령이 실행되고 있는지 확인하십시오. 1.일단 /etc/cron.d/ 에 접..

#12 Wargame bandit 9 (Level19 ~ Level21), setuid,nc 명령어 [내부링크]

Level19 -> Level20 다음 레벨에 액세스하려면 홈 디렉토리에서 setuid 바이너리를 사용해야 합니다. 인수 없이 실행하여 사용법을 알아보세요. 이 레벨의 비밀번호는 setuid 바이너리를 사용한 후 일반적인 위치..

#11 Wargame bandit 9 (Level17 ~ Level19), diff명령어,bashrc [내부링크]

Level17 -> Level18 홈디렉토리에는 2개의 파일이 있습니다: passwords.old 및 passwords.new. 다음 수준의 암호는 passwords.new에 있으며 password.old와 passwords.new 사이에서 변경된 유일한 줄입니다. 참고..

#10 Wargame bandit 8 (Level15 ~ Level17), openssl,nmap명령어, 하트블리드 취약점 [내부링크]

Level15 -> Level16 SSL 암호화를 사용하여 localhost의 포트 30001에 현재 수준의 암호를 제출하여 다음 수준의 암호를 검색할 수 있습니다. 유용한 참고 사항: "HEARTBEATING" 및 "Read R BLOCK"이 필요하십니..

#9 Wargame bandit 7 (Level13 ~ Level15), ssh,리눅스 디렉토리,nc명령어 [내부링크]

Level13 -> Level14 다음 레벨의 비밀번호는 /etc/bandit_pass/bandit14에 저장되며 bandit14 사용자만 읽을 수 있습니다. 이 수준의 경우 다음 암호를 얻지 못하지만 다음 수준에 로그인하는 데 사용할 수 있는..

#8 Wargame bandit 6 (Level11 ~ Level13), tr,mkdir,cp,xxd,gzip,bzip2,tar,mv명령어 [내부링크]

Level11 -> Level12 다음 레벨의 비밀번호는 data.txt 파일에 저장됩니다. 여기서 모든 소문자(a-z) 및 대문자(A-Z)가 13자리 회전되었습니다. 위 조건을 가지고 비밀번호를 알아내 보자! 1. ls 명령어를 살펴보..

#7 Wargame bandit 5 (Level9 ~ Level11), string,base64명령어 [내부링크]

Level9 -> Level10 다음 레벨의 비밀번호는 몇 개의 '=' 문자가 앞에 오는 사람이 읽을 수 있는 몇 가지 문자열 중 하나로 data.txt 파일에 저장됩니다. 위 조건을 해결 해보자! 1. 이 문제를 해결하기 위해선 저..

#6 Wargame bandit 4 (Level7 ~ Level9),파이프라인,grep,sort,uniq 명령어 [내부링크]

Level7 -> Level8 다음 비밀번호는 백만번째라는 단어 옆에있는 data 파일에 저장되어 있다 한다. 찾아보자! 1.일단 millionth라는 문자열을 출력하기 위해선 grep과 파이프라인 명령어가 필요한데, 이 명령어들..

#5 Wargame Bandit 3 (Level 5 ~ Level 7) ,ls,cd,find명령어 [내부링크]

Level5 -> Level6 이번에는 inhere 디렉토리 안에, 여러 파일들이 있는데 그중에 사람이 읽을 수 있고, 1033바이트 크기 내 이며, 실행 불가능한 조건을 모두 만족시키는 파일 안에 비밀번호가 숨겨있다! 해결 해..

#4 Wargame Bandit 2 (Level 3 ~ Level 5) ,hidden,file명령어 [내부링크]

Level 3 -> Level4 비밀번호는 inhere 디렉토리 안에 있는 hidden 파일에 있다. 1. ls 명령어를 이용해 inhere 디렉토리가 있는지 확인한다. 2. cd 명령어를 이용해 inhere 디렉토리에 접근한다. 3. ls -a 를..

#3 Wargame Bandit 1 (Level0 ~ Level3), ls,exit,clear,cat명령어 [내부링크]

세팅을 전 시간에 끝마쳤으니, Level1 부터 풀어나가 보자. 리눅스에서 복사, 붙여넣기는 shift + ins를 사용하면 된다. Level 0 -> Level1 Home Directory에 있는 readme 파일 안에 비밀번호 알아내기이다. 1...

#2 Wargame OverTheWire 셋팅 하기 [내부링크]

https://overthewire.org/wargames/ 에 접속하면 이런 화면이 나타난다. 우리는 Bandit 에 접속해 해결하려 한다. 이 Bandit을 풀기 위해선 터미널에 접속해야 하는데, putty라는 프로그램을 이용할 예정이다...

#1 IP주소와 Port 번호 [내부링크]

IP 주소 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다. 만약 서버가 들어가지 않으면 IP가 안전하지 않다고 한다. 네트워크에 연결된 장치가 라우터이든 일반 서버..

#2 Jupyter 노트북, Pandas, Numpy, Matplotlib 사용법 [내부링크]

전 게시글과 같이 Jupyter 노트북에서 New 버튼을 눌러, Python 3을 클릭하게 되면, 위와 같이 Untitled 라는 문서가 생성 된다. 1. Pandas 사용법 import pandas as pd #pandas의 Dataframe을 생성한다. names =..

#1 주피터,아나콘다 환경 만들기 [내부링크]

1. google에 아나콘다를 친후 버전에 맞는 아나콘다를 다운 받아 준다. 2.다운 받게 되면, 주피터 노트북과 함께 스파이더, 프롬프트 등이 깔려있다. 3.프롬프트를 열고 가상환경을 만들어 준다. conda create -..

#2 딥러닝이란? [내부링크]

심층 학습 또는 딥 러닝(deep structured learning, deep learning 또는 hierarchical learning) 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서..

#1 머신러닝과 딥러닝 차이점과 머신러닝이란? [내부링크]

딥러닝 ⊂ 머신러닝 ⊂ 인공지능 포함관계로 한 번에 설명될 수 있다. 즉, 인공지능이 가장 넓은 개념이고 그 다음으로 머신러닝 딥러닝 순이다. 인공지능(Artificial Intelligence) - 인공지능은 학습, 추론 능..

#5 Selenium을 이용한 매크로(좌석선택) [내부링크]

이번 포스팅에서는 보안문자를 칠 때까지 딜레이가 된후 보안문자가 쳐지면, 바로 좌석 선택 -> 카카오 페이 결제 수단까지 나오게끔 하는 조금 더 디테일한 매크로를 만들어 볼 예정이다. 앞서 포스터와 같이 악..

#4 Selenium을 이용한 매크로(자동배정) [내부링크]

악용할 예시가 있기 때문에 코드 몇줄은 넣지 않고 올린다. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.common.exceptions import NoSuchElementException from..

#16 소켓 프로그래밍이란? [내부링크]

소켓 소켓(Socket)은 전구나 형광등을 고정하는 도구이자 전기를 공급하기 위한 투입구 역할을 수행한다. 컴퓨터 네트워크에서 소켓은 통신을 위한 ‘종착지’와도 같은 역할을 수행합니다. 두 개의 컴퓨터가 통신..

#3 XPATH를 이용한 주요 뉴스 불러오기 [내부링크]

오늘 할 실습은 네이버 뉴스에서 연예 주요 뉴스와 IT/보안 주요 뉴스를 스크래핑 해오도록 하겠다. 자세한 설명은 앞 포스터에 나와 있으니, 참고 바란다. 코드 예시 from selenium import webdriver from seleni..

#2 XPATH를 활용한 네이버웹툰 실시간 급상승 불러오기 [내부링크]

전 차시에 대해 굉장히 자세히 다루어 봤으므로 간략한 소스코드로 설명하겠다. 우리의 목표는 네이버 웹툰에 접속하여 인기급상승 웹툰의 인기순 목록을 불러오는 것이다. 코드 예시 from selenium import webdr..

#1 XPATH를 활용한 네이버 항공권 최저가 불러오기 [내부링크]

일단 네이버 항공권 웹 자동화를 하기 위해선 Chromedriver 와 selenium 설치가 필요하다. VS code를 통해 진행 하도록 하겠다. 목표 네이버 항공권에서 내가 가는 날짜, 오는 날짜, 가는곳을 선택하고 최저가 부..

#15 C++ 예외 처리 [내부링크]

예외 예외(Exception)란 프로그램이 동작하는 과정에서 발생하는 예상치 못한 오류(Error) 의미한다. C++에서는 발생할 가능성이 높은 오류에 대해서 예외 처리(Exception Handling)을 할 수 있도록 해준다. 예외..

#14 C++ STL 연관 컨테이너 라이브러리 [내부링크]

C++ STL 연관 컨테이너 1) STL 연관 컨테이너 라이브러리는 매우 활용도가 높은 자료구조를 제공한다. 2) 연관 컨테이너는 키(Key)와 값(Value) 형태의 관련 있는 데이터를 쌍으로 저장하는 컨테이너다. 3) 가..

#13 C++ STL 시퀀스 컨테이너 라이브러리 [내부링크]

C++ STL 시퀀스 컨테이너 1) STL 시퀀스 컨테이너 라이브러리는 매우 활용도가 높은 자료구조를 제공한다. 2) 기존의 C언어를 이용하면 구현하기 까다로웠던 다양한 자료구조를 손쉽게 이용할 수 있다. 3) 가장..

#12 C++ STL 컨테이너 어댑터 라이브러리 [내부링크]

C++ STL 컨테이너 어댑터 1) STL 컨테이너 어댑터 라이브러리는 매우 활용도가 높은 자료구조를 제공한다. 2) 기존의 C언어를 이용하면 구현하기 까다로웠던 다양한 자료구조를 손쉽게 이용할 수 있다. - Stac..

#11 C++ 스마트 포인터 [내부링크]

스마트 포인터 C++의 스마트 포인터(Smart Pointer)는 프로그래머의 실수로 메모리 누수(Memory Leak)을 방어하기 위한 수 단으로, 포인터처럼 동작하는 클래스 템플릿(Class Template)이다. 기본적으..

#10 C++ 템플릿 [내부링크]

일반화 C++은 일반화 프로그래밍(Generic Programming)이 가능한 언어이다. C++에서는 템플릿(Template)을 이용해서 일반화 프로그래밍을 사용할 수 있다. 템플릿 (template 명령어) 템플릿(Template)이란 매개변..

#9 다형성 기법 2 [내부링크]

가상 함수 가상 함수(Virtual Function)란 자식 클래스에서 재정의할 수 있는 멤버 함수다. virtual 키워드를 이용해 가상함수를 선언할 수 있으며 자식 클래스에서 가상 함수를 재정의하면 재정의된 멤버 함수..

#8 C++ 다형성 기법 1 [내부링크]

다형성 칼 객체, 대포 객체, 총 객체를 attack() 분류한 구성에서는 무기 객체에서 attack() 함수를 실질적으로 구현할 필요가 없다. 이럴 때 무기 객체를 추상 클래스(Abstract Class)로 구현하면 효과적으로 설..

#7 정적멤버,상수멤버 [내부링크]

정적 멤버 정적 멤버(Static Member)란 클래스에는 포함 되어 있는 멤버이지만 모든 객체가 공유하는 멤버이다. 정적으로 선언된 멤버는 메모리 상에 오직 하나만 할당되어 관리된다. 정적 멤버를 public으로 선..

#6 C++ 프렌드 [내부링크]

캡슐화 기법중 하나인 프렌드에 대해 알아보자. 프렌드 C++에서는 기본적으로 멤버 변수에 접근하기 위해서 public 멤버 함수를 이용해야 한다. 다만 특정한 객체의 멤버 함수가 아닌 경우에도 private 멤버에 접..

#5 C++ 오버로딩 [내부링크]

C++에서는 동일한 이름의 멤버 함수를 다양한 방식으로 활용하기 위해 오버로딩을 사용할 수 있다. 코드 예시 #include #include using namespace std; class Person { private: string name; public: Person() {..

#4 C++ 클래스 상속 [내부링크]

상속 -상속(Inheritance)은 객체 지향 프로그래밍의 주요한 특성 중 하나다. -현실 세계에서의 상속의 개념을 프로그래밍으로 그대로 가져와 사용할 수 있다. -이를 통해 프로그램의 논리적 구조를 계층적으로 구..

#3 C++ 생성자와 소멸자 [내부링크]

C++의 생성자 -C++에서는 생성자(Constructor)를 이용해 객체를 생성함과 동시에 멤버 변수를 초기화할 수 있다. -생성자는 특별한 메소드로, 클래스의 이름과 동일한 이름의 메소드로 구현된다. -생성자는 반환..

#2 C++의 클래스 [내부링크]

구조체와 클래스의 차이점 -일반적으로 C++의 클래스(Class)는 구조체보다 더 효과적인 문법이다. -구조체와 클래스는 거의 흡사하게 동작하지만, 클래스에서는 내부적으로 ‘함수’ 등을 포함할 수 있다. -또한..

#1 C언어와 C++비교하기 [내부링크]

C++에서의 Hello World 는? 코드예시 #include using namespace std; int main(void) { cout << "Hello World" << endl; system("pause"); return 0; } 가장 기본적인 뼈대를 이루는 위 코드이다. C++의 iostream..

#11 라빈 카프 문자열 매칭 [내부링크]

라빈 카프 문자열 매칭 -아스키 코드 기반의 해시함수(Hash Function)을 이용해 특정한 문자열에 대한 해시 값을 구한다. -'연속적인 문자열이 이어지는' 상황이므로 해시함수의 동작에 있어서 연산 속도가 O(1)이..

#10 KMP 문자열 매칭 [내부링크]

단순 비교 문자열 매칭 1.단순 비교 문자열 매칭 알고리즘은 두 문자열을 처음부터 끝까지 계속 비교하는 알고리즘입니다. 2.단순 비교 문자열 매칭 알고리즘은 O(NM)의 시간 복잡도를 가집니다. ex) ABCDEFG 에서..

#9 인덱스 트리 [내부링크]

인덱스 트리 트리 구조로 구간 합 구하기 -세그먼트 트리는 구현하는 과정이 복잡하고 어렵다는 점에서 구간 합을 더 쉽게 구할 방법이 필요하다. -인덱스 트리는 구현이 매우 간단하다. -인덱스 트리를 활용해 구..

#4 pwntools [내부링크]

1.설치 위 명령어들을 우분투에 설치 2.실행 $ python3 Python 3.6.9 (default, Apr 18 2020, 01:56:04) [GCC 8.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> fro..

#3 기본 시스템 용어2 [내부링크]

ELF(Executable and Linkable Format) : 실행 파일, 목적 파일, 공유 라이브러리 그리고 코어 덤프를 위한 표준 파일 형식이다. 1999년 86open 프로젝트에 의해 x86 기반 유닉스, 유닉스 계열 시스템들의 표..

#2 기본 시스템 용어1 [내부링크]

어셈블리어에서 {  } -> push 와 pop 으로 처리된다. return 0 같은경우는 ex) xor eax, eax 처리된다. 파이프라인 : CPU와 같은 디지털 집적회로의 속도를 향상시키기 위한 회로 내지는 회로설계 기법을 지칭한..

#9 미디어 쿼리 [내부링크]

미디어쿼리 소개 -미디어퀴리(Media Queries)는 각 미디어 매체에 따라 다른 스타일(css style)을 적용할 수 있게 만드는 것이다. -미디어 매체는 모니터와 같은 스크린 매체, 프린트, 스크린 리더기와 같은 것들..

#8 레이아웃 [내부링크]

display 속성 요소의 렌더링 박스 유형을 결정하는 속성이다.   기본 값 : - (요소마다 다름) display: value; < 속성 값 > none 요소가 렌더링 되지 않음 inline inline level 요소처럼 렌더링 block block l..

#1 Tool : gdb [내부링크]

VMware 을 이용해 우분투 18.04 버전을 깔아놨다. gdb 사용법은 간단하다. git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh 이와 같은 코드를 우분투에 쳐주면 다운이 완료 된다. 그 뒤에 gdb를..

#17 어셈블리어 예제 [내부링크]

end로 점프하면 프로그램이 종료된다고 가정하자. 프로그램이 종료됐을 때, 0x400000 부터 0x400019까지의 데이터를 대응되는 아스키 문자로 변환하면 어느 문자열이 나오는가? [Register] rcx = 0 rdx = 0 rsi =..

#7 폰트텍스트 [내부링크]

타이포그래피의 구조 모든 폰트는 em박스를 가지고 있고 위 그림과 같은 구조로 이루어져 있습니다. •em 폰트의 전체 높이를 의미한다. •ex ( = x-height ) 해당 폰트의 영문 소문자 x의 높이를 의미한다. •Ba..

#6 단위, 배경, 박스모델 [내부링크]

CSS Reference를 통해 확인 가능한 사항들은 다음과 같다. 정의 해당 속성이 어떤 변화를 일으키고 어떻게 동작하는지 파악할 수 있다. 기본 값 상속 여부 애니메이션 가능 여부 사용 가능한 CSS버전 문법 해당 속..

#16 어셈블리어-스택과 프로시저 [내부링크]

스택 -후입선출(LIFO, Last-In-First-Out) 자료구조 -스택포인터(SP, Stack Pointer)는 스택의 최상위(top) 원소를 가리키는 주소를 저장하는 레지스터 -8086은 스택 세그먼트 레지스터 SS와 스택 포인터 SP를 제..

#15 어셈블리 - 분기명령어 [내부링크]

프로그램 실행 흐름 제어 -IP(Instruction Pointer): 다음에 실행할 명령어의 (오프셋) 주소를 저장하는 레지스터 -IP의 값을 변경하여 프로그램의 흐름을 제어할 수 있다. -프로세서는 이런 프로그램 제어를 위한..

#14 산술 및 논리 연산 명령어2 [내부링크]

증가와 감소 -INC와 DEC 명령어는 레지스터 또는 메모리 피연산자의 값을 1씩 증가/감소 시킨다. -피연산자의 값을 1씩 변화시키지만, 캐리 플래그에는 영향을 미치지 않는다. -플래그: AF, OF, PF, SF, ZF  INC..

#13 산술 및 논리 연산 명령어1 [내부링크]

음수와 양수 -컴퓨터에서 정수 데이터는 부호가 있는(signed) 경우와 부호가 없는(unsigned) 경우로 분류 된다. -부호가 없는 경우 모든 비트가 정수의 데이터 비트로 이용되지만, 부호가 있는 경우 최상위 비트(M..

#12 컴퓨터의 데이터표현 2 [내부링크]

프로그램 기본 구조 .MODEL SMALL -메모리 모델을 정의한다. Small의 경우 데이터 세그먼트와 코드 세그먼트가 각각 하나씩 존재하는데, 대부분의 실습용으로 충분하다. .DATA, .CODE -데이터 세그먼트와 코드 세..

#11 컴퓨터의 데이터 표현 [내부링크]

컴퓨터의 데이터 표현 -오늘날 대부분의 컴퓨터는 내부적으로 이진수를 이용하여 데이터를 표현하고 저장한다. -이진 데이터를 사용하는 것이 디지털 회로로 구현하기 쉽고 효율적이기 때문이다. -이진수 한 자리..

#5 CSS 이해하기 (가상선택자,구체성,상속,캐스케이딩) [내부링크]

가상 클래스(pseudo class) -가상 클래스는 미리 정의해놓은 상황에 적용되도록 약속된 보이지 않는 클래스이다. -우리가 직접 요소에 클래스를 선언하는 것은 아니고, 약속된 상황이 되면 브라우저 스스로 클래스..

#4 CSS 이해하기 (선택자) [내부링크]

CASCADING STALE SHEETS -HTML(마크업 언어)을 꾸며주는 언어 -html이 웹페이지의 정보를 표현한다면, CSS는 html을 보기 좋게 디자인 하는 역할 h1 {color: yellow; font-size:2em;} 선택자(selector) - "h1" 속..

#10 x86 구조 (어셈블리 프로그램의 구성) [내부링크]

메모리 모델  -작성되는 프로그램의 코드와 데이터의 크기를 나타내기 위해 사용되며, 사용자는 프로그램 코드와 데이터의 크기에 해당하는 메모리 모델을 어셈블러에게 알려줘야 한다.  -어셈블러에게 세그먼트..

#9 x86구조 (주소지정방식) [내부링크]

주소지정방식(addressing mode) -주소지정방식은 명령어의 피연산자를 지정하기 위한 방법들을 의미한다. 피연산자(Operand)는 크게 레지스터, 즉시 값, 메모리가 될 수있다. -8086은 레지스터, 즉시 값에 접근하..

#8 x86 구조 (레지스터 구조) [내부링크]

레지스터 집합 범용 레지스터(General Purpose Register)  -범용레지스터는 데이터를 임시로 저장하기 위해 주로 사용되며, 프로그래머가, 즉 소프트웨어적으로 임의로 접근 가능하다. 8086에는 16비트 범용 레지..

#7 x86의 구조 (역사) [내부링크]

x86의 역사 8086 (1978) -16비트 프로세서: 16비트 레지스터와 16비트 데이터 버스 -20비트 주소 버스 : 1MB 주소 지정 가능 -한번에 하나의 프로그램을 실행하는 실제 모드(real mode)로 동작한다. 8088(1979) -8..

#3 HTML 폼,시멘틱마크업,블록&인라인 [내부링크]

type="text" 주로 아이디, 이름, 주소, 전화번호 등 단순한 텍스트를 입력할 때 사용한다. placeholder 속성: 사용자가 입력하기 전 미리 화면에 노출하는 값으로, 입력하는 값의 양식을 표현할 수 있습니다. type..

#2 HTML 태그 [내부링크]

제목(HEADING) Hello h1~h6  -> 숫자가 올라갈수록 글씨의 크기가 작아진다. 단락과 개행(PARAGRAPH,LINEBREAK) : 태그는 글의 단락을 나타낸다. :태그는 글의 줄바꿈을 생성한다. 텍스트 관련 태그들(B,I,U,S) :..

#6 컴퓨터구조와 명령어 [내부링크]

명령어의 구성 요소 1.연산코드와 피연산자 -연산코드(Operation Code,Opcode): 1.기계(CPU)가 수행할 동작을 나타내는 코드이다.  2.명령어에서 '어떤 연산'인지를 나타내는 부분이다. -피연산자(Operand):연산(..

#5 컴퓨터 구조2 [내부링크]

중앙처리장치 CPU의 구성요소 1.레지스터 집합(Register Set) -메모리 또는 입출력 장치에서 불러온 값이나 프로세서의 연산 중간 결과값들을 저장하는 고속의 저장장치 -범용 레지스터(General Purpose Register)..

#4 컴퓨터 구조1 [내부링크]

1. 논리 게이트 -전기적 준위에 따라 0과 1로 표현되는 디지털 신호를 처리하는 소자 -AND, OR, XOP, NOT 등의 논리 게이트 존재 2.조합 회로 -입력과 출력을 가진 논리 게이트의 집합 -가산기(adder), 디코더,..

#3 어셈블리어 스택 [내부링크]

스택 push val: val을 스택 최상단에 쌓음 연산 rsp -= 8 [rsp] = val ex) [Register] rsp = 0x7fffffffc400 [Stack] 0x7fffffffc400 | 0x0 <= rsp 0x7fffffffc408 | 0x0 [Code] push 0x31337 결과 [Register] rsp..

#2 어셈블리어 연산,비교,분기 [내부링크]

코드 어셈블리어 기계어 위와 같이 어셈블리어는 우리가 친 코드를 기계어로 치환해주는 역할을 수행한다. 어셈블리어는 명령어(Operation Code,Opcode)와 목적어에 해당하는 피연산자(Operand)로 구성된다. 인텔x..

#1 프로세스의 메모리 구조. 세그먼트(Segment) [내부링크]

리눅스에서는 프로세스의 메모리를 크게 5가지의 세그먼트(코드 세그먼트, 데이터 세그먼트, BSS 세그먼트, 힙 세그먼트, 스택 세그먼트) 로 구분한다. 운영체제가 메모리를 용도별로 나누면, 각 용도에 맞게 적절..

#8 세그먼트 트리 [내부링크]

세그먼트 트리 선형적으로 그냥 구간 합을 구하는 것은 비효율적이다. 트리 구조를 활용해 구간합을 구하는 과정은 O(logN)의 시간복잡도를 가진다. 구간합트리는 부모에서부터 왼쪽 자식과 오른쪽자식에게 절반을..