본문 바로가기

Study/CS

(4)
Java 의 개발 철학과 특징 Java 가 등장하기 전까지, 대부분의 프로그래밍 언어는 특수 OS 나 아키텍쳐에 국한되어 컴파일되도록 설계된다는 문제를 안고 있었다. 이는 플랫폼이 다양해지면서 해당하는 CPU 에 맞는 컴파일러를 구축하게끔 만들었으며, 서로 다른 환경에 따른 컴파일러를 구축하는 문제는 당연히 시간과 비용이 수반된다. 따라서 더 나은 방법을 찾기 위해 Java 개발자들은 Cross Platform 언어를 개발하고자 하였다. Write Once, Run Anywhere Java 는 Write Once, Run Anywhere 을 개발 철학으로 두었다. 다시 말해 플랫폼 독립적인 언어를 지향점으로, 같은 코드를 어느 운영체제에서나 실행시킬 수 있게 하자는 컨셉을 담고 있다. Java 가 한번 개발된 프로그램을 어디서나 실행..
컴퓨터 네트워킹 : network core 본 포스팅은 computer networking : A top-down approach ( 컴퓨터 네트워킹 : 하향식 접근 ) 제 7판을 공부하여 정리합니다.이전, 컴퓨터 네트워킹 : network edge, access network, 물리 매체들 포스팅에서 네트워크의 구조를 비트로 구성된 데이터패킷이 네트워크 내에서 흘러가는 순서대로 설명하겠다고 언급했다. 그에 따라 network edge, access network, physical media를 각각 설명하며 그 환경이나 종류도 함께 언급하여 작성해 놓았다. 그렇다면 이제 network core에 대해 자세히 알아보자. network core : mesh of interconnected routers머릿말에서 나타내듯, 네트워크 코어는 서로서로 연..
컴퓨터 네트워킹 : network edge, access network, 물리 매체들 본 포스팅은 computer networking : A top-down approach ( 컴퓨터 네트워킹 : 하향식 접근 ) 제 7판을 공부하여 정리합니다.network core과 network edge를 포함한 네트워크의 구조를 다루기 전에, 네트워킹을 설명하기 위한 수단으로 '인터넷'에 대한 설명을 먼저 하겠다. Internet 인터넷인터넷이란, application에 service를 제공하는 infrastructure이다.인터넷에는 스마트폰과 PC부터 자동차와 같은 '사물들'까지 많은 장치들이 연결되어 있으며 이 장치들은 host나 end system이라고 불린다.하나의 end system과 다른 하나의 end system은 데이터를 교환하는 데, 이 data 교환의 개략적인 부분을 그림을 보며 ..
함수 호출 시 인자 전달 방식 : call by value와 call by reference 함수 호출 시 인자 전달 방법에는 Call-by-value(값에 의한 호출)와 Call-by-reference(참조에 의한 호출)이 있다. 본 포스팅에서는 먼저 이 둘을 비교하며 설명한 후, 현재 공부하고 있는 java의 인자 전달 방식에 대해서도 설명할 것이다 Call-By-Value (값에 의한 호출)일단 간단히 말해보자면, 이 전달 방식은 caller(호출하는 놈)의 인자의 값이 복사되어 함수(callee, 호출되는 놈)의 인자로 전달되는 방식이다. 코드가 진행되는 순서대로 설명하겠다. 위는 call by value방식의 함수(swap)가 구현된 프로그램이 메모리에 할당되고, 흘러가는 방식을 도식화하여 나타낸 그림이다. 먼저 프로그램이 실행되면, 초기화한 변수에 대한 메모리 할당이 발생할 것이다. ..