본문 바로가기

분류 전체보기

(30)
[1절] OS? 듀얼모드 - 2 OS가 무엇인지, 사용자들에게 효율적으로 서비스를 제공하기 위한 5가지의 방식은 무엇인지를 살펴보았다. 복습해보자면, 운영체제는 사용자 인터페이스 자원 관리 를 수행하는 하나의 프로그램 집합이다. 운영체제와 시스템 프로그램을 합쳐 시스템 소프트웨어라 칭하는 경우가 있다는 것을 배웠다. 그리고 사용자에게 서비스를 효율적으로 제공하기위해 다중 프로그래밍 다중 처리 프로그래밍 시분할 시스템 대화식 시스템 실시간 처리 시스템 을 배웠다. 이제 OS의 듀얼모드에 대해 알아보자. 듀얼모드 듀얼모드를 공부하기 전에, 운영체제 안에는 어떤 것들이 있을까라는 의문을 먼저 던져봤다. 쉘: 사용자와 운영체제가 의사소통을 하기 위한 창구로 필요한 요소이다. 장치 관리: 프린터기, 마우스, 하드디스크 등 파일 관리 메모리 관리..
[1절] OS? OS란 무엇일까? - 1 운영체제는 늘 가슴속에 품어야 할 중요한 존재인 것 같다. 운영체제에 대한 기본 이론을 다루기위한 카테고리로, 운영체제를 까먹을 미래의 나를 위해서 그리고 운영체제 공부를 진행하며 어려움을 느낄 사람들을 위해서 정리를 해보려 한다. 우선, OS가 무엇인지를 먼저 알아보며 운영체제의 시작을 열어보자! OS란 무엇인가? 컴퓨터를 작동시킴에 있어 필요한 프로그램을 설치하고 실행할 수 있도록 도와주는 프로그램이다! 사용자가 사용하는 여러 응용 프로그램들을 설치할 수 있게 돕고, 여러 장치가 제대로 동작할 수 있도록 하며 사용자가 컴퓨터를 쉽게 이용하도록 도와주는 프로그램들의 모임이라고 보면 되겠다. 간단하게 OS의 역할을 보자면 사용자가 편히 사용할 수 있도록 돕는 사용자 인터페이스 자원 관리 정도가 되겠다. ..
[BoostCourse] Servlet 이란? (1/2) 학교 강의와 과제에 치여 살다 보니.. 부코 강의를 많이 못 듣게 되는 것 같아 아쉽다.. 종강하기만 하면 부스트 코스 신나게 달려야겠다. Servlet이란? 웹 어플리케이션은 정적인 콘텐츠(웹 서버)와 동적인 컨텐츠로 나눌 수 있다. 그렇다면 웹서버는 정적인 컨텐츠를 처리하는데, 어떻게 동적인 컨텐츠를 처리할 수 있을까? => 서블릿이 페이지를 동적으로 만들어준다! 목차 자바 웹 어플리케이션 서블릿 작성법 httpServlet Web.xml 자바 웹 어플리케이션 (Java Web Application) 작성된 서블릿은 내부에서 설정한 runtime, 톰캣이라는 WAS를 통해 동작이 된다. 웹 브라우저는 톰캣 서버에 URL 요청을 전송하였고, 서블릿이 실행되었었다. 이런 일련의 과정들로 만들어지는 것이 ..
[BoostCourse] 브라우저란? 스프링을 좀 더 재밌게 배우기위해서 시작한 부스트코스. 브라우저가 무엇인지 부터 보고 가고자한다. Browser 브라우저의 동작 서버에서 전송한 데이터가 도착해야할 곳은 Browser이다. 브라우저에는 데이터를 해석해주는 parser와 데이터를 화면에 보여주는 **렌더링 엔진이 포함되어있다. 브라우저의 구성 UI Browser 엔진 소스코드를 실행해서 화면에 보여준다. 브라우저 소프트웨어를 동작시켜주는 핵심 엔진이라고 생각하자. 렌더링 엔진 화면에 위치를 잡고 픽셀 단위로 그려주며, 브라우저별로 다르다. HTML을 파싱하는 것으로 시작하는데, HTML이 가진 의미를 하나하나 파악하는 과정이다. 트리구조의 형태로 HTML을 가진다. 이를 통해 렌더 트리를 생성한다. 렌더트리의 스타일 정보(CSS)와 구조를..
[Java] 내부 클래스 내부 클래스는 사실 사용빈도가 그렇게 높지 않다고 한다. 하지만 알아놓는 것만으로도 필요한 순간이 있을 때 떠올릴 수 있기 때문에, 정리해 놓으려 한다. 주로 AWT나 Swing과 같은 GUI 어플리케이션의 이벤터 처리에 사용된다. 내부 클래스란? class A { ... class B { ... } ... } 클래스 내에 선언된 클래스이다. 클래스 내부에 선언된 다는 점을 빼면 지금까지 배워온 클래스와 큰 차이가 없다. 클래스 간의 서로 긴밀한 관계가 있는 경우 내부 클래스를 사용한다. 그렇다면 왜 굳이 내부에 선언을 하는 것일까? 바로 클래스 간의 접근성 향상 때문이다. 서로 쉽게 접근함과 동시에 외부에 굳이 노출시킬 필요 없는 클래스를 감춰 코드를 보기 편하게 해 준다. 정리하자면 다음과 같다. 내..
[Java] 인터페이스 인터페이스 추상 클래스보다 추상화 정도가 높은 일종의 추상 클래스라고 생각하면 된다. 또한 다중 상속을 가능하게 해 준다! 아무래도 자바에서 인터페이스가 중요한 부분을 차지하다보니 이번 정리는 꽤 길어질 것 같다. 추상 클래스와의 차이점은 다음과 같다. 일반 메소드나 변수를 가질 수 없다. => 추상화 정도가 더 높다고 볼 수 있는 점이다. 추상 메소드와 상수만을 허용한다. public static final public abstract method(); 제어자의 생략이 가능하며 컴파일러가 자동으로 추가해준다. interface 인터페이스이름 { public static final type = value; public abstract methodname(parameter); } 인터페이스의 구현 인터페이..
[python] 프로그래머스 - 네트워크 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[..
[Java] 추상클래스 추상클래스 추상클래스는 미완성 설계도이다. 미완성 메소드를 포함하고 있다는 의미이며, 자손클래스에 의해서만 완성될 수 있다. 새로운 클래스를 작성할 때 어느정도 틀을 갖춘 상태에서 시작할 수 있다는 편리함이있다. abstract 제어자를 사용하면 된다. 추상메소드 메소드는 선언부와 구현부로 구성되어있는데, 추상메소드는 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨두는 것이다. abstract를 이용해 메소드를 정의하는 이유는, 해당 제어자를 붙이면 자손클래스를 작성할 때 무조건 오버라이딩을 해야하기 때문이다. 추상클래스 설계 시 필수적으로 구현해야하는 메소드의 경우 추상메소드를 사용해주도록하자. public abstract class Car { public String color; public ab..