Microsoft Visual C++ 2015-2019 Redistributable (x64) 제거:
먼저, 컴퓨터에서 Microsoft Visual C++ 2015-2019 Redistributable (x64)을 제거해야 합니다. 다음 단계를 따르세요.
컴퓨터에서 "제어판"을 엽니다.

"프로그램 추가 또는 제거" 또는 "프로그램 및 기능"을 선택합니다.
Microsoft Visual C++ 2015-2019 Redistributable (x64) 항목을 찾아서 오른쪽 마우스 버튼을 클릭하고 "제거"를 선택합니다.
프로세스가 완료되면 컴퓨터를 다시 시작합니다.
Logi Options 다시 설치:
이제 Microsoft Visual C++ 2015-2019 Redistributable (x64)를 제거한 후 Logi Options를 다시 설치해보세요. 아래와 같은 단계를 따르면 됩니다.



Logi Options 설치 프로그램을 다운로드하고 실행합니다.

설치 프로그램을 실행할 때 관리자 권한을 사용하려면 마우스 오른쪽 버튼을 클릭하고 "관리자 권한으로 실행"을 선택합니다.
설치 과정을 진행하고, 필요한 파일 및 구성 요소가 모두 설치될 때까지 기다립니다.
2023/10/30 13:23 2023/10/30 13:23
오늘 윈도우 11 에 실시간 보호 기능이 활성화가 안되는 문제가 발생 하였다 다른 백신도 없는 상황에서 이런일이 혹시 몰라 MRT 를 구동 하였고 해결 되었다.
빠른 검사로 해결 되었으며 / 혹시 몰라 확장 검사 까지 마무리 하였다. 
이유없이 그래픽 메모리나 램 메모리가 과하게 사용중이라면 한번씩 돌려볼 필요성을 느끼고 아래 내용 .

사용자 삽입 이미지


Microsoft Malicious Software Removal Tool(MRT)은 마이크로소프트가 제공하는 무료 보안 도구로, 윈도우 컴퓨터에서 특정 악성 소프트웨어를 탐지하고 제거할 수 있습니다. 일반적으로 윈도우 업데이트를 통해 자동으로 배포되며, 수동으로도 실행할 수 있습니다. 본 글에서는 MRT의 기능과 사용방법에 대해 자세히 알아보겠습니다.
기능
MRT는 다음과 같은 기능을 제공합니다:
특정 악성 소프트웨어의 탐지와 제거
사용자가 선택한 드라이브 또는 폴더를 대상으로 하는 스캔
자세한 스캔 결과의 로그 생성
사용방법
설치
MRT는 일반적으로 윈도우 업데이트를 통해 자동으로 설치됩니다. 수동으로 설치하려면 마이크로소프트 공식 웹사이트에서 다운로드할 수 있습니다.
실행
명령 프롬프트를 관리자 권한으로 실행: cmd를 검색한 후, 마우스 오른쪽 버튼으로 클릭하여 '관리자로 실행'을 선택합니다.
MRT 실행: 명령 프롬프트에서 mrt를 입력하고 엔터를 누릅니다.
옵션
퀵 스캔: mrt /Q 명령어로 퀵 스캔을 실행할 수 있습니다.
전체 스캔: mrt /F 명령어로 전체 시스템을 스캔할 수 있습니다.
사용자 지정 스캔: mrt /S 명령어로 특정 폴더나 드라이브를 대상으로 스캔할 수 있습니다.
결과 확인
스캔이 완료되면, C:\Windows\debug\mrt.log 파일에서 자세한 결과를 확인할 수 있습니다.
결론
Microsoft Malicious Software Removal Tool(MRT)은 윈도우 사용자가 악성 소프트웨어를 쉽게 탐지하고 제거할 수 있는 유용한 도구입니다. 일반적인 안티바이러스 소프트웨어와 함께 사용하면 더욱 효과적인 보안을 유지할 수 있습니다.



2023/10/29 18:34 2023/10/29 18:34
=IF(ISNA(VLOOKUP(D1,Sheet2!D:D,1,FALSE)), "없음", "있음")

이 수식은 Excel의 여러 함수를 조합하여 작성되었으며 각 부분의 기능은 다음과 같습니다:

VLOOKUP(D1,Sheet2!D:D,1,FALSE)
VLOOKUP 함수는 첫 번째 인수로 주어진 값(D1 셀의 값)을 두 번째 인수로 지정된 범위(Sheet2의 D열)에서 검색합니다.
세 번째 인수 '1'은 찾은 값과 같은 행의 첫 번째 열에서 값을 반환하도록 지시합니다 (여기서는 동일한 열이므로 그대로 반환됩니다).
네 번째 인수 'FALSE'는 완벽하게 일치하는 값을 찾도록 지시합니다.
ISNA(VLOOKUP(D1,Sheet2!D:D,1,FALSE))
ISNA 함수는 내부 함수(VLOOKUP)에서 반환된 값이 #N/A 오류인지 확인합니다. VLOOKUP은 찾고자 하는 값이 없을 때 #N/A 오류를 반환합니다. 따라서 이 함수는 찾고자 하는 값이 없으면 TRUE를, 있으면 FALSE를 반환합니다.
IF(ISNA(VLOOKUP(D1,Sheet2!D:D,1,FALSE)), "없음", "있음")
IF 함수는 첫 번째 인수로 주어진 조건이 TRUE인지 FALSE인지를 확인한 후, 조건이 TRUE이면 두 번째 인수("없음")를 반환하고, FALSE이면 세 번째 인수("있음")를 반환합니다.
여기서 첫 번째 인수는 ISNA 함수로, 찾고자 하는 값이 없을 때 TRUE를 반환하는 함수입니다. 따라서 찾고자 하는 값이 없으면 "없음"을 반환하고, 있으면 "있음"을 반환하도록 설정되어 있습니다.
이 수식을 사용하면, Sheet1의 D열에 있는 각 주문 번호가 Sheet2의 D열에 있는지 여부를 확인할 수 있으며, 결과는 "있음" 또는 "없음"으로 표시됩니다.
2023/09/13 02:29 2023/09/13 02:29
그누보드 사용하다보면 page 파일을 불러오면  짦은 주소 기능을 사용 할수 없다  Rewrite 를 사용하면 가능하지만 이후 SiteMap 을 생성 할때 불편하다 

그래서 내용 관리 파일에서 수정하는 방법이 있다

/skin/content/basic/content.skin.php 열어서 

    <div id="ctt_con">
        <?php echo $str; ?>
    </div>

위 내용을 아래처럼 수정하면된다.

    <div id="ctt_con">
        <?php //echo $str; ?>
        <?php @include_once($co['co_content']); ?>
    </div>

하지만 문제가 있다 보안상 사실 코드에 승인한 파일명만 처리 하도록 하면 더 좋지만 불편하다 그래서 아래처럼 수정 하였다.

<div id="ctt_con">
    <?php
    // 'co_content' 키가 존재하고 빈 문자열이 아닌지 확인
    if (isset($co['co_content']) && is_string($co['co_content']) && trim($co['co_content']) !== '') {
        // 'co_content' 값의 유효성을 검사하고 디렉토리 트래버설을 방지하기 위해 basename() 사용
        $coContent = basename($co['co_content']);
        $coContent = str_replace(array('/', '\\'), '', $coContent);
        // 'co_content' 값으로 사용되는 파일의 디렉토리 경로를 정의
        $contentDirectory = G5_THEME_PATH . '/contents/';
        // 'co_content' 값으로 사용되는 파일의 전체 경로를 정의
        $contentFilePath = $contentDirectory . $coContent;
        // 파일이 존재하는지 확인하고 포함하여 실행
        if (file_exists($contentFilePath)) {
            // 보안상 이유로 include_once 대신 include를 사용하는 것이 좋습니다.
            include $contentFilePath;
        } else {
            // 파일이 존재하지 않을 경우 메시지 출력
            echo '컨텐츠를 찾을 수 없습니다.';
        }
    } else {
        // 'co_content' 키가 존재하지 않거나 비어있는 경우 메시지 출력
        echo '컨텐츠를 사용할 수 없습니다.';
    }
    ?>
</div>

 위  코드는 테마 폴더 아래 contents 폴더에 있는 경로만 실행 할수 있도록 하였다.  이제 내용관리에 파일 경로만 넣고 사용하면 된다. 

예 ) ../theme/basic/page/page.php 

작성할때 주의 사항 html 모드에서 작성하자 필요 없는 테그가  가는걸 방지 하고자 한다.

잘 작동한다. 

오류가 나오면 그건 불러오는 php 파일을  수정하자  그것도 싫다면 아래 처럼 @ 처리 하면 된다. 

<div id="ctt_con">
    <?php
    // 'co_content' 키가 존재하고 빈 문자열이 아닌지 확인
    if (isset($co['co_content']) && is_string($co['co_content']) && trim($co['co_content']) !== '') {
        // 'co_content' 값의 유효성을 검사하고 디렉토리 트래버설을 방지하기 위해 basename() 사용
        $coContent = basename($co['co_content']);
        $coContent = str_replace(array('/', '\\'), '', $coContent);
        // 'co_content' 값으로 사용되는 파일의 디렉토리 경로를 정의
        $contentDirectory = G5_THEME_PATH . '/contents/';
        // 'co_content' 값으로 사용되는 파일의 전체 경로를 정의
        $contentFilePath = $contentDirectory . $coContent;
        // 파일이 존재하는지 확인하고 포함하여 실행
        @include $contentFilePath; // 오류를 무시하고 파일을 포함합니다.
    } else {
        // 'co_content' 키가 존재하지 않거나 비어있는 경우 메시지 출력
        echo '컨텐츠를 사용할 수 없습니다.';
    }
    ?>
</div>


이상
2023/07/27 15:08 2023/07/27 15:08