본문 바로가기

델파이473

한글/유니코드 인코딩에 대한 완전한 이해 Euc-KR, CP949, UTF-8 한글/유니코드 인코딩에 대한 완전한 이해 Euc-KR, CP949, UTF-8 한글/유니코드 인코딩에 대한 완전한 이해 Euc-KR / CP949 / UTF-8 다음의 내용은 본인이 한글을 지원하는 여러 장비와 연동작업을 하면서 힘들었던 한글호환 문제를 해결하기 위해 직접 정리한 자료입니다. 여러분에게 도움이 되었으면 하는 바람에서 팁정보로 올립니다. 제가 잘못 이해 했거나 틀린 부분이 있으면 알려 주시면 수정토록 하겠습니다. 용어정리 한글 - 완성형 코드 : 한글 한글자 한글자에 해당하는 코드표를 만들어 1:1 맴핑 하여 글자를 찾는 방식 (논리성 없음) 전세계 문자가 한글처럼 과학적으로 만들어 지지 못하고 그림형태로 만들어진 문자가 많기 때문. 한글 - 조합형 코드 : 논리적 코드생성 변환단계 1 -.. 2023. 5. 16.
윈도우10 로그인암호 삭제 및 변경 방법 윈도우10 로그인암호 삭제 및 변경 방법 윈도우10 사용하다가 보면 로그인암호를 설정할때도 있고 귀찮으면 로그인암호를 없애버리고 싶은사람도 있을것이다! (나는 참고로 없애는.....) 그래서 오늘 포스팅은 윈도우10 로그인암호를 없애거나 변경하는 법을 포스팅을 하겠다~! 그림과 같이 차근차근 로그인 암호를 삭제 및 변경하면 될것이다~!!! 가보도록 하쟈!!!!!!!!!!!!! 꼬~~~~~~~~~~~~~~~~~~~~~~~~~~~~우!!!!!!!!!!!!!!!!!!!! ​ 1. 윈도우 시작메뉴를 클릭 후 아래와 같이 [설정]을 클릭한다!! 2. 설정화면이 뜨면 세번째줄 [계정] 을 클릭한다!! 3. 계정화면이 나오면서 왼쪽 리스트를 보면 [로그인옵션]을 클릭하면 메인화면에 로그인 옵션에 상세한 설정을 할수있.. 2023. 5. 12.
울트라에디터(UltraEdit)에서 세로열 편집 방법 울트라에디터(UltraEdit)에서 세로열 편집 방법 1. Alt+C 또는 상단에 클릭!!! 2. 원하는 구간 블럭 지정 3.입력 또는 편집 2023. 5. 9.
윈도우 10 오류 0x80070522 해결방법 윈도우 10 오류 0x80070522 해결방법 어드민 계정도 관리자 권한이 있는데도 계속 증상이 나오면 우선 이방법으로 해보쟈!! 난 해결했다 알트 + R 누른 후 이렇게 설정 뒤에 재부팅을 꼭 하쟈!! 2023. 5. 8.
엑셀 실행 숨겨진모듈의컴파일오류 osspecific 엑셀 실행 숨겨진모듈의컴파일오류 osspecific MS 오피스를 설치 후 엑셀 실행 후 다음과 같은 오류가 발생할 수 있다. 숨겨진 모듈 OSSpecific에서 컴파일 오류가 발생했습니다. 이 오류는 일반적으로 코드가 이 응용 프로그램의 버전, 플랫폼 또는 아키텍처와 호환되지 않을 때 발생합니다. "도움말"을 클릭하여 이 오류를 해결하는 방법에 대한 정보를 확인하세요. 당황하지말자!!!! 우리에는 구글신과 네이년이 있다!!! 우선 검색 후 1차 시도로 해결방법을 찾아보쟈!!! 그래도 안되면 이 방법을 써봐라! 이것도 구글링 해서 찾은거...;;; 방법 1 : 프로그램에 설치한것중에 PDF-Pro 4.5가 있으면 우선 삭제해본다!!! 방법 2 : 방법1이 안된경우 Microsoft Visual C++ 2.. 2023. 5. 3.
컴퓨터 한글 코드 - ASCII Code 컴퓨터 한글 코드 - ASCII Code 며칠전, 세벌식 자판의 우수성을 객관적으로 생각해보고자, 애국가를 분석한 일이 있었다. 결과는 좀더 정리해서 올려보고자 한다. (다음 세벌식 사랑 모임 까페에 약간의 오류가 있고 정보가 부족해보이는 애국가 분석자료를 HWP로 올려놓았습니다.) 분석 도중 애로사항은, '각'이라는 글자가 있다면, ㄱ+ㅏ+ㄱ 으로 나누어 분석해야 하는데, 600타 가까이 되는 애국가를 일일히 손으로 분석하는데 시간이 걸리며, 이보다 더 긴 글은 손으로 분석하는데 엄두도 내지 못한다는 것이다. 명색이 컴퓨터학과 졸업생이니 분석프로그램을 만들어 돌려보면 되지 않을까 생각도 했는데... 아뿔사, 한글은 완성형으로 되어있고 이제까지 기껏 아스키(ASCII)코드로 알파벳이나 숫자정도만 끄적거려.. 2023. 5. 2.
Antimalware Service Executable 제거 및 비활성 방법 Antimalware Service Executable 제거 및 비활성 방법 이번 시간은 CPU 및 메모리를 많이 차지한 탓에 컴퓨터를 정상으로 쓸 수 없게 만든다고 알려져있는 Antimalware Service Executable 제거 방법에 대해서 간략히 설명해 보도록 하겠습니다. PC를 사용하다 보면 몇 가지 이유 때문에 파일을 받을 때가 있고 기본으로 제공해 주는 프로그램을 활용하시는 분들도 꽤 많을 거라고 생각하는데요. 그리고 상황에 따라 윈도우 버전을 업데이트하여 성능을 향상시키거나 보안적인 기능을 강화하기도 하는데 이 과정에서 특정 프로세스의 영향을 받아 CPU가 과부하되고 문제 생길 때가 있을 겁니다. 물론 또 다른 원인이 있을 수 있지만 안티멀웨어 서비스라는 녀석 때문에 끊기는 현상이나 .. 2023. 4. 26.
NSIS 설치 파일 만들어 배포하기 NSIS 설치 파일 만들어 배포하기 NSIS(Nullsoft Scriptable Install System)은 윈도우즈용 설치 파일을 만들기 위한 오픈 소스 프레임워크입니다. NSIS를 사용하면 사용자 정의 설치 프로그램을 만들고 배포할 수 있습니다. NSIS 설치 NSIS 공식 웹사이트(https://nsis.sourceforge.io/Main_Page)에서 NSIS 설치 파일을 다운로드하고 설치합니다. 스크립트 파일 작성 NSIS 스크립트 파일(.nsi)을 작성합니다. 이 파일은 설치 프로그램의 동작을 정의합니다. NSIS 스크립트 파일은 일련의 명령어로 구성되며, 각 명령어는 설치 프로그램의 동작을 결정합니다. 예를 들어, 파일을 복사하거나 레지스트리 값을 설정하는 등의 작업을 수행할 수 있습니다... 2023. 4. 21.
15.RMI RMI [ remote method invocation ] ​ remote method invocation의 약어. 서로 다른 가상 기계에 존재하는 함수를 호출하고 실행하는 기능을 담당한다. 서로 다른 로컬 LAN이나 리모트 LAN에 위치한 각각의 객체를 원격 객체라고 하는데, 이들 간의 통신 메커니즘을 제공한다. 1980년대 RPC(remote procedure call)를 기반으로 한 것으로 원격 인터페이스, 원격 서버, 에이전트, 네이밍 레지스트리로 이루어진다. -원격 분석법 청구 -Java Architecture 분산 환경, 기본 제공 -이름 지정 서버 만 -컴파일만으로 네트워크 프록시 지원 직렬화 란? -Java.io. 직렬화 및 NotSerializableException -클래스 레벨 및 인.. 2023. 4. 13.
14. Bridge 패턴 Bridge 패턴 bridge 패턴 bridge는 '무엇인가를 연결한다'는 의미이다. bridge 패턴도 두 장소를 연결하는 역할을 한다. bridge 패턴은 기능의 클래스 계층과 구현의 클래스 계층을 연결하고, 구현부에서 추상 계층을 분리하여 각자 독립적으로 변형할 수 있게 해준다. [그림 5-37]에서 supperClass의 method()는 implementor의 impMethod()를 사용해 구현되고, subClass의 subMethod()는 supperClass의 method()들을 사용해 구현된다. 그 결과 subClass와 implementor(concreteImplement)가 분리된다. bridge 패턴은 구현과 인터페이스(추상화된 부분)를 분리할 수 있고, 추상화된 부분과 실제 구현 부.. 2023. 4. 12.
13. Strategy 패턴 Strategy 패턴 전략은 하나, 전술은 다양하게 strategy 패턴 strategy의 의미는 '전략', '전술'이다. 소프트웨어 개발에서 전략이나 전술은 알고리즘으로 구현한다. strategy 패턴은 [그림 5-47]과 같다. 즉 알고리즘 군을 정의하고(strategySort 추상 클래스) 같은 알고리즘(버블 정렬, 퀵 정렬, 선택 정렬 등)을 각각 하나의 클래스로 캡슐화한(quickSort 클래스, selectSort 클래스, bubbleSort 클래스) 다음, 필요할 때 서로 교환해서 사용할 수 있게 해준다. 이 패턴을 사용하면 클라이언트와 무관하게 독립적으로 알고리즘을 변경할 수 있고(quickSort→bubbleSort), 클라이언트는 독립적으로 원하는 알고리즘을 사용할 수 있다. 즉 이 패.. 2023. 4. 11.
iterator 패턴 iterator 패턴 집합체의 구성물 보여주기 iterator 패턴 iterate는 '반복하다'라는 뜻이고, iterator은 '반복자'라는 뜻이다. 즉 무엇인가 반복할 때 iterator 객체를 사용한다. iterator 객체는 반복하는 데 필요한 첫 번째 요소를 가리키는 메서드, 다음 요소를 가리키는 메서드, 마지막 요소를 가리키는 메서드, 현재 포인터가 가리키고 있는 요소를 반환하는 메서드 등을 포함한다. iterator 패턴은 반복이 필요한 자료구조를 모두 동일한 인터페이스를 통해 접근할 수 있도록 [그림 5-43]처럼 iterator 객체 속에 넣은 다음, iterator 객체의 메서드를 이용해 자료구조를 활용할 수 있도록 해준다. 반복에 사용되는 자료구조에는 배열, 리스트, Set, Map 등.. 2023. 4. 6.
11.Builder 패턴 / Chain of Responsibility 패턴 Builder 패턴 Chain of Responsibility 패턴 chain of responsibility 패턴 책임들이 연결되어 있어 내가 책임을 못 질 것 같으면 다음 책임자에게 자동으로 넘어가는 구조를 말한다. 이런 구조가 필요한 이유를 먼저 살펴보자. 예를 들어, 학생이 학교의 한 부서(학생처)에 상담 전화를 걸었다고 생각해보자. 전화를 받은 사람이 해당 문제는 담당자가 다르다고 실제 담당자의 전화번호만 가르쳐준다면 전화를 건 학생은 일단 전화를 끊고 알려준 번호로 다시 전화를 걸어야 한다. 그런데 알려준 번호로 전화를했는데 이번에도 담당자가 바뀌었다며 다른 전화번호를 알려준다면 학생은 담당자와 연결될 때까지 세 번이나 전화를 걸어야 하므로 매우 불편하고 짜증이 날 것이다. 이와 달리 처음 전.. 2023. 4. 4.
10.composite 패턴 composite 패턴 composite의 의미는 '합성의', '합성물', '혼합 양식'이다. 이를 통해 composite 패턴이 뭔가 합쳐진 형태임을 짐작할 수 있다. 또 composite 패턴의 구성을 보면 일반적인 트리 구조를 하고 있는데, [그림 5-34]처럼 부분-전체의 상속 구조이다. 이와 같이 표현되는 조립 객체를 컴포지트 객체(composite object)라고 한다. composite 패턴은 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 한 것이다. 이런 형태는 재귀적인 구조로서, 마치 파일 구조에서 디렉토리 안에 파일이 존재할 수도 있고, 또 다른 디렉토리(서브 디렉토리)가 존재할 수 있는 것과 같다. 즉 composite 패턴은 그릇(디렉토리)과 내용물(파일)을 동일시해서 재.. 2023. 4. 3.
9.observer 패턴 observer 패턴 observer '관찰하는 사람', '관찰자'란 뜻이다. 관찰자는 무엇인가 감시하고 있다가 관찰 대상에 변화가 생기면 이를 즉시 감지하고 알려주는 역할을 한다. 예를 들어 가정에서 아내(observer)는 남편이 퇴근하는 모습을 보고 남편 기분이 좋은지, 나쁜지, 아니면 화가 났는지 등의 상태를 파악해 아이들에게 알려준다. 아이들은 아빠의 기분 상태에 따라 각자 처신한다. 아빠가 화가 많이 나 있으면 큰아들은 놀다가도 열심히 공부하는 모습을 보여주고, 둘째 아들은 집안 청소하는 모습을 보여주고, 막내딸은 주방에서 설거지를 한다. 이때 엄마는 아이들에게 무엇을 하라고 말하지 않는다. 그냥 아빠가 몹시 화가 나 있다고만 얘기한다. 이처럼 어떤 클래스에 변화가 일어났을 때, 이를 감지하여.. 2023. 3. 29.
8.Command 패턴과 Mediator 패턴 Command 패턴과 Mediator 패턴 Command 패턴 command의 의미는 '명령어'이다. 문서편집기의 복사(copy), 붙여넣기(paste), 잘라내기(cut) 등도 모두 명령어이다. 그런데 이런 명령어를 각각 구현하는 것보다는 [그림 5-52]처럼 하나의 추상 클래스에 execute() 메서드를 하나 만들고 각 명령이 들어오면 그에 맞는 서브 클래스(copy_command)가 선택되어 실행하는 것이 효율적이다. 이는 함수 오버로딩(overloading)과 같은 추상화 개념을 사용한 것이다. 그러나 command 패턴은 단순히 명령어를 추상 클래스(abstract class)와 구체 클래스(copy_command, cut_command, paste_command)로 분리하여 단순화한 것으로 .. 2023. 3. 28.
7. Immutable 패턴 / Flyweight 패턴 Immutable 패턴 / Flyweight 패턴 1. Immutable (변하지 않은...) 2.Flyweight (권투 헤비급..가볍다) 2023. 3. 27.
6-2.Instance 패턴 Instance 패턴 예를 들어 풀 만들기 및 필요할 때마다 할당하십시오. 왜? -Java는 Object로 시작하여 Object로 끝납니다. -너무로드 된 JVM 추적 오브젝트 -고려해야 할 사항 언제, 객체를 인스턴스화하는 방법 인스턴스화 객체를 최적화하는 방법 인스턴스 풀은 Singleton의 친구입니다 왜? -관리자 필요 -그러나 여러 관리자가 필요하지 않습니다 -한 명의 관리자만으로 충분 왜? -관리자 필요 -그러나 여러 관리자가 필요하지 않습니다 -한 명의 관리자만으로 충분 2023. 3. 24.
6-1.Singleton 패턴 Singleton 패턴 singleton은 '단독 개체', '독신자'라는 뜻 말고도 '정확히 하나의 요소만 갖는 집합' 등의 의미가 있다. singleton 패턴은 객체의 생성과 관련된 패턴으로서 특정 클래스의 객체가 오직 한 개만 존재하도록 보장한다. 즉 클래스의 객체를 하나로 제한한다. 프로그램에서 이런 개념이 필요할 때는 언제일까? 프린터 드라이버의 예를 들어보자. 여러 컴퓨터에서 프린터 한 대를 공유하는 경우, 한 대의 컴퓨터에서 프린트하고 있을 때 다른 컴퓨터가 프린트 명령을 내려도 현재 프린트하는 작업을 마치고 그다음 프린트를 해야지 두 작업이 섞여 나오면 문제가 될 것이다. 즉 여러 클라이언트(컴퓨터)가 동일 객체(공유 프린터)를 사용하지만 한 개의 객체(프린트 명령을 받은 출력물)가 유일하.. 2023. 3. 22.
5.facade 패턴 facade 패턴 facade는 '건물의 앞쪽 정면(전면)'이란 뜻이다. facade 패턴은 [그림 5-40]에서 적용 전과 후를 비교해보면 어떤 의미인지 짐작할 수 있을 것이다. 몇 개의 클라이언트 클래스와 서브시스템의 클라이언트 사이에 facade라는 객체를 세워놓음으로써 복잡한 관계를 정리(구조화)한 것이다. 즉 모든 관계가 전면에 세워진 facade 객체를 통해서만 이루어질 수 있게 단순한 인터페이스를 제공(단순한 창구 역할)하는 것이다. facade 패턴을 이용하면 서브시스템 내부에서 작동하고 있는 많은 클래스들의 관계나 사용법을 의식하지 않고 facade에서 제공하는 단순화된 하나의 인터페이스만 사용하므로, 클래스 간의 의존 관계가 줄어들고 복잡성 또한 낮아지는 효과를 볼 수 있다. 여기서 f.. 2023. 3. 21.