Pull to refresh
20
0
Anton Zhukov @2ball

Backend developer

Send message

Знай сложности алгоритмов

Reading time2 min
Views1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

Создавайте хорошие таблицы

Reading time5 min
Views49K

Таблица


Бедные таблицы. Ну что с ними не так?


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

Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments24

Каково оно учить JavaScript в 2016

Reading time10 min
Views349K


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

— Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.

— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
Читать дальше →
Total votes 260: ↑238 and ↓22+216
Comments298

Кнопки в дизайне интерфейсов: эволюция стиля и рекомендации

Reading time5 min
Views39K


Кнопка – простейший каждодневный элемент дизайна для взаимодействий. Хотя кнопки кажутся простыми элементами UI, их дизайн за последние десятилетия сильно менялся. Но всегда в сторону улучшения распознавания и ясности.

В статье мы рассмотрим эволюцию кнопок и решим, каким из примеров лучше всего следовать, чтобы создать эффективные кнопки.

Эволюция стиля


Трёхмерная кнопка


С ранних дней кнопки операционных систем основывались на эмуляции рельефа и тени, чтобы отличать их от окружающих элементов. Это дизайнерское решение было основано на простом принципе – использование кромки, градиента и тени выделяет элемент из фона, и его становится легко распознать как элемент, поддерживающий нажатие.
Читать дальше →
Total votes 39: ↑35 and ↓4+31
Comments25

Как устроен поиск

Reading time28 min
Views34K
Андрей Аксёнов

Андрей Аксенов (shodan, Разработчик поискового движка Sphinx)


Поиск устроен вот так:

Краткое устройство поиска

Индексация – по большому счету, ничего сложного. Понятное дело, что по малому счету, там в каждой из трех «деталей» спрятан не то, что демон, а целое где-то стадо, где-то легион, не совсем понятно. Но концепция всегда простая. Все начинается с маленького простенького патчика к Многосерчу, а потом 15 лет этой херней занимаешься.

Берешь документы, разваливаешь их на ключевые слова. И просто взять и развалить документ на ключевые слова «мама, мыла, раму» – это ты не далеко ушел от grep’а, потому что потом все равно эти ключевые слова перебирать. Надо строить некую спец. структуру – полнотекстовый индекс. Вариантов для его построения человечество придумало в свое время довольно много, но, слава Богу, от всех отказалось и в нормальных продакшн системах, по большому счету, победил на данный момент вариант ровно один. Про него и буду рассказывать. Все остальные имеют скорее историческое значение, что ли, и практического интереса не представляют.
Total votes 64: ↑53 and ↓11+42
Comments22

Как стать дизайнером. Главная ошибка и необходимые навыки. Личный опыт сотрудников Mail.Ru Group, Badoo, Trood

Reading time4 min
Views33K


Плохой дизайн убивает. Хороший делает жизнь проще. Блестящий — меняет мир. Классическое образование никогда не поспеет за скоростью развития отрасли. Начинающим сложно вскочить в этот поезд. Но можно. За последние два года я посетил десятки конференций, общался с дизайнерами лидирующих компаний, работал над несколькими проектами и обнаружил схожесть в развитии многих специалистов. К полученным знаниям прибавился личный опыт и в итоге получился материал, который я мечтал бы прочитать три года назад.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments18

2 мощных психологических приема для существенного увеличения конверсии

Reading time4 min
Views32K
image

Конверсия тесно связана с психологией. В процесс осуществления покупки нас втягивает сложный спектр эмоций. На некоторых людей влияют цена, полезные свойства или качество товара. С другой стороны, существуют факторы психологического воздействия, которые переубеждают покупателя и оказывают на него давление, что существенно отличается от распродажи или скидки. К сожалению, многие сайты не придают должного значения данным факторам. И такие сайты либо закрываются, либо так и не достигают своего максимального потенциала. Еще есть время все исправить!
Читать дальше →
Total votes 25: ↑16 and ↓9+7
Comments7

Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

Reading time5 min
Views107K
Всю рутину, которую можно отдать роботам, нужно отдать роботам. Большие системы без этого невозможны. В разработке и тестировании очень много похожих задач, которые не требуют высокой квалификации, но отнимают много времени. Человек, который умеет обеспечить разработку, тестирование и деплой – это редкий специалист и его на количество страничек никак не масштабируешь.

В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



Курс открывает моя лекция о том, зачем вообще автоматизировать процесс разработки. Из нее вы получите представление о то, что будут рассказывать мои коллеги.

Сейчас занятия закончились, и мы, как и обещали, выкладываем записи лекций, которые перемежаются с мастер-классами, для всех желающих. Понятно, что наш опыт и знания – не 42, но мы надеемся, что они принесут вам пользу.
Читать дальше →
Total votes 70: ↑67 and ↓3+64
Comments18

Компонент источник файлов Dropbox для MODX Revolution

Reading time7 min
Views5.3K
Для реализации одного проекта возникла необходимость использовать какое-либо облачное хранилище. Суть заключается в том, что есть несколько распределенных сотрудников, каждый из которых использует специальную программу, результатом деятельности которой являются обособленные XML-файлы. Данные этих файлов необходимы для того, чтобы сформировать отчетность на сайте, где пользователи могли бы скачать доступную им информацию. Проблема в том, что сотрудники работают на своих локальных машинах и как бы с интернетом не взаимодействуют (то есть не используется какой-то единый сервер или типа того). И вот я решил задействовать Dropbox, типа настрою каждому пользователю свою папочку, куда и будут синхронизироваться их файлы, а на стороне сайта по крону буду все забирать с дропбокса и использовать для формирования отчетности. Под катом расскажу, что из этого получилось.
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments0

Бородатые дизайнеры о дизайне думают в последнюю очередь

Reading time5 min
Views25K
Какой цвет лучше – бирюзовый или оливковый, а кнопки – глянцевые или плоские, а шрифт – антиква или гротеск, а вёрстка – фиксированная, резиновая, или адаптивная… и еще 100500 подобных вопросов. Добро пожаловать в голову дизайнера. Попробуем разобраться, что здесь лишнее, а чего не хватает.

Итак, речь пойдет о дизайнерах в маленьких компаниях. Но не о тех, кто рисует одноразовые художественные промо-сайты (где часто работает подход «чем оригинальнее, тем лучше»), а о тех, кто создает функциональные, полезные приложения и веб-интерфейсы, рассчитанные на долгосрочное использование. Вроде бы, какая разница, что рисовать – везде кнопки, странички, картинки, текст… А вот и нет. Это совершенно разные задачи и решать их должны люди с совершенно разными навыками и талантами. Но, обо всем по порядку.
Читать дальше →
Total votes 24: ↑17 and ↓7+10
Comments26

20 ноября — запуск первой стратегической MMO-игры для… программистов

Reading time4 min
Views22K
В следующий четверг состоится запуск проекта, над которым мы работали последние несколько месяцев. Screeps — первая известная мне стратегическая игра в MMO-песочнице, созданная для программистов. Вместо традиционного Point'n'click, геймплей заключается в написании и постоянном улучшении программы для AI ваших юнитов на JavaScript, которая управляет ими непрерывно и автономно — даже когда вы не онлайн. Это радикально новая идея, и если вы программист, вам определенно стоит на это взглянуть.



Если вы программист, то не думали ли вы в предыдущий раз, когда играли в свою любимую онлайн-игру, чтобы было бы здорово как-нибудь ее автоматизировать? Зачем тратить время своей жизни на выполнение действий, которые легко выполняются ботом? Почему вы должны каждый день заходить в игру, чтобы получить награду, если с этим легко справился бы скрипт? Больше никакой бессмысленной траты времени на действия, которые под силу и ребенку, мы же способны на большее. В Screeps скрипты не просто разрешены, Screeps это игра о скриптах!

Под катом технические и игровые подробности.
Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments80

Опыт продвижения проекта с минимальными затратами

Reading time2 min
Views38K


Год назад началась история Raindrop.io. За это время сервис посетило 250 000 человек, а количество сохраненных закладок перевалило за 2.5 миллиона. На данный момент реализована веб-версия, расширения для всех браузеров, Android и iOS клиент. Как и прежде в проекте я один. В этом посте я постараюсь поделиться накопленным опытом и рассказать о важных событиях случившихся с проектом.
Читать дальше →
Total votes 67: ↑55 and ↓12+43
Comments41

Простые догмы при работе с цветом в интерфейсах

Reading time5 min
Views111K
image

Привет, username!

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

Читать дальше →
Total votes 149: ↑131 and ↓18+113
Comments128

Очки дополненной реальности SpaceGlasses META.01 — все то, что не умеет Google Glass

Reading time1 min
Views120K
Очки дополненной реальности META.01 — это очки дополненной реальности плюс инфракасные камеры для распознавания движений, закрепленные прямо на очках.

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


Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments48

Лайфхак 187-ФЗ: отправляем ссылки по электропочте

Reading time1 min
Views47K
Пусть у нас есть торрент трекер с каталогом медиа контента: описание + ссылка на торрент. Тогда по 187-ФЗ сайт можно заблокировать.

Если мы не будем публиковать ссылку, а будем присылать ссылку на торрент файл по электронной почте, то нас никто не заблокирует и пользователь не будет привязан к конкретной странице сайта.

Естественно: в случае блокировки ссайта с ссылками, легко меняем сервер, сохраняя информационный поток с пользователями.

К. О.
Total votes 139: ↑116 and ↓23+93
Comments105

Мужик заказал на Амазоне телевизор, а ему принесли винтовку

Reading time1 min
Views13K


Вашингтон, округ Колумбия. У двери человека оказывается коробка. Он радостно тащит ее домой и распаковывает, надеясь увидеть новенький телевизор, который он, собственно, и заказывал на Amazon.
Читать дальше →
Total votes 128: ↑98 and ↓30+68
Comments178

Жизнь разработчика (в картинках)

Reading time1 min
Views66K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Total votes 884: ↑700 and ↓184+516
Comments132

250 строк кода, распознающих дату на русском языке

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



Пример и код в jsFiddle.
Читать дальше →
Total votes 120: ↑115 and ↓5+110
Comments77

Паттерны ООП в метафорах

Reading time17 min
Views566K
Большинство литературы посвященной паттернам в ООП (объектно-ориентированном программировании), как правило, объясняются на примерах с самим кодом. И это правильный подход, так как паттерны ООП уже по-умолчанию предназначаются для людей, которые знают что такое программирование и суть ООП. Однако порой требуется заинтересовать этой темой людей, которые в этом совершенно ничего не понимают, например «не-программистов» или же просто начинающих «компьютерщиков». Именно с этой целью и был подготовлен данный материал, который призван объяснить человеку любого уровня знаний, что такое паттерн ООП и, возможно, привлечет в ряды программистов новых «адептов», ведь программирование это на самом деле очень интересно.
Статья предназначена исключительно для новичков, так что «старожилы» ничего нового для себя не узнают. В основном статья описывает известные паттерны из книги «Приемы объектно-ориентированного программирования. Шаблоны проектирования.», но более популярным и простым языком.
Читать дальше →
Total votes 214: ↑201 and ↓13+188
Comments86

Как 3 человека без инвестиций «волшебную кнопку» для магазинов делали

Reading time4 min
Views14K

Что было до этого?


В статье нет прямых ссылок на наш продукт и даже его скриншотов. Да, я все еще боюсь НЛО.



Чуть больше года назад я рассказал о применении игрового подхода в электронной коммерции, а в январе показал во что превратилась эта идея и как мы с ней подавались в Канадские инкубаторы. В инкубатор мы не попали, хоть и добрались до самого финала. Мы могли присоединиться к любому инкубатору в Украине, но их условия показались нам не очень привлекательными. Так что, мы просто очень много работали эти 9 месяцев, а на хабре за это время так и не появилось новых материалов о «геймификации» в онлайн-торговле, разве что, кроме этого материала почему-то яро заминусованного публикой.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments11
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity