현상

워치 재부팅 후 춘식이 워치페이스가 사라지고 기본 워치페이스로 변경됨

 

폰에 wearable 에서 춘식이 배경화면 사라짐

 

 

설정 방법

갤럭시 워치 - 워치 내 구글 스토어 - 검색 '춘식이' - 춘식이 일기예보 워치페이스 설치 -
폰의 wearable에서 춘식이 배경화면 확인  및 설정

 

 

워치 내 구글 스토어
춘식이 검색

 

춘식이 워치페이스 설치 화면
설치 완료

 

갤럭시 폰 waerable 앱에서 시계화면 메뉴의 다운로드된 항목들

 

 

다른 춘식이 워치 페이스 들

 

파자마 워치페이스
서핑워치페이스

 

 

 

중단점이 현재 적중되지 않습니다. 이 문선의 기호가 로드되지 않았습니다.

 

 

 

디버그 모드일때 중단점이 잘 동작 하다가 릴리즈 모드시 동작하지 않는 현상 

 

 

 

도구 - 옵션 -  디버깅 - 일반 - 내 코드만 사용  체크해제

 

 

 

 

 

 

출처:

https://www.facebook.com/groups/200708093411111/posts/685715321577050/

https://www.csharp.com/UploadFile/7078b8/breakpoints-are-not-working-in-visual-studio/

 

 

구현된상태

  List<class1> list1;

 private BindingSource source = new BindingSource();
source.DataSource = list;

DataGridView grid;
grid.DataSource = source;


 

선택된 행삭제 방법


            int rowIndex = grid.SelectedRows[0].Index;
            // BindingSource의 List에서 해당 항목 삭제
            List<class1> list = source.DataSource as List<class1>;
            if (list != null && rowIndex >= 0 && rowIndex < list.Count)
            {
                list.RemoveAt(rowIndex);

                // BindingSource에 변경 사항 반영
                source.ResetBindings(false);
            }

어느날 갑자기 새로만들기에 이상한 항목 이 생겼다.

 

 

 

제거방법 메모

 

레지스트리 편집기 열기

  • Windows + R 키를 눌러 실행 창 실행
  • regedit을 입력하고 Enter

HKEY_CLASSES_ROOT에 이동하여 확장자 명 찾기

검색 가능  .Document로 검색함

 

검색 여러번 하다보면 새로만들기 이름이랑 같은거 발견함

 

 

해당 항목 제거

 

 

설치 사이트

https://pytorch.org/get-started/locally/

 

Start Locally

Start Locally

pytorch.org

 

cuda 버전 확인

 

파이참  터미널 

nvidia-smi

 

 

 

사이트에 원하는 항목 선택

conda 나 pip 원하는 항목 선택  

가장 아래 커맨드 복사하여 파이참 터미널에 입력

 

설치시작

 

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

 

CPU 버전

pip3 install torch torchvision torchaudio

 

 

설치 완료 확인

import torch

# 텐서 생성 테스트
x = torch.rand(5, 3)
print(x)

# GPU 사용 가능 여부 확인
print(f"CUDA 사용 가능 여부: {torch.cuda.is_available()}")

'공부 > 파이썬' 카테고리의 다른 글

[파이썬] qt designer 연결  (0) 2022.10.06
[파이썬] 프로젝트 생성  (0) 2022.10.06
[파이썬] 설치  (0) 2022.10.06

에러 발생 문구

로그온이 User Profile Service 서비스에서 실패했습니다 .  사용자 프로필을 로드할 수 없습니다. 

 

 

발생 상황

A라는 계정으로 윈도우 잘 쓰다가  로그오프 후 사용자 전환하여 B라는 계정으로 로그인 시도

 

파란화면에 위와 같은 문구 발생

 

 

시도한 항목

 

1. 관리자 계정 생성 net user Administrator /active: yes   

2. 안전모드 ,안전모드 프롬프트  실행시 똑같이 로그인 창이 뜨므로 진입 불가

3. shift+다시시작 에서 옵션은 시작설정과  펌웨어 설정 두가지 밖에 없음  (복구, 시동복구 , 프롬프트 실행 불가)

 

4. 다른 PC에서 원격접속 가능하여 레지스트리 수정 시도

HKEY_LOCAL_MACHINE"> "SOFTWARE"> "Microsoft"> "Windows NT"> "CurrentVersion"> "ProfileList"
에서 보면 여러 항목 보이는데 걔중 현재 로그인한 경로 확인 (대충 눌러보면 추측가능함 ProfileImagePath 경로 참고)
bak 인가 붙은 항목 없었음 
ProfileImagePath -> 0으로 변경하고refcount 생성해도 해결안됨  -- 안하는거 추천

 

5. 윈도우 설치 USB를 사용하여 복구. 시동복구 시도하였으나 복구시점이 없어 실패

 

6. 다른 계정 전환창이 아예없어서 전환 불가 로그오프 불가

 

 

 

 

해결한 방법

 

* 윈도우 설치 USB 필요

 

1. 윈도우 설치 USB  장착

2. 설치 첫 화면에서 shift + F10 하여 프롬프트 띄움

3. 프롬프트에서 관리자 계정 생성 시도 - 효과없음

4. 프롬프트에서 regedit.exe 입력하여 레지스트리 편집기 실행 

5. PE상태 레지스트리라 위에 ProfileList를 찾을 수 없음

6. 이럴경우 HKEY_LOCAL_MACHINE 누르고  파일 - 하이브 로드 클릭

7. C:\Windows\System32\Config\ 경로에서 SOFTWARE 가져왔던거 같음

8. 그 상태에서 ProfileList의 ProfileImagePath  원복함

9. 레지스트리 편집기  파일 - 하이브 로드 클릭시 파일선택창이 뜨는데 그상태에서 C:\Users 로 이동

10. 여기서 default 폴더 생성  (이미 있으면 안해도됨)

11.  내가 알고있는 계정명을 이름으로 폴더 생성 ( 이게 유력함)

 

폴더 생성하고나서 재부팅하니 로그인 되고 다른 계정으로 전환도 가능

 

 

 

참조

https://blog.obbli.net/167

https://answers.microsoft.com/ko-kr/windows/forum/all/cusersdefault-%ED%8F%B4%EB%8D%94/8827c01d-74ad-4314-a96a-59c15dbc6f3d

 

 

 

 

 

 

 

상황:

DB 백업시 Failed (exit code: 3221225781). 발생

 

 

원인: postgresql 버전차이

postgresql13 쓰다가 16 설치 후 백업시 해당 오류 발생

 

조치:

pgAdmin4 - Preferences - Paths - Binary paths 

C:\Program Files\PostgreSQL\16\bin

 

 

 

출처 : https://stackoverflow.com/questions/77462578/pgadmin-error-when-restoring-database-from-tar-file

제품명 : MOES Tuya 와이파이 스마트 모터 전기 체인 롤러 블라인드 

가격 : 20달러  (할인때 코인 쿠폰 코드 적용)

디자인 : ★

난이도 :

성능 : ★            

       속도가 느리고 소음 조금 있음 (내가 설치를 잘 못한걸지도..)

 

제품 사이트 :https://ko.aliexpress.com/item/1005005461906004.html?gatewayAdapt=glo2kor

 

일단 만족합니다.

 

앱 사용 및 스마트싱스 허브 사용하면  앱제어 , 음성제어 된다는데

 

그렇게 까지는 사용할거 같지 않아서 리모컨으로만 사용하기로 했다

 

줄 당기기가 번거로운 위치라 블라인드 한군데에만 달기로 했다.

 

설치 후 리모컨이 안되서 당황했으나  건전지가 없는 것을 깨닫고 건전지 탑재

 

건전지 넣어도 안되길래 설명서 수차례 정독

 

못찾아서 인터넷 검색 - 다른 모델 페어링 하는 방법 확인 - 페어링이 필요하단 것을 인지

 

유튜브 검색 - 찾음

 

 

 

* 리모컨 페어링 방법

1. 가운데 네모버튼 꾹 누른다.

2. 적색 불이 점멸하면 리모컨에 △ (Up 버튼)  을 누른다.

 

 

* 블라인드 리미트 방법   (설명서에 있음)

1. 가운데 네모버튼 꾹 누른다.

2. 적색 불이 점멸하면 △ (Up 버튼) 누른다

3. 원하는 위치에 블라인드가 도달했을때 □ 버튼 누른다

4. 하단 셋팅도 동일하다.

 

 

아래는 제품 사진

 

 

박스  사진

 

 

 

구성품 사진

 

본체 , 본체 거치대 , 리모컨, 리모컨 거치대 , 양면테이프 , 전원 어댑터 , 블라인드 끈 롤러들

 

 

 

 

롤러들

 

 

 

 

우리집 블라인드 끈 

 

 

손잡이 해체

 

 

롤러 교체

 

본체의 맨밑에 하얀 플라스틱을 누르면 거치대와 연결을 해제할 수 있다.

 

 

콘센트가 이모양이라 당황했으나 다행이 쿠팡에서 사둔 플러그어댑터가 있다.

 

 

 

 

 

 

 

 

거치대? 에 양면테이프 부착 후 적당한 위치에 부착

 

 

 

혹시 몰라서 글루건으로 고정해두었다.

 

나사를 박아도 된다.

 

보통은 벽에 고정하는 것 같았다. 

 

리모컨 뒤 앞

 

 

 

 

* 리모컨 페어링 방법

1. 가운데 네모버튼 꾹 누른다.

2. 적색 불이 점멸하면 리모컨에 △ (Up 버튼)  을 누른다.

 

 

 

 

 

 

 

* 블라인드 리미트 방법   (설명서에 있음)

1. 가운데 네모버튼 꾹 누른다.

2. 적색 불이 점멸하면 △ (Up 버튼) 누른다

3. 원하는 위치에 블라인드가 도달했을때 □ 버튼 누른다

4. 하단 셋팅도 동일하다.

 

리미트 설정할때 나타나는 불빛

 

 

 

 

동작영상

 

 

 

 


tuple 삽입 가져오기

 //데이터 삽입
std::unordered_map <long, std::tuple< int, long, CString >> mapRank;
mapRank[1000] = make_tuple(3, 5, "TEST");

//데이터 가져오기
for (auto info : mapRank)
{
std::tuple_element<0, decltype(info.second)>::type nRank = std::get<0>(info.second);
std::tuple_element<1, decltype(info.second)>::type nCount = std::get<1>(info.second);
std::tuple_element<2, decltype(info.second)>::type strTemp = std::get<2>(info.second);
}


std::tuple_element<0, decltype(mapRank[1000])>::type nRank = std::get<0>(mapRank[1000]);
std::tuple_element<1, decltype(mapRank[1000])>::type nCount = std::get<1>(mapRank[1000]);
std::tuple_element<2, decltype(mapRank[1000])>::type strTemp = std::get<2>(mapRank[1000]);

 

 

tuple 정렬

#define TRIPLE_PAIR std::pair<long, std::tuple< int, long, CString >>

bool CompareRank(const TRIPLE_PAIR& a, const TRIPLE_PAIR& b) {
//if (a.second.second == b.second.second) return a.second < b.second;
std::tuple_element<1, decltype(a.second)>::type nNum1 = std::get<1>(a.second);
std::tuple_element<1, decltype(b.second)>::type nNum2 = std::get<1>(b.second);
return nNum1 > nNum2;
}

void CalcRank()
{

std::unordered_map <long, std::tuple< int, long, CString >> mapRank
mapRank[1000] = make_tuple(3, 5, "TEST");

//정렬
std::vector <TRIPLE_PAIR> vecTemp(mapRank.begin(), mapRank.end());
sort(vecTemp.begin(), vecTemp.end(), CompareRank);

//해당 분류결함의 순위와 개수 찾기
for (int i = 0; i < vecTemp.size(); i++)
{
std::tuple_element<1, decltype(vecTemp[i].second)>::type nTemp = std::get<1>(vecTemp[i].second);
int nRank = nTemp;
}

}

 

 

 

 

Pair 삽입 가져오기

//데이터 삽입
std::unordered_map<long, std::pair<int, long>> mapRank;
mapRank.clear();
mapRank[1000] = make_pair(0,0);

//데이터 가져오기
int nRank =  mapRank[1000] .first;
long lCount =  mapRank[1000] .second;

 

 

 

Pair 정렬

#define DOULBE_PAIR std::pair<long, std::pair<int, long>>
bool Compare(const DOULBE_PAIR& a, const DOULBE_PAIR& b) {
//if (a.second.second == b.second.second) return a.second < b.second;
return a.second.second > b.second.second;
}

void CalcRank()
{
std::unordered_map<long, std::pair<int, long>> mapRank;
mapRank.clear();

mapRank[1000] = make_pair(0,0);


//분류별 결함 정렬
std::vector <DOULBE_PAIR> vecTemp(mapRank.begin() , mapRank.end());
sort(vecTemp.begin(), vecTemp.end(), Compare);


for (int i = 0 ; i < vecTemp.size(); i++)
{
int nRank = vecTemp[i].second.first;
long lCount = vecTemp[i].second.second;
}
}

 

 

참조 : https://psychoria.tistory.com/entry/C-11-stdpair%EB%A5%BC-%ED%99%95%EC%9E%A5%ED%95%9C-stdtuple

 

DateTimePicker 값 설정 , 불러오기 

 

값 설정하기

리소스 아이디 : IDC_DATETIMEPICKER_DAY_START

 

COleDateTime timeNow = COleDateTime::GetCurrentTime();

COleDateTime(timeNow.GetYear(), timeNow.GetMonth(), timeNow.GetDay(), 00, 00, 00);

CDateTimeCtrl *pStartTimeCtl = (CDateTimeCtrl *)GetDlgItem(IDC_DATETIMEPICKER_DAY_START);

pStartTimeCtl->SetTime(COleDateTime(timeNow.GetYear(), timeNow.GetMonth()-2, timeNow.GetDay(), 00, 00, 00));

 

값 가져오기

CDateTimeCtrl *pStartTimeCtl = (CDateTimeCtrl *)GetDlgItem(IDC_DATETIMEPICKER_DAY_START);

COleDateTime dateStartTime;

pStartTimeCtl->GetTime(dateStartTime);

int nYear = dateStartTime.GetYear();

int nMonth = dateStartTime.GetMonth();

int nDay = dateStartTime.GetDay();

 

 

참조 : https://blog.naver.com/krazie99/30094019069

 

M7 S43BM701  43인치 구매하여 삼탠바이미 업그레이드

 

장점 : 화면이 크다.

          화질이 좋다.

          리모컨 음성인식 잘된다.

          화이트는 이쁘다.

 

단점 : 베사홀이 200 x 200 이라  기존 스탠드 사용시 브라켓 필요

          콘센트가 접지없는 2구 사용 (ㄱ자 형 5m짜리 전원선 따로 구매하여 사용)

 

화면이 크고 4K로 카리나를 보기위해 구매하였다.

 

 

 

 

 

/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** *********/

 

기존에 사용하던 M5 모니터 32인치 짜리를 삼탠바이미로 사용하였는데

M5가 화질이 FHD라 눈에 안차고 크기도 작았다.

 

그래서 M7을 노리고 있었다.

기존 사용하던 M5 모니터

 

이번에 지마켓 빅스마일 데이 하면서 M7 43인치가 40만원 언더로 내려갔다.

 

이건 사야해

 

라고 생각했지만 이번달 지출이 너무 많아 구매를 고민했다.

 

그런데 고민하는 사이 카드 할인이 거의다 끝나가고 있었다.

 

고민하다 카드할인 종료되면 슬플거 같아 일단 구매했다.

 

배송은 5월 18일 주문해서 5월 23일에  받았다.

 

 

 

 

M5와 다르게 리모컨에 음성인식이 되었다.

 

M7 43인치의 베사홀은 200 x 200 이다.

 

기존에 가진 스탠드는 100 x 100 이다.

 

연결 브라켓이 필요해서 바로 주문했다.

 

 

 

 

 

이제 카리나를 선명하게 볼 수 있다.


visual studio 2015 디버거시 유효한 작업 디렉터리가 아닙니다

 

프로그램을 시작할 수 없습니다.
유효한 작업 디렉터리가 아닙니다.

 

아래와 같은 창이 나타날때

 

 

프로젝트 - 속성 - 구성속성 - 디버깅 - 작업디렉터리   ->경로변경

Default 값 : $(ProjectDir)

 

 

 

트랜잭션 로그가 ACTIVE_TRANSACTION 로 인해 꽉 찼습니다

 

Delete 쿼리 사용시 해당 문구가 나타나면서 쿼리가 실행되지 않음

 

조건 추가하여 행 하나만 삭제시 삭제가 됨 

 

검색해보니 로그 용량이 부족하면 나타나는 현상이라고 함

 

인터넷이 있는대로 해보니 되지 않아 이것저것 바꿔봄

 

 

 

내가 한 것

 

1. 드라이브 용량 확보

일단 D드라이브가 거의 다 차있었으므로 용량을 비워줌

 

D드라이브에 mdf  ldf 파일이 있음

 

2. 데이터베이스 우클릭 - 속성 - 옵션 - 복구모델 - 전체로 변경

 

 

 

3. 데이터베이스 우클릭 - 속성 - 파일 - 데이터베이스 파일 -  DB명_Log 항목 - 자동 증가 / 최대크기 - ... 클릭

     - 최대 파일 크기 - 제한 없음 체크

 

 

 

 

이렇게 변경시 동작 했음

 

 

//////////////////////////////////////////////

 

log를 사용하지 않는 경우 

 

데이터베이스 우클릭 - 속성 - 옵션 - 복구모델 - 단순  으로 원복

 

데이터베이스 우클릭 - 태스크 - 축소 - 파일 - 축소동작

  - 사용하지 않는 공간을 해제하기 전에 페이지 다시구성 - 파일을 다음 크기로 축소  - 7MB  - 확인

 

 

 

 

 

BOOL CYourFormView::PreTranslateMessage(MSG* pMsg)
{
    if(IsDialogMessage(pMsg))           
        return TRUE;
    else  
        return CWnd::PreTranslateMessage(pMsg);   
 
}

 

 

출처 : https://m.blog.naver.com/beterran/60169163335

'공부 > MFC' 카테고리의 다른 글

[MFC] std::list 를 std::vector로 복사  (0) 2022.11.30
[MFC] png Image Load From Resource  (0) 2022.11.29
[MFC] CImage CBitmap HBITMAP 변환  (0) 2022.11.29
[MFC] 전체화면 사용  (0) 2022.11.24
[MFC] 다이얼로그 DLL 만들기  (0) 2022.11.16

https://sanot.tistory.com/77

'Main' 카테고리의 다른 글

메인  (0) 2022.07.11

 

현상 : where -> where 처럼 나타남

 

방법 : 윈도우 - 설정 - 시간 및 언어 - 언어 및 지역 - 언어 - 한국어 - ... - 언어옵션 - Microsoft 입력기 - ... - 키보드옵션 - 호환성 - 이전 버전의 Microsoft IME - 켬

 

처음에는 설정에서 기본언어를 영어로도 바꿔봤으나 증상은 동일하였다

 

해당 방법으로 설정 후 해결됨

 

visual studio 2015 사용시 동일현상 있었으나 해결됨

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

윈도우 업데이트 시 (KB5034441) 오류 (0x80070643) 발생하여 업데이트 안되는 현상

 

원인 : 복구 파티션 용량 부족

 

해결 : 복구 파티션 용량 변경

 

 

reagentc /disable
reagentc /enable
reagentc /info
diskpart
sel disk 0
sel part 5
delete partition override
create partition primary
format quick fs=ntfs label="Recovery"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes =0x8000000000000001

 

 

실행 (윈도우 + R) - diskmgmt.msc - C드라이브 우클릭 - 볼륨 축소 - 축소할 공간 입력 : 300 - 축소

 

 

 

 

 

명령 프롬프트 (cmd ) 관리자 권한 실행

 

 

 

 

reagentc /info
reagentc /disable

 

 

 

 

명령 프롬프트 (cmd ) 관리자 권한 새로 실행

 

diskpart 입력 이후 순차적으로 입력 - sel disk (복구 파티션이 있는 디스크) - sel part (복구 파티션 번호)  

 

gpt에 *이 있는 경우에만 아래와 같이 사용  없는 경우는   crate ~ gpt att 대신  create partition primary id=27 사용

diskpart
sel disk 0
sel part 5
delete partition override
create partition primary
format quick fs=ntfs label="Recovery"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes =0x8000000000000001

 

 

 

 

 

reagentc /enable
reagentc /info

 

 

 

 

업데이트 다시 시작

 

 

출처 :

 

https://www.tenforums.com/windows-10-news/210321-kb5034441-security-update-windows-10-21h2-22h2-jan-9-a-54.html


https://support.microsoft.com/en-us/topic/kb5028997-instructions-to-manually-resize-your-partition-to-install-the-winre-update-400faa27-9343-461c-ada9-24c8229763bf

 

 

상황:

ERROR: 오류: "public.tbl_testinfo" 이름의 릴레이션(relation)이 없습니다
LINE 1: SELECT * FROM public.tbl_TestInfo ^ SQL state: 42P01 Character: 15

 

 

 

수정:

테이블 이름 양 끝에 쌍따옴표( " ) 를 넣어본다.

SELECT * FROM public."tbl_TestInfo"

 

 

 

pgadmin4 으로 테이블 생성시 양끝에 따옴표가 들어간 테이블 생성됨

 

조치:

 

테이블 이름을 변경해 준다

 

ALTER TABLE "tbl_TestInfo" RENAME TO tbl_TestInfo

 

 

수정됨

 

HWND hCommTarget = ::FindWindow(NULL, _T("Vision"));
if (hCommTarget == NULL)
{
OutputListbox(m_listOutputPLC, _T("Not Found Vision Program") + strSetValue);
return;
}

 

FindWindow 사용시 위와 같이 사용하면  프로그램을 찾아야 하는데

프로그램 명과 동일한 폴더를 열어놓으면 폴더를 인식할 수 있음

 

그래서 대상 프로그램에 윈도우 클래스를 정해주면 보다 명확하게 타겟을 찾아갈 수 있음

 

HWND hCommTarget = ::FindWindow(_T("Sanot"), _T("Vision"));
if (hCommTarget == NULL)
{
OutputListbox(m_listOutputPLC, _T("Not Found Vision Program") + strSetValue);
return;
}

 

 

대상 프로그램

BOOL CTestApp::InitInstance()
{
    WNDCLASS wc;
    GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc);
    wc.lpszClassName = _T("Sanot");
    AfxRegisterClass(&wc);

   //...
}


BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
   //...

  cs.lpszClass = _T(" Sanot ");

  //...
}


MSSQL DB 를  PostgreSQL 옮기려다가 찾았음

DMToolkit_x64.msi

ESF Database Migration Toolkit - Pro

다운로드 사이트

https://www.dbsofts.com/articles/postgresql_to_sql_server/

 

DMToolkit_x64 를 다운로드 후 설치

 

동의 - 다음 - 다음 하면 설치됨

 

설치 완료 후 윈도우버튼 - ESF Database Migration Toolkit - Pro

 

 

실행

 

별거아님 끄기

 

복사할 DB 선택

 

 

대상 DB 선택

 

 

복사할 테이블 선택

 

네모 박스친 부분은 체크 풀어서 복사함 ( db_server , sysdiagrams)

 

 

 

 

 

Submit 버튼 누르면 팝업 뜸

 

 

 

대충 내용은 

 

"평가판 버전이라 레코드 50000개 이상 불가함   "

 

FULL VERSION 누르면 결제페이지 이동되고 Try 누르면 실행 됨

 

Try 눌러도 동작 안되고 있으면 Submit 다시 클릭

 


 

 

완료

 

 

////

 

모든 테이블이 복사 안될 경우

 

mssql 에서  DB 백업 - 다른이름으로 복원  - 다른이름으로 복원한 DB에서 복사 덜 된 테이블만 남기고 모두 지움 

 

테이블 지우는 쿼리 만드는 쿼리문

 

SELECT 'drop table dbo.' + [NAME] FROM SYS.SYSOBJECTS WHERE [xtype] = 'U' 

 

복사 덜 된 테이블만 남은 DB를 위 방법으로 다시 복사

 

PostgreSql 내에서 다른 DB 테이블 복사하는 방법은 여러가지 있는데 구글에 잘 나옴..

 

ㅠㅠ이것까진 안해봐서 ...

 

 

 

+ Recent posts