EpicWEB.pl

webdesign, programowanie, phat lewt!

Ostatni projekt

ddrpl.com

Ostatnie wiadomości

PHP - (r)ewolucja od Facebook'a?

Facebook to jeden z projektów, którego zwolennicy PHP używają często jako kontrargumentu, na to, że w PHP nie da się zrobić nic poważnego. Ci, którzy znają prawdę trochę lepiej wiedzą, że PHP to tylko jeden z wielu języków programowania, których FB używa do zasilania licznych front- i back-endów w swoim portalu.

Na blogu SDTimes pojawiła się informacja głosząca, iż Facebook zamierza przedstawić i upublicznić na zasadach Open Source swoją własną wersję runtime PHP - autor spekuluje jakoby programiści (a dokładniej jedna osoba zatrudniona przez FB) mieli przygotować własną wersję parsera, która zdecydowanie polepsza wydajność.

Aktualizując swój wpis, w oparciu o komentarze innych użytkowników, Alex wskazuje także, że nowe rozwiązanie to być może kompilator działający na zasadzie JIT (just-in-time compilation) - rozwiązanie które może zapewnić wzrost prędkości ale i bezpieczeństwo typów (type safe), które często wskazywane jest jako jedna z większych wad PHP.

Czymkolwiek nie okazało by się nowe rozwiązanie - miejmy nadzieję, że uda się je wprowadzić do PHP Core (co da większe szanse zaistnienia na popularnych platformach hostingowych) i nie ograniczy się do wprowadzenia nowych funkcji z prefixem fb_ ;-)

Sprzedaż materiałów CC BY-NC-SA

Może na Joggerze znajduje się ktoś, kto obeznany jest z prawem w takim wypadku:

Planuje sprzedać produkt X i jako dodatek dołączyć do niego produkt Y, który dostępny jest za darmo w sieci na licencji CC BY-NC-SA, która to zakazuje użytku w celach komercyjnych. Moim głównym celem nie jest sprzedaż produktu Y, ale produktu, do którego stanowi on darmowy dodatek, co będzie odpowiednio zaznaczone w opisie oraz licencji.

Czy w takim wypadku dopuszczam się złamania prawa? Dla uproszczenia powiem, że chodzi o utwory muzyczne, które chciałbym nagrać na płytę, dodać do tego piękne pudełeczko i okładkę oraz dołączać jako bonus do produktu X.

Wiem, że w przypadku takiej właśnie praktyki nie ma problemów ze "sprzedażą" produktów na licencji GNU/GPL, ale nie mam pojęcia jak to ma się do CC BY-NC-SA.

Pomożecie? :-)

Internet Explorer i <OBJECT>

<OBJECT> to tag pozwalający na osadzanie np. obiektów multimedialnych na stronach WWW - najczęściej spotykamy się z nim np. na YouTube, gdzie w ten sposób osadzany jest odtwarzacz Flash.

Internet Explorer w wersji 6 radośnie ignoruje sobie ten tag i wymaga zastosowania tagu <EMBED> dlatego często obiekty osadzane są tak jak poniżej:

<object width="480" height="295">
        <param name="movie" value="http://www.youtube.com/v/sDsAPMhuABU&hl=pl_PL&fs=1"></param>
        <param name="allowFullScreen" value="true"></param>
        <param name="allowscriptaccess" value="always"></param>
        <embed src="http://www.youtube.com/v/sDsAPMhuABU&hl=pl_PL&fs=1" type="application/x-shockwave-flash" width="480" height="295" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>

Dzięki zastosowaniu takiej notacji, zarówno IE6 jak i nowsze przeglądarki poprawnie wyświetlają daną treść. Oczywiście, żeby nie było różowo, są i tutaj haczyki - jeden właśnie spowodował zmarnowanie 30 minut mojego życia.

O ile jak już wcześniej wspomniałem IE6 przy napotkaniu tagu <OBJECT> w HTML zignoruje go, o tyle przetworzy jego zawartość i wyświetli dane z <EMBED> o tyle zupełnie inaczej ma się to z obiektami dynamicznie wstawianymi do DOMu poprzez Java Script - w takim wypadku IE6 ignoruje zarówno <OBJECT> jak i całą jego zawartość. Rozwiązaniem w takim wypadku jest "wyłuskanie" <EMBED> ze wstawianego kodu HTML i wyświetlenie tylko tego jednego znacznika dla IE6.