컴퓨터 102

Python (20) - CSV파일을 다뤄보자 (CSV)

회사에서 데이터를 다루다 보면 CSV 파일로 변환하는 경우가 자주 있었습니다. CSV에 대하여 정리하고 파이썬으로 조작하는 방법을 알아보겠습니다. CSV(파일 형식) CSV는 Comma-Separated Values의 약자로 쉼표(,)로 구분하여 데이터를 저장하고 전송하기 위한 표 방식의 파일 형식입니다. 간단한 구조로 많은 프로그램 및 시스템에서 사용됩니다. 아래는 CSV 파일의 예시입니다. Name, Age, Job John, 25, "employee, Student" Mike, 20, Engineer Sang, 23, Student 위의 예제는 파일의 첫 줄을 헤더로 사용하여 각 열의 이름을 지정하고 다음 줄 부터는 데이터의 값을 넣습니다. 또한 " "을 통하여 쉼표가 있는 문자열을 포함할 수 있습..

컴퓨터/Python 2023.08.21

MySQL (15) - 쿼리문을 합하는 방법 (UNION, UNION ALL)

쿼리로 데이터를 뽑을 때 여러 개의 SQL 쿼리문을 사용하여 하나의 데이터로 출력해야 하는 경우가 있습니다. 이럴 때 사용할 수 있는 방법이 UNION입니다. 사용 방법에 대하여 알아보도록 하겠습니다. 예제 테이블 TABLE1 ID (PK) NAME 1 Jack 2 John 3 Yui TABLE2 ID (PK) NAME 3 Yui 4 Minji 5 Minsu UNION, UNION ALL 두 쿼리문을 UNION으로 묶는 방법은 다음과 같습니다. SELECT * FROM TABLE1 UNION SELECT * FROM TABLE2 UNION의 결과는 다음과 같습니다. ID NAME 1 Jack 2 John 3 Yui 4 Minji 5 Minsu UNION은 두 쿼리문의 결과 데이터들을 중복 처리가 되어 나..

컴퓨터/MySQL 2023.08.13

WOL - 집에서 원격 부팅을 하자 (Wake On Lan)

최근에 컴퓨터를 맞췄습니다. 컴퓨터를 이용하는 원격 환경은 구축을 해놓았으나 한가지 문제점이 있습니다. 컴퓨터를 하루 종일 켜두면 전기료가 과다 청구될 수 있다는 생각이 들었습니다. 물론 서버 컴퓨터 같은 경우는 하 루종일 켜두는 게 맞지만, 서버처럼 사용하는 것이 아니라 필요에 의하여 조금씩 사용하는 것이 목표입니다. 원격 부팅을 하는 방법을 소개하려고 합니다. WOL이란? WOL(Wake On Lan)은 패킷을 이용하여 원격으로 PC를 부팅시키는 기술입니다. 컴퓨터의 MAC 주소를 사용하여 매직 패킷을 전송하고, 매직 패킷이 네트워크 카드에서 인식하면 컴퓨터가 깨어나는 방식입니다. 또한 WOL 기능을 사용하기 위해서는 컴퓨터의 BIOS와 네트워크 드라이버가 지원해야 합니다. 컴퓨터의 유선 LAN 카드..

컴퓨터/기타 2023.08.12

Python (19) - 구글 이미지를 크롤링 하는 방법 (Selenium)

HTML을 뽑아 이용하여 크롤링도 할 수 있지만 때로는 직접 브라우저를 사용할 때가 있습니다. 이번에는 직접 브라우저를 활용하여 구글 이미지들을 크롤링하는 방법을 알아보겠습니다. Selenium 먼저 크롤링은 웹상에서 수집된 정보를 수집해 오는 작업입니다. 그리고 Selenium은 프로그램을 이용하여 웹 자동화 및 테스트를 제공하는 프레임워크입니다. Selenium은 크롤링의 역할을 폭넓게 수행할 수 있습니다. 기존에 크롤러는 HTML 분석에 그쳤다면 직접 조작할 수 있습니다. 직접 조작할 수 있는 장점은 다음과 같습니다. 자바스크립트가 동적으로 만든 데이터를 크롤링할 수 있다. HTML의 다양한 요소(input, button 태그 등)의 클릭 및 입력이 필요할 수 있다. 여담으로 Selenium은 다양..

컴퓨터/Python 2023.08.09

Keras (1) - Keras에 대하여 그리고 Tensorflow와 간단하게 비교하기

그동안 블로그에 게시글을 작성할 때 Python을 이용하는 글들은 전부다 Python 게시판 넣었습니다. 해당 방법을 통하여 파이썬으로 다양한 것을 할 수 있다는 것을 보여주었지만 세부적인 방법을 보여주기에 한계가 있었습니다. 그래서 인공지능에 대하여 깊게 소개하기 위해 게시판을 분리하였습니다. Keras 우선 케라스(Keras)는 파이썬 기반으로 작성된 오픈소스 딥러닝 라이브러리입니다. 딥러닝을 하기 위해 데이터 정규화 및 레이어를 쌓는 과정등 다양한 과정이 필요합니다. 특히 머신러닝을 처음 다루는 사람들은 해당 과정들이 복잡합니다. Tensorflow 라이브러리를 이용한 설계를 조금 더 사용자에게 쉽고 친숙하게 만든 라이브러리가 Keras입니다. 추가로 본 게시글에는 Tensorflow와 비교할 뿐이..

컴퓨터/Keras 2023.08.07

MySQL (14) - 내장함수를 이용하여 날짜 및 시간을 다뤄보자

이전에 게시글에 문자와 숫자 함수를 이용하여 쿼리를 다뤘었습니다. 문득숫자, 문자 만큼 DBMS에서 내장함수를 많이 사용한다는 것을 깨달았습니다. 그래서 날짜 및 시간을 다루는 내장함수를 소개하겠습니다. 날짜 및 시간 함수 정리 CURDATE, CURTIME, NOW, SYSDATE SELECT CURDATE() -- 2023-06-19 , CURTIME() -- 10:30:45 , NOW() -- 2023-06-19 10:30:45 , SYSDATE() -- 2023-06-19 10:30:45 FROM DUAL; 가장 먼저 소개할 함수는 현재의 날짜와 시간을 알아내는 함수입니다. CURDATE함수는 현재의 년-월-일을 출력하고 CURTIME은 현재의 시:분:초를 출력합니다. NOW와 SYSDATE함수는..

컴퓨터/MySQL 2023.06.20

Python (18) - 공공데이터 API를 이용하여 기상청 날씨를 가져오자

예전에 디시인사이드 크롤러를 만든적이 있었습니다. 크롤러를 이용하여 웹사이트의 소스코드를 복사하고 해당 데이터를 가공하여 사용할수 있었습니다. 크롤링과 다르게 가공된 정보를 가져올수 있는 API가 있습니다. 정부에서 운영하는 공공데이터 API가 있는데 제공 데이터를 바탕으로 날씨를 알아보겠습니다. 공공데이터 공공데이터는 정부와 공공기관이 생산하거나 수집한 데이터입니다. 해당 데이터를 이용하여 공공기관이 업무를 하며 이를 통하여 시민들에게 서비스를 제공합니다. 예를 들어 교육, 사회복지, 문화관광, 교통 정보, 기상 등 다양한 정보를 가지고 있습니다. 이러한 데이터는 누구나 무료로 접근하고 사용할 수 있습니다. 각 기관에 투명성을 높여주어, 시민들에게 다양한 혜택을 줍니다. 개인이나 기업에서 이를 활용하여..

컴퓨터/Python 2023.06.15

Oracle (2) - COMMIT한 데이터를 다시 가져오자 (TIMESTAMP)

Oracle을 다루다 보면 데이터를 잘못 DELETE나 UPDATE 하는 경우가 있습니다. 그런 경우 ROLLBACK을 하면 해결할 수 있습니다. 하지만 COMMIT을 하면 어떻게 될까요? 이미 데이터가 적용되어 일반적인 방법으로는 복구를  못합니다. 하지만 Oracle에는 COMMIT를 하였을 때 임시로 데이터가 저장하게 되어있고, TIMESTAMP를 이용하여 데이터를 복구할수 있습니다. TIMESTAMP구문은 아래와 같습니다.SELECT [COLUMN / *] -- 칼럼FROM [table] -- 대상 테이블AS OF TIMESTAMP(SYSTIMESTAMP-INTERVAL '[NUMBER]' [SECOND/MINUTE/HOUR/DAY]);[WHERE]-- [NUMBER]은 되돌릴 기준 초, 분, 시..

컴퓨터/Oracle 2023.06.06

Oracle (1) - MERGE INTO를 이용하여 간단하게 조건있는 데이터를 다루자

우리가 A라는 데이터를 만들 때 데이터가 있고 없는 경우에 따라 나누는 경우가 있습니다. PL/SQL을 이용하여 프로시저를 만드는 방법도 있지만 MERGE INTO라는 구문을 이용하면 쉽게 만들 수 있습니다. 예제 테이블 CREATE TABLE T1 ( STU_NO VARCHAR2(10) PRIMARY KEY, --학번 STU_NAME VARCHAR2(10) NOT NULL, --이름 SCR NUMBER(5) --점수 ); CREATE TABLE T2 ( STU_NO VARCHAR2(10) PRIMARY KEY, --학번 STU_GRADE VARCHAR2(2) NOT NULL, --학년 STU_GEND VARCHAR2(2), --성별 SCR NUMBER(5) --점수 ); CREATE TABLE T3 (..

컴퓨터/Oracle 2023.05.31

Python (17) - ChatGPT를 API로 사용해보자 (openai)

ChatGPT는 이미 아주 유명하다고 생각합니다. 인공지능 비서 등 다양한 요소에서 충분하게 사용할 수 있습니다. 해당 프로젝트 제작에 앞서, 파이썬으로 ChatGPT의 기본 엔진이 되는 GPT를 API로 사용하는 방법에 대하여 알아보겠습니다. GPT란 무엇인가? (해당 문구는 ChatGPT에 질문 한 것을 그대로 적었습니다.) GPT는 "Generative Pre-trained Transformer"의 약자로, 대규모 텍스트 데이터를 사용하여 사전에 훈련된 언어 모델입니다. 이 모델은 주로 자연어 이해(NLU) 분야에서 사용되며, 문장 생성, 기계 번역, 질의 응답, 문서 요약 등 다양한 자연어 처리 작업에 사용됩니다. GPT 모델은 인간과 같은 방식으로 문장을 생성하며, 이전에 입력된 문장의 문맥을 ..

컴퓨터/Python 2023.05.15