본문 바로가기
  • 🦄 창민이 개발일지

분류 전체보기50

Django을 위한 웹 지식 Django웹 프레임워크MVC 패턴 사용Django 공식 문서 Django documentation | Django documentation | DjangoDjango The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donatedocs.djangoproject.com웹 개발 요소URL 파싱응답 생성세션 관리요청 파싱데이터베이스 연동관리자 페이지웹 프레임워크프레임워크: 라이브러리와 혼동될 수 있으며, 건축에 비유하면 구조를 만드는 골격이 프레임워크라면 그 외 자재들이 라이브러리가 됨.라이브러리보다 규모가 큰 프로젝트에 사용됨.위에 설명한 웹 .. 2022. 6. 20.
개인용 서버 만들기 5편(딥러닝 서버 구축 2편) 이번 편에는 5편에 마저 못한 Tensorflow 서버 구축을 할거에요. Tensorflow 서버에 Jupyter Notebook를 실행 시켜서 외부에서 딥러닝 프로젝트 보다 쉽게 할 수 있도록 할거에요. 저는 Tensorflow 서버를 docker를 통해 실행 시킬 건데, 다음 Tensorflow 공식 사이트에서 docker로 Tensorflow 서버를 구축하는 방법이 나와 있습니다. Docker | TensorFlow Google I/O is a wrap! Catch up on TensorFlow sessions View sessions Docker Docker는 컨테이너를 사용하여 TensorFlow 설치를 나머지 시스템에서 격리하는 가상 환경을 만듭니다. TensorFlow 프로그램은 호스트 머신.. 2022. 6. 19.
Cat vs Dog 분류 모델 만들기 Cat vs Dog 분류 모델 만들기 import tensorflow as tf from tensorflow.keras import preprocessing from tensorflow.keras import models, layers from tensorflow.keras.preprocessing.image import ImageDataGenerator import matplotlib.pyplot as plt import numpy as np import cv2 데이터 전처리 데이터 증강(argument) In [2]: train_datagen = ImageDataGenerator( rescale=1./127.5, rotation_range= 40, width_shift_range=0.2, height.. 2022. 6. 18.
Keras.1 Modeling Keras_1.Modeling Keras 모델링은 크게 순차적 API, 기능적 API, 모델 서브클래싱 방식으로 나뉜다. In [2]: from tensorflow.keras.datasets import mnist import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers import matplotlib.pyplot as plt import numpy as np In [3]: # 원본 데이터 불러오기 (x_train, y_train), (x_test, y_test) = mnist.load_data("./mnist.npz") # 데이터 샘플링 x_train, x_test = x_train/ 255.0, x_.. 2022. 6. 18.
데이터 처리를 위한 Matplotlib 데이터 처리를 위한 Matplotlib import matplotlib.pyplot as plt ▣ Matplotlib Matplotlib은 데이터를 차트(chart)나 플롯(plot)으로 시각화(visulaization)하는 패키지 데이터 분석에서 Matplotlib은 데이터 분석 이전에 데이터 이해를 위한 시각화나, 데이터 분석 후에 결과를 시각화하기 위해서 사용 마커 데이터 위치를 나타내는 기호를 마커(marker)라고 한다. 마커의 종류는 다음과 같다. 추가 마커: https://matplotlib.org/stable/api/markers_api.html 선 스타일 선 스타일에는 실선(solid), 대시선(dashed), 점선(dotted), 대시-점선(dash-dit) 이 있다. 지정 문자열은 .. 2022. 6. 17.
데이터 처리를 위한 numpy 데이터 처리를 위한 numpy ▣ Numpy 넘파이(Numpy)는 수치 데이터를 다루는 파이썬 패키지입니다. Numpy의 핵심이라고 불리는 다차원 행렬 자료구조인 ndarray를 통해 벡터 및 행렬을 사용하는 선형 대수 계산에서 주로 사용됩니다. Numpy는 편의성뿐만 아니라, 속도면에서도 순수 파이썬에 비해 압도적으로 빠르다는 장점이 있습니다. 인공지능 관련 라이브러리는 거의 numpy과 관련되서 반환한다. In [4]: import numpy as np array 리스트를 numpy배열(ndarray)로 생성 In [5]: ndarray = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) 1) numpy 배열 arrange np.arange()는 지정해준 범위에 대해서.. 2022. 6. 17.
데이터 처리를 위한 Pandas 데이터 처리를 위한 Pandas In [1]: import pandas as pd ▣ Pandas 판다스(Pandas)는 관계형 또는 분류된 데이터 처리를 위한 파이썬 라이브러리. 파이썬을 이용한 데이터 분석과 같은 작업에서 필수 라이브러리. Pandas는 행 및 열 레이블이 포함된 데이터 처리에 적합함. ex) 주식데이터, 년도별 사망자수 등 Series 1차원 배열의 값(value)에 각 값에 대응되는 인덱스(index)을 부여할 수 있는 구조. In [3]: sr = pd.Series([17000, 18000, 5000],index=['피자','치킨','맥주']) sr Out[3]: 피자 17000 치킨 18000 맥주 5000 dtype: int64 In [4]: print(sr.index, sr.. 2022. 6. 17.
docker 명령어 모음 도커 사용법 및 명령어 도커 버전 확인(도커 설치 확인)docker --verstion docker 이미지 검색cli 검색 방식sudo docker search [검색 단어] # ex sudo docker search centosdocker hub 검색 방식 Docker Hub Container Image Library | App ContainerizationWe and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal .. 2022. 6. 17.
데이터베이스란? 데이터베이스 출처: https://hongong.hanbit.co.kr/데이터베이스-이해하기-databasedb-dbms-sql의-개념/ [혼공] 출처: https://deftkang.tistory.com/38 [deftkang의 IT 블로그] 방대한 데이터를 효율적으로 관리하기 위해 컴퓨터에 통합.저장한 것으로, 데이터베이스관리시스템(DBMS)이라는 프로그램을 이용하여 관리한다. 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합 자료항목의 중복을 없애고 자료를 구조화하여 저장함으로써 자료 검색과 갱신의 효율을 높인다. 데이터베이스 특징 응용 시스템 들이 공유해서 사용하는 운영 데이터들이 구조적으로 통합된 모임 데이터베이스 구조는 데이터 모델에 의해 결정된다. 관계형 계층형 망형.. 2022. 6. 17.
개인용 서버 만들기 5편(딥러닝 서버 구축 1편) 5편에서는 외부에서 딥러닝 프로그램 및 연구를 하기 위해 딥러닝 서버 구축에 대해 설명 할거에요. 먼저 딥러닝을 개발 있어서 가장 중요한 것은 개인용 서버 만들기 1편에서 말했는데, 바로 GPU 에요. GPU는 CPU와 달리 데이터 연산을 병렬처리로 하기 때문에 빅데이터 같은 큰 샘플 데이터 처리에 대해 아주 적합 합니다. 딥러닝 개발에서 사용하는 유명한 라이브러리로 Tensorflow가 있습니다. Tensorflow를 사용하면 보다 쉽고 빠르게 딥러닝 모델을 만들 수 있습니다. Tensorflow에서 GPU를 사용하기 위해서는 NVIDIA 드라이버, CUDA toolkit, cuDNN이 해당 컴퓨터에 맞게 설치 되어야 되요. NVIDIA 그래픽카드 드라이버 설치 자신의 GPU에 맞게 추천 드라이버 확인.. 2022. 6. 17.
docker 란? docker 란?docker는 컨테이너 기반 가상화 도구이다. 기존에 사용하던 가상 머신(VM)은 사용하기 위해서 항상 OS를 설치해야 했고, 이미지(시스템 이미지) 안에 OS가 포함되어 있기 때문에 용량이 매우 크고 속도도 느리다.도커는 OS 전체를 가상화하지 않고 컨테이너라는 리눅스 커널 레벨에서 제공하는 격리된 가상 공간을 사용OS를 설치하지 않기 때문에 호스트와 속도 차이도 거의 없으며 기존의 VM에 비해서는 월등한 속도로 동작이미지(시스템 이미지)이미지란 전체 하드 드라이브의 스냅샷 또는 정확한 복사본.시스템 이미지는 컴퓨터 하드 드라이브에 있는 모든 항목의 완전한 백업이므로 OS, 시스템 설정, 실행 파일, 설치된 프로그램 및 기타 모든 파일을 포함한 모든 것을 저장do.. 2022. 6. 4.
개인용 서버 만들기 4편(code-server 구축) 4편에서는 구축한 서버에 vscode를 돌려 외부에서 접속해서 코딩을 할 수 있도록 할거에요. 저는 호스트에서 직접 돌리지 않고 docker 컨테이너에 vscode를 돌릴 수 있도록 할 겁니다. VS Code는 Visual Studio Code의 약자로 마이크로 소프트에서 만든 개발환경 입니다. 기존 Visual Studio는 Window에서만 돌아가도록 했지만, VS Code는 Mac, Linux, window등 대부분의 운영체제에서 사용 가능 합니다. VS Code는 클라이언트용 개발 환경이기 때문에 외부에서 접속할 수 없어요. 그래서 VS Code를 외부에서 접속 할 수 있는 code-server를 사용 할 겁니다. code-server는 VS Code를 Node.js를 통해 Server로 올릴 수.. 2022. 6. 4.
데이터 분석의 기초2(데이터분석 절차와 데이터 가공) 데이터 분석의 절차 ① 분석 목표 설정 실행 가능성과 활용 가능성을 고려해서 결정 ② 데이터 수집 직접 수집한 데이터와 내부 데이터 및 관련 있는 외부 데이터를 활용 출처에 따라 내부 데이터 그리고 외부 데이터로 나눔 내부 데이터: 내부 데이터는 기업이 보유하고 있는 영업 데이터와 고객 데이터 그리고 거래 정보 또는 매출 기록에 해당하는 기업이 보유하고 있는 데이터 외부로 데이터가 공개되기를 꺼리며 상당한 수준의 보안이 요구되는 데이터를 뜻함. 외부 데이터: 내부 데이터의 반대 개념으로 인터넷에서 접할 수 있는 소셜 데이터와 온라인 뉴스 및 블로그 등과 같은 데이터 공공 데이터 공공 데이터 포털 : https://www.data.go.kr(다양한 공공기관의 데이터 및 api르 제공) 통계청 MDIS : .. 2022. 5. 31.
데이터 분석의 기초1(데이터 종류) 데이터의 종류 종류 정형 데이터 반정형 데이터 비정형 데이터 정형 데이터 테이블(행,열)과 같이 완전하게 규격화된 형식에 저장된 데이터. 체계적이고 규격화된 형식에 저장된 데이터 csv, sql, xlsx, ... 반정형 데이터 테이블과 같이 규격화된 형식에 저장되어 있지는 않지만 내부 형식을 가진 데이터 아래한글이나 워드등으로 작성된 데이터 혹은 페이스북이나 카카오톡들 SNS에 사요자들이 생성한 데이터. XML, HTML, JSON 비정형 데이터 규격화된 형식에 저장되어 있지 않은 자유로운 데이터 빅데이터와 인공지능 세상이 시작되면서 가장 가파른 증가를 보이고 있는 데이터. 이진 데이터(binary file) 2022. 5. 31.
네트워크 기본2(프로토콜 디자인과 각 계층의 기능) 프로토콜 디자인 프로토콜: 컴퓨터 네트워크에서 데이터를 주고 받을 때 수행되는 절차 규격. 기능: 주소지정(MAC, IP, PORT등 ) 크게 OSI 7계층과 TCP/IP 4계층으로 나뉜다. OSI 7계층 OSI(Open Systems Interconnection Reference Model) 국제 표준화기구(OSI)에서 개발하여 컴퓨터 네트워크 프로토콜 디자인 및 통신을 7계층으로 나눈 프로토콜. 프로토콜을 기능별로 나눈것. 1-3계층: 하드웨어 계층, 4-7: 소프트웨어 계층. 1계층 물리계층(Physical Layer) 네트워크의 하드웨어 전송기술을 말함. 비트단위를 전기신호로 변환 및 전송. 하드웨어적으로 전기적 신호를 주고 받으므로 가장 복잡함. 랜선, 리피터(Repeater), 허브(Hub)의.. 2022. 5. 28.
네트워크 기본1(네트워킹과 Network 물리적 구조) 네트워킹 이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크를 구성하는 것. 컴퓨터들을 서로 연결하여 데이터 손쉽게 주고받거나 또는 자원 프린터와 같은 주변기기을함께 공유. 1 . 호스트/클라이언트/ 서버 호스트: 네트워크에 연결되어 있는 모든 컴퓨터들. ex) 네이버 호스트 도메인: https://naver.com -> 네이버 호스트 IP: 210.89.160.88 localhost(지역 호스트): 컴퓨터 네트워크에서 사용하는 루프백 호스트명으로, 자신의 컴퓨터를 의미한다. 번호: 127.0.0.1 서버: 서비스를 제공하는 컴퓨터. 서비스를 제공하기 위해 서버프로그램(Socket 사용) 필요. 클라이언트: 서비스를 받는 컴퓨터. 서비스를 제공받기 위해 클라이언트프로그램(Socker 사용) 필요.ex.. 2022. 5. 28.
개인용 서버 만들기 3편(포트포워딩과 DDNS 설정) 3편에서는 외부에서 보다 간편하게 접속하기 위해서 포트포워딩과 DDNS 설정하는 내용을 썼습니다. 여기서 말하는 포트포워딩과 DDNS이 무엇일까요? 일단 ip체계와, 포트 그리고 DNS에 대해 설명, 포트포워딩과 DDNS에 대해 설명한 다음에 iptime 공유기를 통해 설정하는 방법을 설명하겠습니다. IP(Internet Protocol) ip는 컴퓨터(호스트)가 네트워크에 연결될때, 발급받는 주소로 우편번호 개념과 비슷합니다. ip는 주로 ipv4 방식을 채택합니다. 위의 방식 ipv4 방식인데, 각 각의 숫자는 2의 8제곱으로 0~255중 숫자 하나를 선택할 수 있습니다.총 4개 있으니깐, ip주소를 만들 수 있는 경우 수는 (2^(8*4))으로 대략 43억개 이다. 만들 수 있는 ip가 많아 보이지.. 2022. 5. 27.
개인용 서버 만들기 2편(우분투 설치) 1편에서 PC 조립 했는데, 이제 운영체제를 깔아 줄거에요. 크게 운영체제는 윈도우, 맥OS, 리눅스 운영체제로 나뉘어요. 윈도우 같은 경우 Microsoft에서 개발한 운영체제 인데, 현 컴퓨터 중에서 가장 많이 쓰이는 운영체제 입니다. 맥OS는 Apple에서 개발한 운영체제이고 따로 팔진 않고, 맥 제품에만 들어갑니다. 윈도우랑 맥OS는 흔하지만, 리눅스는 흔하진 않을 거에요. 리눅스 리눅스는 핀란드 출신인 리누스 토르발스라는 사람인 만든 UNIX 기반 오픈형 운영체제 입니다. 리눅스의 장점은 오픈소스이고, 독자적인 커스텀 운영체제를 만들기 쉬어요. 대표적인 리눅스로 만든 운영체제가 Android 입니다. 그 이외도 최근에 출시한 스팀덱에 들어간 Steam OS, 군대에서 사용하는 하모니카, 그리고 .. 2022. 5. 27.
개인용 서버 만들기 1편 (하드웨어 구축) 저는 주 전공이 인공지능쪽이라 맥북으로 개발 했는데, 맥북프로는 인공지능 학습을 하기엔 힘들어서 클라우드를 통해 개발 했습니다. 클라우드가 성능은 좋지만, 확실히 클라우드로 개발하는 게 돈도 많이 들고 개발하는 것도 불편하다고 많이 느꼈습니다. 그래서 저는 직접 컴퓨터를 맞추어서 집에 있을 때는 해당 컴퓨터로 작업하고 밖에 있을 때는 우분투를 통해 맥북이나 아이패드에서 접속해서 서버에서 작업이 돌아가도록 만들었습니다. 전역 전에 미리 컴퓨터 부품을 드래곤볼 했습니다. ^^ 하드웨어 사양은 CPU: i7-12700, 메인보드: asus-tuf gaming z690-plus, RAM: 삼성 ddr4 32GB x2, GPU: galaxy RTX 3090 sg, SSD: 삼성 970 evo plus 1TB, s.. 2022. 5. 27.
전역후 블로그 저는 2022년 05월 19일에 전역을 했습니다. 군대에 있을 때 제가 공부한 내용들을 블로그에 올리고 싶었는데, 이제야 블로그 첫 글을 쓰게 됐습니다. 제 블로그는 앞에서 말한 공부한 내용이나 일상생활에서 겪은 경험들을 주로 올라 올겁니까. 제가 블로그는 처음 해봐서 글 내용이 잘못 된게 있어도 양해 부탁드립니다. ^^ 2022. 5. 27.