Speedupamerica는 미국의 인터넷에 대한 현장 진실을 제공합니다. 우리의 국가 및 현지 광대역지도는 투명성을 제공합니다. 실제 인터넷 속도, 실제 가격이 지불 된 실제 가격 및 경험이있는 서비스 수준. 이 정보는 인터넷 인프라에 대한 공공 및 민간 투자를 가장 필요한 장소로 안내하는 데 도움이됩니다. 또한이 접근법은 FCC가 현재 사용하는 것보다 국가 광대역 매핑에 대한 더 나은 솔루션으로 본다.
당신이 소프트웨어 개발자라면, 우리는 당신의 도움을 좋아하고 우리는 당신의 시간을 지불 할 수 있습니다!
커뮤니티의 인터넷 액세스가 느리게 진행되는 지역 사회의 영역에 대해 쉽게 추측 할 수 있지만 데이터가 없으면 누가 훌륭하고 신뢰할 수있는 서비스를 받고 있으며 개선 기회가 어디에 있는지 아는 것은 거의 불가능합니다. 인터넷 서비스 제공 업체의 가용성, 실제 가격 및 수신 된 실제 속도에 대한 정확한 정보는 매우 어렵습니다. 소외된 지역에 대한 실제 데이터와 정보가 부족합니다. 오레곤과 전국의 지역 사회가 도움이 필요한 곳입니다.
US Ignite와의 파트너십을 통해이 노력은 원래 Louisville Kentucky에 지어진 기술을 발전시키기 위해 노력하여 도시의 디지털 포용 노력에 도움을주고 미국 전역의 모든 도시와 농촌 지역 사회에서 이용할 수 있도록합니다.
구상 솔루션은 크라우드 소싱 인터넷 속도 테스트 결과와 상태, 우편 번호, 인구 조사 트랙, CENCUS 블록 및 기타 통계적 경계로 필터링 할 수있는 미국 전체의지도와 결합합니다.
결국, 우리는이 도구가 미국 전역의 인터넷 연결 측면에서 실제로 일어나는 일에 대한 가장 정확한 지상 데이터를 제공 할 것이라고 생각합니다. 또한 이웃, 선출 된 공무원 및 인터넷 서비스 제공 업체 간의 대화의 출발점이 될 수 있습니다.
이 프로젝트의 목표는 미국의 모든 사람들에게 제공되는 인터넷의 속도와 품질에 대한 불평등에 대한 인식을 높이는 것입니다. 무엇이든 질문이 있으시면 대화에 참여하십시오.
환영!
Speedupamerica의 현재 구현은 2019 년 6 월 오레곤 주를 포괄하도록 확장되었습니다. 워싱턴과 아이다 호는 2019 년 7 월에 추가되었습니다. 주 및 카운티 경계는 2019 년 8 월에 추가됩니다.
이 프로젝트는 커뮤니티의 불평등이 어디에 있는지 배우기 위해 디지털 포함 전략의 일부로 사용될 수 있습니다. SpeeduPamerica는 시민, 기업, 정책 입안자 및 다른 사람들이 미국인이 고품질 인터넷 서비스에 액세스 할 수있는 곳과 요구가있는 곳을 더 잘 이해하도록 도와 주어 도시가 주요 정책, ISP 계약 및 파트너십을 통해 성과를 추적하고 개선 할 수 있도록 도와줍니다.
현재의 모든 디지털 포함 맵은 ISP 자체보고, 악명 높은 불완전한, 오해의 소지가 있고 ISP에 의해 게임 가능하며 충분히 상세하지 않은 FCC 477 데이터에 의존합니다. 더 나은 결정을 내리고 정책을 추진하기 위해 시민의 직접 더 정확하고 정확한 크라우드 소스 속도 데이터를 더 잘해 보겠습니다.
2019 년 3 월, Louisville은 오리건 주 유진의 기술 커뮤니티와 협력하여 해킹을 위해 단일 통합 국가지도로 확장 할 수있는 코드베이스를 개발할 원인을 해킹했습니다.
이 새로운 응용 프로그램 인 Speedupamerica.com은 지역 광대역 서비스 속도, 지불 가격 및 미국 전역의 서비스 품질에 대한 군중 소스 정보를 수집 및 공유합니다. 또한 시험 테스트 및 측정 실험실 테스트 (Google.com과 통합)를 통합하고 응용 프로그램이 수집하는 테스트 수를 크게 증가시킵니다.
2016 년 4 월, Louisville Metro Government의 OPI2 혁신 팀, PowerUp Labs 및 기타 파트너는 해커 톤에서 Louisville의 인터넷 서비스 품질에 대한 투명성을 높이기위한 웹 기반 응용 프로그램을 시작했습니다. Louisville은 파트너가 오픈 소스 "속도 업"을 위해 일하여 모든 지방 정부 나 조직이 지역 사회를 위해이 응용 프로그램을 시작할 수 있도록했습니다.
Speeduplouisville.com 프로젝트는 Civic Data Alliance가 이끄는 지역 시민 해커 톤에서 시작하여 Code Louisville 및 Code for America가 주최했습니다. Eric Littleton, Jon Matar 및 Powerup Labs Software Development 팀은 나중에 해커 톤에서 시작된 작업을 계속하기 위해 자원했습니다. 지역 제조업체 공간 인 LVL1은 또한 프로젝트를 완료하는 데 필요한 유료 웹 도구에 대한 자금을 제공했습니다.
이 데이터는 인터랙티브 맵에 표시되며 미국의 인터넷 서비스 품질에 대한 투명성을 높이고 지역 사회의 인터넷 액세스에 대한 대화를 계속할 수 있도록 무료 다운로드 할 수 있습니다. 시민들은 모든 장치에서 사이트를 방문하여 무료 인터넷 서비스 테스트를 수행 할 수 있으며 Google의 M-LAB 테스트로 보완됩니다. 테스트 및 짧은 설문 조사에서 제공하는 데이터는 공개적으로 이용 가능한 데이터베이스에 저장되고 다른 결과와 결합되며 기여자를 식별하지 않고 직접 원시 데이터 다운로드를 허용하는 양식으로 온라인 맵에 게시됩니다.
이 테스트는 이메일, 웹 검색 또는 기타 개인 식별 정보와 같은 개인 인터넷 트래픽에 대한 정보를 수집하지 않습니다.
SpeeduPamerica 프로젝트는 다음과 같은 기술을 사용합니다.
이 지침은 Linux, Windows 및 MacOS에서 작동하며 데이터베이스 또는 구성 파일을 재설정하지 않는 한 한 번만 수행해야합니다.
Git Windows/Mac/Linux를 설치하십시오
Docker 및 Docker Compose 설치 (Docker Compose는 이미 Mac 및 Windows Docker 설치에 포함되어 있지만 Linux는 아닙니다. 또한 Win Home Install은 Pro와 다릅니다).
최소 6GB의 로컬 메모리 할당이 필요합니다. Docker를 시작한 후 설정으로 이동하여 사용할 메모리 양을 조정하십시오.
메모리 - Mac 용 Docker Desktop
메모리 - Windows 용 Docker Desktop
OS에 따라
cp대신copy사용해야 할 수도 있습니다.
$ git clone https://github.com/Hack4Eugene/SpeedUpAmerica.git
$ git clone https://github.com/Hack4Eugene/speedupamerica-migrator.git
$ cd SpeedUpAmerica
$ cp local.env.template local.env
$ docker-compose up -d mysql
$ docker-compose up --build migrator
$ docker-compose run migrator rake db:seed
$ docker-compose run frontend rake secret 로컬 시스템에 상주하는 SpeeduPamerica 디렉토리의 루트에서 local.env 찾으십시오. rake secret 의 긴 영숫자 문자열 출력을 SECRET_KEY_BASE 의 값으로 사용하십시오. Mapbox API 액세스 토큰을 얻으려면 Mapbox로 이동하여 무료 계정을 만듭니다. local.env 파일에서 기본 Pulic 토큰을 MAPBOX_API_KEY 로 사용하고 설정하십시오.
이 지침은 Windows 사용자가 Docker의 BIND 마운트에 문제를 기록한 WSL을 사용하지 않는다고 가정합니다. WSL과 함께 작동하도록 Windows의 Docker를 설치하고 구성하는 것은이 문서의 범위를 벗어납니다.
두 SQL 파일 중 하나를 다운로드하여 프로젝트 data 디렉토리에 배치하십시오.
기고자 :이 파일을 업데이트하는 경우 파일 이름을 변경 하고이 문서의 모든 참조를 업데이트하십시오.
파일 이름을 교체 하고이 라인을 실행하십시오.
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/ < SQL filename > $ docker-compose up -d 이 사이트는 http://localhost:3000/ 에서 액세스 할 수 있습니다. Ruby 앱은 캐시가 아닌 것으로 구성되어 있으며 구성 변경이 아닌 한 Docker 컨테이너를로드하기 위해 Docker 컨테이너를 다시 시작할 필요가 없습니다. 변경하고 페이지를 다시로드하십시오. 첫 번째 페이지로드는 조금 가져갑니다. stdout/stderr의 docker-compose logs frontend 참조하십시오.
docker-compose.yml 에는 jupyter/datascience-notebook 기반으로 한 Jupyter Hub 컨테이너가 포함되어 있습니다. MySQL 및 Mapbox와 함께 작업하기위한 추가 파이썬 모듈이 포함되어 있습니다. 데이터베이스를 설정하고 데이터 세트를로드 한 후 docker-compose up notebooks 실행하여 Jupyter Hub를 시작할 수 있습니다. 준비가되면 브라우저의 Jypyter 허브에 액세스하는 데 사용해야하는 URL과 토큰을 출력합니다. 노트북 및 기타 파일은 ./notebooks 에 저장되므로 체크인하고 새로운/업데이트 된 노트북을 확인하십시오.
$ docker-compose stopGIT에서 새로운 변경 사항을 가져 와서 Docker를 다시 시작한 후 사이트가 LocalHost에 올바르게로드되지 않으면 다음을 시도하십시오.
# Show the docker tasks and their exit statuses
$ docker-compose ps
# You might also be interested in seeing the logs for a failing process
# Choose the option below for the process you're interested in:
$ docker-compose logs frontend
$ docker-compose logs migrator
$ docker-compose logs mysql docker-compose ps 모든 프로세스에 대해 "Exit 1"을 표시하는 경우 프로세스의 Docker 이미지를 재건해야 할 가능성이 높습니다. 이는 일반적으로 이미지를 만든 이래로 의존성이 변경 되었기 때문입니다. 이것이 원인이라는 추가 힌트는 로그에 오류가 표시되는 경우 종속성을 찾을 수 없음을 나타냅니다.
이를 해결하려면 해당 특정 프로세스의 Docker 이미지를 재건하십시오. 예를 들어, frontend 프로세스가 오류 상태로 종료 된 경우 :
$ docker-compose up --build frontend docker-compose ps 프론트 엔드를 재 구축 한 후 모든 프로세스에 대해 "Exit 1"오류를 계속 던지면 기계 방화벽 권한이 응용 프로그램을 허용하는지 확인하십시오. 방화벽 권한을 설정 한 후에는 워크 플로를 닫고 Docker를 다시 시작한 후 앱을 다시 시작해야합니다.
방화벽 페어 스미스를 활성화 한 후에도 여전히 "Exit 1"에 문제가있는 경우 TMP/PIDS/Server.pid를 삭제 한 다음 docker-compose up -d 삭제해야 할 수도 있습니다.
우분투에 설치.
Linux 기반 OS에서 로컬로 환경을 실행하려면 sudo docker-compose [commands] 으로 docker-compose Compose 명령을 실행해야 할 수 있습니다.
다음은 Docker를 뿌리가 아닌 사용자로 관리하기위한 가이드입니다.
설정 지침에서 최근
.sql파일을 다운로드했다고 가정합니다.
경계가 업데이트되면 각 개발자는 경계를 다시로드해야합니다. 새 경계는 제출물 테이블에 열을 추가해야 할 수도 있으므로 데이터베이스를 완전히 다시로드하는 것이 가장 좋습니다.
$ docker-compose stop mysql
$ docker-compose rm mysql
$ docker-compose up mysql
$ docker-compose up --build migrator
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/sua_20190803.sqlSQL 파일을 업데이트 할 때 파일의 첫 번째 줄에서 경고를 제거해야합니다.
<date> 오늘날 날짜로 교체하십시오 (예 : 20190801 ).
$ docker-compose exec mysql mysqldump --no-create-info -u suyc -psuyc suyc --ignore-table=suyc.schema_migrations --hex-blob > data/sua_ < date > .sql다음 세 섹션을 따라 최신 데이터를 다운로드하고 경계 테이블을 지우고 데이터를로드하십시오. DB를 삭제하고 가장 마지막 SQL 덤프를로드하는 것이 옵션이 아닌 경우에만 이러한 방향을 따를 것입니다.
data/ :
Linux 및 MacOS의 경우 다음을 사용하십시오.
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc <<< " TRUNCATE boundaries; "Windows OS의 경우 다음을 사용하십시오.
$ docker-compose exec mysql mysql -u suyc -psuyc suyc
$ mysql> TRUNCATE boundaries;
$ mysql> exit
$ docker-compose run frontend rake populate_boundaries
매일 밤 테스트 및 생산 환경은 데이터 가져 오기 프로세스를 실행하여 최근의 M-LAB 데이터를 가져오고, 경계를 업데이트하고, 캐시 및 기타 데이터 관련 작업을 재평가합니다.
야간 가져 오기 프로세스의 일부 단계에는 측정 실험실 데이터에 액세스 할 수있는 BigQuery 서비스 키가 필요합니다.
야간 프로세스는 ./update_data.sh 실행하여 시작합니다. 현지 환경에서는 다음과 같습니다.
$ docker-compose run frontend ./update_data.sh측정 실험실 데이터에 액세스 할 수있는 BigQuery 서비스 키가 필요합니다.
$ docker-compose run frontend rake import_mlab_submissions$ docker-compose run frontend rake populate_missing_boundaries$ docker-compose run frontend rake update_providers_statistics $ docker-compose run frontend rake update_stats_cache
Contributing.md를 참조하십시오.
Committers :
기술위원회 :