본문 바로가기

분류 전체보기234

지역변수, 전역변수 (파이썬 변수 종류) 00 개요프로그래밍에서는 변수를 어떻게 선언하고 사용하느냐에 따라 프로그램의 구조와 성능에 큰 영향을 미칠 수 있기에 변수를 다루는 방법은 매우 중요함선언에 따른 변수의 종류: 지역변수, 전역변수의 정의, 특징, 사용 사례에 대한 정리 + 글로벌 키워드 사용, 논리적 변수 스코프, 정적변수에 대한 추가적인 설명 01 지역변수 (Local Variable)1. 정의특정 함수나 코드 블록 내에서만 사용 가능한 변수함수 내에서 선언된 변수는 해당 함수가 실행되는 동안에만 메모리에 존재하고, 함수가 종료되면 자동으로 사라짐지역변수는 함수 내부에서 일시적으로 값을 저장하고 계산할 때 사용되며, 함수 외부의 전역 변수와 독립적으로 동작예시:def my_function(): local_var = 10 # 지역.. 2024. 9. 26.
Mybatis (DB 연동 프레임워크) 00 개요회사에서 코드분석 시 쿼리문들이 담겨있는 .xml 파일들에서 mybatis를 사용하는데 (http://mybatis.org/dtd/mybatis-3-mapper.dtd">) 이에 대한 정리01 MyBatis란1. 정의Java 기반의 데이터베이스 연동 프레임워크오픈 소스 ORM(Object-Relational Mapping) 프레임워크SQL 쿼리를 직접 작성하여 데이터베이스와의 상호작용을 효율적으로 처리할 수 있도록 도와주는 라이브러리SQL Mapper, 즉 데이터베이스와 객체 간의 자동 매핑(ORM, Object Relational Mapping)을 지원하는 도구기존 JDBC를 통해 RDBMS에 액세스하는 작업을 캡슐화하고 기존 JDBC의 중복작업 간소화1) 동작 원리XML 파일의 형태인 Map.. 2024. 9. 25.
PID (프로세스 식별자) 00 개요회사에서 코드분석 중, PID가 3보다 작은지 확인하고, 3보다 작다면 해당 process가 실행중이지 않는다는 메세지를 출력하는 스크립트가 있음PID가 3보다 작은지 여부를 확인하는 이유에 대한 정리01 PID란1. 정의프로세스 식별자 (Process ID)운영 체제에서 각 프로세스에 고유하게 부여되는 식별 번호운영 체제에서 실행되는 모든 프로그램은 프로세스 형태로 관리되며, 이 프로세스들은 각각 PID를 통해 구별됨2. 역할고유한 식별자: PID는 운영 체제 내에서 실행 중인 프로세스를 고유하게 식별 가능케 함. 각 프로세스는 다른 프로세스와 구별되기 위해 고유한 PID를 가짐프로세스 관리: PID는 시스템 관리자나 사용자가 프로세스를 추적하거나 제어할 때 필요함. 예) 특정 프로세스를 종료.. 2024. 9. 20.
awk (텍스트 조작 명령어) 00 개요 01 awk란1. 정의Aho, Weinberger, Kernighan이 만든 프로그래밍 언어 및 명령어텍스트 파일이나 명령의 출력에서 데이터를 추출하고, 필터링하고, 조작하는 데 유용주로 로그 파일 분석, 데이터 처리, 텍스트 변환 등의 작업에 활용2. 문법awk '패턴 { 액션 }' 파일명awk '패턴 { 액션 }'패턴: awk가 처리할 라인의 조건액션: 패턴이 일치하는 라인에 대해 수행할 작업파일명: 데이터를 처리할 파일3. 예시sample.txt라는 파일에서 특정 조건에 맞는 행을 출력하기awk '$3 > 50 { print $1, $3 }' sample.txt반환값: 파일에서 세 번째 필드의 값이 50보다 큰 행을 찾아 첫 번째와 세 번째 필드를 출력4. 기능1) 필드 구분awk는 기본.. 2024. 9. 20.
소켓과 패킷 (Socket Packet 네트워크) 00 개요소켓과 패킷에 관한 정리01 소켓이란 (Socket)1. 정의네트워크 통신에서 데이터가 전송되는 논리적인 연결점컴퓨터와 컴퓨터 간, 혹은 컴퓨터와 서버 간의 데이터 송수신을 가능하게 함소켓은 클라이언트와 서버 간의 연결을 설정하고, 데이터를 주고받을 수 있도록 하는 통신의 종단점 역할을 함 2. 구성 요소IP 주소: 네트워크 상에서 컴퓨터나 장치의 고유 주소Port 번호: 특정 애플리케이션이나 서비스가 사용하는 고유한 번호 02 패킷이란 (Packet)1. 정의패킷은 네트워크를 통해 전송되는 데이터의 작은 단위데이터는 일반적으로 큰 덩어리로 전송되지 않고, 여러 개의 작은 패킷으로 나누어져 전송됨패킷은 네트워크를 통해 전송되며, 각 패킷은 독립적으로 전송되어 목적지에서 다시 조합됨이를 통해 대량.. 2024. 9. 12.
TCP/IP: 안전하고 신뢰성 있는 통신 00 개요TCP/IP(Transmission Control Protocol/Internet Protocol)에 대한 정리01 TCP/IP란네트워크 통신을 위해 설계된 프로토콜 모음으로, 데이터를 전송하는 방법과 규칙을 정의함인터넷과 네트워크 통신의 기본이 되는 통신 프로토콜 스택 (TCP와 IP가 이 스택의 핵심 구성 요소)통신 프로토콜 스택이란:데이터를 네트워크를 통해 송수신할 때 사용하는 프로토콜(규칙)의 계층적 구조를 의미이 스택은 각 계층이 특정 기능을 담당하고, 서로 다른 계층 간의 상호작용을 통해 데이터가 전달됨프로토콜 스택은 데이터를 송신 측에서 수신 측으로 안전하고 효율적으로 전송하기 위한 단계적인 처리 과정을 나타냄이 프로토콜은 데이터를 어떻게 패킷화하고 전송하는지를 규정하는 표준 통신 .. 2024. 9. 12.
format() (문자열 포맷팅 파이썬 함수) 00 개요문자열을 다룰 때 사용되는 format() 함수에 관한 정리01 format() 함수1. 정의Python에서 문자열을 다룰 때 사용됨문자열 안에 {}을 넣어 작성한 후 (예, 'Hello my friend, {}!' ) {} 안에 원하는 값을 집어넣게끔 설정하여 최종 문자열을 추출할 수 있음2. 사용1) 기본 사용법문자열에서 {}을 사용해 특정 위치에 값 삽입하기'Hello, {}님!'.format('Pearl')print(결과)# Hello, Pearl님!2) 위치 기반 포맷팅여러 값을 넣는 경우 여러 {}들 안에 인덱스를 넣어 위치 지정 가능인덱스 번호를 사용 시 특정 위치에 값을 매핑할 수 있어 복잡한 문자열을 구성할 때 유용하게 사용됨 result = 'Name: {0}, Age: {1}.. 2024. 9. 11.
#! 셔뱅이란 (shell) 00 개요shell script 맨 윗줄에 #! 뒤에 경로가 오는 문법에 대한 정리01 Shebang #!이란1. 정의Shebang은 script file의 첫 줄에 등장하는 특별한 문법으로, script 실행 시 어떤 interpretor(해석기)를 사용할지 시스템에 지시하는 역할을 함일반적으로 LINUX와 같은 UNIX기반 운영체제에서 사용됨이 문법은 #!로 시작하며, 그 뒤에 해당 스크립트를 실행할 인터프리터의 경로를 명시2. 문법1) 기본 형식#!/path/to/interpreter설명:#! 이후에 나오는 경로는 script를 실행할 interpretor(예: /bin/bash, /usr/bin/python)의 절대 경로2) /usr/bin/env의 사용#!/usr/bin/env python이 형.. 2024. 9. 10.
고급 이론 용어 정리-동시성, 병렬성, 원자성, 의존성 00 개요운영 체제 관련 고급 이론을 이해하기 위한 기초적인 용어 정리동시성, 병렬성, 원자성, 의존성 (+ 동기화, 교착상태/데드락)정의Concurrency, Parallelism, Atomicity, Dependency (+ Synchronization, Deadlock)이 개념들은 특히 다중 스레드나 병렬 처리가 중요한 컴퓨터 과학에서 핵심적인 개념 참조한 강의: https://www.youtube.com/watch?v=-C4j7DpUtLs&list=PLXvgR_grOs1BQCziQ_MpM877BdBxwbMzA&index=1601 동시성1. 정의여러 사람이 여러 일을 각자 동시에 할 수 있는 상태여러 작업이나 프로세스를 동시에 처리하는 시스템의 능력으로, 엄밀히 말하자면 작업이 동시에 실행되는 것은.. 2024. 9. 7.