컴퓨터 107

네트워크 - OSI 7 Layer에 대해 알아보자

네트워크를 공부하다 보면 OSI 7 Layer를 반드시 마주치게 됩니다. 각 계층이 담당하는 역할을 따라가다 보면 네트워크의 동작 방식뿐 아니라 문제 해결, 보안, 장비 이해까지 알 수 있습니다. 이 계층 구조는 단순한 이론이 아니라, 실무에서 발생하는 거의 모든 네트워크 상황을 알 수 있는 기준입니다. OSI 7 계층OSI(Open Systems Interconnection) 7 Layer 모델은 ISO(국제표준화기구)에 정의한 네트워크 모델입니다. 서로 다른 시스템 간 통신이 원활히 이뤄지도록 네트워크 통신 과정을 7단계로 나누었으며, 계층마다 특정한 역할을 가지고 있습니다. 각 계층의 서로 다른 역할을 수행하며 다음 표와 같습니다.계층이름주요 역할사용 예시7응용 계층 (Application Laye..

포트포워딩 - 로컬 서버를 외부에 공개해보자

프론트엔드 강의에서는 웹서버를 구축하고 자신의 로컬 네트워크에서 이를 확인하는 실습이 나옵니다. 하지만 자신의 컴퓨터에서만 접속할 수 있다면, 실제 서비스 환경과 거리가 있습니다. 여기서 해당 서버를 외부에서 접속할  방법을 소개하려고 합니다. 포트포워딩이란?포트포워딩(Port Forwarding)은 외부에서 들어오는 접속 요청을 내부 네트워크의 특정 기기로 전달하는 기술입니다. 외부 사용자가 특정 주소와 포트로 접속하면, 공유기가 해당 요청을 내부 네트워크의 특정 컴퓨터와 포트로 연결해 주는 구조입니다. 이를 통하여 로컬 서버 데이터를 외부에 노출시키고 실제 서비스처럼 사용할 수 있습니다. 웹사이트를 외부로 공유하자※ 파이썬의 flask, iptime 공유기를 이용하여 작업을 진행하였습니다. 1.컴퓨터..

Python (27) - PC에서 유튜브 음악을 실행해보자 (pytubefix)

디스코드에서 유튜브 링크를 올리면 오디오로 실행해 주는 챗봇이 있습니다. 해당 프로그램처럼 PC에서 유튜브 음악 플레이어로 실행 방법을 소개하려고 합니다. 파이썬을 이용해서 쉽게 유튜브 비디오를 다운로드 및 활용하는 방법이 있어 공유하려고 합니다. 글을 시작하기 전 유튜브 영상을 다운로드 후 개인소장 하는 것은 불법이 아니지만 영리를 목적으로 동영상을 이용하면 저작권 위반에 걸릴 수 있습니다. 사용하는 라이브러리라이브러리 이름사용이유pytubefix유튜브 동영상을 다운로드하기 위함os폴더 처리 관련 pydub오디오 파일 변환 및 처리 작업을 위함simpleaudio오디오를 실행하기 위함 유튜브 다운로드 및 실행1. CMD에 명령어를 입력하여 패키지를 다운로드합니다.pip install pytubefix ..

컴퓨터/Python 2025.03.10

Oracle (8) - 커서(Cursor)

오라클을 사용하다 보면 여러 행의 데이터 처리해야 하는 경우가 있습니다.  커서를 활용하면 효율적으로 데이터를 다룰 수 있습니다. 커서는 데이터를 반환하는 것뿐만이 아니라 데이터를 한 행씩 읽으면서 특정 로직을 적용하거나 조건에 맞게 가공할 수 있습니다. 프로시저나 트랜잭션 작업에서 데이터를 유연하게 처리할 수 있습니다. 커서(Cursor)커서는 SQL의 데이터 셋을 순차적으로 접근할 수 있는 메모리 영역입니다. 이를 이용하여 쿼리 결과를 한 행씩 처리할 수 있도록 합니다. 쉽게 말하면 C에서 포인터와 같은 기능을 합니다. 이를 활용하면 다음과 같은 이점을 얻을 수 있습니다.다중 행 처리: 여러 행의 데이터를 한 번에 여러 행을 반환하거나 각 행을 개별적으로 처리할 수 있습니다.복잡한 로직 구현: 프로시..

컴퓨터/Oracle 2025.01.09

Oracle (7) - 인덱스를 타는지 확인하는 방법 (EXPLAIN PLAN)

SQL을 작성하여 어떤 데이터를 만들기 위해 많은 JOIN 및 서브쿼리를 하게 되는 경우가 있습니다. 해당 과정을 반복하다 보면 쿼리 실행시 성능 문제가 발생할 수 있습니다. 특히 인덱스를 타지 못하고 FULL SCAN 하는 경우 성능이 크게 떨어집니다. 이러한 문제를 해결하기 위해 EXPLAIN PLAN을 이용하여 쿼리의 실행 계획을 확인하고, 인덱스를 잘 활용하도록 최적화하는 방법을 알아보겠습니다. EXPLAIN PLAN-- 실행 계획을 생성EXPLAIN PLAN FORSELECT * FROM TEST WHERE MAJOR = '국문학과';-- 생성된 실행 계획 확인SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);우선 EXPLAIN PLAN은 오라클에서 제공하는 기능으로, ..

컴퓨터/Oracle 2024.12.28

무선통신 - 2.4GHz / 5GHz 대역이 면허 없이 사용 가능한 이유

최근 집에서 보일러가 꺼지거나 전자레인지가 사용할 때 TV 신호에 간섭이 발생하는 경우가 있었습니다. 이에 대해 인터넷을 찾아보던 중 자유 주파수 대역이라는 개념을 알게 되었습니다. ISM 대역우선 국제전기통신연합(ITU)은 산업, 과학, 의료 분야에서 사용하기 위한 특정 주파수 대역을 ISM 대역으로 지정하였습니다. 이를 ISM 대역(Industry-Science-Medical Band)이라고 합니다. 일반적으로 주파수 할당을 위해서는 특정 사업자가 주파수 면허를 발급받아야 하지만, ISM 대역은 누구나 사용할 수 있도록 개방되어 있습니다. 대한민국에서 사용 가능한 ISM 대역대한민국에서 허용된 ISM 대역은 국제기준과 거의 동일하나, 일부 대역폭(433MHz, 902MHz) 대역폭은 지정되어 있지 않..

Python (26) - Flask를 활용하여 웹서버를 만들어보자

파이썬을 백엔드로 사용하여 웹사이트를 구축할 수 있습니다. 소규모 프로젝트에 적합한 파이썬 기반 웹 프레임워크인 Flask에 대하여 알아보겠습니다. FlaskFlask는 파이썬 기반의 마이크로 웹 프레임워크로 간편하게 웹 애플리케이션을 개발할 수 있도록 도와줍니다. Flask는 Werkzeug WSGI 툴킷과 Jinja2 템플릿 엔진을 기반으로 하고 있습니다. 필요한 기능만 포함하고 있어 가볍고 빠릅니다. 뛰어난 확장성을 바탕으로 사용자가 원하는 기능을 쉽게 추가할 수 있는 유연성을 제공합니다. Flask의 특징간결성:  코드가 적고 직관적이고 짧아,  적은 코드만으로 웹사이트를 개발할 수 있습니다.확장성:  DB연동, 그래프 추가 등 다양한 기능을, 플러그인을 통하여 원하는 기능을 쉽게 추가할 수 있습..

컴퓨터/Python 2024.11.07

알고리즘 - 빅오 표기법 (Big-O notation)

알고리즘에 관하여 공부하다 보면 효율성을 계산해야 할 때가 많습니다. 어떻게 짜야지 속도가 더 빠른가 이런 부분으로 계산하는 데 자주 사용되는 방법인 빅오 표기법에 대하여 설명하고자 합니다. 빅오 표기법(Big-O notation)출처 : https://www.amazon.com빅오(Big-O) 표기법은 알고리즘의 시간 복잡도나 공간 복잡도를 표현할 때 표기하는 방법입니다. 일반적으로 최악의 경우 성능을 평가합니다. 이를 통해 알고리즘이 얼마나 많은 시간 혹은 메모리를 사용할지를 나타냅니다. 빅오 표기법을 통하여 효율성을 비교하고 알고리즘의 성능이 어떻게 변하는지 예측할 수 있습니다.시간 복잡도(Time Complexity) - 알고리즘의 입력에 따른 작업을 완료하는데 소요되는 시간공간 복잡도(Space..

Linux (7) - 파일을 실행하고 종료하는 방법

그동안 콘솔로 작업을 하는 경우에 파일을 실행시키거나 여러 개의 업무가 있는 경우에 백그라운드로 실행하는 방식으로 업무를 진행하였습니다. 일반적으로는 상관이 없었으나 큰 파일을 작업하는 등 작업에서 자주 실행 중간에 끊깁니다. 해당 문제를 해결하는 방법을 알아보려고 합니다. 리눅스 프로그램 실행./example.sh./example.sh A우선 일반적으로 자신의 위치에서 파일명을 입력하면 실행됩니다. argument가 있는 경우에는 오른쪽에 추가하면됩니다.  백그라운드 실행./example.sh &백그라운드 프로세스는 사용자가 직접 간섭하지 않아도 뒤에서 실행하도록 하는 방법입니다. 주로 로그 처리, 시스템 모니터링 스케줄링 등 다양한 작업에서 사용됩니다. 일반적으로 터미널에서 프로그램을 실행시키면, 프..

컴퓨터/Linux 2024.09.01

Llama - 로컬에서 생성형 AI를 돌려보자 (GPT4ALL)

GPT를 사용할 때 모델은 MS의 데이터센터에 있고 해당 모델을 불러오는 방식으로 사용하였으나 로컬에서 생성형 AI를 돌리는 방법이 있다는 것을 발견하였고 여러 분야에서 응용이 가능할 것으로 보여 사용을 해보려고 합니다. LlamaLlama(Large Language Model Meta AI)는 Meta에서 개발한 대형 언어 모델로 자연어 처리와 생성 작업에서 우수한 성능을 발휘합니다. 여러 버전으로 출시되었으며 각 버전 모델의 크기와 성능이 다릅니다. Llama 모델은 오픈소스로 이루어져 있으며 7억 명이 넘는 사용자가 있는 경우에는 Meta와 협의 후 사용해야 합니다. Llama 3.1은 매개변수에 따라 8B, 70B, 405B로 세 가지 모델을 가지고 있으며 다음과 같은 특징을 가집니다.Llama ..

컴퓨터/기타 2024.08.27