Home
괴발개발블로그
Cancel
Error) wifi Connet - 인터넷 연결 시도 중

Error) wifi Connet - 인터넷 연결 시도 중

24.10.18. 공유기 상태가 이상하다. git에 업로드 중 뭔가 이상해서 확인해보니.. 인터넷 연결 시도 중.. 메시지가.. 전원, 인터넷 케이블 전부 체크해 봤지만, 공유기에서 네트워크를 못 받고있다. 초기화, 집의 네트워크 연결 변경 등 시도해봤으나 전부 감감무소식.. 진짜냐.. ping테스트도 해봤지만 역시나.. 문제 해결 과정 ...

OpenCV In L4T 32.2.3설정

OpenCV In L4T 32.2.3설정

00. Requirements OpenCV Github 주소 OpenCV Release OpenCV 3.2.0 Documents OpenCV 4.1.1 GitHub 24.01.09: 아래 내용 다 쓸데없음. L4T 32.2.3 버전 최신은 OpenCV 4 지원함 젠장~ 24.05.16: 그래도 혹시 몰라 백업 환경 Open...

C++_sizeof

C++_sizeof

#include <iostream> int main() { int myInt; int* ptrToInt; std::cout << "Size of int1: " << sizeof(myInt) << " bytes" << std::endl; std::cout <&lt...

C++_Pointer

C++_Pointer

포인터 포인터를 이해하기 위해선 [[Memory Features(General)]]를 이해하면 편하다. 포인터의 개요 포인터 변수는 변수 타입 중 하나! 포인터 변수 값: 메모리의 주소 메모리에 뭘 저장? 변수 vs 포인터 : 값 저장 vs 주소 저장 포인터 타입: 주소에 저장된 데이터 타입. 포인터 사용...

C++_null Pointer

C++_null Pointer

임의 메모리 주소(쓰레기값)을 가리키는 상태가 아닌, 아무것도 가리키지 않는 상태를 의미한다. 포인터 자료형의 기본값. 기존의 int* int_ptr = 0; // int 타입 변수인지 Ptr변수인지 `*`을 봐야함 int* int_ptr = nullptr; //Ptr 변수구나~ 보다 가독성이 좋다.(직관적이다) 예시 int* ...

C++_Reference

C++_Reference

Reference(참조자) 변수는 할당된 메모리 공간에 붙여진 이름이다. 이 공간에 다른 이름을 붙이는 것이 참조자 이다. 일종의 별명개념. Pointer-포인터(Cpp)와 달리 별개의 주소값도, 메모리 공간도 차지하지 않는다. &를 사용한다. #include <iostream> int main() { int num1 = 10...

C++_Pass-by-Value

C++_Pass-by-Value

연관 개념: Pass-by-Reference(Cpp): 수정 가능한 데이터 전달 Pass-by-Value 함수에 데이터를 전달할 때는 값으로 전달(pass-by-value) 됨. 이 값은 수정불가. 데이터는 복사되어 전달된다. 전달된 인수는 함수를 통해 변화되지 않음 실수로 값 변경을 방지한다. ...

C++_Pass-by-Reference

C++_Pass-by-Reference

Pass-by-Reference 함수 내에서 참조자로 전달할 경우, 주소를 이용해 전달하기 때문에 원래 변수의 값을 수정할 수 있다. 함수 내에서 값의 변환이 필요할 때 사용한다. 값의 변환을 위해 매개변수의 주소값이 필요함 배열이 아닌 경우도 Cpp에선 참조자를 통해 가능하다. 예시 #include <iostream> ...

GPU

GPU 란

참고: 개선된 알고리즘과 병렬프로그래밍 필요성, [[GPGPU]] Graphics Processing Unit(그래픽 처리 장치). 예시) 가상 공간의 물체에 빛을 쬐어 그림자를 표현. 즉, 데이터를 해석해 사용자가 볼 수 있는 화면에 그린다.

SIMT 구조

SIMT 구조

참고: [[GPU]], [[GPGPU]], [[CUDA 06) 스레드의 계층구조]] Single Instruction-Multiple Thread(단일명령-복수스레드) 구조. 일반적인 GPU의 구조이다. 하나의 명령어가 여러 스레드에 명령을 내리는 구조. 즉 GPU는 SIMT 구조의 병렬 처리 하드웨어이며 공유 메모리 시스템이다. 특징 ...

CUDA 프로그램의 구조와 흐름

CUDA 프로그램의 구조와 흐름

이전 문서: CUDA란 구조 CUDA 프로그램은 Host 코드와 Device 코드로 나뉜다. 두 장치는 서로 독립되어 사용하는 메모리 영역도 다르다. Host Code CPU와 메인보드에 귀속된 DRAM(System Memory, Host Memory 라고도 부른다) 거의 모든 데이터는 Host_Memory...

CUDA 란

CUDA 란

Compute Unified Device Architecture CUDA는 Nvidia에서 GPU를 GPGPU 목적으로 사용할 수 있게 제공하는 프로그래밍 인터페이스이다. 기본적으로 C/C++의 확장언어로 해당 언어가 베이스가되는 거의 모든 언어(Python, Java 등) 에서 모듈 호출로 사용이 가능하다. 하지만 이는 저수준의 알고리즘 구...

라즈베리파이)GPIO Ctl) WiringPi

라즈베리파이)GPIO Ctl) WiringPi

라즈베리) Cpp 테스트, 컴파일가 됐으니 GPIO 제어하자. 라즈베리파이의 GPIO는 WiringPi로 제어한다. GPIO는 GPIO) 다용도 입출력 핀 참고 환경 라즈베리파이 3B+ 16GB microSD Raspbian 12 (bookworm) 주의 라즈베리파이의 GPIO는 0.0 - 3.3V 까지의 전압 범위를 지닌다. 만약 ...

NVCC Compile WorkFlow

NVCC Compile WorkFlow

CUDA는 .nvcc 로 컴파일된다. CUDA 프로그램의 구조와 흐름 에 따르면 .c, .cpp와 .cu 가 동시에 컴파일 되는 모습으로 보이는데 사실일까. 컴파일 전체 플로우 요약 NVCC는 .c, .cpp, .cu 컴파일 가능하다. Host(.c, .cpp) 와 Device(.cu) 코드를 분리해 컴파일한다. Devi...

병렬 처리(Parallel Processing)

병렬 처리(Parallel Processing)

GPU 프로그래밍이 더 높은 성능을 보이는 이유는 CPU에 비해 많은 수의 연산코어(Porcessing Core)를 지닌 대규모 병렬처리 장치이기 때문이다. 따라서 GPU 프로그래밍은 기본적으로 병렬처리를 사용한다. 병렬처리의 개념 여러 작업이 동시에 진행되도록 하는 것. 하나의 큰 작업을 여러 개의 작은 작업으로 나누고 동시에 처리하여 전체 실...

개선된 알고리즘과 병렬프로그래밍 필요성

개선된 알고리즘과 병렬프로그래밍 필요성

병렬처리 프로그래밍이란 일부 컴파일러, 라이브러리에서는 병렬 처리(Parallel Processing) 코드로 변경을 도와준다. 하지만 매우 낮은 수준의 병렬화만 지원하며 활용 여부 또한 불투명하다. 심한경우 성능이 저하되는 경우도 빈번하다. 따라서 병렬 컴퓨티 장치를 제어하는 가장 효과적인 방법은 병렬 처리 프로그래밍을 배우는 것이다. 예제 N개의...

라즈베리파이)Cpp 테스트, 컴파일

라즈베리파이)Cpp 테스트, 컴파일

라즈베리파이로 Cpp 개발이 가능한 환경을 만들자. g++ 설치 컴파일을 위해 우선 g++ 설치 sudo apt-get install g++ 테스트 설치 되었나 테스트 테스트0. Hello World 간단한 출력문을 테스트한다. //HelloWorld.cpp # inclued <iostream> int main() { std:...

push_back(VectorCpp)

push_back(VectorCpp)

상위항목:Vector(Cpp) 공백 벡터에서 시작해 배열이 하나씩 추가될 때 마다 벡터의 크기를 확대한다. 장점 Dynamic Array 이용이 편하다. 단점 비효율적이다. 벡터의 크기가 증가한 만큼 새로운 메모리 영역을 확보해야한다. 예시: 가족이 1명 늘어날 때 마다 더 큰 집으로 이사간다. ...

C++_Array

C++_Array

Array In Cpp 개요 복합적인 데이터 타입. 동일한 타입인 요소들의 집합. 개별 요소들에 직접적인 접근이 가능하다. 사용 목적 코드를 효율적으로 만들 수 있음 // 동일한 타입의 다른 변수들을 관리 int scort_1 = 0; int scort_2 = 0; ... int scort_100 = 0; 특징 고...

C++_Template

C++_Template

함수 템플릿 C++ 문서 템플릿 문서 하나의 클래스를 다양한 자료형에서 사용할 수 있게 만드는 기법이다. 만약 template <typename T> 선언이 없으면 오류.(T가 자료형인지 모르니까). 이후 T가 자료형을 선언해준다. Note. template <typename T> 대신 template <class...

Embedded System- GPIO

GPIO) 다용도 입출력 핀

GPIO(General Purpose Input / Output) 입, 출력을 포함한 동작이 런타임 시 사용자에 의해 제어될 수 있는 회로 및 디지털 신호 핀을 통칭(출처: 위키) 즉 프로세서가 주변장치와 통신하기 위해 다용도로 사용되는 입, 출력 포트.(일반적으로 GPIO를 포트라고 부른다.) 각 포트를 Input, Output로 설정 가...

Jetson Xavier Backup

Jetson Xavier Backup

지금 하는 프로젝트는 e-CAM 를 제어하는데, 환경은 Ubuntu 18.04, JetPack 4.6 이어야 한다. 한 가지 문제가 있다면 L4T가 점점 업데이트 되면서 JetPack 4.6은 아마 앞으로 L4T를 이용해 다운이 힘들어 질 것이다. 따라서 지금의 환경을 JetPack에서 제공하는 flash를 이용해 백업 할 예정이다. JetPack ...

C++_Vector

C++_Vector

vector(Cpp) 벡터는 Dynamic Array. 즉, 크기가 유동적으로 변한다. 배열의 크기를 미리 알 필요가 없으며 추가된 요소의 개수에 따라 조절된다. 벡터는 템플릿으로 설계되어있다. Array(Cpp)의 특징을 가지고 있어 임의의 위치에 있는 요소에 빠른 접근이 가능하다. 다차원 ...

Visual Studio SSH Remote 업데이트 문제

Error) Visual Studio SSH Remote 업데이트 문제

블로그 글은 많이 늦었지만.. 24.02.03 기준 SSH Remote가 업데이트했었다. 이로 인해 Ubuntu 18.04(사용중인 HOST) 에선 지원이 안된다 Ubuntu 18.04에서 SSH를 계속 사용하기 위해 사용할 수 있는 방법은 두 가지. 0. 기본 설정 VSCode-SSH Docs 단, 두 방법 모두 VSCode의 버전이 1...

라즈베리 파이로 V4L2 WebCam을 읽고 스트리밍 하기

스트리밍) RaspPi FFMPEG(UDP, RTMP)

지난 포스트 들에서 환경 설정을 완료했다. 라즈비안 설치: 링크 Windows FFMPEG 설치: [링크] 요구 사항 나는 데이터를 실시간 스트림 하고싶다. 화면에서 편집 된 데이터(ex. 캡쳐화면에 그림판으로 ‘바보’를 적고 있는 모습)를 어떤 방법이던 전송해, Jetson에서 실시간으로 받아 Jetson...

토이프로젝트)PiNas_ETC)다중엑세스포인트

PiNas_ETC_WAP 다중 엑세스 포인트

24.03.22 나스 이동 내가 가장 많은 시간을 보내는 곳은 사무실이다. 따라서 나스 시스템을 사무실로 옮겨야 관리가 편하지 않을까? 가장 중요한 관리자님의 허락도 받았겠다 진행 해보자. 번외 - 다중 액세스 포인트 현재 사무실 인터넷은 여러 개의 방화벽과 공유기로 이루어져있다. 여기서 토이 프로젝트용 네트워크를 분리하면 서로 간섭이 없...

토이프로젝트)파이나스

00_About PiNas

파이나스 관련 글 목록 및 작성 글들 정리하는 목록. About 예전에 머신러닝 배울 적 세미프로젝트로 AWS를 사용했었다. 내가 구매한게 아니라 학원에서 배포한 계정인데, 사용 시간에 제한이 있어 내 서버를 가지고 싶어졌다. 우선 라즈베리파이를 이용한다. 서버는 24시간 돌아가야 하는데 데스크탑을 켜두는건 좀 낭비같으니까. 그리고 글들을 암 생...

토이프로젝트)PiNas_ETC)케이싱

PiNas_ETC_케이싱

1단 24.03.18-21: 출력, 조립 -> 총 20시간 출력 원래는 케이싱 설계를 생각했었다. 지금 나스가 내 책상에 다른 금속들과 함께 나뒹굴어서 보기도 안좋고 보드 파괴 위험도 있어서 케이스가 필요하긴 하다. 근데 다른 할 일이 너무 많아 우선 Thingivers에서 1단 짜리만 출력 해보고, 사용 중 확장하면 그 때 설계 하려 ...

OpenCV 선명도 측정 비교

OpenCV를 이용한 카메라 화면 선명도 측정 비교

지난 포스트(링크) 에서 Nvbuffer를 OpenCV cv::Mat 데이터로 변환했다. 변환은 되었는지, OpenCV의 선명도 측정 함수들 중 어떤게 가장 내 시스템에 적적한지 실험 해보자. 환경 언어: Cpp OS: Ubuntu 18.04 OpenCV: 4.1.1 L4T 32.2.3: Nvidia Xavier P2972 e-...

Preview Image

Nvbuffer를 OpenCV에서 사용하기

환경 언어: Cpp OS: Ubuntu 18.04 OpenCV: 4.1.1 L4T 32.2.3 요구 사항 Jetson의 영상처리는 EGL의 Nvbuffer를 통해 이루어진다. 해당 버퍼는 벡터 배열로 생성되었으며 색상 타입에 따라 배열의 형태가 바뀐다. YUV444 형태로 버퍼를 생성하고 있으며, 버퍼 생성 후 OpneCV를 이용...

라즈베리파이 OS Ubuntu 18.04

RaspberryPi 3 Model B Ububntu 18.04

라즈베리 파이 모델 3B에 Ubuntu 18.04를 설치했다. 하드웨어 Raspberry Pi 3 Model B V1.2 16GB Micro SD 포멧 후 설치 1. 포멧 SD카드 포멧 설치 후 포멧. SD카드가 젯슨 용으로 썼던 거라 파티션 많음. 2. ubuntu 설치 ubuntu 18.04 설치 Ubuntu Mate - Do...

SCP 프로토콜

SCP 프로토콜

SCP(Secure Copy Protocol)는 [[SSH 프로토콜]]을 기반으로 하는 네트워크 프로토콜 및 명령어이다. 데이터 전송 중에 암호화를 사용하여 보안을 유지. 따라서 민감한 정보를 포함한 파일을 안전하게 복사할 때 유용하게 사용함. ssh와 동일한 22번 포트와 identity file을 사용해서 파일을 송수신하기 때문에 안정된 프로토콜...

operator[]:C++

operator[]:C++

연산자 오버로딩 함수. 배열과 같은 데이터 구조에 대한 인덱스 접근을 제공. 클래스나 사용자 정의 자료형에서 배열과 유사한 인터페이스를 제공할 때 유용함. #include <iostream> #include <cassert> class MyClass { private: int data[5]; // 예시로 정수형...

Interface IN C++

Interface IN C++

참고: C++의 Interface 기능은 원래 공식적으론 존재하지 않았으나 C++20이후 개념(concept)이라는 새로운 기능이 추가되며 좀 더 명확하지만 제한적으로 이용할 수 있다. 따라서 이전버전의 라이브러리나 언어를 사용한다면 제약이 생긴다. Document 상위항목: interface, 순수 가상 함수, 다형성, 다중 상속 Inte...

C++_iostream-INOUT

C++_iostream-INOUT

IN / OUT cin scanf. cin >> txt cout printf. cout << txt 사용 줄줄이 소세지 마냥 붙여도된다. %d 등 사용X #include <iostream> int main() {     int Age;     float Hig;     std::cout << "나이(만), ...

PiNas_ROS_05_NAS_설정하기

PiNas_ROS_05_OMV설치

PiNas 네트워크 설정 PiNas 전체 목록 링크 23년 10월 30일. OpenMediaVault(이하OMV)를 설치하려고 했었다. OpenMediaVault 설치하기 현재 Debian Linux 12(bookworm)은 OMV6(최신버전)이 안된다. [omvinstall] Unsupported ...

JetsonNano OS 설치하기

JetsonNano OS와 환경설정

개발보드는 종류가 참 많다. 아두이노같은 진짜 장난감용 보드부터 Intel NUC같은 산업용 PC까지 정말정말 많다. 그 중 젯슨보드를 사용해 보려 한다. 젯슨보드는 CUDA언어를 사용하는 보드로 그래픽카드를 활용해 AI분석에서 강세를 보인다. 어찌저찌 몇 개를 업어왔고 생긴 김에 갖고 놀다 좀 익숙해지면 토이프로젝트를 진행해보려 한다. 0. 준비물...

JetsonNano SSH VSCode연결하기

JetsonNano SSH VSCode연결하기

작업할 때 마다 PuTTY로 연결하면 번거롭다. VSCode와 Jetson보드 SSH를 연결하자. 0. 확장자 설치 VSCode의 확장자 Remote-SSH 를 설치하자. 자세한 제원은 링크 확인. 사실 VSCode 돌아가면 거의 다 된다. 1. SSH 설정 설치를 완료하면 좌측 탭에 Remote Explorer 라는 아이콘이 생성된다. 클...

150W CO2레이저 렌즈와 미러

150W CO2레이저 렌즈와 미러

얼마 전 사무실의 150w 레이저커터가 나갔다. 살펴보니 미러가 나간 줄 알고 미러를 주문했는데 확인해보니 미러는 그을음만 껴있고 렌즈가 나갔더라.. 살펴봤을땐 미러에 금이 보였었다고…ㅠㅠ 하단이 미러, 상단이 렌즈. 어차피 미러도 같이 나갔다. 6년 쓰며 렌즈나간건 첨 보는지라 적지않게 놀랐다. 우리가 사용하던게 아니라 손님이 사용하다 나간거...

PiNas_ROS_04_네트워크_설정하기

PiNas_ROS_04_네트워크_설정

PiNas 네트워크 설정 PiNas 전체 목록 링크 23.10.29 작성 23.10.30 수정 23.11.02 OMV 설정 변경으로 포트, 이름 등 수정 4. Raspberry Pi 4 + NetWork 이번엔 네트워크 관련 설정들을 진행 해보자. 참고로 만약 ipTime 공유기 비번이 초기 설...

부동 소수점 연산- 왜 0.1을 100번 더하면 10이 아닐까?

부동 소수점 연산- 왜 0.1을 100번 더하면 10이 아닐까?

코딩을 하면 변수 타입을 지정한다. 이 때 실수를 지정하는 타입은 float, double 이 두 가지가 존재한다.(C기준) float는 4바이트(32비트) 표현, double은 8바이트(64비트)로 표현된다. double의 정확도가 더 높지만 더 큰 범위와 더 정확한 연산으로 리소스 소모가 더 심해 보통은 float를 우선적으로 사용한다. 소수점...

HTTP 메시지

HTTP 메시지

이어서 HTTP 메시지란 HTTP 메시지는 응답 혹은 요청시에 서버-클라이언트 간의 대화라고 생각하면 편하다. 응답과 요청 메시지의 구조는 다르다. 참고 구조는 시작 헤더 공백(CRLF) 메시지 로 이루어져있다. 시작라인 매우 단순한 구조로 손쉬운 확장이 가능하다. 요청 메시지 GET /search?q=helloWor...

GCP + Github 연동하기

GCP + Github 연동하기

이전포스트: GCP 설정하기(Spark 설치하기) GCP 설정이 완료되었다. 작업한 프로젝트를 GCP에서 불러와보고 싶어졌고 이를 위해 Github 연결을 해야한다. 1. 터미널에 Git 설치하기 sudo apt-get update -y sudo apt-get upgrade -y sudo apt install git git --versi...

C++_Namespace

C++_Namespace

코드 그룹화. :: (연산자) Scope resolution Operator 네임::함수명 1. namespace A {     void function()     {         int function1 = 1;         std::cout << function1;     } } namespace B {     void funct...

HTTP의 특징

HTTP의 특징

이어서 HTTP(Hypertext Transfer Protocol): 웹 페이지와 서버의 통신을 위한 프로토콜의 한 종류. 요청과 응답을 위주로 한다. 지금은 인터넷의 거의 모든 것을 HTTP 메시지에 담아 주고 받는다. HTML, IMG, 음성, API, 서버 간 데이터 이동 등등등. 서버도 TCP으로 직접 연결하는 경우는 거의 없다. 1. HT...

토이프로젝트)PiNas_03_하드연결

PiNas_ROS_03_HDD in Raspbian

PiNas 하드 드라이브 설정 참고) 굳이 안해도 OMV쓰면 내부에서 해결 가능 PiNas 전체 목록 링크 23.10.16 작성 23.10.16 - 구매 23.10.17 - 작성 23.10.19 - 케이블 받음 3. Raspberry Pi 4 + HDD 1. HDD 준비하기 사용 하려는 HDD 는 SATA...

Ubuntu update와 upgrade의 차이

Ubuntu update와 upgrade의 차이

Ubuntu 사용 중 sudo apt-get update 와 sudo apt-get upgrade 를 사용했다. 이 둘은 무슨 차이일까? apt-get 명령어 패키지 관리 명령어. apt(Advanced Package Tool) 는 리눅스 파생 배포판들의 패키지를 설치/업데이트/삭제 등 명령한다. 즉 소프트웨어 관리 명령어. 뒤에 여...

GCP 설정하기

GCP 설정하기(Spark 설치하기)

Google Cloud Platform의 VM 머신에 Spark를 설치하는 과정을 정리한다. 23.10.17 작성 0. 프로젝트 생성 만약 새롭게 시작한다면 프로젝트 생성부터 시작한다. 프로젝트 탭을 열어 새 프로젝트를 생성한 후 이름을 지어주고 만들기 단, 이름은 이후 수정이 불가하다. 이후 과정은 새로운 프로젝트 내부에서...

토이프로젝트)PiNas_02_SSH 설정하기

PiNas_ROS_02_SSH 연결

PiNas 라즈베리 파이 SSH 연결 PiNas 전체 목록 링크 23.10.16 작성 2. 라즈베리 파이 라즈비안 SSH 연결 1. sudo 설정 root계정의 비번부터 설정하자. ~$sudo passwd root 바꿀 PW입력 루트계정으로 전환 su root 이제 root 계정으로 접속했...

PostgreSQL ERROR

ERROR- IMPORT CSV(Permission denied SQL state 42501)

SQL 간이 테스트 중 CSV 파일 IMPORT를 안했어서 시도했다 오류 수정하느라 실패했다. 급한 마음이 원인이었어서 좀 허무한데 잊지 않기 위해 기록 Permission denied SQL state 42501 환경설정을 완료하지 않고 CSV 파일을 IMPORT 하면 해당 오류가 나온다. 따라서 환경설정 File > Prefe...

SQL개념- 컬럼값 제한(무결성, 제약)

SQL개념- 컬럼값 제한(무결성, 제약)

SQL을 배우는 중. 2023-10-13. 금요일 TOOL: PostgreSQL DB작업을 하다보면 잘못 된 정보를 INSERT 하거나 DELETE 할 수 있다. 이를 방지하기 위해 조건을 걸어보자 무결성(Integrity) 제약조건 무결성이란 데이터 베이스에 신뢰할 수 없는 데이터 수정을 못하도록 제약하는 조건 이다. 즉 데이터베이스의 ...

URI와 웹 브라우저의 흐름

URI와 웹 브라우저의 흐름

이어서 URI(Uniform Resource Identifier: 통합 자원 식별자) Uniform: 리소스를 식별하는 통일 된 방식 Resource: 자원. 영상, 이미지, 소리, 텍스트 등 제한이 없다. Identifier: 구별을 위한 정보 한 줄로 인터넷 세상의 어엄청 많은 자원을 식별하는 정보 라는 뜻이다. URI / URL / U...

토이프로젝트)PiNas_01_준비하기

PiNas_ROS_01_준비하기& OS 설치

PiNas 재료 준비 OS 설치 PiNas 전체 목록 링크 1. 파이나스 준비, OS 설치 1. 재료 라즈베리파이 4 8GB(당근) 케이블) HDMI to microHDMI(집) 케이블) Lan(집) 케이블) 5V 3A C타입 충전기(다이소) 16gb microSD Card(집) 1TB HDD(집...

SQL실습- 식품배송 데이터 분석

SQL실습- (관계찾기)식품배송 데이터 분석

사용 데이터 Instacart Market Basket Analysis 이번에는 식품 배송 관련 데이터를 모아, 여러 특성을 분석 할 것이다. 문제: 식품배송 데이터 분석 문제는 세 가지다. 지표 추출 포스트 구매자 특성 분석포스트 다음 구매까지의 소요기간과 재구매 관계포스트 식품처럼 신선도가 중요한 제품 같은 경우는 이전 자...

SQL실습- 식품배송 데이터 분석

SQL실습- (10분위 분석)식품배송 데이터 분석

사용 데이터 Instacart Market Basket Analysis 이번에는 식품 배송 관련 데이터를 모아, 여러 특성을 분석 할 것이다. 문제: 식품배송 데이터 분석 문제는 세 가지다. 지표 추출 포스트 구매자 특성 분석포스트 다음 구매까지의 소요기간과 재구매 관계포스트 식품처럼 신선도가 중요한 제품 같은 경우는 이전 자...

SQL실습- 식품배송 데이터 분석

SQL실습- (지표 추출)식품배송 데이터 분석

사용 데이터 Instacart Market Basket Analysis 이번에는 식품 배송 관련 데이터를 모아, 여러 특성을 분석 할 것이다. 문제: 식품배송 데이터 분석 문제는 세 가지다. 지표 추출 포스트 구매자 특성 분석포스트 다음 구매까지의 소요기간과 재구매 관계포스트 식품처럼 신선도가 중요한 제품 같은 경우는 이전 자...

Internet개념 - 인터넷 네트워크란

Internet개념 - PORT, DNS

이전포스트에서 TCP와 UDT는 PORT를 사용해 IP의 한계를 보완한다 했다. PORT란 뭘까? PORT 만약 내가 하나의 PC로 카톡도 하고, 줌 연결도 하고, 유튜브도 보면 TCP/IP는 통신을 어떻게 구분할까? 카톡 채팅이 줌 채팅으로 안가고, 유튜브의 내용이 줌으로 전송되지 않으려면 각 어플리케이션마다 고유한 주소가 있어야 하는데, 이를 P...

SQL실습- 텍스트 리뷰 분석하기

SQL실습- 텍스트 리뷰 분석하기

SQL 문법을 몇 가지 살펴봤었다. 문제를 풀어보자. 문제: 텍스트 리뷰 분석하기 쇼핑몰에서 옷을 구매하면 리뷰를 작성할 때도 있다. 만족스러워서 작성할 때도 있지만, 아닌 경우도 있다. 이번엔 만족도가 낮은 리뷰 중 어떤 연령대의 어떤 품목이 어떤 불만이 있는지 확인해보자! 사용하는 데이터는 케글데이터 중 Dataset2 이다. 전체 플...

Internet개념 -w 인터넷 네트워크란

Internet개념 - 인터넷 네트워크란

인터넷 네트워크는 전 세계적으로 연결된 컴퓨터 네트워크의 집합을 의미한다. 사실 21세기를 청년층으로 살면 인터넷을 모르는게 더 어렵겠지만, 인터넷을 정의할 수 있는 사람은 얼마나 될까. 이번엔 웹개발 공부를 위해 인터넷 네트워크에 대해 공부해보려 한다. 0. 서론_인터넷의 통신 만약 두 대의 PC가 서로 통신하려면 어떻게 해야할까? 바로 옆에 ...

SQL실습- Retention Rate(재구매율) 구하기

SQL실습- Retention Rate(재구매율) 구하기

SQL 문법을 몇 가지 살펴봤었다. 문제를 풀어보자. 문제: 국가 별 재구매율 구하기 재구매율은 특정 기간 동안 이전에 구매한 고객이 다시 제품이나 서비스를 구매하는 비율을 나타낸다. 일반적으로 재구매율은 특정 기간 동안의 재구매 건수를 전체 구매 건수로 나눈 후 백분율로 계산한다. 사용하는 데이터는 MYSQL SampleDATA 이다. 전...

SQL실습- Churn Rate 구하기(비활동 비율 구하기)

SQL실습- Churn Rate 구하기(비활동 비율 구하기)

SQL 문법을 몇 가지 살펴봤었다. 문제를 풀어보자. 문제: 전체 고객 중 비활성 고객 비율 구하기 Chrun은 비즈니스 용어로, 기존 고객이 더 이상 회사의 제품이나 서비스를 이용하지 않고 떠나는 현상을 나타냄. 즉, 고객 이탈 또는 고객 유실을 의미함 따라서 최근구매일 과 특정일 의 차이가 일정 기간을 넘어가면 비활성고객 으로 판단하는 ...

SQL개념- 테이블 CRUD

SQL개념- 테이블 CRUD

SQL을 배우는 중. 2023-10-05. 목요일 TOOL: MYSQL CREATE TABLE 테이블 생성 Schema 생성 후 테이블이 없거나 특정 테이블을 생성할 때 사용한다. CREATE TABLE IF NOT EXISTS 테이블명(컬럼명 + 데이터타입); MySQL 데이터 타입은 참고 CREATE TABLE IF NOT EX...

SQL개념- 기본문법, 집계함수

SQL개념- 기본문법, 집계함수

SQL을 배우는 중. 2023-10-05. 목요일 TOOL: MYSQL SQL 테이블 조회하기 SQL에 쿼리된 스키마를 읽는다. SELECT [열 이름] FROM [스키마명].[테이블]; -- 조회하기(전체) -- 스키마 포함 명시하는 방법 SELECT * FROM classicmodels.payments; -- 스키마 통일하는 ...

SQL개념- WHERE문

SQL개념- WHERE문

SQL을 배우는 중. 2023-10-05. 목요일 TOOL: MYSQL SQL WHERE 문 SQL에서 원하는 데이터를 필터링 하는 방법 WHERE 뒤에 조건을 붙이고, 조건을 만족하는 행을 추출한다. WHERE - 비교 연산 SELECT [열 이름] FROM [테이블명] WHERE [조건] 조건: ‘=’, ‘!=’, ‘<...

AWS 사용해 장고 배포하기

AWS 사용해 장고 배포하기

2023년 09월. Django로 머신러닝 결과물을 서비스 하고 그래프 그리는 프로젝트를 하고 있다. 문제는 장고 프로젝트를 만들었는데, 로컬에서만 볼 수 있다. 지원받은 AWS 서비스 키를 활용해 서비스를 배포해 보려고 한다. 이 포스트는 AWS 서비스 키를 이미 가지고 있다고 가정하고 작성한다. 서비스 키를 받는 방법에 관한 포스트는 추후 ...

AWS EC2 이해하기

AWS EC2 이해하기

2023년 09월. Django로 머신러닝 결과물을 서비스 하고 그래프 그리는 프로젝트를 하고 있다. 그러던 중 배포를 위한 AWS의 EC2 서비스 키를 제공받았다. AWS는 무엇이고, 그 중 EC2는 무엇이길래 서비스를 웹으로 배포할 수 있을까? .230927 초안작성 ~ 전체 개요 AWS란? AWS vs Google C...

Django CSV 읽기 - Python+Pandas

Django CSV 읽기 - Python+Pandas

2023년 09월. Django로 머신러닝 결과물을 서비스 하고 그래프 그리는 프로젝트를 하고 있다. 그러던 중 CSV의 데이터를 받아 사용자가 선택할 수 있도록 리스트를 띄워야 하는 상황이 되었다. 우선 DB에 CSV 데이터를 넣고 HTML Datalist 로 띄울 생각이었다. 그래서 열심히 구글링을 했고 열라 많은 자료들 사이에서 마음에 들었...

Django CSV 읽기 - SQLite3

Django CSV 읽기 - SQLite3

2023년 09월. Django로 머신러닝 결과물을 서비스 하고 그래프 그리는 프로젝트를 하고 있다. 그러던 중 CSV의 데이터를 받아 사용자가 선택할 수 있도록 리스트를 띄워야 하는 상황이 되었다. 우선 DB에 CSV 데이터를 넣고 HTML Datalist 로 띄울 생각이었다. 그래서 열심히 구글링을 했고 열라 많은 자료들 사이에서 마음에 들었...

Django 에서 환경 관리하기 - Django_Environ

Django 에서 환경 관리하기 - Django_Environ

Django Environ Documentation 장고 프로젝트를 시작하면 기본 settings.py 내부에 이런 코드가 들어있다. # settings.py SECRET_KEY = 'SECTRET KEY' Django에서 서버를 동작할 때 사용하는 비밀 키가 들어있는데, 문제는 해당 프로젝트를 github에 업로드 하면 너도나도 모두가 비밀...

HTTP Method(Get,Post)

HTTP Methods(Get,Post)

HTTP 요청 메서드 GET 과 POST 가 자주 눈에 띈다. HTTP 메서드엔 어떤 종류가 있고 어떤 일을 할까. 23.08.05 - 시작 23.08.10 - GET/POST 구분 01 23.08.31 - 이동 23.10.24 - 수정 및 추가 23.10.30 - 내용 보강, 수정 1. HTTP 에서 Request Methods 의 역할...

GitBlog Error - Jekyll 코드 블록 수행 문제

GitBlog Error - Jekyll 코드 블록 수행 문제

어김없이 블로그 에러가 나왔다. 오늘의 에러는 에러 Markdown 내부에 Django등 템플릿 엔진의 동적 HTML 제어문 {\%\ load static(.css 파일명) \%\} 등을 입력하면 Jekyll 에서 문자열이 아닌 코드로 인식해 랜더 하려는 에러 이다. 에러 코드는 하단과 같다. {% load static(.css 파일명)...

HTTP와 CSS 기본02

HTML과 CSS 기본02

01은 정리 안했다!! HTML 파일 수정과 BootStrap 연결 Google Fonts 적용 HTML 파일을 CSS+HTML로 분리하기 CSS 간단 핵심 1. HTML 파일 수정과 BootStrap 연결 BootStrap-QuickStart-링크 모든...

문자열 에러(django-environ 충돌)

문자열 에러(django-environ 충돌)

어제 Django-environ 을 설정했었다. 그로 인한 에러 발생 멀쩡하던 문자열 인식 에러 발생 인자 오류 로, 원래 멀쩡했던 DB 관련 코드 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', '...

GitBlog Error - Local vs Web

GitBlog Error - Local vs Web

8월 24일 이래저래 다사다난한 에러를 뚫고 드디어 깃허브블로그를 개설했었다!! 라는 희망이 피던 찰나 또 다른 에러들을 만났다… 이 포스트는 다른 사람들이 만약 나와 같은 문제를 겪는다면 구글링을 할 수고를 줄여주고 싶어 작성한다. 본 블로그는 Chirpy Jekyll Theme 을 사용한 블로그다. Ruby : 3.2.2 Jekyll ...

MTV vs MVC

MTV vs MVC

웹 개발을 처음 배우면 MTV 혹은 MVC 라는 말이 참 많이 나온다. 이게 뭐길래 자꾸만 말이 나오는걸까. 많고 많은 디자인 패턴들 중 많이 쓰이는 MTV /MVC 패턴에 대해 알아보고자 한다. 1. MTV / MVC 란? 1-1. 웹 개발 디자인 패턴 이 세상엔 참 많은 웹 개발 디자인 패턴이 존재한다. 애초에 [웹 개발 디자인 패턴...

Dataset의 구조와 이해

머신러닝을 배우기 위해 Scikit-Learn 라이브러리를 공부하고 있다. 해당 라이브러리에는 기본으로 제공하는 Dataset들이 있는데 처음 보는 구조이다. 어떤 구조이길래 머신러닝에 적합한지, 또 인자는 어떤 식으로 구성되어있는지 알기 위해 이 글을 작성한다. 이미지 테스트중중중 테스트1 : 깃 링크 테스트2...

Test Page 1ST

개요 본문 내용1 내용2 마무리 참고