Wpis z mikrobloga

Hej.

Od jakiegoś czasu uczę się programowania #java i napisałem swój pierwszy program (na własne potrzeby, gdyż nie znalazłem alternatywy w necie). Może komuś się przyda.

Program ten sprawdza wszystkie posiadane gry na #steam i wypluwa posortowaną listę według kolejności liczby obecnie grających osób. Stworzyłem go, gdyż mam dużo gier na Steamie i czasami nie mam pomysłu, w co zagrać, a nie chcę tracić czasu na instalowanie martwych gier. Jednocześnie sprawdzanie każdej gry pojedynczo na https://steamcharts.com/ mija się z celem.

https://github.com/mido830/regis/releases
Kliko - Hej.

Od jakiegoś czasu uczę się programowania #java i napisałem swój pierw...

źródło: comment_1634976691tr3U0MGKDUgyJllAsRBV88.jpg

Pobierz
  • 30
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Kliko:
Mała wada programu jest taka, że nie wyświetla niestandardowych znaków takich jak np. ™ na zdjęciu 2 od dołu (zamienił na "?").
Tzn. w IDE wszystko działa, ale chyba windowsowa konsola po prostu tego nie obsługuje. Nie wiem, czy da się to jakoś naprawić :/
  • Odpowiedz
@Kolorowezworki:
Nie wiem, o czym mówisz, więc musiałem wyguglować.

Dopisałem chcp 65001 do pliku bat i problem się zmienił. Zamiast pokazywać niestandardowe znaki jako "?" teraz je ukrywa :D
Cóż, póki nazwa nie jest po chińsku, można to chyba potraktować jako wystarczające rozwiązanie.

Tylko nie podoba mi się ta linijka "Active code page: 65001", która wyświetla się po odpaleniu pliku. Da się to jakoś ukryć?
Kliko - @Kolorowezworki: 
Nie wiem, o czym mówisz, więc musiałem wyguglować.

Dopi...

źródło: comment_1634977434SJuPDmlVZPXRZhbpQC8lxt.jpg

Pobierz
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
@Kliko: trochę mi się nie podoba to co jest w klasie Logic w metodzie updateList. Mówię o tworzeniu nieokreślonej liczby nowych wątków w pętli. Poczytaj o Executorze i Thread pools :) ale pomysł na program bardzo fajny ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Rozumiem że korzystasz po prostu z API Steama, zaciągasz id wszystkich gier przypisanych do danego konta i puszczasz te id do Steamcharts, a następnie sortujesz to co ci zwróci?
  • Odpowiedz
@Mike-Wazowski:

Żebyś ty widział, jak to wcześniej wyglądało XD
Odpytywałem każdą grę z listy po kolei i program wykonywał się ze 2-3 minuty, bo czekanie na odpowiedź od serwera Steam trochę trwa. Dopiero po jakimś czasie mnie olśniło, że przecież jest coś takiego jak programowanie asynchroniczne xD

Dzięki za przejrzenie
  • Odpowiedz
wymaga podania Web API Key, a dostęp może zostać zablokowany przez Steama po przekroczeniu jakiejś tam ilości odpytań


@Kliko: 100 000 na dzień, gwarantuję Ci, że prędzej dostaniesz bloka (na ip) na steamcommunity/store.steampowered niż na api :D
  • Odpowiedz
@only: Haha no może i tak, ale jakoś niekomfortowo bym się czuł, podając swój kod programisty w kodzie. Co innego gdyby to był zamknięty projekt, ale tak to każdy może sobie wziąć mój kod i zbanować mnie jednym while() ( ͡º ͜ʖ͡º)
  • Odpowiedz
via Wykop Mobilny (Android)
  • 1
@frytaa: Tzn. klikasz dwukrotnie na plik .bat i nic się nie dzieje?
Bo to z .bat trzeba odpalić, nie z .jar.

Jeśli nadal nie działa, to spróbuj odpalić ręcznie, tj. włącz konsolę i przejdź do lokacji gdzie masz plik Regis.jar. Jeśli masz go na pulpicie to jest to komenda:
cd
  • Odpowiedz
@Kliko: Ładuj klucz do API z osobnego pliku config/key i ten plik z kodem wrzuć do .gitignore - problem podpierdzielenia klucza rozwiazany. Tak samo ewentualne kredki do bazy danych czy inne configi/klucze API :)
  • Odpowiedz
@Kliko: oki działa, ale jak mogę zasugerować to aby dlc nie liczyć bo po pierwsze zlicza to jako grę a po drugie pokazuje mi 0 graczy mimo iż w grę gra kilka tys ludzi
  • Odpowiedz
@frytaa: Mój program jest dość wydajny, 99% czasu pracy to czekanie na odpowiedź od serwerów Steam. Pewnie dałoby się dodatkowo sprawdzić, czy każda gra jest DLC czy nie, ale znacząco zwiększyłoby to liczbę zapytań do serwera (bo w games.xml tego nie ma), a przez to czas oczekiwania, więc nie wiem, czy gra jest warta świeczki.
  • Odpowiedz