[면접 후기] 첫 번째 백엔드 면접 후기 및 회고
·
백엔드/Java + Spring
보호되어 있는 글입니다.
[42서울] minishell 테스트 케이스
·
대외활동/42서울
서론 테스트 케이스leaksminishell 프롬프트에 각종 명령이나 동작 사용하고 leaks minishell 으로 확인해보자.공백 입력 릭cd 릭자식 프로세스 릭 exit status각종 명령이나 동작 사용하고 echo $? 로 exit status 확인해보자.bash 출력값과 미니쉘 출력값이 다를 경우(특히 오류 메시지) 대부분 exit status가 잘못됐을 수 있다. exit status 값을 strerror 인자로 넘겨서 오류 메시지를 출력하는 것이 좋다.파이프라인 뒤에 exit status항상 0예시(앞의 명령이 올바른 경우): ls | echo $?예시(앞의 명령이 잘못된 경우): aaaaa | echo $?시그널 처리 후 exit status 확인cntl + c, cntl + d, cnt..
[42서울] so_long 그래픽, mlx 라이브러리
·
대외활동/42서울
서론so long 과제의 그래픽을 구현한 부분에 대한 글을 써보려 한다. 프로그램이 시작하면 map을 입력받고 유효성을 검사한다. 이후 map에 대한 그래픽을 화면에 띄우게 된다. 화면에 띄우기 위해 MiniLibx(mlx 라이브러리)를 사용한다. mlx 라이브러리기본적인 렌더링을 위한 작은 그래픽 라이브러리윈도우 생성, 그리기, 이벤트관리 등 작업 가능  이전 포스팅에서는 check_map에 내한 내용까지를 다루었다.2024.07.22 - [대외활동/42서울] - [42서울] so_long (맵 유효성 검사(BFS)) [42서울] so_long (맵 유효성 검사(BFS))서론이번엔 42서울 2서클까지의 과제들 중 리트라이를 가장 많이 했던(무려 5번..!) so_long에 대한 글을 서보려고 한다. s..
[42서울] so_long 맵 유효성 검사(BFS)
·
대외활동/42서울
서론이번엔 42서울 2서클까지의 과제들 중 리트라이를 가장 많이 했던(무려 5번..!) so_long에 대한 글을 서보려고 한다. so long은 지도가 그려진 파일을 입력받아 클리어 가능하다면 화면에 게임을 출력하는 과제이다. 지도 파일의 예시는 다음과 같다.0은 빈공간,1은 벽,C는 수집품,E는 맵의 출구,P는 주인공의 시작지점이다.주인공은 모든 수집품을 모아야 맵의 출구로 나갈 수 있다. 그 전에는 출구 위로 지나갈 수 없다.구현mainso_long의 시작이다. argv의 인자로 .ber 확장자인 파일 이름을 입력받는다. 입력받은 파일은 so_long 게임의 지도(map)가 된다. 이전에 so_long 평가를 갔었는데 main 문에 핵심 로직이 다 담기며 가독성이 좋고 간결한 코드를 보게 되어 영감..
[42서울] get_next_line 구현 (메모리 누수 잡기, 구현 tip)
·
대외활동/42서울
서론42서울 두 번째 과제인 get_next_line에 대한 기록을 남겨 놓으려고 한다. gnl은 fd(파일 디스크립터) 값을 인자로 받아서 파일을 읽고 개행문자 '\n' 단위로 문자열을 잘라서 리턴하는 함수를 구현하는 과제이다. C의 파일 입출력, 정적 변수, 메모리 누수 방지 등에 대한 내용을 배울 수 있는 과제인 것 같다. 본 과제에서는 C의 static 변수(정적 변수)를 하나 사용할 수 있다. 정적 변수는 fd 값에서 버퍼 사이즈만큼 읽은 문자열에서 '\n'을 기준으로 문자열을 반환하고 남은 문자열을 저장하는 데 사용된다.구현get_next_linebackup == 0이라면 정적 변수 backup에 공백 문자열을 할당받는다.버퍼 사이즈만큼 buf에 동적할당받는다.gnl_read_line 함수로 ..
[42서울] ft_printf 구현 (한 문장으로 구현하는 이진수 보수 연산)
·
대외활동/42서울
서론과제 이름에서 알 수 있듯이 printf 함수를 구현하는 과제이다. 당연히 printf 함수의 모든 기능을 구현하는 것은 아니고, 문자열 표준 출력과 서식 지정자와 같은 대표적인 기능을 구현하게 된다. 본 과제에서는 va_arg 관련 함수에 대하여 배울 수 있고, 서식 지정자를 어떻게 처리할지에 대해서도 고민해 보며 코딩 실력을 기를 수 있다.구현ft_printf구현한 ft_printf 함수의 메인 로직에 해당하는 두 함수이다. ft_printf 함수에서는 입력받은 문자열을 순서대로 while 루프를 돌아 서식지정자('%')가 아니라면 문자를 하나씩 출력하고, 서식지정자라면 그 뒤에 오는 문자에 따라서 행동을 지정한다. 이때 입력받은 va_list 구조체의 주소를 ft_format_conversion..
[데이터베이스] #14 데이터베이스 설계 이론
·
전공/데이터베이스
목차좋은 스키마와 나쁜 스키마함수 종속성 이론정규형분해 및 설계 1. 좋은 스키마와 나쁜 스키마1. 나쁜 스키마세 가지 이상(anomaly)을 가짐갱신 이상삭제 이상입력 이상나쁜 스키마 예)mybadtable1(cID, title, deptName, credit, chairman, bulding, budget)→ 두 관계 “course”와 “department”가 결합되어 있음2. 함수 종속성함수 종속성은 일부 속성의 값이 다른 속성의 값을 유일하게 결정하는 것을 의미A BAB14142435동일한 A값에 대해 항상 동일한 B값A는 B를 함수적으로 결정B는 A를 함수적으로 결정하지 않음슈퍼 키는 관계 속성의 일부분으로서 전체 속성을 함수적으로 결정하는 속성슈퍼 키는 유일하기 때문함수 종속성은 두 가지 방식..
[데이터베이스] #13 개체-관계성 데이터 모델
·
전공/데이터베이스
1. 개체 및 관계성1. 개체(entity), 관계성개체: 구별이 가능한 객체를 의미, 단일 student관계성: 개체 간의 연관성, 학생과 과목 개체 간의 “수강하다”개체 집합, 관계성 집합으로 묶을 수 있음개체와 관계성은 속성을 가질 수 있음2. 속성개체 또는 관계성이 가지는 특성단순 속성/복합 속성단일 값 속성/다수 값 속성유도된 속성주소 ⇒ 거리, 도시, 도, 우편번호 (복합 속성)거리 ⇒ 거리번호, 거리명, 아파트번호 (복합 속성)나이 ⇒ 생년월일로 유추 (유도된 속성)3. 관계성 집합 차수관계성과 관련되는 개체의 개수4. 카디날리티 제약One to oneOne to manyMany to oneMany to Many5. 키테이블에 대한 슈퍼 키, 후보 키, 주 키 개념과 동일슈퍼 키에서 후보 키..
[데이터베이스] #12 SQL 확장
·
전공/데이터베이스
목차SQL 절차적 확장외부 언어 함수/프로시저저장 프로시저SQL: 1999 함수 및 프로시저테이블 함수SQL 프로시저절차 생성자PL/SQL선언 및 예외선언부조건 로직루프사용자 정의 예외커서프로시저함수패키지 1. SQL 절차적 확장사용자는 SQL/PSM 또는 외부 프로그래밍 언어를 이용하여 함수와 프로시저를 개발할 수 있음ex)이미지 데이터 타입에 대한 중첩 판정 기능이미지 유사성 계산 기능1. 외부 언어 함수/프로시저Create procedure deptCountProc (in deptName varchar(20), out count integer)language Cexternal name '/usr/shlee/bin/deptCountProc';Create procedure deptCountPro..
[데이터베이스] #11 응용 개발
·
전공/데이터베이스
목차내장 SQLODBC 1. 내장 SQL1. 내장 SQL호스트 언어 중간 중간에 SQL 문장 삽입전처리(preprocessing) 과정을 꼭 거쳐야 함 → 이후 컴파일EXEC SQL BEGIN DECLARE SECTION ...EXEC SQL ;EXEC SQL ENC DECLARE SECTION;선언된 변수는 프로그램에서 사용할 때 반드시 콜론(:)을 접두사 형식으로 붙임2. 커서두 언어 간에 자료 처리 방식 차이로 인한 불일치 해결 필요 → cursordeclare: 커서 선언EXEC SQL declare myCursor cursor for select sID, name from student where totalCredit > :creditAmount;open: 질의 실행 (질의문의 결과 결정)EXE..