Skip to content

Instantly share code, notes, and snippets.

View YangSiJun528's full-sized avatar

sijun-yang YangSiJun528

View GitHub Profile
@YangSiJun528
YangSiJun528 / python_syntax.md
Last active March 23, 2026 09:46
[Deprecated] 코딩 테스트를 위한 파이썬 문법과 알고리즘 정리

이해했습니다. 각 회사의 모집 공고나 문화에 대한 분석을 추가하여 구체적인 예시를 다시 작성하겠습니다.

1. 여러 희망하는 회사들에서 다루는 지원자격이나 우대사항을 분석하기

예시

  • 회사 A:
    • 지원자격: 컴퓨터 공학 학사 이상, Java 프로그래밍 경험 3년 이상
    • 우대사항: 대규모 프로젝트 경험, AWS 클라우드 서비스 사용 경험
  • 회사 B:
  • 지원자격: 소프트웨어 엔지니어링 학사, Python 및 Django 프레임워크 경험 2년 이상

Cisco 라우터에서 DNS 클라이언트와 서버 설정 과정을 구체적으로 설명해보겠습니다. 예시로는 R3 라우터를 DNS 서버로 설정하고, R1 라우터를 DNS 클라이언트로 설정하는 과정입니다. 목표는 R1에서 호스트명을 사용하여 R3로 핑을 실행하고, DNS 서버인 R3가 이를 변환하여 IP 주소로 응답하게 하는 것입니다.

1. R3를 DNS 서버로 설정

먼저 R3 라우터가 DNS 서버로서 동작할 수 있도록 설정합니다.

1.1. IP 주소 확인

R3 라우터의 IP 주소를 확인합니다. show ip interface brief 명령어를 사용하여 확인할 수 있습니다. 여기서 R3의 IP 주소가 10.10.20.1임을 확인합니다.

R3# show ip interface brief

이 실습에서는 Cisco 라우터에서 공장 초기화, 비밀번호 복구, 구성 백업, 시스템 이미지 백업 및 복구를 수행합니다. 또한 Cisco 스위치에서 IOS 업그레이드를 수행합니다.

공장 초기화

  1. R1의 실행 중인 구성을 확인합니다. 호스트 이름과 인터페이스가 구성되어 있음을 확인하세요.
R1#sh run
Building configuration...
Current configuration : 696 bytes
이 코드는 **Linux 커널**을 특정 환경에서 빌드하기 위해 작성된 **Bash 스크립트**입니다. Raspberry Pi와 같은 임베디드 시스템을 위한 빌드 프로세스를 관리하는 데 사용됩니다. 아래는 주요 부분과 역할을 설명합니다.
---
### 1. **빌드 출력 경로 설정**
```bash
KERNEL_TOP_PATH="$( cd "$(dirname "$0")" ; pwd -P)"
OUTPUT="$KERNEL_TOP_PATH/out"
```
- `KERNEL_TOP_PATH`:
@YangSiJun528
YangSiJun528 / 리눅스 드라이버.md
Created December 26, 2024 13:33
리눅스 드라이버 설명

요약 먼저

드라이버 개발 요약 (커널 소스에 포함되지 않는 경우)

  1. 독립적 모듈로 작성

    • 드라이버는 커널 모듈(LKM)로 개발되어, 커널 코드와 분리된 .ko 파일로 컴파일됩니다.
  2. 일반 개발 과정

    • 드라이버 작성: 커널 인터페이스(API)를 사용하여 기능 구현 (module_init, module_exit 사용).
    • 컴파일: Makefile을 통해 모듈로 빌드.
@YangSiJun528
YangSiJun528 / 리눅스 프로세스 ftrace 로그 해설.md
Created December 28, 2024 04:09
리눅스 프로세스 ftrace 로그 해설.md

분석 결과: procTest2 커널 호출 흐름과 종료 과정

다음은 procTest2 실행 시 커널 호출 스택과 그 진행 과정을 분석한 내용입니다.


1. procTest2 프로세스 생성

  • 발생 이벤트: sched_process_fork

sched_process_fork: comm=bash pid=1718 child_comm=procTest2 child_pid=4034

@YangSiJun528
YangSiJun528 / C printf2 해석.md
Created December 28, 2024 05:24
C printf2 해석.md
#include <stdarg.h>
#include <stdbool.h>
#include <stdio.h>

void print_number(int value) {
	char num_str[10];
	int i = 0;
	bool is_negative = false;
@YangSiJun528
YangSiJun528 / 리눅스 프로세스 생성 과정.md
Last active December 28, 2024 07:40
리눅스 프로세스 생성 과정.md

더 구체적으로 보고싶으면 강의랑 같이 보기. 소스코드랑 묶어서 설명하는 수준까지 가면 강의랑 같이보는게 더 나을듯.=


유저 프로세스 생성 과정

1. fork()

  • 위치: linux 프로젝트 외부
  • 유저 프로세스 생성을 시작하는 사용자 함수
  • libc/에서 구현되어 있으며, 내부적으로 clone() 시스템 콜을 호출함
@YangSiJun528
YangSiJun528 / 백업.md
Last active December 31, 2024 01:44
리눅스 태스크 설명.md

섹션 13 - 12. 태스크의 모든 정보는 여기에 있다!

  • C에서 구조체는 메모리 상에 일정한 형식으로 배열된 바이트의 집합임.

    • 같은 메모리 데이터를 서로 다른 구조체 정의로 강제로 캐스팅하거나 접근할 경우, 결과가 비정상적이거나 예상과 다를 수 있음.
    • (메모: 다른 언어의 경우 에러가 나거나 뭔가 처리를 해주긴 하는데 (그래도 이상하게 동작할 수는 있음), C는 언어 상의 이러한 보호가 거의 없음. 직접 해야함.)
  • 태스크 디스크립터

    • 태스크의 디스크립터로 task_struct 구조체를 사용함.
    • 디스크립터: 어떤 자원이나 객체에 대한 정보를 포함하는 데이터 구조