Latest Blog News: Διαβάζετε πάντα και τα ΣΧΟΛΙΑ των αναρτήσεων!

Πως εμφανίζονται μόνο οι τίτλοι των αναρτήσεων στις Ετικέτες?


Print Friendly and PDFPrintPrint Friendly and PDFPDF

Πως γίνεται να εμφανίζονται μόνο οι τίτλοι των αναρτήσεων όταν πατάω σε μια ετικέτα?
Είναι πολύ εύκολο να το βάλετε και διευκολύνει πολύ τους επισκέπτες σας.Πατήστε εσείς εδώ για να δείτε.Δεν είναι καλύτερα που εμφανίζονται μόνο οι τίτλοι και όχι και αυτά που γράφουν.Πάμε να σας δείξω πως θα το βάλετε.

Ακολουθήστε με προσοχή τα παρακάτω βήματα:

1. Σύνδεση στον blogger account σας
2. Πανόπτης>Διάταξη>Επεξεργασία html
3. Τσέκαρε το τετραγωνάκι που λέει "Επέκταση προτύπων γραφικών στοιχείων"
4. Με τη βοήθεια του Ctrl + F βρες τους παρακάτω κώδικες:

<b:include data='post' name='post'/>

5.Τώρα αντικατέστησε τον παραπάνω με τον παρακάτω κώδικα:

<b:if cond='data:blog.homepageUrl
!= data:blog.url'>

<b:if cond='data:blog.pageType != "item"'>

<h3 class='post-title'><a expr:href='data:post.url'><data:post.title/></a></h3>

<b:else/>

<b:include data='post' name='post'/>

</b:if>

<b:else/>

<b:include data='post' name='post'/>

</b:if>

6. Κάντε προεπισκόπηση να δείτε αν θα σας το δεχτεί και αν σας το δεχτεί κάντε αποθήκευση.Αν όχι κάτι έχετε κάνει λάθος.

Τώρα πατήστε πάνω σε μια ετικέτα σας να δείτε το αποτέλεσμα.

Άφησέ μου ένα σχόλιο για να ξέρω αν σου βγήκε ή όχι.



ΑΝΑΔΗΜΟΣΙΕΥΣΗ ΑΠΟ 27-10-2009


Διέγραψε το "Εμφάνιση όλων των αναρτήσεων" από τις Ετικέτες


Print Friendly and PDFPrintPrint Friendly and PDFPDF


Όταν πατάτε πάνω σε μια ετικέτα(=label) δεν σας εμφανίζει ένα παραθυράκι που λέει "Εμφάνιση όλων των αναρτήσεων στην ετικέτα..."?
Όπως φαίνεται στη εικόνα.
Αν θέλετε να το διαγράψετε αυτό και να μην φαίνεται ακολουθήστε τα παρακάτω βήματα:

1. Σύνδεση στον λογαριασμό σας
2. Πανόπτης>>Διάταξη>>Επεξεργασία html>>Επέκταση προτύπων γραφικών στοιχείων
3. Βρες τους παρακάτω κώδικες:


<b:includable id='status-message'>
<b:if cond='data:navMessage'>
<div class='status-msg-wrap'>
<div class='status-msg-body'>
<data:navMessage/>
</div>
<div class='status-msg-border'>
<div class='status-msg-bg'>
<div class='status-msg-hidden'><data:navMessage/></div>
</div>
</div>
</div>
<div style='clear: both;'/>
</b:if>
</b:includable>


4. Αντικατέστησε τους παραπάνω κώδικες με τους παρακάτω:


<b:includable id='status-message'>
<b:if cond='data:navMessage'>
<div>
</div>
<div style='clear: both;'/>
</b:if>
</b:includable>


5.Αποθηκεύστε το πρότυπό σας κι είστε έτοιμοι!



ΑΝΑΔΗΜΟΣΙΕΥΣΗ ΑΠΟ 27-10-2009


ΤΟ ΔΥΣΚΟΛΟΤΕΡΟ ΚΑΙ ΤΟ ΤΡΟΜΑΚΤΙΚΟΤΕΡΟ ΠΑΙΧΝΙΔΙ ΠΟΥ ΕΧΕΤΕ ΠΑΙΞΕΙ EVER!


Print Friendly and PDFPrintPrint Friendly and PDFPDF


Σήμερα θα μοιραστώ μαζί σας δύο ωραία παιχνίδια που το ένα το θεωρώ ένα από τα τρομακτικότερα αλλά και συνάμα από τα πιο αστεία και το άλλο είναι μακράν από τα δυσκολότερα.

Enjoy!

ΤΡΟΜΑΚΤΙΚΟΤΕΡΟ ΠΑΙΧΝΙΔΙ:

http://www.maniacworld.com/maze_game.htm

(βάλτε από πριν τέρμα τον ήχο)

ΔΥΣΚΟΛΟΤΕΡΟ ΠΑΙΧΝΙΔΙ:

http://www.addictinggames.com/theworldshardestgame.html

(με πολύ κόπο έφτασα ως το 7ο από τα 30 περίπου που έχει level)

-ευχαριστίες στον ncys-


ΕΛΛΗΝΙΚΟ ΗΜΕΡΟΛΟΓΙΟ ΣΤΟ BLOG ΜΑΣ


Print Friendly and PDFPrintPrint Friendly and PDFPDF


Ακολουθήστε τα παρακάτω βήματα για να προσθέσετε ένα ελληνικό ημερολόγιο στο blog σας:

1. Σύνδεση στον λογαριασμό μας από το blogger.com
2. Σχεδίαση>Στοιχεία σελίδας>Προσθήκη gadget>HTML/Javascript
3. Εδώ επικολλούμε τον παρακάτω κώδικα:

<script>


setCal()

function getTime() {
// initialize time-related variables with current time settings
var now = new Date()
var hour = now.getHours()
var minute = now.getMinutes()
now = null
var ampm = ""

// validate hour values and set value of ampm
if (hour >= 12) {
hour -= 12
ampm = "Μμ"
} else
ampm = "Πμ"
hour = (hour == 0) ? 12 : hour

// add zero digit to a one digit minute
if (minute < 10)
minute = "0" + minute // do not parse this number!

// return time string
return hour + ":" + minute + " " + ampm
}

function leapYear(year) {
if (year % 4 == 0) // basic rule
return true // is leap year
/* else */ // else not needed when statement is "return"
return false // is not leap year
}

function getDays(month, year) {
// create array to hold number of days in each month
var ar = new Array(12)
ar[0] = 31 // Ιανουάριος
ar[1] = (leapYear(year)) ? 29 : 28 // Φεβρουάριος
ar[2] = 31 // Μάρτιος
ar[3] = 30 // Απρίλιος
ar[4] = 31 // Μάιος
ar[5] = 30 // Ιούνιος
ar[6] = 31 // Ιούλιος
ar[7] = 31 // Αύγουστος
ar[8] = 30 // Σεπτέμβριος
ar[9] = 31 // Οκτώβριος
ar[10] = 30 // Νοέμβριος
ar[11] = 31 // Δεκέμβριος

// return number of days in the specified month (parameter)
return ar[month]
}

function getMonthName(month) {
// create array to hold name of each month
var ar = new Array(12)
ar[0] = "Ιανουάριος"
ar[1] = "Φεβρουάριος"
ar[2] = "Μάρτιος"
ar[3] = "Απρίλιος"
ar[4] = "Μάιος"
ar[5] = "Ιούνιος"
ar[6] = "Ιούλιος"
ar[7] = "Αύγουστος"
ar[8] = "Σεπτέμβριος"
ar[9] = "Οκτώβριος"
ar[10] = "Νοέμβριος"
ar[11] = "Δεκέμβριος"

// return name of specified month (parameter)
return ar[month]
}

function setCal() {
// standard time attributes
var now = new Date()
var year = now.getYear()
if (year < 1000)
year+=1900
var month = now.getMonth()
var monthName = getMonthName(month)
var date = now.getDate()
now = null

// create instance of first day of month, and extract the day on which it occurs
var firstDayInstance = new Date(year, month, 1)
var firstDay = firstDayInstance.getDay()
firstDayInstance = null

// number of days in current month
var days = getDays(month, year)

// call function to draw calendar
drawCal(firstDay + 1, days, date, monthName, year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
// constant table settings
var headerHeight = 50 // height of the table's header cell
var border = 2 // 3D height of table's border
var cellspacing = 4 // width of table's border
var headerColor = "midnightblue" // color of table's header
var headerSize = "+3" // size of tables header font
var colWidth = 60 // width of columns in table
var dayCellHeight = 25 // height of cells containing days of the week
var dayColor = "red" // color of font representing week days
var cellHeight = 40 // height of cells representing dates in the calendar
var todayColor = "red" // color specifying today's date in the calendar
var timeColor = "green" // color of font representing current time

// create basic table structure
var text = "" // initialize accumulative variable to empty string
text += '<CENTER>'
text += '<TABLE BORDER=' + border + ' CELLSPACING=' + cellspacing + '>' // table settings
text += '<TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
text += '<FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>' // set font for table header
text += monthName + ' ' + year
text += '</FONT>' // close table header's font settings
text += '</TH>' // close header cell

// variables to hold constant settings
var openCol = '<TD WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'
openCol += '<FONT COLOR="' + dayColor + '">'
var closeCol = '</FONT></TD>'

// create array of abbreviated day names
var weekDay = new Array(7)
weekDay[0] = "Κυρ"
weekDay[1] = "Δευτ"
weekDay[2] = "Τρι"
weekDay[3] = "Τετ"
weekDay[4] = "Πεμ"
weekDay[5] = "Παρ"
weekDay[6] = "Σαβ"

// create first row of table to set column width and specify week day
text += '<TR ALIGN="center" VALIGN="center">'
for (var dayNum = 0; dayNum < 7; ++dayNum) {
text += openCol + weekDay[dayNum] + closeCol
}
text += '</TR>'

// declaration and initialization of two variables to help with tables
var digit = 1
var curCell = 1

for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
text += '<TR ALIGN="right" VALIGN="top">'
for (var col = 1; col <= 7; ++col) {
if (digit > lastDate)
break
if (curCell < firstDay) {
text += '<TD></TD>';
curCell++
} else {
if (digit == date) { // current cell represent today's date
text += '<TD HEIGHT=' + cellHeight + '>'
text += '<FONT COLOR="' + todayColor + '">'
text += digit
text += '</FONT><BR>'
text += '<FONT COLOR="' + timeColor + '" SIZE=2>'
text += '<CENTER>' + getTime() + '</CENTER>'
text += '</FONT>'
text += '</TD>'
} else
text += '<TD HEIGHT=' + cellHeight + '>' + digit + '</TD>'
digit++
}
}
text += '</TR>'
}

// close all basic table tags
text += '</TABLE>'
text += '</CENTER>'

// print accumulative HTML string
document.write(text)
}
</script>

4. Αποθήκευση

ΣΗΜΕΙΩΣΗ: Αν το θέλετε μικρότερο, δοκιμάστε με τον παρακάτω κωδικό:

<script>


setCal()

function getTime() {
// initialize time-related variables with current time settings
var now = new Date()
var hour = now.getHours()
var minute = now.getMinutes()
now = null
var ampm = ""

// validate hour values and set value of ampm
if (hour >= 12) {
hour -= 12
ampm = "PM"
} else
ampm = "AM"
hour = (hour == 0) ? 12 : hour

// add zero digit to a one digit minute
if (minute < 10)
minute = "0" + minute // do not parse this number!

// return time string
return hour + ":" + minute + " " + ampm
}

function leapYear(year) {
if (year % 4 == 0) // basic rule
return true // is leap year
/* else */ // else not needed when statement is "return"
return false // is not leap year
}

function getDays(month, year) {
// create array to hold number of days in each month
var ar = new Array(12)
ar[0] = 31 // January
ar[1] = (leapYear(year)) ? 29 : 28 // February
ar[2] = 31 // March
ar[3] = 30 // April
ar[4] = 31 // May
ar[5] = 30 // June
ar[6] = 31 // July
ar[7] = 31 // August
ar[8] = 30 // September
ar[9] = 31 // October
ar[10] = 30 // November
ar[11] = 31 // December

// return number of days in the specified month (parameter)
return ar[month]
}

function getMonthName(month) {
// create array to hold name of each month
var ar = new Array(12)
ar[0] = "Ιανουάριος"
ar[1] = "Φεβρουάριος"
ar[2] = "Μάρτιος"
ar[3] = "Απρίλιος"
ar[4] = "Μάϊος"
ar[5] = "Ιούνιος"
ar[6] = "Ιούλιος"
ar[7] = "Αύγουστος"
ar[8] = "Σεπτέμβριος"
ar[9] = "Οκτώμβριος"
ar[10] = "Νοέμβριος"
ar[11] = "Δεκέμβριος"

// return name of specified month (parameter)
return ar[month]
}

function setCal() {
// standard time attributes
var now = new Date()
var year = now.getYear()
if (year < 1000)
year+=1900
var month = now.getMonth()
var monthName = getMonthName(month)
var date = now.getDate()
now = null

// create instance of first day of month, and extract the day on which it occurs
var firstDayInstance = new Date(year, month, 1)
var firstDay = firstDayInstance.getDay()
firstDayInstance = null

// number of days in current month
var days = getDays(month, year)

// call function to draw calendar
drawCal(firstDay + 1, days, date, monthName, year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
// constant table settings
var headerHeight = 50 // height of the table's header cell
var border = 2 // 3D height of table's border
var cellspacing = 4 // width of table's border
var headerColor = "midnightblue" // color of table's header
var headerSize = "+3" // size of tables header font
var colWidth = 60 // width of columns in table
var dayCellHeight = 25 // height of cells containing days of the week
var dayColor = "red" // color of font representing week days
var cellHeight = 40 // height of cells representing dates in the calendar
var todayColor = "red" // color specifying today's date in the calendar
var timeColor = "purple" // color of font representing current time

// create basic table structure
var text = "" // initialize accumulative variable to empty string
text += '<center>'
text += '<table border=" + border + " cellspacing=" + cellspacing + ">' // table settings
text += '<th colspan="7" height=" + headerHeight + ">' // create table header cell
text += '<font color="' + headerColor + '" size=" + headerSize + ">' // set font for table header
text += monthName + ' ' + year
text += '</font>' // close table header's font settings
text += '</th>' // close header cell

// variables to hold constant settings
var openCol = '<td width=" + colWidth + " height=" + dayCellHeight + ">'
openCol += '<font color="' + dayColor + '">'
var closeCol = '</font></td>'

// create array of abbreviated day names
var weekDay = new Array(7)
weekDay[0] = "Κυρ"
weekDay[1] = "Δευτ"
weekDay[2] = "Τρι"
weekDay[3] = "Τετ"
weekDay[4] = "Πεμ"
weekDay[5] = "Παρ"
weekDay[6] = "Σαβ"

// create first row of table to set column width and specify week day
text += '<tr valign="center" align="center">'
for (var dayNum = 0; dayNum < 7; ++dayNum) {
text += openCol + weekDay[dayNum] + closeCol
}
text += '</tr>'

// declaration and initialization of two variables to help with tables
var digit = 1
var curCell = 1

for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
text += '<tr valign="top" align="right">'
for (var col = 1; col <= 7; ++col) {
if (digit > lastDate)
break
if (curCell < firstDay) {
text += '<td></td>';
curCell++
} else {
if (digit == date) { // current cell represent today's date
text += '<td height=" + cellHeight + ">'
text += '<font color="' + todayColor + '">'
text += digit
text += '</font><br>'
text += '<font color="' + timeColor + '" size="2">'
text += '<center>' + getTime() + '</center>'
text += '</font>'
text += '</td>'
} else
text += '<td height=" + cellHeight + ">' + digit + '</td>'
digit++
}
}
text += '</tr>'
}

// close all basic table tags
text += '</table>'
text += '</center>'

// print accumulative HTML string
document.write(text)
}
</script>

Πηγές: Κωδικοί και φώτο από http://www.freeware-tools.net/2009/02/blog_10.html
Copyrights: http://bloggertips.gr/


READ MORE BUTTON (ΜΕ ΕΙΚΟΝΑ!) ΑΝΤΙ ΓΙΑ ΚΕΙΜΕΝΟ


Print Friendly and PDFPrintPrint Friendly and PDFPDF

Καλησπέρα στους φίλους-αναγνώστες!

Μετά από δεκάδες ερωτήσεις που δέχτηκα για αυτό το θέμα αποφάσισα να γράψω τη σημερινή ανάρτηση.

Όλοι ξέρουμε τώρα πια (με τη βοήθεια βεβαίως του bloggertips.gr) πως θα βάζουμε το Read More στις αναρτήσεις μας, ώστε να μην φαίνονται ολόκληρες στην αρχική μας σελίδα. Σχετικά με αυτό έχω συγγράψει στο παρελθόν δύο τρόπους προσθήκης του: την απλή (http://www.bloggertips.gr/2009/07/read-more-blog.html) και την αυτόματη (http://www.bloggertips.gr/2010/03/automatic-read-more-function-in-blogger.html).

Σήμερα θα σας πω, πως και στις δύο περιπτώσεις θα βάλουμε αντί για κείμενο ένα read more button, όπως έχω εγώ.

Αν έχετε το απλό read more:

Στο βήμα 11 σας λέω να βάλετε τον παρακάτω κωδικό:

<b:if cond='data:blog.pageType != "item"'>
<span style="font-weight:bold;"><span ><a expr:href='data:post.url' target='_blank'>Διαβάστε περισσότερα...</a></span></span>
</b:if>

Απλά αντικαθιστάτε το Διαβάστε περισσότερα... με τον παρακάτω κωδικό:

<img src="url_of_image" border="0" />

Στο url_of_image βάζετε το url του read more button σας.

Στο αυτόματο read more:

Εκεί που λέω να αντικαταστήστε το <data:post.body/> με τον παρακάτω κωδικό:

<b:if cond='data:blog.pageType != "item"'>
<div expr:id='"summary-" + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb("summary-<data:post.id/>");</script>
<a class='readmore' expr:href='data:post.url'>Read more »</a>
</b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>

Εκεί που λέει Read more » το αντικαθιστάτε με το:

<img src="url_of_image" border="0" />

Στο url_of_image βάζετε το url του read more button σας.


Πολύ απλό, ε?


ΕΥΡΕΣΗ READ MORE BUTTON


Υπάρχουν εκατοντάδες read more button και σίγουρα θα βρείτε ένα που θα ταιριάζει στη σελίδα σας.

Θα βρείτε πολλά από εδώ και ψάξτε και με άλλες λέξεις-κλειδιά!

Καλή σας ημέρα!

Πηγές: -


Στατικές και Δυναμικές Ιστοσελίδες


Print Friendly and PDFPrintPrint Friendly and PDFPDF

Με την παγκόσμια άνθηση του διαδικτύου, τη χρήση του από όλο και περισσότερους ανθρώπους ως βασικό μέσο μαζικής επικοινωνίας, είναι πλέον προφανές ότι το κάθε νομικό ή φυσικό πρόσωπο, επιβάλλεται να έχει παρουσία σε αυτό. Ο συνηθέστερος τρόπος παρουσίασης των προϊόντων μιας επιχείρησης ή η προβολή ιδεών ενός ατόμου είναι μέσω μιας ιστοσελίδας. Τα είδη μιας ιστοσελίδας ποικίλουν, ανάλογα με τις ανάγκες του καθενός. Οι δυο μεγαλύτερες και βασικότερες κατηγορίες ιστοσελίδων είναι οι στατικές (static) και οι δυναμικές (dynamic). Στατικές ονομάζονται οι ιστοσελίδες, που έχουν μόνιμο περιεχόμενο. Αυτό δε σημαίνει ότι το περιεχόμενο τους πρέπει να είναι στατικό, αντιθέτως μπορεί να έχει πολλά κινούμενα γραφικά. Δυναμικές είναι οι ιστοσελίδες στις οποίες ο χρήστης-επισκέπτης αλληλεπιδρά με την ίδια τη σελίδα. Σήμερα κυριαρχεί μια λανθασμένη εντύπωση ότι οι στατικές ιστοσελίδες είναι ξεπερασμένες, κυρίως επειδή για να κατασκευαστούν βασίζονται σε παλαιότερες τεχνολογίες. Αυτή η εντύπωση όμως είναι άκρως λανθασμένη. Μερικές από τις πιο μοντέρνες ιστοσελίδες είναι στατικές, ενώ οι στατικές ιστοσελίδες προσφέρουν πλεονεκτήματα που δεν έχουν οι δυναμικές. Ο όρος "στατικές" αναφερέται στο μόνιμο περιεχόμενο των στατικών ιστοσελιδών και όχι σε κάποιο είδος κίνησης. Τα δεδομένα (κείμενο, φωτογραφίες κλπ.) για να αλλάξουν σε μια στατική σελίδα, θα πρέπει ο διαιχειριστής της σελίδας να τα αλλάξει χειροκίνητα, μέσω κάποιου ειδικού προγράμματος κατασκευής ιστοσελιδών. Αντίθετα στις δυναμικές ιστοσελίδες ο απλός χρήστης-επισκέπτης αλληλεπιδρά άμεσα-δυναμικά με την ίδια την σελίδα και αυτό σημαίνει ότι μπορεί να αλλάξει και το περιεχόμενό της. Για αυτό τον λόγο, οι δυναμικές ιστοσελίδες διαχειρίζονται από open source CMS (Content Management System), ότι δηλαδή το σύστημα διαχείρησης της σελίδας είναι ανοιχτό σε όλους τους χρήστες, οι οποίοι μπορούν να το αλλάξουν ή να το τροποποιήσουν. Το κατά πόσο έχει τη δυνατότητα να αλλάξει/τροποποιήσει το περιέχομενο μιας δυναμικής ιστοσελίδας ένας επισκέπτης, το ορίζει ο υπερδιαχειριστής της σελίδας (administrator). Αλλά ας τα πάρουμε από την αρχή:


Η πρώτες ιστοσελίδες πλησιάζουν περισσότερο τις σημερινές στατικές, παρά
τις δυναμικές, που εφευρέθηκαν αργότερα. Ο βρετανός Τιμ-Μπέρνες Λι, εφευρέτης
internet ή του world wide web το 1989, δημοσίευσε τον Αύγουστο του 1991 αυτό που,
θεωρούμε σήμερα ως την πρώτη ιστοσελίδα, η οποία ήταν γραμμένη σε html, δηλαδή στη γλώσσα όπου γράφονται οι στατικές ιστοσελίδες. Οι δυναμικές ιστοσελίδες
βασίζονται σε γλώσσες και τεχνολογίες που ανακαλύφτηκαν πρόσφατα και
αναπτύσσονται συνεχώς. Οι δυναμικές ιστοσελίδες γράφονται στη γλώσσα προγραμματισμού php που αναπτύσσεται διαρκώς. Σήμερα χρησιμοποιείται η 4η κι η 5η έκδοση της php.

Για την ανάπτυξη και σχεδίαση δυναμικών ή στατικών ιστοσελίδων χρησιμοποιούνται πολλές γλώσσες. Η html χρησιμοποιείται ευρέως στις στατικές ιστοσελίδες και η php στις δυναμικές. Στις δυναμικές μπορεί όμως να χρησιμοποιηθεί και html γιατί η html δεν είναι γλώσσα προγραμματισμού σε αντίθεση με την php όπου είναι.

HTML (HyperText Markup Language):

H html δεν είναι γλώσσα προγραμματισμού. Είναι γλώσσα σήμανσης (markup language). Ανακαλύφτηκε από την IBM, η οποία ήθελε να λύσει το πρόβλημα της για μη τυποποιημένη εμφάνιση κειμένων στα διάφορα υπολογιστικά της συστήματα. Html υπάρχει και στις δυναμικές και στις στατικές ιστοσελίδες. Η html αποτελείται από διάφορα tags που δίνουν εντολές στον browser όπου ο τελευταίος απεικονίζει τα αποτελέσματα αυτών των εντολών στις οθόνες μας. Τα tags είναι εντολές που βρίσκονται μεταξύ των συμβόλων < και >. Π.χ. αν θέλουμε να δώσουμε εντολή στον browser μας να εμφανίσει κάποιο κείμενο μαρκαρισμένο σε bold, στην html γράφεται: <b>To_κείμενο_εδώ</b> Οι εντολές είναι case insensitive, δεν επηρεάζονται από το αν έχουν γραφτεί με πεζά (μικρά) ή κεφαλαία.
Αξιοσημείωτο είναι επίσης ότι η html είναι η πρώτη και πιο διαδεδομένη γλώσσα περιγραφής της δομής μιας ιστοσελίδας.

Η html έφερε τα πρώτα προβλήματα εμφάνισης ιστοσελιδών από τους διάφορους browsers.
Ειδικά όταν περιλαμβάνει (που περιλαμβάνει συχνά) εφαρμογές σε Javascript. Αρχικά είχαν θεσπιστεί κάποιες προδιαγραφές για τη html που κάλυπταν μέχρι τη html 2.0. Τα προβλήματα προέκυψαν όταν οι Microsoft κι η Netscape πρόσθεσαν στην html τέτοιες δυνατότητες που ήταν συμβατές να απεικονιστούν από ορισμένους browsers. Ακόμη και τώρα αλλιώς απεικονίζεται μια σελίδα από διαφορετικούς browsers. Χάρη σε αυτό εκθρονίστηκε ο explorer από τον firefox.

Μεγάλα προγράμματα στα οποία ο χρήστης συγγράφει κώδικα html και ταυτόχρονα μπορεί να βλέπει και το αποτέλεσμα των κωδικών που συγγράφει είναι το Dreamweaver της Adobe, το FrontPage της Microsoft και το Ace HTML.

PHP:

Η php είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται κυρίως στην κατασκευή δυναμικών ιστοσελίδων.

Μια ιστοσελίδα γραμμένη σε php για να ανοίξει σε πραγματικό χρόνο στην οθόνη μας σε μορφή html μέσω του browser μας, επικοινωνεί και περνά από επεξεργασία από έναν συμβατό διακομιστή του ιστού (π.χ. Apache). Ο Apache είναι ο μεγαλύτερος και διασημότερος εξυπηρετητής (nameserver) του παγκόσμιου ιστού (world wide web). Ο Apache είναι ο δημοφιλέστερος εκ των εξυπηρετητών γιατί λειτουργεί και στα Linux, Unix ,Mac OS X εκτός από τα Windows. Η χρησιμότητα του Apache είναι γιατί όταν κάποιος χρήστης επισκέφτεται μια ιστοσελίδα από το πρόγραμμα περιήγησής του (browser), αυτό επικοινωνεί με τον διακομιστή-server μέσω του πρωτοκόλλου http, και έτσι δημιουργούνται οι ιστοσελίδες οι οποίες αποστέλλονται στο πρόγραμμα περιήγησης και από εκεί στην οθόνη του υπολογιστή μας σε μορφή κώδικα html. Ο Apache υποστηρίζει εξ' ορισμού την εκτέλεση κώδικα php.

Η php ανακαλύφτηκε το 1995 από έναν φοιτητή τον Rasmus Lerdorf, ο οποίος δημιούργησε για απλή προσωπική χρήση ένα απλό script γραμμένο σε php. Το script αυτό είχε σαν σκοπό να διατηρεί μια λίστα στατιστικών για τα άτομα που έβλεπαν το online βιογραφικό του σημείωμα. Αργότερα αυτό το script το διέθεσε και σε φίλους του, οι οποίοι άρχισαν να του ζητούν να προσθέσει περισσότερες δυνατότητες και έτσι το εξέλιξαν. Η εξέλιξη της php βασίστηκε και στη γλώσσα προγραμματισμού C. Σήμερα, στους περισσότερους ιστότοπους χρησιμοποιείται η 4η κι η 5η έκδοση της php, ενώ η επερχόμενη 6η έκδοση είναι ακόμη σε δοκιμαστικά στάδια.

CSS (Cascading Style Sheets):

Τα αρχεία (φύλλα στυλ) CSS μας επιτρέπουν να διαχωρίσουμε το περιεχόμενο μιας ιστοσελίδας από το σχεδιαστικό κομμάτι της. Και αυτό συμβαίνει γιατί όλα τα στοιχεία σχεδίασης και μορφοποίησης μιας σελίδας μπορούν να αποθηκευτούν σε ένα μόνο ξεχωριστό αρχείο CSS, το οποίο θα συνδέεται/θα επικοινωνεί με όλα τα άλλα αρχεία της σελίδας, και θα τα αλλάζει σχεδιαστικά. Αυτό, όπως καταλαβαίνετε, είναι πολύ πρακτικό, γιατί αν για παράδειγμα θέλουμε να αλλάξουμε το φόντο (background color) μιας σελίδας, αρκεί να επέμβουμε στο αρχείο CSS και να κάνουμε εκεί την αλλαγή, και ΔΕΝ χρειάζεται να κάνουμε την αλλαγή σε όλα τα αρχεία μιας σελίδας ξεχωριστά. Έτσι γλιτώνουμε πολλές σειρές κώδικα.
Τα πλεονεκτήματα της CSS συνοπτικά είναι:
1. Ελαχιστοποίηση χρόνου φόρτωσης μιας σελίδας, αφού μικραίνει το μέγεθος των αρχείων μιας σελίδας.
2. Ελαχιστοποίηση χρόνου γραφής κώδικα.
3. Προσβασιμότητα από όλους τους φυλλομετρητές-περιηγητές-web browsers (π.χ. Explorer).
4. Είναι πιστοποιημένο από το W3C, τον μεγαλύτερο οργανισμό Web Standards παγκοσμίως.
5. Ομοιόμορφη εμφάνιση όλων των σελιδών μιας ιστοσελίδας, αφού συνδέονται με το ίδιο αρχείο CSS.
6. Είναι SEO friendly, αφού ο κώδικας της σελίδας είναι πολύ καθαρότερος.
Η CSS είναι σχετικά πολύ εύκολη γλώσσα στην εκμάθησή της.

XML:

Είναι μια γλώσσα περιγραφής/δόμησης των δεδομένων. Λέγοντας δεδομένα, εννοούμε μια συλλογή στοιχείων δεδομένων, όπως κατάλογοι βιβλίων ή διευθύνσεων. Η XML δεν είναι γλώσσα προγραμματισμού και ούτε έχει τα χαρακτηριστικά μιας γλώσσας προγραμματισμού. Η XML χρησιμοποιείται για να διευκολύνει τον υπολογιστή μας να παράγει και να δομήσει τα δεδομένα.

Οι παραπάνω τέσσερις γλώσσες είναι από τις βασικότερες που χρησιμοποιούνται για την κατασκευή μιας ιστοσελίδας.


Πλεονεκτήματα και Μειονεκτήματα Στατικής και Δυναμικής Ιστοσελίδας


Η κατασκευή ιστοσελίδων (Web development-design) από τους σχεδιαστές (web designers-developers) είναι η διαδικασία δημιουργίας παρουσιάσεων περιεχομένου (συνήθως υπερκειμένου, ή πολυμέσων), οι οποίες προβάλλονται στον τελικό χρήστη του Διαδικτύου, μέσω ενός προγράμματος περιήγησης (browser).
Όλες οι ιστοσελίδες είναι ένα ηλεκτρονικό αρχείο ή ένα σύνολο από ηλεκτρονικά αρχεία αποθηκευμένα σε σκληρούς δίκους που λέγονται servers.
Τα ηλεκτρονικά αρχεία μπορεί να είναι εικόνες (.jpeg, .gif, .png, .bmp) τα οποία τοποθετούνται στη σελίδα μας, με τη χρήση των κατάλληλων κωδικών σήμανσης, ώστε να αναγνωρίζονται από τον περιηγητή μας, ο οποίος με τη σειρά του θα μας τα απεικονίσει στην οθόνη μας. Οι "κατάλληλοι κωδικοί σήμανσης" που προανέφερα είναι html/xhtml/xml.
Βέβαια σήμερα τα πράγματα δεν είναι τόσο απλά. Έχουν εξελιχθεί σε μεγάλο βαθμό. Η απλή γλώσσα σήμανσης html, έχει συνδιαστεί με εφαρμογές Javascript και με CSS, και έτσι τα πράγματα έχουν γίνει πολύ πιο περίπλοκα.
Πάντως σε γενικές γραμμές, οι browsers ακολουθούν τα ενιαία πρότυπα και προδιαγραφές που έχει θέσει το W3C. Κι οι browsers σήμερα ενσωματώνουν πάνω τους τα πρόσθετα (plug-ins), που άλλωτε θα έπρεπε να τα εγκαταστήσουν οι χρήστες ξεχωριστά.


Η στατική ιστοσελίδα έχει πλεονεκτήματα που δεν έχουν οι δυναμικές και το αντίθετο. Για αυτό δεν μπορούμε να πούμε ότι η μία είναι καλύτερη από την άλλη. Αυτό το λάθος το κάνουν πολλοί, που λένε ότι οι δυναμικές είναι καλύτερες από τις στατικές, ίσως επειδή έχουν πιο πολλά πλεονεκτήματα.
Η βασική διαφορά είναι ότι οι στατικές ιστοσελίδες δεν αλληλεπιδρούν με τον επισκέπτη, πράγμα που κάνουν οι δυναμικές.

Οι στατικές ιστοσελίδες

Οι στατικές ιστοσελίδες χαρακτηρίζονται από την μονιμότητα του περιεχομένου τους και της διάταξής τους (layout), τα οποία μπορούν να αλλάξουν/να τροποποιηθούν μόνο με αίτημα για αναβάθμιση (update) από τον προγραμματιστή/διαχειριστή της σελίδας αυτης. Μια απλή σελίδα html (έγγραφο html) που περιλαμβάνει κείμενο, συνδέσμους και φωτογραφίες για παράδειγμα, είναι ένα απλό παράδειγμα στατικής σελίδας. Τα δεδομένα σε μια στατική ιστοσελίδα δεν αλλάζουν δυναμικά. Έχουν σταθερό, αμετάβλητο περιεχόμενο.

Στα υπερ της στατικής σελίδας είναι το χαμηλό κόστος κατασκευής και συντήρησης, γιατί μια στατική σελίδα, δεν απαιτεί μεγάλο χώρο σε φιλοξενία από webserver. Μια στατική σελίδα αναπτύσσεται/σχεδιάζεται γρηγορότερα από ότι μια δυναμική. Επίσης οι στατικές σελίδες φορτώνουν πιο γρήγορα από ότι οι δυναμικές.
Μεγάλο πλεονέκτημα των στατικών ιστοσελιδών έναντι των δυναμικών είναι επίσης ότι πιο SEO friendly. To SEO σημαίνει Search engine optimization και στα ελληνικά "Βελτιστοποιήση Σελίδας για τις μηχανές αναζήτησης". Οι στατικές σελίδες λοιπόν είναι πιο φιλικές προς τις μηχανές αναζήτησης. Αυτό συμβαίνει γιατί στις στατικές ιστοσελίδες υπάρχει δυνατότητα τοποθέτησης στον κώδικα html, των meta tags τα οποία αναγνωρίζουν οι μηχανές αναζήτησης και κατατάσσουν την στατική σελίδα πάνω από μια δυναμική που δεν έχει ακριβώς αυτη την δυνατότητα. Αυτό είναι πολύ ισχυρό πλεονέκτημα των στατικών ιστοσελιδών, γιατί όπως καταλαβαίνετε έχει άμεση σχέση με την επισκεψημότητά τους. Και η επισκεψημότητα σε έναν ιστότοπο μπορεί να μεταφραστεί σε κέρδος. Και όπως είναι γνωστό, οι μηχανές αναζήτησης είναι αυτες που παραπέμπουν τους χρήστες στις ιστοσελίδες. Οπότε όσο καλύτερα κατεταγμένη η σελίδα στις μηχανές αναζήτησης σε διάφορες λέξεις-κλειδιά, τόσο μεγαλύτερο πλεονέκτημα έχει έναντι των ανταγωνιστών της. Στην αγορά γίνεται σκληρή μάχη ανάμεσα στους SEO experts για διάφορες λέξεις-κλειδιά. Είναι αξιοσημείωτο, ότι μόνο στην ελληνική αγορά για λέξεις-κλειδιά όπως (fashion, gadgets, ρούχα), για να επιτευχθεί η πρώτη θέση στις μηχανές αναζήτησης, δαπανούνται μέχρι και 20 χιλιάδες ευρώ. Για αυτές τις φράσεις, στην παγκόμια αγορά τα ποσά εκτοξεύονται στα ύψη όπως είναι αντιληπτό. Εγώ έχω καταφέρει μετά από πολύ δουλειά στην στατική μου ιστοσελίδα (http://bloggertips.gr/) να εμφανίζομαι στα πρώτα δυο αποτελέσματα της Google, όταν αναζητά κάποιος με τη φράση "blogger tips", η οποία είναι και συχνή φράση αναζήτησης.

Στα κατά μιας στατικής ιστοσελίδας είναι ότι χρήστης πρέπει να έχει γνώσεις προγραμματισμού, για να μπορεί να ανενεώσει το περιεχόμενο της σελίδας. Κι αυτό γιατί θα πρέπει να επεμβαίνει στον κώδικα.
Σε μια στατική ιστοσελίδα ο χρήστης δεν έχει κανένα είδους αλληλεπίδραση με τη σελίδα και όποια άλλα μεινονεκτήματα συνεπάγονται σε αυτό.

Θα επιλέξετε μια στατική ιστοσελίδα αν δεν έχετε σκοπό να ανανεώνετε συχνά τις σελίδες σας, οι οποίες δεν θα ξεπεράσουν τις 15-20. Οι στατικές ιστοσελίδες ενδείκνυνται για μικρές επιχειρήσεις που θέλουν να κάνουν μια απλή παρουσιάση των προϊόντων τους στο διαδίκτυο, χωρίς να θέλουν να τα ανανεώνουν συχνά.

Η κατασκευή μιας στατικής ιστοσελίδας από τους web designers έχουν χαμηλότερο κόστος, σε σχέση με τις δυναμικές, και αυτό είναι λογικό γιατί είναι πιο απλή η κατασκευή τους. Ενδεικτικά οι τιμές για μια στατική ιστοσελίδα αρχίζουν από 60 εως 400 ευρώ σε γενικές γραμμές.

Δυναμικές ιστοσελίδες

Οι δυναμικές ιστοσελίδες προσαρμόζουν το περιεχόμενο τους και την εμφάνισή τους σύμφωνα με την καταχώρηση/αλληλεπίδραση ή τις αλλαγές του τελικού χρήστη στο περιβάλλον προγραμματισμού (χρήστης, ώρα, τροποποιήσεις στη βάση δεδομένων κτλ.). Το περιεχόμενο μπορεί να αλλάζει στον υπολογιστή του τελικού-χρήστη με τη χρήση των γλωσσών προγραμματισμού που εκτελούνται στον υπολογιστή του χρήστη (JavaScript, VBScript, Actionscript, etc.). Το περιεχόμενο στις δυναμικές σελίδες συχνά μεταφράζεται στον εξυπηρετητή (server), που εκεί αποστέλνεται μέσω του διακομιστή (Apache), μέσω γλωσσών προγραμματισμού που εκτελούνται στον εξυπηρετητή (Perl, PHP, ASP, JSP, ColdFusion, .NET κτλ). Πίσω από δυναμικά websites κρύβονται πάντα βάσεις δεδομένων (databases) οπού εκεί αποθηκεύονται δεδομένα και πληροφορίες του εν λόγω website. Και με εντολή του χρήστη, το website επικοινωνεί με την database, από όπου θα αντλήσει το περιεχόμενο που απαίτησε να δει ο χρήστης. Λόγω των databases καθιστάται εύκολη η προσθαφαίρεση περιεχομένου στις δυναμικές ιστοσελίδες, ακόμα και από τον πιο άσχετο (σε γνώσεις προγραμματισμού) χρήστη-επισκέπτη της σελίδας.
Διότι σε μια στατική σελίδα για να αλλάξει ή να τροποποιήσει κανείς το περιεχόμενο της σελίδας θα πρέπει να επέμβει στον κώδικα. Άρα πρέπει να ξέρει προγραμματισμό. Ενώ σε μια δυναμική σελίδα, απλά πρέπει να ξέρει πως να διαχειρίζεται το περιεχόμενο στη βάση δεδομένων και όλα τα υπόλοιπα γίνονται αυτοματοποιημένα από το πρόγραμμα. Όπως είπαμε οι στατικές σελίδες είναι απλά html έγγραφα. Οι δυναμικές ιστοσελίδες είναι εφαρμογές-προγράμματα. Για την δημιουργία ενός δυναμικού site χρειάζονται πολλές-πολλές γραμμές κώδικα προγραμματισμού. Παρόλο όμως που είναι σχετικά δύσκολο να κατασκευαστεί ένα δυναμικό site, είναι εύκολο να διαχειριστεί και να ανανεωθεί. Εδώ είναι και το μεγάλο πλεονέκτημα, έναντι των στατικών. Για να μπορεί ένας απλός χρήστης-επισκέπτης να διαχειρίζεται (να το αλλάζει, να το τροποποιεί ή να το διαγράφει) το περιεχόμενο μιας δυναμικής σελίδας εύκολα, χωρίς γνώσεις προγραμματισμού, υπάρχουν τα CMS! CMS (Content Managment System) είναι εύχρηστοι μηχανισμοί διαχείρησης περιεχομένου. Έτσι, στην περιοχή διαχείρησης της σελίδας, μπορούν να διαχειριστούν το περιεχόμενό της, απλά μέλη, συντάκτες, διαχειριστές κ.α. Ο καθένας έχει τον δικό του κωδικό πρόσβασης και το τι προνόμια έχει ο καθένας και κατα πόσο μπορεί να αλλάξει το περιεχόμενο της σελίδας, το ορίζει ο υπερδιαχειριστής της σελίδας.


Κάποιος θα επιλέξει μια δυναμική ιστοσελίδα αν θέλει να έχει μια δυναμική παρουσία στο διαδίκτυο. Αν έχει σκοπό να ανανεώνει συχνά το περιεχόμενό της και να θέλει να έχει απεριόριστο αριθμό διαφορετικών σελιδών. Στα υπερ είναι ότι το περιεχόμενό της μπορεί να ανανεωθεί και να τροποποιηθεί από ανθρώπους που δεν γνωρίζουν προγραμματισμό, σε αντίθεση με τις στατικές, όπου αυτό καθιστάται αδύνατον. Επίσης σε μια δυναμική ιστοσελίδα είναι πολύ εύκολη η διαχείρηση χρηστών, διαχειριστών και μελών της ιστοσελίδας.


Θα επιλέξετε μια δυναμική σελίδα αν θέλετε να ανεβάσετε πολύ περιεχόμενο σε αυτή (μιλάμε για πάνω από 20 σελίδες) και επίσης θέλετε να ανανεώνετε το περιεχόμενό της συχνά. Αν θέλετε οι αναρτήσεις σας και τα άθρα σας να είναι κατηγοριοποιημένα και αρχειοθετημένα. Αν θέλετε να έχετε συντάκτες όπου θα δημοσιεύουν νέο περιεχόμενο χωρίς να γνωρίζουν προγραμματισμό. Αν θέλετε να δίνετε τη δυνατότητα στους επισκέπτες σας να γίνουν ενεργά μέλη στη σελίδα σας και να έχουν δικό τους κωδικό πρόσβασης για να συνδέονται σε αυτην.

Στα κατά ενος δυναμικού site είναι αναμφίβολα το κατα πολύ υψηλότερο κόστος κατασκευής, αλλά και συντήρησης, γιατί λόγω των μεγαλύτερων απαιτήσεων, απαιτεί πολύ μεγαλύτερο χώρο φιλοξενίας σε webserver. Συνήθως φορτώνει πιο αργά από μια στατική σελίδα και για να κατασκευασθεί μια δυναμική σελίδα από κάποιον web designer ή από κάποιον προγραμματιστή απαιτείται πολύς χρόνος, γιατί όπως προείπα απαιτούνται πολλές-πολλές σειρές κώδικα.

Ενδείκνυνται για μεγάλες επιχειρήσεις, που θέλουν να φτιάξουν ηλεκτρονικό κατάστημα (e-shop), όπου θα διαθέτουν προς πώληση τα προϊόντα τους, για ξενοδοχεία τα οποία θέλουν ο επισκέπτης να κάνει ηλεκτρονικές κρατήσεις των δωματίων τους και γενικότερα για μεγάλα ειδησεογραφικά portals τα οποία ανανεώνουν συχνά το περιεχόμενό τους και θέλουν ο χρήστης-επισκέπτης να γίνεται μέλος στη σελίδα, να αφήνει σχόλια, να λαμβάνει newsletter και γενικότερα να αλληλεπιδρά με την σελίδα.

Οι δυναμικές ιστοσελίδες έχουν υψηλότερο κόστος κατασκευής από ότι οι στατικές και αυτό είναι λογικό, λόγω της πολυπλοκότητας του περιχομένου τους. Ενδεικτικά οι τιμές κυμαίνονται από 300 ευρώ, ενώ έχω δει να φτάνουν εως 5000, αν πρόκειται για ένα πολύ περίπλοκο site, π.χ. το site ενός πολύ μεγάλου e-shop.
Οι τιμές αυτές είναι ενδεικτικές, ενώ μεταβάλλονται διαρκώς.
Όπως εξήγησα παραπάνω κιόλας κυκλοφορούν στην αγορά έυχρηστοι μηχανισμοί CMS όπου όλα γίνονται αρκετά πιο αυτοματοποιημένα και έτσι η δημιουργία ενός δυναμικού website καθιστάται πιο εύκολη και φτηνή από ποτέ.
Το δημοφιλέστερο, μεγαλύτερο και πιο διαδεδομένο σύστημα διαχείρησης περιεχομένου (CMS) είναι το Joomla που είναι και open source εφαρμογή, ενώ ακολουθεί και το Drupal, που ομολογουμένως είναι πιο δύσκολο, γιατί απαιτεί γνώσεις προγραμματιστή.

Το ότι σε γενικές γραμμές οι δυναμικές ιστοσελίδες παρέχουν μεγαλύτερες δυνατότητες από ότι οι στατικές, αυτό σε σημαίνει ότι είναι απαραίτητες για όλους. Πριν προέβεις στην επιλογή δυναμικού ή στατικού website, μεγάλη σημασία έχει να ξέρεις τι ζητάς από αυτό.

Η εφεύρεση των δυναμικών ιστοσελιδών αποτέλεσε σταθμό στη πορεία του internet. Με την ανακάλυψη αυτή, πλέον ο χρήστης από απλός αναγνώστης θα μπορούσε να γίνει μέλος σε μια σελίδα, να την προσαρμόσει στα μέτρα του, να προσθέσει τις δικές του πληροφορίες σε αυτή, και γενικώς με τις δυναμικές ιστοσελίδες δημιουργήθηκαν τα μεγαλύτερα σε επισκεψημότητα σημερινά sites. Αυτή η ανακάλυψη είχε σημαντικότατες επιπτώσεις σε διάφορους τομείς. Πλέον πολλοί σύλλογοι, ομάδες έχουν μόνο διαδικτυακή παρουσία. Ιδίως οι άνθρωποι με αναπηρίες μπορούν να κάνουν πράγματα, που δεν θα μπορούσαν να τα κάνουν με άλλον τρόπο. Με τις δυναμικές ιστοσελίδες, "ζωντάνεψε" το internet!

Μην ξεχνάμε ότι όλα τα ηλεκτρονικά καταστήματα (e-shops) και οι ηλεκτρονικές κρατήσεις ξενοδοχείων (online booking) είναι εφικτές μόνο απο δυναμικές σελίδες. Με τα δυναμικά websites, πλέον μπορούμε να κάνουμε οικονομικές συναλλαγές μέσω του internet, να δούμε τα e-mail μας και γενικότερα να κάνουμε πράγματα που παλαιότερα ήταν αδύνατα από το διαδίκτυο.

Προμηνύεται λαμπρό μέλλον και για τις δυναμικές και για τις στατικές ιστοσελίδες (και ίσως ανακαλυφτεί κι άλλη κατηγορία), με τις νέες τεχνολογίες που ανακαλύπτονται διαρκώς και άλλες που βρίσκονται σε πειραματικά στάδια.

Παρακαλώ σεβαστείτε τα πνευματικά δικαιώματα (copyrights) στο παραπάνω άρθρο! Μου πήρε εβδομάδες για να το συγγράψω. Παρακάτω αναφέρω τις πηγές από τις οποίες άντλησα το περιεχόμενό του άρθρου.

Πηγές:
1. "Μαθαίνετε εύκολα Joomla" από Εκδόσεις Ξαρχάκος
Copyrights: για το http://bloggertips.gr/


Το παπάκι (@) και ιστορία του!


Print Friendly and PDFPrintPrint Friendly and PDFPDF

Με τη λέξη “παπάκι” αναφερόμαστε στο σύμβολο @ που συνοδεύει κάθε διεύθυνση ηλεκτρονικού ταχυδρομείου. Ποιά η ιστορία του @ και πώς το αποκαλούν σε άλλες χώρες;
Το 1972, ο Raymond Samuel Tomlinson, προγραμματιστής στο επάγγελμα, έστειλε το πρώτο ηλεκτρονικό μήνυμα, γνωστό σήμερα ως email χρησιμοποιώντας το σύμβολο @, για να δείξει τη θέση του παραλήπτη. Μέχρι τότε τα ηλεκτρονικά μηνύματα μπορούσαν να σταλούν σε χρήστες που χρησιμοποιούσαν τον ίδιο υπολογιστή. Ο Tomlinson, που χρησιμοποίησε μια πρότυπη συσκευή τηλετύπου, κατάλαβε ότι έπρεπε να χρησιμοποιήσει ένα σύμβολο που θα διέφερε από το όνομα ώστε να μην υπάρξει καμία σύγχυση. Εντούτοις, πριν το σύμβολο αποκτήσει αυτήν την ιδιότητα στα πληκτρολόγια γραφομηχανών στο 1880 και αργότερα στα πληκτρολόγια QWERTY της δεκαετίας του ‘40, το @ είχα μια μεγάλη ιστορία της χρήσης του σε όλο τον κόσμο.
Οι γλωσσολόγοι διχάζονται ως προς το πότε εμφανίστηκε αρχικά το σύμβολο. Πολλές θεωρίες έχουν ακουστεί σχετικά με την προέλευση του.

* 6ος ή 7ος αιώνας. Μοναχοί το χρησιμοποιούσαν για να γράφουν γρηγορότερα τη λέξη ad (at στα λατινικά)

* Χρησιμοποιήθηκε από εμπόρους για να προσδιορίσουν την έννοια του “το κάθε ένα” δηλαδή η έκφραση 10 μήλα @ 1€ υποδηλώνει συνολικό κόστος 10€, ενώ η έκφραση 10 μήλα at 1€ υποδηλώνει συνολικό κόστος 1€.

* Προέρχεται από το ελληνικό ανά

* Τελευταία ένας καθηγητής Ιστορία στην Ιταλία, ανακάλυψε έγγραφα του 14ου αιώνα που εμφάνιζε το @ σα μονάδα μέτρησης.

Στα Αγγλικά το @ είναι η συντομογραφία του “at”, αλλά σε άλλες χώρες, έχει εντελώς διαφορετικό όνομα.


Δείτε μερικά από τα ονόματα του @ σε άλλες χώρες…

Αφρική Ουρά πιθήκου
Βοσνία, Σερβία, Κροατία Αναφέρονται σ’αυτό ως Crazy I
Χονγκ Κονγκ Εχει την ίδια έννοια όπως και στα αγγλικά
Ισπανία, Καναλονία, Πορτογαλία Το ονομάζουν arrova, μία μονάδα μέτρησης βάρους
Δανία Σύμβολο άλφα, ή προβοσκίδα ή ουρά γουρουνιού
Κάτω χώρες Ουρά πιθήκου
Γαλλία Σαλιγκάρι
Γερμανία Ουρά πιθήκου
Ελλάδα Παπάκι
Ουγγαρία Σκουλήκι
Ιταλία Σαλιγκάρι
Ιαπωνία Σύμβολο α
Κινέζικα Ποντίκι
Νορβηγία Ουρά γουρουνιού
Πολωνία Μαϊμού
Ρουμανία Την ίδια έννοια όπως και στα Αγγλικά “at”
Ρωσία Σκυλάκι
Σουηδία Προβοσκίδα
Τουρκία Αυτί

Του Ανδρέα Σοφαντζή

Πηγή: http://www.techpress.gr/index.php/archives/6235


 
© Copyright 2009-13 bloggertips.gr | All rights reserved. | Επικοινωνία | LK Magazine v2 from Lasantha | Πίσω στην ΚΟΡΥΦΗ | | Subscribe in a reader (Google,Yahoo κα)

* free blogger tips,tricks,gadgets,widgets,templates,themes,help,hacks,design,domains,xml,html,blogspot.gr *