디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

LLM과의 대화) boost::asio

*루비*갤로그로 이동합니다. 2025.03.13 07:57:15
조회 20 추천 0 댓글 0

This conversation was generated with Duck.ai (https://duck.ai) using Meta's Llama 3.3 70B Model. AI chats may display inaccurate or offensive information (see https://duckduckgo.com/duckai/privacy-terms for more info).

====================

User prompt 1 of 9 - 3/13/2025, 7:46:31 AM:
boost::asio에 event source를 추가할 수 있는가?

Llama 3.3 70B:
Yes, Boost.Asio에서 event source를 추가할 수 있습니다. Boost.Asio는 IO 서비스를 제공하는 라이브러리이며, event source를 추가하여 비동기적으로 이벤트를 처리할 수 있습니다.

Boost.Asio에서 event source를 추가하는 방법은 다음과 같습니다.

* `boost::asio::io_service` 객체를 생성합니다.
* `boost::asio::io_service::work` 객체를 생성하여 IO 서비스를 유지합니다.
* 이벤트 소스를 추가하기 위해 `boost::asio::io_service::post` 함수를 사용하여 이벤트를 큐에 추가합니다.
* 이벤트를 처리하기 위해 `boost::asio::io_service::run` 함수를 호출하여 이벤트를 처리합니다.

예를 들어, 다음 코드는 이벤트 소스를 추가하여 이벤트를 처리하는 방법을 보여줍니다.
```cpp
#include <boost/asio.hpp>

int main() {
    // IO 서비스 객체 생성
    boost::asio::io_service io_service;

    // 이벤트 소스를 추가하기 위해 work 객체 생성
    boost::asio::io_service::work work(io_service);

    // 이벤트를 큐에 추가
    io_service.post([] {
        // 이벤트 처리 코드
        std::cout << "Event processed" << std::endl;
    });

    // 이벤트를 처리하기 위해 run 함수 호출
    io_service.run();

    return 0;
}
```
이 코드는 이벤트 소스를 추가하여 이벤트를 처리하는 방법을 보여줍니다. 이벤트 소스를 추가하기 위해 `boost::asio::io_service::post` 함수를 사용하여 이벤트를 큐에 추가하고, 이벤트를 처리하기 위해 `boost::asio::io_service::run` 함수를 호출합니다.

--------------------

User prompt 2 of 9 - 3/13/2025, 7:47:09 AM:
이벤트 소스를 추가하기 위해 work 객체 생성에 대해 상세히 설명하라.

Llama 3.3 70B:
`boost::asio::io_service::work` 객체는 Boost.Asio에서 이벤트 소스를 추가하기 위해 사용되는 객체입니다. 이 객체는 IO 서비스를 유지하고, 이벤트를 처리하기 위해 필요한 리소스를 제공합니다.

`boost::asio::io_service::work` 객체를 생성하면, IO 서비스가 유지되고, 이벤트를 처리하기 위해 필요한 리소스가 제공됩니다. 이 객체는 이벤트 소스를 추가하기 위해 사용되며, 이벤트를 처리하기 위해 필요한 리소스를 제공합니다.

다음은 `boost::asio::io_service::work` 객체를 생성하는 방법입니다.
```cpp
boost::asio::io_service io_service;
boost::asio::io_service::work work(io_service);
```
`boost::asio::io_service::work` 객체를 생성하면, IO 서비스가 유지되고, 이벤트를 처리하기 위해 필요한 리소스가 제공됩니다. 이 객체는 이벤트 소스를 추가하기 위해 사용되며, 이벤트를 처리하기 위해 필요한 리소스를 제공합니다.

`boost::asio::io_service::work` 객체를 생성하는 이유는 다음과 같습니다.

* IO 서비스를 유지하기 위해: `boost::asio::io_service::work` 객체를 생성하면, IO 서비스가 유지되고, 이벤트를 처리하기 위해 필요한 리소스가 제공됩니다.
* 이벤트를 처리하기 위해: `boost::asio::io_service::work` 객체를 생성하면, 이벤트를 처리하기 위해 필요한 리소스가 제공됩니다.

`boost::asio::io_service::work` 객체를 사용하는 예는 다음과 같습니다.
```cpp
#include <boost/asio.hpp>

int main() {
    // IO 서비스 객체 생성
    boost::asio::io_service io_service;

    // work 객체 생성
    boost::asio::io_service::work work(io_service);

    // 이벤트를 큐에 추가
    io_service.post([] {
        // 이벤트 처리 코드
        std::cout << "Event processed" << std::endl;
    });

    // 이벤트를 처리하기 위해 run 함수 호출
    io_service.run();

    return 0;
}
```
이 예에서는 `boost::asio::io_service::work` 객체를 생성하여 IO 서비스를 유지하고, 이벤트를 처리하기 위해 필요한 리소스를 제공합니다. 이벤트를 처리하기 위해 `boost::asio::io_service::run` 함수를 호출합니다.

그러나, `boost::asio::io_service::work` 객체를 사용하는 경우, IO 서비스가 종료되지 않습니다. 따라서, IO 서비스를 종료하기 위해 `boost::asio::io_service::stop` 함수를 호출해야 합니다.
```cpp
io_service.stop();
```
이 함수를 호출하면, IO 서비스가 종료되고, 이벤트를 처리하기 위해 필요한 리소스가 해제됩니다.

--------------------

User prompt 3 of 9 - 3/13/2025, 7:48:12 AM:
fd 소스는 어떻게 추가하는가? 예제 소스를 보이라.

Llama 3.3 70B:
fd 소스를 추가하는 방법은 다음과 같습니다.

1. `boost::asio::posix::stream_descriptor` 객체를 생성합니다.
2. `boost::asio::io_service` 객체의 `assign` 함수를 사용하여 fd를 할당합니다.
3. `boost::asio::io_service` 객체의 `async_read` 함수를 사용하여 fd에서 데이터를 읽습니다.

예제 소스는 다음과 같습니다.
```cpp
#include <boost/asio.hpp>
#include <iostream>

int main() {
    // IO 서비스 객체 생성
    boost::asio::io_service io_service;

    // fd 소스 생성
    int fd = open("example.txt", O_RDONLY);
    if (fd == -1) {
        std::cerr << "Error opening file" << std::endl;
        return 1;
    }

    // stream_descriptor 객체 생성
    boost::asio::posix::stream_descriptor descriptor(io_service, fd);

    // 버퍼 생성
    char buffer[1024];

    // async_read 함수를 사용하여 fd에서 데이터를 읽습니다.
    descriptor.async_read_some(boost::asio::buffer(buffer), [](const boost::system::error_code& ec, std::size_t bytes_transferred) {
        if (ec) {
            std::cerr << "Error reading from file" << std::endl;
        } else {
            std::cout << "Read " << bytes_transferred << " bytes from file" << std::endl;
            std::cout.write(buffer, bytes_transferred);
        }
    });

    // IO 서비스를 실행합니다.
    io_service.run();

    return 0;
}
```
이 예제에서는 `boost::asio::posix::stream_descriptor` 객체를 생성하여 fd를 할당하고, `boost::asio::io_service` 객체의 `async_read` 함수를 사용하여 fd에서 데이터를 읽습니다.

fd 소스를 추가하는 경우, fd를 닫는 것을 잊지 말아야 합니다. 예제에서는 `open` 함수를 사용하여 fd를 열었지만, `close` 함수를 사용하여 fd를 닫지 않았습니다. 실제 코드에서는 fd를 닫는 것을 잊지 말아야 합니다.

또한, fd 소스를 추가하는 경우, fd의 소유권을 고려해야 합니다. 예제에서는 `boost::asio::posix::stream_descriptor` 객체가 fd의 소유권을 가지지만, 실제 코드에서는 fd의 소유권을 고려해야 합니다.

--------------------

User prompt 4 of 9 - 3/13/2025, 7:49:18 AM:
poll 이벤트 감시는 할 수 없는가?

Llama 3.3 70B:
Boost.Asio에서 poll 이벤트 감시는 할 수 있습니다. `boost::asio::posix::stream_descriptor` 객체를 사용하여 fd를 감시하고, `boost::asio::io_service` 객체의 `poll` 함수를 사용하여 이벤트를 감시할 수 있습니다.

예제 소스는 다음과 같습니다.
```cpp
#include <boost/asio.hpp>
#include <iostream>

int main() {
    // IO 서비스 객체 생성
    boost::asio::io_service io_service;

    // fd 소스 생성
    int fd = open("example.txt", O_RDONLY);
    if (fd == -1) {
        std::cerr << "Error opening file" << std::endl;
        return 1;
    }

    // stream_descriptor 객체 생성
    boost::asio::posix::stream_descriptor descriptor(io_service, fd);

    // poll 함수를 사용하여 이벤트를 감시합니다.
    descriptor.async_wait(boost::asio::posix::stream_descriptor::wait_read, [](const boost::system::error_code& ec) {
        if (ec) {
            std::cerr << "Error waiting for read event" << std::endl;
        } else {
            std::cout << "Read event occurred" << std::endl;
        }
    });

    // IO 서비스를 실행합니다.
    io_service.run();

    return 0;
}
```
이 예제에서는 `boost::asio::posix::stream_descriptor` 객체를 사용하여 fd를 감시하고, `boost::asio::io_service` 객체의 `async_wait` 함수를 사용하여 이벤트를 감시합니다.

`async_wait` 함수는 다음과 같은 이벤트를 감시할 수 있습니다.

* `wait_read`: 읽기 이벤트가 발생할 때 호출됩니다.
* `wait_write`: 쓰기 이벤트가 발생할 때 호출됩니다.
* `wait_error`: 오류 이벤트가 발생할 때 호출됩니다.

이벤트가 발생하면, 제공된 함수가 호출됩니다. 이 함수는 이벤트를 처리하고, 필요한 작업을 수행할 수 있습니다.

poll 이벤트 감시는 파일 디스크립터, 소켓, 파이프 등 다양한 유형의 fd에서 이벤트를 감시할 수 있습니다.

--------------------

User prompt 5 of 9 - 3/13/2025, 7:50:06 AM:
이벤트가 발생하면, 제공된 함수가 호출된다고 하는데 제공된 함수는 무엇인가?

Llama 3.3 70B:
제공된 함수는 `boost::asio::io_service` 객체의 `async_wait` 함수에 전달된 함수입니다. 이 함수는 이벤트가 발생했을 때 호출되는 함수입니다.

예제 소스에서 제공된 함수는 다음과 같습니다.
```cpp
[](const boost::system::error_code& ec) {
    if (ec) {
        std::cerr << "Error waiting for read event" << std::endl;
    } else {
        std::cout << "Read event occurred" << std::endl;
    }
}
```
이 함수는 람다 함수입니다. 람다 함수는 익명 함수로, 이벤트가 발생했을 때 호출됩니다.

이 함수는 다음과 같은 매개변수를 받습니다.

* `const boost::system::error_code& ec`: 이벤트가 발생했을 때의 오류 코드입니다. 오류 코드가 0이면 이벤트가 성공적으로 발생했음을 의미합니다.

이 함수는 이벤트가 발생했을 때 호출되며, 이벤트를 처리하고, 필요한 작업을 수행할 수 있습니다.

예제 소스에서 제공된 함수는 이벤트가 발생했을 때, 이벤트를 처리하고, 메시지를 출력합니다. 하지만, 실제 코드에서는 이벤트를 처리하고, 필요한 작업을 수행할 수 있습니다.

예를 들어, 이벤트가 발생했을 때, 데이터를 읽거나, 쓰기 작업을 수행할 수 있습니다.
```cpp
descriptor.async_wait(boost::asio::posix::stream_descriptor::wait_read, [](const boost::system::error_code& ec) {
    if (ec) {
        std::cerr << "Error waiting for read event" << std::endl;
    } else {
        char buffer[1024];
        descriptor.read_some(boost::asio::buffer(buffer));
        std::cout << "Read data: " << buffer << std::endl;
    }
});
```
이 예제에서는 이벤트가 발생했을 때, 데이터를 읽고, 메시지를 출력합니다.

--------------------

User prompt 6 of 9 - 3/13/2025, 7:50:42 AM:
async_wait 함수 원형에 대해 말하라.

Llama 3.3 70B:
`async_wait` 함수는 Boost.Asio 라이브러리에서 제공하는 함수로, 비동기적으로 이벤트를 기다리는 함수입니다. 이 함수는 다음과 같은 원형을 가지고 있습니다.
```cpp
template <
    typename WaitHandler>
void async_wait(
    boost::asio::posix::stream_descriptor::wait_type wait_type,
    WaitHandler handler);
```
이 함수는 다음과 같은 매개변수를 받습니다.

* `wait_type`: 기다릴 이벤트의 유형을 지정합니다. 이 매개변수는 `boost::asio::posix::stream_descriptor::wait_type` 열거형의 값 중 하나입니다.
+ `wait_read`: 읽기 이벤트를 기다립니다.
+ `wait_write`: 쓰기 이벤트를 기다립니다.
+ `wait_error`: 오류 이벤트를 기다립니다.
* `handler`: 이벤트가 발생했을 때 호출되는 함수입니다. 이 함수는 `WaitHandler` 유형의 객체로, 이벤트를 처리하고, 필요한 작업을 수행할 수 있습니다.

`WaitHandler` 유형은 다음과 같은 함수 시그니처를 가지고 있어야 합니다.
```cpp
void handler(
    const boost::system::error_code& ec);
```
이 함수는 다음과 같은 매개변수를 받습니다.

* `ec`: 이벤트가 발생했을 때의 오류 코드입니다. 오류 코드가 0이면 이벤트가 성공적으로 발생했음을 의미합니다.

`async_wait` 함수는 이벤트가 발생했을 때, 제공된 `handler` 함수를 호출합니다. 이 함수는 이벤트를 처리하고, 필요한 작업을 수행할 수 있습니다.

예제 소스에서 `async_wait` 함수를 사용하는 방법은 다음과 같습니다.
```cpp
descriptor.async_wait(
    boost::asio::posix::stream_descriptor::wait_read,
    [](const boost::system::error_code& ec) {
        if (ec) {
            std::cerr << "Error waiting for read event" << std::endl;
        } else {
            std::cout << "Read event occurred" << std::endl;
        }
    });
```
이 예제에서는 `async_wait` 함수를 사용하여 읽기 이벤트를 기다리고, 이벤트가 발생했을 때, 제공된 함수를 호출합니다.

--------------------

User prompt 7 of 9 - 3/13/2025, 7:51:34 AM:
읽기 이벤트를 기다리다가 이벤트가 발생하면 read 안 하는가?

Llama 3.3 70B:
`async_wait` 함수를 사용하여 읽기 이벤트를 기다리다가 이벤트가 발생하면, 자동으로 데이터를 읽지 않습니다. 이벤트가 발생했을 때, 제공된 함수가 호출되며, 이 함수에서 데이터를 읽어야 합니다.

예제 소스에서 `async_wait` 함수를 사용하는 방법은 다음과 같습니다.
```cpp
descriptor.async_wait(
    boost::asio::posix::stream_descriptor::wait_read,
    [](const boost::system::error_code& ec) {
        if (ec) {
            std::cerr << "Error waiting for read event" << std::endl;
        } else {
            char buffer[1024];
            descriptor.read_some(boost::asio::buffer(buffer));
            std::cout << "Read data: " << buffer << std::endl;
        }
    });
```
이 예제에서는 `async_wait` 함수를 사용하여 읽기 이벤트를 기다리다가 이벤트가 발생하면, 제공된 함수가 호출됩니다. 이 함수에서 `descriptor.read_some` 함수를 사용하여 데이터를 읽습니다.

만약 데이터를 읽지 않으면, 읽기 이벤트가 발생했음에도 불구하고 데이터가 버퍼에 남아있게 됩니다. 따라서, 읽기 이벤트를 기다리다가 이벤트가 발생하면, 데이터를 읽어야 합니다.

다음은 읽기 이벤트를 기다리다가 이벤트가 발생하면, 데이터를 읽지 않는 예제 소스입니다.
```cpp
descriptor.async_wait(
    boost::asio::posix::stream_descriptor::wait_read,
    [](const boost::system::error_code& ec) {
        if (ec) {
            std::cerr << "Error waiting for read event" << std::endl;
        } else {
            std::cout << "Read event occurred" << std::endl;
        }
    });
```
이 예제에서는 `async_wait` 함수를 사용하여 읽기 이벤트를 기다리다가 이벤트가 발생하면, 제공된 함수가 호출됩니다. 그러나, 이 함수에서 데이터를 읽지 않습니다. 따라서, 읽기 이벤트가 발생했음에도 불구하고 데이터가 버퍼에 남아있게 됩니다.

--------------------

User prompt 8 of 9 - 3/13/2025, 7:53:03 AM:
POLLIN, POLLHUP를 감시하는 것이 가능한가?

Llama 3.3 70B:
Yes, Boost.Asio에서 POLLIN, POLLHUP를 감시하는 것이 가능합니다.

`boost::asio::posix::stream_descriptor` 객체의 `async_wait` 함수를 사용하여 POLLIN, POLLHUP를 감시할 수 있습니다.

POLLIN은 파일 디스크립터에서 데이터가 읽을 수 있을 때 발생하는 이벤트입니다. POLLHUP은 파일 디스크립터에서 연결이 끊어졌을 때 발생하는 이벤트입니다.

다음은 POLLIN, POLLHUP를 감시하는 예제 소스입니다.
```cpp
descriptor.async_wait(
    boost::asio::posix::stream_descriptor::wait_read,
    [](const boost::system::error_code& ec) {
        if (ec) {
            std::cerr << "Error waiting for read event" << std::endl;
        } else {
            std::cout << "Read event occurred" << std::endl;
        }
    });
```
이 예제에서는 `async_wait` 함수를 사용하여 POLLIN을 감시합니다. POLLIN이 발생하면, 제공된 함수가 호출됩니다.

POLLHUP을 감시하려면, `boost::asio::posix::stream_descriptor::wait_error`를 사용하여야 합니다.
```cpp
descriptor.async_wait(
    boost::asio::posix::stream_descriptor::wait_error,
    [](const boost::system::error_code& ec) {
        if (ec) {
            std::cerr << "Error waiting for error event" << std::endl;
        } else {
            std::cout << "Error event occurred" << std::endl;
        }
    });
```
이 예제에서는 `async_wait` 함수를 사용하여 POLLHUP을 감시합니다. POLLHUP이 발생하면, 제공된 함수가 호출됩니다.

Boost.Asio에서 POLLIN, POLLHUP를 감시하는 것은 파일 디스크립터에서 데이터를 읽거나, 연결이 끊어졌을 때 발생하는 이벤트를 감시하는 데 사용됩니다.

--------------------

User prompt 9 of 9 - 3/13/2025, 7:53:59 AM:
POLLIN, POLLHUP 신호가 함께 발생할 수 있다는 것을 아는가?

Llama 3.3 70B:
Yes, POLLIN과 POLLHUP 신호가 함께 발생할 수 있습니다.

POLLIN은 파일 디스크립터에서 데이터가 읽을 수 있을 때 발생하는 이벤트입니다. POLLHUP은 파일 디스크립터에서 연결이 끊어졌을 때 발생하는 이벤트입니다.

때때로, 파일 디스크립터에서 데이터가 읽을 수 있을 때(POLLIN)와 동시에 연결이 끊어질 수 있습니다(POLLHUP). 이 경우, POLLIN과 POLLHUP 신호가 함께 발생할 수 있습니다.

예를 들어, TCP 소켓에서 데이터를 읽을 수 있을 때(POLLIN)와 동시에 연결이 끊어질 수 있습니다(POLLHUP). 이 경우, POLLIN과 POLLHUP 신호가 함께 발생할 수 있습니다.

Boost.Asio에서 POLLIN과 POLLHUP 신호를 함께 감시하려면, `boost::asio::posix::stream_descriptor::wait_read`와 `boost::asio::posix::stream_descriptor::wait_error`를 함께 사용하여야 합니다.
```cpp
descriptor.async_wait(
    boost::asio::posix::stream_descriptor::wait_read | boost::asio::posix::stream_descriptor::wait_error,
    [](const boost::system::error_code& ec) {
        if (ec) {
            std::cerr << "Error waiting for read or error event" << std::endl;
        } else {
            std::cout << "Read or error event occurred" << std::endl;
        }
    });
```
이 예제에서는 `async_wait` 함수를 사용하여 POLLIN과 POLLHUP 신호를 함께 감시합니다. POLLIN과 POLLHUP 신호가 함께 발생하면, 제공된 함수가 호출됩니다.

POLLIN과 POLLHUP 신호가 함께 발생할 수 있으므로, Boost.Asio에서 이러한 신호를 함께 감시하는 것은 중요합니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 매니저들에게 가장 잘할 것 같은 스타는? 운영자 25/03/10 - -
공지 프로그래밍 갤러리 이용 안내 [87] 운영자 20.09.28 42337 64
2829187 똥줄타는 범죄수괴 리죄명 ㅇㅅㅇ ♥냥덩♥갤로그로 이동합니다. 12:28 0 0
2829186 [자유 대한민국] 법원행정처장 천대엽 프갤러(121.172) 12:27 13 0
2829185 진격거 보러왔는데 [1] 아스카영원히사랑해갤로그로 이동합니다. 12:27 6 0
2829184 지금 실베보면 미국 사회보장제도 150세부정수급문제있는데 ㅆㅇㅆ찡갤로그로 이동합니다. 12:25 4 0
2829183 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩♥갤로그로 이동합니다. 12:25 0 0
2829182 가세연은 종교임 뒷통수한방(1.213) 12:17 5 0
2829181 xcode이 씨발련들은 나아지질않네 [1] 짭거위갤로그로 이동합니다. 12:12 11 0
2829180 내란수괴 리죄명 이젠 반성의 시간 ♥냥덩♥갤로그로 이동합니다. 12:11 8 0
2829179 종북내란당 억지 탄핵 떼쓰기 전원기각 ㅇㅅㅇ ♥냥덩♥갤로그로 이동합니다. 12:10 6 0
2829178 사실 지금 조장하고있는것도 아래 조선족 양반들이 ㅆㅇㅆ찡갤로그로 이동합니다. 12:08 11 0
2829177 좇센보면 ㄹㅇ 싸패새끼들이 더 잘사는거 느낄수있지 뒷통수한방(1.213) 12:05 7 0
2829176 사실 플밍 공부해보고 느낀게 실제 문서 공부한 애들은 적다 [2] ㅆㅇㅆ찡갤로그로 이동합니다. 11:58 23 0
2829175 인력뛰다보면 정보격차 크다느낌 [10] ㅆㅇㅆ찡갤로그로 이동합니다. 11:55 63 0
2829173 근데 winui3는 안쓴대? [3] ㅆㅇㅆ찡갤로그로 이동합니다. 11:42 20 0
2829172 왜 WPF라고 하고 뽑는곳은 다 윈폼인걸까 ㅇㅅㅇ [3] 강유현갤로그로 이동합니다. 11:32 32 0
2829171 [단독] 민주 박홍근 “尹 내란 확정시 국민의힘도 해산 청구” 발명도둑잡기갤로그로 이동합니다. 11:29 9 0
2829170 그 반말이냐 존댓말이냐보다는 정보의 정리문제일듯 [2] ㅆㅇㅆ찡갤로그로 이동합니다. 11:25 21 0
2829169 개발귀의 길을 걷는 나님 질문 받는다 [7] 딱님갤로그로 이동합니다. 11:23 42 0
2829168 씨쁠쁠은 근데 넘 어려운게 기본적으로 명세만 있고 [4] ㅆㅇㅆ찡갤로그로 이동합니다. 11:23 26 0
2829167 씨샵 제네릭은 IL코드 재사용이고 씨쁠쁠은 기계어 복제임 [2] ㅆㅇㅆ찡갤로그로 이동합니다. 11:21 33 0
2829166 코딩 초보가 GPT 도움으로 코드 짜면서 느낀점 [7] 프갤러(106.101) 11:21 44 0
2829165 씨플플 템플릿이 갓샵 제네릭이라고 보면대나 ㅇㅅㅇ? [7] 강유현갤로그로 이동합니다. 11:12 46 0
2829164 진정한 개발자가 될수밖에없다 [5] 초코냥갤로그로 이동합니다. 11:05 45 0
2829163 프갤특징 : 번역본없는 php나 python못함 [2] 프갤러(220.65) 11:04 39 2
2829162 근데 김대기 맞긴한가보네 주작념글 빈도 늘린거보니까 ㅆㅇㅆ찡갤로그로 이동합니다. 11:03 16 0
2829161 아 재미없다. [1] 프갤러(119.202) 11:00 21 0
2829160 솔직히 욕을 먼저 안하고싶긴해도 ㅆㅇㅆ찡갤로그로 이동합니다. 10:59 18 0
2829159 211.234같은 장애인보면 욕박아서 미안하다 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 10:58 30 0
2829158 얼리버드 면접 완료 ㅇㅅㅇ [2] 강유현갤로그로 이동합니다. 10:55 42 0
2829157 잼있냐 프갤러(119.202) 10:52 15 0
2829156 SAP 개발자의 제자는 전부 저러냐 [6] ㅇㅇ(211.234) 10:49 72 5
2829155 윤석열 대통령 각하나 전원 기각으로 갈듯 ㅇㅅㅇ ♥냥덩♥갤로그로 이동합니다. 10:47 29 0
2829154 역류.자동글쓰기 구매 구매(121.163) 10:47 15 0
2829152 이 썅 존내 잘생긴 인싸같은 것들 [1] 프갤러(119.202) 10:39 28 0
2829151 차은우 이새끼 정체가 뭐냐?? 뒷통수한방(1.213) 10:38 17 0
2829150 템퍼 몽키 스크립트 막혀서 차단한놈들 보이는게 좆같음 [4] ㅆㅇㅆ찡갤로그로 이동합니다. 10:34 27 0
2829149 고만좀해라 이 [2] 프갤러(119.202) 10:34 23 0
2829148 다른걸로 전향 하고 싶은데.. [1] ㅇㅇ(211.235) 10:33 19 0
2829147 개발귀(鬼)의 경지에 도달하기 위해서는 퇴근 후에도 딱님갤로그로 이동합니다. 10:32 19 0
2829146 쭈쭈맘마❤+ ♥냥덩♥갤로그로 이동합니다. 10:30 17 0
2829145 211.234아 너는 사람이 왜 그래 졸렬하고비겁하냐 ㅆㅇㅆ찡갤로그로 이동합니다. 10:29 20 0
2829144 모닝 커피 마시면 점심까지 배 안구풍☀+ ♥냥덩♥갤로그로 이동합니다. 10:27 10 0
2829143 211.234 점마 김대기인가 뭔가라매 [1] ㅆㅇㅆ찡갤로그로 이동합니다. 10:26 26 0
2829142 아.. 낼부터는 돈벌이에 집중하자. *루비*갤로그로 이동합니다. 10:23 11 0
2829141 개인적으로 초코냥 존경한다 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 10:22 21 0
2829140 아오 씨발년아 [2] 아스카영원히사랑해갤로그로 이동합니다. 10:19 33 0
2829139 화교분탕들의 집요한 지센 연애썰 날조 - 남돌대기실 ㅇㅇ(110.70) 10:19 18 0
2829138 아네르스 하일즈베르 이 사람 clr도 만드셨구나 ㅆㅇㅆ찡갤로그로 이동합니다. 10:18 11 0
2829137 올해 목표는 AI마스터하기 ㅇㅅㅇ~ [3] 초코냥갤로그로 이동합니다. 10:16 30 0
뉴스 [TVis] ‘나는 솔로’ 25기 광수 “개업 의사, 연봉 5억원”…옥순 美 명문 음대 출신 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2