Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법

인터넷에서 매우 긴 URL(Uniform Resource Locators)을 접하게 됩니다. 많은 사이트에서 언어, 위치, 식별, 특별 상품에 대한 참조 코드 및 기타 여러 항목과 같은 항목과 같은 방문 정보를 URL에 입력합니다. 이것은 매우 긴 URL을 만듭니다.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
CodeCanyon의 프리미엄 URL 단축기

프리미엄 URL 단축기 코드 캐년 긴 URL을 더 짧게 만드는 방법입니다. 이 튜토리얼에서는 시스템에 고유한 URL 단축기를 설정하는 방법과 사용 방법을 보여 드리겠습니다.

URL 단축기란 무엇입니까?

인터넷을 탐색할 때마다 URL을 사용합니다. 특정 웹 페이지와 콘텐츠를 식별합니다. 여기에는 종종 양식이나 검색 엔진에 대한 매개변수가 포함될 수 있으므로 이러한 URL은 상당히 커질 수 있습니다.

https://tutsplus.com/tutorials/search/How%20to%20Draw%20Animals:%20Horses,%20Their%20Anatomy%20and%20Poses

이 URL은 Tuts+ 웹사이트에서 "How to Draw Animals:Horses, The Anatomy and Poses" 문자열을 검색하기 위한 것입니다. 이 문자열의 길이는 74자입니다. 200자가 넘는 URL을 본 적이 있습니다.

https://bit.ly/2oO8BqO

bit.ly와 같은 단축 URL 서비스를 사용하는 경우 , 훨씬 더 짧은 URL을 얻습니다. 동일한 URL의 길이는 이제 15자입니다. 누군가 이 링크를 탐색하면 bit.ly 서버가 브라우저를 전체 URL로 리디렉션합니다. 다른 URL에 대한 추가 조회는 사이트 로드 시간을 지연시키지만 그다지 많지는 않습니다.

도커 설치

로컬 서버를 만드는 가장 쉬운 방법은 가상화된 환경을 사용하는 것입니다. 그러나 전체 시스템 가상화 장치를 실행하는 것은 리소스를 매우 많이 사용합니다. Docker는 터미널 기반 시스템을 위한 최소 가상화 장치입니다. 더 적은 시스템 리소스를 사용하여 Docker 컨테이너(소형 유닉스 서버)를 실행할 수 있습니다.

시스템에서 컨테이너를 실행하려면 Docker를 설치해야 합니다. . Docker에서 운영 체제에 적합한 다운로드를 선택합니다. 웹사이트.

Docker가 설치되면 생성할 웹 서비스를 찾도록 시스템을 준비해야 합니다. 이렇게 하려면 시스템 파일을 변경해야 합니다. /etc/hosts에서 Linux 또는 macOS 시스템용 파일 및 c:\windows\System32\drivers\etc\lmhosts Windows 시스템의 경우 다음 명령문을 입력하십시오.

127.0.0.1 s.dev

이 변경은 https://s.dev에 대한 모든 참조를 만듭니다. 로컬 시스템으로 이동합니다. 이는 구성을 시도하기 전에 서비스에 적절한 호스트 이름을 제공하기 위해 수행됩니다.

개발 영역을 만들려면 디렉토리를 만들고 Premium URL Shortener zip 파일을 넣고 확장하십시오. 그러면 다음과 같은 디렉토리 구조가 있어야 합니다.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
디렉토리 구조

main.zip 파일이 포함된 문서입니다. . 이 파일도 확장하십시오. 확장하면 다음과 같은 디렉토리 구조가 있어야 합니다.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
코드가 있는 디렉토리 구조

main.zip 파일에는 서비스에 대한 모든 소스 코드 파일과 리소스가 포함됩니다. 이것은 Docker 인스턴스에 추가할 디렉토리입니다.

이제 fauria에서 Docker LAMP 스택을 가져와야 합니다. Docker가 실행 중인 상태에서 터미널에 다음을 입력합니다.

docker pull fauria/램프

그러면 Fauria LAMP(Linux, Apache, MySQL 및 PHP) 스택이 Docker 설치에 다운로드됩니다. 다운로드가 완료되면 다음을 사용하여 컨테이너를 생성할 수 있습니다.

도커 실행 --rm --name linkshort -p 80:80 -e LOG\_STDOUT=true -e LOG\_STDERR=true -e LOG\_LEVEL=debug -v {{서비스 소스 디렉토리}}:/var /www/html 포리아/램프

{{service source directory}} 바꾸기 모든 소스 파일과 리소스가 포함된 디렉토리의 전체 경로. 이 명령은 linkshort라는 컨테이너를 생성합니다. 포트 80에서 작동하고 모든 오류 및 로그 메시지를 표준 출력으로 제공합니다.

지금 당장은 컨테이너를 중지했다가 다시 시작할 때마다 모든 정보를 잃게 됩니다. 재부팅할 때마다 데이터베이스 정보를 보존하려면 데이터베이스 정보를 소스 코드 디렉토리로 이동해야 합니다. 터미널 창에서 다음 명령을 수행하십시오.

docker exec -i -t linkshort bashmkdir /var/www/html/datacp -R /var/lib/MySQL/* /var/www/html/dataexit

첫 번째 명령은 컨테이너에 대한 bash 셸을 엽니다. 두 번째 명령은 data 디렉토리를 생성합니다. 소스 코드 디렉토리에 있습니다. 컨테이너는 소스 코드 디렉토리를 /var/www/html로 봅니다. 예배 규칙서. 세 번째 명령은 데이터베이스 정보를 해당 디렉토리에 복사합니다. exit 명령은 당신을 컨테이너에서 나오게 합니다.

이제 다음을 사용하여 컨테이너를 중지합니다.

도커 스톱 링크쇼트

컨테이너를 중지할 때마다 이 명령을 사용합니다.

이제 적절한 데이터 디렉토리를 사용하여 컨테이너를 다시 시작하려면 다음 명령을 사용하십시오.

도커 실행 --rm --name linkshort -p 80:80 -e LOG\_STDOUT=true -e LOG\_STDERR=true -e LOG\_LEVEL=debug -v {{서비스 소스 디렉토리}}:/var /www/html -v {{서비스 소스 디렉토리}}/data:/var/lib/mysql fauria/lamp

이번에는 현재 컴퓨터에 저장된 데이터베이스 데이터를 사용하여 MarianDB 서버로 컨테이너를 생성했습니다. 서비스를 시작하는 데 사용할 명령입니다. 키보드 확장기 타이피네이터를 사용합니다. 이것을 입력해 주세요.

이제 URL 단축기의 데이터베이스를 만들어야 합니다. 컨테이너에서도 쉘을 열어야 합니다. 새 터미널 인스턴스에서 다음 명령을 입력하십시오.

docker exec -i -t linkshort bash

이 명령은 컨테이너에 bash 셸을 만듭니다. 컨테이너에서 무언가를 조정해야 하는 경우 이것이 사용할 명령입니다. 다음으로 MarianDB 프로그램에 대한 명령 셸을 엽니다.

mysql -u 루트

이제 MarianDB에서 데이터베이스를 생성하고 웹 서버에 액세스 권한을 부여할 수 있습니다.

데이터베이스 urlshort 생성, '{{password}}'로 식별되는 사용자 'www-data'@'localhost' 생성, urlshort.\*의 모든 권한을 'www-data'@'localhost'에 부여 사전> 

{{password}} 데이터베이스 사용자에게 제공하려는 비밀번호로 설정해야 합니다. 서비스를 구성하는 데 사용하므로 이것을 기억하십시오.

컨테이너에서 서비스를 실행하고 웹 브라우저를 열어 https://s.dev .

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
요구사항 확인 페이지

구성을 수행한 경우 이 페이지가 표시되어야 합니다. 이 페이지는 URL Shortener 서비스에 대한 요구 사항과 설정 상태를 보여줍니다. Docker에서 fauria 컨테이너를 사용하면 이미 모든 종속성이 충족됩니다. 페이지 하단의 파란색 버튼을 클릭하세요.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
데이터베이스 구성 페이지

표시된 다음 페이지는 서비스에 대한 구성 파일 작성자입니다. 이 페이지에서는 이전에 생성한 데이터베이스의 이름과 암호를 프로그램에 제공할 수 있습니다.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
데이터베이스 구성 페이지 세부정보

위와 같이 필드를 채워야 합니다. 데이터베이스 호스트 컨테이너의 localhost입니다. 데이터베이스 이름 urlshort입니다. , 설정에서 만든 것입니다. 데이터베이스 사용자 www-data입니다. , 암호는 초기 데이터베이스 설정에서 지정한 암호입니다. 데이터베이스 접두사 서비스에 대해 생성된 각 데이터베이스의 시작 이름입니다. short_를 사용했습니다. . 설치 프로그램은 보안 키를 설정합니다. . 나중에 참조할 수 있도록 제공된 키의 사본을 보관하십시오.

VPS(가상 사설 서버)에 이것을 설치하는 경우 이러한 값은 해당 서비스에 따릅니다. 일부는 동일할 것이고 일부는 변경될 것입니다.

올바른 정보가 있는 경우 페이지 하단의 파란색 버튼을 눌러 3단계로 이동합니다.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
기본 구성 페이지

기본 구성 화면에서 관리자 사용자 이름, 이메일 및 비밀번호를 설정할 수 있습니다. 사용자와 관련된 값으로 설정하십시오. 사이트 URL https://s.dev로 설정해야 합니다. hosts에서 설정한 대로 파일을 더 일찍. 설정이 완료되면 화면 하단의 파란색 버튼을 누르세요.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
설치 완료 페이지

다음 화면은 이제 서비스가 설정되었음을 알려줍니다. Delete install.php라고 적힌 파란색 버튼을 누릅니다. . 실제 웹 서버에서 사용하기 위한 보안 기능이지만 로컬 설치에는 필요하지 않습니다. 그러나 설치를 완료할 때까지 설치가 완료되지 않습니다.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
프리미엄 URL 단축기 프론트 페이지

축하합니다. 서비스가 작동합니다! 위와 같은 화면이 나와야 합니다. 긴 URL 붙여넣기라는 이름의 입력 필드에 긴 URL을 입력하면 파란색 버튼을 누른 다음 Shorten , 사용할 단축 URL이 표시됩니다. URL은 나중에 참조할 수 있도록 데이터베이스에도 있습니다. 이 기능은 훌륭한 북마크를 만듭니다.

API 사용

이제 URL 단축 서비스가 실행되고 있으므로 이를 잘 활용하고 싶을 것입니다. 그러나 로컬 페이지라도 항상 웹 페이지를 열면 속도가 느려집니다. 더 빠르게 만들어야 합니다. API(응용 프로그래밍 인터페이스)를 사용하는 것이 도움이 되는 곳입니다. API에 대한 전체 문서를 참조할 수 있습니다.

서비스가 실행 중인 상태에서 https://s.dev/user/settings 페이지를 엽니다. .

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
계정 설정 페이지

이 페이지를 보려면 계정에 로그인해야 합니다. 사이드바의 오른쪽 하단에 내 API 키:가 표시됩니다. 영숫자. 해당 번호를 복사하여 저장합니다. 이 번호로 API에 액세스할 수 있습니다.

API를 사용하려면 Ruby를 만들 수 있습니다. 액세스할 수 있는 프로그램입니다. macOS 및 Linux에서는 일반적으로 Ruby가 사전 설치됩니다. Windows에서는 설치해야 합니다.

짧은 링크를 만들기 위한 Ruby의 최소 프로그램은 다음과 같습니다.

require 'net/http'require 'json'API ='{YourAPIKey}'short =JSON.parse(Net::HTTP.get('s.dev', '/api?api=' + API + ' &url=' + ARGV[0]))if short["error"] ==0 then print short["short"]else print "오류가 발생했습니다:" print short["error"] print "\n"end 

스크립트를 shortener.rb라는 파일에 저장합니다. , {YourAPIKey} 대체 이전에 복사한 API 키를 사용하여 명령줄에서 다음을 실행합니다.

ruby shorter.rb 'google.com'

해당 URL에 대한 단축 링크를 가져와야 합니다. 이렇게 하면 단축된 URL이 생성되지만 여전히 편리하지 않습니다.

PopClip 확장 프로그램 만들기

Mac의 경우 PopClip 강조 표시된 텍스트를 처리하기 위한 아주 작은 프로그램입니다. 단축 링크를 더 쉽게 만들기 위해 PopClip 확장을 만듭니다. 확장을 만드는 방법에 대한 모든 것을 설명하지는 않겠지만 내 튜토리얼 PopClip:Scripting Extensions에서 확장을 수행하는 방법에 대해 읽을 수 있습니다. .

PremiumURLShortener.popclipext라는 PopClip 확장 프로그램을 만듭니다. . Config.plist에 다음을 사용하십시오. 확장 디렉토리 내의 파일:

 작업    결과 붙여넣기 이미지 파일 PremiumURLShortener.png 스크립트 해석기 /usr/bin/ruby 쉘 스크립트 파일 PremiumURLShortener.rb 제목 단축기   옵션   옵션 식별자 apikey 옵션 유형 string 옵션 레이블 API 키:   크레딧   이름 Richard Guay 링크 https://customct.com   확장자 설명 PremiumURLShortener를 사용하여 로컬에서 단축 URL 생성 확장자 식별자 com.customct.popclip.extension.premiumurlshortener 확장자 이름 Shortener 필수 소프트웨어 버전 701

그런 다음 PremiumURLShortener.rb라는 확장에 대한 스크립트 파일을 만듭니다. 그리고 그 안에 이 코드를 넣으세요:

#!/usr/bin/rubyrequire 'net/http'require 'json'Encoding.default_internal =인코딩::UTF_8Encoding.default_external =인코딩::UTF_8input =ENV['POPCLIP_TEXT'].to_s.strip()API =ENV['POPCLIP_OPTION_APIKEY'].to_s.strip()short =JSON.parse(Net::HTTP.get('s.dev', '/api?api=' + API + '&url=' + 입력))if short["error"] ==0 then print short["short"]else print "오류가 발생했습니다:" print short["error"] print "\n"end

새 확장을 로드하면 API 키를 요청합니다. API 키를 제공하고 확인을 누르면 , PopClip에서 사용할 수 있습니다.

나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법 나만의 로컬 프리미엄 URL 단축 서비스를 만드는 방법
PopClip으로 URL 단축

링크를 선택하면 옵션 목록과 함께 PopClip이 열립니다. 그런 다음 단축기를 선택합니다. 옵션. 잠시 생각한 다음 적절한 단축 URL을 붙여넣습니다. 전체 확장은 이 튜토리얼의 다운로드에 있습니다. 이제 더 많은 작업을 수행할 준비가 되었습니다!

결론

이제 개인 URL 단축기가 있을 뿐만 아니라 로컬 컨테이너를 실행하기 위해 Docker를 사용하는 방법, 사용하는 URL을 쉽게 추적하는 방법 및 단축된 링크를 만드는 방법도 알게 되었습니다.

Alfred 3와 함께 Ruby 스크립트를 사용할 수 있습니다. 또는 Keyboard Maestro 또한. 새 서비스를 사용하고 다른 기능을 실험해 보십시오.