• [자료구조] 추상 자료형(Abstract  Data Type, ADT)이란? (feat. 스택 & 큐)

    [자료구조] 추상 자료형(Abstract Data Type, ADT)이란? (feat. 스택 & 큐)

    추상 자료형(Abstract Data Type, ADT)이란? 구현하고자 하는 구조에 대해 구현 방법은 명시하지 않고 자료구조의 특성들과 어떤 Operations들이 있는지를 설명하는 자료구조의 한가지 형태. 즉, 일종의 '규칙'들의 나열이라고 쉽게 이해할 수 있다. ADT의 가장 대표적 예로는 스택(Stack)과 큐(Queue)가 있다. 스택(Stack) 이란? 영어 단어 Stack이란 쌓아 올린다는 것을 의미한다. 영어 뜻과 마찬가지로 스택(Stack)자료 구조는 밑바닥부터 탑을 쌓듯이 차곡차곡 데이터를 쌓아올린 자료 구조를 뜻한다. ▼ 스택(Stack) 의 특징 스택은 탑을 쌓을 때 위로 쌓는 것만 가능하듯이 한 방향으로만 입력할 수 있으며 구조 중간에 값을 끼어 넣어 저장할 수 없다. 즉, 같은 ..

  • 버퍼(Buffer)란?

    버퍼(Buffer)란?

    앞서 정리했던 스트림과 늘 붙어다니는 개념이 바로 버퍼(Buffer)다. 버퍼도 스트림과 같이 일상에서 자주 쓰이는 용어다. 누구나 한번쯤 영상을 보다가 멈추면 "버퍼링에 걸렸다"라고 말해본 경험이 있다. 여기서 말하는 버퍼링이 버퍼의 동작을 일컫는 말이다. 스트림과 마찬가지로 버퍼라는 용어는 여러 영역에서 다양하게 적용되어 사용된다. 하지만 큰 맥락은 비슷하기 때문에 스트림을 정리하는 참에 버퍼까지 정리해두면 이후에 공부를 할때 도움이 될 것 같아 정리해두기로 했다. 1. 버퍼(Buffer)란? 우선 영단어 Buffer의 뜻을 알아보면, Buffer 명사 1. 완충제 2. 완충 장치 동사 1. 완화하다 2. ~를 보호하다 완충 장치라는 말만 보고선 쉽게 버퍼의 뜻을 이해하기는 어렵다. 하지만 버퍼의 사..

  • [Eclipse] Can't connect to any repository 해결법 : 깃허브 토큰 인증

    [Eclipse] Can't connect to any repository 해결법 : 깃허브 토큰 인증

    최근 평소처럼 이클립스에서 알고리즘을 공부하고 공부한 내용을 커밋하고 푸시를 했는데 갑자기 생뚱맞게 오류가 났다. 언제나 예상치 못한 곳에서 나는 에러는 등골이 오싹하다. 😬 오류에 대한 해결법을 찾아보았고, 정책이 변경됨에 따른 에러란걸 알게 되었고 혹시나 나와 같은 사람이 있을까봐 정리해서 포스팅하기로 했다. Push를 누르고 로그인 정보를 누르는 순간 뜬 에러 😥 Can't connect to any repository : git-receive-pack not permitted on 이라는 것을 보고 대충 허용되지 않아 연결할 수 없다 정도만 파악하고 바로 구글링.. 근데 웬걸 최근 나와 같은 오류를 겪은 사람이 꽤 있었고, 이는 깃허브의 로그인 정책이 변경되면서 기존 ID/PW로 로그인 하는 사람..

  • 스트림(Stream)이란?

    스트림(Stream)이란?

    우리는 일상속에서 스트림(Stream)이라는 단어를 정말 많이 들어봤을 것이다. 유튜브와 같은 라이브&비디오 스트리밍 사이트, 넷플릭스와 같은 비디오 스트리밍 사이트, 스포티파이와 같은 음악 스트리밍 사이트 등등 정말 많은 곳에서 스트림(Stream)이라는 용어를 사용한다. 물론 프로그래밍 언어상에서도 스트림이라는 단어를 자주 볼 수 있다. 입출력 관련된 내용을 다룰 때 꼭 한번씩은 봤던 기억이 난다. 스트림의 큰 맥락을 이해하면 앞으로 공부를 할 때 좀 더 수월하게 이해할 수 있을 것 같아 정리해두기로 했다. 🤗 1. 스트림(Stream)이란? 우선, 영단어 Stream의 뜻을 알면 좀 더 이해하기 쉬워진다. Stream (명사) 1. 개울, 시내 2.(액체 기체의) 줄기 (동사) 1. 줄줄[계속] 흐..

  • [Java] 화면에서 입력 받기 : 스캐너(Scanner)

    [Java] 화면에서 입력 받기 : 스캐너(Scanner)

    자바에서 화면으로부터 입력을 받아오는 방법은 정말 다양합니다. 그 중에서 가장 기본적이고 보편적인 방법이 Scanner 클래스를 이용한 방법입니다. Scanner가 보편적으로 쓰이는 이유와 Scanner의 사용법, 유의사항 등 Scanner 클래스에 대해 알아보겠습니다. 입출력(I/O)이란? I/O란 Input/Output의 약자로 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말합니다. Scanner는 Input/Ouput 중 Input에 해당하며, 화면으로부터(사용자로부터) 입력을 받는 것을 도와주는 클래스입니다. Scanner 클래스 화면으로부터 읽어온 바이트를 정수, 실수, 문자, 문자열, boolean 등의 타입으로 변환해 리턴하는 클래스 java.util.Scanner :..