분산된 신분에 대한 매주 시사통신 백엔드 만들기
13757 단어 identityrubypythongithubactions
지속가능한 발전을 위한 매주 시사통신 개발 백엔드
Kaliya Identity Woman과 연락한 후, 나는 약 1년 동안 그녀와 이야기를 나누었고, 그녀는 우리가 신분을 분산시키는 데 협력할 잠재력을 이야기했다.어느 순간 그녀는 Identosphere.net 도메인 이름 아래 시사통신을 함께 쓸 생각을 제기했다.
내가 각종 인터넷 도구를 배우는 동시에 우리는 나처럼 선제공격을 하지 않고 가능한 한 적은 제3자 서비스로 시사통신을 지속가능하게 운행하는 방법을 연구하는 데 많은 시간을 들였다.
우리는 모든 분야와 관련된 깊은 역사를 가지고 있으며 현재 발전 속도가 누구보다도 빠른 분야를 공략하고 있다.하지만 빠르게 이동하는 정보 흐름은 디지털 신분만의 문제가 아니므로 이 과정을 공유해 다른 이들이 이익을 볼 수 있도록 하고 싶다.
GitHub 페이지
일단 나의'경외의 목록'이 경외의 격식을 초과하면 나는 GitHub Pages과 Jekyll으로 정적 사이트를 만드는 것을 배우기 시작한다.
GitHub Pages Starter Pack(이 여정에서 내가 만든 자원)
Staticman 시작
Staticman은 정적 사이트에 사용되는 평론 엔진이지만 어떤 형식으로든 사용할 수 있고 적당한 예방 조치를 취할 수 있다.
Heroku에 단추를 눌러서 GitHub 프로그램으로 만들거나 서버에서 실행할 수 있습니다.설정이 완료되면 양식 상세 정보를 포함하는 요청을 저장소에 제출합니다(옵션 mailgun 통합).
나는 이메일을 구독해서 업데이트할 수 있도록 Staticman 응용 프로그램의 개인 저장소에 접근할 수 있는 bot account on GitHub을 서버에 설치했다.
나는 표를 만들고 이메일 주소를 수집하는 개인 저장소의 루트 디렉터리에
staticman.yml
프로필을 만들었다.양식에 가입
<center>
<h3>Subscribe for Updates</h3>
<form class="staticman" method="POST" action="https://identosphere.net/staticman/v2/entry/infominer33/subscribe/master/subscribe">
<input name="options[redirect]" type="hidden" value="https://infominer.xyz/subscribed">
<input name="options[slug]" type="hidden" value="infohub">
<input name="fields[name]" type="text" placeholder="Name (optional)"><br>
<input name="fields[email]" type="email" placeholder="Email"><br>
<input name="fields[message]" type="text" placeholder="Areas of Interest (optional)"><br>
<input name="links" type="hidden" placeholder="links">
<button type="submit">Subscribe</button>
</form>
</center>
그 남자yml 내 개인 구독 리콜 루트 디렉터리에 설정
subscribe:
allowedFields: ["name", "email", "message"]
allowedOrigins: ["infominer.xyz","identosphere.net"]
branch: "master"
commitMessage: "New subscriber: {fields.name}"
filename: "subscribe-{@timestamp}"
format: "yaml"
generatedFields:
date:
type: "date"
options:
format: "iso8601"
moderation: false
name: "infominer.xyz"
path: "{options.slug}"
requiredFields: ["email"]
기본 지점의 이름을 마스터에서main(새 저장소의 경우)으로 변경하는 것은 struggling with GitHub's recent move인 것 같습니다.그래서 불행하게도, 나는 그것을 실행하기 위해 주 지점을 다시 만들어야 했다.행성 명왕성 리더
모든 정보를 따라잡기 위해 가장 유망한 프로젝트 중 하나는 제럴드 바울의 Planet Pluto Feed Reader이라는 것을 알게 되었다.
In online media a planet is a feed aggregator application designed to collect posts from the weblogs of members of an internet community and display them on a single page. - Planet (Software)
초보자의 입장에서 말하자면, 나는 사이트에서 생성된 RSS 요약은 뉴스 리더가 읽을 수 있고, 사용자가 각 사이트를 단독으로 방문할 필요가 없는 상황에서 여러 위치에서 온 댓글을 추적할 수 있도록 허용해야 한다.너는 아마도 계속 모르는 상태에서 RSS를 사용하고 있을 것이다. 예를 들어, 너의 팟캐스트는 RSS 리포트에 의존하여 드라마를 휴대전화로 직접 가져갈 것이다.
Pluto Feed reader의 기능은 당신의 팟캐스트 응용 프로그램과 같다. 단지 핸드폰에서 당신만 볼 수 있는 응용 프로그램이 아니라 당신이 추가한 요약에서 간단한 웹 페이지를 구축하여 당신이 가장 좋아하는 정적 웹 위탁 관리 서비스인 GitHub에 발표하거나 자신의 클라우드 서버에 발표할 수 있다.
명왕성은 Ruby으로 구축되었고 ERB templating 언어로 web-page design을 나타낸다.
ERB의 멋진 점은 웹 템플릿에 루비 함수를 사용할 수 있고, 요약을 보여줄 때 사용할 수 있는 모든 기능을 지원합니다.이 프로젝트는 내가 루비의 기초 지식을 배우는 데 큰 도움을 주었고, 동시에 자신의 필요에 따라 루비의 템플릿을 맞춤형으로 만들었다.
소스 검색에 가입
나는 방문할 때 RSSHub Radar 브라우저 확장자를 사용하여 사이트의 요점을 찾았다.그러나 내가 여러 사이트의 개요를 동시에 얻고 싶을 때, 이것은 매우 큰 일이 될 것이다.
나는 간단한 python 프로그램을 발견했는데, 나를 위해 요점을 찾을 수 있다.그것들은 완벽하지는 않지만, 여러 사이트의 요약을 동시에 찾을 수 있도록 해 준다. 내가 해야 할 일은 검색을 포맷하고 enter 키를 누르는 것이다.
아래에서 보듯이, 이것은 완전히 만들어진 프로그램이 아니라, 단지 몇 줄의 코드일 뿐입니다.이를 실행하려면 Python을 설치하고 pip(
pip install feedsearch-crawler
)이 있는 패키지를 설치하고 명령 프롬프트에 python
을 입력하면 명령을 식별할 수 있는 파이톤 터미널로 안내됩니다.데모, 연습, 비슷한 간단한 스크립트를 사용하려면python 명령을 입력/붙여넣을 수 있습니다.나는 또한 다음 스크립트를 그들 자신의feedsearch에 넣을 수 있다.py 파일에
python feedsearch.py
을 입력했지만 비슷한 일을 할 시간이 없습니다.사이트와 당신이 흥미를 느끼는 기능에 따라 이 두 검색엔진은 모두 각자의 장점을 가지고 있다.
Feedsearch 파충류
DBeath/feedsearch-crawler
from feedsearch_crawler import search
import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)
import output_opml
list = ["http://bigfintechmedia.com/Blog/","http://blockchainespana.com/","http://blog.deanland.com/"]
for items in list:
feeds = search(items)
output_opml(feeds).decode()
logger = logging.getLogger("feedsearch_crawler")
찾다
mitmedialab/feed_seeker
from feed_seeker import generate_feed_urls
list = ["http://bigfintechmedia.com/Blog/","http://blockchainespana.com/","http://blog.deanland.com/"]
for items in list:
for url in generate_feed_urls(items):
print(url)
GitHub 작업
Pluto Feed Reader는 훌륭하지만, 새로운 Feed를 검사할 때마다 명령을 실행할 필요가 없는 일반적인 시간표를 찾아야 합니다.이를 위해 GitHub actions을 사용했습니다.
이것은 GitHub의 믿을 수 없는 기능입니다. 가상 머신을 계획대로 시작하고 운영체제를 설치하며 프로그램을 지원하는 의존항과 실행하고자 하는 명령을 사용할 수 있습니다.
name: Build BlogCatcher
on:
schedule:
# This action runs 4x a day.
- cron: '0/60 */4 * * *'
push:
paths:
# It also runs whenever I add a new feed to Pluto's config file.
- 'planetid.ini'
jobs:
updatefeeds:
# Install Ubuntu
runs-on: ubuntu-latest
steps:
# Access my project repo to apply updates after pluto runs
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Install dependencies
# Download and install SQLite (needed for Pluto), then delete downloaded installer
run: |
wget http://security.ubuntu.com/ubuntu/pool/main/s/sqlite3/libsqlite3-dev_3.22.0-1ubuntu0.4_amd64.deb
sudo dpkg -i libsqlite3-dev_3.22.0-1ubuntu0.4_amd64.deb
rm libsqlite3-dev_3.22.0-1ubuntu0.4_amd64.deb
gem install pluto && gem install nokogiri && gem install sanitize
- name: build blogcatcher # This is the command I use to build my pluto project
run: pluto b planetid.ini -t planetid -o docs
- name: Deploy Files # This one adds the updates to my project
run: |
git remote add gh-token "https://github.com/identosphere/identity-blogcatcher.git"
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add .
git commit -a -m "update blogcatcher"
git pull
git push gh-token master
식별권 블로그 포착기
Identosphere Blogcatcher(source)은 원시 집합기로서 여러 해 동안 디지털 신분 연구에 주력해 온 사람들의 개인 블로그를 수집하는데 영감은 최초의 Planet Identity에서 비롯되었다.
또 다른 페이지는 companies이고, 다른 페이지는 organizations입니다.
대기권과 매주 하이라이트
지난달에 그는 우리가 이미 이 페이지들을 설치하고 순조롭게 운행한 이상, 우리는 이미 우리의 시사 통신을 시작할 준비가 되어 있다고 건의했다.이것은 우리가 노력하고 있는 백엔드 정보 포털의 일부분일 뿐, 이 프로젝트를 가능한 한 수월하고 전면적으로 하기에는 부족하지만, 우리는 이미 충분한 시간을 가지고 시작했다.
주말마다 우리는 함께 모여 BlogCatcher를 훑어보고 우리 분야의 다른 사람들이 감상할 중요한 내용을 공유한다.
우리는 다음 주 초에 6판을 출판할 것이다. 우리의 숫자는 매우 좋다.
이 시사통신은 무료이다. 우리에게 있어서 이것은 좋은 기회이다. 우리는 다른 아이디어를 개발하는 동시에 일치된 것들에 대해 협력할 수 있다.
대기층과 같다.하위 스택.일반 도메인 이름 형식
제3자 중개가 없는 뉴스 원고를 구축하는 것은 내가 현재 직면하고 있는 도전보다 더 크다. 그래서 우리는 지금 Substack을 선택한다. 이것은 과학 기술 뉴스 원고의 트렌드 플랫폼인 것 같다.
그것은 요금 지불과 무료 내용에 대해 다양한 선택을 할 수 있으며, 구독하기 전에 우리의 내용을 읽을 수 있다.
Patreon에서 지원
뉴스레터 무료 유지와 함께 Patreon을 통해 기부금을 받습니다.(네, 이것은 또 다른 중개입니다. 그러나 우리는 기존의 대량의 사용자군을 이용할 수 있습니다. 이것은 틀림없이 자체 위탁 관리 대체 방안을 구축하는 것보다 더 쉽습니다.)
지금까지 우리는 서버 비용보다 약간 높은 비용을 지불할 충분한 자금이 있었다. 이는 우리의 노력을 지원하고, 이러한 개방적인 정보 프로젝트를 지속가능하게 계속 개발할 수 있도록 이상적으로 증가할 것이다.
Python, Twitter Api 및 GitHub 작업
우리가 이 시사통신을 출판했기 때문에 나는 자신의 내면 상태에 대해 더 잘 알게 되었다. 그래서 나는 트위터로 돌아가기로 결정했다.그러나 나는 내가 예전의 방식으로 할 수 없다는 것을 알고 있다. 나는 수동으로 모든 흥미로운 것을 다시 발표하고 매일 몇 시간씩 여러 개의 계좌를 굴러다니며 중요한 발전을 따라가려고 한다.
반대로 나는 트위터api에 뛰어들었다.프로그래밍 방식으로 트위터를 사용하는 장점은 과소평가할 수 없다.제 첫 번째 프로젝트에서 저는 트위터를 자주 팔로우하지 않고 활발한 트위터 계정을 유지할 수 있는 자동 포스터를 시도하기로 했습니다.
나는 열 몇 줄의python으로 구성된 간단한 안내서를 찾았다.이 간단한 스크립트는 당신의 계정에 트윗을 올렸지만, 미리 만들어진 목록에서 발표하고 싶어서, yaml 파일을 읽고, GitHub actions을 사용하여 일반적인 계획대로 스크립트를 실행하는 방법을 생각해 냈습니다.
비록 이것이 나로 하여금 이곳에서 공유할 어떤 것도 준비하게 하지는 않았지만, 이 과정 중 어느 곳에서 나는python을 쓸 수 있다는 것을 깨달았다.ERB에서 Ruby를 사용하여 BlogCatcher를 구축하고 다른 사람이 작성한 각종python 스크립트를 실행하며 필요할 때 수정한 후에 저는 충분한 지식을 쌓아서 코드를 작성할 수 있었습니다!
분산 ID 매주 트위터 수집
이 경험을 통해 나는 내가 이미 준비가 되어 있다는 것을 알게 되었고, 지식의 자산을 더욱 효과적으로 이용하기 시작했고, 머리카락이 많이 빠지지 않는 상황에서 어떻게 나의 장부를 유지할 것인가를 고려하기 시작했다.
분산 신분과 관련된 각종 키워드를 a script that searches twitter으로 만들고 추문 텍스트와 기타 속성을 csv 파일에 썼습니다.거기서 저는 이 트윗들을 분류해서 가장 관련된 트윗만 저장하고 매주 수백 개의 신분 분산에 관한 트윗을 발표할 수 있습니다. 이것은 100여 개의 사이트에 가서 무슨 일이 일어났는지 알아보는 것보다 훨씬 쉽습니다.D
곧 이러한 트윗은 정기적으로 decentralized-id.com에 발표될 것이다. 나는 이것이 승인을 받은 트윗을 다시 발표하는 방법이라는 것을 발견했다. 내가 이전에 사용한 특별한 방법과 달리 트윗을 불협화음 채널(메타데이터를 얻고 미리 보기 이미지\텍스트를 표시)에 공유하여 트윗 내용을 내보내고 다시 발표하는 것이다.
나는 정말 이 문제들을 해결한 후에 나의 정보원을 공유하고 그것을 하나의 동작으로 운행시킬 계획이다.
지금까지 트위터를 모았어요.
읽어주셔서 감사합니다!
당신의 어떤 피드백, 건의 또는 생각을 기대합니다!
Reference
이 문제에 관하여(분산된 신분에 대한 매주 시사통신 백엔드 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/infominer33/creating-the-back-end-for-a-weekly-newsletter-on-decentralized-identity-3fk2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)