2022. 2. 6. 18:47

1. Extension에서 Bookmarks 검색 후 설치

 

2. Bookmarks 단축키 변경

 

File - Preferences - Keyboard shortcuts

 

3. 기존에 이렇게 되어 있는 걸 다음과 같이 변경하면 편함

 

Bookmarks: Toggle - Ctrl + F2

 

Bookmarks: Jump to Next - F2

 

Bookmarks: Jump to Previous - F3

 

 

4. 현재의 줄에서 책갈피를 설정하려면 Ctrl + F2 누르고

 

다음 책갈피를 이동하려면 F2를 누르면 된다

2022. 2. 6. 10:45

1. 확장 프로그램(Extensions) 검색에서 ftp-simple 검색해서 설치

 

 

2. F1을 누른 후 FTP-simple connection setting 을 누른다

 

 

3. 다음 값을 설정하여 저장

 

name : FTP 서버 이름

host : FTP 서버 IP 주소

port : 접속 포트

hostname : 계정 ID

passowrd : 비밀번호

path : 접속 폴더 경로

autosave : 서버 파일을 자동 저장 할지 여부

confirm : 서버에 저장할것 지 확인 (true = 저장, false = 확인 없이 저장)

 

ftp 접속설정이 완료되었으면, 저장 (단축키 ctrl + s)

 

 

 

4. ftp-simple : Remote directory open to workspace 선택

 

 

5. 접속 확인

2022. 2. 4. 11:31

WSL은 기본적으로 있음

 

WSL2로 변경 명령어

 

wsl --set-default-version 2

 

wsl을 이용하여 Ubuntu 설치

 

wsl --install -d Ubuntu-20.04

 

관리자 권한이 승인이 필요 명령어

 

net user administrator /active:yes

2021. 12. 23. 13:46

정말 미치는 줄 알았다

 

Visual Studio Code(VS Code) 에서 함수 위에 마우스 오버로 갖다대면

 

설명 문구 뜨는데 그거 때문에 짜증나서 죽을 뻔 했다

 

없애는 방법은 다음과 같다

 

파일 - 설정 - hover로 검사 - Editor > Hover: Enabled 

 

이 항목을 체크 해제하면 된다

 

이제야 살 거 같다

2021. 10. 13. 08:46

운영체제

http://kocw.net/home/search/kemView.do?kemId=978503

 

컴퓨터구조

http://www.kocw.net/home/search/kemView.do?kemId=998138

 

소프트웨어공학

http://www.kocw.net/home/cview.do?cid=b3386e025b4ea927

 

알고리즘

http://www.kocw.net/home/search/kemView.do?kemId=1124416&ar=relateCourse

 

데이터베이스

http://www.kocw.net/home/search/kemView.do?kemId=1064626

 

수리통계

http://ocw.kookmin.ac.kr/?course=12343

 

선형대수

http://ocw.kookmin.ac.kr/?course=351

 

 

http://www.kocw.net/home/search/kemView.do?kemId=977757&ar=relateCourse

 

확률 및 통계

http://www.kocw.net/home/search/kemView.do?kemId=1056974&ar=relateCourse

2021. 10. 7. 21:45

예전에 많이 써 먹던 기능인데 오래되어 기억이 안 나서 다시 정리한다

 


C++에서 OpenCV나 다른 라이브러리들을 사용할 때 

 

매번 링크 경로 설정하고 파일 이름 가져다 쓰는 것이 번거로워서 

 

설정 내보내기를 이용해 설정 파일을 저장한다

 

우선 OpenCV Include 파일 경로를 설정한다

 

속성 페이지 - C/C++ - 일반 - 추가 포함 디렉터리

 

그 다음 OpenCV에서 사용할 라이브러리 경로를 설정한다

 

속성 페이지 - 링커 - 일반 - 추가 라이브러리 디렉터리

 

 

그 다음 사용할 라이브러리 목록을 다음 위치에 추가한다

 

속성 페이지 - 링커 - 입력 - 추가 종속성

 

그 이후 다른 프로젝트를 생성했을 때 저장한 파일을 설정 가져오기를 하여 적용하면 동일한 라이브러리 파일과 경로를 설정할 수 있어서 편하다

 

방법은 다음과 같다

 

우선 OpenCV를 설정할 라이브러리 경로와 

도구 - 설정 가져오기 및 내보내기 - 선택한 환경 설정 내보내기

- 내보낼 설정 선택 - 설정 파일 이름 지정 - 마침 을 누른다

 

 

설정하여 저장한 파일이 해당 경로에 있는지 확인한다

 

 

2021. 8. 18. 14:28

CApple* pApple;

pApple->Show( );

 

다음과 같은 경우 발생한다

 

참조되지 않은 포인터, 즉 정확한 메모리 위치를 가리키지 않고 사용할 때  발생한다

 

또는 다음과 같은 경우도 있다

 

CApple* pApple = new CApple( );

// pApple 사용

 

delete pApple;

pApple->Show( );

 

위와 같은 경우도 마찬가지이다

 

일반적인 프로그램에서도 먼저 포인터를 삭제한 후 

다른 곳에서 갖다 쓸 때 발생하는 에러이다.

 

CAppleDlg::CAppleDlg( )

{

    m_pApple = new CApple( );

}

 

CAppleDlg::~CAppleDlg( )

{

    delete m_pApple;

}

 

CAppleUse::Process( )

{

    CAppleDlg dlg;

    m_pApple = dlg.GetApple( );

}

 

CAppleUse::Select( )

{

    m_pApple->Show( ); // 0xC0000005 오류 발생, 이미 ~CAppleDlg( )에서 객체 삭제

}

 

 

 

2021. 8. 3. 09:41

어떠한 라이브러리나 직접 코드를 구현하여 버퍼에 이미지가 들어갔을 때 

 

MFC에서 출력하는 방법을 알아보자

2021. 4. 26. 15:21

검토 > 적용 > 변경내용 모두 적용 선택

 

Redline 문서가 필요하면 파일을 복사하고 복사한 파일에 추가해야 한다

 

한 번 적용을 하면 그 이후에 변경 사항을 볼 수가 없기 때문이다

2021. 4. 26. 15:02

주소 문자열은 url 모듈을 사용한다

 

JavaScript에서 사용하는 모듈은 require 함수를 사용한다

2021. 4. 14. 00:04

cp -r package ~

 

cd ~ 

 

 

2021. 4. 12. 23:42

1. Package - 바이너리 패키지의 이름

 

패키지 이름은 오직 다음과 같은 문자만 포함해야 한다

 

 - 소문자 (a ~ z)

 

 - 숫자 (0 ~ 9)

 

 - plus (+) 와 minus (-)

 

 - periods ( . )

 

 

최소 문자 2개 이상 포함하고 첫 시작 문자는 문자 또는 숫자

 

2. Source

 

 - Source 패키지 이름

 

3. Version

 

패키지의 Version 숫자 

 

형식 [epoch:]upstream_version[-debian_revision]

 

epoch - 하나의 양의 정수 (일반적으로 작은 수), 생략 가능

 

upstream_version - version 숫자의 주요 부분

 

   문자와 숫자 그리고 . + - ~ (마침표, 더하기, 빼기, 물결표) 만 포함

 

   시작은 숫자

 

debian_revision

 

  Debian packge의  버전

 

  - 이 버전이 표시 안 되면 debian_revision은 0으로 간주

 

4. Section

 

패키지가 구체화되는 응용 프로그램 영역을 구체화

 

자세한 사항은 Sections 을 참고

 

5. Priority

 

사용자가 패키지를 설치하는 것이 얼마나 중요한가를 나타냄

 

자세한 사항은 Priorities 를 참고

 

6. Architecture

 

다음과 값들의 집합을 포함해야 한다

 

 

2021. 4. 10. 21:34

복사 명령어 - cp

 

1. cp apple.txt pear.txt

 

apple.txt 파일을 pear.txt라는 이름의 파일로 복사

 

 

2. cp apple.txt basket

 

basket이라는 디렉토리가 있으면 basket이라는 디렉토리에 apple.txt 파일을 복사

 

basket이라는 디렉토리가 없으면 apple.txt 파일을 basket 이름의 파일로 복사

 

 

3. cp abc.txt basket/pear.txt

 

abc.txt 파일을 basket 디렉토리 안에 pear.txt 이름의 파일로 복사

 

 

4. cp -r fruit basket

 

fruit과 basket 은 디렉토리 이름

 

bakset 디렉토리가 없으면 fruit 디렉토리를 basket 디렉토리 이름으로 바꾸어 복사

 

basket 디렉토리가 있으면 fruit 디렉토리를 basket 디렉토리 안에 복사 - 즉 basket/fruit로 복사

 

 

 

이동 명령어 - mv

 

1. mv apple.txt pear.txt

 

apple.txt 파일을 pear.txt 로 이름을 바꾸어 이동

 

파일이름을 바꾸는 결과

 

 

2. mv apple.txt basket

 

basket 디렉토리가 없다면 apple.txt 파일을 basket 파일 이름으로 바꾸어 이동

 

basket 디렉토리가 있으면 basket 디렉토리 안으로 apple.txt 파일 이동

 

 

3. mv apple.txt basket/pear.txt

 

apple.txt 파일을 basket 디렉토리 안의 pear.txt 파일 이름으로 이동

 

 

4. mv fruit basket

 

fruit은 디렉토리

 

basket 디렉토리가 없으면 fruit 디렉토리를 basket으로 이름 바꾸어 이동

 

basket 디렉토리가 있으면 fruit 디렉토리를 basket 디렉토리 안으로 이동 - 즉 basket/fruit 이 됨

 

 

5. mv fruit basket/wallet

 

fruit은 디렉토리

 

basket/wallet 디렉토리가 없으면 fruit 디렉토리를 basket 디렉토리 안으로 wallet 이름으로 바꾸어 이동

 

basket/wallet 디렉토리가 있으면, fruit 디렉토리를 basket/wallet 디렉토리 안으로 이동 - basket/wallet/fruit

 

 

2021. 4. 10. 17:45

리눅스에서는 폴더라는 말 대신 디렉토리라고 한다

파일이나 디렉토리를 찾는 명령어는 find 라는 명령어를 사용한다

find / -name 'mine*'

 

루트( / ) 디렉토리에서 시작하여 하위 디렉토리에 있는 mine 으로 시작하는 모든 파일을 다 찾음

 

 

find / -name '*.txt' 

 

루트( / ) 폴더에서 시작하여 하위 폴더에 있는 .txt 확장자를 가진 파일 모두 찾기

 

 

find -name 'mine*'

 

현재 디렉토리에서 하위 디렉토리  / 를 빼고 검색

 

특정 디렉토리 안에서 파일을 찾으려면 해당 디렉토리로 이동 

 

 

find -name 'mine*' -type d

 

파일 이름이 아니라 디렉토리를 찾고 싶다면 -type d 라고 추가하면 된다

 

파일을 찾는 태그는 -type f 인데 기본적으로 생략한다

2021. 4. 2. 22:49

윈도우즈에는 .msi 설치 파일 또는 .exe 설치 파일이 있는데

 

우분투는 deb 파일이 있다

 

 

우분투에서는 패키지를 생성하기 위한 명령어를 dpkg 명령어를 이용한다

 

패키지를 생성하기 위해서는 다음과 같은 과정을 따른다

 

1. 기본 디렉토리 생성

 

패키지를 만들기 위한 디렉토리를 생성한다

 

예) mkdir mypack

 

이 폴더 안에는 다음과 같은 폴더가 존재해야 한다

 

- 한 개는 폴더이고 -- 두 개는 파일이다

mypack

    - DEBIAN

        -- control

        -- preinst

        -- postinst

        -- prerm

        -- postrm

    - usr

        - include

        - lib

   

DEBIAN 폴더는 필수 폴더이고

* control

    - 설치나 업로드 파일을 제어하기 위한 데이터를 가지고 있는 파일

    - 하나 또는 그 이상의 문단으로 구성

        문단은 빈 줄로 구성

        각 문단은 보통 다른 패키지를 언급

        (예 - 첫 번째 패키지 - 소스 패키지

               두 번째 패키지 - 소스로부터 생성된 바이너리 패키지)

        문단의 순서는 중요

    - 문단은 일련의 데이터 필드로 구성

    - Package : libc6   (Package - 필드 이름, libc6 - 필드 값)

        빈 필드 값은 오직 소스 패키지 control 파일에서만 허용됨

 

    바이너리 패키지에 관한 control 파일은 다음과 같은 속성을 가진다

 

  1. Package (필수) 

 

  2. Source

 

  3. Version (필수)

 

  4. Section (추천)

  

  5. Priority (추천)

 

  6. Architecture (필수)

 

  7. Essential

 

  8. Depends et al

 

  9. Installed-Size

 

  10. Maintainer (필수)

 

  11. Description (필수)

 

  12. Homepage

 

  13. Built-Using

 

위의 필드 목록은 다음 글에서 다룬다

 

* preinst

    - 패키지 내에 포함된 파일을 설치하기 전에 실행되는 스크립트

 

* post inst

 

    - 패키지 내 포함된 파일을 설치한 후에 실행되는 스크립트

 

* prerm

    - 패키지 설치 이전 삭제해야 할 리스트

 

* postrm

    - 패키지 설치 이후 삭제해야 할 리스트

 

 

Control File에서 Section 항목에 들어갈 수 있는 목록은 다음 사이트를 참조한다

 

packages.debian.org/unstable/

 

Debian -- List of sections in "sid"

List of sections in "sid" Administration Utilities Utilities to administer system resources, manage user accounts, etc. Mono/CLI Everything about Mono and the Common Language Infrastructure. Communication Programs Software to use your modem in the old fash

packages.debian.org