본문 바로가기

CS12

Stack vs Queue Stack 개요 마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 LIFO(Last In First Out) 구조 순차적으로 데이터를 추가하고 삭제하는 스택에는 ArrayList와 같은 배열 기반의 컬렉션 클래스가 적합 ex. 수식계산, 수식괄호검사, undo/redo, 웹 브라우저의 뒤로/앞으로 구현 import java.util.*; class MyStack extends Vector { public Object push(Object item){ addElement(item); return item; } public Object pop(){ Object obj = peek(); //만일 Stack이 비었다면 peek 메서드가 예외 발생 removeElementAt(size() - 1); //마지막 요소.. 2021. 9. 24.
프로세스와 스레드 프로그램 어떤 작업을 위해 실행할 수 있는 파일이다. 프로세스 개념 컴퓨터에서 연속적으로 실행되고 있는 프로그램으로, 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있다. 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받으며 이것들을 모두 프로세스라고 부른다. 함수의 매개변수, 복귀 주소, 로컬 변수 등 임시 자료를 갖는 프로세스 스택과 전역 변수들을 저장하는 데이터 섹션을 포함한다. 또한, 프로세스 실행 중에 동적으로 할당되는 메모리인 힙을 포함한다. 구조 프로세스는 메인 스레드를 포함한 최소 1개의 스레드를 소유하고 있다. 프로세스는 자신만의 고유 공간과 자원을 할당받아서 사용하고 다른 프로세스의 변수나 자료구조에 접근할 수 없으나, 스레드는 다른 스레드와 공간 및 자원을 공유한다. Co.. 2021. 9. 24.
서버와 클라이언트 저번 게시글 'DB와 MySQL 입문기!'편에서 클라이언트와 서버가 잠깐 나왔는데 간단히 설명했기 때문에 보다 자세히 정리해보겠습니다!클라이언트란 네트워크를 통하여 서버라는 다른 컴퓨터 시스템 상의 원격 서비스에 접속할 수 있는 응용 프로그램이나 서비스를 말합니다. 클라이언트-서버 구조에서 서버가 제공하는 서비스를 요청하고, 서비스 요청을 위해 필요한 인자를 서버가 원하는 방식에 맞게 제공하며, 반환되는 응답을 사용자에게 표현하는 기능을 가진 프로그램이나 시스템입니다.즉, 요청하는 쪽은 클라이언트, 응답하는 쪽은 서버입니다! 위에 언급된 클라이언트-서버 시스템이란 서비스를 요청하는 클라이언트와 클라이언트의 요청을 처리하는 서버와의 협동작업을 통해서 사용자가 원하는 결과를 얻는 처리방식을 말합니다. 다시 .. 2018. 3. 31.
DB와 MySQL 입문기! 생활코딩님의 MySQL강의를 듣고 저같은 컴못알 분들께 조금이나마 도움이 될까 글을 써봅니다! MySQL강의를 듣게 된 계기는 동아리에서 진행하는 스터디 때문인데요, 학과 수업으로도 DB를 배우고 있었기 때문에 전반적인 개념을 잡는데는 큰 도움이 되었습니다. 학과 수업으로 배우는 DB는 실습이 아닌 거의 이론 수업이어서 실제로 적용해본적이 없었기 때문에 처음에는 겁을 먹고 시작했는데, 강의를 보면서 차근차근 따라하면 저같은 사람들도 쉽게 할 수 있더라구요ㅋㅋ 이제 본격적으로 MySQL 강의 정리를 해보도록 하겠습니다~ 데이터베이스란? & 데이터베이스와 MySQL 데이터베이스란 구조화된 데이터, 데이터의 저장소이다. 데이터베이스의 종류로는 관계형데이터베이스와 NOSQL이 있습니다. - 관계형데이터베이스 :.. 2018. 3. 25.