Pull to refresh
4
0.1
Stas Skokov @batChar

Да

Send message

Вы зарабатываете на информации (зачем нужен API и как его грамотно спроектировать)

Reading time10 min
Views24K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик.
Информация — основа любого приложения или сервиса.



Более 10 лет назад я общался с владельцем покер-рума, и он показал мне страницу, приносившую около 10 000$ в день. Это была совершенно банально оформленная страница. На ней не было ни стилей, ни графики. Сплошной текст, разбитый заголовками, секциями и ссылками. У меня просто не укладывалось в голове — ну как вот это может приносить такие деньги?

Секрет в том, что «вот это» было одним из первых исчерпывающих руководств по игре в покер онлайн. У страницы был PageRank 10/10 (или 9, не суть), и в поисковой выдаче это было первое, на что натыкались.

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

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

Я не рассматриваю магазины, продающие «на эмоциях», и покупки, о которых пользователь может потом пожалеть.

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

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

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

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

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

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


Думаю, идею вы уже уловили. Примеры можно приводить бесконечно (вот ещё один: на википедию не за дизайном ходят. Более того, часть информации с википедии выводится сразу в поисковой выдаче, без открытия даже самого сайта), и если думаете, что в вашем случае это неприменимо — напишите в комментариях (или на почту / в личку), и я объясню, почему всё же применимо.

Так вот: чем бы вы ни занимались, первичной всегда будет информация. Хорошую, качественную информацию пользователи обязательно найдут и обратятся к вам.

Я расскажу, как организовать работу с информацией так, чтобы это было:
1. Масштабируемо — репликация, шардирование и т.п. настраивается БЕЗ вмешательства в работу приложения.
2. Удобно для пользователей — легко документировать, понятно как использовать.
3. Удобно для ваших разработчиков — быстрое прототипирование, возможности оптимизации только необходимого.

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

Как же правильно работать с информацией?
Total votes 29: ↑20 and ↓9+11
Comments24

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time9 min
Views86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Total votes 158: ↑149 and ↓9+140
Comments15

SoC: пишем реализацию framebuffer для контроллера в FPGA

Reading time13 min
Views33K


Приветствую!

В прошлый раз мы остановились на том, что подняли DMA в FPGA.
Сегодня мы реализуем в FPGA примитивный LCD-контроллер и напишем драйвер фреймбуфера для работы с этим контроллером.

Вы ещё раз убедитесь, что разработка под FPGA и написание драйверов под Linux дело очень простое, но интересное.

Также в конце есть маленький опрос — хочется узнать мнение сообщества. Если не сложно, прошу проголосовать.

Добро пожаловать
Total votes 49: ↑48 and ↓1+47
Comments10

Структуры данных. Неформальный гайд

Reading time6 min
Views168K


Конечно, можно быть успешным программистом и без сакрального знания структур данных, однако они совершенно незаменимы в некоторых приложениях. Например, когда нужно вычислить кратчайший путь между двумя точками на карте, или найти имя в телефонной книжке, содержащей, скажем, миллион записей. Не говоря уже о том, что структуры данных постоянно используются в спортивном программировании. Рассмотрим некоторые из них более подробно.
Читать дальше →
Total votes 91: ↑83 and ↓8+75
Comments31

Построение системы координат по набору расстояний

Reading time5 min
Views17K

Введение


Прикладная математика это набор инструментов, позволяющих решать те или иные проблемы, возникающие на практике. В данной статье рассмотрим один из таких инструментов — преобразование девиации применительно к матрицы евклидовых расстояний. Спектр полученной в результате матрицы Грина позволяет судить о размерности исходных данных и рассчитать координаты исходных точек относительно собственного центра координат.

Допустим, у нас имеется (n > 2) точек и известны все расстояния между ними. Потенциальная мерность пространства равна (n-1). Надо определить, пространству какой мерности принадлежат заданные точки, а также координаты точек в данном пространстве.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments8

Эволюция разгона процессоров AMD и Intel. Overclocking лихих 90-х до нового времени

Reading time17 min
Views95K


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

То же самое относится и к мужчинам. Причем данная мания проявляется в большей степени не только по отношению к себе любимым. Уже переходя к тематике этого материала, легко заметить, как эволюционировал оверклокинг – мужской вид стремления к идеалу. А вместе с оверклокингом – и энтузиасты, и компании, производящие «железо». Сегодня для мастеров разгона главное – продемонстрировать максимум, сиюминутный успех. Поэтому сейчас в ход идут нестандартные виды охлаждения в виде систем фазового перехода или же применения жидкого азота. Хотя все прекрасно понимают, что комплектующие постоянно работать при столь экстремальных нагрузках не будут – да и дорого это будет, хранить цистерну азота.

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

Часть 2: Моддинг: История. Сложный путь
Читать дальше →
Total votes 72: ↑65 and ↓7+58
Comments72

СКАЛА — ЭВМ ЧАЭС, история создания

Reading time4 min
Views79K
imageСегодня исполняется 28 лет со дня чернобыльской катастрофы. На эту тему написано очень много статей, выдвинуто немало теорий о причинах взрыва, сделано множество расследований и выводов. В этой статье я постараюсь не касаться самой темы взрыва и последующей катастрофы, а расскажу о истории создания компьютера, который регулировал работу станции — о системе СКАЛА. Кому интересно — добро пожаловать под кат.
Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments22

Рассекречена личность Сатоси Накамото

Reading time3 min
Views271K


Опытной журналистке Newsweek удалось найти Сатоси Накамото, автора цифровой криптовалюты Bitcoin. Оказалось, что его на самом деле зовут… Сатоси Накамото и он скромно живёт со своей семьёй в Калифорнии, несмотря на 1 млн BTC, полученный при майнинге в первый год.
Читать дальше →
Total votes 215: ↑192 and ↓23+169
Comments115

Интересно и познавательно: разгонный блок «Бриз-М»

Reading time9 min
Views100K

Хорошая реакция на первый пост о космическом симуляторе Orbiter и, как минимум, двести человек, которые заинтересовались и скачали аддоны к нему, привели меня к идее продолжить цикл постов образовательной и игровой направленности. Также, я хочу облегчить переход от первого поста, в котором всё делает автоматика, не требуя ваших действий, к самостоятельным экспериментам, чтобы не получился анекдот о рисовании совы. Этот пост имеет следующие цели:
  • Рассказать о семействе разгонных блоков «Бриз»
  • Дать представление об основных параметрах орбитального движения: апоцентре, перицентре, наклонении орбиты
  • Дать представление об основах орбитальной механики и запусках на геостационарную орбиту (ГСО)
  • Предоставить простое руководство по освоению ручного выхода на ГСО в симуляторе

Читать дальше →
Total votes 103: ↑100 and ↓3+97
Comments48

Картофельный салат собрал $55500 на Kickstarter

Reading time1 min
Views29K
Не совсем в тему it, но, тем не менее, считаю что на Хабре это должно промелькнуть, потому что на Kickstarter периодически собираются деньги на проекты, которые отличаются лишь тем, что их авторы умело снимают ролики и делают красивые обещания.

image

В начале июля на всем известном kickstarter некий Зак Браун (Zack Danger Brown) попросил у пользователей сервиса 10$ на картофельный салат. Не думаю что даже он сам предполагал, что по завершении компании по сбору средств сумма превысит ожидаемую более чем в 5000 раз.
Читать дальше →
Total votes 120: ↑94 and ↓26+68
Comments32

Гидроинтегратор Лукьянова

Reading time3 min
Views124K
Компьютер, но не электрический.
Гидроинтегратор — гидравлический вычислитель:



Вода, перетекающая из одной стеклянной трубки в другую, позволяла решать дифференциальные уравнения с частными производными.
Читать дальше →
Total votes 156: ↑154 and ↓2+152
Comments77

Военный космос

Reading time10 min
Views179K

Нынешний космос вполне себе мирный. Совместные экипажи МКС, невооруженные космические корабли. Но могло сложиться и по-другому. О различном космическом вооружении, от личного оружия до космических линкоров, этот пост.
Читать дальше →
Total votes 183: ↑179 and ↓4+175
Comments69

Интересно и познавательно: наблюдаем вехи истории космонавтики с Orbiter

Reading time10 min
Views120K


Животные и люди умеют обучаться, играя. В самом деле, что может быть лучше — и интересно, и познавательно. Компьютерные игры не являются исключением, с некоторыми из них можно учиться. Я очень удивился, когда, поискав по Хабру, узнал, что космический симулятор Orbiter всего пару раз мельком упоминался здесь. Бесплатный космический симулятор с открытой для аддонов архитектурой и честной ньютоновской физикой оказался незаслуженно обойдённым вниманием. Наверное, из-за своей требовательности к начинающему игроку.
Как мы будем с этим бороться, и чему учиться?
Total votes 85: ↑84 and ↓1+83
Comments23

Робота Wall-E воссоздали в реальности

Reading time1 min
Views121K


Несмотря на обилие разного рода копий мультяшного робота Wall-E в реальной жизни (достаточно посмотреть некоторые товары для детей в магазинах игрушек), по-настоящему схожих моделей практически нет. Но теперь миллионы детишек и просто поклонников творчества Pixar (да и любители робототехники тоже) могут быть довольны. Маленького робота-мусорщика воспроизвели в реальности с максимальной точностью. Правда, робот получился без «души», то есть та версия, которая в мультике работала после замены микросхемы, помните? К сожалению, реальный робот неспособен на нежные чувства.

Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments45

Собеседование: как бы вы сказали «Нет»?

Reading time6 min
Views24K
"… и пусть никто не уйдет обиженным..."
или пусть уходят, зато
"… правду говорить легко и приятно..."



Собственно проблема


Каждый хочет, чтобы все было, как он хочет. Поэтому соискатели и работодатели активно обмениваются, мягко говоря, «советами» на тему проведения процедур найма в надежде хоть чуть-чуть приблизить этот противоречивый мир к гармонии, убедив противоположную сторону подвинуться и изменить в свою пользу правила игры под названием «найм ИТ специалиста».

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

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

Формулировать отказы дело не такое уж и простое. Хорошо, если есть четкая объективная причина, в которой «ничего личного — только бизнес». Ну, например:

  • "… к сожалению, мы не можем предложить вам такие условия работы, как вы хотите";
  • "… мы не можем предложить вам N денег";
  • "… в тестовом задании содержатся такие-то ошибки, которые мы считаем принципиальными";
  • "… мы не берем на работу студентов первого курса".

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

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

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


Читать дальше →
Total votes 65: ↑54 and ↓11+43
Comments58

About it

Reading time8 min
Views32K
Сегодня утром я проснулся с каким-то непонятным чувством, которое заставило меня просто подумать о простых вещах нашего технологичного мира. Я не придумал, не открыл ничего нового, просто я по-другому посмотрел на этот мир. Сделал переоценку очевидных вещей, и мне стало и страшно, и скорбно. Я понял, что у меня отобрали компьютер – я более не понимаю, что он делает. Что у меня отобрали право – оно иллюзорно. Я понял, что в мире никто не понимает, куда мы движемся. Я осознался.
Читать дальше →
Total votes 149: ↑97 and ↓52+45
Comments111

Что нужно знать о трудовых правах каждому работнику

Reading time9 min
Views243K
После опубликования статьи «Борьба за свои права…» мне написало много айтишников, что, если честно, стало приятной неожиданностью. Но, помимо вдохновляющих слов поддержки и советов, хабраюзеры также делились своими похожими ситуациями, в которых нарушались их трудовые права. Ситуации самые разные: от неуплаты заработной платы до неоформления в штате фирмы. Но все они были схожи в одном: они случались и зачастую заканчивались плачевно из-за низкой юридической грамотности работников в вопросах трудовых прав. Вот лишь один пример такой ситуации:

Andrey: у меня была точно такая же ситуация с банкротством конторы, сейчас я уже вижу, где поступил неправильно. Нас так же кормили «завтраками», или, как мы их называли, «микроплатежами», когда срок переносится на неделю, потом ещё на неделю. В итоге сказали, что банкротят. Также предложили написать заявление на отпуск без содержания на 3 месяца. Это основное условие получения текущей зп. Только нам выплачивали не всю зп. Остаток должны были выплатить по договору с головной американской конторой. Какая у меня была ошибка:

1) я написал заявление на увольнение по собственному желанию
2) я написал заявление на отпуск без сохранения зп
3) поверил, что головная контора выплатит долг

Это всё стало понятно после суда. По договору был срок полгода, когда должны выплатить остатки зп. Когда стало понятно, что я ничего не получу, пошли в суд. Суд посчитал недоказанным, что мы фактически работали во время фиктивного отпуска.

image

Поэтому у нас родилась идея* на основе реальных историй трудовых конфликтов собрать советы и рекомендации, как вести себя, на что обращать внимание при ведении трудовой деятельности. Мы планируем сделать серию статей на тему трудовых прав. Первая статья посвящена вопросам устройства и увольнения с работы. В самом обзоре сказано много общеизвестных и очевидных вещей, но, как показывает практика, именно на таких «очевидных» вещах чаще всего и допускаются ошибки при решении трудовых вопросов. Мы надеемся, что эта статья поможет в будущем избежать возможных неприятностей на работе.
Читать дальше →
Total votes 98: ↑91 and ↓7+84
Comments112

Расширенный «Hello! World» на микрофреймворке Flask

Reading time5 min
Views8K
image

Добрый день, хабраюзер.

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

Мы используем Python, в частности микрофреймворк Flask.
Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments7

В Notepad++ появилась подсветка ошибок в проверке орфографии

Reading time1 min
Views111K


В замечательном редакторе наконец появилась (Upd. еще с 5 мая) подсветка ошибок в проверке орфографии! Для меня это очень долгожданное нововведение, которое очень сильно ждал и надеялся. В свое время даже хотел перескочить на другие редакторы из-за этой проблемы. В Notepad++ можно было до данного момента настроить проверку орфографию, но подсветки слов с ошибками не было, что сводило пользу от проверки орфографии на нет.

Далее расскажу, как настроить проверку русского и английского языка.
Читать дальше →
Total votes 87: ↑72 and ↓15+57
Comments61

Премьера отечественного постапокалиптического фильма «Полигон 27»

Reading time1 min
Views26K
Сегодня автором был выложен в открытый доступ фильм «Полигон 27». Особенность его в том, что режиссером, сценаристом, оператором, композитором и специалистом по спецэффектам является один человек — Артем Мирошин, а актерами — энтузиасты из города Хабаровска.



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

Трейлеры и ссылка на фильм
Total votes 129: ↑109 and ↓20+89
Comments104
1
23 ...

Information

Rating
3,776-th
Location
Melbourne, Victoria, Австралия
Date of birth
Registered
Activity