Рассказываем, как использовать Jenkins CI/CD Pipeline для создания инфраструктуры AWS с помощью Terraform и Ansible. Мы не будем вдаваться в подробности, как настраивать Terraform или тестировать код по мере создания инфраструктуры, так как эти шаги считаются стандартными. Конечный результат — код Terraform, создающий среду AWS с общедоступными подсетями и инстансами EC2 с Ansible Playbook. Когда код помещается в репозиторий GitHub, GitHub Webhook запускает Jenkins CI/CD Pipeline, действия которого зависят от того, куда мы отправляем код — в ветку разработки или основную.
Антон Минцев @mintsev
Zendesk Master Partner
Kaggle. Предсказание продаж, в зависимости от погодных условий
16 min
23KНе далее, как в прошлую пятницу у меня было интервью в одной компании в Palo Alto на позицию Data Scientist и этот многочасовой марафон из технических и не очень вопросов должен был начаться с моей презентации о каком-нибудь проекте, в котором я занимался анализом данных. Продолжительность — 20-30 минут.
Data Science — это необъятная область, которая включает в себя много всего. Поэтому, с одной стороны, есть из чего выбрать, но, с другой стороны, надо было подобрать проект, который будет правильно воcпринят публикой, то есть так, чтобы слушатели поняли поставленную задачу, поняли логику решения и при этом могли проникнуться тем, как подход, который я использовал может быть связан с тем, чем они каждый день занимаются на работе.
За несколько месяцев до этого в эту же компанию пытался устроиться мой знакомый индус. Он им рассказывал про одну из своих задач, над которой работал в аспирантуре. И, навскидку, это выглядело хорошо: с одной стороны, это связано с тем, чем он занимается последние несколько лет в университете, то есть он может объяснять детали и нюансы на глубоком уровне, а с другой стороны, результаты его работы были опубликованы в рецензируемом журнале, то есть это вклад в мировую копилку знаний. Но на практике это сработало совсем по-другому. Во-первых, чтобы объяснить, что ты хочешь сделать и почему, надо кучу времени, а у него на всё про всё 20 минут. А во-вторых, его рассказ про то, как какой-то граф при каких-то параметрах разделяется на кластеры, и как это всё похоже на фазовый переход в физике, вызвал законный вопрос: «А зачем это надо нам?». Я не хотел такого же результата, так что я не стал рассказывать про: «Non linear regression as a way to get insight into the region affected by a sign problem in Quantum Monte Carlo simulations in fermionic Hubbard model.»
Я решил рассказать про одно из соревнований на kaggle.com, в котором я участвовал.
+10
Первая разработка и публикация игры в соцсетях
8 min
13KИдея игры
У меня было давнее желание разработать полноценную игру для социальных сетей, но не было интересных идей. Однажды я увидел в аппсторе игру в слова, которая была только на английском языке. Мне захотелось сделать аналогичную с русским словарем.
Смысл игры – составлять слова из соприкосающихся гексагонов. В игре 3 режима:
- игра против времени (при поиске слов добавляется 1 секунда за кажду букву);
- найти выход за отведенное время (найти слова и тем самым проложить путь к выходу из центра);
- свободный режим (поиск слов и завершение в любое время).
Внешний вид
+12
Российские рекламщики предложили интернет-провайдерам бесплатный DPI в обмен на слежку за пользователями
2 min
52K Как сообщает газета «Ведомости», российский рекламный сервис iMarker предложил интернет-провайдерам еще один источник доходов. Они предлагают заработать на адресной интернет-рекламе, бесплатно установив фирменную систему анализа трафика iMarker, представляющую из себя по сути DPI (Deep Packet Inspection, систему контроля и управления трафиком). Система сможет отслеживать любой незашифрованный трафик пользователей — от электронной переписки и звонков до изображений и личных сообщений в социальных сетях. Она будет собирать и анализировать данные о том, какие сайты посещает пользователь и сформирует его потребительский профиль. Это позволяет компании iMarker и её партнёрам производить таргетинг рекламы по интересам и тем самым повышать получаемую от продажи рекламы прибыль. Сейчас одно домохозяйство приносит iMarker $0,1 в месяц, часть этих денег будут получать операторы.
+82
Статистика использования imarker (система СОРМ-like веб-аналитики)
5 min
27KПрошел ровно месяц с момента публикации о системе imarker, коммерческой веб-аналитике, которая, по заверению самой системы на тот момент, должна была стоять у Акадо, ТТК, Ростелекома, Эр-Телекома, NetByNet и QWERTY, однако, сейчас официальный сайт изменили, и теперь они заявляют, что работают только с МГТС, Акадо, ТТК, Ростелекомом и QWERTY.
Last-Modified: Fri, 30 Jan 2015 12:57:16 GMT
На самом деле, все немного иначе.
Как вы, возможно, помните, я сделал специальную страницу, которая определяет наличие imarker у заходящего на нее посетителя. К сожалению, первые дни она работала не лучшим образом из-за rate limit со стороны imarker, поэтому, чтобы обойти это ограничение, чуть позже я сделал автоматическую генерацию домена нижнего уровня. Также, было незначительное количество ложных срабатываний из-за того, что люди делились сгенерированными уникальными ссылками, а не основной, из-за чего иногда получалось так, что пользователь, у которого нет imarker, дает уникальную ссылку другому пользователю (другу/знакомому/etc), у которого провайдер использует imarker, и, в конечном итоге, заход imarker засчитывается первому. Таких случаев около пары десятков, все они были проверены вручную по логам веб-сервера.
Last-Modified: Fri, 30 Jan 2015 12:57:16 GMT
На самом деле, все немного иначе.
Сухая статистика
Как вы, возможно, помните, я сделал специальную страницу, которая определяет наличие imarker у заходящего на нее посетителя. К сожалению, первые дни она работала не лучшим образом из-за rate limit со стороны imarker, поэтому, чтобы обойти это ограничение, чуть позже я сделал автоматическую генерацию домена нижнего уровня. Также, было незначительное количество ложных срабатываний из-за того, что люди делились сгенерированными уникальными ссылками, а не основной, из-за чего иногда получалось так, что пользователь, у которого нет imarker, дает уникальную ссылку другому пользователю (другу/знакомому/etc), у которого провайдер использует imarker, и, в конечном итоге, заход imarker засчитывается первому. Таких случаев около пары десятков, все они были проверены вручную по логам веб-сервера.
+68
Как я боролся с adware в Google Play и проиграл
11 min
97KЗа последние сутки сотни новостных сайтов (клац и тыц) перепечатывают одну интересную новость, рассказывающую про обнаружение очередных зловредных приложений в Google Play. На этот раз adware показывало назойливую рекламу каждый раз при разблокировке устройства и было установлено на
Под катом я расскажу свою версию событий: как я вычислял и искал adware в Google Play, декомпилировал код adware sdk, можно ли дождаться ответа от поддержки Google, почему мобильные антивирусы бесполезны и как им удается на горячем инфоповоде сделать себе хорошую бесплатную рекламу.
+132
Ограничение количества попыток ввода пароля в веб-форме авторизации при помощи Nginx или HAProxy на примере WordPress
3 min
17KРассмотрим на примере WordPress способ усиления безопасности при помощи ограничения количества HTTP-запросов к форме ввода пароля. Это позволит оградить опубликованный блог от брутфорса (поиска и взлома пароля путем перебора всех теоретически возможных вариантов из определенного набора символов или подбора по словарю распространенных паролей). Данный способ, в принципе, можно использовать и для защиты других веб-приложений.
Задача может быть реализована в Nginx с помощью модуля ngx_http_limit_req_module [1], выступающем в роли фронт-энда к Apache или веб-сервера FastCGI, или же с помощью HAProxy [2, 3], выступающем в роли балансировщика нагрузки перед веб-серверами.
В обоих случаях алгоритм работы следующий. При аутентификации браузер обращается по адресу, содержащему в себе подстроку "/wp-login.php". Необходимо отследить ее и ограничить количество запросов с одного IP не затрагивая обращения по всем остальным адресам. Параметры блокировки необходимо подобрать таким образом, чтобы не создавать неудобств обычным пользователями. Особенно внимательно следует настраивать блокировки в том случае, когда формой авторизации пользуется большое количество пользователей с одного IP-адреса.
Задача может быть реализована в Nginx с помощью модуля ngx_http_limit_req_module [1], выступающем в роли фронт-энда к Apache или веб-сервера FastCGI, или же с помощью HAProxy [2, 3], выступающем в роли балансировщика нагрузки перед веб-серверами.
В обоих случаях алгоритм работы следующий. При аутентификации браузер обращается по адресу, содержащему в себе подстроку "/wp-login.php". Необходимо отследить ее и ограничить количество запросов с одного IP не затрагивая обращения по всем остальным адресам. Параметры блокировки необходимо подобрать таким образом, чтобы не создавать неудобств обычным пользователями. Особенно внимательно следует настраивать блокировки в том случае, когда формой авторизации пользуется большое количество пользователей с одного IP-адреса.
+21
Геокодер OSM на Java
15 min
26KПривет, дорогие читатели хабра. В этой статье поговорим
- Про адреса и хранилища данных с нечеткой схемой
- Про обработку геоданных на java, а именно про Java Topology Suite
- Про стоимость «простоты» для разработчика
- Про pure Java nosql документную бд / движок полнотекстового поиска — Elasticsearch.
+21
[кейс] Как навести порядок снизу: за 90 дней от бардака к проектному офису
2 min
32KНе так давно мы проводили опрос по проблемам в проектах для нашей новой программы “Формула управления проектами”. Получили более 600 ответов, которые распределились в темы работы с заказчиком, оценок работ, сроков, коммуникаций и прочих безусловно нужных проектных вещей.
Интересным оказался эмоциональный настрой многих комментариев. Возникло четкое ощущение, что многие коллеги недовольны своей действительностью. Но при этом не знают, как ее изменить в лучшую сторону — и крайне недовольны этим. Отчего текущая действительность описывается достаточно красочными эпитетами. Эту же картину косвенно подтвердил и недавний опрос по методологиям.
Мы пригласили в студию нашего эксперта по управлению проектами Ивана Селиховкина (selikhovkin) и попросили поделиться историей наведения порядка. В итоге Иван рассказал историю о том, как он с коллегами по шагам за 90 дней привел компанию от хаоса к работающему проектному офису. Находясь при этом не на должности ТОП-менеджера. Все изменения шли СНИЗУ.
37 минут о том, как по шагам шла небольшая команда энтузиастов своего дела, чтобы увеличить число успешных проектов компании и сделать свою жизнь (и жизнь коллег) проще, успешнее, управляемей и правильней.
Если это видео придаст правильный заряд, будем категорически рады. Хороших выходных!
P.S. Если поможете нам с опросом по проблемам проектов — будем отдельно благодарны.
P.P.S. Краткое содержание истории по шагам — под катом:
Интересным оказался эмоциональный настрой многих комментариев. Возникло четкое ощущение, что многие коллеги недовольны своей действительностью. Но при этом не знают, как ее изменить в лучшую сторону — и крайне недовольны этим. Отчего текущая действительность описывается достаточно красочными эпитетами. Эту же картину косвенно подтвердил и недавний опрос по методологиям.
Мы пригласили в студию нашего эксперта по управлению проектами Ивана Селиховкина (selikhovkin) и попросили поделиться историей наведения порядка. В итоге Иван рассказал историю о том, как он с коллегами по шагам за 90 дней привел компанию от хаоса к работающему проектному офису. Находясь при этом не на должности ТОП-менеджера. Все изменения шли СНИЗУ.
37 минут о том, как по шагам шла небольшая команда энтузиастов своего дела, чтобы увеличить число успешных проектов компании и сделать свою жизнь (и жизнь коллег) проще, успешнее, управляемей и правильней.
Если это видео придаст правильный заряд, будем категорически рады. Хороших выходных!
P.S. Если поможете нам с опросом по проблемам проектов — будем отдельно благодарны.
P.P.S. Краткое содержание истории по шагам — под катом:
+18
Бесплатный курс по AngularJS от Codeschool
1 min
47KВсем привет!
Пару дней назад мне на почту пришло письмо от Codeschool.com, в котором очень красочно (как можно заметить из картинки в шапке поста) представлялся новый курс по AngularJS. Т.к. платной подписки у меня сейчас нет, я решил отложить просмотр до лучших времён, а сегодня случайно узнал, что курс оказывается «Sponsored by Google», а соответственно бесплатный. Закончив работу над первым уровнем, я поспешил проверить наличие заметки об этом чудном событии на Хабре, но с удивлением обнаружил, что никто до сих пор не поделился этой новостью. Значит придётся взять всё в свои руки.
+43
Пользователь пьян
2 min
66KАвстралийский дизайнер Уилл Дэйбл предлагает интересную метафору, помогающую разрабатывать простые и удобные интерфейсы. Разработчику, который знает свою систему вдоль и поперек, и отдаёт работе над ней значительную часть своей жизни, очень трудно представить, как будет работать с ней обычный пользователь, чья голова забита другими вещами. Особенно, если он пробует его продукт первый раз в жизни и ещё не уверен в его полезности. Чтобы представить, что творится в голове у пользователя, Уилл Дэйбл предлагает вообразить, что пользователь пьян. Его внимание рассеянно, он легко выходит из себя, он не слишком отчётливо видит и не очень уверенно двигается — если постоянно помнить об этом, интерфейс получится чище и проще. Суть метода Дэйбл рассказывает в этом пятиминутном ролике:
+121
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity