본문 바로가기

Study

(23)
[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 { ... } ... } 클래스 내에 선언된 클래스이다. 클래스 내부에 선언된 다는 점을 빼면 지금까지 배워온 클래스와 큰 차이가 없다. 클래스 간의 서로 긴밀한 관계가 있는 경우 내부 클래스를 사용한다. 그렇다면 왜 굳이 내부에 선언을 하는 것일까? 바로 클래스 간의 접근성 향상 때문이다. 서로 쉽게 접근함과 동시에 외부에 굳이 노출시킬 필요 없는 클래스를 감춰 코드를 보기 편하게 해 준다. 정리하자면 다음과 같다. 내..
[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..
[Java] 다형성 다형성 조상 클래스 타입의 참조 변수로 자손 클래스의 인스턴스를 참조할 수 있다. Tv클래스와 이를 상속받는 CaptionTv클래스가 존재한다고 가정하자. CaptionTv cap1 = new CaptionTv(); Tv cap2 = new CaptionTv(); // 자손 인스턴스를 부모 클래스 참조변수에 할당하였다 둘의 차이점은, cap1의 경우 CaptionTv클래스의 모든 변수와 메소드를 사용할 수 있지만, Tv 참조 변수에 담긴 cap2는 Tv클래스에 담긴 변수와 메소드만 사용할 수 있다. 이러한 다형성은, 매개변수로 클래스의 타입을 넘겨줄 때와 배열을 생성할 때 유용하게 사용된다. 참조변수가 사용 가능한 멤버의 개수는 인스턴스의 멤버 개수보다 같거나 적어야 하므로, 반대의 경우는 사용할 수 없..