December, 2008 arhīvs

Dec 22 2008

projekts

Ar šo tekstu ir doma uzsākt jaunu sadaļu šajā resursā. Nākamgad uzsākšu darbu pie jauna, apjomīga web projekta un tēmas, kas šajā sakarā te varētu atspoguļoties – šī projekta tapšanas gaitā radušies risinājumi, atziņas, secinājumi.

Tātad par visu pēc kārtas – sīkākas detaļas gan neatklāšu, taču projekta novirziens ir ar spēcīgu sociālu piesitienu papildinot to ar mobilajām tehnoloģijām un gps. Tā kā manā pārziņā ir pats izstrādes process, tad jau tagad esmu pietiekami rūpīgi tam sācis gatavoties:) Protams, šeit lielu lomu spēlē tā pieredze, kas ir gūta strādājot “draugos”, bet ir arī šādas tādas atkāpes. Galvenokārt dēļ tām kompetencēm, kas sniedzas mazliet tālāk par pliku izstrādi – arī dzelži nav sveša lieta.

OS. Viennozīmīgi linux vai kaut kas no bsd saimes. No windows esmu aizgājis jau labu laiku atpakaļ un nejūtos tur vairs pietiekami spēcīgs. 

Webserveris. Nē, nebūs apache, to nu pavisam noteikti varu garantēt. Daudz lielāku efektu pie paredzētajiem lietojumiem var panākt ar Lighttpd vai Nginx, nevis smagnējo Apache. Lighttpd + FastCGI PHP performē vismaz uz pusi labāk. Iespējams, ka apache tiktu lietots java vai python risinājumā, bet tā kā izstrāde paredzēta php, tad ir iespēja izvēlēties. Kapēc php? Domāju, ka personīgi man nebūtu liela problēma iebraukt arī python vai ruby, bet pie projekta paplašināšanās varētu parādīties speciālistu iztrūkuma problēma. Patiesībā es sākumā diezgan nopietni metu acis arī python virzienā – īpaši jau advancētā python freimworka Django sakarā. Php nekā līdzvērtīga īsti nav, jo pašos pamatos jau php ir interpretators.. Ja tam visam vēl uzsēdina pa virsu vēl vienu loģikas slāni – zaudējam performanci vēl vairāk. Nē, dīvainā kārtā šoreiz es neatteikšos no framework, bet izmantošu īpaši vieglu risinājumu – codeIgniter, pie kura esmu nonācis izveicot diezgan plašus pētījumus un šis konkrētais ir tāds, kas iespējami tuvu stāv paša php funkcionalitātei. Iemesli framework lietošanai divi – izstrādes ātrums un kaut kāda nebūt koda sakārtošana/standartizēšana. Principā savos projektos esmu mēģinājis pieturēties pie MVC principa, bet nu ne vienmēr izdodas tā 100%. Tapēc arī ir doma pieturēties pie kaut kādiem rāmjiem, kurus uzliek framework. Ja nu kādam interesē dziļāka MVC un citu aplikāciju izstrādes principu analīze, tad skatīt šeit.
Jautāsiet kāpēc MVC, kāpēc vispār nodalīt funkcionalitāti no vizuālās daļas, jeb triviālākā līmenī php no html? Patiesībā viens pietiekami saprotams iemesls varētu būt datu izmantošana citā vizuālajā paskatā – kaut vai padošanai uz mobilo, jeb arī API gadījumā – vispār bez vizuālās daļas.

Dati. Pamatā mysql. Tiesa gan izmantojot palielu spektru no tām iespējām, ko šobrīd piedāvā mysql – gan procedūras/funkcijas, gan partīcijas un vēl šo to. Kā papildinājums, bet vairāk atslogs mysql un php – talkā nāks arī memcached un sphinx. Memcached vairāk bieži pieprasīto datu procesēšanai, sphinx – meklēšanai, atslēgas vārdiem (tagiem), kā arī geo funkcionalitātes nodrošināšanai (objektu atrašanai uzdotā rādiusā). Šajā sakarā – 2 jaukas prezentācijas par tēmu - Geo Distance Search with MySQL un fulltext search engine Sphinx.

Storage. Kas attiecas uz apjomīgiem datu masīviem, tad šobrīd vēl meklēju kaut ko pietiekami līdzvērtīgu Sun Solaris ZFS. Tā failu sistēma patiesi ir labi pārdomāta un neprasa lieku darbu tās apkalpošanā. Var jau būt, ka būs jāizmanto tā pati. Patiesībā šai tēmai vēl neesmu pievērsis īpaši daudz uzmanības. Modelis tuvu ideālajam būtu storage + vairāki proxy statiskajām lietām, bet nu tad jau redzēs.

Darbu plānošana. Nenoliedzami šādam apjomīgam projektam nepietiks ar N mēnešu dead-line – iespējami sīki jāsadala un jāuzrauga (arī pašam sevi) darbu plāni pietiekami nopietni. Ir apskatīti virkne webisku rsinājumu un izskatās, ka derēs praktiski jebkurš no tiem. Patiesībā šajā sakarā pietiekami konspektīvs, bet tajā pašā laikā arī informatīvs tekstiņš varētu būt šis.

Izstrādes process. Vairākas reizes neveiksmīgi esmu mēģinājis sadzīvot ar kādu nebūt IDE – Zend, Komodo, Aptana, bet kaut kā nav sanācis. Nezinu kapēc – nesanāk un viss:) Neliekas ērti, noderīgi un procesu paātrinoši. Es tad labāk apmierinos ar koda redaktoru, kas nodrošina man aktuālās prasības.

Kas attiecas uz client side risinājumiem –  visam vajadzētu notikt pēc labākajiem web 2.0 standartiem – ajax, autocomplete, jQuery, multiple file upload ir tikai daži no atslēgas vārdiem:) Patiesībā jaunu velosipēdu grūti izdomāt – liela daļa risinājumu visticamāk tiks brutāli noskatīti no labākajiem industrijas piemēriem.

 

Nu iesākumam kaut kā tā. Nezinu, vai turpmāka iedziļināšanās projekta tapšanas gaitā būs interesanta, taču es vismaz būšu mēģinājis ko darīt lietas labā:)

8 komentāri

Dec 20 2008

vēl šis tas par iPhone

Publicēts kategorijā iPhone,

img_0042Informācija gan ir paveca – jau mēnesi atpakaļ iznāca iPhone programmatūras 2.2. versija, taču iespējams, ka kāds būs palaidis šo jauno funkcionalitāti garām.

Tad nu par visu pēc kārtas:) Baumo, ka savulaik Japānā iPhone īpaši negāja dēļ…
… dēļ smailiju, emo, (velns viņ zin kā vēl nosaukt) iztrūkuma rakstot sms, meilus, piezīmes. Līdz ar 2.2 versiju Apple iekļāva šādu iespēju, TAČU tikai japāņu klaviatūrai.. Jailbreikotajiem iPhone šo netaisnību varam labot ar Cydia atrodamo Emoji patchu, kas atļauj smailijus arī pārējām klaviatūrām. Pārējiem nāksies pielikt japāņu klaviatūru:) 

Ar Emoji uzinstalēšanu gan īsti nepietiek – pēc tam vēl jāielien sistēmas uzstādījumos un jāieiet japāņu klaviatūras uzstādījumos – tur ir emoji ķeksis. Tas gan arī viss – smailiji pieejami nenormālā daudzumā kā atsevišķa klaviatūra, kas kā jau ierasts, pārslēdzas ar globusa ikonu.

Tiesa gan Apple nav padomājuši pat par elementāru backwards compatibility un pat iPhone 2.1 smsā saņem klucīšus, nerunājot jau par citu ražotāju mobilajiem. Manuprāt, vismaz parastās kombinācijas “:)” “;)” “:D” utt. varēja vienkārši konvertēt šurpu turpu.

2 komentāri

Dec 20 2008

iPhone – navigācija

Publicēts kategorijā iPhone,

gmapiphone3dŠobrīd situācija nav diez ko spīdoša – kaut kādi softi ir, varbūt kādam pietiek ar defaulto google maps + “offline maps“, bet izskatās, ka situācija tomēr pamazām mainās uz labo pusi. Štatos jau ir pieejams daudzsološs navigācijas softs XROAD G-Map. Katrā ziņā tam ir praktiski viss, ko es sagaidu no navigācijas – offline kartes, kam nevajag i-net pieslēgumu, 3D, protams arī maršruti un vēl visādi labumi. 

Pagaidām gan pieejami tikai 2 karšu komplekti - U.S. West  un U.S. East par 19.99$ gabalā, taču izstrādātāji sola arī Eiropu nākamā gada 1. kvartālā. Ta jau manīs, kā tur sastāvēs ar Latviju, bet šo es gaidīšu:)

2 komentāri

Dec 17 2008

MacOSX 10.5.6, iPhone & DFU

Publicēts kategorijā iPhone,mac,

Patiesībā gaidīju ko tādu – pirmais signāls jau bija jauno macbook nespēja saprast restore režīmā (DFU mode) palaistus iPhone, tagad, līdz ar macosx updeitu, šāda ķeza piemeklēja arī pārējos mac. Nelielai atkāpei – DFU režīms nepieciešams priekš iPhone jailbreak. Kas ir jailbreak? Emm…. acīmredzot šis teksts nav priekš jums un tālāk nav vērts lasīt;)

Tātad par DFU iekš macosx 10.5.6 – šoreiz ir absolūti skaidrs, ka šī problēma ir risināma softiski:)
Padomi kā to apiet jau tika publicēti šeit:

1. Replace the following plugin kexts from within IOUSBFamily.kext with the ones from 10.5.5 and then rebuild kextcache (if you don’t understand this, then you shouldn’t attempt it!)

/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBHub.kext

/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBCompositeDriver.kext

2. Use a USB hub in-between the DFU device and the Mac and insert/reinsert the iPhone’s USB cable.

3. Use a PwnageTool created .ipsw on Windows! Oh the irony!

No savas puses varu pievienot risinājumu, kuru veiksmīgi izmantoju pats – apple developer lapā ir novelkami iepriekšējo macosx versiju USB draiveri, kas lieliski palīdz DFU problēmas risināšanā (package satur 2 versiju draiverus – debug un parasto, parastiem mirstīgiem pilnīgi pietiek ar parasto). Tā kā tā lapa prasa apple developer accountu, tad ielikšu lokālu spoguli arī te – MacOSX 10.5.5|4|3 versiju USB draiveri. Starp citu, pievienotā info no Apple:

This is the version of the IOUSBFamily that shipped with Mac OS X 10.5.3 (9D34), with Mac OS X 10.5.4 (9E17), and with Mac OS X 10.5.5 (9F33) for machines with either Intel or PowerPC processors.  Your current version will not be saved.  A restart is required.

Tā ka domājam paši vai mums to vajag:)

P.S.
Kā jau droši vien nopratāt, tad beidzot (!!!) esmu uzlicis fw 2.2. savam iPhone. Tātad drīzumā gaidāms LV interface pack updeits priekš 2.2:)

8 komentāri

« Iepriekšējie