
[42 Seoul] ft_printf
2022. 8. 19. 14:54
42 Seoul
설명에 들어가기 전 후기 42 Seoul을 시작하기 전에는 c를 사용하며 굉장히 많이 사용하는 함수였지만, 42 Seoul에서는 강력하게 금지하여 사용하지 못했던 printf를 드디어 구현하는 프로젝트였다. ft_printf를 구현하기 위해 가변 인자에 대한 개념을 새롭게 알게 되었다. 보너스를 구현하지 않았지만, 보너스를 구현하신 분의 평가를 다녀오며 printf에서 사용하는 다양한 플래그들을 만나볼 수 있었다. printf는 단지 인자를 받아서 해당하는 형식에 맞게 출력해주는 함수라고만 단순히 알고있었는데, 다양한 플래그들을 통해 많은 방법으로 출력하는 함수임을 처음 알게 되었다. 보너스를 하지 않으니 구현하는 데에는 크게 어렵지 않았다. 단지 unsigned 형에 음수가 나올때의 처리 방법만이 조금..

[42 Seoul] Libft - Bonus
2022. 8. 2. 23:05
42 Seoul
ft_lstnew t_list *ft_lstnew(void *content); 새로운 요소를 할당하고 요소내의 변수 content는 매개변수로 받아온 content로 초기화하여 반환 요소 내의 변수 next는 NULL로 초기화 매개변수 content : 새로운 요소에 들어갈 content의 주소값 반환값 새로운 요소의 주소값 리턴 ft_lstadd_front void ft_lstadd_front(t_list **lst, t_list *new); 요소 new를 리스트의 맨 앞에 추가 매개변수 lst : 리스트의 맨 앞에 위치한 요소 new : 리스트에 추가할 요소 반환값 없음 ft_lstsize int ft_lstsize(t_list *lst); 리스트의 길이 반환 매개변수 lst : 리스트의 맨 앞에 위..

[42 Seoul] Libft - Part 2
2022. 8. 2. 21:50
42 Seoul
ft_substr char *ft_substr(char const *s, unsigned int start, size_t len); 문자열 s로부터 start부터 len길이만큼 부분 문자열을 할당 매개변수 s : 부분 문자열을 생성할 원본 문자열의 시작 주소 start : 부분 문자열의 맨 처음 인덱스 len : 부분 문자열의 최대 길이 반환값 부분 문자열의 주소값 리턴 할당 실패시 NULL 주의사항 문자열 s의 길이

[42 Seoul] Libft - Part 1
2022. 8. 2. 18:57
42 Seoul
ft_isalpha int ft_isalpha(int c); 매개변수로 들어온 값이 알파벳인지 아닌지 판단 매개변수 c : 아스키코드 값 반환값 매개변수 값이 알파벳이면 0, 아니라면 0이 아닌 정수를 리턴 ft_isdigit int ft_isdigit(int c); 매개변수로 들어온 값이 10진수 숫자인지 아닌지 판단 매개변수 c : 아스키코드 값 반환값 매개변수 값이 10진수 숫자이면 0이 아닌 정수, 아니면 0 리턴 ft_isalnum int ft_isalnum(int c); 매개변수로 들어온 값이 알파벳 혹은 10진수 숫자인지 아닌지 판단 매개변수 c : 아스키코드 값 반환값 매개변수 값이 알파벳 혹은 10진수 숫자이면 0이 아닌 정수, 아니면 0 리턴 ft_isascii int ft_isasci..

[42 Seoul] Libft - 시작하기 전
2022. 8. 2. 16:35
42 Seoul
설명에 들어가기 전 후기 42 Seoul 본과정에 들어가서 처음으로 하는 과제였다. 첫 과제인 만큼 피신 때와 과제 유형은 굉장히 비슷했다. 어렵지는 않았지만 함수 수가 굉장히 많아서 까먹고 빠뜨리는 함수도 있었다. 피신 후반, 러쉬때에 간단하게 작성했던 makefile을 본격적으로 작성하게 되고, bonus까지 고려하여 makefile을 작성해야 했기에 피신 때 공부했던 내용들에서 조금 더 공부를 하게 되었다. makefile의 make relink 방지법을 배우며 makefile은 위에서부터 순차적으로 작동함을 알게 되고, 따라서 코드의 순서만 바꾸어도 relink가 방지됨을 알 수 있었다. 프로젝트 소개 나만의 라이브러리 만들기 Part 1 man에 정의되어 있는 그대로 libc 함수 구현 isal..
[UMC 4주차] 데이터베이스 이론 및 설계
2022. 6. 30. 18:52
동아리/UMC 2기
강의 내용 RDBMS 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어 데이터베이스 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미 RDS AWS가 서비스하는 분산 관계형 데이터베이스 데이터베이스를 설치, 관리, 업데이트 할 필요없이 데이터베이스를 쉽게 운영 가능 백업과 스토리지, lops(단위 시간당 읽기/쓰기 횟수) 확장이 용이 실습 내용 시스템 분석하기 유저 닉네임, 유저 이름, 유저 프로필 사진, 유저 소개글, 유저 웹사이트 링크, 팔로워 수, 팔로잉 수, 게시물 개수, 게시물 사진, 게시물 내용, 게시물 좋아요 수, 게시물 댓글 수, 게시물 올린 시간, 댓글 내용, 댓글 올린 시간, 태그된 유저, 댓글..
[UMC 3주차] 리눅스 환경 구축
2022. 6. 29. 19:42
동아리/UMC 2기
강의 내용 서브 도메인 보조 도메인으로써, URL로 전송하거나 계정 내의 IP주소나 디렉토리로 포워딩되는 도메인 이름의 확장자 ex) 네이버 블로그 - blog.naver.com 네이버 메일 - mail.naver.com 리다이렉션 URL을 웹 서버에게 요청했을때 HTTP 응답 메시지를 통해 브라우저에게 다른 URL을 지시하는 것 HTTPS 인터넷 상에서 정보를 암호화하는 SSL 프로토콜을 이용하여 클라이언트와 서버가 데이터를 주고 받는 통신 규약 실습 내용 리눅스에 nginx, php, mysql 설치하기 nginx 설치하기 $ sudo apt update $ sudo apt install nginx mysql 설치하기 $ sudo apt install mysql-server $ sudo mysql_s..
[UMC 2주차] 포트포워딩 & AWS
2022. 6. 23. 18:00
동아리/UMC 2기
강의 내용 Protocol 컴퓨터와 컴퓨터, 다른 기계가 정보나 데이터를 주고받기 위하여 정한 통신 규약 HTTP HyperText Transfer Protocol 텍스트 기반의 통신 규약으로써, 서버와 클라이언트가 인터넷에서 데이터를 주고 받기 위한 프로토콜 요청(requests) : 클라이언트 -> 서버 응답(responses) : 서버 -> 서버 URL(Uniform Resouce Lacators) : 서버에 자원을 요청하기 위해 입력하는 영문 주소 HTTP 요청 메서드 : 요청하는 데이터에 특정 동작을 수행하기위해 사용 GET : 존재하는 자원에 대한 요청 POST : 새로운 자원을 생성 PUT : 존재하는 자원에 대한 변경 DELETE : 존재하는 자원에 대한 삭제 HTTP 상태코드 : 서버에서..
[UMC 1주차] 서버 개요
2022. 6. 22. 21:53
동아리/UMC 2기
사실 그때그때 수업 내용을 복습해야 했었는데 그러지 못했고, 본격적인 프로젝트에 들어가기 전에 다시 한번 복습을 하고자 한다. UMC 2기로써 Server - Spring 강의를 10주간 들었고, 강의의 내용과 내가 부가적으로 찾아본 내용, 워크북, 그리고 실습 과정들을 작성할 예정이다. 강의 내용 서버의 특징 서버 : 클라이언트 = 1 : N 관계 고정적인 개념이 아닌 상대적인 역할에 따른 관계 서버의 구성 클라이언트 : ex) web, 안드로이드, iOS, 게임... 서버 : ex) Apache, Nginx.... 백엔드 언어 : ex) php, spring, node.js... DB, DBMS : ex) mysql, oracle, mongo db... 실습 내용 APM 실습 비트나미 설치 하기 윈도..