johnzuk / gusapi Goto Github PK
View Code? Open in Web Editor NEWPHP GUS API library based on official REGON SOAP api.
Home Page: https://github.com/johnzuk/GusApi
License: GNU Lesser General Public License v2.1
PHP GUS API library based on official REGON SOAP api.
Home Page: https://github.com/johnzuk/GusApi
License: GNU Lesser General Public License v2.1
Problem z otrzymaniem numeru ulicy i zmiana raportu.
Przejrzałem wcześniejsze problemy z brakiem numeru ulicy gdzie podpowiadałeś aby zmeinić
raport z ReportTypes::REPORT_ACTIVITY_LAW_PUBLIC na ReportTypes::REPORT_PUBLIC_LAW.
Zmiany dokonuję w getFromNip.php , przykładzie.
ReportTypes::REPORT_ACTIVITY_LAW_PUBLIC, działa bez problemu.
var_dump(
$gus->getFullReport(
$_SESSION['sid'],
$gusReport[0],
ReportTypes::REPORT_ACTIVITY_LAW_PUBLIC
)
Zmieniam raport na : ReportTypes::REPORT_PUBLIC_LAW i Fatal error:
Fatal error: Uncaught exception 'GusApi\Adapter\Soap\Exception\NoDataException' with message 'No data found' in /Testy/GusApi/Adapter/Soap/SoapAdapter.php:122 Stack trace: #0 ...
Czego to może być problem ? So inne metody niz getFullReport ?
Fatal error: Class 'GusApi\GusApi' not found in xxxxxxxxxx/examples/getFromNip2.php on line 10
Czy zaszły jakies zmiany w oprogramowaniu, albo na serwerach Gusu?
W dniu dzisiejszym odpalamskrypt
http://hosting1981798.online.pro/GusApi/nip.php?nip=5851358017
i pojawia sie błąd:
"Fatal error: PHP Startup: Failed opening required 'phar:///GusApi/vendor/phpstan/phpstan-shim/phpstan.phar/vendor/autoload.php' (include_path='.:/:/usr/local/php72/lib/pear') in /GusApi/vendor/phpstan/phpstan-shim/bootstrap.php on line 8"
mimo, iz dwa dni wczesniej wszystko poprawnie działało.
Pozdrawiam
P.
NIP: 7743135712 returns two entries
146184538
61101608600000
GusApi.php:@search filters only first (not desirable one as not active)
Mam problem z uruchomieniem GusApi u siebie lokalnie.
Mimo instalacji php-soap (na różnych wersjach PHP, aktualnie 7.3) co chwile wyskakują różne problemy:
Use of undefined constant SOAP_1_1 - assumed 'SOAP_1_1'
\SoapClient not found
Jakiś pomysł?
PHP Fatal error: Uncaught TypeError: Return value of GusApi\Type\Response\SearchResponseCompanyData::getWojewodztwo() must be of the type string, null returned in .../GusApi/Type/Response/SearchResponseCompanyData.php:91
Dosyć nietypowy przypadek, ale jednak. NIP: 7122584951
czy moglbys wkleic zawartosc katalogu vendor i pliku autoload? to jest moj problem. operuje na telefonie i serwerze bez dostepu do shella i nie jestem w stanie tego wygenerowac. ew podeslij mi zawartosc tego na priv prosze.
pozdrawiam
Szukanie w przy użyciu metod getByRegons9 oraz getByregons14, zawsze zwraca brak szukanych danych.
Problem leży po stronie usługi BIR1 i został zgłoszony do supportu.
Dla NIPu 8991710355
otrzymuję taki błąd:
Uncaught exception 'GusApi\Adapter\Soap\Exception\NoDataException'
with message 'No data found' in
/vendor/gusapi/gusapi/src/GusApi/Adapter/Soap/SoapAdapter.php:118
Przydałoby się zmienić metodę setContextOption (SoapClient.php:100) z private na public aby można było dodawać dodatkowe nagłówki dla stream_context_create().
W moim przypadku chciałbym dodać:
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
)
Poradziłem sobie instalując poprawnie certyfikat SSL ale tak czy siak możliwość dodawania extra nagłówków by się przydała.
PS. Świetna biblioteka, zaoszczędziła mi sporo czasu. Dzięki!
Hej,
zarejestrowałem się w stat.gov.pl w celu uzyskania klucza.
Ale dostałem nazwę użytkownika i hasło. Napisali że nie potrzebny jest już klucz do uwierzytelnienia.
Przejrzałem dokumentacje z ich strony i wszędzie jest potrzebny klucz użytkownika.
Potrzebny jest ten klucz czy nie ?
Dzień dobry,
zwracam się z prośba o pomoc przy pobieraniu numeru ulicy oraz lokalu w pliku getFromNip.php
przeglądałem inne issues i żadne z rozwiązań nie poskutkowało.
Co dokładnie należy zmienić/dodać w pliku getFromNip.php aby dla działalności gospodarczych oraz spółek móc wyświetlić dokładny adres tak jak mamy to:
echo $gusReport->getName(); echo "Adres: <br />"; echo $gusReport->getStreet(); echo $gusReport->getZipCode(); echo " "; echo $gusReport->getCity(); echo "REGON: "; echo $gusReport->getRegon();
Pozdrawiam
Witam serdecznie, podczas przesyłania w parametrze NIPów firm niektóre z nich są nieaktualne, a część mimo iż są w bazie GUS serwer odpowiada że jego brak. Podczas autoryzacji korzystam z środowiska deweloperskiego wg klucza załączonego w kodzie.
Cześć.
w pliku SoapActionMapper jest coś takiego:
public const NAMESPACE = 'http://CIS/BIR/2014/07/IUslugaBIR/';
i to NAMESPACE gryzie się z namespace php. Netbeans zgłasza to jako błąd.
Oczywiście wystarczy zmienić tą nazwę i problem znika.
Prośba o poprawkę.
pozdrawiam,
Marek
Drobnym mankamentem jest to, że wyszukiwarka zwraca tylko pierwsze wystąpienie działalności gospodarczej. Natomiast czasami występuje ich więcej.
Musiałem przerobić kod metody search z:
private function search($sid, array $searchData)
{
try{
$response = $this->adapter->search($sid, $searchData);
} catch (NoDataException $e) {
throw new NotFoundException(sprintf("Not found subject"));
}
return new SearchReport($response[0]);
}
na:
private function search($sid, array $searchData)
{
try{
$response = $this->adapter->search($sid, $searchData);
} catch (NoDataException $e) {
throw new NotFoundException(sprintf("Not found subject"));
}
$return = array();
foreach($response as $resp){
$return[] = new SearchReport($resp);
}
return $return;
}
Jeżeli wersja 4.0.0-alpha jest odpowiednio przetestowana, warto wydać finalną wersję 🏁
Cześć,
po wywołaniu przykładowego skryptu
require_once '../vendor/autoload.php';
use GusApi\Exception\InvalidUserKeyException;
use GusApi\GusApi;
use GusApi\ReportTypes;
//$gus = new GusApi('your api key here');
//for development server use:
$gus = new GusApi('abcde12345abcde12345', 'dev'); <--- 8 linia
wywala mi błąd
Catchable fatal error: Argument 2 passed to GusApi\GusApi::__construct() must be an instance of GusApi\Adapter\AdapterInterface, string given, called in gusapi.php on line 8 and defined in vendor/gusapi/gusapi/src/GusApi/GusApi.php on line 34
Co robię nie tak?
Super biblioteka, testując zauważyłem jednak coś intrygującego - nie znajduje mi danych (np. 9930662817), mimo że firma istnieje i na stronie GUSu da się ją znaleźć. Dla innego NIPu z kolei zwróciło starą nazwę firmy.
O co może chodzić???
Gdy próbują zwrócić dowolny Raport Zbiorczy ciągle dostaje puste tablice, dla dowolnego typu i daty.
Where I can get user key to use this API without problems?
Other problem I have, that scrips throws with belowed error, any ideas why?
SoapClient::SoapClient(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
In exampel U use file : ../vendor/autoload.php ?
Can't find it in the project.
Also U can't run stand alone file/examples/getFromNip.php, error :
Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in examples/getFromNip.php on line 6
I have also problems with the namespace, but upgrade php version up 5.3 help.
Now i require_onece files, but have another problem:
Parse error: syntax error, unexpected '[' in /GusApi/GusApi.php on line 145
The praser can't prase corect, line:
public function getByNip($sid, $nip)
{
return $this->search($sid, [
RegonConstantsInterface::SEARCH_TYPE_NIP => $nip
]);
}
Can U let me knew where is the problem ?
W jaki sposób mogę pobrać listę kodów PKD?
I've installed package (06962d8) and there is, I think, wrong value for BASE_WSDL_URL.
interface RegonConstantsInterface
{
const BASE_WSDL_URL_TEST = 'https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd';
const BASE_WSDL_ADDRESS_TEST = 'https://Wyszukiwarkaregontest.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc';
const BASE_WSDL_URL = 'https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd';
const BASE_WSDL_ADDRESS = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc';
// ...
}
There is wyszukiwarkaregontest
(test!) in BASE_WSDL_URL
.
Witajcie.
W sobotę GUS wystosował następującego e-maila:
Szanowni Państwo,
niniejsza korespondencja dotyczy Usługi BIR1 (Baza Internetowa REGON) – usługi sieciowej udostępniającej dane z rejestru REGON
( http://bip.stat.gov.pl/dzialalnosc-statystyki-publicznej/rejestr-regon/interfejsyapi/informacje-ogolne/ ),
w której posiadają Państwo konto dostępowe, a Państwa adres email został wskazany jako adres osoby do kontaktu.Informujemy, że ze względu na planowane prace modernizacyjne w dniu 01.12.2018 (sobota), w godz. 12:00 - 18:00,
mogą wystąpić krótkotrwałe przerwy w działaniu Usługi BIR1.
(Dotyczy także wyszukiwarki „on-line”: https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx ).Przepraszamy za potencjalne niedogodności z tego powodu.
Jeśli posiadany przez nas adres osoby do kontaktu jest nieaktualny prosimy o informację zwrotną z aktualnymi danymi dot. osoby do kontaktu.
Po tym wydarzeniu gusapi zwraca u mnie:
<br /> <b>Fatal error</b>: Uncaught SoapFault exception: [HTTP] Error Fetching http headers in /path/GUS/vendor/gusapi/gusapi/src/GusApi/Client/SoapClient.php:51 Stack trace: #0 /path/GUS/vendor/gusapi/gusapi/src/GusApi/Client/SoapClient.php(51): SoapClient->__doRequest('<?xml version="...', 'https://wyszuki...', 'http://CIS/BIR/...', 2, 0) #1 [internal function]: GusApi\Client\SoapClient->__doRequest('<?xml version="...', 'https://wyszuki...', 'http://CIS/BIR/...', 2, 0) #2 /path/GUS/vendor/gusapi/gusapi/src/GusApi/Adapter/Soap/SoapAdapter.php(70): SoapClient->__call('Zaloguj', Array) #3 /path/GUS/vendor/gusapi/gusapi/src/GusApi/Adapter/Soap/SoapAdapter.php(70): GusApi\Client\SoapClient->Zaloguj(Array) #4 /path/GUS/vendor/gusapi/gusapi/src/GusApi/GusApi.php(68): GusApi\Adapter\Soap\So in <b>/path/GUS/vendor/gusapi/gusapi/src/GusApi/Client/SoapClient.php</b> on line <b>51</b><br />
Czy u Was też to występuję?
W niektórych przypadkach GUS zwraca nulle przy danych adresowych, te nulle są potem zwracane w funkcji function getXXX(): string
W RegonConstantsInterface w linii 9:
const BASE_WSDL_URL = 'https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd';
czy nie powinno być: https://wyszukiwarkaregon.stat.gov[...]
Fakt, że wyszukiwarkaregon zwraca 404, ale dziwnie wygląda....
Pozdrawiam!
JC
Mam wersję:
gusapi/gusapi 3.3.2 Gus Api Library for PHP
Włożoną composerem do projektu w yii2
Pojawia mi się błąd o następującej treści:
PHP Fatal error: Class 'SoapClient' not found in /var/www/htdocs/vendor/gusapi/gusapi/src/GusApi/Client/SoapClient.php on line 8
Witam serdecznie,
Brakuje informacji w jaki sposób można użyć tej biblioteki. Tzn na samym początku pliku testowego mamy wywołanie require_once '../vendor/autoload.php';
Niestety dla początkujących (w tym ja) nie wiadomo skąd wziąć ten plik.
Proszę o pomoc.
Przy próbie zalogowania (kod z README) otrzymuję taki błąd:
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd' : failed to load external entity "https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd" in /vendor/gusapi/gusapi/src/GusApi/Client/SoapClient.php:32 Stack trace: #0 /vendor/gusapi/gusapi/src/GusApi/Client/SoapClient.php(32): SoapClient->SoapClient('https://wyszuki...', Array) #1 /vendor/gusapi/gusapi/src/GusApi/Adapter/Soap/SoapAdapter.php(45): GusApi\Client\SoapClient->__construct('https://wyszuki...', 'https://Wyszuki...', Array) #2 /gus.php(16): GusApi\Adapter\Soap\SoapAdapter->__construct('ht in /vendor/gusapi/gusapi/src/GusApi/Client/SoapClient.php on line 32
Co może być problemem?
udało mi sie wyciągnąć numer KRS za pomocą
$fr = $client->getFullReport($report, ReportTypes::REPORT_PUBLIC_LAW);
$krs = $fr[0]['praw_numerWRejestrzeEwidencji'];
Witam,
Przy wywołaniu kodu:
require_once './vendor/autoload.php';
use GusApi\Exception\InvalidUserKeyException;
use GusApi\GusApi;
use GusApi\ReportTypes;
$gus = new GusApi('abcde12345abcde12345', 'dev');
mam taki błąd:
Fatal error: Default value for parameters with a class type hint can only be NULL in \src\GusApi\GusApi.php on line 48
co robie źle ?
I received data from GUS, but without number of building.
'array(1) {
[0] =>
class GusApi\SearchReport#105124 (11) {
private $regon =>
class SimpleXMLElement#105135 (1) {
public ${0} =>
string(14) "36301807100000"
}
private $regon14 =>
string(14) "36301807100000"
private $name =>
class SimpleXMLElement#105127 (1) {
public ${0} =>
string(59) "SERWIS PARKING SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ"
}
private $province =>
class SimpleXMLElement#105121 (1) {
public ${0} =>
string(11) "MAZOWIECKIE"
}
private $district =>
class SimpleXMLElement#105125 (1) {
public ${0} =>
string(15) "m. st. Warszawa"
}
private $community =>
class SimpleXMLElement#105122 (1) {
public ${0} =>
string(4) "Wola"
}
private $city =>
class SimpleXMLElement#105120 (1) {
public ${0} =>
string(8) "Warszawa"
}
private $zipCode =>
class SimpleXMLElement#105119 (1) {
public ${0} =>
string(6) "00-844"
}
private $street =>
class SimpleXMLElement#105118 (1) {
public ${0} =>
string(14) "ul. Grzybowska"
}
private $type =>
string(1) "p"
private $silo =>
class SimpleXMLElement#105116 (1) {
public ${0} =>
string(1) "6"
}
}
}
`
Now SearchReport
is returned like this (using dump
):
GusApi\SearchReport {#829
-regon: SimpleXMLElement {#830
+0: "XXXXXX"
}
-regon14: "XXXXXX"
-name: SimpleXMLElement {#831
+0: "XXXXXX"
}
-province: SimpleXMLElement {#832
+0: "XXXXXX"
}
-district: SimpleXMLElement {#833
+0: "XXXXXX"
}
-community: SimpleXMLElement {#834
+0: "XXXXXX"
}
-city: SimpleXMLElement {#835
+0: "XXXXXX"
}
-zipCode: SimpleXMLElement {#836
+0: "xx-xxx"
}
-street: SimpleXMLElement {#837
+0: "ul. Test-Krucza"
}
-type: "f"
-silo: SimpleXMLElement {#839
+0: "1"
}
}
I think it would be better if SearchResult
were forcing types for each attribute, like:
function __construct($data)
{
$this->regon = (string)$data->Regon;
$this->name = (string)$data->Nazwa;
$this->province = (string)$data->Wojewodztwo;
$this->district = (string)$data->Powiat;
$this->community = (string)$data->Gmina;
$this->city = (string)$data->Miejscowosc;
$this->zipCode = (string)$data->KodPocztowy;
$this->street = (string)$data->Ulica;
$this->type = $this->makeType($data->Typ);
$this->regon14 = $this->makeRegon14($this->regon);
$this->silo = (int)$data->SilosID;
}
// Will dump
GusApi\SearchReport {#829
-regon: "XXXXXX"
-regon14: "XXXXXX"
-name: "XXXXXX"
-province: "XXXXXX"
-district: "XXXXXX"
-community: "XXXXXX"
-city: "XXXXXX"
-zipCode: "XXXXXX"
-street: "XXXXXX"
-type: "f"
-silo: 1
}
Without it, there's a need to cast types when using for example SearchReport::getName()
if it's used as argument in further script logic. DocBlocks state that string
is returned, but in fact it's SimpleXMLElement
.
Environment:
Windows 7
PHP 7.1.0
Dostałem informacje o nowej wersji API. Wersja 1.1. Więcej informacji:
https://api.stat.gov.pl/Home/RegonApi
Dobrze by było zaktualizować w bibliotece. :D
Przy wywołaniu pliku z przykładem (poniżejwklejam) wyskakujemi błąd:
Fatal error: Uncaught Error: Class 'GusApi\Client\Builder' not found in /GusApi/GusApi.php:59 Stack trace: #0 /nip.php(11): GusApi\GusApi->__construct('a18a704aac5c4ab...') #1 {main} thrown in /GusApi/GusApi.php on line 59
Wszystkie pliki powinny byc na serwerze.
Podaje adres bezposredni doskopiowanej biblioteki:
https://hosting1981798.online.pro/GusApi/GusApi.php (znajduje się cały skopiowany katalog).
Nie bardzo wiem co robic.
Plik który jest uruchamiany: http://hosting1981798.online.pro/nip.php
login(); $gusReports = $gus->getByNip($nipToCheck); var_dump($gus->dataStatus()); var_dump($gus->getBulkReport( new DateTimeImmutable('2019-05-31'), BulkReportTypes::REPORT_DELETED_LOCAL_UNITS)); foreach ($gusReports as $gusReport) { //you can change report type to other one $reportType = ReportTypes::REPORT_ACTIVITY_PHYSIC_PERSON; echo $gusReport->getName(); echo 'Address: '.$gusReport->getStreet().' '.$gusReport->getPropertyNumber().'/'.$gusReport->getApartmentNumber(); $fullReport = $gus->getFullReport($gusReport, $reportType); var_dump($fullReport); } } catch (InvalidUserKeyException $e) { echo 'Bad user key'; } catch (NotFoundException $e) { echo 'No data foundHi,
is it possible to send request about more than 1 NIP during one login session (using one ssid)? Should I login and logout eg. 20 times for the loop of 20 NIPs?
W metodzie getResultSearchMessage, do funkcji sprintf nie jest przekazywany ostatni parametr, przez co nie wyświetla się treść komunikatu:
return sprintf("StatusSesji:%s\nKomunikatKod:%s\nKomunikatTresc:\n", $this->sessionStatus($sid), $this->getMessageCode($sid), $this->getMessage($sid) );
brakuje, %s, powinno być chyba:
return sprintf("StatusSesji:%s\nKomunikatKod:%s\nKomunikatTresc:%s\n", $this->sessionStatus($sid), $this->getMessageCode($sid), $this->getMessage($sid) );
Jest opcja pobrania raportu z kilku rejestrów?
Chodzi tutaj o różnice między JDG a spółkami itd. Ze względu na różne rejestry muszę pobrać inny raport. Chciałbym to zrobić jak najbardziej uniwersalnie
Szybkie pytanko - jak pobrać:
fiz_adSiedzNumerNieruchomosci
fiz_adSiedzNumerLokalu
Witam,
Tak jak w temacie. Czy jest taka możliwość? W zależności od przypadku przełączać się między REPORT_ACTIVITY_PHYSIC_PERSON lub REPORT_PUBLIC_LAW.
Czy istnieje jakiś parametr dzięki któremu można typ jednostki i na jej podstawie odwołać się do konkretnej metody?
...bowiem sporadycznie występuje błąd:
Argument 1 passed to GusApi\Client\MultipartResponseDecoder::decode() must be of the type string, null given
look here plesae:
array (size=1)
0 =>
object(GusApi\SearchReport)[59]
private 'regon' => string '24193965000000' (length=14)
private 'regon14' => string '24193965000000' (length=14)
private 'name' => string 'SPRAWY SP��KA Z OGRANICZON� ODPOWIEDZIALNO�CI�' (length=51)
private 'province' => string '�L�SKIE' (length=9)
private 'district' => string 'm. Katowice' (length=11)
private 'community' => string 'M. Katowice' (length=11)
private 'city' => string 'Katowice' (length=8)
private 'zipCode' => string '40-012' (length=6)
private 'street' => string 'ul. �w. Jana' (length=13)
private 'type' => string 'p' (length=1)
private 'silo' => int 6
{"success":true,"data":{"street":"ul. \u015bw. Jana","city":"Katowice","province":"\u015aL\u0104SKIE","zip_code":"40-012","name":"SPRAWY SP\u00d3\u0141KA Z OGRANICZON\u0104 ODPOWIEDZIALNO\u015aCI\u0104"}}
GusApi can not get local number,
Chcę użyskać formę sczególnej prawnej. Czy to jest możliwe? Bo na razie nie znalazłem metody która pobrałaby formę sczególnej prawnej.
Would be good if package had stable release version(s) so Composer's version constraint could be used instead of dev-master
.
Janusz,
planuję zintegrować GUS-REGON z LMS/LMS+ (http://lms.org.pl / http://github.com/lmsgit/lms) w oparciu
o zaprojektowaną przez Ciebie bibliotekę.
Próbowałem wykonać testy na podanym przez GUS kluczu testowym API - zwraca błąd "bad user key".
Pewnie zmienił się ten klucz - czy wiesz jaka jest obecna, prawidłowa wartość tego klucza?
Pozdrawiam, Tomasz Chiliński
Witam
jak zmodyfikować przykładowy kod, aby uzyskać dziewięciocyfrowy REGON jeśli dana firma taki posiada?
every thing works as excepted, but the street address display one the street name without number
Przy próbie pobrania listy PKD przy użyciu:
$gus->getFullReport( $gusReport, ReportTypes::REPORT_ACTIVITY_LOCAL_PHYSIC_PUBLIC );
zwraca tylko jeden wynik, problem najprawdopodobniej wynika z tego, że w klasie FullReportResponseDecoder zwracane jest:
GetFullReportResponse($xmlElementsResponse->dane)
co obcina tablicę do pierwszego wyniku:
echo "+++++++++++++++++++++++++\n"; print_r( $xmlElementsResponse ); echo "+++++++++++++++++++++++++\n"; print_r( $xmlElementsResponse->dane );
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.