분류 전체보기 158

DIY - 집에서 서버랙을 구축해보자

집에 사용하는 컴퓨터가 많아졌습니다. 스펙이 좋은 컴퓨터를 이용하여 VM 혹은 Docker를 이용하여 한 번에 관리하는 방법도 있으나 각각의 용도가 많아 3개의 PC를 사용하게 되었습니다. 이를 하나의 공간에 놓고 싶어 해당 프로젝트를 시작하게 되었습니다. 서버랙 위치 및 설계일단 랙마운트 사이즈는 7U(쿼터랙)입니다. 사용을 안 하는 제품을 주워왔습니다.랙 마운트 위치용도상단프린터1공유기 (4포트), 비상용 공구, 키보드 등2-3-4NAS, 보드, KVM 스위치 (임베디드 보드 및 PC)5PC67전원 스위치 (4포트)사전에 세팅한 것은 아니고 이것저것 모으다 보니 이렇게 왔습니다. 해당 위치로 세팅하게 되었습니다. PC제품 구성 - 하단 참조용도 - 사무용 / 게임용 /AI 개발 PC더보기 CPUAMD..

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

일상 - 2024년도 결산

나이가 늙어가는 건지는 몰라도 사회생활을 하면서 시간이 점점 빨리 지나가고 있는 것 같습니다. 여러 가지 목표를 세워도 중요한 부분 위주로 달성했던 1년이었습니다. 2024년도 목표정보처리기사 취득SQLD 취득통신선로기능사 취득드론 면허증 (3종 이상) 취득인공지능 프로젝트 1회 이상활동적인 취미 가지기 (운동 관련)앨범 발매 (싱글이라도 추진해보자)밴드를 만들자게시글 18개평생 쓸 베이스 모시기자동차 구매 이를 4가지 정도로 구분하였습니다.스펙직무갓생구매 스펙목표결과정보처리기사 취득취득완료SQLD 취득취득실패통신선로기능사 취득취득실패드론 면허증 (3종 이상) 취득취득실패목표를 만들 때 다양한 목표가 있었고 시도를 하였으나 결국 가장 필요한 정보처리기사 1개만 취득했습니다. 쌍기사를 달성하니 필수 조건이..

일상 2024.12.25

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

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

DIY - QNAP TS-233 NAS 리뷰와 초기 설정 가이드

기존에 임베디드 보드에다가 SSD 1개를 싱글로 사용하여 NAS 보드를 사용하였습니다. 개인적으로 레이드의 필요성을 느끼게 되었고 마침 쿠팡에서 NAS 제품을 할인하여 구입하였습니다. QNAP TS-233구매한 제품의 사양은 다음과 같습니다.QNAP TS-233CPUARM 4코어 Cortex-A55 (64비트 ARM)RAM2GB (온보드)GPUMali-G52HDD 베이2 x 3.5인치 SATA 6Gb/s, 3Gb/s전원최소 48W전력 소비HDD 절전 모드: 3.43 W일반: 10.81WIO 장치RJ45 x1 (기가비트), USB 포트 3 (2.0x2 ,3.1 x1)규격186 × 91.7 × 157.6 mm 1.89kg 제가 구매한 기준은 2베이 이상의 기능을 제공하며 메이저 NAS 제조사 제품을 구매하기..

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

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

컴퓨터/Python 2024.11.07

DIY - 원격 전원 스위치를 달아보자 (폭파 스위치)

기존의 PC를 서버랙으로 이동시켰습니다. 운영하다 보니 문을 열고 부팅을 하는 것이 귀찮습니다. 이러한 문제를 해결하기 위하여 알리익스프레스에서 원격 전원 스위치를 구매하였습니다.제품링크 제품소개제품은 원격 전원 스위치와 수신기로 구성되어 있습니다. 전원 스위치 버튼을 누르면 수신기에서 신호를 인식하고, 실제 전원 버튼을 눌러주는 방식입니다. 외관은 일본 애니메이션의 전원 버튼을 떠올리게 합니다. 내부구조는 다음과 같습니다. 우선 케이블 타이로 마감을 한 게 매우 인상적입니다. 원리 자체는 스위치를 누르면 리모컨처럼 신호를 보내고 수신기를 받아 전원을 공급합니다. 한 가지 아쉬운 점이 있다면 AAAA 배터리를 사용한다는 점인데, 사이즈를 계산해 납땜이 가능하다면 AAA 타입으로 변경할 예정입니다. 수신기..

DIY - 가정용 컴퓨터를 2U 서버 케이스로 이전해보자

집에 있는 여러 컴퓨팅 기기를 쿼터랙으로 옮기고 있습니다. 기존의 PC 케이스를 서버랙 PC용으로 변경하였습니다. 컴퓨터 부품CPUAMD 라이젠5 5600RAM삼성전자 DDR4-3200(16GB) x 2Mainboard기가바이트 B550M AORUS ELITEGPU갤럭시 GALAX 지포스 RTX 4060 WHITE OC D6 8GB LPSSDSK하이닉스 Gold P31 M.2 NVME (500GB)HDDWestern Digital WD Purple 5400/64M (WD20PURZ, 2TB)Power Supply마이크로닉스 Classic II 풀체인지 600W 80PLUS BRONZE 230V EUCoolerCOOL SERVER AMD AM4-R63Case2MONS 서버 2U D400 에코 (랙마운트) ..

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

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