Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: batman, dodany: 30.06.2011 12:00, tagi: internet

W dniu wczorajszym Microsoft ogłosił wydanie drugiego Platform Preview najnowszej wersji Internet Explorera 10. Muszę przyznać, iż wprowadzone funkcjonalności robią wrażenie, ponieważ wreszcie wszystkie popularne przeglądarki będą obsługiwały nowoczesne standardy. Z nowości jakie zostały dodane do IE10, najciekawsze wydają się być:

  • Web Workers
  • Drag and Drop
  • Media Query Listeners
  • gradienty CSS
  • File API
  • Sandbox

Pełna lista wprowadzonych zmian znajduje się pod adresem http://msdn.microsoft.com/en-us/ie/gg192966.aspx.

Microsoft przygotował również wideo prezentujące kilka najciekawszych zmian.

Nie mogę się doczekać czasu, gdy stwierdzenie “działa we wszystkich nowoczesnych przeglądarkach”, będzie również dotyczyło IE.

Autor wpisu: Diabl0, dodany: 29.06.2011 15:37, tagi: mysql, php, sql, zend_framework

Od jakiegoś czasu borykałem się z problemem dlaczego czasami zapisywane do bazy danych zserializowane dane są „obcinane. Poszukiwania, googlanie niewiele pomagało aż a końcu trafiłem gdzieś na informację że problemem może być znak NULL (0×00) w którym PHPowe serialize się lubuje :) . A koro tak, to postanowiłem napisać swoją wersję serialize.

Kod tutaj:

<?php
/**
 * Serializowanie i deserializowanie treści zawierających 0x00
 *
 * @category    Mao
 * @package     Mao_Serializer
 * @author      Krzysztof 'Diabl0' Szatanik
 * @copyright   Copyright (c) 2011, MAO Group
 * @version     $Id: Form.php 1164 2009-11-10 13:01:53Z diabl0 $
 */

/**
 * Własna nakładka na serializację
 *
 */
class Mao_Serializer {

	const CHAR_0x00 = '\\$0x00$/';

	/**
	 * Serializuje obiekt jak serialize() z tym że zastępuje znak 0x00
	 * aby nie sprawiał problemu przy zapisie do bazy danych
	 *
	 *
	 * @param mixed $obj
	 *
	 * @return string
	 */
	static function serialize( $obj ) {
		return str_replace( chr(0x00), self::CHAR_0x00, serialize( $obj ) );
	}

	/**
	 *
	 * Deserializuje obiekt jak unserialize() z tym że przywraca
	 * zastąpiony znak 0x00
	 *
	 * @param string $string
	 *
	 * @return mixed
	 */
	static function unserialize( $string ) {
		return unserialize( str_replace( self::CHAR_0x00, chr(0x00), $string ) );
	}

}

Użycie jest banalne:

<?php
$text = 'to jest test znaku [' . chr(0) . '] - czy sie dobrze zapisuje do bazy';
$serialized = Mao_Serializer::serialize($text);
$unserialized = Mao_Serializer::unserialize($serialized);
?>

Wiem że nie jest to idealne rozwiązanie ale na razie nie mam czasu aby przysiąść i dorobić jakąś konwersję w locie na poziomie Zend_Db_Adapter

Autor wpisu: sokzzuka, dodany: 29.06.2011 11:24, tagi: php

Po długich bólach porodowych dostaliśmy do rąk PHP 5.4 w wersji alpha 1. Szczegóły można znaleźć na oficjalnej stronie php. Jest to pierwsze wydanie wg nowego cyklu wydawniczego, który został niedawno zaakceptowany – po szczegóły odsyłam do RFC. Głębszy komentarz wkrótce (muszę się odkopać z „tasków” ;P)

Autor wpisu: batman, dodany: 29.06.2011 08:00, tagi: internet

Jednym z pierwszych etapów tworzenia aplikacji, jest przygotowanie jej prototypu. Dzięki temu już w początkowej fazie projektu unikniemy nieporozumień “miałem coś innego na myśli” lub “myślałem, że będzie to wyglądać/działać inaczej”. Kolejną zaletą prototypowania jest możliwość przekazania grafikowi wstępnych założeń dotyczących układu poszczególnych elementów w aplikacji i oszczędzenie ogromu czasu na wyjaśnianiu naszej wizji.

Narzędzi do prototypowania znajdziemy wiele z najpopularniejszym na czele Axure. Ponieważ cena Axure’a nie zachęca domowego developera do wydania niemałej gotówki na licencję, warto sprawdzić co oferuje konkurencja.

Ostatnim narzędziem do prototypowania z jakim się spotkałem, jest tytułowy MockFlow. Jest to flashowa aplikacja dostępna przez przeglądarkę z desktopowym klientem stworzonym w technologii Adobe AIR. Co ciekawe, autorzy projektu udostępnili również klienta mobilnego pozwalającego na dostęp do stworzonych prototypów z urządzeń mobilnych obsługujących HTML5.

Wspomniałem przed chwilą, iż dostęp do prototypów można uzyskać z mobilnych urządzeń. Dobrze się domyślacie – MockFlow działa jako typowa aplikacja internetowa, przechowująca dane online, do których dostęp uzyskuje się przy pomocy wspomnianych klientów. Klient desktopowy ma możliwość pracy w trybie offline, więc w przypadku braku dostępu do sieci, nadal można korzystać z aplikacji.

Co potrafi MockFlow? Całkiem sporo. Przede wszystkim pozwala stworzyć w miarę interaktywny prototyp aplikacji pozwalający na dokładne przygotowanie szkicu aplikacji. Spośród kilkudziesięciu dostępnych elementów znajdziemy przyciski, zakładki, wykresy, captcha, kalendarz i wiele innych. Jeśli okaże się, iż w dostępnych elementach nie ma przez nas wymaganego, możemy odwiedzić MockStore. Znajdziemy w nim dużo gotowych elementów przygotowanych przez użytkowników aplikacji. Gotowy prototyp możemy wyeksportować do pliku PDF, PPT, podejrzeć online oraz pobrać w postaci projektu HTML5. Możemy również wygenerować specyfikację w postaci dokumentu Word.

Bardzo interesująco przedstawia się wbudowany system kontroli wersji, pozwalający na przeglądanie zmian wprowadzonych do prototypu wraz z komentarzami dodanymi podczas zapisywania kolejnej wersji. Na uwagę zasługuje również możliwość zaproszenia innych osób do pracy nad prototypem oraz wbudowany chat, dzięki któremu będziemy mogli się z tymi osobami komunikować.

MockFlow udostępniony jest w dwóch wersjach. Pierwsza – darmowa – pozwala na utworzenie jednego projektu składającego się maksymalnie z czterech stron. Ponadto nad projektem mogą pracować tylko dwie osoby, a ilość rewizji w historii ograniczona jest do pięciu. W wersji płatnej wszystkie ograniczenia są zdjęte, a limit miejsca na serwerze do przechowywania danych rośnie z 10MB to 5GB. Wersja płatna kosztuje 69 dolarów na rok.

Strona projektu – www.mockflow.com

Autor wpisu: Tomasz Kowalczyk, dodany: 29.06.2011 02:19, tagi: php

Szukałem ostatnio szybkiego sposobu na podzielenie stringa według jednoznakowego separatora, aczkolwiek w taki sposób, by omijał jego "escape'owaną" formę. W ten sposób mógłbym np. parsować pewne dane tekstowe równocześnie umożliwiając wykorzystanie separatora w samym tekście. Zadanie teoretycznie nie wydawało się trudne, aczkolwiek faktyczne rozwiązanie okazało się co najmniej "nietrywialne". W dzisiejszym bardzo krótkim i treściwym [...]

Autor wpisu: batman, dodany: 28.06.2011 22:00, tagi: php

Wczoraj miała miejsce premiera najnowszej wersji PHP Manager for IIS. Oznaczona numerem 1.2 wersja obok szeregu mniej lub bardziej potrzebnych poprawek wprowadza jedną bardzo interesującą funkcjonalność. Funkcjonalnością tą jest możliwość zarządzania PHP z poziomu PowerShella. Operacje jakie możemy wykonać to:

  • zarejestrować nową wersję PHP
  • zmienić wersję PHP dla konkretnej aplikacji
  • zmienić ustawienia PHP
  • włączyć lub wyłączyć rozszerzenie
  • pobrać informacje o wersji oraz konfiguracji PHP

Dokładny opis korzystania z wiersza poleceń znajdziecie na stronie projektu.

Rozszerzenie można zainstalować przy pomocy Web Platform Installera webpi

Autor wpisu: Zyx, dodany: 28.06.2011 10:25, tagi: php

Praktycznie każdy szanujący się programista PHP słyszał o APC i Memcached, dwóch czołowych rozwiązaniach do wykonywania cache'owania danych w pamięci operacyjnej przez aplikacje PHP. Żadna duża witryna bez ich pomocy nie udźwignęłaby obsługiwanego ruchu. Ostatnio jednak zainteresowałem się techniką pasywnego cache'owania, do którego żadne z nich się w pełni nie nadawało. Natknąłem się dziś jednak w repozytorium PECL na ekstremalnie proste rozszerzenie chdb, które idealnie pasuje do charakteru tego zadania, radzi sobie z nim szybciej, niż APC i co więcej, pozbawione jest kilku jego wad.
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.