반응형

분류 전체보기 140

이진트리 메소드 구현하기

중복 키가 없는 이진트리 구현하기 1. 메쏘드 i : key 입력 받은 후 트리에 삽입 d : key 입력 받은 후 해당 노드가 있다면 노드 삭제, 삭제한 키 출력. 없으면 X 출력 s : key 입력 받은 후 해당 노드가 있다면 키를 출력, 없으면 X 출력 p : 트리를 전위 순회로 인쇄. q : 종료 2. 메소드 구현 [public] * findElement(k) : key를 받아서 해당 노드를 찾아 원소를 반환(여기서 원소 = 키) * insertItem(k) : key를 받아서 트리에 해당 키를 가진 노드를 삽입. treesearch , setnode , expandExternal(left), expandExternal(right). * treeSearch(w, k) : (노드, 키) 트리에서 원..

개발/C,C++ 2022.12.15

makefile 오류 - 'linker' input unused [-Werror,-Wunused-command-line-argument]

cc -Wall -Wextra -Werror -c monitoring.o routine_utils.o utils2.o init_routines.o philosopher.o utils1.o -o philo clang: error: monitoring.o: 'linker' input unused [-Werror,-Wunused-command-line-argument] clang: error: routine_utils.o: 'linker' input unused [-Werror,-Wunused-command-line-argument] clang: error: utils2.o: 'linker' input unused [-Werror,-Wunused-command-line-argument] clang: error..

애플리케이션이란? - 백엔드와 프론트엔드 관점에서. 그리고 네트워크

애플리케이션이란 말은 참 많이도 들어보았다. 그냥 사용자들이 편히 쓸 수 있게 만든 '프로그램' , '앱'이라고만 알고 있었는데, 이게 정확히 뭘까에 대한 고민은 해보지 않았었다. 컴퓨터 네트워크를 공부하는데 애플리케이션 계층에서 나타난 설명을 보고 조금 정리해보았다. (교과서 : 컴퓨터 네트워크 하향식 접근) 아직 더 공부를 하고 실습해보아야 알겠지만 여기서 읽고 느낀 애플리케이션을 요약하면 다음과 같다. * 애플리케이션이란? 통신에 대한 걱정은 아래 계층에 맡겨버리고(트랜스포트 계층, 네트워크 계층 ..) 기능적인 것에 집중해서 만든 프로그램. 서비스는 서버에서 제공하되, 그것을 요청할 수 있는 브라우저 혹은 앱이 사용자와 가까이 있어서 서버와 통신하면서 그 서비스를 이용할 수 있다. 서버는 사용자 ..

카테고리 없음 2022.12.04

컴퓨터네트워크 - 애플케이션 계층 (간단 맛보기)

1. 애플리케이션이란 - 컴퓨터 네트워크 계층 측면에서 보면 가장 상위에 있는 계층이다. 인터넷 애플리케이션에는 1970년대에 등장했던 텍스트 전자메일, 컴퓨터로의 원격 접속 등을 포함해서 1990년대 중반에 나온 월드와이드앱(www : 웹서핑, 검색, 전자상거래 등을 포괄한다. ), 그리고 요즘에는 유튜브처럼 사용자가 만든 비디오 분배, 넷플릭스 같은 온디맨드 영화, 또는 구글 행아웃 같은 비디오 콘퍼런싱, 마지막으로 인스타그램, 페이스북과 같은 소설 네트워킹 애플리케이션도 이 계층에 속한다. 2. 애플리케이션 개발. 네트워크 애플리케이션 개발의 중심은 다른 위치의 '종단 시스템'에서 동작하고 네트워크를 통해 서로 통신하는 프로그램을 작성하는 것이다. 예를 들어 웹 애플리케이션에는 서로 통신하는 서버와..

데이터의 표현과 컴퓨터 연산

이번 시간에는 컴퓨터가 어떻게 데이터를 저장하고 처리하는 지 알아볼 것이다. 3.2. 정수의 표현 컴퓨터의 가장 근본이 되는 기능은 수치의 계산이라고 할 수 있다. 이걸 수행하는 가장 핵심적인 장치가 바로 CPU 안에 있는 ALU라고 하는 하드웨어이다. 컴퓨터는 2진수의 체계로 수를 저장하고 표현한다. 모두가 잘 아는 이진수의 체계인데 한번 더 짚고 넘어가자면, 소수점 이하의 이진수는 2^(-1), 2^(-2) .. 를 의미한다. ex) 0.101 = 0.5 + 0.125 = 0.625 컴퓨터는 양수 뿐만 아니라 음수도 처리하기 때문에 음수를 표현하는 방법이 필요하다. 이를 수행하는 데에는 여러가지 방법이 있는데, 공통적인 부분은 2진수의 가장 왼쪽 비트가 부호 비트로 사용된다는 점이다. 맨 왼쪽 비트,..

linux - pthread_create 매뉴얼 뜯어보기[pthread]

https://man7.org/linux/man-pages/man3/pthread_create.3.html 출처 : 리눅스 매뉴얼 페이지 pthread_create(3) - Linux manual page pthread_create(3) — Linux manual page PTHREAD_CREATE(3) Linux Programmer's Manual PTHREAD_CREATE(3) NAME top pthread_create - create a new thread SYNOPSIS top #include int pthread_create(pthread_t *restrict thread, const pthread_a man7.org 1. pthread_create : create a new thread. #i..

입문 - Dataset클래스 정의하기(__getitem__, __len__())

데이터셋 클래스 정의 파이토치로 신경망 모델을 구축하려면 데이터셋도 일정한 형식에 맞게 정의해줘야 한다. 먼저 데이터셋 생성에 필요한 라이브러리를 임포트한다. import cv2 from torch.utils.data import Dataset 파이토치에서 제공하는 Dataset클래스를 활용해서 데이터셋 객체를 만들 수 있다. Dataset은 추상 클래스이며, 우리는 Dataset을 상속받은 다음 특수 메서드인 __len__() , __getitem__() 을 재정의(오버라이딩)해야 한다. 💡 추상 클래스: 곧바로 객체를 생성할 수 없고 상속만 할 수 있는 클래스. 추상 클래스를 사용하는 이유는 상속받는 클래스들의 메서드를 규격화하기 위해서이다. 상속을 강제해 메서드 시그니처를 일치시키기 위해서이다. i..

개발/AI(python) 2022.11.30

ft_print 구현해보기(printf, 가변인자 이해하기)

printf를 구현하면서 느낀 중요한 것들을 정리하려고 한다. Mandatory part * 주관적인 기준이다. 1. 가변인자 va_list 를 사용할 수 있는가? 2. printf의 원리를 아는가? 3. putstr, putnbr, putchar 를 올바르게 구현할 줄 아는가? #hint 1. #include 부터 시작하자. 2.(bonus part에서 진행하는 진짜 format : 정확도, padding 등에 대한 건 나중에 정리하려고 한다) %이후 format이 있다. 두번째 인자부터는 format에 해당하는 진짜 변수 3. int, unsigned int, unsigned long long 변수를 잘 이해했으며 이를 write함수를 이용해 출력할 수 있는가? (특히 숫자 출력시 재귀 함수 이용, ..

728x90
728x90