Алгоритм Бойера — Мура

Алгоритм поиска строки Бойера — Мура считается наиболее быстрым среди алгоритмов общего назначения, предназначенных для поиска подстроки в строке. Был разработан Робертом Бойером и Джеем Муром в 1977 году. Преимущество этого алгоритма в том, что ценой некоторого количества предварительных вычислений над шаблоном (но не над строкой, в которой ведётся поиск) шаблон сравнивается с исходным текстом не во всех позициях — часть проверок пропускаются как заведомо не дающие результата.
Читать

Новый набор на курсы Learn Python

Объявляем набор участников на наши новые потоки курсов о Python: Aсинхронное программирование, Создание эффективных веб-приложений и Оптимизация Python кода. В этот раз потоки будут длиться по 6 занятий. Планируемая дата начала занятий: июнь 2013 года.

Асинхронное программирование

Сетевые библиотеки, например twisted, tornado, gevent, tulip — при кажущейся разнице в подходах имеют очень похожее ядро, называемое reactor, io loop, hub, event loop соответственно. Именно созданием этого ядра с нуля своими руками мы и займемся.

Цель курса: дать знания о том, как происходит работа с сетевыми подключениями (сокетами) на примере создания собственной библиотеки.

Требования к участникам: знание Python на достаточно приличном уровне. Введения в программирование не будет, с другой стороны создаваемый код не потребует чего-то сложного. Все сложности будут в работе с сетью а не в создании хитрых питоновских конструкций.

Потребуется Python 3.3. Хотя код мало зависит от версии языка, всё же в Python 3.3 появились некоторые удобные штуки которыми мы воспользуемся.

Операционная система: Linux, MacOS X или FreeBSD на выбор. Если есть сильное желание писать на Windows — тоже можно.

Коротко о чём будут занятия:

  • Написание примитивного клиент-серверного кода на потоках.
  • Объяснение почему производительные программы такой подход не используют. Нужно делать на epoll или kqueue, в крайнем случае select. Создание своего event loop. Сначала для обработки отложенных событий. Что это такое и какой должен быть интерфейс — расскажу по ходу дела.
  • Описание того, как работает select/epoll/kqueue. Добавляем к event loop работу с TCP сокетами, основанную на обратных вызовах. Правильная обработка ошибок.
  • Добавляем понятия транспорта-протокола.
  • Строим поверх этого удобный интерфейс для пользовательского кода. На yeild from или greenlets — по желанию.
  • Окончательный разбор результатов, ответы на возникшие вопросы.

Получившийся код в целом будет в основе следовать дизайну tulip в сильно упрощённом виде.

Курс состоит из шести занятий. Лектор: Андрей Светлов

Каждое занятие длится 2 часа.

Стоимость занятия: 300 грн.

Создание эффективных web-приложений

В 2013м году никого не удивишь веб-приложением, построенным при помощи Django, Pyramid или даже Flask. Однако куда сложнее удивить грамотным и эффективным web-приложением, способным одинаково успешно справлятся с нагрузкой реального мира и оставаться простым и легким для разработки.

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

На протяжении всего курса мы будем создавать веб-приложение, ориентированное на работу на ARM микро-компьютере Raspberry PI.

Требования к участникам: опыт в создании сайтов или проектов при помощи Python и популярных фреймворков. Учить создавать сайты с нуля не буду, буду помогать перейти на новый уровень и избегать довольно популярных и тем не менее назойливых ошибок.

Краткое содержания курса:

  • Архитектура высоконагруженного приложения, разделение проекта на бэкенд и фронтэнд, удаленное выполнение задач
  • Оптимизация архитектуры и оптимизация кода, что идет за чем
  • Тестирование как двигатель разработки, а не наоборот
  • Непрерывная интеграция и непрерывный деплоймент, сравнение мест для развертки проектов
  • Откуда берутся основные ошибки веб-приложений, зачем мы наступаем на одни и те же грабли

Курс состоит из шести занятий. Лектор: Игорь Давыденко

Каждое занятие длится 2 часа с перерывом в 15 минут.

Стоимость занятия: 200 грн, стоимость полного курса: 1000 грн.

Оптимизация Python кода

Чтобы делать высокоэффективный код нужно уметь пользоваться профайлером, читать байткод, выполнять алгоритмическую оптимизацию и писать Python C Extensions если алгоритмически выжать уже ничего не получается.

Всем этим мы и займемся.

Требования к участникам: уметь программировать на Python и C. Последнее очень желательно хотя бы на уровне остаточных знаний из институтского курса — половина рассматриваемого кода будет на С.

Python 3.3, операционная система любая.

Краткое со
держание курса:

  • Профилирование через cProfile и timeit, анализ измеренных результатов. Рассматриваем из чего состоит функция с точки зрения Python и добираемся до байткода. Несколько простых вариантов оптимизации.
  • Создаём простейший модуль Python C Extension.
  • Учимся делать Python классы на C.
  • Теперь пишем на Cython и радуемся как легко всё получается. В нагрузку ctypes.
  • Показываю, как устроена виртуальная CPython машина изнутри. Интерпретаторы, потоки, стек. GIL. Как PyEval_EvalFrameEx исполняет байткод.

Курс состоит из пяти занятий. Лектор: Андрей Светлов.

Каждое занятие длится 2 часа.

Стоимость занятия: 300 грн.

UPD. Для тех кто ещё не понял: online версии не будет. Ни в каком виде.

Автор: Andrew Svetlov

Задача о путешествии шахматного коня

Задача о ходе коня — задача о нахождении маршрута шахматного коня, проходящего через все поля доски по одному разу.

Эта задача известна по крайней мере с XVIII века. Леонард Эйлер посвятил ей большую работу «Решение одного любопытного вопроса, который, кажется, не подчиняется никакому исследованию» (датируется 26 апреля 1757 года).

Читать

Дизайнерские решения по покраске потолка

покрасьте потолок

При имеющемся разнообразии декоративных стилей вам необязательно ограничиваться традиционно белым потолком. Сегодня цветными могут быть не только стены, но и потолоки, если, конечно, декоративная схема составлена правильно.

Читать

Чернобыль.

  Правда о Чернобыле.

На Украине случилась беда. И вот уже двадцать семь лет прошло с тех пор, а гласность только теперь начала работать. Правда того трагического происшествия в тёплую апрельскую ночь, уходит в вечность.

Что самое страшное позади, авария локализована и отголоски трагедии замкнуты в пределах запретной зоны. Человеку свойственно верить в лучшее, но оставить его в этой вере преступно, поскольку опасность жива. И если враньё будет оставаться и народ всегда будет жить между катастрофами.

Хочу напомнить, что авария произошла 26 апреля 1986 года.
Следователи, прокуратура того времени, в обвинительном заключении писали, по делу Чернобыльской аварии, проведено в максимальной степени объективно. В ходе следствия было обнаружено много изъянов.

Учёный Волков писал об ошибках, но его не слушали и объявили идиотом.Он говорил , что эксперименты проводить рано. И вот последствия.

Чтобы прославится, уже испытывали турбину не один раз, все испытания заканчивались неудачей. И вот третье испытание, и результат.
Таким образом было установлены преступные действия руководстваь..

Можно много об этом писать, говорить, но вывод ясен. С враньём мы» Чернобыль» не преодолеем

TEXT.RU - 100.00%


Татьяна Черникова

Колечко, колечко, выйди на крылечко.

 

Многие любят носить колечко на пальцах руки. Но не многие знают, что эта традиция уходит в античное прошлое.

Она связана с древними ритуалами.
До наших дней сохранился ритуал дарения колец в свадебной церемонии.
Обручальные колечки, обязательно золотые, несут с собой защиту семейной жизни и верности. Оно считается   оберегом и талисманом.
Обычное кольцо на руке человека может поведать многое. Вкусы , характер, темперамент, социальное положение.
Большую роль играет и то, на какой палец надето кольцо.
Астрологи советуют людям, часто впадающим в агрессию, носить кольцо на большом пальце. Это поможет смирить излишний темперамент и привести себя в состояние гармонии и равновесия.
Указательный палец носит силу Юпитера и помогает не уверенным и застенчивым людям поднять планку своей значимости.
В учебе и к делах будет полезно кольцо, одетое на указательный палец.
Чтобы легко справиться с грядущими трудностями , переоденьте украшение на средний палец..
Чаще всего кольцо носят на безымянном пальце.
Здесь кольцо показывает страсть к богатству и достатку.
На мизинец одевайте колечко , когда есть трудности в общении, когда присутствует замкнутость и не умение говорить на публике.TEXT.RU - 82.28%


slyubovyu