컴퓨터 기초
-
자리수 구하기 - 자료구조와 함께 배우는 알고리즘 입문(자바)컴퓨터 기초/알고리즘&자료구조 2021. 4. 13. 14:44
해당 포스팅은 "자료 구조와 함께 배우는 알고리즘 입문"이라는 책을 바탕으로 공부한 내용임. 양의 정수 자리수 구하기 위와 같이 메서드에 매개변수로 특정 숫자를 입력하면 해당 숫자의 자리수를 반환하는 문제다. 최대값, 최소값, 중간값 구하기 - 자료구조와 함께 배우는 알고리즘 입문 해당 포스팅은 "자료 구조와 함께 배우는 알고리즘 입문"이라는 책을 바탕으로 공부한 내용임. 여러 변수의 값 중 최대값 구하기 예를 들어서 여러 개의 변수가 있을 때 그 중에서 가장 큰 값을 sgcomputer.tistory.com 이전 세 개의 정수 중 가운데 값 구하는 문제처럼 사람이 보면 알기 쉽다. 근데 컴퓨터한테 해당 작업을 시킬 때는 좀 더 번거롭게 처리해줘야 한다. 우선 나는 이 문제를 보고 사람은 왜 이걸 보고 ..
-
최대값, 최소값, 중간값 구하기 - 자료구조와 함께 배우는 알고리즘 입문(자바)컴퓨터 기초/알고리즘&자료구조 2021. 4. 12. 10:40
해당 포스팅은 "자료 구조와 함께 배우는 알고리즘 입문"이라는 책을 바탕으로 공부한 내용임. 여러 변수의 값 중 최대값 구하기 예를 들어서 여러 개의 변수가 있을 때 그 중에서 가장 큰 값을 구하는 방법은 무엇일까? 아마 이건 따로 알고리즘을 접하지 않아도 어려운 문제는 아닐 것이다. 그냥 순차적으로 비교해나가면 된다. public static int max(int a, int b, int c, int d){ int max = a; // 변수 max를 생성해서 a의 값을 대입 if(b>max) max = b; // max와 b를 비교해서 b가 크다면 max에 b를 대입 if(c>max) max = c; // max와 c를 비교해서 c가 크다면 max에 c를 대입 if(d>max) max = d; // m..
-
알고리즘이란? - 자료구조와 함께 배우는 알고리즘 입문(자바)컴퓨터 기초/알고리즘&자료구조 2021. 4. 12. 09:24
해당 포스팅은 "자료 구조와 함께 배우는 알고리즘 입문"이라는 책을 바탕으로 공부한 내용임. 알고리즘이란? 문제를 해결하기 위한 것으로, 명확하게 정의되고 순서가 있는 유한 개의 규칙으로 이뤄진 집합. 알고리즘의 조건은 다음과 같다. - 입력이 가능: 어떤 조건의 수를 받아서 처리할 수 있어야 하기 때문이다. - 출력이 가능: 알고리즘은 문제 해결에 따른 결과물을 도출해야한다. - 명확성: 알고리즘은 각 단계가 명확하고 애매하지 않아야 한다. - 유한성: 알고리즘은 유한한 계산 단계를 거쳐야 한다. 간단히 말하면 명확한 계산 과정을 거친 일종의 문제 풀이를 위한 방법이라고 할 수 있을 것이다.
-
HTTP의 특징과 메시지 주고 받는 방법(헤더와 바디)컴퓨터 기초/네트워크 2020. 11. 25. 00:53
HTTP란? Hyper Text Transfer Protocol의 약자로 HTML 문서를 교환, 전송하기 위한 통신 규약이다. 클라이언트가 서버에 요청(Request)하면 서버가 응답(Response)하는 방식으로 통신이 이뤄진다. WEB에서 가장 기초적인 데이터 교환 방법이며 가장 널리 쓰인다. HTTP의 특징 1. HTTP는 Stateless다. 간단히 풀어쓰면 HTTP 프로토콜은 현재 상태를 저장하지 않는다는 뜻이다. 즉 클라이언트가 한 개의 요청을 하면 한 개의 응답을 할 뿐이다. 한 개의 클라이언트가 여러 요청을 해도 그걸 저장한 후 모아서 한 개로 응답한다 이런 개념이 없다. 다만 사용자의 상태를 저장할 수 있게 도와주는 쿠키, 세션등을 이용하면 이러한 Stateless 상태를 극복할 수 있다..
-
프로세스(process)와 스레드(thread)컴퓨터 기초 2020. 10. 28. 13:11
프로세스, 스레드를 알기 전에 프로그램에 대해 알아보자. 프로그램(program)이란? "컴퓨터에서 특정 작업을 수행하는 실행 가능한 명령어의 집합"이다. 코드가 복잡한 게임, 응용 프로그램 뿐 아니라 간단한 사칙 연산이 가능한 코드도 프로그램의 범주에 든다. 그리고 이러한 프로그램을 실행에서 프로세스와 스레드를 알 수 있다. 프로세스란(process)란? 프로세스란 "프로그램이 실행을 위해 메모리에 적재되어 실행 중인 프로그램"을 말한다. 즉 프로그램이 정적이고 단순한 코드의 집합이라면, 프로세스는 동적이고 코드를 실행 중인 프로그램이다. 각 프로세스는 독립적으로 실행되고 독자적인 스택과 데이터 공간을 가지게 된다. 프로세스의 멀티 프로세스 우리는 컴퓨터를 할 때 흔히 여러 작업을 동시에 진행한다. 글..
-
HTTP란? WWW란?컴퓨터 기초/네트워크 2020. 10. 26. 05:53
흔히 우리가 인터넷을 할 때 특정 홈페이지를 찾아가기 위해서 위와 같이 주소창에 주소를 친다. 하지만 정작 우리가 흔히 보는 이 주소의 뜻은 잘 모르고 그동안 사용해왔다. 그냥 주소로서 인식할 뿐이지 앞의 'http'는 무엇인지 'www'는 무엇인지 몰랐다. 하지만 서버 관련 공부를 하기 전에 기초적인 지식으로 알고 가는 것은 나쁘지 않다고 생각한다. 그래서 정리한다. HTTP란? 'HTTP'란 'HyperText Transfer Protocol'의 약자로 하이퍼 텍스트를 교환,전송을 위한 통신 규약이다. 예를 들어 각각 다른 회사가 만든 컴퓨터 A와 컴퓨터 B가 있다고 가정해보자. 이 두 컴퓨터는 사양도 다르고 부품도 다르고 심지어 안에 들어가있는 프로그램마저 다르다. 이러한 상황에서 두 컴퓨터를 통신..
-
WEB과 WAS컴퓨터 기초/네트워크 2020. 10. 22. 12:29
WEB과 WAS 흔히 우리가 인터넷의 구조에 대해서 배울 때 서버라는 개념을 배웠다. 이때는 유저의 요청에 따라 데이터를 처리하고 보내주는 것을 단순히 서버 또는 웹서버라고 불렀다. 서버에 대해서 아주 간단하게 도식화 하자면 위 그림이 맞다. 실제로 단순히 이미 정형화된 자료만 주고 받는 것은 위와 같이 웹서버 하나로도 가능하다. 하지만 최근에는 사용자의 다양한 동작을 주고 받는 웹 어플리케이션이 많아지면서 서버가 처리해야 할 기능도 늘었다. 그래서 나온 것이 바로 WAS(Web Application Server)다. WEB와 WAS의 차이 위에서 말한대로 WEB과 WAS의 차이는 미리 개발자가 만들어둔 정형화된 페이지를 반환하느냐 고객의 요청에 따라 동적으로 만들어진 페이지를 반환하느냐의 문제다. 조금..