목록그외 (18)
Vienna

◇ 버블 정렬 앞에서부터 값의 크기를 비교하여 1. 오름차순일 경우에는 뒤에 가장 큰 값을 배치하고, 2. 내림차순일 경우에는 뒤에 가장 작은 값을 배치하는 정렬 알고리즘. import java.util.*; public class Main { public static void main(String[] args) { int[] arr1 = {3, 5, 2, 7, 1, 4}; buffleSort1(arr1); System.out.println("[버블 정렬] 방식1 = " + Arrays.toString(arr1)); int[] arr2 = {3, 5, 2, 7, 1, 4}; buffleSort2(arr2); System.out.println("[버블 정렬] 방식2 = " + Arrays.toString(..

◇ 문제 웹사이트에서 대부분의 게시판(공지사항등)들은 콘텐츠를 모두 보여줄 수 없기 때문에 페이징 처리를 합니다. (아래 이미지 참조) 예를 들어, 전체 글의 개수가 127개라고 하고 한 페이지에서 보여지는 글의 목록이 10개라고 할때 페이지 블럭의 개수도 10개가 보여진다고 할때 전체 페이지의 모양은 아래와 같습니다. 이러한 페이지네비게이션의 html 코드를 출력하는 페이지네비게이션을 구현해보세요. 초기에 결정되는 값들은 전체 개시글 수 한 페이지당 보여지는 글의 수 페이지네비게이션에서 보여주는 블럭수 현재 페이지번호 현재 페이지번호에 해당하는 번호는 다른 페이지번호와 구분되어야 합니다. import java.io.*; public class Main { static final String newLin..

◇ 문제 다음 조건에 맞는 프로그램을 작성해 보세요. 나의 좌표 값을 입력 받습니다. (입력은 순서대로 x값, y값을 받습니다.) - 이후, 임의의 좌표 값을 입력 받습니다.(역시, x값, y값을 입력 받습니다.) - 임의로 입력된 좌표 값 중 동일한 좌표 값을 입력하는 경우는 저장하지 않고 다시 입력하도록 합니다. - 입력 받은 값이 10개가 되는 경우, 입력 받은 좌표 값과 나의 좌표 값의 거리 중 가장 가까운 좌표 값을 화면에 출력하는 프로그램을 작성해 보세요. 예를 들어, 나의 좌표 값이 1, 1 이고 임의로 입력받은 좌표 값들이 (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), (11, 11) 일 때 나와 가장 가..

◇ 문제 그림에 보이는 웹브라우저 화면은 자바의 환경 정보를 html의 테이블 구조로 출력한 화면입니다. 아래 조건에 맞게 property.html 파일을 만드는 코드를 작성하세요. [조건] 자바의 시스템 속성과 파일 저장 코드는 샘플 코드를 참조해 주세요. 출력결과의 파일은 웹브라우저로 확인해서 정상적으로 표시되어야 합니다. html파일을 작성할 때 테이블에 라인이 표시되도록 head 태그에 style태그 추가(샘플 코드 참조) ◆ 문제 해결 나는 아직 Java로 html 파일을 만드는 방법을 알지 못한다. 그래서 나는 구글링을 해보았다. 어떤 블로그 포스팅이 가장 이 문제를 해결하는 것이 적합할까, 찾아보던 중 다음과 같은 글을 발견했다. https://velog.io/@mingsomm/%EC%9E%..
■ 환경 변수란? 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임 https://ko.wikipedia.org/wiki/%ED%99%98%EA%B2%BD_%EB%B3%80%EC%88%98#:~:text=%ED%99%98%EA%B2%BD%20%EB%B3%80%EC%88%98(%E7%92%B0%E5%A2%83%20%E8%AE%8A%E6%95%B8%2C%20%EC%98%81%EC%96%B4,%EC%9D%B8%20%EA%B0%92%EB%93%A4%EC%9D%98%20%EB%AA%A8%EC%9E%84%EC%9D%B4%EB%8B%A4. 환경 변수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 환경 변수(環境 變數, 영어: environment variable)는 프로..
/* * namedpipe_server.cpp * * 프로그램 설명: 이름 있는 파이프 서버 */ #include #include #include #define BUF_SIZE 1024 int CommToClient(HANDLE); int _tmain(int argc, TCHAR* argv[]) { LPCTSTR pipeName = _T("\\\.\\pipe\\ simple_pipe"); HANDLE hPipe; while (1) { hPipe = CreateNamedPipe( pipeName, PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT, PIPE_UNLIMITED_INSTANCES, BUF_SIZE, BUF_SIZ..
■ Windows 파이프 매커니즘의 종류 - 이름없는 파프(Anonymous Pipie) - 이름dlTsms 파프(Named Pipie) □ 메일 슬롯 방식과 파이프 방식의 차이 메일슬롯 서로 관련이 없는 프로세스들 사이에서 통신할 때 유용한 IPC 기법. 단, 브로드캐스트 방식 지원. 이름 없는 파이프 지극히 관계가 있는 (부모 자식 관계 혹은 형제 관계) 프로세스들 사이에서 통신하는 경우에 유용 이름 있는 파이프 메일슬롯처럼 주소정보가 있다. (때문에 서로 관계가 없는 프로세스 끼리도 통신이 가능.) 단, 메일슬롯과 달리 브로드캐스트 방식 지원하지 않고 양방향 통신 가능. ■ Anonymous Pipe 한쪽 끝에서는 데이터가 들어가고 다른 한 쪽에서는 들어간 데이터가 흘러나오는 것이 파이프의 원리. ..
#define _CRT_SECURE_NO_WARNINGS /* * DuplicateHandle.cpp * * 프로그램 설명: DuplicateHandle 함수의 이해 */ #include #include #include int _tmain(int argc, TCHAR* argv[]) { HANDLE hProcess; TCHAR cmdString[1024]; DuplicateHandle(GetCurrentProcess(), GetCurrentProcess(), GetCurrentProcess(), &hProcess, 0, TRUE, DUPLICATE_SAME_ACCESS); _stprintf(cmdString, _T("%s %u"), _T("ChildProcess.exe"), (unsigned)hProce..
■ Pseudo 핸들 GetCurrentProcess 함수를 통해 얻은 핸들을 가리키는 말. 핸들 테이블에 등록되어있지 않은 핸들이고, 현재 실행 중인 프로세스를 참조하기 위한 용도로 정의해 놓은 약속된 상수가 반환되는 것이기 때문. □ 핸들 복제 (Duplicate Handle) BOOL DuplicateHandle{ HANDLE hSourceProcessHandle,// 1 HANDLE hSourceHandle,// 2 HANDLE hTargetProcessHandle,// 3 LPHANDLE lpTargetHandle,// 4 DWORD dwDesireAcces,// 5 BOOL bInheritHandle,// 6 DWORD dwOptions// 7 } 1.hSourceProcessHandle 복제..

◇ 예제를 통해서 확인하는 핸들 정보의 상속 #define _CRT_SECURE_NO_WARNINGS /* * MailSender2_1.cpp * * 프로그램 설명: 핸들의 상속 확인용 예제. 부모 프로세스 */ #include #include #include #define SLOT_NAME _T("\\\\.\\mailslot\\mailbox") int _tmain(int argc, TCHAR* argv[]) { HANDLE hMailSlot; TCHAR message[50]; DWORD bytesWritten; SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(sa); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; h..