본문 바로가기

분류 전체보기33

#1 안드로이드 4대 컴포넌트 안드로이드 4대 컴포넌트는 Activity, Service, ContetntProvider, BroadcaseReceiver 4가지로 구성되어있습니다. 이 구성요소들이 상호 통신을 하기 위해 Intent를 사용해 상호작용을 하게 됩니다. 각각의 구성요소들에 대해 설명해드리겠습니다. 액티비티 (Activity) Activity는 UI 화면을 담당하는 구성요소로 사용자와 상호작용을 담당하는 인터페이스라고 할 수 있습니다. 그리고 안드로이드 어플리케이션은 반드시 하나 이상의 Activity를 포함하고 있으며 개발자는 Activity 생명주기 관련 메서드를 재정의하여 원하는 기능을 구현할 수 있습니다. 특징 2개 이상의 Activiry를 동시에 Display할 수 없습니다. 1개 이상의 View 또는 ViewG.. 2023. 4. 29.
[백준] 1009번 분산처리 문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ... 총 데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라. #solution1 처음엔 아무 생각없이 접근했다 import sys test_case = int(input()) for i in .. 2023. 2. 13.
JVM 메모리 구조에 대해 [JAVA] JVM이란? JAVA Virtual Machine의 약자로 자바와 운영체제 사이에서 중개자 역할을 수행하며, 자바가 운영체제에 구애받지 않고 프로그램을 실행할 수 있도록 도와줍니다. JVM을 간단히 설명했으니 본론으로 넘어가 JVM 메모리 구조에 대해 설명하겠습니다. JVM 메모리 구조 메모리 구조는 크게 Class Loader,Garbage Collector, Execution Engine, Runtime Data Area로 분류할 수 있습니다 클래스 로더가 컴파일러에 의해 바이트코드로 변환된 클래스 파일을 읽어 들이면서 JVM이 수행됩니다. Class Loader 자바 바이트 코드를 읽어서 JVM의 실행 엔진이 사용할 수 있도록 동적으로 Runtime Data Area(JVM Memory)의 메서드 .. 2022. 12. 29.
Socket 통신에 대해서(HTTP 통신과 비교) 소켓 통신이란? 소켓이란 두 프로그램이 서로 데이터를 주고받을 수 있도록 양쪽에 생성되는 통신 단자입니다. 이 소켓으로 서버와 클라이언트가 양방향으로 연결이 이루어지는 통신입니다. 서버 소켓 클라이언트 소켓의 연결요청을 대기하고, 연결 요청이 오게 되면 클라이언트 소켓을 생성하여 통신을 합니다. socket() 함수로 소켓을 생성 bind() 함수로 클라이언트에서 연결할 수 있도록 ip 와 port를 할당함 listen() 함수로 클라이언트에서 요청하는 연결요청을 대기합니다 accept() 함수는 클라이언트에서 연결요청이 들어왔을 때 연결 요청을 수락합니다. write/read() 함수로 데이터를 송/수신 하게 됩니다. 클라이언트 소켓 실제로 데이터 송/수신이 일어나는 클라이언트 소켓입니다.. socke.. 2022. 8. 18.
#1 서버(Server) 와 클라이언트(Client)이해하기 서버(Server)란? 서비스를 제공하는 컴퓨터(service provider) 다수의 클라이언트에게 서비스를 제공하기 때문에 고사양의 하드웨어를 갖춘 컴퓨터가 대다수입니다. 하지만 사양이 낮더라도 서비스를 제공하는 소프트웨어가 실행되는 컴퓨터를 서버라 합니다. 클라이언트(Client)란? 서비스를 사용하는 컴퓨터(Service user) 서버와 이어진 모든 기기를 일컫습니다 주로 서버에요청을 보내 응답을 받는 역할을 합니다. 서버와 클라이언트는 어떻게 연결할까? 서버가 서비스를 제공하기 위해선 서버 프로그램이 있어야 하고, 클라이언트가 서비스를 제공받기 위해선 서버 프로그램과 연결할 수 있는 클라이언트 프로그램이 존재해야 합니다. 연결하는 방식은 기본적으로 서버 프로그램을 따로 두는 것과 하나로 합친 .. 2022. 8. 10.