VSC의 확장 프로그램 중, Remote-WSL(Windows Subsystems for Linux)로 로컬에 구성된 우분투의 파일들을 제어하고 bash 터미널까지 만지는걸 보고, SSH도 가능하지 않을까? 하는 생각에 찾아봤다.

 

https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh

 

Remote - SSH - Visual Studio Marketplace

OverviewQ & ARating & Review Visual Studio Code Remote - SSH The Remote - SSH extension lets you use any remote machine with a SSH server as your development environment. This can greatly simplify development and troubleshooting in a wide variety of situat

marketplace.visualstudio.com

있다.

SSH 접속으로 리눅스 시스템 내부의 디렉토리와 파일을 모두 편집하는 등 제어할 수 있다.

 

사용법은 간단하게도 설치하고, Command Palette(Ctrl+Shift+P)에서

ssh jade@xxx.xxx.xxx.xxx -A

만 입력하면 되는데,

당연하게도 권한이 없다며 거부한다.

https://blog.naver.com/techshare/221561596209

 

로컬의 Visual Studio Code로 원격 리눅스 머신에 접속해 개발하는 방법

얼마 전에 1.33.1 버전부터 지원된다는 소식을 들었었는데, VS Code Remote Development ; https://co...

blog.naver.com

위 글을 참고하여 id_rsa.pub 파일을 만들고 넣어주었더니 이번에는

출처 : https://github.com/microsoft/vscode-remote-release/issues/131

wget과 curl을 확인해보란다.

:~$ sudo which wget
/usr/bin/wget

wget은 당연히 있고..

sudo apt install curl

curl을 설치해준 뒤 Retry를 눌러보면 잘 접속이 된다.

apt install로 패키지를 설치하는데

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

이라며 fix-missing을 시도해보라고 한다.

:~$ apt update --fix-missing

시도해보았지만,

 

Some index files failed to download. They have been ignored, or old ones used instead.

이런 오류를 뿜으며 업데이트가 되지 않는다.

:~$ sudo vi /etc/apt/sources.list
# deb cdrom:[Ubuntu-Server 14.04.5 LTS _Trusty Tahr_ - Release amd64 (20160803)]/ trusty main restricted

# deb cdrom:[Ubuntu-Server 14.04.5 LTS _Trusty Tahr_ - Release amd64 (20160803)]/ trusty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://kr.archive.ubuntu.com/ubuntu/ bionic main restricted
deb-src http://kr.archive.ubuntu.com/ubuntu/ bionic main restricted

.....

sources.list 파일을 열고,

:%s/kr.archive.ubuntu.com/ftp.daumkakao.com

으로 기존의 경로를 한국에서 서비스하는 다음카카오로 바꾸어준다.

저장 후, apt update와 apt upgrade를 다시 시도하면 정상적으로 진행이 된다.

Ajax 통신으로 공유하기 버튼을 클릭한 횟수와 공유한 게시글을 통해 유입된 인구수를 조사하기 위해 각각의 php파일을 만들고 서버와 통신을 시도했는데, 아래와 같은 오류를 내보냈다.

Access to XMLHttpRequest at 'https://url/ajax.php' from origin 'https://this\_url/' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

로컬에서 테스트했을 때는 같은 url상의 경로이기 때문에 당연하게 되었던 것이,

실제 경로에 스크립트 삽입 후 url이 바뀌었기 때문에 CORS정책에 의해 막힌다는 것.

사실상 유명무실한 정책인 것 같지만.. 그래도 어쩌겠는가..

방법은 클라이언트 사이드에서 확장도구를 사용하는 방법과, 서버 사이드에서 접근을 허용해주는 방법이 있다.

서버와 웹페이지가 같은 서버경로상에 있다면 굳이 필요 없겠지만 내 경우 여러곳에 배포할 목적으로 사용하는 것이기 때문에 서버 사이드에서 해결해 주도록 한다.

방법은 상당히 심플한데, 헤더에

Access-Control-Allow-Origin: \*
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: x-requested-with

요것들만 추가해주면 된다는 것..
하지만 저렇게만 하면 GET/POST 메소드 이외에는 사용이 안되기 때문에 다른 메서드를 사용하기 위해 하나 더 추가해준다.

Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS

최종적으로 PHP 코드는 이렇게 된다

1
2
3
4
header('Access-Control-Allow-Origin: *');
header('Access-Control-Max-Age: 86400');
header('Access-Control-Allow-Headers: x-requested-with');
header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');

아래에 잘 설명되어있는 글이 있으니 더 알아보고싶다면 참고하도록 하자.

https://brunch.co.kr/@adrenalinee31/1

'Web > PHP' 카테고리의 다른 글

[PHP] Ajax 크로스도메인(CORS) 이슈 해결  (0) 2019.10.11

for(초기화;조건문;증감문)   {

반복할 내용;                     }    

 

예시)

 #include <stdio.h>

 int main(void)

 {

 int sum, i;

 sum = 0;

 for(i=1;i<=100;i++) { //i값이 1부터 100까지 증가한다

 sum = i+sum; // sum+1, sum+2, sum+3…

 }

 printf("sum = %d", sum);

 return 0;

 }

 

'Programming > C, C++' 카테고리의 다른 글

for문  (0) 2013.04.08

문자 출력하기

 > DC(Device Context)

  : 출력에 필요한 모든 정보를 가지는 구조체

switch(iMessage) {

case WM_LBUTTONDOWN:

         hdc = GetDC(hWnd);

         TextOut(hdc,135,115,"Beautiful Korea",15);

         //TextOut(hdc, x좌표, y좌표, "문자열", 공백포함 문자열 길이);

         ReleaseDC(hWnd,hdc);

         return 0;

 

실행 결과

 

 

문자 출력 (2) [한줄 출력]

 > SetTextAlign(HDC hdc, 정렬모드)

  : 문자열 정렬 함수

  : 정렬 모드

- TA_TOP

- TA_BOTTOM

- TA_CENTER

- TA_LEFT

- TA_RIGHT

- TA_UPDATECP - 바로 이전에 출력한 끝 위치(Current Position)

 

문자 출력 (3) [영역 내 여러 줄 출력]

 > DrawText(HDC hdc, 문자열, 길이, 출력위치 사각영역, 출력방법)

  >출력 방법

- DT_LEFT

- DT_RIGHT

- DT_CENTER

- DT_BOTTOM

- DT_VCENTER

- DT_WORDBREAK

- DT_SINGLELINE

- DT_NOCLIP

'Programming > Win API' 카테고리의 다른 글

20130402 WinAPI  (0) 2013.04.02
[20130326] API강의  (0) 2013.03.26

윈도우 프로그래밍 처리 과정

  WndClass 정의

RegisterClass

CreateWindow

ShowWindow

메세지 루프

  윈도우 특성을 정의

윈도우 클래스 정의

메모리에 윈도우 저장

윈도우를 화면에 표시

사용자의 메세지 처리

 ▶ 기본 윈도우 배경색 사용하기

1) GetStockObject()

winclass.hbrBackground = GetStockObject(WHITE_BRUSH);

WHITE, GREY, BLACK 등 윈도우에서 기본적으로 제공하는 브러쉬만 사용 가능함.

 ▶ 브러시 만들어서 사용하기

 1) CreateSolidBrush()

winclass.hbrBackground = CreaeSolidBrush(RGB(0,0,255))

2) CreateHatchBrush()

winclass.hbrBackground = CreateHatchBrush(HS_DIAGCROSS, RGB(255,0,0))

 

HatchBrush의 종류 (클릭시 이미지 열림)

 

 

 값

모양 
 HS_BDIAGONAL   좌하향 줄무늬
 HS_CROSS   바둑판 모양
 HS_DIAGCROSS   좌하향 및 우하향 줄무늬
 HS_FDIAGONAL

  우하향 줄무늬

 HS_HORIZONTAL   수평선
 HS_VERTICAL   수직선

 

 

 

 

          TIP! : RGB Color = Red(0~255), Green(0~255), Blue(0~255)

           ex) RGB(255,255,255) = BLACK, RGB(255,255,0) = YELLOW,

                  RGB(255,0,255) = HOT PINK, RGB(0,0,255) = BLUE

 
   

 

 

  커서 모양 바꾸기

 > winclass.hCursor=LoadCursor(NULL,IDC_ARROW);

 

   모양
 IDC_ARROW  화살표 모양
 IDC_CROSS  십자 모양
 IDC_IBEAM  I자 모양
 IDC_NO  원 안에 빗금이 쳐진 모양

 IDC_WAIT

 모래시계 모양

 

 

   아이콘 바꾸기

 > winclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);

 

 값 

 모양 

 IDI_APPLICATION 

 기본 아이콘 모양 

 IDI_ASTERISK

 원 안에 느낌표 모양 

 IDI_ERROR 

 원 안에 십자 모양 

 IDI_EXCLAMATION 

 세모 안에 느낌표 모양 

 IDI_QUESTION 

 물음표 모양 

 

 ▶ 타이틀 이름

 

 ▶ dwStyle

WS_OVERLAPPED

 : 디폴트 윈도우

 : 타이틀 바와 크기 조절이 안 되는 경계선

 : 아무런 스타일도 주지 않으면 이 스타일이 적용됨.

WS_VISIBLE

 : 윈도우를 만들자마자 화면에 출력한다.

WS_CAPTION

 : 타이틀 바를 가진 윈도우

WS_VSCROLL

 : 수직 스크롤 바를 가진 윈도우

WS_HSCROLL

 : 수평 스크롤 바를 가진 윈도우

WS_SYSMENU

 : 수평 스크롤 바를 가진 윈도우

WS_THICKFRAME

 : 크기 조정이 가능한 두꺼운 경계선을 가짐.

WS_MINIMIZEBOX

 : 최소화 버튼

WS_MAXIMIZEBOX

 : 최대화 버튼

WS_OVERLAPPEDWINDOW

 : 위 옵션을 한번에 모두 출력.

'Programming > Win API' 카테고리의 다른 글

20130402 WinAPI  (0) 2013.04.02
[20130326] API강의  (0) 2013.03.26

+ Recent posts