All Pages
6. GitKraken
6. GitKraken
2024.01.031. git 준비 ① VSCode, workspace 에서 문서를 작성합니다. ② git 으로 관리를 시작합니다. ③ 몇 번의 commit을 진행합니다. 2. GitKraken 연동 ① GitKraken 을 실행하고, Open a repo 클릭 ② Open a Repository 클릭 ③ VScode 의 workspace 경로 선택 ④ 작업중인 git 저장소가 GitKraken 에 연동된 상태를 확인 할 수 있다. workspace: 프로젝트가 진행되는 작업 공간 repository: 프로젝트가 git 으로 관리되었을 때, 변경사항이 저장되는 저장소 branch: git 저장소에 저장되는 변경사항들의 묶음을 식별하는 이름 graph: git 관리 상태를 그래프로 확인 할 수 있다. commit messa..
5. gitignore
5. gitignore
2024.01.031. git 관리에서 특정 파일/폴더를 제외 하는 방법 ① .gitignore 파일을 생성합니다. ② 제외시킬 파일/폴더명을 입력합니다. ③ 제외된 파일/폴더는 변경사항이 있더라도, git 에 반영되지 않습니다. 2. 제외 패턴 공식 문서 Git - gitignore 문서 (git-scm.com) 를 참고하여 학습합니다. # 이렇게 #를 사용해서 주석 # 모든 file.c file.c # 최상위 폴더의 file.c /file.c # 모든 .c 확장자 파일 *.c # .c 확장자지만 무시하지 않을 파일 !not_ignore_this.c # logs란 이름의 파일 또는 폴더와 그 내용들 logs # logs란 이름의 폴더와 그 내용들 logs/ # logs 폴더 바로 안의 debug.log와 .c 파일들 l..
4. git status, add, commit
4. git status, add, commit
2024.01.03요약 0. 변경된 파일 저장하기 파일을 저장하는 것은, git 에 저장하는 것이 아니다. 하지만 git 을 사용하기 위해서 우선 파일이 저장되어야 한다. 1. 변경사항 확인하기 git status 2. 파일과 변경사항 추가하기 git add 3. 저장하기 git commit -m 1. git status git 으로 관리되는 프로젝트의 변경된 사항을 확인합니다 ① workspace에 문서를 작성한다. ② git init 명령어를 통해, workspace 를 git 이 관리할 수 있도록 설정한다. git init ③ git status 명령어를 통해, 작업 변경사항을 확인한다. git status 2. git add . ④ 변경 사항이 있는 파일을 하나씩 git branch 에 add git add ⑤ 변..
3. git init
3. git init
2024.01.021. git 으로 프로젝트 관리 시작 ① workspace(작업공간) 생성합니다. ② 텍스트 문서(title.txt) 파일 하나를 만들고, 아무 문장이나 작성합니다. ③ Ctrl + ` 단축키를 눌러서 터미널을 띄웁니다. ④ 터미널에 명령어 "git init" 을 입력합니다. VSCode 는 git 관련 편의 기능을 제공합니다. git 이 동작하면, VSCode 에서 U(Update) 아이콘과 파일명의 색을 변경하여 알려줍니다. git init 2. git 실행의 이해 ⑤ Files 탐색기를 이용해, workspace(작업공간) 폴더 로 이동합니다. ⑥ 숨긴 파일 보기를 체크합니다. ⑦ 📂.git 폴더가 생성되어 있는 것을 확인할 수 있습니다. 이 폴더는 git init 명령어로 생성된 .git 폴더입니..
2. git, branch 개념 이해
2. git, branch 개념 이해
2024.01.02VS Code & git Setup더보기① VS Code 설정https://basiclike.tistory.com/223 VS Code, C/C++ 환경설정" data-og-description="패키지 시스템, VSCode 공식문서Step 1. Ubuntu에 GCC(C/C++ 컴파일러)설치 더보기우분투에 C/C++ 프로그래밍 언어를 사용하기 위해 GCC 컴파일러와 GDB 디버거를 설치합니다. 개발에 필요한 필수 패키" data-og-host="basiclike.tistory.com" data-og-source-url="https://basiclike.tistory.com/223" data-og-url="https://basiclike.tistory.com/223" data-og-image="https..
3.4 IP 초기화
3.4 IP 초기화
2023.12.01문자열 IP 주소를 네트워크 바이트 순서(빅 엔디안)로 변환 inet_addr( ) vs inet_aton( ) 사용 sockaddr _in struct sockaddr_in { sa_family_t sin_family; // 주소체계(Address Family) uint16_t sin_port; // 16 비트 Port 번호 struct in_addr sin_addr; // 32 비트 IP주소, 빅 엔디안 char sin_zero[8]; // 사용되지 않음 } IP주소 211.214.107.99와 같은 ‘십진수 표현방식(Dotted Decimal Notation)'을 네트워크 바이트 순서의 IP가 변환한다. 방법 1) inet_addr( ) #include in_addr_t inet_addr(cons..
3.3 Network Byte Order (&엔디안)
3.3 Network Byte Order (&엔디안)
2023.12.01Network 네트워크란, : "물리적으로연결되어 있는" 서로 다른 두 컴퓨터가 데이터를 주고 받는 것이다. 주고 받는 데이터는 Byte 단위로 처리되고, bit 단위로 송수신다. bit & Byte 비트란, : 컴퓨터가 데이터를 구성하는 최소 단위는 bit(binary digit)라는 0과 1을 저장하는 2진수 한자리 단위이다. 바이트란, : 컴퓨터가 데이터를 처리하는 최소 단위는 Byte 라는 8bit, 즉 1Byte 단위다. Endianness 엔디안이란, : 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상(Byte)이 저장되는 순서(Byte order) 리틀 엔디언 & 빅 엔디언 개념 정리 링크 1 리틀 엔디언 & 빅 엔디언 개념 정리 링크 2 예시1. Decimal to Binar..
3.1 IP & Port
3.1 IP & Port
2023.12.01전화기에 전화번호라는 유일한 값을 할당하여, "전화기"를 구분합니다. 소켓도 IP와 Port 번호를 할당하여 인터넷 상에서 컴퓨터와 프로그램을 식별합니다. IP Internet Protocol
2.1 socket & protocol
2.1 socket & protocol
2023.11.29protocol: 규약 family: 체계 socket( ) #include int socket(int domain, int type, int protocol) // 성공시 디스크립터 반환, 실패시 -1 반환 // domain : 소켓이 사용할 프로토콜 체계(Protocol Family) 정보 전달 // type : 소켕의 데이터 정보 전달 방식 // protocol : 두 컴퓨터 간에 통신에 사용되는 프로토콜 정보 전달 int domain 프로토콜 체계(Protocol Family) 이름 정의 PF_INET IPv4인터넷 프로토콜 PF_INET6 IPv6인터넷 프로토콜 PF_LOCAL LOCAL 통신을 위한 UNIX 프로토콜 PF_PACKET Low level socket을 위한 인터페이스 PF_IPX..
[Win] Warning C4013 'inet_pton' undefined
[Win] Warning C4013 'inet_pton' undefined
2023.11.29InetPtonW 함수(ws2tcpip.h) - Win32 apps | Microsoft Learn InetPtonW 함수(ws2tcpip.h) - Win32 apps InetPton 함수는 표준 텍스트 프레젠테이션 형식의 IPv4 또는 IPv6 인터넷 네트워크 주소를 숫자 이진 형식으로 변환합니다. 이 함수의 ANSI 버전은 inet_pton. (InetPtonW) learn.microsoft.com InetPton InetPtonW
[Win] winsock
[Win] winsock
2023.11.29소켓 통신 프로그래밍 내부적으로 Socket 표준을 기반으로 조금 더 편리하게 사용하도록 발전된 형태의 라이브러리들에 불과하다. API / 클래스 설명 제공 기능 OS/PL Unix Socket API 네트워크 표준 API Low Level 의 소켓 프로그래밍 TCP, UDP 등 다양한 네트워크에 사용 Unix(+ Ubuntu, Redhat..) Window WinSock2 API Socket API 윈도우 버전 Window(C/C++) C# .NET Sockets WinSock2 API C# 버전 Sockets 닷넷은 WinSock2 API 호출 Window(C#) TcpClient 내부적으로 Sockets 클래스 사용 TCP, UDP 전용 TcpListner UdpClient 윈도우 소켓 실행 흐름 ..
[Win]
[Win]
2023.11.28환경설정 ws2_32.lib 라이브러리 추가 VS2013이상 솔루션 → 프로젝트 → 속성 → 구성 속성 → 링커 → 입력 → 추가 종속성 → ws2_32.lib 추가 Server_Window #include #include #include #include void ErrorHandling(char* message); int main(int argc, char* argv[]) { WSADATAwsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAddr, clntAddr; int szClntAddr; char message[] = "Hello World!"; if (argc != 2) { printf("Usage : %s \n", argv[0]); exit(1);..