Pull to refresh
82
0
Никита @greedykid

Rust-разработчик

Send message

Визовый форум visaforum.org

Reading time1 min
Views929
Здравствуйте, дорогие хабравчане!

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

Если есть желание оформить визу самостоятельно, или хочется убедиться, что действительно все документы собраны и правила соблюдены — www.visaforum.org должен пригодиться. Впрочем, и при планировании самой поездки стоит знать, какие документы нужно готовить и где брать актуальную информацию по визовым требованиям и другим нюансам.

Информация по каждой стране собрана в так называемом «визовом справочнике».
Например, вот форум по визам в Великобританию: www.visaforum.org/forum/180 — все актуальные ссылки, контактные данные посольств/консульств и другая информация описана в визовом справочнике.

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

Также может быть интересным визовый FAQ — раздел, в котором собраны основные принципиальные вопросы по оформлению виз, и, конечно же, ответы на них.

Если что–то неясно или нужна дополнительная консультация — можно задать вопрос, для этого не нужна регистрация — просто напишите сообщение в нужном форуме, а когда появится блок с правилами, прочитайте правила и в самом низу блока нажмите галочку «я согласен с правилами» — и сообщение будет добавлено.

Внимание: сайт, можно сказать, в бета–версии, но в принципе всё работает, а потому можно пользоваться. Надеюсь, что кому–нибудь наш проект поможет!

Встречайте, http://erlanger.ru/

Reading time1 min
Views1.3K
Встречайте, erlanger.ru

Почти три года тому назад у Кирилла Заборского (Qrilka) и Олега Тайкало (mirrorer) появилась мысль, что неплохо было бы начать перевод документации по Эрлангу на русский язык. У меня тогда как раз намечались свободные вычислительные мощности и я легко поддался на уговоры разместить вики с переводами у себя на сервере.

Время шло. Перевод шел с разной скоростью, обрастал такими вещами, как например, переводами man-страниц, и я на свою беду решил снабдить сайт еще и новостями из мира Erlanga. Это было два с половиной года тому назад.

За два с половиной года набралось ни много ни мало 500 новостей (а если бы я не был ленивым, то их было бы в полтора раза больше :) ). Организовалось достаточно активное русскоязычное сообщество в Google Groups (в первую очередь благодаря «хозяину» группы Максиму Трешкину(zerthurd)) и в Jabber'е (тоже спасибо Максиму)

В общем, жизнь у русскоязычных Эрлангистов бьет ключом.

Я посчитал, что негоже нам всем ютиться на erlanger.dmitriid.com и решил еще в январе 2009-го перенести сайт на подобающий домен. Всего год спустя необходимость поборола лень и вот — встречайте, erlanger.ru

WebSockets — полноценный асинхронный веб

Reading time7 min
Views347K
Пару недель назад разработчики Google Chromium опубликовали новость о поддержке технологии WebSocket. В айтишном буржунете новость произвела эффект разорвавшейся бомбы. В тот же день различные очень известные айтишники опробовали новинку и оставили восторженные отзывы в своих блогах. Моментально разработчики самых разных серверов/библиотек/фреймворков (в их числе Apache, EventMachine, Twisted, MochiWeb и т.д.) объявили о том, что поддержка ВебСокетов будет реализована в их продуктах в ближайшее время.
Что же такого интересного сулит нам технология? На мой взгляд, WebSocket — это самое кардинальное расширение протокола HTTP с его появления. Это не финтифлюшки, это сдвиг  парадигмы HTTP. Изначально синхронный протокол, построенный по модели «запрос — ответ», становится полностью асинхронным и симметричным. Теперь уже нет клиента и сервера с фиксированными ролями, а есть два равноправных участника обмена данными. Каждый работает сам по себе, и когда надо отправляет данные другому. Отправил — и пошел дальше, ничего ждать не надо. Вторая сторона ответит, когда захочет — может не сразу, а может и вообще не ответит. Протокол дает полную свободу в обмене данными, вам решать как это использовать.

Я считаю, что веб сокеты придутся ко двору, если вы разрабатываете:
— веб-приложения с интенсивным обменом данными, требовательные к скорости обмена и каналу;
— приложения, следующие стандартам;
— «долгоиграющие» веб-приложения;
— комплексные приложения со множеством различных асинхронных блоков на странице;
— кросс-доменные приложения.

Заинтриговал? Давайте посмотрим подробнее

WEBO Site SpeedUp альфа-версия

Reading time3 min
Views1K
Всех с наступающими. Мы не очень долго думали, что подарить фанатам быстрой загрузки и большой скорости — и собрали альфа-версию приложения WEBO Site SpeedUp (преемник Web Optimizer).
Если кому лень читать дальше, то ссылка на загрузку
code.google.com/p/web-optimizator/downloads/detail?name=webo.site.speedup.v0.9.0b.zip

WEBO Site SpeedUp — продукт для комплексного ускорения сайта. Применяет все технологии клиентской (и частично серверной) оптимизации. Среднее ускорение — 2,5 раза.
Читать дальше →

Потоковое видео средствами ffserver & ffmpeg

Reading time2 min
Views149K

Для организации трансляции нам потребуется:


  • Linux
  • FFmpeg (включает в себя ffserver)

Теория


FFmpeg — это набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровое аудио и видео в различных форматах. Он включает libavcodec, библиотеку кодирования и декодирования аудио и видео и libavformat, библиотеку мультиплексирования и демультиплексирования в медиаконтейнер. Название происходит от названия экспертной группы MPEG и «FF», означающего «fast forward».

© Wikipedia

ffserver идёт в комплекте с ffmpeg и выполняет роль медиа-сервера — получает видеопоток от ffmpeg, который может быть запущен на другой машине, и раздаёт его счастливым пользователям.
Каждый получаемый поток называется Feed’ом (далее будет просто фид). Таких потоков может быть несколько, так же как и отдаваемых (выходных).
FFmpeg у нас будет захватывать видео с веб-камеры или читать из файла.
Читать дальше →

Триграммный индекс или «Поиск с опечатками»

Reading time4 min
Views36K
Как-то по долгу службы появилась необходимость добавить к поиску на сайте всем известную фичу, сервис «Возможно вы имели в виду…» или «Поиск с опечатками». Стали думать как реализовывать. Сторонние сервисы и api использовать не хотелось, ибо время до чужого сервера и назад, да и в целом не очень хорошо. Как раз кстати пришелся модуль pg_trgm, который ищет близкие к запросу слову на основе триграммного индекса.

Итак, идея есть, надо реализовывать.

DjangoCMS2.0 — быстрее, больше, эффективней

Reading time5 min
Views70K
Django — очаровательный в своей простоте и гибкости фреймворк. Однако, для быстрого построения большого числа несложных сайтов требуется поставить разработку сайтов на поток. Разрабатывать систему управления сайтом каждый раз утомляет и грозит потерями времени. Именно поэтому программисты часто обращаются к готовым CMS.

Почти все знают о гигантах конвеерного веб-программирования, основанных на php — Drupal, Joomla!, Wordpress и прочих, но не все знают, что в мире Python существуют не менее мощные и даже гораздо более зрелые инструменты.

Ниже - чуть-чуть о них и много - об одном из новичков индустрии

Twisted в действии — memcache на python

Reading time8 min
Views7.5K

Преамбула


В связи с выходными потратил немного времени на реализацию сервера Memcache с использованием python-фреймворка Twisted. В итоге я получил быстродействие в два раза более низкое, что я не считаю очень критичным, а также возможность реализовать парочку расширений оригинального протокола. Также возможны оптимизации, которые еще улучшат быстродействие.
Протокол не был реализован полностью — есть еще моменты над которыми можно поработать, но стандартные set/get вполне работоспособны и готовы к использованию.

Средства


Для хранения кеша используем базовый класс dict. Как вы догадываетесь, реализация dict в python быстра, этот базовый тип используется в python настолько активно, что его не оставили без детальной оптимизации. Таким образом, мы автоматом имеем структуру для хранения кеша в памяти. Осталось реализовать протокол memcache, для предоставления доступа к dict другим программам.

Для реализации сервера используем Twisted. Есть множество вариаций неблокирующего IO для python на сегодня, но Twisted это уже классика, и имеет в своем арсенале достаточно средств для легкого решения подобных задач.

Читать дальше →

Algorithmatic — социальный ресурс алгоритмов

Reading time1 min
Views1K


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

Читать дальше →

jQuery.keyboard v0.1.0

Reading time2 min
Views5.6K

У меня есть на примете как минимум два проекта, в которых понадобится активное управление с помощью клавиатуры. Поэтому, я сел и написал удобный и красивый плагин для jQuery, который выкладываю во всеобщий доступ под свободной лицензией LGPL.
Читать дальше →

Статический анализ кода C++

Reading time5 min
Views34K
Для меня красота C++ заключается, в первую очередь, во вседозволенности и ужасающей мощи языка. Мы можем работать с памятью так же плотно, как и в C, и в то же время имеем такие средства абстракции, как шаблоны и STL, где параметризовать можно что угодно и чем угодно.
Плата за это соответствующая — не всегда вразумительные ошибки компилятора (попробуйте забыть поставить точку с запятой после определения класса), очень большой срок подготовки и обучения программистов, но самое главное — некоторые баги становятся заметными только во время исполнения программы.
Мы хотим больше полезных ворнингов до запуска наших программ. Одно из средств получения желаемого — статический анализ кода. Статический — значит, не запуская программу. Интересны не только вероятные ошибки, случаи undefined behaviour, утечки памяти, но и вещи вроде недоступности/неиспользуемости кода, рекомендации по повышению интуитивности стиля программирования.
Читать дальше →

Управление рисками

Reading time4 min
Views127K
В Deadline, Том Демарко пишет о том, что для управления проектом, достаточно управлять его рисками. Действительно, всю работу ПМа можно свести к одному — борьба с рисками, которые могут помешать проекту завершиться в срок, в бюджет и с необходимым уровнем качества. Если, по какой-то причине, рисков в проекте нет, то нет и предмета работы ПМа.

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

Читать дальше

Способы сокрытия IP-адреса в сети Internet

Reading time7 min
Views162K
Прежде чем мы подробно рассмотрим известные технологии сокрытия своего настоящего IP-адреса, нам следует узнать свой IP-адрес и выяснить некоторые вещи, обличающие наш компьютер в сети, например адрес DNS-сервера. Для этого достаточно зайти на любой сервис проверки анонимности, например www.whoer.net, главное чтобы он обладал интерактивной проверкой вашего компьютера с помощью Java, ActiveX, Flash и Javascipt. Изменить свой IP-адрес, например с помощью Socks или VPN, недостаточно, т.к. существует множество технологий, позволяющих его выявить, которые нужно либо отключить на своем компьютере, либо обмануть. Также не лишним будет изменить передаваемые НТТР-заголовки, это позволит «сбить» определение установленного ПО и географическое место расположения компьютера. Более детально проверить свой компьютер можно в расширенной версии www.whoer.net/ext.

Читать дальше →

Стартапы по бартеру

Reading time1 min
Views1.1K
Хотите сделать стартап (под этим словом я здесь понимаю любой новый интернет-проект), но не имеете стартового капитала? У вас есть личный интернет-проект, но вы не имеете возможности его достойно развивать?

Как бы вы отнеслись к предложению, чтобы другой специалист помог вам с вашим стартапом по бартеру: просто для портфолио, за постоянную ссылку с вашего сайта или за определенную работу для него с вашей стороны? Например, если вы программист — дизайнер нарисует для вас логотип, а вы сделаете для его сайта форму отправки контактов на AJAX.

Выглядеть это будет где-то так (кликабельно):

image

Прошу оценить мою идею. Если она окажется достаточно перспективной — реализую.

P. S. Кстати, ищу программиста для реализации этого проекта. Сам смогу сделать все, кроме программирования. Точнее смогу и его, но тогда это затянется. В идеале на symfony, но можно и на любой другой PHP-основе. Сам могу проектировать, дизайнить немного, верстать, писать тексты, обеспечивать юзабилити — могу помочь с вашим проектом. Или как-то еще помочь. Пишите в личку.

Фрагментарное кэширование в MVC веб-фреймворках

Reading time4 min
Views2.8K
Наверняка большинство программистов, работающих с современными веб-фрейворками, реализующими схему MVC, сталкивалось с таким небольшим затруднением: кэширование фрагмента View.

Хорошие фреймворки предлагают инструменты для полного кэширования страниц, фрагментарного, или кэширования экшенов. Недавно я посмотрел 90 выпуск подкаста Railscasts, посвященный именно фрагментарному кэшированию в Ruby on Rails и уважаемый автор решал проблему, как мне показалось, неоптимально.

Опишу ситуацию.
Мы в шаблоне страницы и хотим закэшировать ее часть, например, список новых товаров. Пока все хорошо, мы пользуемся встроенными во фреймворк удобными средствами и в две-три строчки окружаем блок — ура, он кэшируется. Но — чу!, контроллер-то об этом ничего не знает и продолжает выполнять свою работу по подготовке данных для View. Естественно, ведь проверка наличия кэша осуществляется уже из шаблона, а контроллер к тому моменту отработал.
Читать дальше →

Динамическое создание форм на основе данных из базы в Django

Reading time3 min
Views10K
Началось всё с того что надо было часто создавать однотипные формы и сохранять введённые данные в базу. По суте форма всегда одна и та же — «Заявка на регистрацию» — но в зависимости от мероприятия поля в ней разные.

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

Full Hierarchy — иерархические структуры в базах данных

Reading time5 min
Views16K
Здравствуйте. В этой статье я хотел бы написать про один очень интересный способ хранения иерархических структур в базах данных, не относящийся при этом к общепринятым и общеизвестным трём (Adjacency List, Nested Set, Materialized Path). Я не встречал в интернете упоминания о нём, о чём очень удивлен, ведь, по моему мнению, — это лучший и единственный способ хранить иерархические структуры. При разработке console-like форума я воспользовался именно этим способом, о чём ни на грамм не жалею. Это авторская статья и ни одно предложение не было вставлено метотодом копипаста.

Под катом способ, который я назвал Full Hierarchy

TeX-like разметка на Javascript

Reading time2 min
Views2.4K
При написании console-like форума был задан вопрос: «какую разметку лучше использовать?». Среди вариантов были стандартный бб-код ([b]bold[/b]), вики-разметка(*bold*), или TeX-like разметка (\b{bold}). После недолгого совещания выбор был остановлен именно на TeX-like. Была написана небольшая библиотека, которая, по моему мнению, достаточно интересна, расширяема и гибка. Желающие посмотреть пример могут перейти по ссылке freecr.ru/TeX
Под хабракатом у меня исходный код под лицензией LGPL, объяснение возможностей, принципов и примеры написания плагинов.

Information

Rating
Does not participate
Location
Scotland Central, Великобритания
Date of birth
Registered
Activity