Search
Write a publication
Pull to refresh
3
0
Дмитрий Куликов @DmitryKulikov

User

Send message

Ливкодинг сразу же для нескольких устройств

Reading time1 min
Views5.8K
image

Сегодня мы сделали демонстрацию ливкодинга HTML-страницы сразу же на нескольких устройствах и браузерах.
В демонстрации участвовало три ноутбука (sаfari, firefox, chrome), один телевизор (Samsung c Smart Hub), один iPad 3, и iPhone 4 и страница Apple iPhone 5C.
Читать дальше →

Google рассказал о своей формуле поиска

Reading time1 min
Views8K
Google открыл новый ресурс "Формула поиска", на котором подробно описывается, как работает поиск интернет-гиганта.

Например, сейчас можно узнать о последних новинках — поиске авиабилетов, персональном поиске и «похожих картинках», а также посетить раздел, где описан процесс создания дудлов.

Мега-Учебник Flask, Часть 3: Формы

Reading time10 min
Views141K
Это третья статья в серии, где я описываю свой опыт написания веб-приложения на Python с использованием микрофреймворка Flask.

Цель данного руководства — разработать довольно функциональное приложение-микроблог, которое я за полным отсутствием оригинальности решил назвать microblog.



Краткое повторение


В предыдущей части мы определили простой шаблон для домашней страницы и использовали мнимые объекты в качестве прототипов вещей, которых у нас еще нет. К примеру пользователи или записи.

В этой статье мы собираемся заполнить один из пробелов, которые есть в нашем приложении. Мы рассмотрим работу с формами.

Формы являются одними из самых основных блоков в любом веб-приложении. Использование форм позволит пользователям оставлять записи в блоге, а также логиниться в приложение.

Чтобы следовать этой части, ваше приложение микроблога должно быть таким, каким мы оставили его в конце предыдущей. Пожалуйста, убедитесь, что прилолжение установлено и работает.
Читать дальше →

Строим простую картограмму Pandas+Vincent

Reading time7 min
Views17K
Добрый день, уважаемые читатели.
В прошлой статье было описано ввдение в визулизацию данных с Pandas и matplotlib. Сегодня же хотелось бы показать еще один способ отображения результатов анализа с помощью Vincent, который так же очень просто интегрируется с Pandas, хотя и займет это чуть больше действий, чем в случае с matplotlib.
Читать дальше →

Добавляем безопасности браузеру Firefox

Reading time5 min
Views71K
image

В современном Интернете мы всё чаще сталкиваемся с различными опасностями, исходящими с Web-страниц. Уязвимые плагины, XSS на сайтах, эксплуатирование уязвимостей с помощью JavaScript, Clickjacking — и это далеко не полный список радостей жизни, которые могут встретиться на сайтах.

Даже если у Вас Linux или Mac OS X, нельзя быть полностью спокойными — в таком случае гадость просто не выйдет за пределы браузера, а вот cookies или LocalStorage извлечь вредоносный код вполне в состоянии. Также мощности компьютера могут быть использованы в совершенно неожиданных целях, вплоть до майнинга биткойнов на компьютере жертвы.

Так что защищать браузер необходимо не только снаружи, но и изнутри. Для этого нужно посмотреть на соответствующие расширения, чему и посвящён этот пост. Также здесь будут рассмотрены некоторые вопросы приватности (но не анонимности!), чтобы вы могли защититься от следящих компаний.
Читать дальше →

7 полезных книг для руководителя

Reading time4 min
Views103K


Привет, Хабр!

Мы в РИКе немного ретрограды — до сих пор читаем книжки и советуем это делать нашим студентам. Пусть буржуи говорят про клиповое мышление, но мы верим, что Россия как была самой читающей страной в мире, так ею и останется :)

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

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

Гитхаб для правительств

Reading time2 min
Views9.7K
image

От команды Гитхаба всё чаще слышны высказывания о том, что совместная разработка ПО — далеко не единственный сценарий применения их сайта. Сооснователь и CEO Гитхаба Том Престон-Вернер заявил недавно: «Мы хотим, сделать Гитхаб настолько гибким и простым, чтобы им могли пользоваться юристы, чиновники, кто угодно… Сейчас мы постоянно обсуждаем со множеством людей то, как они используют Гитхаб, и как ещё его можно использовать».

Уже есть несколько примеров использования Гитхаба не для разработки софта, а для написания книг, законов, публикации наборов данных. А 15 октября на Гитхабе открылся раздел government.github.com, специально предназначенный для проектов, связанных с электронным правительством, открытыми данными, гражданскими инициативами и законотворчеством. Список государственных учреждений, общественных организаций, правительств и муниципалитетов, использующих Гитхаб, уже насчитывает десятки наименований.
Читать дальше →

Архитектура интеллектуального Интернет-паука

Reading time4 min
Views16K

Понадобилось как-то выудить информацию из Интернета. Нашёл подходящий сайт, посмотрел на устройство страниц. Оказалось, что скрыто многое от ока всё скачивающего wget. Не помогла и стандартная сборка HTTrack. Хотел было паука для Scrapy написать, но не пришло ощущение надёжности и масштабируемости. Стал думу думать, да и велосипед изобретать, точнее свой web crawler писать.

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

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

Упрощения ради повествования было имя выбрано «ИнКр» (InCr), что является сокращением от Intellectual Crawler, а также является началом слова Incredible (невероятный).

ИнКр должен представлять собой платформу, которая сама реализует базовые функции по управлению заданиями, скачиванию и хранению документов. Со стороны же разработчика требуется написание парсеров для конкретного сайта. В ходе анализа были сформулированы следующие основные требования:
1. Возможность гибкой настройки загрузки: ограничение количества потоков, приостановка обработки для аутентификации, распознаванию captcha и т.п.;
2. Независимость загрузки страниц и их разбора, возможность повторного разбора ранее скаченных страниц;
3. Поддержка процесса разработки парсера: отдельно отмечаются все документы, которые не смогли быть полностью разобраны;
4. Возможность дополнения данных, полученных на основе информации нескольких страниц;
5. Продолжение процесса загрузки страниц после остановки;
6. Корректная обработка изменений;
7. Одновременная работа сразу с несколькими сайтами и наборами правил.

Продолжение

Реактивный манифест

Reading time12 min
Views57K
В последние годы требования к приложениям значительно изменились. Десятки серверов, время отклика в несколько секунд, оффлайновое обслуживание, которое могло длиться часами, гигабайты данных — такими были большие приложения буквально несколько лет назад. Сегодня же приложения работают абсолютно на всём, начиная с простых мобильников и заканчивая кластерами из тысячи процессоров. Пользователи ожидают миллисекундного времени отклика и стопроцентного аптайма, в то время как данные выросли до петабайтов.

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

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

Однако прогресс не стоит на месте. Архитектура приложений эволюционировала в соответствии с изменившимися требованиями. Приложения, разработанные на основе этой архитектуры, мы называем Реактивными Приложениями. Такая архитектура позволяет программистам создавать событийно-ориентированные, масштабируемые, отказоустойчивые и отзывчивые приложения — приложения, работающие в реальном времени и обеспечивающие хорошее время реакции, основанные на масштабируемом и отказоустойчивом стеке и которые легко развернуть на многоядерных и облачных архитектурах. Эти особенности критически важны для реактивности.

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

Blippex — википедия поиска

Reading time3 min
Views8K
Сегодня рынок поисковых систем представлен довольно многим количеством сервисов, лидерство среди которых конечно же что занимает Google. Конкуренты, среди которых есть серьезные игроки такие как Microsoft Bing, Yahoo, Yandex, DuckDuckGo стараются не отставать в гонке. Но почти все эти системы имеют одну общую черту — они пытаются имитировать и дублировать алгоритмы Google. Кто-то уделяет внимание персонализации поиска, кто-то же заботится об анонимности и приватности пользователей, но все стараются предоставлять практически идентичные поисковые результаты.
Читать дальше →

Расширения для Google Chrome. Часть первая. Getting started

Reading time7 min
Views60K
Добрый день, Хабр.

Я хочу написать цикл статей о создании расширений для Google Chrome. К этому меня побуждает, во-первых, практическая польза самого процесса разработки и последующего использования: вы сами определяете, какие ещё задачи хотите решить не выходя из браузера и, во-вторых, отсутствие каких-либо внятных гайдов, туториалов и справочников на русском языке, за исключением, пожалуй, этой и вот этой статей на Хабре. Основная цель цикла — систематизировать разрозненную информацию и облегчить поиск потенциальным разработчикам, благо индексируется Хабр хорошо :)

В первой (этой, то бишь) статье, на примере простейшего расширения, будут рассмотрены все основные моменты, связанные с разработкой, отладкой и использованием расширения, конфигурационный файл manifest.json и начала chrome.* API. Первая же статья, думаю, будет не очень полезна опытным разработчикам (это дисклеймер).
Читать дальше →

История одного Google Chrome расширения

Reading time18 min
Views68K
В один прекрасный день, за пару часов до конца работы, мне приходит задача: «Нужно написать приложение для браузера, которое должно по клику пользователя отправлять данные со страницы на сайт клиента. Что за приложение и какой браузер — полностью на ваш выбор...».

Немного поразмыслив я пришел к варианту google chrome extension:

  • Crome использует Blink движок (до апреля 2013 года использовался WebKit), Blink является форком WebKit (а это Safari), так же не забываем новую Opera'у (хотя я все еще использую старую с bookmarks'ами). Таким образом, написав расширения для chrome, мы с минимальными переделками (а то и без них) сможем его портировать на еще 2 браузера
  • Нет опыта работы с API Google Chrome
  • Google все-таки компания добра :)


Когда мысли немного улеглись, первое что я сделал — это ввел в поиске харба "расширение Google Chrome". Увидев обширный вариант статей по данной теме, я со спокойной душой ушел домой полностью уверенный в том, что завтра с утра прочитав их, к концу рабочего дня дело будет 'в шляпе' (как же я тогда ошибался). Прочитав парочку их них я имел общее представление о том как это работает, но этого оказалось мало для воплащения моих идей. Что ж, приступим…
Читать дальше →

Лаборатория данных

Reading time2 min
Views23K
Сложные данные всегда были моей страстью. В 2007 году с подачи Артёма Горбунова я прочитала все книги Тафти и открыла для себя информационный дизайн. Первая визуализация — пассажиропотоки в метро — стала для меня счастливым билетиком в бюро, тогда же появился псевдоним Инфотанька. С тех пор я работала над тигриным календарём и бюрошными инфограммами, мобильным приложением «Веб-наблюдатель» со статистикой нарушений и информативным логотипом, умными маркетинговыми графиками для Зептолаба, интерфейсами Oh my stats!.



В июне этого года я, наконец, решила посвятить себя тому, что умею делать лучше всего, — визуализации данных. Так появилась лаборатория.
Читать дальше →

Экстрактор контента из веб-документов

Reading time3 min
Views24K


Здравствуй, Хабр!

Это мой первый пост, в котором я хочу поделиться своей наработкой в решении такой задачки, как выделение контента на странице. Собственно, задачка давно висела в голове в фоновом режиме. Но так сложилось, что именно сейчас мне самому понадобился инструмент, кроме того наткнулся на статейку на хабре: habrahabr.ru/company/mailru/blog/200394 и решил — пора. Ладно, поехали.
Читать дальше →

API для Российской общественной инициативы. Шаг 1: сбор и анализ данных

Reading time4 min
Views9.3K

В качестве введения


Вы все наверняка помните о таком явлении как Российская общественная инициатива (www.roi.ru) — провозглашенная государством в лице федерального правительства инициатива по сбору подписей за онлайн петиции. Предполагается что если за 1 год по петиции будет собрано 100 тысяч голосов, то и петиция будет официально рассмотрена нашими властями. И даже имеет шанс получить статус законопроекта.

При этом уже 6 петиций прошли такой фильтр — https://www.roi.ru/complete/ две из них настоящему прошедшие сбор по 100 тысяч голосов и 4 петиции набравшие голосов сильно меньше, но органы власти успели прореагировать.

И, хотя петиции не дают гарантии что решение вообще какое-либо будет принято, многие создают их не только в надежде на положительное решение, но и для того чтобы поместить проблему в «медийную повестку» иначе говоря, для того чтобы об этом начали писать СМИ и была бы публичная государственная реакция.

Поэтому РОИ, пока что, не последний из государственных проектов и интерес к нему есть. При этом у РОИ есть ряд недостатков и проблем.

Проблемы РОИ


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

Передаем файлы на Java с помощью ØMQ и JZMQ

Reading time11 min
Views14K
Приветствую, мы являемся небольшой компанией единомышленников которые разрабатывает продукт предназначенный для управления данными, вне зависимости от их формата и метода хранения — ArkStore, в нашем блоге мы попытаемся поделится опытом, который мы накопили, в ходе, его уже почти двухлетней разработки. Первую статью я решил посветить IO слою и продукту под названием ØMQ (или ZeroMQ). Я попытаюсь рассказать как начать пользоваться ØMQ и как с его помощью можно передавать достаточно большой объем данных.
Читать дальше →

Как это сделано: парсинг статей

Reading time4 min
Views82K


Для меня всегда было некоей магией то, как Getpocket, Readability и Вконтакте парсят ссылки на страницы и предлагают готовые статьи к просмотру без рекламы, сайдбаров и меню. При этом они практически никогда не ошибаются. А недавно подобная задача назрела и в нашем проекте, и я решил копнуть поглубже. Сразу скажу, что это «белый» парсинг, вебмастеры сами добровольно пользуются нашим сервисом.
Читать дальше →
12 ...
76

Information

Rating
Does not participate
Location
Саров (Нижегородская обл.), Нижегородская обл., Россия
Date of birth
Registered
Activity