Pull to refresh
53
0
Антон Медведев @Elfet

Программист

Send message

Чем опасен rebase, или как получилось, что 2*3=5

Reading time2 min
Views96K
Однажды старший программист Антон искал причину очередного бага в очень важном проекте компании:
git bisect start
git bisect bad
git bisect good
…

В компании использовали rebase, история коммитов была линейной, и поиск по ней доставлял Антону одно удовольствие.
— Ага, нашел. Ну конечно: в коде написано «2*3=5», ещё бы оно работало с этим бредом! Какой @#$%^ это написал?
Читать дальше →

uptodate.js — библиотека для автообновления элементов времени

Reading time1 min
Views18K
Как часто Вы используете конструкции вида «5 минут назад», «Полчаса назад» на вашем сайте? А что если пользователь открыл вкладку и забыл про нее на пару часов? «5 минут назад» явно теряет свою актуальность.
Именно для того чтобы исправить это досадное недоразумение служит uptodate.js

image

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

PHP HTML DOM парсер с jQuery подобными селекторами

Reading time3 min
Views146K
Добрый день, уважаемые хабровчане. В данном посте речь пойдет о совместном проекте S. C. Chen и John Schlick под названием PHP Simple HTML DOM Parser (ссылки на sourceforge).

Идея проекта — создать инструмент позволяющий работать с html кодом используя jQuery подобные селекторы. Оригинальная идея принадлежит Jose Solorzano's и реализована для php четвертой версии. Данный же проект является более усовершенствованной версией базирующейся на php5+.

В обзоре будут представлены краткие выдержки из официального мануала, а также пример реализации парсера для twitter. Справедливости ради, следует указать, что похожий пост уже присутствует на habrahabr, но на мой взгляд, содержит слишком малое количество информации. Кого заинтересовала данная тема, добро пожаловать под кат.
Читать дальше →

Diff Displays: подсветка изменений на втором/третьем дисплее в фоне

Reading time1 min
Views24K

Затемнение фоновых дисплеев и подсветка изменений по методу PixMap

Если вы работаете с несколькими мониторами, то наверняка понимаете проблему. Переведя взгляд с одного экрана на другой, трудно быстро понять, что там изменилось. Технология Diff Displays должна помочь в таких ситуациях. Если вкратце, то система отслеживает направление взгляда пользователя. Если взгляд уходит с дисплея, то там активируется промежуточный слой, который затемняет или обесцвечивает картинку, выделяя при этом изменения. Как только взгляд возвращается, дисплей тоже возвращается в нормальное состояние. Вместо затемнения и обесцвечивания могут использовать и другие методы, см. видео под катом.
Читать дальше →

Как я систему безопасности для авиакомпании разрабатывал и сам оказался в опасности

Reading time14 min
Views140K
А еще говорят что крепостное право России отменили в 19 веке. Не верьте, это не так. История о контрастах в условиях работы в иностранной и российской компаниях, экшена разработки на java/GWT, лжи коллеги и поведения Директора, наслаждающегося своим всемогуществом и вседозволеностью, не подкрепленное законодательно.



Началось эта история когда заканчивался проект на прошлой работе. Все было солидно: крупная международная компания, коммандировки в США и Англию, стабильность и легкая скука из-за большого количества рутины на проекте. Никаких авралов, отлично выстроенный процесс разработки, отдельная QA команда и автоматизированные регрешен тесты, иностранный менеджмент за пару лет работы ни разу не повысивший голос ни на кого в комманде, проджект менеджер спокойно переносивший функционал в следующие релизы, когда не успевали с разработкой и тестированием. Отличный коллектив профессионалов, каждому можно было доверять и знать что в трудный момент помогут. Атмосфера дружбы, когда приятно приходить на работу и общаться. Но всему хорошему и спокойному всегда приходит конец :( И дальше как полоски у зебры, в моей жизни появилась новая полоса…
Читать дальше →

Каким бы я хотел видеть свой первый проект на Symfony

Reading time5 min
Views25K
Вот уже полтора года я использую Symfony 2 для разработки web-приложений. За это время я трижды начинал новый проект, еще в трех проектах работал с унаследованным кодом, а также провел ревью около 15 тестовых заданий на знание фреймворка.

Наверное, было бы здорово иметь возможность вернуться на полтора года назад и дать себе несколько советов перед стартом своего первого проекта. Увы, это невозможно. Но может быть, мои советы могут пригодятся другим начинающим разработчикам на Symfony?

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

Щелевая съёмка: сжатие времени по горизонтали

Reading time2 min
Views127K

Фото: Jay Mark Johnson

Перед вами оригинальный снимок, без обработки в фоторедакторе или применения каких-то художественных эффектов. Исключительно точное документальное фото. Только это не картина одного момента, как в обычной фотографии. В кадре вместились события, которые происходили в течение около 30 секунд на промежутке пространства шириной 1 пиксел. Снимок сделан методом щелевой фотографии.
Читать дальше →

10 «однострочников», которые произведут впечатление на ваших друзей

Reading time13 min
Views42K
За последнюю неделю появилось несколько топиков с названием «10 однострочников на <MY_LANGUAGE>, которые произведут впечатление на ваших друзей», которые содержат однострочное решение нескольких простых задач, демонстрирующее достоинства и «крутость» любимого языка программирования автора. Я решил перевести их и для сравнения собрать в одном топике. Вся волна началась (вроде как) со Scala.
Итак, поехали!
Читать дальше →

intro.js — пошаговое руководство для веб-страницы

Reading time1 min
Views52K


Эта маленькая библиотека позволяет очень просто создать пошаговое введение для сайта или приложения. Достаточно добавить атрибуты data-intro и data-step с описанием и номером шага соответственно к нужным элементам страницы. Вот так:

<a href='http://google.com/' data-intro='Hello step one!' data-step='1'></a>
Читать дальше →

Выводим деньги с PayPal на карту: Инструкция для чайников

Reading time3 min
Views498K
Потребовалось мне вывести деньги с PayPal в России, только вот через посредников работать не хотелось.
Пришлось получить карту Payoneer для вывода PayPal на эту карту. Сколько не искал, так и не нашел полноценной, пошаговой инструкции.
Поэтому пишу сам.



ВНИМАНИЕ! Все ниженаписанное является де-юре нарушением законодательства РФ и Украины, и вообще выдумкой автора и плодом работы в фотошопе. Применяя описанное на практике, вы действуете на свой страх и риск, и ни автор, на администрация сайта не несет ответственности за ваши действия.
Читать дальше →

Java на каждый день и не только. Рекомендации по использованию

Reading time8 min
Views65K
Всем привет!

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



image
Java — это язык с мощными стандартными возможностями, но «Большая сила налагает большую ответственность». Я видел много java-кода, в котором чрезмерно (и зачастую — неправильно) использовались «редкие» свойства языка, в то время как основы основ были почти полностью проигнорированы. Эти наблюдения и послужили стимулом к написанию статьи.

Это не список обязательных к использованию каждым программистом особенностей языка. Скорее наоборот. Я разделил их на 3 группы: "для каждодневного использования", "для периодического использования" и "только для фреймворков и библиотек!". Правило простое: если вы понимаете, что используете указанные свойства чаще, чем рекомендуется, то, скорее всего, ваш код развивается по неправильному пути. Если же наоборот — вы редко используете какие-то свойства, чем я рекомендую, значит вы упускаете какие-то интересные и важные возможности языка.

Обратите внимание, что я говорю о разработке типичных серверных бизнес-приложений (JVM, JDK, вот это все) и не даю рекомендаций относительно каких бы то ни было фреймворков.
Читать дальше →

Дата-майнинг 10 000 актёров порно

Reading time2 min
Views183K


Вокруг adult киноиндустрии существует много мифов и заблуждений. Например, многие склонны думать, что типичная актриса — блондинка с пышными формами. На самом деле это далеко не так. Джон Миллворд (Jon Millward) осуществил дата-майнинг кинематографической базы Internet Adult Film Database и проанализировал информацию о 125 тыс. фильмах, которые содержат информацию более чем о 115 тыс. актёрах. Для статистического анализа были сделана выборка 10 000 человек.
Читать дальше →

Фильтр Калмана

Reading time10 min
Views456K


В интернете, в том числе и на хабре, можно найти много информации про фильтр Калмана. Но тяжело найти легкоперевариваемый вывод самих формул. Без вывода вся эта наука воспринимается как некое шаманство, формулы выглядят как безликий набор символов, а главное, многие простые утверждения, лежащие на поверхности теории, оказываются за пределами понимания. Целью этой статьи будет рассказать об этом фильтре на как можно более доступном языке.
Фильтр Калмана — это мощнейший инструмент фильтрации данных. Основной его принцип состоит в том, что при фильтрации используется информация о физике самого явления. Скажем, если вы фильтруете данные со спидометра машины, то инерционность машины дает вам право воспринимать слишком быстрые скачки скорости как ошибку измерения. Фильтр Калмана интересен тем, что в каком-то смысле, это самый лучший фильтр. Подробнее обсудим ниже, что конкретно означают слова «самый лучший». В конце статьи я покажу, что во многих случаях формулы можно до такой степени упростить, что от них почти ничего и не останется.
Читать дальше →

Теория относительности в картинках

Reading time6 min
Views372K
В своей статье я хотел бы рассказать о теории относительности. Эта теория не требуется в представлении. С самого своего создания она была окутана ореолом тайны, поскольку полностью подрывает наши привычные представления о пространстве и времени. Все мы в школе учили формулы теории относительности, но мало кто действительно понимал их. И это не удивительно, ведь человеку, чтобы по-настоящему понять какую-то теорию во всей её красоте, полноте и непротиворечивости, не достаточно знать формулы. Нужно иметь какой-то визуальный ориентир, нужна динамика, чтобы было что-то, что можно повертеть в руках. Я решил восполнить этот пробел и написал небольшую программку, в которой можно «повертеть в руках» пространство-время. Мы, как настоящие исследователи, с помощью небольших экспериментов попытаемся выяснить основные свойства этой загадочной материи.
Под катом много картинок (и ни одной формулы).
Читать дальше →

Интерактивная обучалка ветвлению в Git

Reading time1 min
Views80K
Некий Питер Коттл (Peter Cottle) сделал интерактивную обучалку по основам ветвления в Git. Есть несколько простых обучающих уровней, где нужно сделать пару коммитов, а затем merge или rebase, есть и сложные уровни, над которыми придется подумать. Можно также сохранять уровни и делиться ими с друзьями.

Хотя сам автор утверждает, что приложение еще сырое, я советую всем, кто интересуется гитом, взглянуть на эту прикольную штуку.

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

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

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

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Много текста. По-другому никак

Отзывчивый дизайн с помощью камеры

Reading time1 min
Views29K
Боитесь, что пользователь не сможет прочитать текст на вашем сайте издалека? Не вопрос, посмотрите на это (необходима камера и поддержка WebM).

При помощи WebM и библиотеки для распознования лиц HeadTrackr можно легко сделать дизайн, который будет подстраиваться под пользователя в зависимости от его отдаленности от монитора. Это ли не будущее?

Видео-тур по МКС от астронавта Суниты Уильямс (русский перевод)

Reading time1 min
Views75K
image
Видео-тур по МКС с комментариями Суниты Уильямс (NASA)

Давно хотели открыть на канале SIMPLE-SCIENCE рубрику про космос и вот подвернулся удобный случай. Астронавт НАСА Сунита Уильямс перед возвращением на Землю с МКС сняла интересный видео-тур по Международной Космической Станции. Мы перевели его на русский язык.

Видео снято 18 ноября 2012 года в последние часы пребывания на МКС командира станции Суниты Уильямс, космонавта Юрия Маленченко и бортинженера Аки Хосидо. После чего они отправились в корабль Союз ТМА-05М для возвращения на Землю.

Тур включает в себя описания модулей станции и научно-исследовательские лаборатории.
Читать дальше →

Создание плагина разрешения ссылок для PhpStorm (IntelliJ IDEA)

Reading time8 min
Views17K
Я работаю веб-программистом, пишу на PHP и использую фреймворк Kohana. Для разработки использую потрясающую, на мой взгляд, среду PhpStorm.

При работе с большими и не очень проектами меня всегда угнетало, что я много времени трачу на навигацию по проекту, на поиск того или иного файла (контроллера или шаблона) в дереве проекта. Ctrl+Shift+N, к сожалению, удобен далеко не всегда.

Для начала мне захотелось сделать так, чтобы можно было переходить из файла контроллера по нажатию Ctrl+B (или Ctrl+Click) над именем шаблона, передаваемого в кохановский View::factory(), непосредственно в файл шаблона:


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

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

Борьба с DDoS глазами Highload Lab

Reading time15 min
Views73K
O трендах и тенденциях в DDoS-атаках рассказывает создатель Highload Lab и сети фильтрации трафика QRATOR Александр Лямин. Интервью мы брали еще в начале года, но изменилось пока немногое



DDoS-атаки появились на заре интернета. Знакомство с ними для меня лично началось во время проекта IT Territory в 2003 году, когда игра только стартовала. Она имела достаточно агрессивную рекламную кампанию, в ответ на которую тут же прилетел DDoS от конкурентов. Скажу честно, я растерялся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их проблема.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity