putty 를 이용해서 구입한 호스팅 서버에 접근 한다.

호스팅 주소는 신청당시 사용한 id.cafe24.com 으로 접속해서, 

id : root

pwd : 호스팅 신청 당시 설정한 root 비밀 번호 입력 합니다.

설치전 update 명령어로 ubuntu에 설치된 패키지 들의 정보를 update 합니다.

저 같은 경우 10분 정도 걸린거 같아요.

- update 명령어 : apt update & apt upgrade

curl 명령어를 사용해서 get-docker.sh 파일을 받는다.

현재 curl 명령어를 사용할 수 없다고 나오기에 curl 을 설치 해 주도록 한다.

- 도커 설치 파일 다운로드 명령어 : curl -fsSL https://get.docker.com -o get-docker.sh

Command 'curl' not found, but can be installed with:

apt install curl

현재 curl 명령어를 사용할 수 없다고 나오기에 curl 을 설치 해 주도록 한다.

- curl 설치 명령어 : apt install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-5.4.0-37 linux-headers-5.4.0-37-generic linux-image-5.4.0-37-generic linux-modules-5.4.0-37-generic linux-modules-extra-5.4.0-37-generic
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  libcurl4
The following packages will be REMOVED:
  libcurl3
The following NEW packages will be installed:
  curl libcurl4
0 upgraded, 2 newly installed, 1 to remove and 283 not upgraded.
Need to get 396 kB of archives.
After this operation, 479 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 libcurl4 amd64 7.68.0-1ubuntu2.15 [235 kB]
Get:2 http://kr.archive.ubuntu.com/ubuntu focal-updates/main amd64 curl amd64 7.68.0-1ubuntu2.15 [161 kB]
Fetched 396 kB in 3s (156 kB/s)
(Reading database ... 111939 files and directories currently installed.)
Removing libcurl3:amd64 (7.58.0-2ubuntu2) ...
Selecting previously unselected package libcurl4:amd64.
(Reading database ... 111932 files and directories currently installed.)
Preparing to unpack .../libcurl4_7.68.0-1ubuntu2.15_amd64.deb ...
Unpacking libcurl4:amd64 (7.68.0-1ubuntu2.15) ...
Selecting previously unselected package curl.
Preparing to unpack .../curl_7.68.0-1ubuntu2.15_amd64.deb ...
Unpacking curl (7.68.0-1ubuntu2.15) ...
Setting up libcurl4:amd64 (7.68.0-1ubuntu2.15) ...
Setting up curl (7.68.0-1ubuntu2.15) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...

설치가 완료 되면 curl 을 이요해 설치 파일을 다운로드 한다.

- 도커 설치 파일 다운로드 명령어 : curl -fsSL https://get.docker.com -o get-docker.sh

설치 파일을 다운로드 했으면 실행 한다.

- 실행 명령어 : sudo sh get-docker.sh
# Executing docker install script, commit: 66474034547a96caa0a25be56051ff8b726a1b28
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c mkdir -p /etc/apt/keyrings && chmod -R 0755 /etc/apt/keyrings
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
+ sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-scan-plugin docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
+ sh -c docker version
Client: Docker Engine - Community
 Version:           23.0.1
 API version:       1.42
 Go version:        go1.19.5
 Git commit:        a5ee5b1
 Built:             Thu Feb  9 19:46:56 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          23.0.1
  API version:      1.42 (minimum version 1.12)
  Go version:       go1.19.5
  Git commit:       bc3805a
  Built:            Thu Feb  9 19:46:56 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.16
  GitCommit:        31aa4358a36870b21a992d3ad2bef29e1d693bec
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

설치가 완료 된다면 도커 버전을 확인해 본다.

- 도커 버전 확인 명령어 : docker --version
Docker version 23.0.1, build a5ee5b1

필수 패키지 들을 설치 합니다.

- 설치 명령어 : sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

GPG Key 인증

- 인증 명령어 : curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

명령어 사용시 OK 가 확인 되면 완료.

docker repository 등록 진행 한다.

아키텍처에 맞춰서 Docker repository 등록해 줍니다.

아키텍처 확인은 arch 를 입력 합니다.

제 서버의 아키텍처는 x86_64 로 확인을 했습니다.

아래 명령어 실행 :

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

실행 결과 :

apt docker 설치

명령어 : sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io

실행 결과 : 

설치 정상 확인 명령어 : docker -v 

시스템 재 부팅시 실행 되도록 설정 합니다.

설정 명령어 : sudo systemctl enable docker && service docker start

도커 서비스 상태 확인 : service docker status

active 까지 나오는걸 확인 했으면 docker 서비스 구축이 완료 되었습니다.

 

portainer 구축하기

portainer는 docker의 이미지,컨테이너,네트워크등을 쉽게 관리할 수 있게 도와주는 GUI Web 서비스 입니다.

docker의 이미지라는 개념이 생소할 수도있는데 윈도우 설치에 필요한 iso라고 보시면 될거같습니다.
iso로 윈도우를 설치하듯이 이미지로 docker의 컨테이너를 생성하게됩니다. 이 이미지(iso 같은)는 hub.docker.com에서 검색해보면 엄청나게 방대한양의 데이터베이스가 있습니다.

이번에 설치할 portainer도 찾아본다면 아래처럼 나오게 됩니다. 이외에 cent os, nginx, mariadb 등등 docker의 이미지는 엄청많으니 궁금하면 들어가서 찾아보시면 됩니다.

항상 지원하는 아키텍쳐를 확인하는게 좋습니다.

portainer 컨테이너 설치에 앞서 컨테이너와 host(vm)간에 볼륨매칭을 위한 디렉터리 생성부터 진행 합니다.

- 생성 명령어 : mkdir -p /data/portainer

- portainer 실행 명령어 : docker run --name portainer -p 9000:9000 -d --restart always -v /data/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

–-name 으로 컨테이너 이름 생성, -p 호스트 포트 9000 내부포트 9000번 , -d 데몬으로 백그라운드, –restart always 재부팅시 자동시작, -v /data~~ 호스트와 컨테이너간 볼륨매칭, docker.sock도 마찬가지로 공유, portainer/portainer 이미지 사용

실행이 완료 되면 url로 접속을 해 봅니다.

ip:9000 으로 접속 해 봅니다.

처음 관리자 아이디, 패스워드를 설정 합니다.

생성 완료 후 페이지

"Get Started" 클릭을 하게 되면 아래와 같이 local 도커가 연결된 것을 확인 할 수 있습니다.

서비스를 올려 보도록 하겠습니다.

제 목적은 docker 를 통해 spring boot 서버와 react 서버를 올리는 것이기에 2개의 서비스를 필요로 합니다.

왼쪽 메뉴중 Containers 를 클릭시 현재 실행되고 있는 컨테이너를 확인 할 수 있습니다.

오르쪽 상단위 Add container를 통해 신규 컨테이너를 GUI로 만들 수 있습니다.

또는 이미지 추가로 도커의 허브에 있는 공개되어 있는 이미지 들을 추가 해서 사용 할 수 있습니다.

2편 도커에 gradle, git, open jdk17, nodejs, react 추가 하기

 

참고 : 도커 기본 명령어 모음

참고 사이트 : 서버포럼 - Docker Web GUI 관리 툴 Portainer 설치하기.(+ 도커 설치하기) (svrforum.com)

Posted by 블로그하는프로그래머
,

이번에 웹 서비스 하나를 제작 하면서 카페 24 호스팅 하나를 구입 하게 되었다.

호스팅의 종류는 여러 가지가 있지만 그중 가상 호스팅 서버가 내 입맛에 맞는거 같아서 가상서버 호스팅을 구입 하게 되었다.

자 이제 내용을 정리 해 보고자 한다.

cafe24.com 에 접속 해서 로그인을 진행 한다.

https://hosting.cafe24.com/ 페이지로 이동을 하게 되면 "호스팅" -> "서버호스팅" -> "가상서버호스팅" 으로 이동 하여 호스팅 하나를 사게 된다.

 

무난하다고 보이는 "비즈니스" 를 선택 한다. 월 11,000 원 이고 1년이면 140,000원 정도로 사용을 할 수 있다. 

"신청 하기" 를 클릭 한다.

신청 아이디, 비밀번호, 비밀번호 확인, 인시 root 비밀번호를 입력 한다.

만약을위해서 비밀번호는 따로 메모를 해두는 것을 권장 한다.

 

결제 비용을 지불 한다.

지불이 완료 되면 "나의 서비스 관리" 로 이동 해서 OS가 설치 되고 있는게 보일 거다.

이게 완료 되면 이후에 서버를 사용 할 수 있다.

다음 장에서는 ubuntu 20.04 에 도커 설치 하고 github action을 이용한 자동 빌드 실행 하는 부분을 포스팅 하도록 해보겠다.

Posted by 블로그하는프로그래머
,

1. Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.4)

X The current Visual Studio installation is incomplete. Please reinstall Visual Studio.

위 이슈 발생시 비쥬얼 스튜디오 c++ 버전을 다운 받아 설치 해 주면 된다.

https://visualstudio.microsoft.com/ko/downloads/

 

Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치

Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 Visual Studio Professional 또는 Enterprise Edition을 사용해 보세요.

visualstudio.microsoft.com

동그라미 친 대상을 클릭 하고 다운로드 클릭 한다.

모두 설치 하면 해결 된다.

 

2. Android Studio (version 2022.1)

X Unable to find bundled Java version.

위 내용의 에러 발생시 해결 방법은 android studio의 jre 폴더를 삭제하고 다시 jbr 폴더를 복사 해서 jre 이름으로 변경해 주면 해결이 된다.

작성자의 설치 디렉토리 기준으로 설명을 하면

C:\dev\Android\Android Studio 에 android studio가 설치가 되어 있는데,

하위 디렉토리에 jre 디렉토리가 있지만 아무것도 없는 디렉토리 이다.

이 디렉토리를 삭제 하고

C:\dev\Android\Android Studio 에 android studio가 설치되어 있는 하위 디렉토리 중 jbr 디렉토리를 복사 해서 jre 폴더를 생성 해 주면 해결이 된다.

Posted by 블로그하는프로그래머
,

SSH의 이점 활용: 안전한 원격 액세스, 유연성 및 사용 편의성

 

  1. "보안 원격 액세스의 중요성"
  2. "SSH의 유연성"
  3. "기술 및 비기술 사용자를 위한 사용 용이성"
  4. "SSH의 오픈 소스 특성"
  5. "원격 근무 및 서버 관리를 위한 SSH"
  6. "SSH가 연결할 수 있는 다양한 장치"
  7. "요약: SSH의 전반적인 이점"

 

  • 보안 원격 액세스의 중요성

오늘날 세계에서는 원격 시스템 및 장치에 액세스하는 기능이 점점 더 중요해지고 있습니다. 원격으로 작업하든, 서버 팜을 관리하든, 네트워크 문제를 해결하든 원격으로 시스템에 액세스하는 기능은 생산성과 효율성을 크게 높일 수 있습니다. 그러나 이 원격 액세스가 안전한지 확인하는 것이 중요하며 여기에서 SSH가 필요합니다.

SSH(Secure Shell)는 원격 서버 및 장치에 안전하게 연결할 수 있게 해주는 기술입니다. 연결을 통해 전송되는 모든 데이터를 암호화하여 암호 및 파일과 같은 민감한 정보를 악의적인 행위자가 가로챌 수 없도록 합니다. 따라서 SSH는 시스템 및 장치에 대한 원격 액세스를 보호하는 데 필수적인 도구입니다.

SSH의 주요 이점 중 하나는 서버에 대한 안전한 원격 액세스를 제공한다는 것입니다. 연결을 통해 전송되는 모든 데이터를 암호화함으로써 SSH는 암호 및 파일과 같은 민감한 정보를 악의적인 행위자가 가로챌 수 없도록 합니다. 따라서 원격 작업 및 원격 서버 관리를 위한 훌륭한 옵션입니다.

서버 외에도 SSH를 사용하여 다양한 기타 장치에 대한 원격 액세스를 보호할 수도 있습니다. 예를 들어 라우터, 네트워크 스위치 및 일부 가전 제품에 액세스하는 데 사용할 수 있습니다. 따라서 사무실과 현장 모두에서 광범위한 시스템을 관리하고 문제를 해결하는 데 유용한 도구입니다.

SSH의 또 다른 이점은 VPN(가상 사설망) 없이 원격으로 시스템에 액세스하는 데 사용할 수 있다는 것입니다. 이는 VPN이 차단되거나 제한되는 환경과 같이 VPN이 옵션이 아닌 상황에서 유용한 기능이 될 수 있습니다.

결론적으로 원격 시스템 및 장치에 액세스하는 기능이 점점 더 중요해지고 있습니다. 그러나 이 원격 액세스가 안전한지 확인하는 것이 중요합니다. 연결을 통해 전송되는 모든 데이터를 암호화하는 기능이 있는 SSH는 시스템 및 장치에 대한 원격 액세스를 보호하는 데 필수적인 도구입니다. 원격으로 작업하든 서버를 관리하든 SSH는 작업 흐름을 개선하고 생산성을 높이는 동시에 데이터 보안을 보장할 수 있는 유용한 도구입니다.

 

  • SSH의 유연성

SSH(Secure Shell)는 원격 서버 및 장치에 안전하게 연결할 수 있게 해주는 강력한 기술입니다. SSH의 주요 이점 중 하나는 유연성으로 다양한 상황과 다양한 장치에서 사용할 수 있습니다.

SSH의 유연성에 대한 가장 분명한 예 중 하나는 원격 서버에 연결하는 기능입니다. 원격으로 작업하든 서버 팜을 관리하든 SSH를 통해 전 세계 어디에서나 서버에 안전하게 액세스하고 제어할 수 있습니다. 이를 통해 생산성을 크게 높이고 현장 방문의 필요성을 줄일 수 있습니다.

서버 외에도 SSH를 사용하여 다양한 기타 장치에 연결할 수 있습니다. 예를 들어 라우터, 네트워크 스위치 및 일부 가전 제품에 액세스하는 데 사용할 수 있습니다. 따라서 사무실과 현장 모두에서 광범위한 시스템을 관리하고 문제를 해결하는 데 유용한 도구입니다.

SSH의 유연성에 대한 또 다른 예는 다른 운영 체제와 함께 사용할 수 있는 능력입니다. SSH는 Windows, Mac, Linux 및 모바일 장치를 포함한 다양한 플랫폼에서 사용할 수 있습니다. 즉, 사용하는 운영 체제에 관계없이 SSH를 사용하여 다양한 장치에 연결할 수 있습니다.

마지막으로 SSH의 유연성은 오픈 소스 소프트웨어라는 사실로 인해 향상됩니다. 즉, 자유롭게 사용, 배포 및 수정할 수 있습니다. 이를 통해 광범위한 사용자가 액세스할 수 있으며 시간이 지남에 따라 지속적으로 개발 및 개선될 수 있습니다.

결론적으로 SSH의 유연성은 가장 중요한 기능 중 하나입니다. 다양한 장치 및 운영 체제에 연결할 수 있는 기능과 오픈 소스 특성으로 인해 다양한 시스템을 관리하고 문제를 해결하는 데 유용한 도구입니다. 원격으로 작업하든 서버를 관리하든 SSH는 작업 흐름을 개선하고 생산성을 높이는 데 도움이 되는 유용한 도구입니다.

 

  • 기술 및 비기술 사용자를 위한 사용 용이성

SSH의 가장 큰 장점 중 하나는 기술 사용자와 비기술 사용자 모두 사용하기 쉽다는 것입니다. SSH는 강력한 기술이지만 사용이 간편하도록 설계되어 다양한 사용자가 액세스할 수 있습니다.

기술 사용자를 위해 SSH는 원격 시스템을 관리하고 문제를 해결하는 데 사용할 수 있는 여러 가지 강력한 기능을 제공합니다. 예를 들어 SSH는 명령을 원격으로 실행하고 파일을 전송하고 네트워크 연결을 터널링하는 기능을 제공합니다. 이러한 기능은 원격 시스템으로 작업할 때 기술 사용자의 생산성을 크게 높일 수 있습니다.

기술 지식이 없는 사용자의 경우 SSH는 원격 시스템에 액세스할 수 있는 간단하고 안전한 방법을 제공합니다. 기술 지식이 없는 사용자를 위한 SSH의 가장 일반적인 용도는 터미널 또는 명령 프롬프트를 사용하여 원격 서버에 로그인하는 것입니다. 이것은 "ssh user@host"와 같은 간단한 명령을 사용하여 수행할 수 있으며 고급 기술 지식이 필요하지 않습니다.

사용 용이성 외에도 SSH는 사용을 훨씬 더 쉽게 만드는 데 사용할 수 있는 여러 도구를 제공합니다. 예를 들어 ssh-copy-id 명령을 사용하면 원격 서버에 SSH 키를 쉽게 추가할 수 있으므로 수동으로 키를 추가할 필요가 없습니다. 이렇게 하면 프로세스에 익숙하지 않은 비기술 사용자가 많은 시간을 절약할 수 있습니다.

또 다른 예로는 SSH 연결을 위한 그래픽 사용자 인터페이스를 제공하는 Putty(Windows) 및 터미널(Mac/Linux)과 같은 SSH 클라이언트를 사용하여 기술 지식이 없는 사용자가 훨씬 더 쉽게 액세스할 수 있도록 합니다.

결론적으로 SSH는 기술 사용자와 비기술 사용자 모두가 사용하기 쉬운 강력한 기술입니다. 강력한 기능 및 도구와 결합된 사용 용이성은 원격 시스템을 관리하고 문제를 해결하는 데 유용한 도구입니다. 기술 사용자이든 비기술 사용자이든 관계없이 SSH는 생산성을 높이고 작업 흐름을 개선하는 데 도움이 될 수 있습니다.

 

  • SSH의 오픈 소스 특성

SSH(Secure Shell)는 서버 및 장치에 대한 보안 원격 액세스를 위해 널리 채택된 기술입니다. 널리 사용되는 이유 중 하나는 오픈 소스 특성입니다.

오픈 소스 소프트웨어는 누구나 자유롭게 사용, 수정 및 배포할 수 있는 소프트웨어를 의미합니다. SSH는 이 범주에 속하며 BSD 스타일 라이선스에 따라 사용할 수 있습니다. 즉, 누구나 소스 코드에 액세스하여 변경 및 개선하고 수정된 버전을 법적 제한 없이 배포할 수 있습니다.

SSH의 오픈 소스 특성에는 몇 가지 이점이 있습니다. 첫째, 크고 활동적인 개발자 커뮤니티가 소프트웨어 개발 및 유지 관리에 기여할 수 있습니다. 이것은 더 빠른 버그 수정, 새로운 기능 및 성능 향상으로 이어집니다. 또한 코드를 검토할 수 있고 누구나 감사할 수 있으므로 투명성과 보안을 촉진합니다.

둘째, SSH의 오픈 소스 특성은 다른 오픈 소스 기술과의 상호 운용성을 허용합니다. 예를 들어 SSH를 오픈 소스 웹 서버, 데이터베이스 및 기타 원격 액세스 기술과 함께 사용하여 강력하고 유연한 시스템을 만들 수 있습니다.

마지막으로 SSH의 오픈 소스 특성으로 인해 다른 소프트웨어 및 시스템과 쉽게 통합할 수 있습니다. 예를 들어 SSH는 자동화 도구, 모니터링 시스템 및 기타 소프트웨어와 통합되어 강력하고 효율적인 원격 액세스 솔루션을 만들 수 있습니다.

결론적으로 SSH는 서버 및 장치에 대한 안전한 원격 액세스를 위해 널리 채택되는 강력한 기술입니다. 오픈 소스 특성에는 크고 활발한 개발자 커뮤니티, 다른 오픈 소스 기술과의 상호 운용성, 다른 소프트웨어 및 시스템과의 쉬운 통합과 같은 여러 가지 이점이 있습니다. SSH의 오픈 소스 특성으로 인해 원격 액세스 기능을 개선하려는 모든 규모의 조직에 탁월한 선택입니다.

 

  • 원격 작업 및 서버 관리를 위한 SSH

오늘날의 급변하는 비즈니스 환경에서 원격으로 작업할 수 있는 기능은 많은 조직에서 필수 요소가 되었습니다. COVID-19 팬데믹으로 인해 원격 근무의 필요성이 더욱 가속화되면서 기업은 새로운 업무 방식에 빠르게 적응해야 했습니다. SSH(Secure Shell)는 원격 작업을 가능하게 하고 서버를 관리하는 데 중요한 역할을 하는 기술입니다.

SSH는 서버, 장치 및 기타 네트워크 리소스에 대한 안전한 원격 액세스를 허용합니다. 즉, 직원은 인터넷 연결만 있으면 언제 어디서나 필요한 리소스에 액세스할 수 있습니다. 이를 통해 직원의 유연성과 생산성이 크게 향상되어 집에서나 이동 중에 또는 어느 위치에서나 일할 수 있습니다.

SSH는 또한 서버 관리에 사용할 수 있는 여러 도구를 제공합니다. 예를 들어 SSH는 명령을 원격으로 실행하고 파일을 전송하고 네트워크 연결을 터널링하는 기능을 제공합니다. 이러한 기능은 서버 관리의 효율성과 속도를 크게 향상시켜 IT 팀이 서버를 빠르고 쉽게 원격으로 관리할 수 있도록 합니다.

또한 SSH는 자동화 도구, 모니터링 시스템 및 기타 소프트웨어와 통합되어 강력하고 효율적인 원격 액세스 및 서버 관리 솔루션을 만들 수 있습니다. 이를 통해 IT 팀은 원격으로 작업하는 경우에도 서버를 관리하고 성능을 모니터링하며 신속하게 문제에 대응할 수 있습니다.

결론적으로 SSH는 원격 작업을 가능하게 하고 서버를 관리하는 데 중요한 역할을 하는 강력한 기술입니다. 강력한 서버 관리 도구와 결합된 서버 및 장치에 대한 보안 원격 액세스를 제공하는 기능은 원격 작업 기능 및 서버 관리 효율성을 개선하려는 조직에 필수적인 도구입니다. SSH 기술을 사용하면 원격 작업 및 서버 관리의 유연성, 생산성 및 보안을 크게 높일 수 있습니다.

 

  • SSH가 연결할 수 있는 다양한 장치

SSH(Secure Shell)는 서버, 장치 및 기타 네트워크 리소스에 대한 보안 원격 액세스에 널리 사용되는 기술입니다. 인기의 이유 중 하나는 다양한 장치에 연결할 수 있다는 점입니다. SSH는 서버, 노트북, 태블릿, 스마트폰, IoT 장치 등에 연결할 수 있습니다.

SSH는 Windows, Linux 및 macOS와 같은 다양한 운영 체제를 실행하는 서버에 연결할 수 있습니다. 따라서 다양한 환경에서 사용할 수 있는 다목적 기술입니다. SSH는 일반적으로 클라우드 서버에 연결하는 데 사용되므로 사용자가 원격으로 클라우드 리소스에 액세스하고 관리할 수 있습니다.

서버 외에도 SSH는 노트북, 태블릿, 스마트폰과 같은 다양한 기타 장치에 연결할 수 있습니다. 이를 통해 사용자는 원격으로 개인 장치에 액세스하고 관리할 수 있으며, 이는 IT 관리자 및 지원 직원에게 특히 유용할 수 있습니다.

IoT 장치는 점점 대중화되고 있으며 SSH는 이러한 장치에도 연결할 수 있습니다. 이를 통해 모니터링 및 구성과 같은 IoT 장치의 원격 관리가 가능합니다. 이는 산업용 장비, 홈 오토메이션 시스템 및 기타 IoT 애플리케이션을 모니터링하고 제어하는 데 매우 유용할 수 있습니다.

결론적으로 SSH는 다양한 장치에 연결할 수 있는 다재다능한 기술입니다. SSH는 다양한 운영 체제, 클라우드 서버, 랩톱, 태블릿, 스마트폰, IoT 장치 등을 실행하는 서버에 연결할 수 있습니다. 따라서 모든 규모의 조직을 위한 강력한 도구가 되어 원격으로 장치에 안전하게 액세스하고 관리할 수 있습니다. SSH가 연결할 수 있는 다양한 장치는 원격 액세스 및 관리 기능을 개선하려는 조직에 필수적인 도구입니다.

 

  • 요약: SSH의 전반적인 이점

SSH(Secure Shell)는 서버, 장치 및 기타 네트워크 리소스에 대한 보안 원격 액세스를 제공하는 기술입니다. 원격 액세스 및 관리 기능을 개선하기 위해 모든 규모의 조직에서 널리 사용됩니다. 이 블로그 게시물에서는 SSH 기술의 전반적인 이점을 요약합니다.

첫째, SSH는 서버 및 장치에 대한 안전한 원격 액세스를 허용합니다. 즉, 직원은 인터넷 연결만 있으면 언제 어디서나 필요한 리소스에 액세스할 수 있습니다. 이를 통해 직원의 유연성과 생산성이 크게 향상되어 집에서나 이동 중에 또는 어느 위치에서나 일할 수 있습니다.

둘째, SSH는 서버 관리에 사용할 수 있는 여러 도구를 제공합니다. 예를 들어 SSH는 명령을 원격으로 실행하고 파일을 전송하고 네트워크 연결을 터널링하는 기능을 제공합니다. 이러한 기능은 서버 관리의 효율성과 속도를 크게 향상시켜 IT 팀이 서버를 빠르고 쉽게 원격으로 관리할 수 있도록 합니다.

셋째, SSH는 오픈 소스이므로 자유롭게 사용할 수 있고 특정 요구 사항에 맞게 수정할 수 있습니다. 이를 통해 조직의 비용을 크게 절감할 수 있으며 SSH를 다른 소프트웨어 및 시스템과 쉽게 통합할 수 있습니다.

넷째, SSH는 서버, 노트북, 태블릿, 스마트폰, IoT 장치 등을 포함한 광범위한 장치에 연결할 수 있습니다. 따라서 다양한 환경에서 사용할 수 있는 다재다능한 기술이며 조직에서 원격으로 장치에 안전하게 액세스하고 관리할 수 있습니다.

마지막으로 SSH는 안전한 기술입니다. 암호화를 사용하여 데이터와 통신을 보호하고 인증된 사용자만 필요한 리소스에 액세스할 수 있도록 다양한 형태의 인증을 사용하도록 구성할 수 있습니다. 이는 중요한 데이터 및 정보를 처리하는 조직에 특히 중요합니다.

결론적으로 SSH는 조직에 광범위한 이점을 제공하는 강력하고 다양한 기술입니다. 강력한 서버 관리 도구와 결합된 서버 및 장치에 대한 보안 원격 액세스를 제공하는 기능은 원격 액세스 및 관리 기능을 개선하려는 조직에 필수적인 도구입니다. 오픈 소스 특성, 연결할 수 있는 광범위한 장치 및 보안 기능으로 인해 모든 조직에 유용한 만능 도구입니다.

 

 

 

 

 

 


Posted by 블로그하는프로그래머
,
  1. ChatGPT 소개: 강력한 언어 모델
    1. OpenAI에서 개발한 ChatGPT는 우리가 언어 및 기술과 상호 작용하는 방식을 혁신할 수 있는 잠재력을 가진 강력한 언어 모델입니다. 매우 일관되고 상황에 맞는 텍스트를 생성하고 특정 작업을 미세 조정하며 이해하고 응답하는 기능을 갖추고 있습니다.  자연어 입력에 이르기까지 그 가능성은 무궁무진합니다. 챗봇과 콘텐츠 제작에서 교육과 창의적인 글쓰기에 이르기까지 ChatGPT는 탐색할 가치가 있는 도구입니다.

  1. ChatGPT의 변환기 기반 아키텍처를 사용한 일관된 텍스트 생성
    1. ChatGPT의 변환기 기반 아키텍처를 통해 매우 일관되고 상황에 맞는 텍스트를 생성할 수 있습니다.  따라서 챗봇 애플리케이션, 자동 작성 및 콘텐츠 생성과 같은 작업에 유용한 도구입니다.  특정 작업 및 청중에 대한 모델을 미세 조정할 수 있는 기능을 통해 ChatGPT로 텍스트 생성 가능성은 무한합니다.

  1. 특정 작업 및 대상에 대한 ChatGPT 미세 조정
    1. 특정 작업과 청중에 맞게 미세 조정하는 ChatGPT의 기능은 이를 다양한 사용 사례에 유용한 도구로 만듭니다. 올바른 교육 데이터를 사용하면 특정 산업, 대상 인구 통계, 심지어 개별 쓰기 스타일에 대한 텍스트를 생성하도록 조정할 수 있습니다. 이 수준  커스터마이제이션은 챗봇, 자동화된 글쓰기 및 콘텐츠 생성, 교육, 창의적 글쓰기와 같은 분야에서 ChatGPT의 무한한 가능성을 열어줍니다.

  1. ChatGPT의 자연어 이해 기능을 갖춘 챗봇 애플리케이션
    1. ChatGPT의 자연어 이해 기능은 챗봇 애플리케이션을 위한 유용한 도구입니다.  사람과 같은 방식으로 사용자 입력을 이해하고 응답하여 개인화되고 정확한 응답을 제공할 수 있습니다.  이는 고객 서비스를 개선하고 반복 작업을 자동화하며 대화형 소설을 만드는 데 사용할 수 있습니다.  ChatGPT를 사용한 챗봇 애플리케이션의 잠재력은 정말 흥미진진합니다.

  1. ChatGPT로 자동 작성 및 콘텐츠 생성
    1. ChatGPT는 매우 일관되고 상황에 맞는 텍스트를 생성하는 기능을 통해 자동 작성 및 콘텐츠 생성을 위한 유용한 도구가 됩니다.  뉴스 기사 작성, 제품 설명 작성, 창의적인 콘텐츠 생성과 같은 작업을 지원할 수 있습니다.  미세 조정 기능을 통해 특정 산업 및 작문 스타일에 맞게 조정할 수 있습니다.  콘텐츠 제작에서 ChatGPT의 잠재력은 무한합니다.

  1. 비즈니스 및 산업에서의 ChatGPT
    1. ChatGPT의 자연어 이해 및 텍스트 생성 기능은 비즈니스 및 산업에 유용한 도구입니다.  고객 서비스를 개선하고 반복 작업을 자동화하며 산업별 보고서 및 분석을 생성하는 데 사용할 수 있습니다.  특정 작업 및 청중에 대한 모델을 미세 조정할 수 있는 기능을 통해 비즈니스 및 산업에서 ChatGPT의 가능성은 무한합니다.

  1. ChatGPT의 교육용 애플리케이션
    1. ChatGPT는 에세이 작성, 질문 답변, 심지어 언어 번역과 같은 작업을 지원하기 위해 교육에 사용될 수 있습니다.  또한 자연어 이해 기능을 사용하여 대화형 학습 경험과 개인화된 학습 계획을 만들 수 있습니다.  특정 작업과 청중에 맞게 미세 조정할 수 있는 기능을 통해 교육 분야에서 ChatGPT의 잠재력은 무한합니다.

 

  1. ChatGPT를 통한 창의적 글쓰기 및 스토리텔링
    1. ChatGPT는 매우 일관되고 상황에 맞는 텍스트를 생성하는 기능을 통해 창의적인 글쓰기와 스토리텔링을 위한 귀중한 도구가 됩니다.  미세 조정 기능을 통해 특정 작문 스타일, 장르 및 개별 저자 스타일의 텍스트를 생성하도록 조정할 수 있습니다.  이야기 쓰기, 대화 또는 소설 공동 집필과 같은 작업을 지원할 수 있습니다.  창의적인 글쓰기에서 ChatGPT의 가능성은 무궁무진합니다.

  1. ChatGPT의 오류 및 편향 감지 및 수정
    1. ChatGPT는 다른 언어 모델과 마찬가지로 교육 데이터에 존재하는 오류와 편향을 영속화할 가능성이 있습니다.  이러한 오류와 편향을 감지하고 수정하여 지속되지 않도록 하는 것이 중요합니다.  이는 다양하고 편향되지 않은 데이터로 모델을 미세 조정하고, 생성된 텍스트를 모니터링하고, 편향 감지 도구를 사용하여 수행할 수 있습니다.  이러한 문제를 해결함으로써 ChatGPT는 보다 포괄적이고 정확한 도구가 될 수 있습니다.

 

  1. ChatGPT 교육 및 미세 조정의 과제
    1. 학습 및 미세 조정 ChatGPT는 많은 양의 데이터와 계산 리소스가 필요하기 때문에 어려운 작업이 될 수 있습니다.  또한 모델의 아키텍처에 대한 깊은 이해와 올바른 훈련 데이터를 선택하고 준비하는 능력이 필요합니다.  또한 원하는 수준의 성능을 달성하기 위해 많은 시행착오가 필요할 수 있습니다.  그러나 올바른 전문 지식과 리소스가 있으면 ChatGPT를 미세 조정하여 특정 작업을 수행하고 정확한 결과를 제공할 수 있습니다.

  1. 언어와 기술을 혁신하는 ChatGPT의 잠재력
    1. ChatGPT의 강력한 언어 이해 및 텍스트 생성 기능은 언어와 기술을 혁신할 수 있는 잠재력을 가지고 있습니다.  자연어 처리, 자동 쓰기를 개선하고 더 인간과 유사한 AI를 만드는 데 사용할 수 있습니다.  또한 미세 조정 기능을 통해 다양한 산업 및 사용 사례에 적응할 수 있습니다.  기술이 계속 발전함에 따라 언어와 기술의 미래를 형성하는 ChatGPT의 잠재력은 엄청납니다.

  1. 결론: ChatGPT의 무한한 가능성
    1. OpenAI가 개발한 고급 언어 모델인 ChatGPT는 자연어 처리 및 텍스트 생성을 위한 무한한 가능성을 제공합니다.  변압기 기반 아키텍처와 미세 조정 기능을 통해 다양한 산업 및 사용 사례를 위한 다목적 도구입니다.  고객 서비스에서 창의적인 글쓰기에 이르기까지 ChatGPT의 잠재력은 무한합니다.  기술이 계속 발전함에 따라 미래에 사용될 새롭고 혁신적인 방법을 보는 것은 흥미로울 것입니다.
Posted by 블로그하는프로그래머
,

HTTP(Hypertext Transfer Protocol)는 인터넷을 통해 데이터를 전송하는 데 사용되는 통신 프로토콜입니다.  World Wide Web의 기반이며 웹 페이지, 이미지 및 비디오를 포함하여 인터넷에서 대부분의 데이터를 전송하는 데 사용됩니다.



 HTTP 메시지의 기본 구조는 요청과 응답으로 구성됩니다.  웹 브라우저와 같은 클라이언트는 서버에 요청을 보내고 서버는 클라이언트에 다시 응답을 보냅니다.  요청과 응답은 둘 다 메시지 형식이며 여기에는 메서드(예: GET, POST), URL, 헤더 및 메시지 본문과 같은 다양한 정보가 포함됩니다.

 HTTP에서 사용되는 가장 일반적인 방법은 서버에서 리소스를 검색하는 데 사용되는 GET 방법입니다.  다른 일반적인 방법은 리소스를 생성하거나 업데이트하기 위해 서버에 데이터를 보내는 데 사용되는 POST입니다.  특정 목적을 위해 사용되는 PUT, DELETE 및 PATCH와 같은 다른 방법이 있습니다.

 HTTP는 클라이언트가 요청을 시작하고 서버가 요청에 응답하는 클라이언트-서버 아키텍처를 사용합니다.  클라이언트와 서버 간의 통신은 일반적으로 인터넷의 기반인 TCP/IP 연결을 통해 이루어집니다.

 HTTP의 주요 기능 중 하나는 상태 비저장 프로토콜이라는 것입니다. 즉, 각 요청은 이전 요청과 독립적입니다.  이는 간단하고 효율적이지만 상태를 유지하기 위해 쿠키나 세션과 같은 추가 메커니즘이 필요함을 의미하기도 합니다.  쿠키는 브라우저에 의해 클라이언트의 컴퓨터에 저장되고 각 요청과 함께 서버로 전송되는 작은 텍스트 파일입니다.  세션은 웹 사이트에서 사용자의 상호 작용 상태를 저장하는 데 사용되며 일반적으로 쿠키에 저장된 세션 ID를 사용하여 구현됩니다.

 HTTP는 요청 및 응답 메시지 모두에 간단한 텍스트 기반 형식을 사용합니다.  요청 메시지는 일반적으로 메서드, URL 및 헤더로 구성되는 반면 응답 메시지는 일반적으로 상태 코드, 헤더 및 메시지 본문으로 구성됩니다.  상태 코드는 성공적인 요청의 경우 200 OK, 이행할 수 없는 요청의 경우 404 Not Found와 같이 요청 결과를 나타내는 3자리 숫자입니다.

 HTTP 버전 1.1은 가장 널리 사용되는 HTTP 버전이며 TCP/IP를 통해 실행되는 애플리케이션 프로토콜입니다.  이 버전에서 가장 중요한 변경 사항은 동일한 연결을 통해 여러 요청과 응답을 보낼 수 있는 연결 유지 연결의 도입입니다.  이렇게 하면 각 요청에 대한 연결을 열고 닫는 오버헤드가 제거되어 성능이 향상됩니다.

 HTTP/2는 HTTP의 다음 버전이며 가장 뛰어난 기능은 하나의 단일 연결에서 요청과 응답을 다중화하는 동시에 헤더를 압축하는 것입니다.  이렇게 하면 요청을 완료하는 데 필요한 왕복 횟수가 줄어들어 효율성이 높아지고 네트워크를 통해 전송되어야 하는 데이터 양도 줄어듭니다.

 HTTPS(HTTP Secure)는 HTTP 위에 구축된 프로토콜이며 전송되는 데이터에 암호화를 추가합니다.  이는 SSL/TLS(Secure Sockets Layer/Transport Layer Security)를 사용하여 네트워크를 통해 전송되는 데이터를 암호화함으로써 달성됩니다.  이렇게 하면 전송 중에 데이터를 가로채거나 수정할 수 없으며 암호 및 신용 카드 번호와 같은 중요한 정보를 안전하게 전송할 수 있습니다.

 전반적으로 HTTP는 인터넷을 통해 데이터를 전송할 수 있는 강력하고 널리 사용되는 프로토콜이며 World Wide Web의 기반입니다.  프로토콜의 개발과 진화는 지속적으로 진행 중이며 성능과 보안을 더욱 향상시키기 위해 HTTP/3에 대한 작업이 진행 중입니다.

Posted by 블로그하는프로그래머
,

예, 웹 페이지를 아름답게 만드는 데 사용할 수 있는 웹 디자인에 사용할 수 있는 여러 오픈 소스 프레임워크 및 라이브러리가 있습니다.  인기 있는 옵션은 다음과 같습니다.




부트스트랩: 부트스트랩은 웹 페이지에 쉽게 추가할 수 있는 양식, 버튼 및 탐색 메뉴와 같이 미리 디자인된 다양한 구성 요소를 포함하는 널리 사용되는 오픈 소스 프레임워크입니다.





Foundation: Foundation은 웹 페이지에 쉽게 추가할 수 있는 양식, 버튼 및 탐색 메뉴와 같이 미리 디자인된 다양한 구성 요소를 포함하는 또 다른 오픈 소스 프레임워크입니다.




Material-UI: Material-UI는 Google에서 개발한 Material Design 가이드라인을 구현하는 오픈 소스 프레임워크입니다.  여기에는 아름답고 일관된 사용자 인터페이스를 만드는 데 사용할 수 있는 사전 설계된 다양한 구성 요소가 포함되어 있습니다.




Bulma: Bulma는 반응형 및 모바일 우선 웹 페이지를 만들기 위한 간단하고 사용하기 쉬운 프레임워크인 Flexbox를 기반으로 하는 최신 CSS 프레임워크입니다.




Tailwind CSS: Tailwind CSS는 맞춤형 사용자 인터페이스를 신속하게 구축하기 위한 유틸리티 우선 CSS 프레임워크입니다.  마크업에서 직접 모든 디자인을 구축하도록 구성할 수 있는 일련의 CSS 클래스를 제공합니다.




이러한 모든 프레임워크는 무료로 사용할 수 있으며 웹 개발 프로젝트에 쉽게 통합될 수 있습니다.  그들은 또한 프레임워크에 기여하고 지식과 경험을 공유하는 대규모의 활발한 개발자 커뮤니티를 보유하고 있습니다.

그것을 기억하는 것이 중요합니다

Posted by 블로그하는프로그래머
,

와이프랑 다욧 시작한 1주차....

동네에 셀러드 집이 새로 생긴게 기억이 나서 점심을 같이 샐러드 먹기로 했어요.



위치는 [카카오맵] 샐러디 서판교점
경기 성남시 분당구 운중로 129 마크시티옐로우 1층 110호 (운중동)

http://kko.to/af9AO1pZD

샐러디

경기 성남시 분당구 운중로 129

map.kakao.com


전화번호 : 031-607-1709

일딘 맛과 양은 엄청 만족해요~

내부도 깔끔하고 위생에 신경을 많이 쓰시는거 같아요~^^

메뉴판은 아래와 같이 비치 되어 있었어요.

입구 모습입니다.

포장도 깔끔!

우리가 선택한 샐러드는 "콥 셀러디"와 "탄단지 셀러디" 입니다.

포장지는 재활용 쓰레기로 분류 하기 위해서 소스를 바로 뭍히지 않고 집에 있는 볼에 덜고 재활용 까지 하는 센스!!

오늘도 자알 먹었습니다.

'맛집 가볼만한 곳 추천' 카테고리의 다른 글

판교 릴리펏 방문했습니다.  (0) 2022.02.06
Posted by 블로그하는프로그래머
,