MARVIN1994PL 20 Kwietnia 2015 20 Kwietnia 2015 Witajcie kochani, Mam następujący problem ... "string" ładowany/wprowadzany z/do SQL to tak naprawdę linijka startowa powiedzmy do ssh i wygląda mniej więcej tak java -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:ParallelGCThreads=3 -XX:MaxGCPauseMillis=5 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:+UseBiasedLocking -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -Xnoclassgc -XX:UseSSE=3 -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:+UseCompressedStrings -XX:+OptimizeStringConcat -XX:+AggressiveOpts -Xms24M -Xmx5G -jar spigot.jar Jak widzicie posiada sporo parametrów i aż 509 znaków. Jak optymalnie przetrzymywać to w SQL tak aby użytkownik mógł zmodyfikować biorąc pod uwage kontrole danych? Myślałem o czymś z select or null(wtedy parametr sie nie pojawia). Zapisywanie danych to nie problem, Ale jak zrobić ich odczyt? Edit: Prototyp $cmd = explode(" ", $tablica['cmd']); for ($i = 0; !empty($cmd[$i]); $i++) { echo $i." | ".$cmd[$i]; $pos = strpos($cmd[$i], "="); if ($pos !== false) { echo " | ".$pos." | "; $temp = explode("=", $cmd[$i]); echo $temp[0]." | ".$temp[1];} echo ""; } echo ""; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 20 Kwietnia 2015 20 Kwietnia 2015 W bazie chcesz zapisać całą komendę, czy jej parametry? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MARVIN1994PL 20 Kwietnia 2015 Autor 20 Kwietnia 2015 W bazie chcesz zapisać całą komendę, czy jej parametry? No własnie nwm co lepiej komenda może mieć więcej parametrów/mniej lub brak, wiec lepiej żeby to było dynamicznie. myśle że zapisanie całej komendy to dobre rozwiązanie Więc wejście jest takie $tablica['cmd'] = "java -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:ParallelGCThreads=3 -XX:MaxGCPauseMillis=5 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:+UseBiasedLocking -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -Xnoclassgc -XX:UseSSE=3 -XX:+UseFastAccessorMethods -XX:+UseStringCache -XX:+UseCompressedStrings -XX:+OptimizeStringConcat -XX:+AggressiveOpts -Xms24M -Xmx5G -jar spigot.jar" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 20 Kwietnia 2015 20 Kwietnia 2015 Wyrażenia regularne. $input = $tablica['cmd']; preg_match_all('#((-XX:([A-Za-z]{1,})=([0-9]{1,}))||(XX:+([A-Za-z]{1,}))||(-([A-Za-z]{1,})))#si', $input, $output); var_dump($output); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MARVIN1994PL 20 Kwietnia 2015 Autor 20 Kwietnia 2015 Dodano: 20 Kwiecień 2015, 23:35 Wyrażenia regularne. $input = $tablica['cmd']; preg_match_all('#((-XX:([A-Za-z]{1,})=([0-9]{1,}))||(XX:+([A-Za-z]{1,}))||(-([A-Za-z]{1,})))#si', $input, $output); var_dump($output); Pomysł dobry ale rezultat dość dziwny link Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 21 Kwietnia 2015 21 Kwietnia 2015 Ogólnie nie wiem czemu wybiera spacje. Orłem w wyrażeniach regularnych nie jestem. Zawsze można to podzielić za pomocą explode. Jeżeli to i tak ma być jedna konfiguracja tej komendy, to za parametry mogą robić odpowiednie kolumny i wtedy będzie o wiele łatwiej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MARVIN1994PL 21 Kwietnia 2015 Autor 21 Kwietnia 2015 ja zrobiłem to tak $cmd = explode(" ", $tablica['cmd']); for ($i = 0; !empty($cmd[$i]); $i++) { echo $i." | ".$cmd[$i]; $pos = strpos($cmd[$i], "="); if ($pos !== false) { echo " | ".$pos." | "; $temp = explode("=", $cmd[$i]); echo $temp[0]." | ".$temp[1];} echo ""; } echo ""; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 22 Kwietnia 2015 22 Kwietnia 2015 O ile nie ma dużo rekordów z komendą, to taki sposób może być odpowiedni. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MARVIN1994PL 22 Kwietnia 2015 Autor 22 Kwietnia 2015 To ma działać dla pojedynczej edycji. Docelowo ma być około 400 aktywnych. Gdzie kod up to tylko edycja. Jeszcze nwm co i jak będzie sprawdzalo stan rzeczywisty, na 70% cos będzie sprawdzalo plik start.sh albo kopiowalo gotowy i sprawdzony przed wykonaniem komendy. Myslisz ze funkcja evil będzie przydatna? Albo moze lepiej rozdzielic to na 3 tabele? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 22 Kwietnia 2015 22 Kwietnia 2015 MARVIN1994PL, nie rozumiem zbytnio do jakiś to celów, dlatego trudno mi to ocenić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MARVIN1994PL 25 Kwietnia 2015 Autor 25 Kwietnia 2015 MARVIN1994P Pisze "prosty" panel pod hosting oparty o docker.io PS: pisze go dla siebie jako trening Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cuan 25 Kwietnia 2015 25 Kwietnia 2015 hm, to twoje rozwiązanie powinno być w miarę odpowiednie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MARVIN1994PL 26 Kwietnia 2015 Autor 26 Kwietnia 2015 Oki, wiec do zamkniecia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kontynuuj dyskusję
Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.