<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1408003783240512879</id><updated>2011-11-10T03:17:58.679-08:00</updated><category term='go golang mercurial ubuntu python'/><category term='closure'/><title type='text'>the-exception</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://the-exception.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1408003783240512879/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://the-exception.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nikolay N Lavrenov</name><uri>http://www.blogger.com/profile/07069152799943055062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1408003783240512879.post-9055118449343174038</id><published>2011-02-06T12:40:00.000-08:00</published><updated>2011-02-06T12:40:29.067-08:00</updated><title type='text'>1. django-cms</title><content type='html'>&lt;span style="background-color: white; font-size: large;"&gt;&lt;span style="color: red;"&gt;django-cms 2.1.0 - python-2.7.1 - windows xp home sp3&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; Устанавливаем python-2.7.1 (по умолчанию C:\Python27)&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; Добавляем в переменную окружения (PATH) пути&lt;br /&gt;C:\Python27\Scripts;C:\Python27\Lib\site-packages;C:\Python27;C:\Python27\libs;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; Скачиваем и устанавливаем setuptools и PIL&lt;br /&gt;&lt;a href="http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20"&gt;http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20&lt;/a&gt;&lt;br /&gt;&lt;a href="http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.7.exe"&gt;http://effbot.org/media/downloads/PIL-1.1.7.win32-py2.7.exe&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt;Запускаем в командной стоке&lt;br /&gt;sudo easy_install pip&lt;br /&gt;sudo pip install django django-cms south django-appmedia&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt;Создаём каталог для проектов&lt;br /&gt;D:\MyPyProj&lt;br /&gt;и переходим в него в командной строке&lt;br /&gt;D:&lt;br /&gt;cd D:\MyPyProj&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6.&lt;/b&gt;Запускаем в командной строке&lt;br /&gt;django-admin.py startproject mycmsproject&lt;br /&gt;cd mycmsproject&lt;br /&gt;&lt;br /&gt;&lt;b&gt;7.&lt;/b&gt; Меняем содержимое файла settings.py на&lt;br /&gt;---------------------------------------&lt;br /&gt;# -*- coding: utf-8 -*-&lt;br /&gt;import os&lt;br /&gt;&lt;br /&gt;gettext = lambda s: s&lt;br /&gt;&lt;br /&gt;PROJECT_DIR = os.path.abspath(os.path.dirname(__file__))&lt;br /&gt;&lt;br /&gt;DEBUG = True&lt;br /&gt;TEMPLATE_DEBUG = DEBUG&lt;br /&gt;&lt;br /&gt;ADMINS = (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # ('Your Name', 'your_email@domain.com'),&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;MANAGERS = ADMINS&lt;br /&gt;&lt;br /&gt;LANGUAGES = [('en', 'en')]&lt;br /&gt;DEFAULT_LANGUAGE = 0&lt;br /&gt;&lt;br /&gt;DATABASES = {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'default': {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'ENGINE': 'django.db.backends.sqlite3',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'NAME': os.path.join(PROJECT_DIR, 'mycms.db'),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Local time zone for this installation. Choices can be found here:&lt;br /&gt;# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name&lt;br /&gt;# although not all choices may be available on all operating systems.&lt;br /&gt;# On Unix systems, a value of None will cause Django to use the same&lt;br /&gt;# timezone as the operating system.&lt;br /&gt;# If running in a Windows environment this must be set to the same as your&lt;br /&gt;# system time zone.&lt;br /&gt;TIME_ZONE = 'America/Chicago'&lt;br /&gt;&lt;br /&gt;# Language code for this installation. All choices can be found here:&lt;br /&gt;# http://www.i18nguy.com/unicode/language-identifiers.html&lt;br /&gt;LANGUAGE_CODE = 'en-us'&lt;br /&gt;&lt;br /&gt;SITE_ID = 1&lt;br /&gt;&lt;br /&gt;# If you set this to False, Django will make some optimizations so as not&lt;br /&gt;# to load the internationalization machinery.&lt;br /&gt;USE_I18N = True&lt;br /&gt;&lt;br /&gt;# If you set this to False, Django will not format dates, numbers and&lt;br /&gt;# calendars according to the current locale&lt;br /&gt;USE_L10N = True&lt;br /&gt;&lt;br /&gt;# Absolute filesystem path to the directory that will hold user-uploaded files.&lt;br /&gt;# Example: "/home/media/media.lawrence.com/"&lt;br /&gt;MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')&lt;br /&gt;&lt;br /&gt;# URL that handles the media served from MEDIA_ROOT. Make sure to use a&lt;br /&gt;# trailing slash if there is a path component (optional in other cases).&lt;br /&gt;# Examples: "http://media.lawrence.com", "http://example.com/media/"&lt;br /&gt;MEDIA_URL = '/media/'&lt;br /&gt;&lt;br /&gt;# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a&lt;br /&gt;# trailing slash.&lt;br /&gt;# Examples: "http://foo.com/media/", "/media/".&lt;br /&gt;ADMIN_MEDIA_PREFIX = '/media/admin/'&lt;br /&gt;&lt;br /&gt;# Make this unique, and don't share it with anybody.&lt;br /&gt;SECRET_KEY = '0r6%7gip5tmez*vygfv+u14h@4lbt^8e2^26o#5_f_#b7%cm)u'&lt;br /&gt;&lt;br /&gt;# List of callables that know how to import templates from various sources.&lt;br /&gt;TEMPLATE_LOADERS = (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.template.loaders.filesystem.Loader',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.template.loaders.app_directories.Loader',&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;MIDDLEWARE_CLASSES = (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.middleware.common.CommonMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.sessions.middleware.SessionMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.middleware.csrf.CsrfViewMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.auth.middleware.AuthenticationMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.messages.middleware.MessageMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.middleware.page.CurrentPageMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.middleware.user.CurrentUserMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.middleware.toolbar.ToolbarMiddleware',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.middleware.media.PlaceholderMediaMiddleware',&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;TEMPLATE_CONTEXT_PROCESSORS = (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.core.context_processors.auth',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.core.context_processors.i18n',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.core.context_processors.request',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.core.context_processors.media',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.context_processors.media',&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;CMS_TEMPLATES = (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ('example.html', 'Example Template'),&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;ROOT_URLCONF = 'urls'&lt;br /&gt;&lt;br /&gt;TEMPLATE_DIRS = (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; os.path.join(PROJECT_DIR, 'templates'),&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;INSTALLED_APPS = (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.auth',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.contenttypes',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.sessions',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.sites',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.messages',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'django.contrib.admin',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'menus',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'mptt',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'appmedia',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'south',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.plugins.text',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.plugins.picture',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.plugins.link',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.plugins.file',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.plugins.snippet',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'cms.plugins.googlemap',&lt;br /&gt;)&lt;br /&gt;---------------------------------------&lt;br /&gt;&lt;br /&gt;7. Меняем содержимое файла urls.py на&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;from django.conf.urls.defaults import *&lt;br /&gt;from django.contrib import admin&lt;br /&gt;from django.conf import settings&lt;br /&gt;&lt;br /&gt;admin.autodiscover()&lt;br /&gt;&lt;br /&gt;urlpatterns = patterns('',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url(r'^admin/', include(admin.site.urls)),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; url(r'^', include('cms.urls')),&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;if settings.DEBUG:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; urlpatterns = patterns('',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (r'^' + settings.MEDIA_URL.lstrip('/'), include('appmedia.urls')),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) + urlpatterns&lt;br /&gt;---------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;b&gt;8.&lt;/b&gt; Создаём каталог templates и добавляем в него файл example.html&lt;br /&gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;{% load cms_tags %}&lt;br /&gt;&amp;lt;!doctype html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;title&amp;gt;{{ request.current_page.get_title }}&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp; {% plugins_media %}&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {% placeholder "main" %}&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;---------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;b&gt;9.&lt;/b&gt; Запускаем в командной строке&lt;br /&gt;&lt;br /&gt;python manage.py syncdb --all&lt;br /&gt;python manage.py migrate --fake&lt;br /&gt;python manage.py runserver&lt;br /&gt;&lt;br /&gt;&lt;b&gt;10.&lt;/b&gt; Переходим на адрес&lt;br /&gt;&lt;a href="http://127.0.0.1:8000/"&gt;http://127.0.0.1:8000/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1408003783240512879-9055118449343174038?l=the-exception.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://the-exception.blogspot.com/feeds/9055118449343174038/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://the-exception.blogspot.com/2011/02/1-django-cms.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1408003783240512879/posts/default/9055118449343174038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1408003783240512879/posts/default/9055118449343174038'/><link rel='alternate' type='text/html' href='http://the-exception.blogspot.com/2011/02/1-django-cms.html' title='1. django-cms'/><author><name>Nikolay N Lavrenov</name><uri>http://www.blogger.com/profile/07069152799943055062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1408003783240512879.post-6675384952219578647</id><published>2011-02-06T01:54:00.000-08:00</published><updated>2011-02-06T01:54:33.173-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='go golang mercurial ubuntu python'/><title type='text'>1.GoLang</title><content type='html'>&amp;nbsp;Установка.&lt;br /&gt;Установил на WM Ubuntu-10.10 для нетбуков&lt;br /&gt;sudo apt-get install bison ed gawk gcc libc6-dev make&lt;br /&gt;Так как установлен python 2.6.6&lt;br /&gt;Устанавливаем&lt;br /&gt;sudo apt-get install python-setuptools&lt;br /&gt;для&lt;br /&gt;sudo easy_install mercurial&lt;br /&gt;$ hg clone -r release https://go.googlecode.com/hg/ go&lt;br /&gt;$ cd go/src&lt;br /&gt;$ ./all.bash&lt;br /&gt;Прописываем переменную окружения&lt;br /&gt;export PATH=/home/go/go/bin:$PATH&lt;br /&gt;&lt;br /&gt;Создаём каталог для своих проектов&lt;br /&gt;/home/MyGolangProj&lt;br /&gt;и через текстовый редактор файл test01.go&lt;br /&gt;с содержимым&lt;br /&gt;&lt;br /&gt;package main&lt;br /&gt;&lt;br /&gt;import "fmt"&lt;br /&gt;&lt;br /&gt;func main() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fmt.Printf("hello, world\n")&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;входим в каталог&lt;br /&gt;cd /home/MyGolangProj&lt;br /&gt;&lt;br /&gt;$ 8g test01.go&lt;br /&gt;$ 8l test01.8&lt;br /&gt;$ ./8.out&lt;br /&gt;hello, world&lt;br /&gt;$&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Обновляем GoLang (раз в 1-2 дня)&lt;br /&gt;&lt;br /&gt;$ cd go/src&lt;br /&gt;$ hg pull&lt;br /&gt;$ hg update release&lt;br /&gt;$ ./all.bash&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1408003783240512879-6675384952219578647?l=the-exception.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://the-exception.blogspot.com/feeds/6675384952219578647/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://the-exception.blogspot.com/2011/02/1golang.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1408003783240512879/posts/default/6675384952219578647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1408003783240512879/posts/default/6675384952219578647'/><link rel='alternate' type='text/html' href='http://the-exception.blogspot.com/2011/02/1golang.html' title='1.GoLang'/><author><name>Nikolay N Lavrenov</name><uri>http://www.blogger.com/profile/07069152799943055062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1408003783240512879.post-2759101999143021729</id><published>2011-01-20T11:33:00.000-08:00</published><updated>2011-01-20T11:44:55.140-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='closure'/><title type='text'>closure - старт - 1</title><content type='html'>Начинаю изучение javascript библиотеки &lt;b&gt;closure&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Официальный сайт.&lt;br /&gt;&lt;a href="http://code.google.com/p/closure-library/"&gt;closure-library&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Инструментарий:&lt;br /&gt;&lt;a href="http://www.wampserver.com/"&gt;WAMP &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1.Создаём в директории www, папку для тестов&lt;br /&gt;&amp;nbsp;&lt;b&gt;closure&lt;/b&gt;&lt;br /&gt;2.Закидываем &lt;b&gt;в нее папку со скачанной библиотекой и переименовываем её в js&lt;/b&gt;&lt;br /&gt;&lt;b&gt;3. Создаём файл index.php и hello.js&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;index.php&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;span style="font-size: x-small;"&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta charset="UTF-8"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;test&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src="&lt;span style="color: red;"&gt;js/closure/goog/base.js&lt;/span&gt;"&amp;gt;&amp;lt;/script&amp;gt; // подключение closure&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src="&lt;span style="color: red;"&gt;hello.js&lt;/span&gt;"&amp;gt;&amp;lt;/script&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // подключение hello.js&lt;br /&gt;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;body onload="&lt;span style="color: red;"&gt;sayHi()&lt;/span&gt;"&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //вызываем функцию из hello.js&lt;br /&gt;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;u&gt;&lt;b&gt;hello.js&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;span style="font-size: x-small;"&gt;goog.require('goog.dom');&lt;br /&gt;&lt;br /&gt;function sayHi() {&lt;br /&gt;&amp;nbsp; var newHeader = goog.dom.createDom('h1', {'style': 'background-color:#EEE'},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Hello world!');&lt;br /&gt;&amp;nbsp; goog.dom.appendChild(document.body, newHeader);&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;div class="line number1 index0 alt2"&gt;&lt;code class="jscript comments"&gt;// подключаем DOM пакет&lt;/code&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;code class="jscript plain"&gt;goog.require(&lt;/code&gt;&lt;code class="jscript string"&gt;'goog.dom'&lt;/code&gt;&lt;code class="jscript plain"&gt;);&lt;/code&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;code class="jscript comments"&gt;// создаем элемент&lt;/code&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;span style="font-size: x-small;"&gt;goog.dom.createDom('h1', {'style': 'background-color:#EEE'},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Hello world!');&lt;/span&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;code class="jscript comments"&gt;// добавляем к DOM&lt;/code&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="jscript comments"&gt;&amp;nbsp;&lt;/code&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;span style="font-size: x-small;"&gt;goog.dom.appendChild(document.body, newHeader);&lt;/span&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;span style="font-size: x-small;"&gt;Заходим на http://localhost/closure/&lt;/span&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;span style="font-size: x-small;"&gt;Данный пример взят из документации, поэтому - чтобы закрепить пройденное, экспериментируем:&lt;/span&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;u&gt;&lt;b&gt;hello.js&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;/div&gt;&lt;div class="line number2 index1 alt1"&gt;&lt;span style="font-size: x-small;"&gt;goog.require('goog.dom');&lt;br /&gt;&lt;br /&gt;function sayHi() {&lt;br /&gt;&amp;nbsp; var newHeader = goog.dom.createDom('h1', {'style': 'background-color:#EEE'},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Hello world!');&lt;br /&gt;&amp;nbsp; var newHeader2 = goog.dom.$dom('h2', {'style':'color:red;', 'class':'title'}, 'Hello World2!');&lt;br /&gt;&amp;nbsp; var newHeader3 = goog.dom.$dom('h2', {}, 'Hello World3!');&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; goog.dom.appendChild(document.body, newHeader);&lt;br /&gt;&amp;nbsp; goog.dom.appendChild(document.body, newHeader2);&lt;br /&gt;&amp;nbsp; goog.dom.appendChild(document.body, newHeader3);&lt;br /&gt;&lt;br /&gt;}&amp;nbsp;&lt;/span&gt;&lt;code class="jscript comments"&gt;&amp;nbsp;&lt;/code&gt;&lt;code class="jscript plain"&gt; &lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Ну вот, собственно и стартанули!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1408003783240512879-2759101999143021729?l=the-exception.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://the-exception.blogspot.com/feeds/2759101999143021729/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://the-exception.blogspot.com/2011/01/closure-1.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1408003783240512879/posts/default/2759101999143021729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1408003783240512879/posts/default/2759101999143021729'/><link rel='alternate' type='text/html' href='http://the-exception.blogspot.com/2011/01/closure-1.html' title='closure - старт - 1'/><author><name>Nikolay N Lavrenov</name><uri>http://www.blogger.com/profile/07069152799943055062</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
