Как стать автором
Обновить
1
Александр Домбровский @farwread⁠-⁠only

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

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

Офис компании Ozon.ru

Время на прочтение4 мин
Количество просмотров105K
Всем привет! Здесь, на сайте, довольно много «виртуальных экскурсий» по офисам известных IT-компаний. Вот и я решил пригласить вас в офис OZON.ru, где работаю я сам.

Думаю, большинство обитателей рунета в курсе, что это за компания, но на всякий случай поясню. OZON.ru – это огромный онлайн-мегармаркет, где можно купить практически все что угодно, от носков и до холодильника, но прежде всего, конечно, самые интересные книги и отличные гаджеты. Ну, да не будем отвлекаться – скорее в путь, гулять по московским офисам компании!

И — осторожно: под катом трафик.
Читать дальше →
Всего голосов 139: ↑91 и ↓48+43
Комментарии113

Curiosity — первые 50 дней на Марсе

Время на прочтение3 мин
Количество просмотров96K
Мы решили примерно раз в неделю делать обзоры про текущие исследования Curiosity на Марсе. Но так как уже два месяца прошло, в первых постах пробежимся быстренько, чтобы догнать текущий момент.

Итак, 6 августа 2012 года на планету Марс совершил успешную посадку марсоход MSL Curiosity. Первый его кадр, переданный на Землю, вызвал волну радости и воодушевления у специалистов NASA:


Далее про первые 50 дней Curiosity на Марсе, с фотографиями, панорамами и иллюстрациями
Читать дальше →
Всего голосов 269: ↑266 и ↓3+263
Комментарии88

Roundabout — фреймворк для создания карусели на основе JQuery

Время на прочтение3 мин
Количество просмотров8.2K
Совсем недавно я начал изучать JavaScript, затем JQuery, и теперь потихоньку перехожу к плагинам и фреймворкам построенным на основе вышеупомянутых технологий. Параллельно с изучением JS верстаю небольшие сайты-визитки, и вот у меня возникла необходимость сделать “карусель” из картинок. Оказалось, есть уже готовые решения, и об одном из них я хочу вам рассказать. Данная статья является выдержками с оригинального сайта фреймворка RounAbout.
Читать дальше →
Всего голосов 17: ↑10 и ↓7+3
Комментарии5

Проверка идеи боем: fake landing page

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

Основная проблема любой идеи стартапа — никто не знает, нужно ли это вообще кому-нибудь или нет. Готовы ли люди изменить своё поведение, свои привычки и начать пользоваться новым продуктом? И главное — готовы ли они за него заплатить?



Десятки-сотни тысяч стартапов ежегодно запускаются, не зная ответа на этот вопрос. Это понятно — никогда нельзя быть абсолютно уверенным в успехе нового бизнеса. Тем не менее, существуют несколько методов проверки идеи — и все они с разной степенью могут предсказать будущее продукта. Один из самых эффективных методов — это разработка fake landing page.



Начнем «раскручивать» термин с конца. Landing page («посадочная страница») называют страницу сайта, на которую пользователь переходит по нажатию на рекламное сообщение. Обычно на этой странице кратко и полно описывается суть продукта, а так же размещается action button, например «Зайти», «Начать», «Узанать подробнее». Цель landing page — «взять на руку» человека, пришедшего извне по рекламе, быстро и четко объяснить, что здесь происходит, и показать один путь, куда двигаться дальше. Переход же на главную страницу сайта, как часто делают многие рекламодатели, обычно является серьезной ошибкой — большое количество информации, которая понятна уже постоянному пользователю, пугает новичка — и даже не надейтесь, что он найдет раздел «О нас» или «Что это?».



С появлением приставки fake — фальшивый, ненастоящий — проявляется сакральный смысл всей идеи проверки будущего стартапа на реальности. Мы создаем landing page для еще несуществующего продукта, «пригоняем» траффик посредством рекламного объявления и проверяем, как ведут себя наши потенциальные клиенты. Итоговым результатом является четкий ответ — сколько из всех, кто в принципе заинтересован предложенной идеей (нажали на рекламное объявление) готовы стать вашими клиентами (нажали на кнопку «Зайти» на fake landing page).


Дальше - конкретные шаги по созданию fake landing page
Всего голосов 73: ↑66 и ↓7+59
Комментарии16

ЕГЭ прошлое и настоящее

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

Введение


Здравствуйте! Я — студент математического факультета, учусь на 3 курсе и так уж вышло, что я увлекся решением задач ЕГЭ части C как по математике, так и по информатике.

К сожалению, на ЕГЭ по информатике обращают меньше всего внимания. Вы спросите, почему я так решил? Да хотя бы, потому что на протяжении 7 лет задания по математике меняются из года в год, причем коренным образом, а по информатике как были, так и остались. Каждый год я видел одни и те же задания. И знаете что?! Это действительно надоело, потому что ЕГЭ по информатике превращается в своего рода – «набей руку на решение однотипных задач и получи свою пятерку».

В 2012 году на ЕГЭ по информатике, наконец, обратили внимание. И оно поменялось (причем все три части A, B, C).

Все кому интересно посмотреть на задачи, которые были на протяжении 7 лет и на то, как они были изменены в 2012 году, прошу подкат. Мы будем рассматривать C часть, так как, именно, она представляет больший интерес. Хотя А и B части по информатики тоже очень серьезно изменились, их мы рассмотрим в следующий раз, если это Вам будет интересно.
Читать дальше →
Всего голосов 69: ↑47 и ↓22+25
Комментарии125

xDebug + Denwer + NetBeans

Время на прочтение3 мин
Количество просмотров3.4K
В данном хабратопике речь пойдет о том, как настроить xDebug (отладка php) для работы в среде NetBeans c установленным пакетом Denwer. Статья для начинающих, таких же как и я. Решил, что если сам убил пару дней на настройку — может кому-то сэкономит время.
Сразу оговорюсь — вопрос использования пакета Denwer спорный. Возможно лучше использовать, что-то типа wamp или xampp, но мне самому пока нравится Denwer (сам подхватывает виртуальные хосты) и не смотря на то, что проект уже некоторое время не обновляется — еще года 1,5 — 2, думаю проживет. Да и большинство статей для начинающих обычно начинаются «поставьте Denwer».

Итак, обычная последовательность действий по настройке такая:
  1. Качаем правильную версию dll-ки xDebug;
  2. Кладем ее в нужный каталог php;
  3. Вносим нужные настройки в php.ini;
  4. Настраиваем NetBeans;
Читать дальше →
Всего голосов 18: ↑7 и ↓11-4
Комментарии13

Очень быстрый и эффективный способ расслабления глаз

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

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →
Всего голосов 246: ↑238 и ↓8+230
Комментарии207

Несколько мифов о SEO

Время на прочтение8 мин
Количество просмотров7.6K
SEOЧитая сегодня утром Хабр наткнулся на пост «SEO-шники не ведают, что творят» и, увидев в нем нереальное количество заблуждений о SEO, просто не смог сдержаться – зарегистрировался и сел писать этот пост.

Сразу признаюсь – да, я занимаюсь SEO. Причем уже около 4-ех лет (по меркам отрасли это не так уж мало). За это время я успел приложить руки к продвижению порядка полусотни сайтов (хотя сейчас я ушел больше в руководство проектами и комплексное продвижение и развитие сайтов). Поэтому я знаю, о чем говорю. Хотя конечно в чем-то могу и ошибаться, но уверен, что в комментариях меня быстро поправят.

Давайте ближе к делу:
Читать дальше →
Всего голосов 186: ↑109 и ↓77+32
Комментарии240

SEO-шники не ведают, что творят

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

SEO-шники не ведают, что творят


Заметка обращается к предпринимателям, которые пользуются услугами SEO-шников. И смысл её простой — не ленитесь посмотреть, что они делают и как продвигают продукцию. И чуть что — гоните их в шею. Бог с тем, что они замусорили весь интернет. Есть большая вероятность, что для вашего бизнеса от них столько же вреда, сколько и пользы. Пустая трата денег.



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



А ведь вам, уважаемые предприниматели, не всё равно? Если нет, то попробуйте поискать свою продукцию в интернете. Возможно, вы узнаете о ней много интересного. И тогда интернет станет чуточку лучше. А чтоб простимулировать внимательность, я опишу забавную ситуацию.



Читать дальше →
Всего голосов 202: ↑149 и ↓53+96
Комментарии203

Опыт составления резюме

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

Проблема


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

В этом посте я бы хотел рассказать о своём опыте создания резюме: о предполагаемой целевой аудитории и деталях оформления. Оговорюсь, что я программист, в отделе кадров никогда не работал, так что к соображениям следует относиться со скептицизмом.

Читать дальше →
Всего голосов 131: ↑107 и ↓24+83
Комментарии215

Видео: полный цикл разработки на JavaScript

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

В этой открытой лекции я попытался сжато рассказать и показать полный цикл (full stack) разработки веб-приложений на JavaScript.

Начнем мы с короткого введения в язык, потом в двух словах поговорим о клиентской части, в частности, об MVC фреймворках вроде Angular.js, после чего перейдем на серверную часть: Node.js и MongoDB. В конце обсудим возможность автоматизации разработки и сборки проектов с помощью Grunt.js.



Скачать слайды и исходные коды.

Лекция была записана в офисе компании Chocolife, зрители – разработчики этой компании.
Всего голосов 57: ↑47 и ↓10+37
Комментарии27

Несколько интересностей и полезностей для веб-разработчика (выпуск 5)

Время на прочтение3 мин
Количество просмотров40K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Stackedit



Шедевр среди Open Source редакторов! Основан на библиотеке разметки (Markdown) PageDown, которая используется в StackOverflow и других проектах StackExchange. Stackedit синхронизируется с Dropbox и Google Drive, а также сохраняет все документы в local storage, благодаря чему редактирование возможно и в онлайне и в оффлайне. Возможность импорта/экспорта/конвертация Markdown и HTML. Публикация в WordPress, Tubmlr, Blogger, Github, Gist и на любой SHH сервер. Статистика, работа в режиме realtime, поддержка различных синтаксисов (Prettify/Highlight.js), LaTeX, темы… Это просто великолепный продукт.


App.io позволяет запускать iOS приложения в браузере. Это уже тема мобильной разработки, но недавно я читал статью про Sprinty Driver и обратил внимание на то, что BeetlePlay разрабатывают демо-версии на Flash. Решил поделиться. Также советую фреймворк для создания анимаций в UIKit от IFTTT.

Читать дальше →
Всего голосов 70: ↑64 и ↓6+58
Комментарии22

Автоматизация тестирования Web-приложений

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


Автоматизация тестирования – место встречи двух дисциплин: разработки и тестирования. Наверное поэтому, я отношу эту практику к сложным, но интересным.

Путем проб и ошибок мы пришли к следующему технологическому стеку:
  1. SpecFlow (опционально): DSL
  2. NUnit: тестовый фреймворк
  3. PageObject + PageElements: UI-абстракиця
  4. Контекст тестирования (информация о целевом окружении, пользователях системы)
  5. Selenium.WebDriver

Для запуска тестов по расписанию мы используем TFS 2012 и TeamCity.
В статье я опишу, как мы к этому пришли, типовые ошибки и пути их решения.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии21

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

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

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

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

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

JavaScript обёртка скроллбара в виде jQuery плагина

Время на прочтение6 мин
Количество просмотров68K
Проблема стилизации скроллбара браузера до сих пор актуальна, несмотря на огромное количество скриптов, предназначенных для решения данной задачи. Рассмотрим реализацию стилизуемого скроллбара, максимально приближенного к родному поведению браузера.

Существует два основных подхода для стилизации скроллбара средствами HTML/CSS, каждый из которых имеет свои плюсы и минусы:

  • Эмуляция скролла средствами JavaScript
  • JavaScript обёртка над родным скроллом

Читать дальше →
Всего голосов 45: ↑38 и ↓7+31
Комментарии62

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

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

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

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

«Работает — не трогай». Стоит ли нарушать правила?

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

Введение


Очень не хватало возможности ввести пользователей в контекст перед голосованием. Спасибо! И так

Преамбула


Работая со старым унаследованным кодом, порой встречаются достаточно проблемные участки, которые есть желание переписать\исправить\переделать, но нет такой возможности. Этот код может быть с ошибками, которые не исправляются годами и с ними приходится мириться. Что делать с таким кодом?
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии53

Coroutines в PHP и работа с неблокирующими функциями

Время на прочтение18 мин
Количество просмотров79K
Одним из самых больших нововведений в PHP 5.5 будет поддержка генераторов и корутин (сопрограмм). Генераторы уже достаточно были освещены в документации и в нескольких других постах (например в этом или в этом). Сопрограммы же получили очень мало внимания. Это гораздо более мощный, но и более сложный для понимания и объяснения, инструмент.

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

Генераторы


Суть генератора в том, что это функция, которая возвращает не просто одно значение, а последовательность значений, где каждое значение выброшено одно за другим. Или, другими словами, генераторы позволяют вам реализовать итератор, без лишнего кода.
Читать дальше →
Всего голосов 111: ↑103 и ↓8+95
Комментарии57

PHP класс для удобной и безопасной работы с MySQL

Время на прочтение9 мин
Количество просмотров116K
После написания статьи про защиту от инъекций я взялся за написание класса, реализующего изложенные в ней идеи.
А точнее, поскольку ключевой функционал уже использовался в рамках рабочего фремворка, я занялся выделением его в самостоятельный класс. Пользуясь случаем, хочу поблагодарить участников PHPClub-а за помощь в исправлении нескольких критических ошибок и полезные замечания. Ниже я постараюсь описать основные особенности, но сначала небольшой
дисклеймер
Есть несколько способов работы с SQL — можно использовать квери-билдер, можно ORM, можно работать с чистым SQL. Я избрал последний вариант, потому что мне он ближе. Я совсем не считаю первые два плохими. Просто лично мне всегда было тесно в их рамках. Но я ни в коем случае не утверждаю, что мой вариант лучше. Это просто ещё один вариант. Который можно использовать, в том числе, и при написании ORM-а. В любом случае, я считаю, что наличие безопасного способа работать с чистым SQL не может принести какой-либо вред. Но при этом, возможно, поможет последним оставшимся приверженцам использования mysql_* в коде приложения, отказаться, наконец, от этой порочной практики.

В двух словах, класс строится вокруг набора функций-хелперов, позволяющих выполнять большинство операций с БД в одну строку, обеспечивая при этом (в отличие от стандартных API) полную защиту от SQL инъекций, реализованную с помощью расширенного набора плейсхолдеров, защищающих любые типы данных, которые могут попадать запрос.
В основу класса положены три базовых принципа:
  1. 100% защита от SQL инъекций
  2. При этом защита очень удобная в применении, делающая код короче, а не длиннее
  3. Универсальность, портабельность и простота освоения

Остановлюсь чуть подробнее на каждом из пунктов.
Читать дальше →
Всего голосов 92: ↑51 и ↓41+10
Комментарии103

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

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


Джастин Уиндл, программист и дизайнер из Google Creative Lab, опубликовал на Codepen.io интересное демо, показывающее примеры использования тригонометрических функций для задания динамики анимации (easing), которая выглядит естественно и правдоподобно. Демо написано с использованием легковесного анимационного фреймворка Sketch.js, написанного Уиндлом.

На сайте Джастина Уиндла можно найти ещё несколько интересных и полезных примеров креативной визуализации, например анимированное меню на CSS3 Makisu, демонстрацию работы его библиотеки Coffee Physics и многое другое.

Всего голосов 70: ↑52 и ↓18+34
Комментарии22
1
23 ...

Информация

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