Pull to refresh
1
0
Ntropy @Ntropy

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

Send message

Полезные инструменты, туториалы и ресурсы

Reading time4 min
Views15K
Созданый Райаном Далем в 2009 году, Node.js — относительно новая технология, завоевавшая в последнее время большую популярность среди веб-разработчиков. Однако, до сих пор не каждый знает, что на самом деле Node.js это серверная JavaScript среда, использующая асинхронную событийную модель. Что это означает? Все просто: это среда, которая предназначена для написания масштабируемых, высокопроизводительных приложений. Почти как Ruby’s Event Machine или Python’s Twisted, но гораздо глубже — JavaScript реализовывает цикл событий, на уровне самого языка, а не как отдельная библиотека.



И это еще не все: то, что действительно круто в Node.js — это тысячи модулей, доступных для любых целей, а также активниешее сообщество этого молодого проекта. В этом обзоре вы найдете самые полезные ресурсы по Node.js, от просто удобных инструментов и подробных руководств, до углубленных статей и ресурсов о этой перспективной технологии. Используете ли вы Node.js? Поделитесь опытом в комментариях к этотому посту!

Читать дальше →
Total votes 138: ↑129 and ↓9+120
Comments70

Лямбда-выражения в Java 8

Reading time19 min
Views461K
В новой версии Java 8 наконец-то появились долгожданные лямбда-выражения. Возможно, это самая важная новая возможность последней версии; они позволяют писать быстрее и делают код более ясным, а также открывают дверь в мир функционального программирования. В этой статье я расскажу, как это работает.

Java задумывалась как объектно-ориентированный язык в 90-е годы, когда объектно-ориентированное программирование было главной парадигмой в разработке приложений. Задолго до этого было объектно-ориентированное программирование, были функциональные языки программирования, такие, как Lisp и Scheme, но их преимущества не были оценены за пределами академической среды. В последнее время функциональное программирование сильно выросло в значимости, потому что оно хорошо подходит для параллельного программирования и программирования, основанного на событиях («reactive»). Это не значит, что объектная ориентированность – плохо. Наоборот, вместо этого, выигрышная стратегия – смешивать объектно-ориентированное программирование и функциональное. Это имеет смысл, даже если вам не нужна параллельность. Например, библиотеки коллекций могут получить мощное API, если язык имеет удобный синтаксис для функциональных выражений.

Главным улучшением в Java 8 является добавление поддержки функциональных программных конструкций к его объектно-ориентированной основе.
Читать дальше →
Total votes 60: ↑51 and ↓9+42
Comments24

Как проектировать для людей с цветовой слепотой

Reading time4 min
Views22K


Примерно 8-10% мужчин и 0.5% женщин имеют ту или иную форму дальтонизма. То есть, на каждые 100 посетителей вашего сайта будет 10 таких, которые видят цвета иначе. И как убедиться, что ваш интерфейс одинаково доступен для любых пользователей? Есть много противоречивой информации на тему того, каким должен быть дизайн для дальтоников. Мы сделали выжимку с основными принципами, которые стоит учитывать в дизайне, чтобы добиться цветовой различимости интерфейса.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments37

Однажды вы читали о ключевом слове volatile…

Reading time5 min
Views100K
В C и C++ есть ключевое слово volatile, которое указывает компилятору, что значение в соответствующей области памяти может быть изменено в произвольный момент и потому нельзя оптимизировать доступ к этой области. Обычно описание ключевого слова сразу приводит пример с данными, которые могут быть в любой момент изменены из другой нити, аппаратным обеспечением или операционной системой. Прочитав описание примера, большинство читателей глубоко зевает, решает, что в этой жизни им такое не понадобится, и переходит к следующему разделу.

Сегодня рассмотрим менее экзотический сценарий использования ключевого слова volatile.

Читать дальше →
Total votes 99: ↑89 and ↓10+79
Comments84

Holy Grail на стероидах: тотальная синхронизация и изоморфный JavaScript на Swarm.js

Reading time7 min
Views22K
Сегодня на Хабре мы представляем технологию реплицированной модели, которая позволяет создавать коллаборативные и реалтаймовые веб приложения так же легко, как локальные десктопные. Мы считаем, что при разработке приложений, синхронизация данных в реальном времени должна быть доступна так же, как TCP поток, HTTP запрос или ток из розетки — сразу и без вопросов. HTML5 приложения, написанные на Swarm, в части автономности, локальности и скорости загрузки не уступают нативным.
Используя библиотеку Swarm, за выходные мы делаем больше, чем за месяц делали без Swarm. Что важней — можем делать то, что без неё делать вообще не могли. Эту библиотеку синхронизации мы предлагаем совершенно бесплатно.



Сегодня мы выкладываем TodoMVC++, реактивное HolyGrail-на-стероидах приложение, написанное на Swarm+React. Приведу список демонстрируемых в приложении возможностей:
Читать дальше →
Total votes 51: ↑39 and ↓12+27
Comments49

Использование generic wildcards для повышения удобства Java API

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

Этот пост для тех, кто работает над очередным API на языке Java, либо пытается усовершенствовать уже существующий. Здесь будет дан простой совет, как с помощью конструкций ? extends T и ? super T можно значительно повысить удобство вашего интерфейса.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments7

Исследование игровых сеттингов

Reading time13 min
Views53K


Год назад нам понадобилось определить, какой игровой сеттинг лучше подходит для мобильной стратегии. Взять ли нам фэнтези, или какие-то научно-фантастические сеттинги? Может быть, это должен был быть сеттинг Skyforge? Однозначного ответа не было. Поэтому мы решили провести исследование аудитории портала Мини-игры Mail.Ru. Это, к слову, один из крупнейших в России порталов, посвященных именно играм, с ежемесячной многомиллионной аудиторией. Читайте далее, чтобы узнать, какие сеттинги наиболее востребованы пользователями мобильных игр.
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments29

Как Яндекс распознаёт музыку с микрофона

Reading time10 min
Views159K
Поиск по каталогу музыки — это задача, которую можно решать разными путями, как с точки зрения пользователя, так и технологически. Яндекс уже довольно давно научился искать и по названиям композиций, и по текстам песен. На сказанные голосом запросы про музыку мы тоже умеем отвечать в Яндекс.Поиске под iOS и Android, сегодня же речь пойдёт о поиске по аудиосигналу, а если конкретно — по записанному с микрофона фрагменту музыкального произведения. Именно такая функция встроена в мобильное приложение Яндекс.Музыки:

image

В мире есть всего несколько специализированных компаний, которые профессионально занимаются распознаванием музыкальных треков. Насколько нам известно, из поисковых компаний Яндекс стал первым, кто стал помогать российскому пользователю в решении этой задачи. Несмотря на то, что нам предстоит ещё немало сделать, качество распознавания уже сопоставимо с лидерами в этой области. К тому же поиск музыки по аудиофрагменту не самая тривиальная и освещённая в Рунете тема; надеемся, что многим будет любопытно узнать подробности.
Читать дальше →
Total votes 321: ↑313 and ↓8+305
Comments113

Вычисление факториала на числах Чёрча

Reading time5 min
Views26K
Доброго дня, друзья!

Тема функционального программирования раскрыта на Хабре весьма неплохо, есть целая куча статей посвященных λ-исчислению, числам Чёрча и подобным темам, так что ничего нового я не открою, зато мы напишем одну бесполезную и крайне неэффективную программу.

Для того, чтоб жизнь мёдом не казалась, ограничим себя небольшим подмножеством языка JavaScript, а именно, будем использовать только анонимные функции от одного аргумента. Больше нам ничего не потребуется (ну почти).

Начнем с определения факториала, и посмотрим, что нам понадобится в процессе решения задачи:

var fact = function (n) {
  if (n === 0) return 1;
  return n * fact(n - 1);
};


Итак, нам потребуются функции, логические значения (для результата операции сравнения с нулем), условный оператор, операции умножения и вычитания единицы, кроме того нужно будет реализовать рекурсивный вызов функции.

Готовы?
Ну тогда поехали.
Total votes 51: ↑51 and ↓0+51
Comments47

Изоморфный JavaScript — будущее веб-приложений

Reading time9 min
Views80K
В компании Airbnb мы многому научились за последние несколько лет, создавая мощные веб-приложния. Мы погрузились в мир одностраничных приложений в 2011 г., делая мобильную версию нашего сайта, с тех пор, кроме прочего, мы запустили Wish Lists и новый поиск. Все это — большие JavaScript приложения, что означает то, что тонны кода запускаются в браузере, чтобы обеспечить современный интерактивный пользовательский опыт.

Это обычный подход сегодня, когда такие библиотеки, как backbone.js, ember.js и angular.js помогают разработчикам создавать мощные JavaScript приложения. Мы поняли, однако, что такие приложения имеют несколько критических ограничений. Чтобы стало понятно, давайте предпримем небольшой тур по истории веб-приложений.

Картинка из статьи для привлечения внимания

Читать дальше →
Total votes 52: ↑42 and ↓10+32
Comments75

Time-lapse камера на STM32L

Reading time6 min
Views57K
image

Согласно википедии Time-lapse или замедленная киносъёмка — это киносъёмка с частотой, меньшей стандартной частоты съемки и проекции в 24 кадра в секунду.
Гифка time-lapse
image

Начав изучать микроконтроллеры STM32 и написав «HellowWorld» с миганием светодиодом, я понял, что для лучшего понимания работы STM32 мне необходимо реализовать что-то более сложное с использованием большего количества периферии микроконтроллера. Так возникла идея создания Time-lapse камеры.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments50

В поисках ответа на вопрос, как сделать людей более ответственными…

Reading time5 min
Views54K
Довольно частый запрос от коллег-менеджеров, который приходится слышать: как повысить ответственность человека?

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

Однако, в жизни все сложнее… Приходится заниматься занудными уточнениями: а сейчас люди как работают? — Ну… безответственно.

Хм, яснее не становится. Хочется ехидно уточнить: “в смысле, бросают жен и детей?”, но в реальности, начинаешь разбираться.
Что выясняется в итоге?
Total votes 48: ↑36 and ↓12+24
Comments68

Cow Clicker: разработчики игр издеваются

Reading time1 min
Views15K
Многие подозревают, что игры в социальных сетях — это нечто из разряда глупых развлечений. Разработчик Ян Богост (Ian Bogost) решил доказать это на деле. Он создал намеренно тупую игру Cow Clicker и опубликовал её на Facebook. На данный момент в игре Cow Clicker насчитывается 14 188 активных пользователей, рейтинг 4,5 из 5.

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

В своём блоге Ян Богост объясняет, что эта игра создана в результате спора, который разгорелся на недавней конференции разработчиков игр 2010 Game Developers между создателями обычных игр и теми, кто работает в нише социальных сетей. По мнению первых, компания Zynga и ей подобные используют философию дизайна "Fuck the Users", то есть делают игры, главный функционал которых — выкачивание денег из игроков.
Total votes 182: ↑179 and ↓3+176
Comments77

Вы никогда не задумывались о происхождении стандартных обоев Windows XP?

Reading time2 min
Views66K
Одними из самых известных обоев, несомненно, является стандартное изображение Windows XP, на котором запечатлён блаженно расслабляющий вид зелёных холмов и более синее, чем синее небо. Эти обои — вероятно, одно из самых просматриваемых изображений всех времён — метко названы «Безмятежность». Поищите в Google изображения по слову «безмятежность», и первым результатом будут обои Windows.

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



Вы когда-нибудь останавливались, чтобы задаться вопросом, где и кем была сделана эта фотография? На самом деле, изображение настолько чёткое, что вы, возможно, предполагали, что оно вообще ненастоящее.
Читать дальше →
Total votes 316: ↑268 and ↓48+220
Comments207

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

Reading time5 min
Views110K
image

Привет, username!

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

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

Автоматический перебор комбинаций в механических сейфовых замках

Reading time2 min
Views62K


На конференции Ruxcon в Мельбурне двое австралийских хакеров показали самодельное устройство на Arduino, которое подбирает комбинации на механических замках в некоторых сейфах.

Пентестеры Джей Дэвис (Jay Davis) и Люк Янке (Luke Jahnke) объясняют, что оборудование для взлома таких замков стоит дорого и отсутствует в свободной продаже. Они же с помощью 3D-печати и Arduino изготовили «устройство автонабора» из совсем дешёвых деталей общей стоимостью всего $150. Устройство способно подобрать код к механическому замку стандарта UL Group 2, где комбинация состоит из трёх чисел от 0 до 99, с допустимостью ошибки ±1 в каждом числе.
Читать дальше →
Total votes 62: ↑59 and ↓3+56
Comments38

«Как я, будучи обычным школьником, спроектировал и собрал свою модель 3D принтера»

Reading time6 min
Views246K
Многие из нас привыкли смотреть за прогрессом и последними достижениями техники и науки как бы немного со стороны – оценивая уже конкретные продукты, а не сам процесс. Однако школьник из Волгограда Михаил Козенко не из их числа. Он как раз и таких, кто собственноручно предпочитает пройти весь путь от идеи до конечного результата. И итогом его поисков стал 3D принтер, который принес юному изобретателю (в мае ему исполнилось 15 лет) уже несколько наград.

С Мишей мы познакомились случайно – новость о его принтере появилась на нескольких сайтах, последовали приглашения на радио, было пару постов в развлекательных группах (эту публикации Мише, кстати, принесли немало разочарований из-за чересчур ироничных комментариев публики). В нашей группе «ВК» о Мише также была новость. И, что удивительно, сам автор без нашего приглашения вступил в диалог с читателями паблика «Простая наука», объяснял, подсказывал и учил. Он, как и мы своей книгой для детей 5-12 лет «Простая наука», двигает науку вперед не просто словами, а конкретными делами. Так у нас с ним и родилась идея сделать подробный пост для «чайников» (под таковым я подразумеваю себя, а не уважаемых хабровчан), как сделать 3D принтер с нуля.

Далее — со слов автора, который с удовольствием поучаствует в обсуждении под этим постом. И если текст получится полезным и интересным, он расскажет о создании «второй версии» принтера.

image
Читать дальше →
Total votes 255: ↑244 and ↓11+233
Comments61

Tesla Model S: близкое знакомство

Reading time6 min
Views177K


Всевозможных обзоров первого серийного полноценного электромобиля Tesla Model S в сети немало. Почти все их объединяет то, что они написаны профессионалами, так или иначе связанными с автомобильным бизнесом, промышленностью и профильными онлайн- и оффлайн-изданиями. Ни в коей мере не подвергая сомнению их опыт и знания, стоит всe же отметить, что именно их искушeнность не дает им посмотреть на этот инновационный автомобиль с точки зрения обычного пользователя.

Сегодня хочется заполнить этот пробел и рассказать о Model S как раз с позиции автолюбителя. Возможность познакомиться с авто представилась мне прямо на работе: наш CEO Дмитрий Гришин приобрел автомобиль, о котором хочется рассказывать всем, и пригласил всех желающих из числа коллег рассмотреть, пощупать и попробовать Теслу в действии. Пока только в качестве пассажира. Но всe же мне хотелось бы поделиться рассказом о салоне, приборах и органах управления этого любопытного автомобиля.
Читать дальше →
Total votes 285: ↑250 and ↓35+215
Comments248

Как попробовать Smalltalk на вкус

Reading time7 min
Views17K
Smalltalk LogoС выходом на большую арену Ruby и с появлением фреймворка Seaside, все чаще упоминается Smalltalk. Однако, среди молодого поколения (разработчики до 30 лет) бытует мнение, что это мертвый язык, разработанный на заре появления ПК и тогда же похороненный. Упоминание о Smalltalk на лекциях по ЯП, недалеко от COBOL, делает его еще более архаичным.

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

Но что происходит когда программисту хочется попробовать что-то новенькое? Он пытается это сделать. И от того, насколько это легко или сложно, с какими проблемами он столкнется, зависит его отношение к инструменту в дальнейшем.
попробовать Smalltalk
Total votes 88: ↑84 and ↓4+80
Comments57

Суровая жизнь тестировщика игр

Reading time8 min
Views181K
Оригинальная статья: «The Tough Life of a Games Tester».

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

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

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

При устройстве на работу тестировщики подписали соглашение о неразглашении данных со своими работодателями и могут быть уволены, на них даже могут подать в суд за разглашение информации. Все тестировщики, с которыми мы связались, разговарили с нами при условии полной анонимности. Мы придумали им псевдонимы, чтобы скрыть их реальные данные. Мы также проверили то, что все эти люди действительно являются тестировщиками игр. Мы попросили прокомментировать данную статью, обратившись к множеству игровых компаний, но так и не дождались ни одного ответа.
Читать дальше →
Total votes 60: ↑52 and ↓8+44
Comments84

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity