학습 데이터 : roboflow 샘플 파일 안전모 학습 데이터 https://public.roboflow.com/object-detection/hard-hat-workers/1 개발환경 : 구글 코랩 1. 학습 데이터 다운로드 # Roboflow 샘플 파일 다운로드 !curl -L "https://public.roboflow.com/ds/ZQ0MfxeaHQ?key=lPO4Syqo35" > roboflow.zip; unzip roboflow.zip; rm roboflow.zip 2. yolov5 설치 #yolov5 설치 %cd /content !git clone https://github.com/ultralytics/yolov5.git 3. requirements.txt install %cd /conten..
데이터사이언스 Data Science Data Science: 데이터 중심의 과학, 데이터에서 지식과 통찰력을 발견하는 과학적인 방법론 ex) 통계학, 패턴 인식, 머신 러닝 Early Data Science 19세기 중반 영국 런던 : 콜레라 발견 기존의 가설 : Miasma라는 독이 공기를 통해 전파 John Snow: “콜레라는 왜 그리고 어떻게 전파되는가?” “지도에 발병자를 표시해 보자” 콜레라로 인한 사망자는 한 펌프를 기준으로 퍼짐 다른 펌프를 이용한 사용자는 사망하지 않음 “콜레라를 옮기는 매개체는 공기가 아니라 물이다” 머신 러닝 머신 러닝: 명시적으로 프로그래밍 하지 않고도 컴퓨터가 학습할 수 있는 능력을 갖게 하는 것 ex) 데이터 마이닝, Feature 학습(고양이 귀가 어떻고.. ..
1. 함수 Point I 특정 기능을 수행하는 코드(들의 모임) 함수이름(인자) 형태로 사용 Point II 내장 함수 : 형식에 맞춰서 편리하게 사용 Point III max(), min() - 시퀀스의 최댓값, 최솟값을 구하는 함수 print(max([1, 2, 3])) #3 print(min([-1, -2, -3])) #-3 Point IV sum(), len()- 시퀀스의 합과 길이를 구하는 함수 odds = [1, 3, 5, 7, 9, 11] print(sum(odds)) #36 print(len(odds)) #6 Point V def 키워드 : 함수를 정의할 때 사용 def function_name(): .... Point VI 매개변수 : 함수 외부에서 내부로 값을 전달할 때 사용되는 변수 ..
1. 입력 Point I 변수 = input() : 변수에 입력받은 값을 집어넣겠다는 의미 var = input() Point II 어떤 것을 입력하든 문자열로 입력되기 때문에 형 변환이 필요 int() : 정수형 변환, str() : 문자열 변환 등… var1 = input() #4 입력 var1 = int(var1) var2 = int(input()) #3 입력 print(3+var1+var2) #10 출력 2. 논리 자료형(Boolean Data) Point I 논리 자료형 : 참(True) 혹은 거짓(False)을 나타내는 자료형 True, False Point II 비교 연산자 : 숫자나 문자의 값을 비교하는 연산자 주어진 진술이 참이면 True, 거짓이면 False A == B #A와 B가 같..
1. print() Point I print() : 문자열을 출력하는 명령어 print("Hello Rabbit!") ## 출력결과 ## Hello Rabbit! Point II 콤마(,)를 통해 여러 자료를 출력 print(3, "Hello") ## 출력결과 ## 3 Hello Point III print()를 여러 번 사용하여 여러 줄에 걸쳐 출력 print(3) print(6) print(9) ## 출력결과 ## 3 6 9 2. 기본 자료형 Point I 숫자형 : 숫자로 이루어진 자료형 3 : 정수 3.14 : 실수 Point II 문자열 : 문자, 혹은 문자들의 집합 - 큰따옴표(“)/작은따옴표(‘)로 구분 'Hello' '3.14' "3.14" Point III 리스트 : 여러 자료를 함께 보..
데이터 모델 편집하기 열 별로 설정 화면으로 들어가 추가 설정 가능 날짜나 숫자 타입의 경우 개별 열의 Formatting 설정도 가능함 일반설정 - 이름과 설명, 가시성, 타입 등 목록에서 편집할 수 있는 정보도 동일하게 제공 - 필터에 사용 시 표시 방식을 설정할 수 있음 포맷팅 설정 - 숫자의 표시 스타일 설정 - 화폐의 단위나 심볼, 코드와 같은 스타일을 설정 - 날짜의 년/월/일 스타일이나 시간 포맷과 같은 스타일을 설정 권한 설정 구성 등록한 커넥션과 분석한 컬렉션 모두 권한을 설정 가능 권한은 그룹 단위로 설정 데이터 권한 - Metabase 설치 후 기본 설정된 2개의 사용자 그룹과 1개의 커넥션을 생성 - 커넥션 혹은 테이블 별로 그룹에 엑세스와 SQL 쿼리 작성 권한을 부여 / 제외 컬..
사용자 추가하기 : 사용자를 원하는 그룹으로 추가 기본 사용자 - Metabase 설치 시 최초 등록한 사용자 - 관리자 계정입니다. 사용자 추가하기 - "Add someone" 버튼 클릭 - 화면에 새 사용자의 정보를 입력 - 이름과 이메일을 입력 - 사용자가 속할 그룹을 선택 - "Create" 버튼 클릭 데이터 베이스 추가하기 : 설치한 Metabase에서 분석할 대상 데이터베이스를 등록 기본 데이터베이스 - Sample Dataset - Metabase가 설치하는 h2 데이터 베이스로 주문/회원/상품/리뷰 샘플 테이블을 제공 데이터베이스 추가하기 - "Add database" 버튼 클릭 - 새 데이터베이스의 타입과 연결 정보를 입력 - 추가할 데이터베이스의 타입을 선택하면 입력 항목이 자동으로 변..
Metabase는 별도의 설치가 필요하지 않고 홈페이지에서 jar 파일 다운 받아서 실행 포그라운드 실행 - java -jar Metabase.jar 백그라운드 실행 -Java -jar Metabase.jar & Maria DB 실행 시 CSV 파일로 Data Import 시에는 --local -infile을 명령어에 추가함 접속하기 Metabase는 웹 서버를 내장하고 있어 웹 브라우저를 이용해 접속할 수 있으며, 전체 기능은 웹 브라우저를 통해 사용 Metabase 접속 정보(Local 사용) - 접속 주소 : http://localhost:3000/auth/login Metabase 지원 브라우저 - Chrome(v70+) - IE(v11) - Microsoft Edge(17+) - Firefox(..
1. OPC(OLE for Process Control) - OPC Server는 OPC표준을 지원하는 산업용 자동화 및 IoT를 위한 연결 플랫폼 - 높은 신뢰성과 편의성으로 복잡한 시스템을 통합 관리 2. 시스템 구성 - OPC Server는 OPC표준을 지원하는 산업용 자동화 및 IoT를 위한 연결 플랫폼 - 높은 신뢰성과 편의성으로 복잡한 시스템을 통합 관리 3. 특징 - 커스텀 또는 지원되지 않는 프로토콜을 지원하는 장치 및 어플리케이션에 연결 - 주요 데이터베이스 어플리케이션에 연결(MySQL, Access, Oracle) - 다양한 Vendor에서 시스템 구축 및 관리 툴 지원 - 레거시, 현재 및 미래 컨트롤러의 펌웨어 및 운영 체제 지원 - 다양한 네트워크 토폴로지를 통해 클라이언트에서 ..
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using RabbitMQ.Client; using RabbitMQ.Client.Events; namespace RabbitMQRcv { public partial class Form1 : Form { string rst1; public Form1() { InitializeComponent(); timer1.Start(); } ..
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using RabbitMQ.Client; namespace RabbitMQSend { public partial class Form1 : Form { string message; public Form1() { InitializeComponent(); } private void button1_Click(object sender, ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public Form1() { InitializeComponent(); DateTime start = new DateTime(2020, 02, 26, 12, 06, 00); // 시작 시간 DateTime end = new DateTime(2020, 02, 26, 12, 05, 00); // 종료 시간 TimeSpan spanStart = new TimeSpan(start.Day, start.Hour, start.Minute, start.Second, start.Millisecond); TimeSpan spanEnd = new TimeSpan(end.Day, end.Hour, end.Minute, ..
RabbitMQ 설치 절차 가. erlang설치 - http://www.erlang.org/downloads 에서 (OTP 22.2 Windows 64-bit Binary File 선택 후 파일다운 및 설치. 나. Rabbit MQ Windows버전 설치 - https://www.rabbitmq.com/download.html 에서 Windows선택 및 다운로드(rabbitmq-server-3.8.2) 다. Plug-In 설치 - [검색] 시스템 환경 변수 편집 - ELANG_HOME 환경변수 확인 - 이동 : C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.2\sbin - 커멘드 [관리자권한] 명령실행 : > rabbitmq-plugins.bat enabl..
카프카의 데이터 보관 주기는 기본적으로 7일로 설정되어 있다. 보관 주기를 수정하는 방법 2가지가 있으며, 수정할때도 용량단위, 시간단위, 일단위, 초단위로 구체적인 단위로 설정 가능하다. 방법1. server.properties 파일 수정 보관주기 옵션 항목 log.retention.bytes : byte 단위 기준으로 데이터 보관 log.retention.ms : 초 단위 기준으로 데이터 보관 log.retention.minutes : 분 단위 기준으로 데이터 보관 log.retention.hours : 시간 단위 기준으로 데이터 보관, 해당 옵션이 168으로 기본으로 적용되어 있음 server.properties 파일 확인 기본값은 168시간 = 7일로 설정되어 있음. 옵션 상세 내용 방법2. 토픽..
메시지 큐(Message Queue 이하 MQ)란 프로세스(프로그램) 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로 더 큰 개념으로는 MOM(Message Oriented Middleware : 메시지 지향 미들웨어 이하 MOM)를 의미합니다. MOM이란 비동기 메시지를 사용하는 프로그램 간의 데이터 송수신을 의미하는데 MOM을 구현한 시스템을 MQ라고 합니다. MQ는 작업을 늦출 수 있는 유연성을 제공합니다. 메시지를 교환할 때 AMQP(Advanced Message Queuing Protocol 이하 AMQP)을 이용합니다. AMQP는 ISO 응용 계층의 MOM 표준으로 JMS(Java Message Service)와 비교되는데 JMS는 MOM를 자바에서 지원하는 표준 API입니다. JMS..
다양한 API들의 통합 - 닷넷 3.0에서 소개된 WPF는 다양했던 프로그래밍 모델을 하나로 합쳐 놓은 통합된 프로그래밍 모델 XAML을 통한 완벽한 UI의 분리 - UI를 XAML로 분리하여 프로그래밍 로직과 UI를 분리하여 디자이너와 프로그래머가 따로 작업이 가능 (XAML+C#) 최적화된 렌더링 모델 WPF의 다양한 옵션 기능 - 컨트롤 배치 관리 - 다양한 UI 개체 표현 - 스타일 엔진을 이용한 테마 정의 - 2D, 3D 그래픽, 비디오 오디오 기능 제공 - 다양한 API 지원 - 윈도우 폼, ActiveX, Win32, HWND 등 다른 GUI 객체들과 통합 지원 MVVM(Model-View-ViewModel)은 디자인 패턴으로 Model, View, ViewModel로 나눈 디자인 패턴으로 ..
1. http://grafana.com/get 사이트에서 Grafana를 다운로드 합니다. 2. 원하는 위치에 다운로드한 grafana를 압축 해제 합니다. 3. CMD 명령프롬프트를 실행 후 압축을 해제한 곳으로 이동 후 bin/폴더로 이동 후 grafana-server 명령어를 실행하면 grafana가 실행이 됩니다. 4. 브라우저를 실행 후 localhost:3000 으로 접속하면 아래와 같이 grafana 사이트가 열립니다. 최초 접속시 admin 계정의 비밀번호는 admin 입니다. 로그인을 하면 비밀번호를 변경할것이냐고 묻는데 이때 admin 비밀번호를 변경하면 됩니다.
내 IP 확인하기 샘플 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 using System.Net.Sockets; IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName()); public Main() { InitializeComponent(); foreach (IPAddress ip in host.AddressList) { if(ip.AddressFamily == AddressFamily.InterNetwork) { // 내 아이피 string MyIP = ip.ToString(); } } } Colored by Color Scripter cs
MSSQL SQL ServerAgent 사용은 일정 주기(분, 시간, 일, 월) 단위로 프로시저를 호출 할 때 많이 사용한다. ex) 데이터베이스 유지 관리를 위한 오래된 데이터 삭제 사용방법 1. 작업->새작업 선택 2. 일반->이름, 범주, 설명 입력 3. 단계 -> 새로 만들기->작업 단계 속성 일반 입력 작업 단계 속성 고급 입력 4. 일정-> 새로 만들기 -> 알람 일정 선택 후 확인 5. 작업 폴더 하위 아래 생성한 작업 확인 6. 작업 활동 모니터를 선택하여 확인
CREATE PROCEDURE 프로시저 명 AS BEGIN 쿼리내용 END
메시지 큐(Message Queue) 비교 1. 메시지 큐 개념 메시지 지향 미들웨어(Message Qriented Middleware:MOM)은 비동기 메시지를 사용하는 다른 응용프로그램 사이에서 데이터 송수신을 의미 2. 메시지 큐 장점 - 비동기(Asynchronous): Queue에 넣기 때문에 나중에 처리 가능 - 비동조(Decoupling): 애플리케이션과 분리 가능 - 탄력성(Resilience): 일부가 실패 시 전체에 영향을 받지 않음 - 과잉(Redundancy): 실패할 경우 재실행 가능 - 보증(Guarantees): 작업이 처리된걸 확인할 수 있음 - 확장성(Scalable): 다수의 프로세스들이 큐에 메시지를 보낼 수 있음 . Message Queueing은 대용량 데이터를 처리..
날짜와 시간의 처리¶ In [1]: # 초기화 ## 모듈을 가져온다. import pandas as pd import numpy as np from pandas import Series, DataFrame # 그래픽에 필요한 페키지와 라이브라리... import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm %matplotlib inline ## 폰트지정.... plt.rcParams["font.family"] = 'NanumGothic' plt.rcParams["font.size"] = 18 # 폰트를 지정하면 그래프에서 마이너스 폰트가 깨져서 다음과 같이 셋팅 mpl.rcPara..
In [1]: #초기화 import pandas as pd from pandas import Series, DataFrame import numpy as np In [2]: %matplotlib inline 연산¶ 산술연산¶ 2013~2014년도 nc 선수기록을 DataFrame으로 로딩 한다. 이때 인덱스는 '선수명으로 지정 한다. 2014년도와 2015년도의 홈수 수 합계를 구한다. --> 색인 기반으로 연산 NaN에 대해 처리가 필요. In [3]: # 데이터를 읽을 파일 목록 만들기 경로목록 = [ 'data/NC Dinos 2013.xlsx', 'data/NC Dinos 2014.xlsx', 'data/NC Dinos 2015.xlsx' ] In [4]..
고급 문자열 처리¶ In [3]: ## 모듈 가져오기 import pandas as pd import numpy as np from pandas import Series, DataFrame # 그래픽에 필요힌 페키지와 라이브러리를 가져 온다. import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm %matplotlib inline # 그래프에서 마이너스 폰트 깨지는 문제 해결 # (폰트를 지정하면 이러한 문제가 발생하기 때문에 아래 설정) mpl.rcParams['axes.unicode_minus'] = False 문자 인코딩 문제¶ - 읽기, 쓰기에서 맞는 인코딩을 사용해야 한..
영화 평점 데이터 분석¶ import pandas as pd import numpy as np 데이터 읽어오기.¶ 사용자 데이터: users 평점 데이터 : ratings 영화 데이터 : movies In [5]: ## users.dat 파일 컬럼(유저 정보 파일) : 유저id, 성별 ## pandas를 이용 읽어온다. '::' (구분자) ## 경고 문구에 따라 설정 변경 ==> engine='python' ## 첫 라인의 데이터가 열제목으로 자동 셋팅... 첫라인으로 데이터로 읽어와야 함. pd.read_csv('data/movielens/users.dat', sep='::', engine='python', header=None) Out[5]: 0 1 2 3 4 0 1 F 1 10 48067 1 2 M..