Падение программы — это очень гадкая вещь. К сожалению все мы не идеальны и даже применяя наиболее безопасные методы разработки (например TDD) мы не застрахованы от того что программа свалится. Особенно плохо, если она свалится уже у заказчика. Но на пути к идеалу у нас всегда есть инструментарий, который может помочь расследовать падение программ, выявить ошибки, а главное исправить их.
Одно грустно, что многие, даже очень опытные разработчики не знакомы с этим инструментарием и многие компании не включают данную практику в свою работу. Я говорю о postmortem отладке.
В данной статье я хочу показать азы работы с данным зверем и возможно подтолкну этим самым разработчиков на расширение своих познаний в области оладки. Итак, приглашаются к чтению C++ Windows разработчики, тим-лиды, ну и руководителям отделов разработки будет неплохо ознакомиться.
Продолжаем обзор хостингов изображений для быстрой публикации.
Начало статьи находится по ссылке habr.com/ru/blogs/hosting/89162, а потом переходим сюда.
Сегодня — ровно 5 месяцев со дня старта рекламной кампании нашего интернет-молла. Кампания проходила в несколько этапов, разных и по целевым сообщениям, и по объемам рекламных вложений. Ранее мы не проводили масштабных онлайн-кампаний, и многое было вновинку, какие-то результаты нас очень удивили.
Решили поделиться своими наблюдениями в надежде, что они окажутся хабра-полезными.
1. Самые дешевые клики — на Яндексе и Google (здравствуй, капитан Очевидность). Кроме цены, контекстная реклама дает определенный порог качества – средняя длительность посещения 1-3 минуты, 3-5 просмотренных за посещение страниц. Средняя цена клика на Яндексе – 8 рублей, на Google – 5 рублей.
2. Рамблер гораздо менее эффективен по сравнению с Яндексом и Google (еще раз привет, капитан). Убедились в этом на собственном опыте. Получили примерно в 5 раз меньше посещений, чем прогнозировали. Тем не менее, средняя цена клика также не слишком высока – 9 рублей.
3. Много посещений приносит медийная реклама (баннеры и поп-андеры) на Одноклассниках и ВКонтакте, но цена этим посещениям – грош, ведь средняя длительность пребывания на сайте не превышает 30 секунд, и процент отказов около 90%. Больше не будем покупать такую рекламу. Рекомендовали работать с приложениями на ВКонтакте, но честно говоря, даже не хочется пробовать после такого первого опыта.
Представляю вашему вниманию мой второй перевод — новую статью Якоба Нильсена, вышедшую вчера.
Пользователи интернета тратят 80% времени, изучая информацию на «первом экране». Несмотря на то, что прокруткой они тоже пользуются, только 20% их внимания приходится на то, что расположено ниже «первого экрана».
В веб дизайне существует большая неразбериха с т.н. «первым экраном» и важностью показа самой главной информации в области, изначально видимой пользователем. (Т.е., фактически определение таково: «первый экран» обозначает «видимый без дополнительных действий».)
Ни для кого не секрет, что в Unix системах вся информация предоставляется в виде файлов.
В Linux есть файл /proc/kcore, который является «алиасом» на физическую память системы.
Мануалы говорят, что полная длина этого файла — это размер физической памяти (RAM) плюс 4KB, но повертев этот файл на разных системах я пришел к выводу, что размер файла равен размеру RAM + SWAP.
Аналогично этому файлу можно использовать устройства /dev/mem или /dev/kmem, но взаимодействие с ними в данном топике я не буду рассматривать.
Потребовалось мне тут написать некий кроссплатформенный Twitter-клиент с закрытым исходным кодом, не спрашивайте зачем мне это надо, работа у меня такая, деньги я за это получаю. Что логично, языком разработки был выбран С++ с использованием Qt.
Сам API Twitter'a прост как кирзовый сапог. Но! Есть такая важная штука как авторизация, и тут есть два пути, старый — аутентификация посредством HTTP Headers и новый — использование протокола OAuth. Старый метод прост, также как и само API, но, к сожалению, он не безопасен, и самое главное команда Twitter'a предупреждает, что откажется от него в конце июня сего года. Поэтому остается второй метод OAuth. Надо сказать, что данный протокол используется не только в Twitter, но поскольку я писал Twitter-клиент, и рассматривать мы будем на примере Twitter'a.
Vuurmuur — за таким «кошачьим» именем скрывается довольно мощная GUI надстройка для iptables. Основным отличием от других iptables-надстроек является наличие консольного интерфейса написанного на Ncurses. Поэтому администрирование всё также легко возможно посредством SSH или консоли. Vuurmuur умеет работать с шейпингом, поддерживает функции мониторинга трафика, ведёт отдельные логи, прекрасно работает как на 2.4 так и на 2.6 ядрах и даже «говорит» на русском.
Я имею довольно небольшой опыт работы в сфере разработки программного обеспечения (всего 6 лет), но я уже накопил ряд полезных и правильных практик (по моему скромному мнению), которые можно использовать при создании программного обеспечения.
В основном описаны моменты которые касаются поддержки процесса разработки программного обеспечения, не затрагиваются темы планирования хода выполнения работ. Также не затронут процесс программирования и полезные плюшки для него (например расслоение системы на уровни, использование шаблонов проектирования). Но все ниже приведенное было и остается полезным для меня лично, и я буду рад если и вам на что нибудь сгодится :)