Jarosław Czub

Ogólnie o rozwou, programowaniu i nie tylko…

Category: Snippet (Page 2 of 4)

Java 8 – sortowanie i komparatory

Implementacje typu TreeSet i TreeMap umożliwiają porządkowanie danych, gdyż są one układane w kolekcji według operacji porównywania. Domyślnie w TreeSet i TreeMap dane są sortowane według porządku naturalnego (w kolejności: A B C D…). Jeżeli chcemy zastosować inny rodzaj sortowania powinniśmy użyć własnego komparatora podczas tworzenia instancji obiektu TreeSet lub TreeMap. Warto zauważyć ze w Javie 8 rozbudowano klasę komparatorów […]

Java 8 – Kolekcje cz. 2 – przykłady List, Set, Map

Parę małych przykładów z użyciem kolekcji: Operacje na listach // // Tworzenie listy z tablicy // List<String> list1 = Arrays.asList(new String[]{"Pierwszy", "Drugi", "Trzeci", "Czwarty", "Piąty"});   // // Standartowe tworzenie listy // List<String> list2 = new ArrayList<>(); list2.add("Pozycja 1"); list2.add("Pozycja 2"); list2.add("Pozycja 3"); list2.add("Pozycja 4"); list2.add("Pozycja 5");   // Dodajemy duplikat list2.add("Pozycja 4");   // […]

Java 8: Wielowątkowość cz1. – wstęp, theread, synchronizacja

Wielowątkowość w programowaniu to nie jest łatwy temat, źle użyta jest przyczyną bardzo wielu kłopotów. Ten temat będzie podzielony na parę części: Wielowątkowość cz1. – wstęp, theread, synchronizacja Wielowątkowość cz2. – komunikacja międzywątkowa, synchronizacja poprzez kolejkę Wielowątkowość cz3. – egzekutory, pule wątków, Future i Callable Wielowątkowość cz4. – framerwork Fork/Join Wielowątkowość cz5. – klasy wspomagające […]

Java 8: Lambda

Dawno nie było pisania technicznego :(, troszkę jest rzeczy na głowie. Dzisiaj na tapetę idzie Java 8 i jej jeden z ficzerów operator Lambda. Co to są Lambdy? Jest to uproszczony sposób zapis metod anonimowych, tylko taki bardziej czytelniejszy. Lambda nawiązuje do języków funkcyjnych, gdzie tak jak w matematyce kładzie się nacisk na obliczanie wartości […]

Yii2, ErrorException i skopane logowanie

Domyślnie w Yii2 skopanie jest logowanie błędów ErrorException, itd, nie zapisują się do loga, tylko lecą do >/dev/null … rozwiązanie jest trochę na okrętkę, ale działa: try{ /* Error code */ } catch (yii\base\ErrorException $ex){ Yii::error("ErrorException: file: ".$ex-&gt;getFile()." line: ".$ex-&gt;getLine()."\nPrevious Track: ".$ex-&gt;getPrevious()."\n\nStack: ".$ex-&gt;getTraceAsString()); throw new yii\base\ErrorException($ex); }try{ /* Error code */ } catch (yii\base\ErrorException $ex){ […]

Tworzenie zdalnego repozytorium git’a

Szybkie przejście z svn’a na git’a, bez kopiowania zawartości svn’a tylko aktualna wersja projektu. Na zdalnej maszynie: cd /srv/git_root/ mkdir project.git cd project.git/ git –bare init git update-server-infocd /srv/git_root/ mkdir project.git cd project.git/ git –bare init git update-server-info na lokalnym kompie: cd project git init git add * git commit -m "First commit message" git […]

Yii2 i testy w Codeception

Fajnie jak wszystko pracuje bez błędów, gorzej jak nie chce … Tutaj walczyłem z unit testami oraz testami systemowymi w Yii2 i … nie chce działać. Wysypuje się aż miło, a wypisuje tylko „Internal Server Error”, w końcu się udało. Ponieważ stosuję inny układ katalogów w projekcie niż domyślny w Yii2, to Codeception nie potrafił […]

PHP Testing Framework Codeception pod Windowsem

Tak na szybko, instalacja w krokach … Codeception jest to jeden z frameworków do testowania skryptów PHP typu BDD (Behavior Driven Development), można w nim również wykonywać testy jednostkowe (posiada wbudowanego PHPUnit’a), czy podążać ścieżką TDD. Ręczna instalacja i używanie pod Windowsom w paru krokach (plik php.exe jest na ścieżce przeszukiwań plików exe): Wchodzimy na […]

Yii2 operacje CRUD

Wyszła nowa wersja Yii2, nawiasem mówiąc fajny framework (inni się nie zgodzą, ale każdy używa co mu pasuje), tylko jest nie zgodny z Yii. Dlatego będzie trzeba porobić trochę przykładów kodu: Operacje CRUD w Yii2, założenia i inne przykłady w dokumentacji: Active Record Query Builder Tworzenie (create): Utworzenie i zapisanie wartości modelu: $model = new […]

Dostęp do serwisu dla danego IP przez proxy

Przenosiłem serwis na nowy serwer, gdzie był dostęp tylko dla wybranych IP. Po przeniesieniu “zonk” nikt nie ma dostępu, okazało się ze po drodze jest małe proxy :\ … W necie, po małym grzebaniu znalazło się rozwiązanie, wykorzystanie warunku “SetEnvIF” w htaccess’ie Kawałek kodu: order deny,allow deny from all SetEnvIF X-Forwarded-For “3.4.5.6” AllowIP SetEnvIF X-Forwarded-For […]

© 2024 Jarosław Czub — Powered by WordPress