Javascript. Шаблоны

Речь, собственно, о книге Стояна Стефанова, которая так и называется “Javascript. Шаблоны“.

Книга отличная. Как по мне, так 5 из 5.

Я бы посовтеовал её читать людям, уже хоть как-то знакомым с JS. Совсем новичкам книга тоже, безусловно, будет полезна, но это не учебник, это именно набор шаблонов программирования и проектирования и кое-какие знания для чтения будут нужны.

Раньше всю информацию о JS собирал по крупицам – что-то подсмотрел у более опытного коллеги, что-то нашел в статье в интернете, до чего-то сам дошел и т.д и т.п.
И мне, потратившему на эти зания поиск этих знаний кучу времени, сейчас, конечно же жалко, что книги не было, когда я только начинал программировать на JS. Это отличный справочник, в котором все разложено по полочкам, всё подробно объяснено и без лишней воды.
Тут рассматривается как “классическое” (от слова класс) наследование, так и наследование без этого синтаксического сахара (классов то в JS нет), очень хорошо и понятно описываются замыкания и их применение и многое-многое другое.
Т. к. моя работа – JavaScript и я в ней оттрубил уже 4 года, не могу сказать, что узнал много нового из этой книги, но что-то новое определенно подчерпнул.

Например.
До прочтения книги не задумывался о том, чтобы функции, добавляющие события элементам не каждый раз определяли, в каком браузере они запущены, а сразу, при инициализации, создавались в зависимости от браузера. Т.е. при каждом добавлении события не будет происходить проверка, есть ли у текущего браузера метод addEventListener.

Еще один плюс – книга свежая. В ней есть как упоминания стандарта ECMAScript 5, так и знакомство с web workers.

Из минусов (ну можно же мне к умной книге попридираться?):
Несколько примеров или нелогичны или даже с багом:
1. Функция, возвращающая следующий элемент, в локальной переменной index хранит именно следующий элемент и при попытке автора дописать функционал, возвращающий текущий элемент он получает баг.
2. В примере с крестиками ноликами функция, ставящая случайно нолик, ходит по всем девяти клеткам (даже если они заняты), пока случайно не наткнется на свободную.
Ну ё моё. После создания замечательных шаблонв писать такие примеры… (

“Итого” короткое – если ваша работа связана с JS, настоятельно рекомендую.

Posted in JavaScript, Интернет, Саморазвитие | Tagged as: , , , , | Оставить комментарий

Удручающие истории от наблюдателей на выборах 4 декабря 2011 года

Как все было на самом деле. Избирательный участок №6 г. Москва. Хроника одного дня.

Тут бы и сказочке конец, но это было только начало. На часах 1:20 все формальности соблюдены, теперь по закону председатель должен провести итоговое заседание, рассмотреть поступившие жалобы и утвердить итоговый протокол голосования по нашему участку. Я уже немного расслабился ибо мне казалось, что основное дело сделано. Председатель действительно бойко командует о составлении протоколов в 2х экземплярах как положено. Комиссия их дружно подписывает я прошу чтобы мне выдали заверенную копию протокола, председатель говорит: “Конечно сейчас немедленно сделаем” и выходит из помещения для голосования с двумя протоколами. Забегая вперед скажу, что больше я его не видел. Но в этот момент мне кажется что дело в шляпе и я расслабляюсь минут 15 на стуле, проведя почти весь день на ногах. Бюллетени на столе в опечатаных конвертах, увеличенная копия протокола на стене, списки избирателей опечатаны в сейфе.

Это еще далеко не конец, но я в душе ликую. Наконец мы, избиратели, поставили зарвавшихся едросов не место. По нашему участку они даже не вторые, а лишь третьи с результатом 18,9% пропустив вперед себя и Яблоко и КПРФ. Председатель ведет себя спокойно и делает все по закону. Бюллетени по партийным спискам упаковываются в индивидуальные упаковки.
Уже в штабе ЦИК (примечание):
По этому протоколу по участку №6 у Яблоко 4 голоса вместо 134, а у Единой России – 515 вместо 128.

Спи..или мешок и убежали

Начался подсчёт. Считали не по отдельной бумажке, а пачками, раскидывая по стопкам бюллетени: стопка КПРФ, Едра и т.д. Я не успевал смотреть где галочки стоят. Но молчал, потому что думал, что это просто подсчёт количества бюллетеней в урне, число которых должно совпасть с количеством проголосовавших. В ходе этого подсчёта я успел уловить, что у “Справедливой России” триста с копейками голосов, а у Едра 458, при этом я не знаю, были ли в этой стопке реально бюллетени с голосами именно за эту партию. А потом я вижу как в протоколе на стене написали, что у Справедливой сто с чем-то голосов, а у Едра 506 ! И это по даным этого “подсчёта” ! Я попросил пересчитать бюллетени. Мне ответили отказом. Я стал звонить в штаб “Справедливой России”. В это время председатель комиссии схватил со стола неопечатанный пакет с бюллетенями и вместе с секретарём и какими-то ещё членами комиссии ушёл из зала. За ними пошёл старичок из КПРФ, а вернувшись сказал, что они уехали на машине.
Какие к чёрту карусели?! Написали цифру от балды, спиздили мешок и убежали!

Думаю, продолжения будут.

Posted in Борьба за справедливость | Оставить комментарий

Команды, которыми пользуюсь не так часто, чтоб запомнились (для Ubuntu)

Будет пополняться…

Работа с пользователями

Cоздать нового пользователя

sudo adduser username

Добавить пользователя в группу sudo

usermod -aG sudo username

Удалить пользователя и его домашнюю директорию

sudo deluser --remove-home username

Continue reading

Posted in *nix, рутина, Саморазвитие | Tagged as: , , | Оставить комментарий

Ставим Livestreet c github’а и дальнейшее использование git (*nix)

В этой статье я расскажу про азы использования git’a на примере установки livestreet с github.
У нас будет основной репозиторий на сервере в дев папке и версии проекта на локальных машинах у нескольких разработчиков.
Почему так?
Наш проект не открытый, поэтому бесплатно его на github выкладывать не получится. Поэтому принято решение держать общий репозиторий проекта на сервере, доступном всем работающим над проектом программистам.
Continue reading

Posted in *nix, Интернет, Проекты, рутина, Саморазвитие | Tagged as: , , , | Оставить комментарий

Как с Windows поставить Ubuntu в VirtualBox и настроить общие папки

Поставить VirtualBox на винде проблем не было, а вот настроить там общие папки с гостевой Ubuntu – целая эпопея.
В итоге нашел тут решение, а там заодно и про установку есть.

Коротенько по моей проблеме:
1. Выбрать общую папку:
Меню VirtualBox -> Устройства -> Общие папки...
Я назвал свою папку shared
2. Набрать в консоле в убунте след. строчку и запомнить показанную цифру (у меня 46):
cat /etc/group | grep plugdev
3. Добавить в файл /etc/fstab в самый конец строку shared /media/shared vboxsf defaults,gid=46 0 0
sudo gedit /etc/fstab
shared /media/shared vboxsf defaults,gid=46 0 0
4. Создать папку /media/shared
5. Перезапустить убунту

От себя добавлю, что в папке /media/shared у меня так ничего и не появилось, зато в /media/sf_shared была нужная мне расшаренная папка.
Правда чтоб зайти в /media/sf_shared нужно выполнить sudo su

Posted in *nix, Интернет, Саморазвитие, Физкультура | Tagged as: , , | Оставить комментарий

Есть повод придумать стимпанк-персонажа или Новый конкурс на Стимпанкере

Герои парового мира
Отечественный настольный варгейм “Викториум”, совместно со Стимпанкером начали большой конкурс – “Герои парового мира”.
С условиями, правилами и призами можно ознакомиться на странице конкурса.

Posted in Интернет, Проекты, Стимпанк | Tagged as: , , , | Оставить комментарий

Как яндекс-каталог влияет на ТИЦ?

Яндекс-каталог влияет на ТИЦ однозначно положительно.
В каталог мы попали 20 апреля 2011 года.
Как видно из таблицы, предоставленной ниже, апдейт ТИЦ за 28 апреля еще не успел учесть попадание ресурса в каталог.
Зато следующий апдейт однозначно говорит о связи между нахождением в каталоге и ТИЦом.

Дата ТИЦ
04.11.2011 170
29.07.2011 130
28.04.2011 80
20.04.2011 Попали в каталог
08.04.2011 80
16.03.2011 70
23.03.2011 60
06.08.2010 50
02.07.2010 40
21.04.2010 30

За всю историю ресурса специальных СЕО-раскруток (покупка статей/ссылок, прогон по каталогам и т.п.) почти совсем не делалось.

Posted in Интернет, Проекты | Tagged as: , , | 1 комментарий

Второй день РИТ++ или день идеологий

“Вечная статика” – оптимизация отдачи контента / Сергей Скворцов (OpenStat)
Автор за пол часа оттараторил основные способы оптимизации front-end’а.
Большинство знакомы всем – это упаковывание файлов в один, зипование, добавление версионности (времени последнего изменения) в имя файла.
Из неочевидных – предложил присмотреться к заголовкам. На многих сайтах в заголовках запросов передается ненужная информация, типа “X-Powered-By PHP/5.2.6-1+lenny9″ в контакте и т.д., иногда на пару строк набирается. Так же автора заметил, что cookie тоже передаются с каждым запросом, а это до +4 Kb в Опере и старом IE и больше – в других браузерах. Continue reading

Posted in action script 3, JavaScript, Интернет, Саморазвитие | Tagged as: , , , | Оставить комментарий

Первый день РИТ++

Был вчера на первом дне РИТ++.
Для первого раза (я первый раз на таком мероприятии) неплохо, однако все равно большую часть времени обсуждают ужа давно известные вещи.
Что надо кешировать данные, что для веба важно не количество передаваемых мегабайат, а количество запросов в секунду, про долгое тройное рукопожатие.
Новое услышал в секциях, с которым раньше не сталкивался в виду того, что это не входило в круг моих обязанностей. Хотя было оно исключение, да и большая часть клиент-сайда будет обсуждаться завтра уже сегодня. Continue reading

Posted in Интернет, Проекты, Саморазвитие | Tagged as: , | Оставить комментарий

Конкурс – Безумное чаепитие


Совсем забыл написать у себя, что начали конкурс “Безумное чаепитие”.
Правила конкурса можно посмотреть тут.
Первая завершенная работа под катом: Continue reading

Posted in Позитив, Проекты, Стимпанк | Tagged as: , , | Оставить комментарий