전체 글
-
러스트(Rust) 프로젝트 만들기프로그래밍/Rust 2023. 4. 3. 23:39
러스트 프로그래밍 시작을 위한 디렉토리를 생성합니다. 아래 명령어를 순서대로 적어 러스트 프로젝트 경로를 만들고, 해당 경로로 이동합니다. 저 같은 경우 위에 Cmd 를 통해 경로를 만들고, VSCode를 통해 작업했습니다. 1. 소스코드 작성main.rs (Rust Source Code)를 만들고 아래 코드를 입력합니다.fn main() { println!("Hello, world!");}2. 빌드(컴파일) 및 실행rustc main.rs./main3. 실행 결과 확인 자 이제 위에 작성된 전체적인 코드를 분석해보겠습니다.(딱히 분석해볼만한 것도 없지만) println!("Hello, world!");위 짧은 코드 한줄이 이 프로그램의 모든 일을 합니다." " 사이에 존재하는 내용을 화면..
-
Windows Rust 프로그래밍 언어 설치하기프로그래밍/Rust 2023. 4. 3. 23:11
러스트 설치는 간단합니다. https://www.rust-lang.org/learn/get-started Getting startedA language empowering everyone to build reliable and efficient software.www.rust-lang.org위 페이지에 접속을 해서 본인 OS에 맞는 러스트(Rust)를 설치합니다. 저 같은 경우는 Windows 64Bit 러스트를 설치했습니다. 이렇게 설치 과정이 진행됩니다. 설치는 일반적으로 어려움이 없어요.그대로 엔터만 눌러주시면 됩니다 ㅎㅎ ! 이후 cmd 창을 열어 아래 명령어를 작성해서 Rust 설치가 정상적으로 되었는지 확인합니다.cargo --version이렇게 나오면 정상적으로 설치가 완료된겁니다.
-
CORS / Preflight 란 무엇인가?개발 TIP/기타 2023. 3. 12. 22:02
CORS에 대한 이해 🌐CORS (Cross-Origin Resource Sharing)란 웹 브라우저가 사용하는 보안 방식 중 하나로, 다른 도메인에서 자원을 공유할 수 있도록 허용하는 규약입니다. 이전에는 동일 출처 정책(Same Origin Policy)이 적용되어 한 도메인에서 로드한 문서나 스크립트에서 다른 도메인의 자원을 요청할 경우, 보안상의 이유로 브라우저에서 차단되었습니다. 하지만, CORS는 서로 다른 도메인 간의 자원 공유를 허용하여 이러한 문제를 해결할 수 있게 됐습니다. CORS의 구체적인 동작 방식은 HTTP 헤더를 통해 이루어집니다. 웹 애플리케이션에서 다른 도메인의 자원을 요청할 때, 브라우저는 먼저 해당 도메인의 서버에 preflight 요청을 보냅니다. 서버는 이 요청에..
-
GitHub Action을 이용한 Vue.js CI/CD 구축개발 TIP/GIT 2023. 3. 2. 21:56
GitHub Action을 이용한 Vue.js CI/CD 구축Vue.js 개발을 하다보면, 지속적인 통합 및 배포(CI/CD)가 필요합니다. 이를 구축하기 위해서는 다양한 도구들이 있지만, 이번에는 GitHub Action을 이용하여 Vue.js CI/CD를 구축하는 방법을 알아보겠습니다.1. GitHub Action이란?GitHub Action은 GitHub에서 제공하는 지속적인 통합, 배포를 위한 자동화 도구입니다. CI/CD를 위한 다양한 기능들을 제공하며, 또한 다양한 언어와 프레임워크를 지원합니다.2. Vue.js CI/CD 구축하기2.1. workflow 파일 생성하기Vue.js 프로젝트 루트 디렉토리에 .github/workflows 폴더를 생성하고, 그 안에 ci-cd.yml 파일을 생성합..
-
GitHub Action Workflow 전략개발 TIP/GIT 2023. 3. 2. 21:51
😎 GitHub Action Workflow 전략GitHub Action은 GitHub에서 제공하는 CI/CD 도구입니다. 이를 활용하여 빌드, 테스트, 배포 등의 자동화된 작업을 수행할 수 있습니다.Workflow 정의Workflow는 GitHub Action에서 수행하는 작업의 모음입니다. 이 작업들은 하나의 YAML 파일로 정의됩니다. 각 작업은 job으로 정의되며, 여러 개의 job을 하나의 workflow로 연결할 수 있습니다. Workflow는 특정 이벤트(예: push, pull request 등)가 발생할 때 실행됩니다.Workflow 구성Workflow를 구성하는 주요 구성 요소는 다음과 같습니다.NameWorkflow의 이름을 정의합니다. 이름은 유일해야 합니다.OnWorkflow가 ..
-
LANShare 파일 전송 프로토콜 구축 - 재정립토이프로젝트/LANShare 2023. 2. 28. 20:14
지금까지 세 번째 프로토콜을 수정 중입니다...뭔가 억지로 만든 것 같아서, 다음과 같은 프로토콜을 새롭게 정의했습니다.전체 패킷의 크기 정보를 아예 통으로 전달하는 방식입니다.간단히 내가 보내고자 하는 데이터를 정의해보면 다음과 같습니다.명령어 정보 (4바이트)실제 데이터의 길이 (4바이트)실제 데이터 (n 바이트)위의 세 데이터가 "Hello World" (총 11바이트 ANSI 문자열)인 경우,명령어 정보를 담을 공간 4바이트 + 실제 데이터 길이를 담을 공간 4바이트 + 실제 데이터 11바이트를 합하면 총 19바이트입니다. 그리고 이제 총 19바이트를 담을 수 있는 공간을 4바이트 크기로 하나 더 만듭니다.그러면 총 23바이트가 됩니다.위와 같이 보내면, 받는 쪽에서는 가장 먼저 앞의 8바이트 ..
-
🖥️ C++에서 윈도우 프로그램 동시 실행 방지하기프로그래밍/C/C++ 2023. 2. 28. 13:25
C++에서 윈도우 프로그램을 개발할 때 중복 실행을 방지하는 방법 중 가장 간단한 방법은 CreateMutex 함수를 사용하는 것입니다.#include int main(){ HANDLE hMutex; hMutex = CreateMutex(NULL, TRUE, "MyMutex"); if(GetLastError() == ERROR_ALREADY_EXISTS) { MessageBox(NULL, "이미 실행 중입니다.", "알림", MB_OK); return 0; } // 중복 실행이 아닐 때 실행할 코드 작성 ... ReleaseMutex(hMutex); CloseHandle(hMutex); return 0;}위 코드에서 Creat..
-
🧪 프로그래밍 언어 비교 표개발 TIP/기타 2023. 2. 27. 16:39
언어 장점 단점 사용 분야Python문법이 간결하고 가독성이 뛰어나며 다양한 분야에서 사용됨실행 속도가 느리고 GIL(Global Interpreter Lock)로 인한 동시성 처리에 제약이 있음머신러닝, 데이터 분석, 웹 개발 등Java객체지향 프로그래밍이며 안정적이고 보안성이 높음메모리 사용량이 많고 실행 속도가 느림대규모 시스템, 웹 애플리케이션, 안드로이드 애플리케이션 등JavaScript웹 개발에서 필수적이며 동적인 웹 페이지를 만들 수 있음자바스크립트 엔진의 차이로 인한 브라우저 호환성 문제가 있음웹 개발, 클라이언트 사이드 스크립팅 등C++높은 성능을 보장하며 하드웨어 제어에 용이함메모리 누수, 버그가 발생하기 쉬움시스템 프로그래밍, 게임 개발, 임베디드 시스템 등Swift문법이 간결하며 빠..