Search
Write a publication
Pull to refresh
0
0
Alexznadr @Alexznadr

User

Send message

Сделать интерфейс проще

Reading time5 min
Views14K
imageОт переводчика. Принцип простоты является одним из основополагающих в эргономике и дизайне. Термины «простота» и «интуитивность» принадлежат к числу наиболее часто используемых в публикациях по проблемам юзабилити. Однако нередко бывает так, что мы употребляем эти термины как самопонятные и не задумываемся над их значением. Как можно определить простоту? Можно ли предложить какие-то объективные критерии для оценки простоты и интуитивности интерфейсов?
Предлагаем вниманию наших читателей перевод статьи Брандона Уокина (ныне занимающегося дизайном интерфейсов для Фейсбука), в которой затрагиваются обозначенные выше вопросы.

Читать дальше →

Функциональное программирование в Java

Reading time5 min
Views65K
Эта статья о:
  • О применении функционального стиля программирования в языке Java.
  • О некоторых базовых паттернах для работы с коллекциями данных из функционального программирования в примерах на Java.
  • Немного о библиотеке Google Collections.

Если вы программируете на языках Java, C#, C++, PHP, или любом другом ОО языке, хотели бы познакомиться с функциональным программированием, но не имеет возможности/желания изучать Haskell/Scala/Lisp/Python, — эта статья специально для вас.

Тем, кто знаком с функциональным программированием, но никогда не применял его в Java, думаю, это будет тоже интересно.
Читать дальше →

Согласованные в конечном счете (Eventually Consistent)

Reading time12 min
Views45K
В последнее время на хабре чаще стали встречаться обсуждения масштабируемых систем и NoSQL решений. Эта статья, написанная техническим директором Amazon — одна из лучших вводных, на мой взгляд, показывающая, какие проблемы возникают при построении масштабируемых систем, что нужно учесть при выборе инструментария, что имеют ввиду авторы кассандры, говоря про обеспечение AP в кассандре и CP в HBase и многое другое.
Читать дальше →

MapReduce: более продвинутые примеры, попробуем без зауми

Reading time9 min
Views34K
Чтобы не откладывать в долгий ящик сразу порассказываю несколько других примеров для MapReduce, обещанные в топике "MapReduce без зауми". (Если не понимаете полностью что такое MapReduce — прочитайте тот топик сначала! Без него не разберетесь)

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

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

Входящие ссылки


Допустим у нас есть Интернет. В Интернете есть исходящие ссылки.

Допустим на входе у нас есть такие данные об ИСХОДЯЩИХ ссылках, собранные нашим паучком:

habrahabr.ru -> thematicmedia.ru, apple.ru, microsoft.com, ubuntu.com, yandex.ru
thematicmedia.ru -> habrahabr.ru, autokadabra.ru
autokadabra.ru -> habrahabr.ru, yandex.ru


Т.е. мы знаем, что Хабр ссылается на Apple, MS, Ubuntu и Яндекс но кто ссылается на Хабр? Да, вопрос примитивный, но все же разложим на MapReduce. Дальше будет интереснее и этот пример понадобится.

Читать дальше →

Опубликован весь архив Computer Science клуб при ПОМИ РАН

Reading time2 min
Views6.2K
Добрый день!

Как представитель проекта Лекториум рад сообщить — мы опубликовали весь архив Computer Science клуба.
Кроме того, почти год назад мы организовали запись всех лекций на хорошие камеры и микрофоны.
А в этом году планируем подключить вебинары.


Большинство лекций читается на русском языке. Все записи снабжены презентациями и описаниями.

UPD. Кратко. Старые лекции в плохом качестве, а новые с 2010 года с хорошим звуком и в 720p.
UPD 2 Расширили канал, видео грузится теперь без проблем.

Под катом перечень курсов и несколько вопросов касательно вебинаров.
Читать дальше →

Удачная модель ветвления для Git

Reading time10 min
Views1M
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

Читать дальше →

Практические советы тем, кто хочет построить веб-сообщество ч.2

Reading time4 min
Views1.4K
В виду того, что к моему предыдущему посту набралось больше положительных отзывов, чем отрицательных, а также я получил много писем с вопросами в личку (и даже ВКонтакте, аське и на самом автотуристе были отзывы), решил продолжить свою писанину про то, как я делал свой проект, с чем сталкивался на пути реализации и, собственно, давать советы.

Глава 4. Куда сеем? В контент!

Многие спросили, как я набрал первоначальную массу пользователей, после набора которой сообщество, собственно, как-то задышало. Было дело так: когда я на одном из бесплатных LiveStreet'овском (CMS моего проекта) дизайне только-только открыл проект, сразу же встал вопрос о привлечении на него аудитории. Но на что придёт аудитория, не на голое же место?

image

Читать дальше →

Wheretheladies.at — найди свою любовь

Reading time2 min
Views782
image
Идеи мобильных приложений витают в воздухе, и очевидно, никогда не иссякнут. Следующий проект очередное тому подтверждение. Сервис Wheretheladies.at, который собирает отметки (check-in) слабого пола на Foursquare и рассказывает посетителям об этих местах, обзавелся приложением для iPhone.

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

Поиск подстроки и смежные вопросы

Reading time13 min
Views125K
Здравствуйте, уважаемое сообщество! Недавно на Хабре проскакивала неплохая обзорная статья о разных алгоритмах поиска подстроки в строке. К сожалению, там отсутствовали подробные описания каких либо из упомянутых алгоритмов. Я решил восполнить данный пробел и описать хотя бы парочку тех, которые потенциально можно запомнить. Те, кто еще помнит курс алгоритмов из института, не найдут, видимо, ничего нового для себя.
Читать дальше →

Заработать на контенте

Reading time5 min
Views29K
Периодически ко мне обращаются пользователи Хабра со своими идеями создания сайтов. Естественно, почти все хотят на них так или иначе заработать.

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

Они достаточно знают о том, какие способы рекламы использовать, но главный вопрос, который их мучает – о чем сделать сайт?

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

Все это, несомненно, важно, но только после первого шага – выбора тематики проекта.
подробности

Архитектура и платформа проекта Одноклассники

Reading time10 min
Views120K

Архитектура и платформа проекта Одноклассники


В этом посте расскажем о накопленном за 5 лет опыте по поддержанию высоконагруженного проекта. Надеемся, что коллегам-разработчикам будет интересно узнать, что и как мы делаем, какие проблемы и трудности у нас возникают и как мы справляемся с ними.

Читать дальше →

Смотрим позиции и площадки Яндекс.Директа в Google Analytics

Reading time4 min
Views18K
Google Analytics — прекрасная система для оценки трафика. С его помощью можно посмотреть, сколько страниц смотрят посетители, с каких страниц они чаще всего уходят с сайта, достигают ли они желаемых целей.

К сожалению, Google не спешит интегрировать информацию из сторонних рекламных систем в GA, что мешает оценить их эффективность в полном объеме. В этой статье я расскажу, как интегрировать в Google Analytics информацию о площадках и позициях объявлений из Яндекс.Директа и за счет этого увеличить конверсию.
Читать дальше

LogLog — находим число уникальных элементов

Reading time5 min
Views31K
Здравствуй, Хабр! Мы с тобой уже побаловались фильтрами Блума и MinHash. Сегодня разговор пойдёт о ещё одном вероятностном-рандомизированном алгоритме, который позволяет с минимальными затратами памяти определить примерное число уникальных элементов в больших объёмах данных.

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

Способ всем хорош, но требует относительно большой объём памяти для своей работы, ну а мы с вами, как известно, неугомонные гении эффективности. Зачем много, если можно мало — примерный размер словарного запаса упомянутого выше Шекспира, можно вычислить используя всего 128 байт памяти.

Кажется невозможным?

Фильтр Блума

Reading time3 min
Views63K
И снова здравствуйте! Сегодня я поведаю о фильтре Блума — структуре данных гениальной в своей простоте. По сути, этот фильтр реализует вероятностное множество всего с двумя операциями: добавление элемента к множеству и проверка принадлежности элемента множеству. Множество вероятностное потому, что последняя операция на вопрос «принадлежит ли этот элемент множеству?» даёт ответ не в форме «да/нет», а в форме «возможно/нет».

Как фильтр это делает?

MinHash — выявляем похожие множества

Reading time4 min
Views28K
Категорически приветствую! В прошлый раз я писал о вероятностном алгоритме определения принадлежности элемента множеству, в этот раз будет про вероятностную оценку похожести. Не надо большого ума, чтобы додуматься до следующего показателя схожести двух множеств А и Б:

коэффициент Жаккара

То есть, количество элементов в пересечении делённое на количество элементов в объединении. Эта оценка называется коэффициентом Жаккара (Jaccard, поэтому «J»), коэффициент равен нулю, когда множества не имеют общих элементов, и единице, когда множества равны, в остальных случаях значение где-то посередине.

Как его посчитать?

Создание языка программирования с использованием LLVM. Часть 1: Введение и лексический анализ

Reading time7 min
Views61K
Добро пожаловать в учебник «Создание языка программирования с LLVM». Этот учебник знакомит вас с созданием простейшего языка программирования, и при этом показывает, каким оно может быть легким и интересным, а также даёт вам начальные знания, которые вы затем сможете применить на других языках программирования. Код в этом учебнике также может быть использован в качестве стартовой площадки для ваших творений с помощью LLVM.

Целью данного учебника является постепенное представление нашего языка, описание его пошагового создания. Это позволит нам охватить достаточно широкий спектр вопросов проектирования языков и использования LLVM, попутно показывая и объясняя код без огромного количества ненужных деталей.
Читать дальше →

Metawidget — инструмент, генерирующий Java формы

Reading time3 min
Views3K
Привет читатель.
Хочу рассказать про инструмент для Java на который я недавно наткнулся и не нашел на хабре ни одного упоминания о нем. Называется он Metawidget и его предназначение — генерировать формы в Java.
Читать дальше →
12 ...
14

Information

Rating
Does not participate
Registered
Activity