전체 글 169

[코딩자율학습] 19일차 프로젝트 비밀 일기 프로그램

#define _CRT_SECURE_NO_WARNINGS #include #include #include #define MAX 10000 //매크로 정의 int main(void) { char password[20]; //입력받은 비밀번호 저장 배열 선언 char c; // 입력받은 비밀번호 확인용(마스킹 효과) int i = 0; //password 배열의 인덱스용 변수 char line[MAX];//파일에서 읽어 온 내용 저장 char contents[MAX] = "";// 일기장에 입력한 내용 저장 (빈값으로 초기화) printf("비밀 일기에 오신 것을 환영합니다.\n"); //안내 문구 printf("비밀번호를 입력하세요.(최대 20자리)"); while (1) { //비밀번호 입력받기 c = ..

언어/C 2024.03.28

[코딩자율학습] 18일차 파일입출력

fputs() 함수로 파일 쓰기 FILE * 포인터명 = fopen(파일명, 파일모드); 파일에서 데이터를 읽고 쓸 때는 먼저 fopen()함수로 파일을 열어서 파일 포인터를 얻어야함. 파일포인터는 fopen()함수를 통해 무슨 파일을 열었는지, 어디까지 읽었는지 등의 정보를 담음. ** 텍스트는 사람이 읽을 수 있는 문자열 바이너리 데이터는 컴퓨터가 읽을 수 있는 0과 1로 된 데이터 //형식 fputs(문자열, 파일포인터) (파일 생성) #define _CRT_SECURE_NO_WARNINGS #include int main(void) { FILE* file = fopen("C:\\\\Users\\\\홍시\\\\Desktop\\\\test1.txt", "wb"); if (file == NULL) { ..

언어/C 2024.03.27

[자바스크립트 딥다이브] 4장 변수

3장은 실행 방법이어서 점프했다. 4장 변수 10 + 20 사람은 계산과 기억을 모두 두뇌에서 하지만 컴퓨터는 연산과 기억을 수행하는 부품이 나뉘어져 있다. 컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다. (컴퓨터 10 + 20 계산) 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체. 메모리 셀하나 크기는 1바이트(8비트) 컴퓨터는 메모리 셀의 크기, 즉 1바이트 단위로 데이터를 저장하거나 읽는다. 각 셀은 고유의 메모리 주소를 갖는다. 이 주소는 메모리 공간의 위치를 나타냄. 예제의 10과 20은 메모리 상의 임의의 위치(메모리 주소)에 기억(저장)되고 CPU는 이 값을 읽어 들여 연산을 수행. 결과 값인 30도 메모리 상의 임의의 위치에 저장된다. (편의상 10진수로 표현..

언어/JavaScript 2024.03.26

[코딩자율학습] 17일차 너 내 도도독 집사가 되어라

(전체코드) #include #include #include typedef struct { //고양이 정보를 담은 구조체 정의 char* name; int age; char* character; int level; //level 5가 키우기 제일 어려움 } CAT; CAT cats[5]; // 큰 상자에 있는 고양이 목록을 배열로 선언 int collection[5] = { 0, 0, 0, 0, 0 }; //고양이 있으면 1 없으면 0 void initCats(); //고양이 정보 초기화 함수 선언 void printCat(int selected); //뽑은 고양이 정보 출력 함수 선언 int checkCollection(); //모든 고양이 확인 함수 선언 int main(void) { srand(ti..

언어/C 2024.03.26

[제로초 Next.js] 패러렐 라우트, 인터셉팅 라우트

패러렐 라우트(Parallel Route) Parellel은 병렬이라는 의미를 가지고 있음. 즉, Parallel Route는 병렬 라우트로 해석할 수 있고, 병렬 라우팅을 사용하면 동일한 레이아웃에서 하나 이상의 페이지를 동시에 또는 조건부로 렌더링 할 수 있음. 병렬 라우팅을 이용하면 경로가 독립적으로 스트리밍될 때, 각 경로에 대해 독립적인 오류 및 로드 상태를 정의할 수 있음. ✔️ 구현하고자 하는 것 트위터 로그인 화면에서 로그인을 누르면 i/flow/login/page.tsx가 모달 형식으로 띄워지는 화면 📌 기존 모달과의 차이점 기존 모달과의 차이점은 주소가 바뀌냐 안 바뀌느냐이 차이다. 패러렐 라우트는 동시에 띄워진 페이지의 주소가 각각 다르고, 기존 모달은 주소 변경 없이 모달이 동작한다..

언어/Next.js 2024.03.26

[코딩자율학습] 16일차 구조체

구조체란 #include int main(void) { char* name = "나도게임"; int year = 2022; int price = 50; char* company = "나도회사"; char* name2 = "너도게임"; int year2 = 2022; int price2 = 100; char* company2 = "너도회사"; return 0; } 정보를 하나로 관리하면 좋을 때 구조체 를 사용. //형식 struct 구초제명 { 자료형1 변수명1; 자료형2 변수명2; 자료형3 변수명3; ... }; struct GameInfo { char* name; int year; int price; char* company; }; GameInfo 의 변수들은 각각 GameInfo 구조체를 구성하는 ..

언어/C 2024.03.25

[자바스크립트 딥다이브] 프로그래밍, 자바스크립트란?

자바스크립트를 제대로 공부하려면 꼭 봐야한다는 자바스크립트 딥다이브.. 두께가 어마어마해서 스터디를 구해 들어갔지만 스터디장이 날랐다. 그치 인생은 마이웨이니까 일단 시작! 1장 프로그래밍 프로그래밍이란? 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션 0과 1밖에 알지 못하는 기계가 실행할 수 있을 정도로 정확하고 상세하게 요구사항을 설명하는 작업이며, 그 결과물은 코드 문제 해결 방안을 고려할 때 컴퓨터의 입장에서 문제를 바라봐야 한다. (컴퓨팅 사고) 예) 사람: 소리를 키워라 > 컴퓨터: 소리를 60으로 키워라 프로그래밍 언어 - 컴퓨터가 쓰는 말(기계어)는 너무 어렵다. 그래서 사람이 이해할 수 있도록 번역기(컴파일러 or 인터프리터)를 돌려서 보여주는 것. - 구문과 의미의 조합으로 표현된다. ..

언어/JavaScript 2024.03.25

[코딩자율학습] 15일차 동물카드 뒤집기 프로젝트

#include #include // 헤더 파일 추가 #include // 헤더 파일 추가 // 전역변수 int arrayAnimal[4][5]; //카드 배열 선언, 카드 20장인 2차원 배열 선언 char* strAnimal[10]; //카드에 표시할 동물 이름 배열 (동물 이름 10개) int checkAnimal[4][5]; //카드 뒷면, 앞면 확인 배열 선언 // 함수 선언 void initAnimalArray(); //카드 배열 초기화 함수, 게임을 시작하면 카드는 모두 뒷면, 배열의 모든 요소에 같은 값을 넣음. void initAnimalName(); //동물 이름 배열 초기화 void shuffleAnimal(); //카드 섞기 함수 선언 int getEmptyPosition(); //..

언어/C 2024.03.24

[제로초 Next.js] Next 프로젝트 시작

프로젝트 설치 $ npx create-next-app 다이나믹 라우팅 유저마다 폴더를 생성할 순 없다. 변동 값일 떄 [username] , [id](글 주소) 로 설정한다. 왜 page.tsx가 두개냐? 게시글 화면, 프로필 화면으로 두개 📌 만약 다이나믹 라우팅에 사용되는 폴더명과 다이나믹 라우팅이 아닌 폴더명이 동시에 존재한다면, 다이나믹 라우팅의 폴더명은 최후순위가 된다. ✔️ [username] 폴더와 home 폴더가 app 폴더 아래에 존재했을 때 유저명이 ‘home’일 경우 → 동적 세그먼트는 최후순위이기 때문에 유저 프로필 페이지가 아닌 home 페이지가 보여지게 된다. 따라서 동적 세그먼트에 사용되는 params 들이 다른 라우팅과 겹치지 않도록 하는 것이 제일 좋다. 폴더 구조 라우트 ..

[코딩자율학습] 14일차 다차원 배열

다차원 배열이란? 1차원 배열 int i; int arr[5]; 다차원 배열 1차원 배열에 배열을 하나 이상 추가한 2차원, 또는 그 이상의 배열을 의미 (이건 2차원 배열) int arr2[2][5] //형식 자료형 배열명[세로크기][가로크기]; 2차원 배열은 크기를 뒤부터 읽어서 arr2[2][5]는 5개의 연속된 메모리 공간을 가진 1차원 배열이 2개 있다는 뜻 이 배열의 총 요소는 5 * 2 = 10개 (이건 3차원 배열) int arr4[3][3][3]; // 총요소 3 * 3 * 3 = 27개 실무에서는 2,3차원배열까지 사용하고 그 이상은 잘 사용하지 않음. 다차원 배열 다루기 다차원 배열 초기화하기 //1차원 배열 초기화 int arr[5] = {1, 2, 3, 4, 5}; //2차원 배열..

언어/C 2024.03.21