Jag hittade en bra webbsida i natt som analyserar den webbsida man matar in till skriptet och som sedan visar simpel, användbar information. Det kan t.ex vara hur relevant innehållet är på sidan jämfört med meta-taggarna i head-sektionen, när webbsidan senast cachades, vilka länkar som finns på sidan och lite information om hur man kan optimera webbsidan ännu mer.
Länken till webbsidan som gör analysen finner ni här
Några av er kanske tycker detta är helt onödig information men själv tycker jag att det kan vara användbart ibland att kolla upp detta.
En blogg om teknik, IT, nätverk, programmering, servrar, nyheter och annat som intresserar.
09 februari, 2008
Hack: Firefox 2.0.0.12 osäker?
Enligt webbsidan www.0x000000.com så är senaste patchen för Mozilla Firefox 2.0.0.12, som släpptes för bara några timmar sedan, osäker. Problemet är att man kan få tillgång till webbläsarens alla filer och inställningar via ett simpelt Javascript. För att informera kan jag säga att det vanligtvis är sökvägen "C:\Program Files\Mozilla Firefox" som då blir åtkomlig i en standardinstallation.
Koden finner man under titeln "Firefox vulnerable by default" på deras webbsida som även beskriver hur det är möjligt. Om ni inte vill råka ut för detta kan ni Googla efter "noscript firefox plugin". Om ni inte vill använda tillägget kan ni avaktivera Javascript via menyn "Verktyg->Inställningar->[flik]Innehåll->[kryssa av]Aktivera Javascript" i Firefox.
Koden finner man under titeln "Firefox vulnerable by default" på deras webbsida som även beskriver hur det är möjligt. Om ni inte vill råka ut för detta kan ni Googla efter "noscript firefox plugin". Om ni inte vill använda tillägget kan ni avaktivera Javascript via menyn "Verktyg->Inställningar->[flik]Innehåll->[kryssa av]Aktivera Javascript" i Firefox.
07 februari, 2008
Windows XP: Snabbstartfältet
Windows XP Tips
Detta är om snabbstartfältet i Windows XP, även kallat Quicklaunch i en engelsk version av Windows XP. Det är det lilla fält längst ner till vänster (under ett normalt skrivbord) bredvid startmenyn. Där ligger som standard tre ikoner för att visa Skrivbordet, Internet Explorer och Windows Media Player. Men men tiden fylls detta fält med en massa skräpikoner som installeras av olika program.
Om du vill hålla rent på skrivbordet men ändå vill ha enkel åtkomst till dina genvägar så är mitt tips till er att lägga dem där istället. Själv har jag kataloger för specifika ändamål som spel, program, Office-program och liknande. Det enda som nu finns kvar på mitt skrivbord är Papperskorgen som inte kan tas bort på vanligt sätt. För att lyckas med det kan man använda ett registerhack eller använda ett tredjepartsprogram.
Sökvägen till snabbstartfältet (om ni vill komma åt katalogen) är följande under en standardinstallation:
Detta är om snabbstartfältet i Windows XP, även kallat Quicklaunch i en engelsk version av Windows XP. Det är det lilla fält längst ner till vänster (under ett normalt skrivbord) bredvid startmenyn. Där ligger som standard tre ikoner för att visa Skrivbordet, Internet Explorer och Windows Media Player. Men men tiden fylls detta fält med en massa skräpikoner som installeras av olika program.
Om du vill hålla rent på skrivbordet men ändå vill ha enkel åtkomst till dina genvägar så är mitt tips till er att lägga dem där istället. Själv har jag kataloger för specifika ändamål som spel, program, Office-program och liknande. Det enda som nu finns kvar på mitt skrivbord är Papperskorgen som inte kan tas bort på vanligt sätt. För att lyckas med det kan man använda ett registerhack eller använda ett tredjepartsprogram.
Sökvägen till snabbstartfältet (om ni vill komma åt katalogen) är följande under en standardinstallation:
C:\Documents and Settings\[ert_kontonamn]\Application Data\Microsoft\Internet Explorer\Quick LaunchTänk på att katalogen "Application Data" är dold så för att se den måste ni ha ställt in "Visa Dolda Filer och Kataloger" under fliken "Visa" i inställningar för katalogen på menyn "Verktyg". Ni kan även komma åt katalogen genom att högerklicka i snabbstartfältet och välja "Öppna Katalog" (eng. "Open Folder").
Etiketter:
quick launch,
snabbstartfältet,
tips,
windows xp
Internet: Intressant kunskap #1
Överblick
Netcraft är ett företag/organisation som övervakar webbsidor och övrig statistik för att sedan ge oss information som kan oss lite intressanta kunskaper.
Källa: news.netcraft.com 7/2-08
Antal webbsidor i världen som har registrerats
Visste ni att det existerar närmare 156 000 000 webbsidor i världen, och troligen otroligt många fler eftersom jag gissar att de flesta webbsidorna inte har någon statistiksinsamling för företaget som gjort analysen och sedan att det finns många personer som surfar på Internet med cookies och javascript avstängt i webbläsaren. Själv trodde jag att det fanns flera miljarder webbsidor men det kanske är alldeles för många?!
Källa: news.netcraft.com 7/2-08
Italiensk bank hackad - Phishing
Enligt sidan news.netcraft.com så har en Italiensk bank blivit hackad. Det som använts är en så kallad XSS (Cross Site Scripting) som visade en falsk inloggningssida i en iframe (s.k. flytande inline ram). Ramen hade dolts i koden med omkodade tecken så att inga misstankar skulle dyka upp. När man sedan försökte logga in skickades informationen först till en server i Taiwan och sedan till den riktiga bankens webbsida där personen sedan automatiskt blev inloggad.
Vet ni vad det värsta är? När en attack som denna utförs så hjälper det inte att bankens eller någon annan sida är skyddad med ett SSL Certifikat (HTTPS) - nyckellåset i Firefox och Internet Explorer som visar att informationen på webbsidan är säker och skickas i krypterad form. Allt sker bakom kulisserna!
Källa: news.netcraft.com 7/2-08
Förhindra phishing
Om ni vill använda ett smidigt verktyg i er webbläsare som kan förhindra phising webbsidor kan jag tipsa om Netcraft Toolbar. Den finns till både Firefox och Internet Explorer.
Netcraft är ett företag/organisation som övervakar webbsidor och övrig statistik för att sedan ge oss information som kan oss lite intressanta kunskaper.
Webbserver topp 5
- Apache ligger i topp som mest använda webbserver med ca 50% av marknaden.
- Inte långt efter kommer Microsofts servrar IIS, Windows 2003/2008 server som har runt 35%.
- Okända servrar innehar ca 7%
- Google har börjat komma upp i graderna sedan de skapat en egen webbserver för inte så länge sedan. Uppskattat marknadsvärde är 5%.
- Till sist har vi lighttpd som är ett populärt webbserver paket som är både säkert och flexibelt. Den har ca 1% av marknaden i dagens läge och det är väl mest privatpersoner som utvecklar på fritiden som använder denna server.
Källa: news.netcraft.com 7/2-08
Antal webbsidor i världen som har registrerats
Visste ni att det existerar närmare 156 000 000 webbsidor i världen, och troligen otroligt många fler eftersom jag gissar att de flesta webbsidorna inte har någon statistiksinsamling för företaget som gjort analysen och sedan att det finns många personer som surfar på Internet med cookies och javascript avstängt i webbläsaren. Själv trodde jag att det fanns flera miljarder webbsidor men det kanske är alldeles för många?!
Källa: news.netcraft.com 7/2-08
Italiensk bank hackad - Phishing
Enligt sidan news.netcraft.com så har en Italiensk bank blivit hackad. Det som använts är en så kallad XSS (Cross Site Scripting) som visade en falsk inloggningssida i en iframe (s.k. flytande inline ram). Ramen hade dolts i koden med omkodade tecken så att inga misstankar skulle dyka upp. När man sedan försökte logga in skickades informationen först till en server i Taiwan och sedan till den riktiga bankens webbsida där personen sedan automatiskt blev inloggad.
Vet ni vad det värsta är? När en attack som denna utförs så hjälper det inte att bankens eller någon annan sida är skyddad med ett SSL Certifikat (HTTPS) - nyckellåset i Firefox och Internet Explorer som visar att informationen på webbsidan är säker och skickas i krypterad form. Allt sker bakom kulisserna!
Källa: news.netcraft.com 7/2-08
Förhindra phishing
Om ni vill använda ett smidigt verktyg i er webbläsare som kan förhindra phising webbsidor kan jag tipsa om Netcraft Toolbar. Den finns till både Firefox och Internet Explorer.
Etiketter:
internet,
statistik,
webbserver,
webbsidor
05 februari, 2008
PHP/Nätverk: CIDR IP Summarize
För ungefär en månad sedan hjälpe jag någon på ett forum med ett PHP-skript som kan summera IP-adresser med hjälp av CIDR. Det är något som används i många routrar för att minska routing tabellerna och därmed minska belastningen på resurserna i routern vid eventuella beräkningar för olika nätverk. Kort sammanfattat kan man säga att flera nätverk representeras av en enda IP-adress.
Jag lyckades koda ihop en lösning i PHP ganska snabbt men koden har inte optimerats för bästa prestanda och några felhanteringsrutiner finns inte. I framtiden funderar jag på att försöka göra om skriptet till ett lite smidigare. Personen jag hjälpte ville bara ha en lösning och det fick han/eller hon som utlovat.
Kommentarerna och koden är på engelska för att öka tillgängligheten. Det är även enklare att porta koden om någon icke-svensk vill använda den. Jag har försökt kommentera det mesta men märker att det fattas på några ställen; vilka jag tycker är oviktiga för tillfället.
Uppdatering 9/10-08
Koden har fixats till och ger nu ett korrekt resultat. Efter grundlig felsökning kom jag fram till att man fick fel resultat ibland. Jag hade helt enkelt tänkt fel. Men nu fungerar koden som den ska. Nackdelen är dock att den fortfarande är rörig.
Mycke nöje och jag hoppas att koden är användbar för i alla fall några av er.
Jag lyckades koda ihop en lösning i PHP ganska snabbt men koden har inte optimerats för bästa prestanda och några felhanteringsrutiner finns inte. I framtiden funderar jag på att försöka göra om skriptet till ett lite smidigare. Personen jag hjälpte ville bara ha en lösning och det fick han/eller hon som utlovat.
Kommentarerna och koden är på engelska för att öka tillgängligheten. Det är även enklare att porta koden om någon icke-svensk vill använda den. Jag har försökt kommentera det mesta men märker att det fattas på några ställen; vilka jag tycker är oviktiga för tillfället.
Uppdatering 9/10-08
Koden har fixats till och ger nu ett korrekt resultat. Efter grundlig felsökning kom jag fram till att man fick fel resultat ibland. Jag hade helt enkelt tänkt fel. Men nu fungerar koden som den ska. Nackdelen är dock att den fortfarande är rörig.
<?php
/**
* Filename: cidr-summarize.php
* Owner: Waschman, waschman at gmail dot com, waschman.blogspot.com (swedish)
*/
/**
* Get single IP-address class
*
* @param string $ip
*/
function get_ip_class($ip)
{
$class = false;
$octet = explode('.', $ip);
if ($octet[0] <= 126) $class = 'A';
elseif ($octet[0] == 127) $class = 'Loopback';
elseif ($octet[0] <= 191) $class = 'B';
elseif ($octet[0] <= 223) $class = 'C';
elseif ($octet[0] <= 239) $class = 'Multicast';
else $class = 'Reserved';
return $class;
}
/**
* Decimal to network binary, preceeded with 0
*
* @param int $dec
* @return string
*/
function dec2netbin($dec)
{
$ip = str_pad((string)(decbin($dec)), 8, "0", STR_PAD_LEFT);
return $ip;
}
/**
* This returns 1 if both variables are 0 and 0 or 1 and 1.
* Regular binary AND returns 1 if both only are 1 and 1.
*
* OBS! Don't work on numbers, only a single 0 and 1!
*
* @param bit $a
* @param bit $b
* @return string (0 or 1)
*/
function special_binary_and($a, $b)
{
if ($a == $b) return '1'; else return '0';
//return $a & $b;
}
/**
* Summarizes IP-addresses into a single CIDR address with mask-suffix.
*
* IMPORTANT NOTE: This function needs to be optimized and cleaned. Correct
* error-checking should also be implemented. Code not for use in critical
* computer environments. Also note that all functions included in this package
* is required, except for the get_ip_class() function.
*
* @author Waschman, waschman at gmail dot com, waschman.blogspot.com (swedish)
* @copyright Free for everyone to use, but only if you keep author and copyright information intact.
* @version 0.8.0
* @param array $ip
* @param bool $debugon
* @return array
*/
function cidrsummarize($ips, $debugon=false)
{
//
// Code should be cleaned and optimized.
//
$count = count($ips);
$octet_diff = 0;
// Save all octets into an array
for ($pos=0; $pos<4; $pos++) {
for ($i=0; $i<$count; $i++) {
$octets[$i] = explode('.', $ips[$i], 4);
// Save first octet so we can check which octet differs from
// the others. Crucial when we want to know where to begin
// checking of binary digits.
if ($i==0)
{
$first_ip = $octets[$i][$pos];
echo $debugon?'<p>$firstip:'. $first_ip .'</p>':'';
continue;
}
// Find different octets
echo $debugon?'<p>IS '. $first_ip .' == '.
$octets[$i][$pos] .'? ':'';
if ($first_ip != $octets[$i][$pos]) {
echo $debugon?'no, that means we found an octet that is
different.</p>':'';
echo $debugon?'Debug: Position of octet that
differs is '. $i .':'. $pos:'';
$octet_diff = $pos;// Save position that is different
break 2;// Exit 2 for-loops
}
echo $debugon?'yes</p>':'';
}
}
//
// Set the number of bits so far to use as mask.
// This depends on which octet that differ.
//
$mask_bits = 0;
if ($octet_diff < 1) $mask_bits = 0;
elseif ($octet_diff < 2) $mask_bits = 8;
elseif ($octet_diff < 3) $mask_bits = 16;
else $mask_bits = 24;
//
// Starting main-loop for checking diffing bits.
//
$count = count($octets);
if ($debugon) print_r($octets);
for ($i=$octet_diff; $i<4; $i++) {
if ($i==$octet_diff)
{
$first_octet = $octets[0][$i];
}
// Go through the bits one by one in the diffing octet
$bit_index_all_ones = 0;
$final_octet = '';
for ($bit_pos=0; $bit_pos<8; $bit_pos++) {
echo $debugon?'<h2>Debug: '. $bit_pos .'</h2>':'';
for ($j=0; $j<$count; $j++) {
if ($j==0)
{
//continue;
}
else
{
//$next_octet = $octets[$j][$i];
}
$next_octet = $octets[$j][$i];
echo $debugon?'<p>Debug: First octet='. $first_octet
.', next octet='. $next_octet .'</p>'."\n":'';
// ANDing bits!
$a = dec2netbin($first_octet);
$b = dec2netbin($next_octet);
$anding = $a[$bit_pos] & $b[$bit_pos];
// When equal-bit becomes 0 then there's no more bits that are the same
$equal_bit = special_binary_and($a[$bit_pos], $b[$bit_pos]);
echo "BIT: $bit_pos\tAND: $anding\t";
echo "F: $first_octet\tN: $next_octet\n";
// Create the new octet
if ($equal_bit == 1 && $j == $count-1)
{
$final_octet .= $anding;
}
// No more matches... now we have the bits for the mask
if ($equal_bit == 0)
{
$add_mask_bits = $bit_pos;// create the mask
$final_octet = str_pad($final_octet, 8, '0', STR_PAD_RIGHT);
$cidr_octet = bindec($final_octet);
echo "<pre>\n\n\tFinal octet = $final_octet\n\tCIDR octet = $cidr_octet\n";
echo "\tBitmask: /". ($mask_bits + $add_mask_bits) ."\n\n</pre>";
break 3;// exit 3 for-loops
}
}// EndFor $j
}// EndFor $bit_pos
}
//
// Create the real cidr ip address from the information gathered
//
$cidr_ip = '';
for ($octet_idx=0; $octet_idx<4; $octet_idx++) {
if ($octet_idx==$octet_diff)
{
$cidr_ip .= $cidr_octet .'.';
}
elseif ($octet_idx > $octet_diff)
{
$cidr_ip .= 0 .'.';
}
else
{
$cidr_ip .= $octets[0][$octet_idx] .'.';
}
}
// Cut off trailing dot
$cidr_ip = substr($cidr_ip, 0, -1);
//
// Create the /bits mask
//
$mask_bits += $add_mask_bits;
//
// Create the binary mask
//
$mask_binary = '';
for ($i=1; $i<=32; $i++) {
if ($i <= $mask_bits)
{
if ($i % 8 == 0)
$mask_binary .= '1.';//add dot
else
$mask_binary .= '1';
}
else
{
if ($i % 8 == 0)
$mask_binary .= '0.';//add dot
else
$mask_binary .= '0';
}
}
// Cut off trailing dot
$mask_binary = substr($mask_binary, 0, -1);
//
// Create the dotted decimal mask
//
$mask_decimal_parts = explode('.', $mask_binary, 4);
$mask_dotted_decimal = bindec($mask_decimal_parts[0]) .'.';
$mask_dotted_decimal .= bindec($mask_decimal_parts[1]) .'.';
$mask_dotted_decimal .= bindec($mask_decimal_parts[2]) .'.';
$mask_dotted_decimal .= bindec($mask_decimal_parts[3]);
echo $debugon?'<p>Debug: Mask bits is: /'. $mask_bits .'<br>
IP-address is: '. $cidr_ip .'<br>
Subnetmask is: '. $mask_dotted_decimal .'<br>
Subnetmask in binary is: '. $mask_binary .'</p>':'';
$return_array['cidr_ip'] = $cidr_ip;
$return_array['mask_bits'] = $mask_bits;
$return_array['mask_dotted_decimal'] = $mask_dotted_decimal;
$return_array['mask_binary'] = $mask_binary;
return $return_array;
}
// *** Remove the comments from one of the blocks to test the summarization. ***
// My example :: Should summarize into 192.168.0.0/20
/*$ip[] = '192.168.1.0';
$ip[] = '192.168.2.0';
$ip[] = '192.168.3.0';
$ip[] = '192.168.4.0';
$ip[] = '192.168.5.0';
$ip[] = '192.168.6.0';
$ip[] = '192.168.7.0';
$ip[] = '192.168.8.0';
$ip[] = '192.168.9.0';
$ip[] = '192.168.10.0';*/
// My example :: Should summarize into 128.0.0.0/1
/*$ip[] = '191.168.4.0';
$ip[] = '192.168.5.0';
$ip[] = '193.168.6.0';
$ip[] = '194.168.7.0';*/
// Example addresses from your submitted examples - 82.205.128.0/17
/*$ip[] = '82.205.190.0';
$ip[] = '82.205.192.0';
$ip[] = '82.205.202.0';
$ip[] = '82.205.204.0';
$ip[] = '82.205.246.0';*/
// Example 203.88.64.0/19
/*$ip[] = '203.88.66.64';
$ip[] = '203.88.66.160';
$ip[] = '203.88.82.240';
$ip[] = '203.88.88.24';
$ip[] = '203.88.88.32';
$ip[] = '203.88.88.40';
$ip[] = '203.88.88.160';
$ip[] = '203.88.88.224';*/
// 217.0.0.0/8
/*$ip[] = '217.10.167.0';
$ip[] = '217.195.144.24';
$ip[] = '217.195.144.32';*/
// Example from CCNA3 v311
// Module 1.1.5 (Route Summarization #2)
//
// => 200.199.48.0/20
// Reality: 200.199.48.0/20
//
$ip[] = '200.199.48.0';
$ip[] = '200.199.52.0';
$ip[] = '200.199.56.0';
// Return an array with information about the summarization.
// You can use this in the URL if you want debugging: [this-file].php?debug=1
$use_debugging = (isset($_GET['debug'])) ? $_GET['debug'] : false;
$cidr_ip = cidrsummarize($ip, $use_debugging);
$buf = '';
$buf .= '<hr><p>Summarized IP-address: '. $cidr_ip['cidr_ip'] .'/'. $cidr_ip['mask_bits'] .'</p>';
$buf .= '<pre>';
foreach ($cidr_ip as $value) {
$buf .= $value .'<br/>'."\n";
}
$buf .= '</pre>';
file_put_contents('results.html', $buf);
?>Mycke nöje och jag hoppas att koden är användbar för i alla fall några av er.
31 januari, 2008
PHP: Arbeta med projekt i PHP
Förord
Tycker ni PHP är häftigt? Vill ni få tips om hur man kan arbeta med PHP som projekt? (t.ex en webbsida, forum, databas, e-handel ...) Har ni svårt att övertala er lärare, om ni nu går i skolan, att ni verkligen vill göra ett projekt med PHP? Då tror jag att denna artikeln kan vara bra för er. Jag ska nämligen tipsa om upplägg, kodning, arbete i grupp, säkerhet (inklusive skyddad kod) och liknande. Jag är ingen utbildad projektledare eller expert inom ämnet utan talar bara efter ren erfarenhet och mindre undersökningar.
Artikeln riktar sig mest till nybörjare men även till dig som redan arbetar i projekt men som vill se efter om det finns några tips att tänka på när man arbetar. Jag vill att så många som möjligt börjar använda PHP på riktigt och inte bara sitter och kodar små skript som sedan inte blir färdiga eller färdiga skript som skickas ut till diverse skriptarkiv. Jag tycker istället att man lär sig PHP ordentligt och sedan satsar på lite större skript efter att man programmerat grundläggande koder. Trevlig läsning!
Introduktion
Om man väjer att göra ett projekt med PHP som exempelvis ett diskussionsforum, statistikapplikation, nätverksövervakning, en webbsida för e-handel, rapporthantering, webbmail, en sökmotor, databashantering, databaslagring av information, fakturor och offerter, beställningar, eller liknande, så används nästan alltid samma arbetssätt och utvecklingmetoder. Men hur lyckas man med detta? Det finns många olika sätt att lösa problemen på och det är stor chans att ni får utveckla och komma på ett eget sätt för att åstadkomma ert projektmål, men sammanfattat kan jag säga att det egentligen inte finns ett "korrekt" sätt. Om ni använder ett sätt som fungerar com ni tycker är bra så tycker jag att ni borde fortsätta med det tills ni möter motgångar.
Det finns regler som helst bör följas när man arbetar med projekt, både stora som små, men om man utvecklar (i fortsättningen av artikeln kommer jag skriva utveckling som synonym till programmering) till exempel en tjänst eller en vanlig webbsida måste man även tänka på sådant som underlättar utvecklingen för samtliga parter i projektgruppen.
Upplägg
När ni har kommit på vad det är för projekt ni vill göra och tänkt igenom det noggrannt som kommer ni till hur ni ska lägga upp arbetet. Visst att ni redan har en projektplanering och en lista över sysslor och liknande men har ni tänkt på allt förarbete? När man ska arbeta med ett projekt inom utveckling är det viktigt att man först skriver upp minsta lilla krav. Detta hoppas jag ni redan har gjort i er kravlista för projektet. Detta är mycket viktigt eftersom när man väl börjar utveckla sitt projekt kan det vara knappt med tid och då är det bra att ha en kravlista med prioriteringar över vad som är viktigast för att projektet ska fungera. Har ni (eller du om du är ensam) de kunskaper som krävs för att nå projektmålet? När detta är igenomtänkt kan man sedan utesluta några punkter tills man känner att man har mera tid och man är säker på att man kommer nå sitt huvudmål nummer 1.
Det viktigaste man kan tänka på om man designar en typ av webbsida/webbtjänst är att skissa upp så mycket som möjligt på ett papper, måla modeller, använd t.ex Microsoft Visio för att visa ett händelseförlopp eller hur allt fungerar tillsammans. Webbdesignen bör skissas på några papper först så att alla får en klar bild över design och eventuell funktion. De som kodar i PHP kan diskuttera om huruvuda man ska använda redan befintliga skriptbibliotek, vilka tillägg som krävs i projektet (t.ex GD2, MySQL, eller kanske ReWriteRule i Apache). I ett projekt där man utvecklar en typ av webbsida så går nästan all tid åt till förarbete och forskning av lösningar och idéer. Mycket brainstorming samt hur mycket tid man har på sig inför varje delmoment. När allt detta sedan är klart är det bara att börja med utvecklingen, vilket inte brukar vara så svårt, eller ta så lång tid att utföra. Utvecklingen i ett projekt brukar ta cirka 20-30% av tiden men det beror givetvis även på vilket typ av projekt man tänker göra. Det är i alla fall ett estimerat värde ni kan använda i er utvecklingsprocess och förarbete.
Hur har ni tänkt dela upp arbetet?
Är ni en som designar webbsidan och designen, en som utvecklar koden i PHP, en som hanterar databasen eller filsystemet för lagring, eller är ni helt enkelt flera som arbetar inom samma område, och i så fall, arbetar ni på samma kod? Vet ni hur ni ska koppla ihop allt för att nå en slutgiltig produkt? I vilket fall kan det vara svårt att samarbeta om man inte har en väl utformad stategi för hur man ska dela upp arbetet. Det måste tydligt framgå vem som gör vad och att personen eller personerna i fråga verkligen gör det han eller hon har blivit tilldelad och inget annat.
När detta är uppklarat så kan det uppstå vissa problem. Om man är ensam så är problemen tydliga om man inte är mycket väl förberedd. Det kan vara svårt att utvärdera sin kod och fråga efter hjälp och stöd från andra plus att det är ett enormt jobb att ha koll på allt så att allt fungerar tillsammans. Det är inte omöjligt men definitivt en utmaning. Är man två eller fler så uppstår tydliga problem om någon part inte kan eller förstår den andra partens uppgift och lösningar. Ett exempel är att en person designar en webbsida (som inte kan PHP) där det sedan krävs PHP för att utföra specifika uppgifter på serversidan som sedan kommer visa ett resultat på sidan. Detta är det en annan person som arbetar med och en lösning arbetas fram. Problemet uppstår då detta slås samman; design (logik) med funktion. På sidan, tillsammans med HTML koden, visas även PHP som inte webbdesignern förstår. Om sedan designen kanske måste ändras eller om något liknande måste modifieras så kan han eller hon råka komma åt PHP koden och ändra- eller radera något av misstag. Koden kanske måste flyttas men det kan vara svårt om koden har anpassats för just den positionen (från t.ex en tabell till en annorlunda tabell eller div). Om inte webbdesignern förstår koden kan det bli krångligt plus att det blir rörigt och osmidigt med en massa PHP kod som är nästlat i HTML koden för webbsidan. För att lösa detta problem måste kan man börja med att separera logik från funktion, med andra ord "design från PHP". Detta kan göras med hjälp av ett så kallat "Template"-system eller mallar.
Hur fungerar ett "Template"-system eller mallar?
Det fungerar som så att på de platser på webbsidan där PHP måste användas för att visa information eller liknande (från t.ex ett register i en databas) ska visas eller upprepas kan man använda ett system som använder Nyckelord - speciella fraser. En sådan fras eller nyckelord kan t.ex se ut så här
Ett populärt system som utför detta heter Smarty men det finns även många andra. Själv utvecklade jag en egen så kallad "Template-engine" för ett projekt eftersom jag inte hade tid att lära mig Smarty. Googla eller läs om det på Wikipedia för att veta mer.
Hur man kan flera personer modifiera en och samma fil samtidigt och få det rätt?
Låt oss säga att ni är två eller fler inom samma område (t.ex PHP utvecklingen), sitter och uppdaterar kod i samma skript hemma eller på jobbet som de andra, och sedan laddar upp det till projektet på servern för att se om det fungerar. Vad tror ni händer, eller kan hända? Det värsta är att en annans lösning skrivs över med kod som inte fungerar som tänkt och viktig tid har gått till spillo. Det kan också vara att två stycken sitter med samma problem och kommer upp med olika lösningar. Eller så ändrar man kod på ett annat ställe än vad det från början var tänkt. Då är nu den stora frågan: hur har man kontroll över detta för att minska eventuella problem och tiden det tar att återställa allt om det blir fel?
Lösningen på problemet som används nästan överallt i nästan varenda projekt är CVS-hantering. CVS står för "Concurrent Versions System" och hjälper till under utvecklingsprocesser för att spåra eventuella ändringar gjorda av en eller flera medlemmar i projektgruppen eller från allmänheten. Man kan enkelt se vad som har ändrats och av vem. Det är också även enklare att utvärdera flera lösningar på ett problem. Googla på CVS eller kolla upp det på Wikipedida. Kan tipsa om programmet Subversion.
Kodning
Okej, så ni har ordnat så att ert arbete är ihopkopplat, men hur ser koden ut? Är den väl kommenterad eller snabbt ihopkodad? Används samma kodstil utöver hela projektet; även kallat för kodkonvention (viktigt om ni är fler än en inom ett och samma område)? Är koden säker (mer om detta lite senare i artikeln)? I vilket fall gäller det att tänka till ordentligt. Det är bra att tänka på att någon annan redan kanske har löst ett visst problem. Kolla upp det så ni slipper "... uppfinna hjulet på nytt".
Tänk även enligt en MVC (Model View Controller) modell - ett bra sätt att dela upp funktion (kod) i olika delar som är väldigt flexibelt. Googla eller sök på Wikipedia om ni vill veta mer.
Om två stycken inom samma område arbetar i en speciell fil och utvecklar på två olika sätt. Då får man oftast mycket svårläst kod och det kan faktiskt vara svårare att förstå vad koden utför om man inte är van vid just den kodstilen - kodkonventionen. För att undvika detta är det viktigt att komma överrens om en gemensam kodkonvention som används utöver hela projektet. Det blir enklare för alla i projektgruppen att läsa och förstå koden samt att man får bättre struktur. Här nedanför kommer exempel på tre olika kodkonventioner som är vanliga:
Exempel 1
Exempel 2
Exempel 3
Kan ni se skillnaderna? Jag hoppas ni gör det och att ni sedan bestämmer en gemensam kodkonvention som jag nämnde tidigare.
Arbeta i grupp
Grupparbete är väldigt vanligt när man arbetar med projektarbeten och det är många som tycker det är bra. Men det finns även de som aboslut inte tycker om att arbeta i grupp och då kan det vara svårt att kommunicera med parterna i gruppen eller komma fram till slutgiltiga beslut. Planeringen kan då bli svårt att få optimerad eftersom man kanske inte föra en diskussion med de involverade medlemmarna.
För att försöka lösa dessa problem måste man lära sig att börja tänka tillsammans - dela era åsikter med hela gruppen och lämna aldrig någon utanför. Ni är en grupp och då ska alla få ta del av all information som är nödvändig för att man ska nå projektmålet (eller deadline!). Man kan även i början hitta på aktiviteter någon dag eller två; kanske gå ut på stan och roa sig, umgås, prata och ta reda på lite information om varandra, eller ta en middag. Hitta gärna på minst en aktivitet som kräver samarbete två och två eller hela gruppen tillsammans.
När ni väl har gjort detta så kan ni sätta upp små delmål med projektet som måste nås för att klara av sin planering, om ni inte redan har gjort detta. När eller om ni når ett delmål får ni gärna belöna hela gruppen. Då är chansen större att man peppas inför nästa steg i utveckligen.
Handledning
Tala ofta med gruppens handledare för att ge statusrapporter och för att komma igång snabbt med arbetet i början. Om man vet att man måste visa upp sitt resultat så långt i arbetet för sin handledare brukar man få ett stadig flöde av arberskraft. Alla personer i gruppen gör sina delar för att sedan visa upp eller utvärderas inför nästa steg.
Om man talar med en handledare kan man också reda ut eventuella problem som gruppen har eller ställa lite mer allmänna frågor.
Projektrapport och loggbok
Detta kommer jag inte gå igenom eftersom ni redan borde kunna detta men det är en mycket viktig sak jag måste tipsa er om. Bara för att ni kan webbdesign, databashantering och PHP så är det inte säkert att er lärare/instruktör/chef kan detta. Förklara därför först väldigt ingående varför ni har valt att göra på vissa sätt, hur det fungerar och vad ni förväntar er av projektet. Ni behöver inte lära han/hon allt om PHP utan istället bara förklara enkla grunder och principer: till exempel att PHP används på serversidan för att utföra speciella viktiga uppgifter som t.ex hämta informationen ni har lagrat i en databas och sedan skicka detta till designmallen som senare omvandlas till en komplett webbsida. Det viktigaste är betoningen av Varför!
Säkerhet i PHP
När man arbetar med PHP är det även viktigt med säkerhet. Ofta när man arbetar med projekt (större arbeten) så brukar man skippa säkerheten i början för att sedan försöka implementera det när man har nått sitt mål. Detta gör man för att spara tid eftersom det alltid finns säkerhetsbrister som måste lösas, även om man redan har gjort klart projektet och implementerat viss säkerhet. Det uppstår hela tiden nya hot.
Om man börjar implementera säkerhetsrutiner när projektet är klart så är det lätt att man missar något litet som man tänkte på när man utvecklade just den koden, men som man har glömt vid projektets slut. En enkel lösning på detta är att antingen låta en tredje part - någon ni känner som har kunskaper inom PHP och säkerhet - få undersöka er kod. En annan lösning är att ni själva låter implementera säkerhet i koden vid varje delmål. Ni behöver inte skydda allt men använd i alla fall grundläggande säkerhet som att t.ex endast tillåta heltal om ni förväntar er ett heltal.
I framtiden kommer jag skriva några artiklar här på bloggen om säkerhet i PHP och vad man ska tänka på. Tills vidare kan ni söka efter det ämnet på Google.
Slutord
Så där... har ni lärt er något nytt eller har något klarnat nu som har legat dolt i er sinne? Jag hoppas i alla fall att ni har lärt er något som kan vara användbart i framtida projekt med PHP och att om ni arbetar i grupp har lärt er samarbete på högsta nivå.
Se inte problemen - se lösningarna. Om ni fastnar med något för länge så fortsätt med något annat istället. Om ni fastnar vi ett speciellt problem kan ni testa ta en paus och/eller börja tala med någon i er närnet om problemet så kanske ni till slut kommer fram till en lösning efter att sinnet har klarnat litegrann. Hjärnan måste också vila ibland.
Detta är en artikel om hur man "kan" arbeta med projekt i PHP och vad man bör tänka på under tiden och innan man väl har börjat. Själv har jag arbetat med ett par projekt, vilka två av dem har varit riktigt stora och mödosamma. Jag har arbetat både själv och i grupp och det har varit lärorikt - mycket lärorikt.
För att citera mig själv:
Källor
Smarty - Template Engine
CVS - Concurrent Versions System
Subversion - CVS Application (v1.4.6 datum 080201)
Wikipedia: CVS
MVC Programmering i PHP
Gymnasial utbildning - Projektarbete (skolverket)
Tycker ni PHP är häftigt? Vill ni få tips om hur man kan arbeta med PHP som projekt? (t.ex en webbsida, forum, databas, e-handel ...) Har ni svårt att övertala er lärare, om ni nu går i skolan, att ni verkligen vill göra ett projekt med PHP? Då tror jag att denna artikeln kan vara bra för er. Jag ska nämligen tipsa om upplägg, kodning, arbete i grupp, säkerhet (inklusive skyddad kod) och liknande. Jag är ingen utbildad projektledare eller expert inom ämnet utan talar bara efter ren erfarenhet och mindre undersökningar.
Artikeln riktar sig mest till nybörjare men även till dig som redan arbetar i projekt men som vill se efter om det finns några tips att tänka på när man arbetar. Jag vill att så många som möjligt börjar använda PHP på riktigt och inte bara sitter och kodar små skript som sedan inte blir färdiga eller färdiga skript som skickas ut till diverse skriptarkiv. Jag tycker istället att man lär sig PHP ordentligt och sedan satsar på lite större skript efter att man programmerat grundläggande koder. Trevlig läsning!
Introduktion
Om man väjer att göra ett projekt med PHP som exempelvis ett diskussionsforum, statistikapplikation, nätverksövervakning, en webbsida för e-handel, rapporthantering, webbmail, en sökmotor, databashantering, databaslagring av information, fakturor och offerter, beställningar, eller liknande, så används nästan alltid samma arbetssätt och utvecklingmetoder. Men hur lyckas man med detta? Det finns många olika sätt att lösa problemen på och det är stor chans att ni får utveckla och komma på ett eget sätt för att åstadkomma ert projektmål, men sammanfattat kan jag säga att det egentligen inte finns ett "korrekt" sätt. Om ni använder ett sätt som fungerar com ni tycker är bra så tycker jag att ni borde fortsätta med det tills ni möter motgångar.
Det finns regler som helst bör följas när man arbetar med projekt, både stora som små, men om man utvecklar (i fortsättningen av artikeln kommer jag skriva utveckling som synonym till programmering) till exempel en tjänst eller en vanlig webbsida måste man även tänka på sådant som underlättar utvecklingen för samtliga parter i projektgruppen.
Upplägg
När ni har kommit på vad det är för projekt ni vill göra och tänkt igenom det noggrannt som kommer ni till hur ni ska lägga upp arbetet. Visst att ni redan har en projektplanering och en lista över sysslor och liknande men har ni tänkt på allt förarbete? När man ska arbeta med ett projekt inom utveckling är det viktigt att man först skriver upp minsta lilla krav. Detta hoppas jag ni redan har gjort i er kravlista för projektet. Detta är mycket viktigt eftersom när man väl börjar utveckla sitt projekt kan det vara knappt med tid och då är det bra att ha en kravlista med prioriteringar över vad som är viktigast för att projektet ska fungera. Har ni (eller du om du är ensam) de kunskaper som krävs för att nå projektmålet? När detta är igenomtänkt kan man sedan utesluta några punkter tills man känner att man har mera tid och man är säker på att man kommer nå sitt huvudmål nummer 1.
Det viktigaste man kan tänka på om man designar en typ av webbsida/webbtjänst är att skissa upp så mycket som möjligt på ett papper, måla modeller, använd t.ex Microsoft Visio för att visa ett händelseförlopp eller hur allt fungerar tillsammans. Webbdesignen bör skissas på några papper först så att alla får en klar bild över design och eventuell funktion. De som kodar i PHP kan diskuttera om huruvuda man ska använda redan befintliga skriptbibliotek, vilka tillägg som krävs i projektet (t.ex GD2, MySQL, eller kanske ReWriteRule i Apache). I ett projekt där man utvecklar en typ av webbsida så går nästan all tid åt till förarbete och forskning av lösningar och idéer. Mycket brainstorming samt hur mycket tid man har på sig inför varje delmoment. När allt detta sedan är klart är det bara att börja med utvecklingen, vilket inte brukar vara så svårt, eller ta så lång tid att utföra. Utvecklingen i ett projekt brukar ta cirka 20-30% av tiden men det beror givetvis även på vilket typ av projekt man tänker göra. Det är i alla fall ett estimerat värde ni kan använda i er utvecklingsprocess och förarbete.
Hur har ni tänkt dela upp arbetet?
Är ni en som designar webbsidan och designen, en som utvecklar koden i PHP, en som hanterar databasen eller filsystemet för lagring, eller är ni helt enkelt flera som arbetar inom samma område, och i så fall, arbetar ni på samma kod? Vet ni hur ni ska koppla ihop allt för att nå en slutgiltig produkt? I vilket fall kan det vara svårt att samarbeta om man inte har en väl utformad stategi för hur man ska dela upp arbetet. Det måste tydligt framgå vem som gör vad och att personen eller personerna i fråga verkligen gör det han eller hon har blivit tilldelad och inget annat.
När detta är uppklarat så kan det uppstå vissa problem. Om man är ensam så är problemen tydliga om man inte är mycket väl förberedd. Det kan vara svårt att utvärdera sin kod och fråga efter hjälp och stöd från andra plus att det är ett enormt jobb att ha koll på allt så att allt fungerar tillsammans. Det är inte omöjligt men definitivt en utmaning. Är man två eller fler så uppstår tydliga problem om någon part inte kan eller förstår den andra partens uppgift och lösningar. Ett exempel är att en person designar en webbsida (som inte kan PHP) där det sedan krävs PHP för att utföra specifika uppgifter på serversidan som sedan kommer visa ett resultat på sidan. Detta är det en annan person som arbetar med och en lösning arbetas fram. Problemet uppstår då detta slås samman; design (logik) med funktion. På sidan, tillsammans med HTML koden, visas även PHP som inte webbdesignern förstår. Om sedan designen kanske måste ändras eller om något liknande måste modifieras så kan han eller hon råka komma åt PHP koden och ändra- eller radera något av misstag. Koden kanske måste flyttas men det kan vara svårt om koden har anpassats för just den positionen (från t.ex en tabell till en annorlunda tabell eller div). Om inte webbdesignern förstår koden kan det bli krångligt plus att det blir rörigt och osmidigt med en massa PHP kod som är nästlat i HTML koden för webbsidan. För att lösa detta problem måste kan man börja med att separera logik från funktion, med andra ord "design från PHP". Detta kan göras med hjälp av ett så kallat "Template"-system eller mallar.
Hur fungerar ett "Template"-system eller mallar?
Det fungerar som så att på de platser på webbsidan där PHP måste användas för att visa information eller liknande (från t.ex ett register i en databas) ska visas eller upprepas kan man använda ett system som använder Nyckelord - speciella fraser. En sådan fras eller nyckelord kan t.ex se ut så här
- {example_show_username}
- [example_show_username]
- |example_show_username|
- (detta var bara exempel)
- require_once(templatesystem.php)
- include_once(templatesystem.php)
Ett populärt system som utför detta heter Smarty men det finns även många andra. Själv utvecklade jag en egen så kallad "Template-engine" för ett projekt eftersom jag inte hade tid att lära mig Smarty. Googla eller läs om det på Wikipedia för att veta mer.
Hur man kan flera personer modifiera en och samma fil samtidigt och få det rätt?
Låt oss säga att ni är två eller fler inom samma område (t.ex PHP utvecklingen), sitter och uppdaterar kod i samma skript hemma eller på jobbet som de andra, och sedan laddar upp det till projektet på servern för att se om det fungerar. Vad tror ni händer, eller kan hända? Det värsta är att en annans lösning skrivs över med kod som inte fungerar som tänkt och viktig tid har gått till spillo. Det kan också vara att två stycken sitter med samma problem och kommer upp med olika lösningar. Eller så ändrar man kod på ett annat ställe än vad det från början var tänkt. Då är nu den stora frågan: hur har man kontroll över detta för att minska eventuella problem och tiden det tar att återställa allt om det blir fel?
Lösningen på problemet som används nästan överallt i nästan varenda projekt är CVS-hantering. CVS står för "Concurrent Versions System" och hjälper till under utvecklingsprocesser för att spåra eventuella ändringar gjorda av en eller flera medlemmar i projektgruppen eller från allmänheten. Man kan enkelt se vad som har ändrats och av vem. Det är också även enklare att utvärdera flera lösningar på ett problem. Googla på CVS eller kolla upp det på Wikipedida. Kan tipsa om programmet Subversion.
Kodning
Okej, så ni har ordnat så att ert arbete är ihopkopplat, men hur ser koden ut? Är den väl kommenterad eller snabbt ihopkodad? Används samma kodstil utöver hela projektet; även kallat för kodkonvention (viktigt om ni är fler än en inom ett och samma område)? Är koden säker (mer om detta lite senare i artikeln)? I vilket fall gäller det att tänka till ordentligt. Det är bra att tänka på att någon annan redan kanske har löst ett visst problem. Kolla upp det så ni slipper "... uppfinna hjulet på nytt".
Tänk även enligt en MVC (Model View Controller) modell - ett bra sätt att dela upp funktion (kod) i olika delar som är väldigt flexibelt. Googla eller sök på Wikipedia om ni vill veta mer.
Om två stycken inom samma område arbetar i en speciell fil och utvecklar på två olika sätt. Då får man oftast mycket svårläst kod och det kan faktiskt vara svårare att förstå vad koden utför om man inte är van vid just den kodstilen - kodkonventionen. För att undvika detta är det viktigt att komma överrens om en gemensam kodkonvention som används utöver hela projektet. Det blir enklare för alla i projektgruppen att läsa och förstå koden samt att man får bättre struktur. Här nedanför kommer exempel på tre olika kodkonventioner som är vanliga:
Exempel 1
<?php
// Check if bla bla is true and then do that bla bla
if (true) callFunctionHere();
else callOtherFunctionHere();
?>Exempel 2
<?php
if (true) {
callfunctionhere();// do something not so cool
} else {
callotherfunctionhere();//do something cool
}
?>Exempel 3
<?php
if (true)
{
// Do important thing
call_function_here();
}
else
{
// Not so very important
call_other_function_here();
}
?>Kan ni se skillnaderna? Jag hoppas ni gör det och att ni sedan bestämmer en gemensam kodkonvention som jag nämnde tidigare.
Arbeta i grupp
Grupparbete är väldigt vanligt när man arbetar med projektarbeten och det är många som tycker det är bra. Men det finns även de som aboslut inte tycker om att arbeta i grupp och då kan det vara svårt att kommunicera med parterna i gruppen eller komma fram till slutgiltiga beslut. Planeringen kan då bli svårt att få optimerad eftersom man kanske inte föra en diskussion med de involverade medlemmarna.
För att försöka lösa dessa problem måste man lära sig att börja tänka tillsammans - dela era åsikter med hela gruppen och lämna aldrig någon utanför. Ni är en grupp och då ska alla få ta del av all information som är nödvändig för att man ska nå projektmålet (eller deadline!). Man kan även i början hitta på aktiviteter någon dag eller två; kanske gå ut på stan och roa sig, umgås, prata och ta reda på lite information om varandra, eller ta en middag. Hitta gärna på minst en aktivitet som kräver samarbete två och två eller hela gruppen tillsammans.
När ni väl har gjort detta så kan ni sätta upp små delmål med projektet som måste nås för att klara av sin planering, om ni inte redan har gjort detta. När eller om ni når ett delmål får ni gärna belöna hela gruppen. Då är chansen större att man peppas inför nästa steg i utveckligen.
Handledning
Tala ofta med gruppens handledare för att ge statusrapporter och för att komma igång snabbt med arbetet i början. Om man vet att man måste visa upp sitt resultat så långt i arbetet för sin handledare brukar man få ett stadig flöde av arberskraft. Alla personer i gruppen gör sina delar för att sedan visa upp eller utvärderas inför nästa steg.
Om man talar med en handledare kan man också reda ut eventuella problem som gruppen har eller ställa lite mer allmänna frågor.
Projektrapport och loggbok
Detta kommer jag inte gå igenom eftersom ni redan borde kunna detta men det är en mycket viktig sak jag måste tipsa er om. Bara för att ni kan webbdesign, databashantering och PHP så är det inte säkert att er lärare/instruktör/chef kan detta. Förklara därför först väldigt ingående varför ni har valt att göra på vissa sätt, hur det fungerar och vad ni förväntar er av projektet. Ni behöver inte lära han/hon allt om PHP utan istället bara förklara enkla grunder och principer: till exempel att PHP används på serversidan för att utföra speciella viktiga uppgifter som t.ex hämta informationen ni har lagrat i en databas och sedan skicka detta till designmallen som senare omvandlas till en komplett webbsida. Det viktigaste är betoningen av Varför!
Säkerhet i PHP
När man arbetar med PHP är det även viktigt med säkerhet. Ofta när man arbetar med projekt (större arbeten) så brukar man skippa säkerheten i början för att sedan försöka implementera det när man har nått sitt mål. Detta gör man för att spara tid eftersom det alltid finns säkerhetsbrister som måste lösas, även om man redan har gjort klart projektet och implementerat viss säkerhet. Det uppstår hela tiden nya hot.
Om man börjar implementera säkerhetsrutiner när projektet är klart så är det lätt att man missar något litet som man tänkte på när man utvecklade just den koden, men som man har glömt vid projektets slut. En enkel lösning på detta är att antingen låta en tredje part - någon ni känner som har kunskaper inom PHP och säkerhet - få undersöka er kod. En annan lösning är att ni själva låter implementera säkerhet i koden vid varje delmål. Ni behöver inte skydda allt men använd i alla fall grundläggande säkerhet som att t.ex endast tillåta heltal om ni förväntar er ett heltal.
I framtiden kommer jag skriva några artiklar här på bloggen om säkerhet i PHP och vad man ska tänka på. Tills vidare kan ni söka efter det ämnet på Google.
Slutord
Så där... har ni lärt er något nytt eller har något klarnat nu som har legat dolt i er sinne? Jag hoppas i alla fall att ni har lärt er något som kan vara användbart i framtida projekt med PHP och att om ni arbetar i grupp har lärt er samarbete på högsta nivå.
Se inte problemen - se lösningarna. Om ni fastnar med något för länge så fortsätt med något annat istället. Om ni fastnar vi ett speciellt problem kan ni testa ta en paus och/eller börja tala med någon i er närnet om problemet så kanske ni till slut kommer fram till en lösning efter att sinnet har klarnat litegrann. Hjärnan måste också vila ibland.
Detta är en artikel om hur man "kan" arbeta med projekt i PHP och vad man bör tänka på under tiden och innan man väl har börjat. Själv har jag arbetat med ett par projekt, vilka två av dem har varit riktigt stora och mödosamma. Jag har arbetat både själv och i grupp och det har varit lärorikt - mycket lärorikt.
För att citera mig själv:
"Jag är ingen utbildad projektledare eller expert inom ämnet utan talar bara efter ren erfarenhet och mindre undersökningar. Jag skriver detta för att tipsa er alla och för att även tipsa och hjälpa mig själv vid framtida projekt i PHP. Jag vill dela med mig av min kunskap för att underlätta för andra."
Källor
Smarty - Template Engine
CVS - Concurrent Versions System
Subversion - CVS Application (v1.4.6 datum 080201)
Wikipedia: CVS
MVC Programmering i PHP
Gymnasial utbildning - Projektarbete (skolverket)
Etiketter:
cvs,
grupparbete,
mvc,
php,
programmering,
projekt,
projekt i php,
projektarbete,
smarty,
subversion,
utveckling,
webbdesign
29 januari, 2008
Virtuellt: Ubuntu 7.10 och VMWare Toolbox
Jag har märkt att det inte bara är jag som har problem med VMWare Tools för den nya versionen (releasen) av Ubuntu 7.1. Om man använder VMWare Workstation och väljer att installera VMWare Tools via menyn så får jag bara en massa konstiga tecken från skripten - alltså inte korrekta filer. Som tur är visste nog vår instruktör detta när han undervisade oss om VMWare i skolan. Där hade han en CD separat med VMWare Tools på.
Jag har filerna men har ingen plats att lägga dem för tillfället (server space required/server utrymme krävs). Båda filerna är cirka 40MB så jag kan tyvärr inte lägga upp dem på mitt Googlepages utrymme. Jag har en server men den får inte vara påslagen denna och nästa månad för vi ska kontrollera elräkningen, som jag är med och betalar, för att kolla hur mycket min IT utrustning drar i el.
I alla fall! Man använder paketet genom att köra en specifik fil i paketet som slutar på .pl. Jag har för mig att den heter vmware-install.pl.
Tillägg 29/1-08
Har laddat upp VMWare Tools som RPM- och TGZ format på Rapidshare. Länkarna har ni i slutet av inlägget.
Länkar till VMWare Tools
Observera att endast "tgz" har testats för Ubuntu 7.10 och inte "rpm"-paketet.
Rapidshare: vmware tools (tgz) - Testad
Rapidshare: vmware tools (rpm)
Jag har filerna men har ingen plats att lägga dem för tillfället (server space required/server utrymme krävs). Båda filerna är cirka 40MB så jag kan tyvärr inte lägga upp dem på mitt Googlepages utrymme. Jag har en server men den får inte vara påslagen denna och nästa månad för vi ska kontrollera elräkningen, som jag är med och betalar, för att kolla hur mycket min IT utrustning drar i el.
I alla fall! Man använder paketet genom att köra en specifik fil i paketet som slutar på .pl. Jag har för mig att den heter vmware-install.pl.
Tillägg 29/1-08
Har laddat upp VMWare Tools som RPM- och TGZ format på Rapidshare. Länkarna har ni i slutet av inlägget.
Länkar till VMWare Tools
Observera att endast "tgz" har testats för Ubuntu 7.10 och inte "rpm"-paketet.
Rapidshare: vmware tools (tgz) - Testad
Rapidshare: vmware tools (rpm)
Etiketter:
linux,
ubuntu,
ubuntu 7.1,
vmware,
vmware toolbox,
vmware tools
IT Hjälp: Experterna hjälper dig
Jag gissar att varje person som besöker min blogg någon gång har varit i behov av experthjälp eller i all fall någon form av hjälp inom IT. Det är egentligen bara bra eftersom det har visat sig att de då har sökt på webben efter en lösning och kommit hit för att försöka finna en. Men ibland kan det vara svårt att hitta guider och artiklar som löser ett specifikt problem och då är det bästa alternativet att vända sig till ett diskussionsforum.
Om man använder ett specifikt operativsystem (t.ex. Ubuntu Linux) och behöver hjälp så finns det specifika forum för just den sorten av hjälp. Om man programmerar i t.ex. PHP kan man vända sig till några av de många svenska diskussionsforum som har dedikerat sina webbsidor och community för just PHP programmerare.
Men det finns även ett enormt diskussionsforum som jag rekommenderar starkt - Experts-Exchange.com. Där finns alla möjliga sorters kategorier för dem som behöver hjälp. Det jag gillar med forumet är att om man registrerar ett konto och hjälper andra så får man betyg och poäng på sitt svar eller feedback. Det är bra för då tror jag att man sporrar sig själv lite mer för att ge bra svar med hög kvalitet. Ju högre poäng man får destor högre grad kan man nå. Enda nackdelen är väl att det är på engelska.
Hur man söker efter hjälp med Google
Om man vill hitta hyfsat relaterade lösningar med Google ska man använda flera sökord. Om det är en text man söker kan man använda citationstecken runt sökorden. Använd även minustecken för att exkludera sökord och plustecken för att förstärka några sökord som måste finnas med.
Källor
www.experts-exchange.com
www.phpsidan.nu
www.phpfreaks.com
IDG Forum
IT Proffs
Datormagazin forum
Om man använder ett specifikt operativsystem (t.ex. Ubuntu Linux) och behöver hjälp så finns det specifika forum för just den sorten av hjälp. Om man programmerar i t.ex. PHP kan man vända sig till några av de många svenska diskussionsforum som har dedikerat sina webbsidor och community för just PHP programmerare.
Men det finns även ett enormt diskussionsforum som jag rekommenderar starkt - Experts-Exchange.com. Där finns alla möjliga sorters kategorier för dem som behöver hjälp. Det jag gillar med forumet är att om man registrerar ett konto och hjälper andra så får man betyg och poäng på sitt svar eller feedback. Det är bra för då tror jag att man sporrar sig själv lite mer för att ge bra svar med hög kvalitet. Ju högre poäng man får destor högre grad kan man nå. Enda nackdelen är väl att det är på engelska.
Hur man söker efter hjälp med Google
Om man vill hitta hyfsat relaterade lösningar med Google ska man använda flera sökord. Om det är en text man söker kan man använda citationstecken runt sökorden. Använd även minustecken för att exkludera sökord och plustecken för att förstärka några sökord som måste finnas med.
Källor
www.experts-exchange.com
www.phpsidan.nu
www.phpfreaks.com
IDG Forum
IT Proffs
Datormagazin forum
Etiketter:
dator hjälp,
experthjälp,
it hjälp,
support
Video: Spela in vad du gör på skärmen
Introduktion
Har ni hört talas om att det finns program som kan läsa av och spara alla tangenter som trycks ner under en viss period? Det tror jag säkert att ni har för det kallas ofta för Keylogger och brukar ingå i diverse trojaner (trojanska hästar/elaka program). Men visste ni att det finns program som även kan spela in händelser på skärmen? Det har jag i alla fall vetat länge men aldrig haft tiden att testa det. Men nu har jag testkört ett program som är prefekt för den som skriver guider/howto's/artiklar och introduktioner samt hjälpmedel för de program man utvecklar.
Programmet som jag har testat heter Camtasia 5 (den senaste versionen i dagsläget) och det var riktigt enkelt att använda. Man kunde dra en ruta på skärmen där man ville att programmet skulle spela in allt som skedde. Sedan kunde man bearbeta sin inspelning samt lägga till ljud. Om man sedan ska visa resultatet för någon används flash eller en vanlig videofil. Dessa finns även i olika upplösningar för olika portabla enheter som till exempel iPod eller mobiltelefonen.
Programmen
Det var först efter att ha diskutterat med en klasskompis som jag fick reda på att Camtasia fanns. Han berättade att det var enkelt att hantera och väldigt kraftfullt för de eventuella ändamål man söker. Men det finns även ett annat program som är mer välkänt inom kretsen hos de som spelar dataspel - nämligen Fraps. Det används mestadels för att ta skärmbilder och spela in sekvenser när man spelar ett spel.
Slutord
Än så länge har jag inte hunnit testa alla egenskaper hos Camtasias senaste version men det ser mycket lovande ut.
Källor
Camtasias hemsida
Har ni hört talas om att det finns program som kan läsa av och spara alla tangenter som trycks ner under en viss period? Det tror jag säkert att ni har för det kallas ofta för Keylogger och brukar ingå i diverse trojaner (trojanska hästar/elaka program). Men visste ni att det finns program som även kan spela in händelser på skärmen? Det har jag i alla fall vetat länge men aldrig haft tiden att testa det. Men nu har jag testkört ett program som är prefekt för den som skriver guider/howto's/artiklar och introduktioner samt hjälpmedel för de program man utvecklar.
Programmet som jag har testat heter Camtasia 5 (den senaste versionen i dagsläget) och det var riktigt enkelt att använda. Man kunde dra en ruta på skärmen där man ville att programmet skulle spela in allt som skedde. Sedan kunde man bearbeta sin inspelning samt lägga till ljud. Om man sedan ska visa resultatet för någon används flash eller en vanlig videofil. Dessa finns även i olika upplösningar för olika portabla enheter som till exempel iPod eller mobiltelefonen.
Programmen
Det var först efter att ha diskutterat med en klasskompis som jag fick reda på att Camtasia fanns. Han berättade att det var enkelt att hantera och väldigt kraftfullt för de eventuella ändamål man söker. Men det finns även ett annat program som är mer välkänt inom kretsen hos de som spelar dataspel - nämligen Fraps. Det används mestadels för att ta skärmbilder och spela in sekvenser när man spelar ett spel.
Slutord
Än så länge har jag inte hunnit testa alla egenskaper hos Camtasias senaste version men det ser mycket lovande ut.
Källor
Camtasias hemsida
27 januari, 2008
Marknadsföring: Betala per klick
Förord
Visste ni att man kan använda olika tjänster på webben som faktiskt drar in pengar. Det är rena djungeln men det populäraste är "betala per klick" eller "pay per click (PPC)" som det också heter på engelska. Det är till för er som driver egna webbsidor med all möjlig information. Med hjälp av detta systemet kan man driva in lite pengar genom att visa annonser på sina webbsidor med relaterade annonser. Det är helt enkelt annonser som visar information som är relativt till det ni skriver om på webbsidan. Jag ska nu försöka vägleda er till hur man börjar tjäna lite pengar på fritiden.
Introduktion
Fenomenet inom marknadsföring som ger publicister kosing i fickan när man sitter hemma eller på jobbet och designar webbsidor kallas för "Betala per klick". Det finns flera men detta är det allra vanligaste.
Hur det går till (i stora drag)
Jo, det går till så att Googles "robot" söker igenom er webbsida efter olika nyckelord och ser efter om webbsidan är okej - alltså inte spammad med populära ord och liknande i syfte att tjäna pengar. Rubriker kontrolleras med innehållet på sidan och om roboten hittar någorlunda relaterat material visas en annons från Google på webbsidan.
Annonserna bygger alltså på att webbsidorna är korrekt uppbyggda och dessutom att de uppdateras (helst) dagligen med nya texter och ny information. Det bästa är om man har en webbsida som håller sig till ett specifikt område - exempelvis fiske, medicin, sport, IT med mera. Då är det enklare för roboten att visa relaterat material på webbsidan.
Annonserna bygger mest på nyckelord så det är det man ska rikta in sig på om man är seriös. Om några utvalda nyckelord hittas på er webbsida så är det mycket bra. Då är frågan bara hur mycket huvudannonsören är villig att betala för ett riktigt och godkänt klick på annonsen.
Det finns listor på webben som folk har lagt upp där man kan se vad olika nyckelord är värda per klick. Det högsta priset per klick jag har sett är 50$ och det är cirka 320kr i dagens läge. Men tro inte att man bara kan kopiera och klista in massa sådana nyckelord på webbsidan och tro att man kommer tjäna otroligt mycket. Google är smarta så de har kontroller som kontrollerar om er sida är autentisk/verklig/ospammad samt hur mycket trafik ni får till sidan. Jag tror att man måste ha cirka 1000-5000 sidvisningar per dag om man ska ha chansen att få till det.
Men hur gör jag som inte har en så populär webbsida?
Försök att skapa en seriös webbsida om kanske tre olika ämnen eller relaterade ämnen. Skriv mycket och ofta. Lägg även till webbsidorna till olika sökmotorer på webben för att öka besökarantalet till sidorna. Ta sedan reda på så mycket information ni kan om Adsense och hur allt går till, hur en sida får se ut, vilket innehåll som tillåts med mera. Kolla upp listor på webben över högsta priset för "betala per klick", eller använd program som gör detta automatiskt.
Ett litet hjälpmedel
Jag har (bara) läst om ett program som heter Keyword Elite som används för att analysera annonser, Google AdWords, nyckelord och mycket mer, och sedan skapa avancerade rapporter över ekonomisk information som ni sedan kan använda, på rätt sätt, så att ni kan tjäna mer pengar på era annonser.
Jag använde Googles sökmotor och sökte på följande: intitle:"index of" keyword elite och hittade programmet som en ZIP-fil. Jag använder inte det eftersom jag inte har tid med sådant, så om ni vill testa det är det helt upp till er om ni vill använda det eller inte.
Om programmet fungerar för er får ni gärna höra av er om det för personligen så tror jag inte att det fungerar. För om det skulle göra det skulle väl varenda människa på planeten hålla på med sådant, om de bara har de rätta kunskaperna. Sedan skulle det väl skrivas om det i tidningen eller nåt.
Slutord
Var seriös och studera ämnet "betala per klick" noga innan ni börjar med det. Chanserna ökar betydligt om ni har en webbsida med mycket trafik och om ni samtidigt skriver om något som är hög prioritet för huvudannonsöer. Själv satsar jag inte så mycket på detta men det är kul och se statistiken bland alla företag på webben.
Visste ni att man kan använda olika tjänster på webben som faktiskt drar in pengar. Det är rena djungeln men det populäraste är "betala per klick" eller "pay per click (PPC)" som det också heter på engelska. Det är till för er som driver egna webbsidor med all möjlig information. Med hjälp av detta systemet kan man driva in lite pengar genom att visa annonser på sina webbsidor med relaterade annonser. Det är helt enkelt annonser som visar information som är relativt till det ni skriver om på webbsidan. Jag ska nu försöka vägleda er till hur man börjar tjäna lite pengar på fritiden.
Introduktion
Fenomenet inom marknadsföring som ger publicister kosing i fickan när man sitter hemma eller på jobbet och designar webbsidor kallas för "Betala per klick". Det finns flera men detta är det allra vanligaste.
Hur det går till (i stora drag)
- Ni designar webbsidor och skriver artiklar eller liknande på webben.
- Ni gör en anmälan till exempelvis Googles tjänst Adsense.
- Skapar en enkel kod som sedan klistras in på er webbsida.
- Ni klistrar in koden på webbsidan.
- Om man nu surfar till webbsidan ser man efter några minuter en annons med relaterat innehåll.
- Om någon klickar på annonsen får ni en liten andel av pengarna som huvudannonsören har valt att betala per klick. Det brukar vara cirka 20-40% av det totala värdet.
- Uppdatera webbsidan ofta och logga sedan in på Google Adsense för att skapa en rapport över era inkomster.
- Har ni tur så har ni nu tjänat lite (eller mycket) pengar. Det är svårt om man är privatperson men om man är ett företag som accepterar andras annonser på sin egna företagswebbsida så är det nog lite lättare.
- Klart!
Jo, det går till så att Googles "robot" söker igenom er webbsida efter olika nyckelord och ser efter om webbsidan är okej - alltså inte spammad med populära ord och liknande i syfte att tjäna pengar. Rubriker kontrolleras med innehållet på sidan och om roboten hittar någorlunda relaterat material visas en annons från Google på webbsidan.
Annonserna bygger alltså på att webbsidorna är korrekt uppbyggda och dessutom att de uppdateras (helst) dagligen med nya texter och ny information. Det bästa är om man har en webbsida som håller sig till ett specifikt område - exempelvis fiske, medicin, sport, IT med mera. Då är det enklare för roboten att visa relaterat material på webbsidan.
Annonserna bygger mest på nyckelord så det är det man ska rikta in sig på om man är seriös. Om några utvalda nyckelord hittas på er webbsida så är det mycket bra. Då är frågan bara hur mycket huvudannonsören är villig att betala för ett riktigt och godkänt klick på annonsen.
Det finns listor på webben som folk har lagt upp där man kan se vad olika nyckelord är värda per klick. Det högsta priset per klick jag har sett är 50$ och det är cirka 320kr i dagens läge. Men tro inte att man bara kan kopiera och klista in massa sådana nyckelord på webbsidan och tro att man kommer tjäna otroligt mycket. Google är smarta så de har kontroller som kontrollerar om er sida är autentisk/verklig/ospammad samt hur mycket trafik ni får till sidan. Jag tror att man måste ha cirka 1000-5000 sidvisningar per dag om man ska ha chansen att få till det.
Men hur gör jag som inte har en så populär webbsida?
Försök att skapa en seriös webbsida om kanske tre olika ämnen eller relaterade ämnen. Skriv mycket och ofta. Lägg även till webbsidorna till olika sökmotorer på webben för att öka besökarantalet till sidorna. Ta sedan reda på så mycket information ni kan om Adsense och hur allt går till, hur en sida får se ut, vilket innehåll som tillåts med mera. Kolla upp listor på webben över högsta priset för "betala per klick", eller använd program som gör detta automatiskt.
Ett litet hjälpmedel
Jag har (bara) läst om ett program som heter Keyword Elite som används för att analysera annonser, Google AdWords, nyckelord och mycket mer, och sedan skapa avancerade rapporter över ekonomisk information som ni sedan kan använda, på rätt sätt, så att ni kan tjäna mer pengar på era annonser.
Jag använde Googles sökmotor och sökte på följande: intitle:"index of" keyword elite och hittade programmet som en ZIP-fil. Jag använder inte det eftersom jag inte har tid med sådant, så om ni vill testa det är det helt upp till er om ni vill använda det eller inte.
Om programmet fungerar för er får ni gärna höra av er om det för personligen så tror jag inte att det fungerar. För om det skulle göra det skulle väl varenda människa på planeten hålla på med sådant, om de bara har de rätta kunskaperna. Sedan skulle det väl skrivas om det i tidningen eller nåt.
Slutord
Var seriös och studera ämnet "betala per klick" noga innan ni börjar med det. Chanserna ökar betydligt om ni har en webbsida med mycket trafik och om ni samtidigt skriver om något som är hög prioritet för huvudannonsöer. Själv satsar jag inte så mycket på detta men det är kul och se statistiken bland alla företag på webben.
Etiketter:
adsense,
betala per klick,
marknadsföring,
pay per click,
seriösa webbsidor,
tjäna pengar
Optimering: Rensa skrivbordet
Förord
Detta är ett mycket kort artikel om hur man kan få ökad prestanda på datorn när den startar upp. Jag skriver detta eftersom jag på senaste tiden har stött på jättemånga som fullkomligt skiter i vad de sparar ner på skrivbordet i datorn. Sedan, efter ett tag, gnäller de på att det går segt att starta upp och logga in. Här kommer en möjlig lösning på det lilla problemet.
Då börjar vi
Skrivbordet ska man försöka hålla så rent som möjligt. Men varför kanske du frågar? Jo för att när datorn startar upp och när man loggar in så måste först alla ikoner och filer (i fortsättningen kallar jag dessa endast för ikoner) räknas och storleken på dem ska beräknas och laddas in i minnet. Om man har foton, stora dokument (PDF, DOC) och- eller musikfiler liggandes så måste allt laddas in i minnet innan du kan börja använda datorn. Några av de filer jag precis nämnde brukar ligga på några Megabyte (MB) och då tar det sin lilla tid.
Bakgrundsprogram
Sedan att det finns program som startar och körs i bakgrunden när man loggar in är en helt annan historia som jag inte tänker beskriva här och nu. Men kolla gärna upp detta på Google eftersom ni kan tjäna ganska mycket prestanda på det om ni stänger av rätt program, eller åtminståne stänger av onödiga program.
Undvik följande på skrivbordet
Gör så här istället
En jättebra (Windows) lösning på problemet om ni fortfarande vill komma åt alla filer på ett enkelt sätt från skrivbordet är att skapa genvägar. För er som inte vet hur man gör det kommer här en kort guide.
Skapa genvägar
Det var faktiskt allt ni behöver testa för att göra er dator lite snabbare när den startar upp. Jag nämnde i artikeln att det finns andra sätt som man också kan testa på men de kommer jag inte gå ingenom här. Hoppas ni märker någon skillnad!
Detta är ett mycket kort artikel om hur man kan få ökad prestanda på datorn när den startar upp. Jag skriver detta eftersom jag på senaste tiden har stött på jättemånga som fullkomligt skiter i vad de sparar ner på skrivbordet i datorn. Sedan, efter ett tag, gnäller de på att det går segt att starta upp och logga in. Här kommer en möjlig lösning på det lilla problemet.
Då börjar vi
Skrivbordet ska man försöka hålla så rent som möjligt. Men varför kanske du frågar? Jo för att när datorn startar upp och när man loggar in så måste först alla ikoner och filer (i fortsättningen kallar jag dessa endast för ikoner) räknas och storleken på dem ska beräknas och laddas in i minnet. Om man har foton, stora dokument (PDF, DOC) och- eller musikfiler liggandes så måste allt laddas in i minnet innan du kan börja använda datorn. Några av de filer jag precis nämnde brukar ligga på några Megabyte (MB) och då tar det sin lilla tid.
Bakgrundsprogram
Sedan att det finns program som startar och körs i bakgrunden när man loggar in är en helt annan historia som jag inte tänker beskriva här och nu. Men kolla gärna upp detta på Google eftersom ni kan tjäna ganska mycket prestanda på det om ni stänger av rätt program, eller åtminståne stänger av onödiga program.
Undvik följande på skrivbordet
- Högupplösta bilder (speciellt BMP, JPG).
- Dokument.
- Musikfiler (WAV, MP3, OGG, ACC, WMA).
- Mappar/Kataloger med filer inuti (största boven!).
- Andra eventuella filer som tar upp stor plats.
Gör så här istället
En jättebra (Windows) lösning på problemet om ni fortfarande vill komma åt alla filer på ett enkelt sätt från skrivbordet är att skapa genvägar. För er som inte vet hur man gör det kommer här en kort guide.
Skapa genvägar
- Först, skapa en mapp någonstans på hårddisken. Kan till exempel vara i mappen Mina Dokument.
- Döp den till något bra som sammanfattar innehållet (t.ex BilderBåten0704).
- Högerklicka på den och välj Kopiera.
- Gå nu till skrivbordet och högerklicka på valfritt ställe där det är fritt från ikoner.
- Välj Klista in genväg.
- Nu har det skapats en genväg till mappen BilderBåten0704 på skrivbordet.
- Notera att det dyker upp en liten fyrkantig, kvadratisk, vit liten ruta på ikonen med en liten böjd pil. Detta betyder att det är en genväg.
- Glöm inte att flytta alla ikoner som tar mycket plats till en mapp, och skapa sedan genvägar.
Det var faktiskt allt ni behöver testa för att göra er dator lite snabbare när den startar upp. Jag nämnde i artikeln att det finns andra sätt som man också kan testa på men de kommer jag inte gå ingenom här. Hoppas ni märker någon skillnad!
Etiketter:
optimering,
rensa skrivbordet,
seg dator,
snabbare start,
windows
22 januari, 2008
Cisco: Avbryta ping och traceroute
Nu ska jag förklara hur man avbryter en ping eller traceroute på en Cisco router/switch
Om ni har använt kommandot #traceroute [ip-here] och det inte fungerar, får ni vänta tills den har sökt 30 gånger. Det orkar man inte vänta på. Eller är det så att ni har använt kommandot #ping [ip-here] repeat 100000 för att felsöka i nätverket (exv. EIGRP Load Balancing!) men inte kan avbryta pingen...
Här kommer lösningen: Tryck och håll inne CTRL+SHIFT+6 (två gåner för säkerhetsskull). Det är denna så kallade "Escape sequence" Cisco's IOS meddelar oss att vi kan använda men det är lite svårt när inte många vet hur den är.
Om ni har använt kommandot #traceroute [ip-here] och det inte fungerar, får ni vänta tills den har sökt 30 gånger. Det orkar man inte vänta på. Eller är det så att ni har använt kommandot #ping [ip-here] repeat 100000 för att felsöka i nätverket (exv. EIGRP Load Balancing!) men inte kan avbryta pingen...
Här kommer lösningen: Tryck och håll inne CTRL+SHIFT+6 (två gåner för säkerhetsskull). Det är denna så kallade "Escape sequence" Cisco's IOS meddelar oss att vi kan använda men det är lite svårt när inte många vet hur den är.
Etiketter:
cisco,
escape sequence,
nätverk,
ping,
router,
switch,
traceroute
15 januari, 2008
Programmering: Tjäna pengar som programmerare
Freelancer // Programmerare
Är du en programmerare som arbetar självständigt och vill tjäna lite extra snabba pengar? Då har jag några tips för dig här.
Besök då sidorna här nedan för mer information:
www.guru.com
www.getacoder.com
www.elance.com
www.getafreelancer.com
www.rentacoder.com
www.phpsidan.nu - Förmedling av jobb eller tjänster inom PHP utveckling
Jag har inte besökt alla men har hört talas om dem. Det går till så att man på något sätt ger bud eller registrerar sig och så får företag och andra som behöver er kompetens söka i ett stort register. Det kan också vara sidor där ni läser om folk som behöver hjälp och kompetens där ni sedan kan anmäla er. Alla sidorna strävar efter samma mål (tror jag) vilket är att både kund och utvecklare är nöjda när arbetet är slutfört. Det kan vara allt från stora projekt till bara någon simpel kod som man kan fixa över en natt eller två.
Här kommer även lite tips för dig som är självständig programmerare
Är du en programmerare som arbetar självständigt och vill tjäna lite extra snabba pengar? Då har jag några tips för dig här.
Besök då sidorna här nedan för mer information:
www.guru.com
www.getacoder.com
www.elance.com
www.getafreelancer.com
www.rentacoder.com
www.phpsidan.nu - Förmedling av jobb eller tjänster inom PHP utveckling
Jag har inte besökt alla men har hört talas om dem. Det går till så att man på något sätt ger bud eller registrerar sig och så får företag och andra som behöver er kompetens söka i ett stort register. Det kan också vara sidor där ni läser om folk som behöver hjälp och kompetens där ni sedan kan anmäla er. Alla sidorna strävar efter samma mål (tror jag) vilket är att både kund och utvecklare är nöjda när arbetet är slutfört. Det kan vara allt från stora projekt till bara någon simpel kod som man kan fixa över en natt eller två.
Här kommer även lite tips för dig som är självständig programmerare
- Skaffa ett gott ryckte genom många vänner och kontakter. Nästan som ett socialt nätverk. Då ökar chanserna för uppgifter och kanske t.o.m. jobb.
- Våga förhandla om priset men bara efter att du har fått reda på hela uppgiften.
- Kom noga överens om priset så att inga missförstånd uppstår när allt är färdigt.
- Dokumentera gärna tidigare arbeten och projekt som referenser om någon vill se vad du har åstadkommit hittills.
- Uppträdande är viktigt - även om det är via epost, telefon eller personligen. Tänk på det.
- Var extra tydlig för din kund/arbetsgivare om det är ett större projekt. Ge statusrapporter ofta och visa även dittills utfört arbete för att få han/hon att tro på ditt jobb och ryckte.
- Spara allt arbete och strukturera din kod så du kan återanvända koden vi ett senare tillfälle. Kanske t.o.m. i ett senare projekt?
Etiketter:
freelancer,
jobb,
programmerare,
programmering,
tjäna pengar
12 januari, 2008
Webbutveckling: RTEPad - Rich Text Editor online
Rich Text Editor
Jag har funnit en perfekt WYSIWYG och RTE vid namn RTEPad som passar utmärkt om ni vill ha fler utökade funktioner till ert forum, gästbok eller mejlsystem. Fungerar som Microsoft Word och OpenOffice.org samt att det har en del funktioner från Adobe Dreamweaver.
Källa
www.rtepad.com
Jag har funnit en perfekt WYSIWYG och RTE vid namn RTEPad som passar utmärkt om ni vill ha fler utökade funktioner till ert forum, gästbok eller mejlsystem. Fungerar som Microsoft Word och OpenOffice.org samt att det har en del funktioner från Adobe Dreamweaver.
Källa
www.rtepad.com
Etiketter:
rich text editor,
rte,
rtepad,
webbutveckling,
wysiwyg
09 januari, 2008
Nätverk: Köra Cisco IOS på dator
Dynamips - Programvara för Cisco IOS i datorn
Idag tänker jag nämna att det finns en gratis programvara som används för att köra operativsystemet IOS, som Cisco routrar och switchar använder, på sin egna dator i hemmet. Med hjälp av detta behöver man inte köpa dyr eller begangad utrustning för egna laborationer utanför studierna eller arbetet.
Programmet heter Dynamips och låter dig ladda in binärfilerna för IOS av många olika router typer. Bland andra c2600, c7200, c3600 och många fler. Det är helt otroligt att man har lyckats simulera det på datorn så Packet Tracer (<= v4.1) och alla andra simulatorer kan ju ta och slänga sig i väggen. Det bästa av allt är att det är gratis och fungerar både för Linux och Windows. Men det tar inte slut här... man kan även simulera routrarna över det egna riktiga fysiska nätverket. Allt som behövs är två datorer och Dynamips installerat och konfigurerar på båda för att få det att fungera. Men en sak man måste tänka på är att de virtuella routrarna inte alls är lika snabba som de riktiga så man kan inte direkt använda dem för allt för tunga arbetsuppgifter. Ett bra användningsområde är väl om man vill felsöka i riktig miljö eller om man vill försöka hacka sitt egna nätverk i utbildningssysfte för att förbättra säkerheten. Ni bestämmer själva. * Har inte testat konfigurera en switch ännu med Dynamips så om ni vet om det går får ni gärna lämna en kommentar om det. Då menar jag naturligtvis en konfiguration med hjälp av ett switch IOS som binärfil.
Dynamips är textbaserat men det finns en grafisk nätverksdesignprogramvara som heter GNS3. Det är fortfarande i beta stadiet men fungerar hyfsat bra.
Här kommer några länkar för att hjälpa er litegrann
http://7200emu.hacki.at
http://www.dynagen.org
Idag tänker jag nämna att det finns en gratis programvara som används för att köra operativsystemet IOS, som Cisco routrar och switchar använder, på sin egna dator i hemmet. Med hjälp av detta behöver man inte köpa dyr eller begangad utrustning för egna laborationer utanför studierna eller arbetet.
Programmet heter Dynamips och låter dig ladda in binärfilerna för IOS av många olika router typer. Bland andra c2600, c7200, c3600 och många fler. Det är helt otroligt att man har lyckats simulera det på datorn så Packet Tracer (<= v4.1) och alla andra simulatorer kan ju ta och slänga sig i väggen. Det bästa av allt är att det är gratis och fungerar både för Linux och Windows. Men det tar inte slut här... man kan även simulera routrarna över det egna riktiga fysiska nätverket. Allt som behövs är två datorer och Dynamips installerat och konfigurerar på båda för att få det att fungera. Men en sak man måste tänka på är att de virtuella routrarna inte alls är lika snabba som de riktiga så man kan inte direkt använda dem för allt för tunga arbetsuppgifter. Ett bra användningsområde är väl om man vill felsöka i riktig miljö eller om man vill försöka hacka sitt egna nätverk i utbildningssysfte för att förbättra säkerheten. Ni bestämmer själva. * Har inte testat konfigurera en switch ännu med Dynamips så om ni vet om det går får ni gärna lämna en kommentar om det. Då menar jag naturligtvis en konfiguration med hjälp av ett switch IOS som binärfil.
Dynamips är textbaserat men det finns en grafisk nätverksdesignprogramvara som heter GNS3. Det är fortfarande i beta stadiet men fungerar hyfsat bra.
Här kommer några länkar för att hjälpa er litegrann
http://7200emu.hacki.at
http://www.dynagen.org
Etiketter:
cisco,
dynamips,
GNS3,
hacka nätverk,
ios,
köra ios på dator,
nätverk,
virtuellt IOS
Prenumerera på:
Inlägg (Atom)