전체 글26 MSSQL의 SELECT, DROP, DELETE, TRUNCATE 사용법 예시 SELECT 구문 ■ SELECT 구문은 데이터베이스에서 데이터를 검색하기 위해 사용됩니다. 특정 테이블에서 원하는 열을 선택하거나, 특정 조건을 만족하는 행을 검색하는 데 사용됩니다. SELECT column1, column2, ... FROM table_name WHERE condition; DROP구문 ■ DROP 구문은 데이터베이스에서 테이블, 뷰, 인덱스 등의 개체를 삭제하는 데 사용됩니다. DROP 구문은 다음과 같은 형식을 가집니다: DROP TABLE table_name; table_name은 삭제할 테이블의 이름입니다. DROP 구문을 사용하면 해당 개체와 관련된 모든 데이터도 함께 삭제됩니다. DELETE구문 ■ DELETE 구문은 데이터베이스에서 테이블의 행을 삭제하는 데 사용됩니다... Database/MSSQL 2023. 5. 20. MSSQL의 ODBC 데이터 연결방법을 알아보자 ODBC 데이터 연결을 통한 Database 관리 방법 Path : 제어판\모든 제어판 항목\Windows Tools ▣ Name : 특정 명칭을 생성 → C++ 코드에 해당 특정 명칭을 추가해서 접근한다. ▣ Server : Database 생성 IP With SQL Server authentication using a login ID and password entered by the user을 통해 Login ID와 Password를 C++ 코드에 추가해서 Database에 접근한다. MSSQL에 특정 Database를 생성하면 Change the default database to : 에 특정 Database 명이 뜬다. 이때 특정 Database를 선택하면 된다. 참고 문헌 ▣ ODBC 데이터 원.. Database/MSSQL 2023. 4. 21. 레이저 포인터(White Line) Detection을 통한 실시간 영상 처리(Just-In-Time) 시스템 개발 일지를 남기며 20~22년 석사 졸업, 22년 대기업 연구직 취뽀. 그런데 막상 돌이켜보니까 22년에 업무로 뭘 했는지 기억이 안나네, 그래서 아 주기적으로 기록을 남겨야겠다라고 마음먹고 이렇게 글을 쓰게 되었다. 이런게 있어야 나중에 이직하더라도 자기소개서에 쓸 내용이 있지 아니면 물경력 될 듯. 요즘 평생 직장 없듯이 언제든 좋은 환경의 근무지, 높은 연봉 제안을 받으면 빠른 이직 시대에 맞게 언제든지 내가 무엇을 했고, 무엇을 느꼈으며, 그 과정에서 무엇을 배웠는지 남겨야 겠다고 생각한다. 23년 1월 ■ 현장에 설치된 레이저 포인터(White Line) Detection 과정을 수행하는 시스템 개발 프로젝트 착수 ■ C# 또는 C++ language 선택 필요했다 (결론은 C++ 선택). → 초당.. 쉽코딩(@swipcoding) 2023. 4. 20. C++ OpenCV Visual studio에서 사용하기 위한 기초 "환경 설정"하는 방법 알아보자 OpenCV에 대한 각각의 설명은 새로운 카테고리인 영상처리(OpenCV) 에서 다뤄질 예정입니다. OpenCV OpenCV(Open Source Computer Vision Library)는 오픈 소스 컴퓨터 비전 및 기계 학습 소프트웨어 라이브러리입니다. 처음에는 Intel에서 개발했으며 나중에는 개발자 커뮤니티에서 유지 관리했습니다. 라이브러리는 이미지 캡처 및 처리, 이미지 분석, 다양한 컴퓨터 비전 알고리즘 구현과 같은 이미지 및 비디오 처리와 관련된 다양한 작업을 돕기 위해 설계되었습니다. OpenCV는 C++로 작성되었으며 C++, Python, Java 등을 포함한 다양한 프로그래밍 언어에 대한 인터페이스가 있습니다. C++에서 OpenCV를 사용하면 기본적으로 이 언어로 구현되므로 라이브.. C++/C++ 적용 예제 2023. 3. 20. 복잡한 버전 : C++ 세마포어(semaphore) 및 멀티-스레딩(multi-thread)을 사용한 병렬 처리에 대해 알아보자 C++ 멀티스레딩(multi-thread) 기본 개념: 세마포어(semaphore)와 while() loop를 사용한 프로세스 병렬 처리 멀티스레딩은 여러 실행 스레드가 단일 프로세스 내에서 동시에 실행될 수 있도록 하는 프로그래밍 개념입니다. 스레드는 프로세스 내에서 가장 작은 실행 단위이며 가볍고 독립적인 명령 시퀀 easycode.tistory.com → 해당 글과의 차별점 : 본 thread의 포스팅의 경우 총 5가지 thread로 확장했으며, 각 thread는 단일 반복이 아닌 16번의 반복 처리 리 과정을 거칩니다. 또한, header_v1.h 파일의 구조체를 통해 각 thread의 매개변수로 구조체를 선언했으며, 각 thread가 연산 처리 후 해당 구조체 변수에 저장할 수 있는 type으로.. C++/C++ 적용 예제 2023. 3. 20. C++ 멀티스레딩(multi-thread) 기본 개념: 세마포어(semaphore)와 while() loop를 사용한 프로세스 병렬 처리 이해하기 Multi-threading 멀티스레딩은 여러 실행 스레드가 단일 프로세스 내에서 동시에 실행될 수 있도록 하는 프로그래밍 개념입니다. 스레드는 프로세스 내에서 가장 작은 실행 단위이며 가볍고 독립적인 명령 시퀀스로 생각할 수 있습니다. 각 스레드는 자체 스택 및 프로그램 카운터를 갖지만 동일한 프로세스의 다른 스레드와 메모리 및 파일 핸들과 같은 동일한 주소 공간 및 리소스를 공유합니다. 멀티스레딩의 기본 개념은 여러 작업 또는 작업의 일부를 동시에 실행하여 애플리케이션의 성능과 응답성을 향상시키는 것입니다. 스레드가 여러 코어에 분산되어 병렬로 실행될 수 있으므로 이는 여러 CPU 코어가 있는 시스템에서 특히 유용할 수 있습니다. 멀티스레딩과 관련된 몇 가지 주요 개념은 다음과 같습니다. 동시성(Co.. C++/C++ 적용 예제 2023. 3. 20. C++ IPC(프로세스 간 통신) 완벽 정리 : 공유 메모리 및 Windows 세마포어(semaphore)와 멀티-스레드(multi-thread) 동기화하는 방법을 알아보자 [예시 코드 첨부] [데이터 전송 구성도] 서버(server_v2.cpp) ↔ 클라이언트(client_v4.cpp) → 다른 프로젝트/프로세스(BasicThread_v0.cpp) □ 서버와 클라이언트 : TCP/IP 송수신 □ 클라이언트와 다른 프로젝트/프로세스 : 공유 메모리(Shared Memory) 꼭 읽으면 좋은 글 본 포스팅이 어렵다면, 아래 링크의 포스팅을 공부하면 쉽게 이해할 수 있습니다. 1. TCP/IP 기초: https://easycode.tistory.com/19 3. TCP/IP 중급: https://easycode.tistory.com/20 4. TCP/IP 고급: https://easycode.tistory.com/21 5. 공유 메모리 : https://easycode.tistory.com/23 .. C++/C++ 적용 예제 2023. 3. 19. C++ Windows 공유 메모리(Shared Memory) 사용 가이드 완벽 이해 : 프로세스 간 데이터 공유에 대한 종합 가이드 다양한 공유 메모리(Shared Memory) 공유 메모리는 여러 프로세스가 데이터를 읽고 쓰기 위해 공통 메모리 공간에 액세스하고 공유할 수 있도록 하는 IPC(프로세스 간 통신) 방법입니다. C++에서 공유 메모리는 다양한 라이브러리와 메커니즘을 사용하여 얻을 수 있습니다. 여러 프로세스 또는 스레드가 함께 작업하여 문제를 해결하거나 작업을 보다 효율적으로 수행하는 병렬 프로그래밍에서 특히 유용합니다. ▶ Memory mapping: C++는 파일의 일부 또는 전체 파일을 프로세스의 가상 주소 공간에 매핑할 수 있는 메모리 매핑된 파일을 지원합니다. 이 기술은 동일한 파일을 주소 공간에 매핑하여 프로세스 간에 메모리를 공유하는 데 사용할 수 있습니다. Boost.Interprocess 라이브러리 또는.. C++/C++ 적용 예제 2023. 3. 19. C++ Sleep() 및 SetTimer() 함수를 사용하여 TCP/IP 네트워크에서 안정적인 시간(Time) 지정 통신 구현을 알아보자 프로그램 작업에는 여러 가지 이유로 sleep() 및 settimer()와 같은 컨트롤이 필요합니다. 1. Timing control : 경우에 따라 프로그램은 다음 작업을 실행하기 전에 일정 시간 동안 대기해야 합니다. 예를 들어 메인 메뉴를 표시하기 전에 몇 초 동안 시작 화면을 표시하는 프로그램입니다. 2. Asynchronous execution : 경우에 따라 프로그램은 여러 작업을 동시에 또는 특정 순서로 실행해야 합니다. 예를 들어 백그라운드에서 장기 실행 작업을 수행하는 동안 진행률 표시줄을 업데이트하는 프로그램입니다. 3. User experience : 경우에 따라 프로그램은 사용자가 메시지나 프롬프트를 읽거나 반응할 수 있도록 일정 시간을 제공해야 합니다. 예를 들어 자동으로 닫히기 .. C++/C++ 적용 예제 2023. 3. 12. C++ TCP/IP를 사용한 반복(While문 활용) 데이터 전송 : 단계별(Step by Step) 가이드 완벽 정리(feat. 구조체 활용) [잠깐만~] 본 포스팅을 공부하기 전에 TCP/IP 기반 Server/Client 구조를 모르면 Line by Line으로 코드가 설명된 아래의 포스팅을 먼저 공부하고 오세요. 본 포스팅의 아래 포스팅의 upgrad 버전이기 때문에 Line by Line으로 코드 설명이 없습니다. C++ TCP/IP 가장 단순한 소켓 통신 네트워크 구현 - Server / Client (feat. 식당 주문 받기에 비유해보자) 소켓통신 구현 소켓 통신은 네트워크에서 실행되는 둘 이상의 프로세스 간에 데이터 교환을 허용하는 IPC(프로세스 간 통신) 방법입니다. 소켓은 네트워크의 두 프로세스 간의 통신을 위한 끝점 easycode.tistory.com 서버/클라이언트 데이터 반복적으로 주고받기 TCP/IP 통신은 서버와 .. C++/C++ 적용 예제 2023. 3. 12. C++ TCP/IP 가장 단순한 소켓 통신 네트워크 구현 - Server / Client (feat. 식당 주문 받기에 비유해보자) 소켓통신 구현 소켓 통신은 네트워크에서 실행되는 둘 이상의 프로세스 간에 데이터 교환을 허용하는 IPC(프로세스 간 통신) 방법입니다. 소켓은 네트워크의 두 프로세스 간의 통신을 위한 끝점이며 IP 주소와 포트 번호의 고유한 조합으로 표시됩니다. 소켓 프로그래밍에서 프로세스는 소켓 API를 사용하여 네트워크를 통해 데이터를 송수신합니다. 데이터를 보내려는 프로세스는 소켓을 생성하고 수신 프로세스의 IP 주소와 포트 번호를 지정하고, 데이터를 받으려는 프로세스는 소켓을 생성하고 자신의 IP 주소와 포트 번호를 지정합니다. 소켓에는 두 가지 주요 유형이 있습니다. ▶ 스트림 소켓 (연결 지향형): TCP(전송 제어 프로토콜) 소켓이라고도 하며 안정적인 스트림 지향 연결을 제공합니다. ▶ 데이터그램 소켓 (비.. C++/C++ 적용 예제 2023. 2. 19. [되돌아 보며] C++의 꽃이라고 불리는 포인터(pointer, *), 레퍼런스(reference, &) 기본 개념을 되돌아보자. '되돌아보며'가 필요한 이유 객체지향 초급 편에 들어가기 앞서 C++의 꽃이라고 불리는 포인터, 레퍼런스 개념을 다시 한번 짚고 넘어가겠습니다. 자바(JAVA), 파이썬(Python), C#(CSharp) 과는 다르게 메모리 할당을 직접적(수동적)으로 Contorl 할 수 있다는 장점이 있습니다. → 물론, 잘했을 경우에만 해당됩니다. 잘못했을 경우 잘못된 메모리 할당으로 누수가 생길 수 있습니다. 메모리 할당을 직접적으로 Control 할 수 있다면 좋은 것은 바로 'Process 속도 향상'입니다. 그래서 영상 처리와 같이 Just in Time Process의 경우 C#, Python, JAVA와 같은 언어를 사용하기보다는 공유 메모리 및 Thread 연산을 통해 연산 처리 속도를 높이는 작업이 주.. C++/객체지향 초급편 2023. 1. 30. 이전 1 2 3 다음