Репутация StackOverflow с помощью Windows Command Prompt (cmd.exe)


Об этом говорится в третьем издании «Effective C ++»:
«Предпочитать функции, не являющиеся членами, и не являющиеся друзьями». Что это означает, что вы должны держать свой класс достаточно маленьким, потому что большие классы, как правило, трудно расширять (они плохо масштабируются)

Вы также можете проверить свой класс на наличие веток. Если ваш класс содержит «if» или «switch'es», существует высокая вероятность того, что ваша классовая ответственность исчезла. Если это так, то рефакторинг и разделение обязанностей на более мелкие части могут привести к меньшим классам.

С наилучшими пожеланиями,
Марчин

6
задан 4 revs, 3 users 57% 23 May 2017 в 10:33
поделиться

3 ответа

@echo off & setlocal
:: Supports curl, wget, plink, and nc

set SoUID=YOUR UID HERE
:: Example: set SoUID=49849
set SoHost=stackoverflow.com

set FlairPath=/users/flair/%SoUID%.json
set FlairURL=http://%SoHost%%FlairPath%
set TempTag=%SoHost%-%SoUID%-%random%
set TempFile=%TEMP%\%TempTag%.json
set Script=%TEMP%\%TempTag%.script
set RawOut=%TEMP%\%TempTag%.out

call :Check curl
if not "%App%"=="" "%App%" -o "%TempFile%" -s "%FlairURL%" & goto :Next

call :Check wget
if not "%App%"=="" "%App%" -O "%TempFile%" -q "%FlairURL%" & goto :Next

call :Check plink
if not "%App%"=="" call :MakeScript & "%App%" -raw %SoHost% -P 80 -batch  "%RawOut%" & goto :NextHdr

call :Check nc
if not "%App%"=="" call :MakeScript & "%App%" %SoHost% 80  "%RawOut%" & goto :NextHdr

>&2 echo curl, wget, plink or netcat not found. Downloading plink from PuTTY site.
set App=%TEMP%\plink.exe
call :Mirror ftp.chiark.greenend.org.uk /users/sgtatham/putty-latest/x86/plink.exe
if not exist "%App%" call :Mirror ftp.samurai.com /pub/putty/putty-latest/x86/plink.exe
if not exist "%App%" call :Mirror ftp.totem.fix.no /pub/mirrors/putty/putty-latest/x86/plink.exe
if not exist "%App%" call :Mirror ftp.ds5.agh.edu.pl /pub/putty/putty-latest/x86/plink.exe
if not exist "%App%" goto :NoApp
call :MakeScript & "%App%" -raw %SoHost% -P 80 -batch  "%RawOut%" & del "%App%" & goto :NextHdr
:Mirror
if exist "%App%" del "%App%"
> "%Script%" echo=lcd "%TEMP%"
>>"%Script%" echo=binary
>>"%Script%" echo=get %~2
>>"%Script%" echo=bye
ftp -s:"%Script%" -A -v -i %~1 > nul 2> nul
goto :EOF
:NextHdr
for /f "usebackq tokens=1,* delims=:" %%a in ("%RawOut%") do (
    if [%%a]==[{"id"] set Flair=%%a:%%b & del "%Script%" "%RawOut%" & goto :Next2
)
:NoApp
>&2 echo Giving up. & goto :EOF
:Next
if not exist "%TempFile%" echo Error downloading data. & goto :EOF
set /p Flair=&2 echo Something went bad.
) else (
    if "%SoName%"=="" (
        echo Your reputation is %SoReputation%.
    ) else (
        echo Reputation of %SoName% is %SoReputation%.
    )
)
goto :EOF
:Parse
if "%~1"=="" goto :EOF
set Line=%~1
shift
if /i "%Line:~0,11%"=="reputation:" (
    set SoReputation=%Line:~11%
    goto :Parse
)
if /i "%Line:~0,12%"=="displayName:" (
    set SoName=%Line:~12%
    goto :Parse
)
goto :Parse
:Check
set App=
for %%e in (%PATHEXT%) do for %%i in (%1%%e) do if NOT "%%~$PATH:i"=="" set App=%%~$PATH:i
goto :EOF
:MakeScript
> "%Script%" echo=GET %FlairPath% HTTP/1.1
>>"%Script%" echo=Host: %SoHost%
>>"%Script%" echo=Connection: close
>>"%Script%" echo=
goto :EOF
10
ответ дан 8 December 2019 в 18:41
поделиться

В окне командной строки введите:

start iexplore http://stackoverflow.com/users/flair/{your UID here}.html
3
ответ дан 8 December 2019 в 18:41
поделиться

Есть более подробные данные для пользователей, доступные через (JSON):

http://stackoverflow.com/users/rep/50475/2009-01-01/2009-01-31

Вы можете получить некоторые интересные данные, проанализировав эту строку. Джон Скит использует это для своего трекера репутации .

0
ответ дан 8 December 2019 в 18:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: