csv to json 사이트 정리
·
카테고리 없음
사이트마다 변환 방식이 다름숫자 상관없이 전부 문자열로 바꿔주는 사이트가 있고,숫자는 다 숫자형으로 바꿔주는 사이트가 있고사이트마다 다 다르다고 한다.나는 내가 쓴 사이트의 방식만 있는 줄 알았다.. 1. 문자형+숫자형 혼합 변환 해주는 사이트https://csvjson.com/csv2json CSV to JSON - CSVJSONEmbed all the functionality of csvjson in any web application with Flatfile. Auto-match columns, validate data fields, and provide an intuitive CSV import experience.csvjson.com 2. 전부 다 문자형으로 변환 해주는 사이트https://ww..
TCP통신 공부 + 멀티쓰레드
·
카테고리 없음
TCP 통신ㅇsocket 함수int socket(int domain, int type, int protocol);ㄴdomain : 소켓이 사용할 프로토콜 체계ㄴtype : 소켓의 데이터 전송방식ㄴprotocol: 두 컴퓨터 간 사용되는 프로토콜 정보 serv_sock=socket(PF_INET, SOCK_STREAM, 0); // IPv4, 연결지향형 소켓, 깍두기 PF_INET = IPv4 인터넷 프로토콜 체계 (PF_INET = IPv6)SOCK_STREAM = 연결지향형 소켓 => IPv4 인터넷 프로토콜 체계에서 동작하는 연결지향형 데이터 전송 소켓을 만들겠다! 연결지향형 소켓(SOCK_STREAM) 특징-데이터가 중간에 소멸되지 않고 목적지로 전송-전송 순서대로 데이터 수신-데이터의..
멀티 프로세스 vs 멀티 쓰레드
·
TCP IP
🧑‍🤝‍🧑 멀티프로세스(Multi-Process)멀티프로세스는 여러 명의 일꾼(프로세스)이 각각 따로따로 일하는 거야.예시:너는 라면을 끓이고너 친구는 계란을 삶고또 다른 친구는 김치를 자르고 있어각자 따로 움직이고, 서로 간섭하지 않아.하지만 같이 협력하려면 대화(데이터 공유)가 필요해, 그게 좀 복잡할 수 있어.정리:일꾼(프로세스)이 여러 명각자 자기 방에서 일해 (메모리를 따로 씀)서로 대화하려면 문을 열고 "야~" 하고 말해야 해 (복잡)충돌은 잘 안 나 (서로 방이 다르니까)🧵 멀티쓰레드(Multi-Thread)멀티쓰레드는 한 명이 여러 팔을 써서 동시에 여러 일을 하는 거야.예시:사람 한명이 혼자 일하지만오른손으로 라면을 끓이고왼손으로 계란을 삶고발로 김치를 자르고 있어한 사람이지만 여..
도서관리 프로그램 - 참고사이트
·
카테고리 없음
https://modoocode.com/43" data-og-description="모두의 코드 씹어먹는 C 언어 - 작성일 : 2010-02-08 이 글은 36468 번 읽혔습니다. 이번 강좌에서는도서 관리 프로그램을 만든다.안녕하세요 여" data-og-host="modoocode.com" data-og-source-url="https://modoocode.com/43" data-og-url="https://modoocode.com/43" data-og-image=""> 씹어먹는 C 언어 - 모두의 코드 씹어먹는 C 언어 - 작성일 : 2010-02-08 이 글은 36468 번 읽혔습니다. 이번 강좌에서는도서 관리 프로그램을 만든다.안녕하세요 여modoocode.com https://blog.na..
4/14 DB 수업 / MariaDB
·
DB
데이터란?Data와 Information의 차이 DBMS언어SQL언어 앞으로 팀플 중 데이터관리는 한명이 DB 만들어서나머지 팀원들이 그 DB에 클라이언트로 붙어서 사용한다. https://mariadb.org/download/?t=repo-config&d=24.04+%22noble%22&v=11.8&r_m=blendbyte Download MariaDB Server - MariaDB.orgREST API Reporting Bugs … Continue reading "Download MariaDB Server"mariadb.org 버전 선택 > 11.8 > 타이페이 설정하고터미널 켜서 아래 명령어 치면됨 여기서 3번째 명령어 코드 2줄짜리 쳐야됨sudo apt-get update 먼저 치고 다되면 그 ..
시간표시
·
카테고리 없음
클라이언트가 메세지 입력 시 시간표시   + 입퇴장 시 시간표시도 해보자
코드
·
카테고리 없음
#include #include #include #include #include #include #include #include #include #include #include #include #define BUF_SIZE 1024#define MAX_CLIENT 30char id[50];int sock;char client_ids[MAX_CLIENT][50]; // 클라이언트 ID를 저장하는 배열 : 50개void *recv_msg(void *arg) { // 메세지 수신 스레드 char buf[BUF_SIZE]; ..
4/11
·
카테고리 없음
파일 디스크립터: 소켓에 부여된 정수-> OS가 소켓에 편하게 접근하기 위해서 부여한 숫자 ( 0,1,2는 이미 사용하고 있음 = 표준입출력 )소켓생성 후 주소할당 = socket > bind 포트번호로 소켓 구분소켓 = IP주소(데이터 전송 목적지) + 포트번호 ip와 포트번호 표현을 위한 구조체가 있음bind 함수에 주소정보 전달 p.124*에코 클라이언트클라이언트가 메세지를 입력하면 모두 서버에 전달됐다가 다시 클라이언트에게 에코됨이는 서버의 무결성을 입증하기 위함임(=서버가 클라이언트의 메세지를 그대로 에코함으로써 서버는 문제가 없음을 증명)Q. 이것이 TCP의 특성인가? ( 데이터가 손실된 채 전달되었거나, 전달되지 않았을 때 재전송 하는 거 ) memset ( &addr, 0, sizeof(a..
4/10 학습일지 - 멀티쓰레드
·
카테고리 없음
key: blocking/none-blocking 모든 프로세서는 1개 이상의 스레드를 가지고 있다. 쓰레드는 부모가 죽으면 자식도 따라죽음 (프로세스와 다름)하지만 죽으면 안될때 죽어버리는 단점이 될수있음 쓰레드의 장점은 메모리 공유, 단점도 메모리 공유.. 쓰레드는 통째로 복사하는게 아니라 이 함수의 흐름대로 움직여줘 라고 말하는거임프로세스와 달리 자신이 속한 프로세스의 메모리를 공유함 ( join ) ㅇ프로세스: 운영체제 관점에서 별도의 실행흐름을 구성하는 단위ㅇ쓰레드: 프로세스 관점에서 별도의 실행흐름을 구성하는 단위 void* 은 어떤 자료형이 들어올지 모르니 void로 두고 포인터를 넣는다. 예제를 찾아서 쓰되, 읽을 줄 알아야 함 (컨펌 필수) 방식1.서버가 있고, 클라이언트들이 서버에 붙음..
tcp/ip 수업
·
TCP IP
#include #include #include #include #include int main(){ pid_t pid; pid = fork(); // 여기서부터 갈라짐 - 갈라지면서 자식이름 생성 // 부모가 자식이 죽는걸 못보고 죽게된다면? if (pid) // pid { sleep(3); // 7초 printf("Parent Process Exit\n"); } else { for (int i = 0; i 부모가 자식이 죽는걸 보지않고 죽었을 때 자식은 좀비가 된다.프로그램이 끝났는데도 자식이 실행되는걸 볼 수 있다.좀비가 많아지면 컴퓨터에 좋지않다. wait을 추가해서 자식이 끝날때까지 기다린다.    시그널 만드는 법..
일괄보내기 기능 구현
·
카테고리 없음
일반 유저의 텍스트 작성해서 보내기 기능을 구현하고코드 그대로 복사해서 관리자 계정으로 텍스트 일괄 보내기 프로그램을 만드려고 했다. 그런데 그대로 복붙 했는데도 실행이 안됐다..어제 집가기 전 한시간동안 계속 붙잡아 봤는데도 해결을 못했다. 오늘 다시 와서 보니.. 프로그램명이 all 이고, 같은 위치에 all 이라는 이름의 폴더가 있어서 안됐던것이었다..진짜 허망하고 어이가 없었다.폴더든 파일이든 이름이 겹치지 않아야한다는 점에 꼭 유의하자. // printf("내용 입력 (빈 줄 입력 시 종료):\n"); while (scanf("%s",line) == "\n") //scanf("%s",line) != "end" { scanf("%s", li..
유저찾기 번호노출 수정
·
C언어
가운데 번호는 별처리 해야하는데 깜빡함 // 번호 if (strlen(myfree[i].phone)==11) { printf("%d의 번호:", i+1); for (int j = 0; j  회원가입 중 전화번호 입력 시 하이픈('-')을 입력받냐 안받냐의 차이도 있기 때문에 번호만 입력하면 01012345678 = 11자하이픈도 입력하면 010-1234-5678 = 13자 니까 조건을 1. 길이 11, 2. 길이 13  c언어에는 슬라이싱 기능이 없어서 strcpy나 함수를 만들어야하는데공부가 좀 필요할거같아서 노가다 했다. 슬라이싱은 종종 쓸 일이 있을거..
관리자계정
·
카테고리 없음
// 어드민 계정 // 1.텍스트 일괄 보내기 (공지 느낌) - 자신은 제외 // '작성하기'로만 가능// 2. 유저확인 watf 는 필요없고 1,2 기능만 메뉴에 있으면 되는건가 ..? [필요사항]- 일반유저가 유저찾기 할때 안나와야됨
유저찾기
·
C언어
어제 작성한 코드는 계속 범위를 제대로 읽어들이지 못하는 오류가 있었고그 오류를 고치려고 애썼지만 결국 원인을 찾아내지 못했다.시간낭비라는 생각이 들어서 갈아엎고 처음부터 다시 시작했다.우리는 회원출력하는 c파일이 따로 있기 때문에 그걸 복사해서 베이스로 삼고 코드를 이어나갔다.범위를 아주 정확히 제대로 읽어들였다. 정말 감격스러웠다.. fp = fopen("all_users.bin","rb"); for (int i = 0; i 파일을 열어준 뒤, for문으로 하나하나 읽어들이는 코드가 있어야만 제대로 범위를 읽어냈다.이전에 만들었던 코드는 메뉴를 선택할때마다 열었는데 포인터 위치가 그때 꼬인거같다.그래서 fseek 함수를 써서 포인트 위치를 처음으로 돌려놨는데도 별 소용이 없었다. 왜 그런지..
반환값으로 문자열을 반환하는 함수 만들기
·
C언어
구조체 안에 있는 배열에 값을 할당할 때 직접대입하면 안되고 strcpy로 넣어주어야 한다   메일 프로그램에서 유저찾기 기능을 구현하던 중user_pick 1과 2가 초반에 유저에게 입력받는 부분이 동일해서 함수로 만들고 싶었다.우선 해당 함수의 반환값이 문자열이고,그 반환값을 메인에 있는 문자열 변수로 받아줘야 한다고 생각했다.  그렇다면 문자열을 반환하는 함수는 어떻게 만들까?구글링 해보니 반환값의 형식은 const char* 이라고 한다.char형 포인터인 이유는 배열의 경우 배열이름 자체가 포인터이기 때문이다!!앞에 상수가 붙는 이유는 해당 함수에서 만들어진 문자열은 길이가 고정되어있기 때문이다. const char* f_user_input(){ char *user_input; pri..
0404 개발일지
·
C언어
#include #include typedef struct fre{ char name[10]; char id [20]; char password[30]; char phone[20]; char age[5];}friend;int main(){ FILE *fp; friend myfree[30]; char user_input_id[20]; char user_input_pw[20]; printf("[로그인 UI] \n"); int switch_1 = 1; while(switch_1==1) { printf("ID: "); scanf("%s", user_input_id); printf("유저가 입력한 아..
TCP/IP - 8,10챕터
·
TCP IP
소켓 포트번호 프로세스 도메인              8. 도메인도메인이란?인터넷에서 특정 서버나 서비스를 찾는 주소 역할 = 서버와 클라이언트를 연결해주는 역할IP주소는 숫자로 되어있는데 인간이 이를 알아보기 어려우니IP주소를 대신하고, 인간이 알아보기 쉽게 표현한 것이 도메인이다.  ip주소는 변경 확률이 높기 때문에개발자 입장에서 ip주소를 바탕으로 프로그램을 작성하는 것은 좋지않다.그래서 변경할 일이 상대적으로 더 적은 도메인을 사용하면 유지가 편하다. DNS란, 도메인을 IP주소로 변환해서 해당 서버로 실제 접속하는 것   10. 멀티프로세스 기반의 서버구현 다중접속 서버 구현 방법1.멀티프로세스 기반 서버2.멀티플렉싱 기반 서버3.멀티쓰레딩 기반 서버 프로세스란?"메모리 공간을 차지한 상태에서..
파일 입출력
·
C언어
#include int main(){ FILE * fp=fopen("./data2.txt","wt"); //출력스트림 if (fp==NULL) { puts("오픈 실패"); return -1; } fputc('Abc', fp); // putc는 문자열이 아니라 문자를 받는거라서, 여러개를 써도 맨끝에 하나만 저장됨 fclose(fp); // 파일을 닫아주지않으면 전송한 데이터는 출력버퍼에만 남아있어서, 닫아준 다음 반환하지 않으면 전송되지 않는다. return 0;} fopen ( 파일이름, 스트림종류 )스트림종류 1.입력 rt / 2.출력 wt (t는 텍스트모드 라는 뜻) #include int main(){ // 파일출력 cha..
포인터 공부
·
C언어/연습장
int main(){int num1=100, num2=100;int *pnum; // int형 포인터 변수 pnum 선언pnum = &num1; // 포인터 pnum에 num1값 초기화(*pnum)+=30;pnum = &num2;(*pnum)-=30;printf("num1:%d, num2:%d\n", num1, num2);// p.284 문제1int num=10;int *ptr1=#int *ptr2=ptr1; // 포인터 ptr2에 ptr1 값 저장(*ptr1)++;(*ptr2)++;printf("num:%d\n", num); // 12// 문제2int num3=10, num4=20;int *ptr3=&num3, *ptr4=&num4;(*ptr3)+=10; // 20(*ptr4)-=10; // 1..
TCP/IP 키워드
·
TCP IP
-네트워크-패킷-서버/클라이언트-계층 1.애플리케이션 계층-프로토콜-인터넷-HTTP-피어투피어-FTP-데이터 커넥션/컨트롤 커넥션-액티브 모드/패시브 모드-Voip 2.트랜스포트 계층-TCP/UDP-포트번호 3.인터넷 계층-라우터-IP 어드레스-IPv4/IPv6-호스트명/도메인명-도메인의 계층구조 4.네트워크 인터페이스 계층-하드웨어-이더넷