Webdevelopment
PHP Tips n’ Tricks
Doskonała prezentacja Radosława Benkela dotyczą trików, które można wykorzystać w codziennej pracy z kodem php.
Symfony 1.4 w chmurze
Znalazłem doskonałą prezentacje autorstwa Krisa Wallsmitha dotyczącą uruchamiania symfony 1.4 w chmurze Amazonu. Opisuje ona:
- implementacje doctrine 1.2 na Amazon RDS,
- zarządzanie sesją na Amazon EC2,
- Upload Plików na Amazon S3,
- konfigurację środowiska na lokalne środowisko developerskie,
- deployment projektu do cloud’a.
W sieci nie ma wiele przykładów co do tego typu implementacji symfony 1.4. Więc uważam tę prezentacje jako cenne znalezisko.
Mały fail po migracji.
Od 22.10 blog był niedostępny dla czytelników. Ponieważ miała miejsce przeprowadzka na nowy serwer (linuxpl.com). Generator subdomen w panelu zostawił mi index.html w głównym katalogu Vhosta i tak oto ruch nie był kierowany na index.php
W produkcji są 4 wpisy na tematy związane z Doctrine:
- Doctrine: behaviour NestedSet
- Doctrine: Tworzenie tabel w utf-8
- Doctrine: uruchamianie dodatkowych zapytań po build
- Doctrine: behaviour geographical
Optymalizowanie ilości Http requestów
Jednym ze sposobów na optymalizacje ilości requestów do strony, oraz zmniejszenie ilości przesyłanych danych z serwera jest łączenie i kompresowanie plików ze skryptami java script. Jest to możliwe gdy przeglądarka obsługuje taki format skompresowanych plików js.
SQLSTATE[HY000]: General error: 1005 Can’t create table
Jeżeli przy próbie wywołania polecenia:
$symfony doctrine:insert-sql
Wyskakuje Ci błąd
SQLSTATE[HY000]: General error: 1005 Can't create table 'TwojaBazaDanych.#sql-6c_2d' (errno: 121)
To znaczy że mysql nie może utworzyć relacji między obiektami, z trywialnego powodu pole klucza obcego jest różnego typu od pola powiązanego w lokalnej tabeli.
WordPress dodawanie postów do facebook’a (facebook share)
Najprostszym sposobem by dołączyć możliwość podzielenia się postem na facebook’u jest instalacja wtyczki np. ShereThis.
Jednak jeżeli nie chcemy nadmiernie obciążać WordPressa dodatkowymi pluginami i ładującym się trzy dni javascriptem. Można to zrobić w template.
Javascript: Walidator Numeru Rachunku Bankowego (NRB)
Opis Formatu NRB
Format NRB jest to 26 cyfr zapisanych w formacie:
CC AAAA AAAA BBBB BBBB BBBB BBBB
Gdzie:
- CC to suma kontrolna (2 cyfry),
- AAAAAAAA to numer rozliczeniowy jednostki organizacyjnej banku (8 cyfr),
- BBBBBBBBBBBBBBBB to numer rachunku klienta w banku (16 cyfr).
Więcej na ten temat powie nam wikipedia.
Algorytm Walidacji:
- Wytnij znaki nie numeryczne z ciągu wejściowego i przejdź do kroku 2.
- Jeżeli długość ciągu znaków wynosi 26 to przejdź do kroku 3 w przeciwnym wypadku zwróć false.
- Do ciągu znaków dopisz kod kraju 2521, który odpowiada kodowi literowemu PL (P - 25, L - 21).
- Dwa pierwsze elementy ciągu zawierającego numeru konta przenieś na koniec tego ciągu(które zawierają sumę kontrolną).
- Przeglądaj numer konta od końca mnożąc kolejno: ostanią cyfrę numeru konta z pierwszą wagą zawartą w tablicy wag. Sumując wynik powyższego mnożenia.
- Jeżeli wynik reszty z dzielenia przez 97 jest równy jeden to zwróć true w przeciwnym wypadku zwróć false
Implementacja funkcji sprawdzającej poprawność NRB
function NRBvalidatior(nrb) { nrb = nrb.replace(/[^0-9]+/g,''); var Wagi = new Array(1,10,3,30,9,90,27,76,81,34,49,5,50,15,53,45,62,38,89,17, 73,51,25,56,75,71,31,19,93,57); if(nrb.length == 26) { nrb = nrb + "2521"; nrb = nrb.substr(2) + nrb.substr(0,2); var Z =0; for (var i=0;i<30;i++) { Z += nrb[29-i] * Wagi[i]; } if (Z % 97 == 1) { return true; }else{ return false; } }else{ return false; } }
Wywoływanie sprawdzania przy edycji pola lub wysłaniu formularza
$('form').submit(function(){ if(NRBvalidatior($('input#nrb').val())) { return true; } else { return false; } });
Zmiany, plany, status
Przepraszam za taką przerwę w postach drodzy czytelnicy. Dużo się działo, wiele się zmieniło w moim życiu.
Pierwszą rzeczą jest to, że w końcu odnalazłem szczęście u boku wspaniałej kobiety, która jak to mówił Ten Typ Mes:
„…dodaje pierwiastek kobiecości do rozmów, nie tylko do ciastek…”
Budzenie się rano z myślą o kimś, który potrafi tak naładować mnie pozytywną energią sprawia, że staje się lepszym człowiekiem.
Kolejną zmianą w moim życiu jest zakończenie etapu freelancera. W poniedziałek rozpoczynam pracę, na etacie. Niestety nie mogę zdradzić gdzie, ponieważ obowiązuje mnie klauzula poufności. Teraz kończę wszystkie projkety, których się podjąłem w ostatnim miesiącu, bo obowiązuje mnie klauzula o zakazie konkurencji.
Przejdźmy zatem do planów. Długie lata temat pracy magisterskiej wydawał mi się sprawą tak abstrakcyjną, że nigdy nie brałem tego pod uwagę. Staneliśmy przed problemem wyboru tematu (Ja i Maciek, z którym to będziemy pisali pracę). Po burzy mózgów doszliśmy do następujących wniosków:
Technologie:
- PHP – phpAMF remoting funkcji z php
- FlashVideo – odtwarzanie vido
- FLEX – Podstawa aplikacji GUI + Upload Plików
- MySQL – przechowywanie testów jak i ich wyników
Opis aplikacji:
- Tworzenie Testu
- Upload pliku z wykładem (vido)
- Konwersja server-side avi, mpg, wmv do flv
- Ustawianie czasu wyzwalaczy, które będą uruchamiały pytania podczas oglądania materiału
- Dodawanie pytań, ustawianie poprawnych odpowiedzi (test jednokrotnego/wielokrotnego wyboru)
- Testowy Test, zapisanie drzewa XML do bazy danych
- Przeprowadzanie Testu
- Materiał Video jest odtwarzany
- Odtwarzacz dochodzi do wyzwalacza gdzie znajduje się pytanie
- Kontrolki Playera są blokowane
- Można jedynie odpowiedzieć na pytanie
- Odpowiedź na pytanie jest zapisywane do bazy danych
- Odblokowanie kontrolek playera i wznowienie playbacku
- Po zakończeniu odtwarzania filmu wyświetla się podsumowanie z wynikiem testu, oraz propozycjami fragmentów, które wypadało by powtórzyć
- Statystyki grupy studentów
- Informacje dla wykładowcy o najsłabiej opanowanym materiale przez grupę itp.
Po dalszych ustaleniach z promotorem, rozszerzyliśmy zakres funkcjonalności o plugin do systemu e-learningowego OpenSurce o nazwie OLAT, który jest rozwijany na uniwersytecie w Zurychu.
Co do statusu, to co rano budzę się z kacem od YouTube Data API, oraz os-commerce bo muszę freelance skończyć, nim podpiszę umowę.
Pozdrawiam,
mGz
After the session
Wszystko zadne, nawet największy kozak w pierwszym terminie. W międzyczasie poszukuje pracy o dziwo nawet czynnie, bo już mój fejm na goldenline się chyba wyczerpał.
W między czasie by mój talent programistyczny nie zardzewiał do reszty zająłem się ambitnym przedsięwzięciem, polegającym na stworzeniu Thema do wordpressa dla mojego znajomego co zajmuje się renowacją starych motorów. O dziwo stworzyłem również własnoręcznie na tablecie Wacom Bamboo wyczesany layout i właśnie jestem w trakcie jego cięcia. Ja rozumiem, że pojęcie wyczesany jest mocno przegięte. Również typografia pozostawia wiele do życzenia, ale to już są pierdoły, którymi można zająć się podczas pisania CSS’ów.

Layout Classic Motor
Jak to zwykle bywa po dobrze wykonanym obowiązku czas odpocząć więc dnia 7.03 uderzam tutaj:
Wyświetl większą mapę
Tymczasem zostawiam wam coś do przemyśleń, a’propos waszych wymówek w pracy.

Będzie mnie jeszcze można zobaczyć na najbliższym Barcampie oraz marcowym spotkaniu Poznań Adobe User Group
Pozdrawiam wszystkich Allegrowiczów,
mGz
Search
AdTaily
Najnowsze wpisy
Kategorie
- bez kategorii (38)
- c++ (2)
- czas wolny (28)
- java (3)
- kryptografia (5)
- praca (26)
- projekty (24)
- przemyślenia (15)
- uczelnia (13)
- Webdevelopment (33)
- Adobe AIR (2)
- Adobe Flex (2)
- AJAX (3)
- Apache (1)
- cloud computing (1)
- doctrine (2)
- GoogleMaps (4)
- JavaScript (3)
- jQuery (1)
- MySql (3)
- Optymalizacja (1)
- paypal (1)
- php (14)
- symfony (3)
- Symfony 1.4 (1)
- Symfony 2.0 (1)
- WordPress (4)
Przyjaciele
Archiwa
Tagi
Najnowsze komentarze
Linki
- wykonywanie stron www
- aranżacje
- Notensatz
- darmowe pozycjonowanie
- sklep mountainboard
- Tłumaczenia angielsko polskie tanie.
- pozycjonowanie stron częstochowa
- wózki dziecięce
- Darmowe Pobieranie TORRENTY
- Pomysły i porady Mistrzunia
- zakopane noclegi
- nieruchomości warszawa
- Katalog stron
- sale weselne częstochowa
- serwis komputerowy