Pull to refresh
13
0
Send message

Презентация с помощью impress.js – просто и элегантно

Reading time8 min
Views27K
image
impress.js — популярный фреймворк предназначенный для создания неординарных, искрящихся профессиональным блеском презентаций, которые демонстрируются просто в браузере*.

В опубликованной несколько дней назад статистике GitHub impress.js занимает 2-е место по количеству звездочек среди проектов, созданных одним автором. Совсем небольшой фреймворк, главный прикол которого заключается в том, что он служит не для создания слайдов, а для отображения переходов между слайдами и, очень часто, для отображения сразу нескольких слайдов в трехмерном пространстве.

3D трансформации между слайдами делают игру.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments33

Основная ловушка маркетинга и пиара или что бывает, если вы врёте

Reading time8 min
Views127K


Продолжаю рассказывать про человеческий маркетинг. Когда Англия вошла во Вторую Мировую, был очень примечательный эпизод. Военная пропаганда – это то, чему обычно не все и не всегда верят. Официальные каналы преуменьшают потери, преувеличивают успехи. Я сейчас не уверен в числах, но первое же радиосообщение с фронта про воздушный бой было про то, что сбито 40 английских истребителей. Позже пришла информация, что меньше – 34. Через пару дней нашли ещё пилота, совершившего аварийную посадку.

Народ Англии начал верить в то, что передают по радио. Потому что было заметно, что они не стараются врать. Более того, немцы тоже ориентировались на их сводки.

Есть первый железный принцип хорошего маркетинга и пиара – никогда не обещать ни на грамм больше, чем можешь сделать. И никогда не врать. Стоит хоть немного увлечься – и вот в какой-то момент ты станешь обманывать сам себя.
Читать дальше →
Total votes 210: ↑199 and ↓11+188
Comments158

Unit-тестирование от начинающего начинающим

Reading time5 min
Views78K
Здравствуйте.

На написание статьи меня сподвигнул этот пост. В нём приведено описание инструментов и некоторая теоретическая информация.

Сам я только начинаю разбираться в unit-тестировании и тестировании вообще, поэтому решил поделиться некоторой информацией касательно этого дела. А также систематизировать свои знания и навыки. Далее постараюсь объяснить процесс тестирования по шагам простым обывательским языком, так как нигде в интернете не нашёл разжёванного описания, по шагам так сказать. Кому интересно и кто хочет попробовать всё-таки разобраться, добро пожаловать.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments46

PHPUnit. Автоматические тесты

Reading time4 min
Views63K
Предисловие переводчика:
Недавно начал изучать PHPUnit (framework семейства xUnit) и с удивлением обнаружил, что на русском языке нет статей про автоматические тесты для самых-самых чайников.
В первой главе документации по PHPUnit на примерах очень доступно рассказывается, что такое автоматическое тестирование.


Даже хорошие программисты допускают ошибки. Разница между хорошим программистом и плохим заключается в том, что хороший программист как можно чаще использует тесты, чтобы найти свои ошибки.
Чем раньше Вы начнете тестировать, тем выше Ваши шансы найти ошибку, и тем ниже цена исправления.
Это объясняет, почему откладывание тестирования до момента передачи программы заказчику является очень плохой практикой. Большинство ошибок так и не будет найдено, а цена исправления станет такой высокой, что Вам придется составить большой график работы, т.к. сразу Вы не сможете их все исправить.
Читать дальше →
Total votes 41: ↑25 and ↓16+9
Comments31

Правильная сумка для правильного гика

Reading time7 min
Views185K
Есть вещи, от которых, попробовав раз, невозможно отказаться. Я говорю о хороших наушниках, хорошем телефоне, удобном ноутбуке и о хорошей сумке. Да-да, именно о сумке. Мы тратим много времени на выбор самого-самого прекрасного и производительного девайса, а потом кладем его в первый попавшийся рюкзак или портфель. И живем, не подозревая, что может быть иначе. В то время как правильная, продуманная сумка может принести немногим меньше удовольствия и пользы, чем дополнительная память или более быстрый процессор.

Помните пост «Что хабровчане носят с собой», где народ хвастался содержимым своего рюкзака? Меня, если честно, больше интересовало не содержимое, а то, в чем народ носит свои вещи. Вот так, к слову, выглядела одна из наиболее интересных вещей — фотосумка Boomburum.



Сегодня мне бы хотелось зайти к той теме с другой стороны и показать десяток отличных (действительно отличных) сумок на разный вкус, цвет и кошелек.
Читать дальше →
Total votes 102: ↑80 and ↓22+58
Comments147

Fail2ban и nginx: блокируем нежелательный трафик к определенному URL

Reading time2 min
Views55K
Доброго времени суток!

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

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments17

Направленные ИТ-атаки в сфере крупного бизнеса: как это происходит в России

Reading time7 min
Views69K


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

Характеристики направленной атаки обычно такие:
  • Работает профессиональная группа, как правило, мотивированная финансово или по приказу. Случайные цели редки, чаще всего выбираются сегменты отраслей или отдельные предприятия.
  • Наиболее частые векторы — сочетание 0-day и социнжиниринга. 0-day уязвимости часто закупаются у специальных «разведчиков» под крупные атаки.
  • Если атака была обнаружена и пресечена, то высока вероятность скорого возврата по другому вектору. Атака идёт до результата.
  • Основная цель — корпоративные секреты, исходники кода, переписка топ-менеджмента.
  • Возможен возврат после первичной атаки. Был пример Nortel с атакой, когда группа пришла назад через 10 лет.
  • Атаки скрытые, обычно тут не бывает никаких понтов. Приоритет — максимально зачистить логи и другие следы.

У нас на защите есть банки, розница, страховые и много кто ещё. Расскажу о практике и решениях.
Читать дальше →
Total votes 74: ↑64 and ↓10+54
Comments34

В сеть попала база 4,5 млн паролей от почтовых ящиков Mail.Ru

Reading time1 min
Views460K
Вчера, если точнее, то поздним вечером седьмого сентября, было выложено предупреждение «1000000 паролей от почтовых ящиков Яндекса утекли в сеть», которое для многих оказалось неожиданностью и вызвало бурю эмоций. Странно, что это не произошло ранее, так как новость о базе появилась на форумах как минимум еще утром шестого числа. Компания «Яндекс» уже дала свои комментарии по этому поводу.

Однако, похоже, что беды пользователей почтовых систем на этом не закончились — в сеть попала база email адресов с паролями от почтового сервиса mail.ru. В этой базе содержатся 4 664 478 записей. Актуальность базы не проверена, но, учитывая ситуацию с аккаунтами почты Яндекса, такое продолжение истории не кажется невероятным.
Читать дальше →
Total votes 148: ↑122 and ↓26+96
Comments155

1000000 паролей от почтовых ящиков Яндекса утекли в сеть

Reading time1 min
Views567K
Сегодня на одном довольно широко известном ресурсе разместили базу email адресов с паролями от почтовых ящиков «Яндекса». База представляет собой текстовый документ, в котором заявлено 1 млн позиций.

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

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

В общем, дружно меняем пароли, пока представители «Яндекса» ищут крота.
Total votes 320: ↑277 and ↓43+234
Comments548

Масштабирование наоборот: БЭМ-методология Яндекса на небольших проектах

Reading time21 min
Views62K
В разработке интерфейсов отдельные фреймворки уже не так важны: когда инструменты доступны, наша задача сводится к выбору нужных. Чтобы сделать правильный выбор, следует начать с общего подхода, с методологии. Большинство методологий, однако, разработаны крупными компаниями. Применимы ли они в маленьких проектах или для успешного использования их нужно переизобретать заново?

Скорее всего, вы уже знаете об одной из таких методологий, разработанной Яндексом, — БЭМ. БЭМ утверждает, что трёх сущностей (блоков, элементов и модификаторов) достаточно для написания HTML и CSS, задания структуры кода и компонентной структуры с последующим масштабированием проекта до самого высокого уровня.

Я проработал в Яндексе достаточно долго и видел, как эта методология работает на больших проектах. В Яндексе БЭМ используют для разработки CSS- и JavaScript-компонент, с помощью этой методологии также пишут шаблоны и задают зависимости между компонентами. Есть БЭМ-инструменты, поощряются различные эксперименты с кодом, исследования. В масштабах большой компании эти трудозатраты окупаются и дают Яндексу возможность быстро и качественно разрабатывать сотни сервисов одновременно.

Могут ли маленькие команды получить от БЭМ то же самое? Я совершенно не был в этом уверен. Всё же БЭМ — абстракция, которая поставляется вместе с инструментами и технологиями. Для маленькой компании польза от переключения на «полный стек» этих технологий — сомнительна, многие из инструментов изначально приспособлены под крупные и сложные задачи. Быть может, тогда полезной окажется сама идея, сама методология?

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

Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments54

Откровенные фото Дженнифер Лоуренс и еще десятков знаменитостей утекли через iCloud

Reading time2 min
Views926K
Личные фото некоторых знаменитостей, включая Дженнифер Лоуренс, Кейт Аптон и Ариана Гранде были опубликованы анонимным хакером на сайте 4Chan. Судя по всему, утечки стали возможными благодаря взлому аккаунтов от облачного хранилища Apple iCloud, в которое автоматически копируется информация со всех устройств Apple, о чем большинство пользователей даже не задумываются.

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

Пресс-секретарь Дженнифер Лоуренс сделал заявление, подтверждающее, что фотографии являются подлинными:


Читать дальше →
Total votes 206: ↑183 and ↓23+160
Comments328

Жалуйтесь на здоровье: как мы поняли, что главное — это саппорт

Reading time5 min
Views19K
Один из самых надежных способов потерять веру в победу добра над злом и возненавидеть человечество — устроиться на работу в техподдержку. Саппорт — уж точно работа не для слабаков. Пока ваши коллеги генерят идеи и разрабатывают разные клевые штуки, вы в техподдержке проходите все круги ада. Вас будут обзывать полными придурками и криворукими недоумками, обвинять в том, в чем вы не виноваты, и просить о том, чего вы сделать не в состоянии.



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



Читая подобные сообщения, легче всего прийти к выводу, что эти «рассерженные горожане», скажем так, небольшого ума люди. А значит, не стоит обращать на них много внимания, ведь не для них вы делаете ваш суперсервис (а для хороших, дружелюбных, умных). Но такая стратегия до добра не доведет.

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

Зачем привлекать новых пользователей, когда лучше удержать старых? Мы в UBANK в свое время полностью пересмотрели организацию работы техподдержки, сделав ее одним из приоритетных направлений для компании. И в этом посте решили поделиться несколькими простыми принципами, которые помогли нам наладить эффективную работу саппорта.
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments25

Адаптивный дизайн: теперь дело уже не в размере экрана

Reading time13 min
Views108K
В марте 2012 года Гай Подъярны (Guy Podjarny) провел тест, в ходе которого сравнивалась продуктивность работы сотен новых адаптивных сайтов на устройствах с четырьмя различными разрешениями экранов. Получившиеся результаты были весьма разочаровывающими.

После двух лет подъема адаптивного дизайна, когда любой дизайнер и разработчик, которых только можно представить, запрыгнули в этот поезд, тест производительности на различных разрешениях потряс сами основы адаптивной теории.
Читать дальше →
Total votes 81: ↑73 and ↓8+65
Comments44

mysqlnd — проводник между PHP и MySQL

Reading time16 min
Views66K


Расширение mysqlnd появилось ещё в PHP 5.3, но до сих пор малоизвестно среди разработчиков. Однако оно незаменимо, если ваша система основана на MySQL. Если вы хотите узнать, почему это расширение так важно, что оно собой представляет, как его использовать и какие оно даёт преимущества — читайте статью.
Читать дальше →
Total votes 129: ↑116 and ↓13+103
Comments35

Восстановление удалённого раздела TrueCrypt

Reading time2 min
Views38K
В связи с прекращением проекта тема менее актуальна, но всё же



В своё время, устанавливая Windows, я решил не трогать системный раздел, но зашифровать раздел с данными.
В результате HDD выглядел так:



Последний раздел на 831,51гб – это том, зашифрованный с помощью TrueCrypt.
В связи с досадной ошибкой, я удалил все разделы со своего HDD.
Есть множество программ, восстанавливающих удалённые разделы, (мне помог Paragon HDM), но так как том TrueCrypt невозможно отличить от набора случайных данных, ни одна программа обнаружить его не смогла.

Ниже вы узнаете, как можно восстановить удалённый том TrueCrypt (обладая паролем/ключевым файлом)
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments14

«Цифровой шаббат» или как месяц без компьютеров изменил меня

Reading time11 min
Views68K
Я разобрал всю почту и отправил последнее письмо. Написал родным, передал свои проекты друзьям. Отправив последний твит, я выключил свой ноутбук, телефон и планшет. Через 10 минут начнётся мой «цифровой шаббат», и я в течение месяца не смогу управлять ни одним цифровым устройством.
Со времён Батлерианского Джихада, когда «мыслящие машины» были стёрты с лица большей части вселенной, компьютеры внушали недоверие.
Мессия Дюны

Цифровые и доцифровые вещи
Слева мои вещи из цифровой жизни — я бережно выключил питание, собрал их вместе и положил глубоко в сумку. Для новой жизни я достал те вещи, которые на фотографии справа.
Читать дальше →
Total votes 243: ↑205 and ↓38+167
Comments324

Пишем Instagram виджет для сайта. Инструкция для любопытных. Готовое решение для всех остальных

Reading time6 min
Views202K
image Недавно мне потребовалось интегрировать в сайт Instagram виджет. Чтобы пользователи видели последние опубликованные фотографии. Может даже подписывались.

Тут же выяснилось, что официального виджета у Instagram нет. Более того, с Instagram можно взаимодействовать исключительно через запросы к API. Никаких тебе JavaScript библиотек, генераторов кода и дизайна. Всё нужно делать руками.

Сразу нашлось множество сторонних сервисов разной степени платности и бесплатности. Объединяло их одно – клиент получает лишь код вызова виджета, всё остальное тянется с сервиса. Меня лично это не устраивало. Почему нет бесплатного standalone решения с открытым исходным кодом? Может быть я плохо искал? В общем, я решил внести свои пять копеек.

Инструкция по созданию виджета и готовое решение под катом.

Небольшое примечание. С момента написания этой статьи прошло уже семь месяцев. За это время виджет был установлен на около 80 ресурсах, создан репозиторий на GitHub, добрый человек подарил мне инвайт, виджет сменил механизм кэширования, обзавёлся собственным сайтом, добрые люди на его основе сделали плагин для CMS Битрикс, а я так и не нашёл аналогов в сети.
Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments16

Изображения в верстке. Хватит это терпеть

Reading time3 min
Views112K


Надеюсь этот пост послужит ликбезом всем веб-дизайнерам, верстальщикам, и проджект-менеджерам. Если вы хороший верстальщик, вас однозначно раздражают растровые изображения. Вы ненавидите растр, и всё, что имеет заметные глазу пиксели. Если это не так, добро пожаловать под кат.
Читать дальше →
Total votes 128: ↑98 and ↓30+68
Comments125

Почему вы никогда не должны использовать MongoDB

Reading time16 min
Views286K
Дисклеймер от автора (автор — девушка): Я не разрабатываю движки баз данных. Я создаю веб-приложения. Я участвую в 4-6 разных проектах каждый год, то есть создаю много веб-приложений. Я вижу много приложений с различными требованиями и различными потребностями хранения данных. Я разворачивала большинство хранилищ, о которых вы слышали, и несколько, о которых даже не подозреваете.

Несколько раз я делала неправильный выбор СУБД. Эта история об одном таком выборе — почему мы сделали такой выбор, как бы узнали что выбор был неверен и как мы с этим боролись.Это все произошло на проекте с открытым исходным кодом, называемым Diaspora.
Читать дальше →
Total votes 219: ↑181 and ↓38+143
Comments245

Открыта регистрация Официальных Блогеров™ в России

Reading time1 min
Views21K


На картинке изображено возможное ближайшее будущее*

Сегодня распахнул свои двери ресурс, который позволяет официально зарегистрировать свой сайт (или блог) в интернете.

Теперь каждый может официально зарегистрировать свой ресурс.

Но есть кое-что еще…
Читать дальше →
Total votes 93: ↑78 and ↓15+63
Comments207

Information

Rating
Does not participate
Registered
Activity