Programming 324

TCP와 UDP와 IP 프로토콜

TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 인터넷 프로토콜 스위트의 두 가지 중요한 전송 프로토콜입니다. 다음은 TCP와 UDP의 주요 특징과 차이점을 자세히 설명한 것입니다: 1. TCP (Transmission Control Protocol): - 연결 지향적 프로토콜: TCP는 연결을 설정하고 유지하는 데 중점을 둔 연결 지향적인 프로토콜입니다. - 신뢰성: 데이터의 전달 신뢰성을 보장하기 위해 순차적이고 에러 검출 및 복구, 재전송 등의 메커니즘을 사용합니다. - 흐름 제어: 송신 측과 수신 측 간의 데이터 흐름을 조절하여 송신 측의 데이터 속도를 수신 측의 처리 속도에 맞추는 기능을 제공합니다. - 혼잡 제어: 네트워크 혼..

Programming/etc 2023.06.20

웹 서버(WS)와 웹 어플리케이션 서버(WAS) 비교

웹 서버와 웹 어플리케이션 서버(WAS)는 웹 애플리케이션의 서비스를 위해 사용되는 두 가지 주요 컴포넌트입니다. 다음은 각각의 특징과 역할에 대한 자세한 설명입니다: 1. 웹 서버(WS): - 역할: 웹 서버는 클라이언트로부터 HTTP 요청을 받아들이고, 해당 요청에 대한 정적인 컨텐츠를 제공합니다. - 정적인 컨텐츠: 웹 서버는 HTML, CSS, JavaScript, 이미지 파일 등과 같은 정적인 파일을 제공하는 데 주로 사용됩니다. - 기능: - 정적 파일 서비스: 웹 서버는 클라이언트로부터 요청된 정적 파일을 응답으로 제공합니다. - 기본적인 보안 기능: 웹 서버는 기본적인 보안 기능(예: SSL/TLS 암호화)을 제공할 수 있습니다. - 부하 분산: 웹 서버는 여러 대의 서버로 로드를 분산시키..

Programming/etc 2023.06.20

애자일(Agile) 방법론

# 애자일 방법론 소프트웨어 개발 프로젝트를 위한 반복적이고 협업 중심의 접근 방식입니다. 애자일은 변경에 유연하게 대응하고 고객의 요구사항을 빠르게 수용하기 위해 계획 대신 협력, 적응, 반복을 강조합니다. 주요한 애자일 방법론으로는 스크럼(Scrum), 익스트림 프로그래밍(XP), 칸반(Kanban) 등이 있습니다. 주요 특징과 원칙: 1. 반복적인 개발: 애자일 방법론은 프로젝트를 작은 반복주기인 스프린트(Sprint)로 나누어 진행합니다. 각 스프린트에서는 소프트웨어를 개발하고 테스트하여 작동하는 제품을 빠르게 제공합니다. 이를 통해 초기 피드백을 받고, 지속적인 개선과 변경을 수용할 수 있습니다. 2. 고객 중심 개발: 애자일은 고객의 요구사항을 중요시하며, 지속적인 고객의 참여와 피드백을 수용..

Programming/etc 2023.06.20

사물인터넷(IoT)

# 사물인터넷(IoT:Internet of Things) 인터넷을 통해 연결되고 상호 작용하는 장치들의 네트워크를 가리키는 용어인 "사물 인터넷" 또는 "IoT"는 현대 사회에서 점점 더 중요한 역할을 하고 있습니다. 사물 인터넷은 전자 기기, 가전 제품, 차량, 건물 및 다른 실제 개체에 센서, 소프트웨어, 네트워크 연결성을 통합하여 이들 사물이 데이터를 교환하고 상호 작용할 수 있도록 만들어 줍니다. 사물 인터넷은 다양한 분야에서 활용되고 있습니다. 가정에서는 스마트 홈 장치가 일상 생활을 향상시키는 데 사용될 수 있습니다. 스마트 조명, 스마트 열쇠, 스마트 화재 감지기 등을 통해 원격에서 조작하거나 감지할 수 있습니다. 스마트 시티 분야에서는 공공 교통, 에너지 관리, 쓰레기 수거와 같은 인프라를..

아두이노(ardoino)/ 아날로그라이트(analogwrite)

# 아두이노 Analogwrite 기본 참조 https://reference.arduino.cc/reference/ko/language/functions/analog-io/analogwrite/ analogWrite() - 아두이노 참조 설명 아날로그 값(PWM 파)을 핀에 출력합니다. LED를 다양한 밝기로 켜거나 다양한 속도로 모터를 돌리는 데 쓸 수 있습니다. analogWrite() 를 호출하면, 해당 핀에 다음 analogWrite() (또는 digitalRead() 또 reference.arduino.cc

우분투(ubuntu)/ git 설치 및 클론 사용

# 기본 참조 https://chucoding.tistory.com/23 [AWS EC2] git 설치 및 연동하기 먼저 다음과 같은 명령어로 현재 우분투 관리하고있는 소프트웨어들을 최신버전으로 업데이트 시켜줍니다. $ sudo apt-get update 업데이트가 끝나면 다음과 같은 명령어로 깃을 설치해줍니다. $ sudo chucoding.tistory.com * 참고로 git을 우분투에서 사용하려면, sudo apt update sudo apt install git 로 시스템에 설치 해주면 된다.

AWS/ EC2/ RDS/ mysql/ django 연동

# 기본 참조 https://sxyzn.tistory.com/82 [AWS] EC2, RDS 를 사용하여 Django 프로젝트 배포하기 열심히 로컬에서 Django 프레임워크를 사용해서 프로젝트를 만들었다. 이것을 로컬환경이 아닌, 인터넷을 통해 다양한 사용자들이 사용할 수 있도록 하고싶으면 어떻게 해야할까? 배포를 하면 된 sxyzn.tistory.com # mysql 워크벤치에서 접근 https://durian9s-coding-tree.tistory.com/15 Workbench 를 통해, AWS RDS에 접속환경 설정하는 방법 Workbench 를 통해, AWS RDS에 접속환경 설정하는 방법입니다. MySQL Workbench를 사용하여 MySQL을 실행하는 Amazon Relational Dat..

아두이노(Arduino)와 라즈베리 파이(Raspberry Pi) 비교

아두이노(Arduino)와 라즈베리 파이(Raspberry Pi)는 둘 다 인기 있는 임베디드 시스템 개발 플랫폼입니다. 그러나 각각의 특징과 용도가 다릅니다. 아두이노는 주로 간단한 프로젝트와 센서 기반 시스템을 구축하는 데에 사용됩니다. 아두이노는 단순하고 사용하기 쉬운 마이크로컨트롤러 보드로, 기본적인 입출력을 제어하고 센서와 통신할 수 있는 핀을 제공합니다. 아두이노는 주로 C/C++ 프로그래밍 언어를 사용하며, 작은 규모의 프로젝트나 학습 목적으로 적합합니다. 라즈베리 파이는 좀 더 강력한 컴퓨팅 기능을 제공하는 싱글 보드 컴퓨터입니다. 라즈베리 파이는 리눅스 기반 운영체제를 실행하며, 다양한 프로그래밍 언어를 지원합니다. 또한 HDMI 포트, USB 포트, 이더넷 연결 등 다양한 입출력 인터페..