Как стать автором
Обновить
21
0
Капля Олег Витальевич @smileonl

Пользователь

Отправить сообщение

Цикл разработки через Github

Время на прочтение3 мин
Количество просмотров105K

Разработка



Я расскажу о цикле разработки через Github, который я использую. Он был проверен в течении года на командах разного размера: 3 — 14 человек.

Существует 2 основных ветки: master и dev.

master — стабильная ветка, готовая к выкатыванию на production сервер в любой момент.

dev — ветка, над которой в данный момент работает команда.

Итак, в начале разработки master и dev ветки идентичны.

Читать дальше →
Всего голосов 102: ↑86 и ↓16+70
Комментарии59

PyBrain работаем с нейронными сетями на Python

Время на прочтение8 мин
Количество просмотров165K

В рамках одного проекта столкнулся необходимостью работать с нейронными сетями, рассмотрел несколько вариантов, больше всего понравилась PyBrain. Надеюсь её описание будет многим интересно почитать.

PyBrain — одна из лучших Python библиотек для изучения и реализации большого количества разнообразных алгоритмов связанных с нейронными сетями. Являет собой удачный пример совмещения компактного синтаксиса Python с хорошей реализацией большого набора различных алгоритмов из области машинного интеллекта.

Предназначен для:

  • Исследователей — предоставляет единообразную среду для реализации различных алгоритмов, избавляя от потребности в использовании десятков различных библиотек. Позволяет сосредоточится на самом алгоритме а не особенностях его реализации.
  • Студентов — с использованием PyBrain удобно реализовать домашнее задание, курсовой проект или вычисления в дипломной работе. Гибкость архитектуры позволяет удобно реализовывать разнообразные сложные методы, структуры и топологии.
  • Лекторов — обучение методам Machine Learning было одной из основных целей при создании библиотеки. Авторы будут рады, если результаты их труда помогут в подготовке грамотных студентов и специалистов.
  • Разработчиков — проект Open Source, поэтому новым разработчикам всегда рады.

Читать дальше →
Всего голосов 95: ↑92 и ↓3+89
Комментарии22

Замкнутая экосистема по-русски

Время на прочтение4 мин
Количество просмотров121K
Здравствуй, Хабр!

Недавно наткнулся в интернете на интересную статью, с точки зрения садоводства, об англичанине, который 53 года назад посадил в банку традесканцию.Он закупорил бутылку и, после полива 40 лет назад, больше не открывал её. Идеи пришла ему из любопытства. И по сей день растение живет, растет и поглощает кислород. Традесканция образовала экосистему: при фотосинтезе образуется кислород, происходит увлажнение воздуха внутри сосуда и выпадает влага, опавшие листья перегнивают, выделяя CO2. Но для фотосинтеза нужен еще и свет, поэтому бутылку нужно постоянно пододвигать к окну и разворачивать, чтобы листья росли равномерно. Я добавил немного электроники для комнатного растения, и вот, что из этого получилось.
Читать дальше →
Всего голосов 55: ↑46 и ↓9+37
Комментарии46

Интеграция phpBB в Yii framework

Время на прочтение5 мин
Количество просмотров11K

Пошаговая инструкция о том, как быстро интегрировать форум phpBB в ваш сайт, написанный на Yii framework


Я собрал воедино все инструкции по интеграции форума в Yii framework, выполнив которые, вы гарантированно получите работающий форум и маленький бонус в конце статьи.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии6

Адаптивные email'ы

Время на прочтение4 мин
Количество просмотров42K
image


Сегодня пользователи все чаще читают электронные письма на мобильных устройствах. Каково бывает просмотр большого HTML-email'а на телефоне? Приходится много масштабировать и скроллить, в целом читать становится очень неудобно. Поэтому и письма электронной почты следует делать адаптивными.
Читать дальше →
Всего голосов 63: ↑54 и ↓9+45
Комментарии18

Сказ о том, как бы я продвигал сайт или не так страшно SEO как его малюют

Время на прочтение9 мин
Количество просмотров88K

Сначала предметная область


SEO стратегия
Изначально была мысль написать очень подробный мануал, но потом решил остановиться на стратегиях.

Ключи/запросы


Это фразы, которые набираются в поиске, для достижения результата (ответа на вопрос, покупки, получения информации…)
По частотностям
НЧ – низкочастотные (величина вычисляется логарифмически относительно самого большого числа запросов по ВЧ запросу из категории), для простоты пусть будет все что ниже 300 запросов (хотя в каждой группе по разному).
СЧ – среднечастотные (величина вычисляется логарифмически относительно самого большого числа запросов по ВЧ запросу из категории), для простоты пусть это будет все что выше 300 и ниже 2000 запросов (хотя в каждой группе по разному).
ВЧ – максимальное значение количества поисков простого запроса, к примеру «Светильник».
По конкуренции
НК – низкоконкурентные запросы, по которым есть шанс двинуться в топ (мало точных вхождений поисковой фразы, мало главных страниц, низкое количество результатов в поисковой выдаче)
СК – средне конкурентные запросы, по которым есть шанс продвинуться в топ, но есть и конкуренция (весь топ занят или главными или точными вхождениями, но показатели ссылочной массы конкурентов низкие)
ВК – высококонкурентные запросы, по которым необходимо из кожи вон вылезти чтоб продвинуться (и топ весь занят, и ссылочная масса ужасающая) при средних бюджетах ВК топ недостижим, но можно долго работать, чтоб кардинально поменять выдачу (закупка сателлитов, ссылочной массы, грамотное внутренне СЕО).

Семантическое ядро


Предполагает, что будет оптимизироваться каждая страница сайта. Это значит, что страница конечно будет давать ответ на запрос пользователя, но при этом на ней должен быть материал, который включает в себя эти ответы. То есть признаки, по которым ПС сможет выдать именно эту страницу на это запрос…
Пока что это сами запросы пользователей – они же «КЛЮЧИ»
Ключевые фразы подбираются для каждой страницы персонально.
Для главной страницы берутся общие запросы (описывающие общую категорию и выделяющие общую тематику сайта).
Для страницы категории выбираются запросы более узкой тематики, выделяющие отдельную категорию в общей всего сайта.
Для страницы товара/услуги – берутся максимально конкретные запросы, отражающие ее суть и позволяющие максимально точно ее/его идентифицировать.

0 Стратегия: Тариф Беззаботный


Минимум затрат, так как трафик тупо покупается у ПС. Других вариантов нет.

1 Стратегия: На халяву


Низкоконкурентный трафик – занимается ниша, где есть спрос, но нет конкурентов – классический «кто первый встал – того и тапки».
Схема до боли проста – ищем свободные ниши, подбираем НК запросы, пишем материал (даем полезное на запрос пользователя) – попадаем в ТОП, для усиления эффекта можно закупить по парочке ссылок.
Посмотреть нормальные стратегии...
Всего голосов 152: ↑89 и ↓63+26
Комментарии56

Как узнать, что ваш PHP сайт был взломан

Время на прочтение11 мин
Количество просмотров134K
Сайт моего друга недавно был взломан, на нем была запущена старая версия IP.Board, в которой есть уязвимость локального внедрения кода (local file inclusion). Этот пост не будет посвящен IP.Board или другому php коду, он покажет, как найти потенциально вредоносный php код на ваших серверах. Наконец, покажу пример того, что злоумышленники могут загрузить на взломанный сайт.

Проверьте логи доступа


Что бы с чего-то начать, я бы хотел поделиться некоторыми записями из журнала доступа (access log) взломанного сайта моего друга.

IpreMOVED - - [01/Mar/2013:06:16:48 -0600] "POST /uploads/monthly_10_2012/view.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"
IpreMOVED - - [01/Mar/2013:06:12:58 -0600] "POST /public/style_images/master/profile/blog.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"

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

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

Рассмотрим подробнее приведенные выше строки журнала, ничего не цепляет вас?

Обратите внимание, что в журнале доступа POST запросы, а не GET запросы.
Скорее всего, злоумышленники хотели сделать журнал доступа более неприметным, так как большинство журналов не сохраняют post данные.
Читать дальше →
Всего голосов 109: ↑82 и ↓27+55
Комментарии122

AngularJS vs. KnockoutJS

Время на прочтение8 мин
Количество просмотров57K
Добрый день уважаемые, хабрачеловеки.
В данной статье я хочу поделиться с вами своим опытом работы с такими фреймворками как AngularJS и Knockout.
Cтатья будет интересна тем, кто хорошо знаком с JavaScript-ом и имеет представление хотя бы об одном из упомянутых фреймворков и естественно желает расширить свой кругозор.

Читать дальше →
Всего голосов 63: ↑54 и ↓9+45
Комментарии18

Ежедневная работа с Git

Время на прочтение40 мин
Количество просмотров881K
Я совсем не долго изучаю и использую git практически везде, где только можно. Однако, за это время я успел многому научиться и хочу поделиться своим опытом с сообществом.

Я постараюсь донести основные идеи, показать как эта VCS помогает разрабатывать проект. Надеюсь, что после прочтения вы сможете ответить на вопросы:
  • можно ли git «подстроить» под тот процесс разработки, который мне нужен?
  • будет ли менеджер и заказчик удовлетворён этим процессом?
  • будет ли легко работать разработчикам?
  • смогут ли новички быстро включиться в процесс?
  • можно ли процесс относительно легко и быстро изменить?


Конечно, я попытаюсь рассказать обо всём по-порядку, начиная с основ. Поэтому, эта статья будет крайне полезна тем, кто только начинает или хочет разобраться с git. Более опытные читатели, возможно, найдут для себя что-то новое, укажут на ошибки или поделятся советом.

Далее очень много букв случайным образом превратились в пост.
Всего голосов 200: ↑194 и ↓6+188
Комментарии44

ABBYY Cloud OCR SDK: публичный API распознавания в облаке Windows Azure

Время на прочтение5 мин
Количество просмотров27K
До недавнего времени в вебе наши технологии распознавания «жили» только на сайте www.abbyyonline.com, этот сервис предназначен для конечных пользователей. И вот теперь мы готовы объявить о запуске бета версии веб-API распознавания для разработчиков. Знакомьтесь – ABBYY Cloud OCR SDK, «облачный брат» уже знакомого нашим читателям ABBYY FineReader Engine.

Нам уже достаточно давно хотелось выпустить продукт, который позволял бы использовать OCR-технологии со всевозможных «тонких» и не очень устройств и всевозможных операционных систем и при этом был удобен и недорог. Надеемся, у нас это получилось. ABBYY Cloud OCR SDK предполагает оплату по мере использования, так что функции качественного распознавания становятся доступны при минимальных начальных вложениях.

Под катом мы подробнее расскажем о том, как мы над ним работали и что у нас получилось. Пока сервис находится в закрытом бета-тестировании, но мы считаем, что он уже достаточно стабилен, и стадия открытой беты всё ближе. Мы хотели бы пригласить читателей Хабра стать одними из первых «внешних» бета-тестеров ABBYY Cloud OCR SDK. О том, как получить доступ, – тоже под катом.
Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии16

Проблемы кликов-переходов: сколько леммингов тонет?

Время на прочтение7 мин
Количество просмотров14K
Проблема кликов-переходов, лемминги-самоубийцы

Однажды при общении с коллегами из AdRiver выяснилось, что далеко не все клики по рекламным объявлениям становятся переходами на целевой сайт. Для меня было бы нормальным услышать, что теряется 5-10% посетителей (вполне естественные цифры в рамках общей погрешности измерений). Но, как оказалось, потери могут составить до 50%. И мы решили разобраться подробнее, где же происходят утечки, почему обычные, здоровые, адекватные клики не становятся переходами.
Где тонут лемминги?
Всего голосов 33: ↑19 и ↓14+5
Комментарии10

Использование runit для своих сервисов

Время на прочтение3 мин
Количество просмотров52K
Супервизор сервисов runit позиционируется как замена стандартным скриптам инициализации Unix.

Но на практике оказалось, что runit идеален для управления сервисами безотносительно инициализации и т.п.

Введение


Супервизор берёт на себя такой функционал, как:
  • превращение любого процесса в демон;
  • логгирование вывода процесса и ротирование логов;
  • запуск, остановка, рестарт, запрос состояния, управляющие скрипты для init.d;
  • выключение и запуск сервисов автоматически при появлении новых сервисов в списке либо удалении старых из списка;
  • возможность ведения нескольких независимых списков сервисов одновременно (например, для каждого пользователя отдельно и для системы в целом);
  • удобный API для управления сервисами.

Для большинства операционных систем runit уже входит в репозитории пакетов (apt-get install runit). Кроме того, мы имеем уже готовый набор рецептов для популярных сервисов (nginx, apache etc.).

Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии54

RBAC Авторизация в YII и LDAP

Время на прочтение12 мин
Количество просмотров97K

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

К сожалению стандартный мануал по RBAC в YII оставляет больше вопросов чем ответов. Эту ситуацию я и намереваюсь исправить.
Я расскажу о создании “правильной” иерархии: как делать не стоит. А в завершении я приберёг инструкцию, о том как подружить LDAP авторизацию (из ActiveDirectory ) с Yii и RBAC.

Все кто заинтересовался, добро пожаловать под кат!
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии26

На пути к созданию безопасного веб-ресурса. Часть 1 — серверное ПО

Время на прочтение7 мин
Количество просмотров99K
Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии. Но советы так же легко применимы и к веб-ресурсам на других технологиях).

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Много текста. По-другому никак
Всего голосов 170: ↑159 и ↓11+148
Комментарии47

База инвесторов: наша версия

Время на прочтение1 мин
Количество просмотров9.9K
Т.к. мы много общаемся со стартапами — мы заметили, что есть одна сложность. А именно — с чего начинать поиски инвестора для стартапа. В интернете есть множество «кладбищ инвесторов», где опубликованы тупо списки всего, что только можно. Рядом с инвестором, который вкладывает в ИТ-проекты — инвестор в сельское хозяйство.

Поэтому мы сделали небольшой сервис для облегчения поисков инвестиций для ИТ-стартапов.

Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии13

WebHostingHub Glyphs — обновление шрифта до 1446 иконок

Время на прочтение1 мин
Количество просмотров8.3K


Недавно выпущенный набор иконок WebHostingHub Glyphs добавилось более 300 новых иконок.

Благодаря пожеланиям пользователей хабрахабр в шрифте появились иконки знака рубля, сети вконтакте и многие другие. Иконки доступны в формате png (белые и черные) и самое главное в виде шрифта в форматах SVG, EOT и TTF. Мы будем рады услышать любые пожелания к дальнейшему развитию сета.
Всего голосов 94: ↑89 и ↓5+84
Комментарии60

Подробное руководство по установке Android-x86

Время на прочтение3 мин
Количество просмотров250K
Эмулятор который идет в комплекте с Android SDK, не очень шустрый.
Основная идея использовать VirtualBox + Android X86, для преодоления проблем с производительностью.

Что нам необходимо:
Среда разработки Eclipse + Android SDK тут,
а также VirtualBox.

Под катом много картинок, и процесс установки, а также некоторые полезные советы.
Читать дальше →
Всего голосов 117: ↑109 и ↓8+101
Комментарии32

Как работают браузеры: принципы работы современных веб-браузеров

Время на прочтение2 мин
Количество просмотров189K
Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

Возможно для кого-то это давно уже не новость, но, надеюсь, для тех, кто не слышал, будет полезно (на хабре упоминаний не нашел).

Под катом содержание перевода, чтобы решить стоит ли читать.
Читать дальше →
Всего голосов 200: ↑179 и ↓21+158
Комментарии27

2 млн точек на карте? легко!

Время на прочтение3 мин
Количество просмотров15K
Не так давно для создания сервиса (да и «в загашник» положить модуль) потребовалось придумать способ как быстро из sql базы делать выборки точек расположенных на карте.
Кода будет мало, что бы не отвлекать от понимания системы в целом.



Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии69

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Зарегистрирован
Активность