Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/mu-plugins/gkphp.php on line 1
Subversion « Categories « Daniel Liljeberg

Arkiv för ‘Subversion’ kategori

Warning: Use of undefined constant archives - assumed 'archives' (this will throw an Error in a future version of PHP) in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32

Warning: Use of undefined constant page - assumed 'page' (this will throw an Error in a future version of PHP) in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32

Warning: A non-numeric value encountered in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32

Warning: A non-numeric value encountered in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32
class="post-198 post type-post status-publish format-standard hentry category-eclipse category-javascript category-php category-sql category-subversion category-video category-zend-framework">

Förslag till en samling tutorials

30 maj, 2011

Jag har funderat lite på vad man skulle kunna göra en tutorial/kurs om. Det finns ju otroligt mycket bra information på nätet redan och även om detta mest hade varit en kul liten grej så hade det varit roligt om någon lärde sig något på samma gång. Jag tror att jag kommer rikta in mig på en webapplikation av enklare slag skriven i PHP. Med enklare menar jag då, inte som omfattande. Vi skall fortfarande använda oss av abstrakta databaslager, AJAX och annat trevligt. Mycket då det saknas en del bra information för den svenska publiken om PHP men också för att det händer mycket med språket. Det möjliggör också för många att testa på det då alla delar vi kommer använda oss av kommer vara gratis (eller ha en free trial) utan att bli beroende av tredjepartslösningar som exempelvis Mono om man nu sitter i exempelvis Linux. Jag är dock inte partisk utan kan mycket väl se att vi i ett senare skede gör om exakt samam applikation i .Net för att se likheter och skillnader.

Jag tänkte försöka utgå ifrån att inte förvänta mig en massa kunskap av de som tar del av materialet. Men naturligtvis så kommer det att hjälpa om man utvecklat tidigare då jag endast kort kommer gå igenom grunder och sedan gå in på lite mera avancerade områden. Jag tänker mig följande upplägg

  1. Sätta upp lokala utvecklingsverktyg och saker att tänka på (OS, IDE, användbara plugins etc)
  2. Sätta upp server (utvecklingsstack, databas, versions hantering etc)
  3. Lite kort om PHP, karakteristiska saker med språket. Styrkor och svagheter etc.
  4. Ett antal enklare mindre program som visar lite på olika sätt att koda under PHP (och många andra språk också)
  5. Enklare introduktion till OOP och hur PHP hanterar detta.
  6. Introduktion till Zend Framework
  7. Introduktion av MVC mönstret

Sedan börjar vi knacka på vår lilla applikation och börjar då titta på hur Zend Framework hanterar views etc. Sedan går vi in på användarhantering, åtkomstkontroll, osv.

Detta är bara en idé om punkter att ta upp och jag tror att det hela, dynamisk, växer fram med tiden. Finns det några idéer eller önskemål så kom gärna med förslag.

Flattr this!

Warning: Use of undefined constant archives - assumed 'archives' (this will throw an Error in a future version of PHP) in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32

Warning: Use of undefined constant page - assumed 'page' (this will throw an Error in a future version of PHP) in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32

Warning: A non-numeric value encountered in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32

Warning: A non-numeric value encountered in /www/webvol34/an/96qmbdpibm1sspm/danielliljeberg.se/public_html/blog/wp-content/themes/cordobo-green-park-2/archive.php on line 32
class="post-94 post type-post status-publish format-standard hentry category-eclipse category-subversion">

Merge branch med trunk med Subversion och Eclipse

10 juni, 2010

Många har idag insett fördelarna med någon form av versionhantering när de utvecklar. Vare sig du använder dig av CVS, SVN, git, perforce eller något annat system så finns det mycket att tjäna på denna typ av system. Detta blir speciellt uppenbart när många personer jobbar på ett gemensamt projekt och flera olika team kanske jobbar på olika features parallellt. Här kommer vi att tala om Subversion (SVN) och konceptet branches (grenar) som existerar i de flesta versionhanteringssystem. Var branches gör är att de låter dig hantera olika versioner av din kodbas parallellt för saker som att underhålla gamla versioner, utveckling av nya features eller experimentella features som kanske aldrig blir en del av produkten. Men med branching så kommer också något som kallas merging, alltså att slå ihop ändringarna i din parallella kodbas med den ursprungliga igen. Detta görs mer eller mindre bra i olika versionhanteringssystem. Här skall jag visa hur du går tillväga om du använder SVN via Subclipse under Eclipse.

För en som aldrig gjort detta tidigare så kan det vara lite av en djungel, speciellt när man gör det från terminalen. Fram tills nydligen hade inte SVN något direkt bra stöd för det heller om man skötte ofta mergning med ett externt python script. Nu klarar dock SVN av det hela och med Subclipse kan det nästan bli riktigt enkelt även för någon som aldrig tidigare gjort en merge. Stegen är i princip identiska med de hos alla GUI’n för SVN eller om man gör det direkt i terminalen.

Merge Branch till Trunk

Låt oss säga att du haft en sprint (om ni tex kör SCRUM) eller bara är klar med en ny feature som ni utvecklat i en egen branch för att inte störa kodbasen i trunken (som ofta är bra att hålla i ett skick där det går att kompilerbar och släppa). Vad vi nu vill göra är alltså att föra in våra ändringar ifrån vår branch tillbaka till vår trunk. Vad vi nu skall göra, steg för steg, är följande.

  1. Se till att all kod i trunken är uppdaterad (vilket den normalt skall vara om folk inte arbetar mot trunken i sin dagliga utveckling, något jag avråder ifrån).
  2. Lös alla konflikter.
  3. Se till att din working copy nu är trunk, dvs ditt du skall merga till. Här blir många ofta konfunderade och tänker att de måste ju stå i den branch de vill merga in till trunk. Men tänk som så att du skall stå där dit du vill lägga in ändringarna som gjorts i någon annan branch.
  4. Välj Merge ifrån Team menyn på trunk.
  5. Som From URL pekar du på den branch du vill merga ihop med din trunk. I detta fall branch 2.65 av bar.
  6. Ändra From Revision till den senaste revisionen som mergades ihop med din trunk. Detta är då man generellt inte vill hålla på att merga hela branchhistoriken. Du vill bara köra merge på de ändringar som skett sedan du sist gjorde en merge.Jag vet inte om SVN nu har något bra system för att hålla koll på detta själv, men förut (och jag fortfarande) letar upp detta revisionsnummer genom att ditta på mina logg över commit meddelanden. Håll även detta revisionsnummer i minnet då vi kommer använda det i vårt commit message för mergen senare. I många fall, speciellt om man inte mergat fram och tillbaka som en galning, kan man komma undan med att köra HEAD:HEAD när man gör sin merge.
  7. To Revision skall oftast vara HEAD då man vill merga till och med sin sista commit.
  8. Klicka nu på Merge och låt SVN göra sitt jobb.
  9. Lös alla uppkomma konflikter.
  10. Gör en commit som inkluderar hela din merge. Ett exempel på commit message för en merge kan vara

Hoppas denna lilla snabba guide kan hjälpa några av er.

Flattr this!