8. История сети Internet
1969 – сеанс связи ARPANET
1971 – отправка первого Email
1983 – ARPANET переходит на TCP/IP
1984 – запущена система DNS
1989 – появление WWW, HTTP, HTML
1993 – первый браузер – NCSA Mosaic
1995 – Yahoo, Hotmail, Amazon.com
1998 – Mail.Ru
13. Тенденции развития ПО
●
●
Клиент-серверная архитектура.
Глобальные приложения:
поиск, почта – big data
●
Мобильные приложения
●
Software as a Service
●
Облачные сервисы
Тонкие клиенты.
cоциальные сети,
14. Web приложения
●
●
●
●
●
Традиционные сайты: новости, блоги, wiki, базы знаний,
визитки.
Глобальные приложения: почтовые сервисы, поиск,
социальные сети.
E-commerce: магазины, бронирование, цифровая
дистрибуция.
Замена desktop приложениям: банк-клиенты, CRM,
корпоративный софт.
SAAS – то же cамое, но онлайн.
15. Чем можно заняться ?
●
Front-end разработка
●
Back-end разработка
●
Разработка под мобильные платформы
●
Инфраструктура
●
Архитектура
●
Системное программирование
●
Прочее (seo, security, management)
18. IP адресация
●
94.100.191.201 – один из адресов Mail.Ru
●
127.0.0.1 – всегда адрес лок. компьютера
●
192.168.12.14 – private ip (не уникален)
●
192.168.0.0/16 – адрес подсети
●
12.0xbad – тоже валидный адрес
●
2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d
20. DNS
●
Отличие домена и зоны DNS
●
Что возвращает DNS? Виды записей
●
Рекурсивные и итеративные запросы
●
Обратные зоны
●
CDN – content delivery network
●
Google public DNS – 8.8.8.8 8.8.4.4
21. HTTP
GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
Accept: text/html
Connection: close
(пустая строка)
HTTP/1.1 200 OK
Server: Apache
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(HTML)
22. Протоколы Internet
●
HTTP – передача гипертекста
●
FTP – передача файлов
●
SMTP – передача почты
●
POP3, IMAP – получение почты
●
SSH – удаленный доступ к серверу
●
SFTP – FTP через SSH
●
XMPP – Jabber, мгновенные сообщения
●
TCP ?
23. Форматы Internet
●
RFC822 - Internet Text Message format
●
XML
●
JSON, JSONP
●
CSV
●
MIME
●
JPEG / PNG / GIF
●
PDF
24. URI vs URL
URI – идентификатор
mailto:me@tut.ru
tel:02
urn:isbn:0-395-36341-1
URL – определяет положение ресурса
http://tom:abc@host.com/h/1.html?a=b
http – протокол
tom:abc – логин / пароль
host.com – адрес сервера
/h/1.html – путь к ресурсу
a=b – параметры (query string)
29. CGI
Переменные окружения
REQUEST_METHOD – метод (GET, POST, …)
REQUEST_URI – строка запроса
QUERY_STRING - строка параметров
REMOTE_ADDR – ip адрес клиента
SCRIPT_NAME – имя текущего скрипта
HTTP_COOKIE – заголовок Cookie:
HTTP_REFERER – заголовок Referer:
30. CGI - скрипт
#!/usr/bin/python2.7
print "Content-Type: text/html"
print ""
print "<html><body>"
print "<h1>hello, world!</h1>"
import os
for k, v in os.environ.items():
print "%s = %s<br>" % (k, v)
print "</html></body>"
Ошибочка ?
31. Python
●
Скриптовый язык общего назначений
●
Синтаксис основан на отступах
●
Минимализм
●
Динамическая (но строгая) типизация
http://www.codecademy.com/tracks/python
32. Python (примеры)
animals = ['dog', 'tux', 'caterpillar']
for a in animals:
print(a)
if len(a) > 3:
print('%s_%s' % (a[0:2], ' for short'))
def reply(msg, user='author'):
return '<blockquote>' + user + ' says:<br>'
+ msg + '</blockquote>'
import datetime
td = datetime.date.today()
from datetime import date
td = date.today()
33. Шаблонизация
Скрипт do.cgi
return render_to_response('sample.tpl', {
'say_hello' : True,
'environ': os.environ
})
Шаблон sample.tpl
<ul>
[% IF say_hello %]
<h1>Hello, world!</h1>
[% END %]
[% FOR e IN environ %]
<li>[% e.name %] = [% e.value %]</li>
[% END %]
</ul>
34. SSI
<!--# include file=”/header.html” –->
<div class=”user-email”>
<!--# set var=”Email” value=”me@a.ru” -->
<!--# echo var=”Email” -->
</div>
<!--# if expr=”$Email” →
Авторизован
<!--# else -->
Вам нужно авторизоваться
<!--# endif -->
<!--# config -->
35. JavaScript
●
Язык программирования браузера
●
Java / C подобный синтаксис
●
DOM – дерево, DHTML
●
События и обработчики
●
XHR и Ajax
●
JQuery, Prototype, Backbone, YUI, …
http://www.codecademy.com/tracks/javascript