[C / Libft] 컴파일 과정 컴파일 과정 1. 소스파일 (*.c) 사람이 이해할 수 있는 언어 2. 목적파일 (*.o) 기계가 이해할 수 있는 언어 이 때 gcc 컴파일러 필요 // 소스 파일로 목적 파일 생성 gcc -c 3. 실행파일 (a.out || .exe) 기계어로 된 목적파일과 시스템 라이브러리를 묶어 생성한 파일 링커 : 목적파일들과 c 라리브러리, 사용자 라이브러리들을 링크한다. // 생성된 목적 파일로 링커 과정을 통해 실행 파일 생성 gcc -o 42SEOUL 2022.03.09
[C] File 종류와 함수 파일의 종류 텍스트 파일 (Text File) .txt 확장자를 가지는 파일 사람의 눈으로 쉽게 읽을 수 있는 파일로 문서 편집기를 통해 읽거나 편집 가능한 파일 이러한 형태의 파일은 데이터가 그대로 노출되는 문제가 발생할 수 있다. 바이너리 파일 (Binary File) 컴퓨터를 위한 파일 사람의 눈으로 식별할 수 있는 데이터가 아닌 기계가 식별할 수 있는 0 또는 1로 만들어진 데이터를 저장한 파일의 형태 텍스트에 비해 더 많은 양을 저장할 수 있지만, 눈으로 식별하기 쉽지 않다. 데이터가 그대로 노출되지 않기 때문에 텍스트 파일보다 안전 File 함수 open 파일을 여는 함수 int open(const char *pathname, int flags[, mode_t mode]); pathname :.. 42SEOUL 2022.03.08
[React] 로그인/로그아웃 유지하기 ( sessionStorage, localStorage) header {(sessionStorage.getItem("isLogin") === null) ? 로그인 : 로그아웃 } login if(this.state.studentId && this.state.password) { axios.post("/logIn", { studentId: this.state.studentId, password: this.state.password }) .catch(function(error){ alert("학번 또는 비밀번호를 다시 확인해주세요."); }) .then((response) => { let id = response.data.studentId; let pw = response.data.password; console.log(id, pw); if(id === this... 프로그래밍/React 2022.03.02
[Spring / DB] 로그인 주의 SELECT USER_ID userId, PW password FROM USER WHERE USER_ID = #{userId} AND PW = #{password} userId : VO에 정의된 이름 USER_ID : 테이블에 정의된 이름 SELECT 부분에서 처럼 설정해주어 사용시 이름을 주의하지 않으면 스프링과 오라클 사이에 이름이 맞지 않아 원하는 결과가 나오지 않을 수 있다. 프로그래밍/Spring 2022.02.23
[C] LIBFT 정리 널가드 c는 유효한 값이 들어온다고 가정하고 만들어진 함수가 대부분이다. relink 보너스에 아카이브 명령어를 넣으면 make bonus 할 때 마다 relink되는 상황 발생 보너스 규칙에 아카이브 명령어 제거하기 메모리 블록을 채우는 기준은 1byte(8bit) memset의 2번째 인자는 내부적으로 unsigned char로 해석 void 포인터 자료형이 정해지지 않았으므로 값을 가져오거나 저장할 크기도 정해지지 않았다. 따라서 void 포인터는 역참조를 할 수 없습니다. const const char *는 포인터가 가르치는 변수의 값이 상수고 char const *는 포인터의 주소가 상수 메모리 누수 체크 malloc -> 메모리 누수 leak -> 누수 발생 체크 ps leaks 42SEOUL 2022.02.13
[React / Spring] 리액트에서 스프링으로 데이터 전송 아래 링크의 회원가입 데이터 전달 기준으로 설명 Vo, DAO, Service는 다 작성되었다고 가정 [회원가입] 1. 만들기 Email address We'll never share your email with anyone else. Password Check Password Submit 참고 https://react-bootstrap.github.io/forms/overview/ 2. state 추가 input에 작성된 값을 받기.. wldwlddl59.tistory.com React 1. 아래 명령어 입력해 설치 npm install axios --save npm install http-proxy-middleware --save 2. import axios from 'axios' 추가 3. 값 넘길.. 프로그래밍/React 2022.02.12
[React] 회원가입 1. 만들기 Email address We'll never share your email with anyone else. Password Check Password Submit 참고 https://react-bootstrap.github.io/forms/overview/ 2. state 추가 input에 작성된 값을 받기 위해서 state 추가가 필요하다. constructor(props) { super(props); this.state = { email: "", password: "", checkPw: "" }; } 3. handleChange 함수 추가 input 필드에서 작성된 데이터를 state에 넣어주는 과정 [name] : 객체 안에서 key를 []로 감싸면, [] 안의 값이 가리키는 실제 값.. 프로그래밍/React 2022.02.12
React-Bootstrap React-Bootstrap 리액트 오픈소스 프론트엔드 프레임워크 웹 사이트를 쉽게 만들 수 있도록 디자인을 CSS와 Javascript를 이용해 만들어 제공한다. React-Bootstrap The most popular front-end framework, rebuilt for React. react-bootstrap.github.io 프로그래밍/React 2022.02.12
[C / Libft] Makefile 만들기 Makefile 반복적으로 발생하는 컴파일을 쉽게 하기 위해 사용하는 make 프로그램의 설정 내용이 작성된 기술파일 Makefile 구조 Target : Dependency (tab) Command Target 빌드 대상 이름. 명령에 의해 생성되는 파일 Dependency Target 생성 시 사용되는 파일들 Command Target을 생성하는 명령 여러줄로 작성 가능하며, Dependency 파일이 변경됐거나, 대상 파일이 없을 때 실행됨 shell에서 사용 가능한 명령어 사용 가능 tab 키로 띄운 후 작성 라이브러리를 위한 Makefile 만들기 NAME = libft.a CC = gcc CFLAGS = -Wall -Wextra -Werror AR = ar rcs RM = rm -rf SRCS.. 42SEOUL 2022.01.21