Как стать автором
Обновить
3
0
Смирнов Иван @StopKran

Scala back-end developer

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

Паттерны проектирования

Время на прочтение2 мин
Количество просмотров48K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →
Всего голосов 47: ↑37 и ↓10+27
Комментарии29

«How To...»

Время на прочтение1 мин
Количество просмотров519
"- Почему зáмок?" — думал Прекрасный Принц, идя по темному сводчатому коридору — «Ведь все говорят — гора, пещера… А тут?...». Остановившись у окна, он высунул в него руку с gps-коммуникатором, и немного помахав им, вновь уставился на экран. "- И ведь координаты верные, ничего не поделаешь." Вздохнув, он двинулся далее. Между тем коридор привел его к двери, за которой начинался крутой лестничный спуск. Осторожно подсвечивая себе с помощью iPhone, Прекрасный Принц спустился в затемненное помещение, в центре которого стоял деревянный гроб. "- Значит и про хрусталь врали" — пробормотал принц. Он подошел к гробу, и откинув крышку (на удивительно хорошо смазанных петлях), склонился над лицом лежащего в гробу человека. Но мгновенно застыл. Из гроба на него смотрел и улыбался пожилой мужчина с волосами, тронутыми сединой. И было в улыбке этого человека что-то неправильное

В наступившей тишине был хорошо слышен шелест выпавшего из руки Прекрасного Принца листа бумаги. Если бы кто-то удосужился разглядеть написанные на нём слова, он бы разобрал заголовок: «How To Find a Beautiful Princess Guide» v.1.0 by graf D.
Всего голосов 63: ↑35 и ↓28+7
Комментарии20

Такете и Малума. Практическое использование феномена

Время на прочтение3 мин
Количество просмотров11K
«Билайн и МТС неожиданно в один день сменили логотипы вот на такие»:



«Как вы думаете, что из этого символ МТС, а что — Билайн?»

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

Давно известен и описан феномен сопоставления человеком бессмысленных слов бессмыссленным фигурам согласно их форме. Как вы думаете, что из этого Малума, а что — Такете?



В. Келер (W. Kohler) в 1947 году показал, что большинство людей называют округлую фигуру Малума, а угловатую — Такете. Это означает, что у людей есть механизмы возникновения стойких ассоциаций между словами и фигурами, независимо от их смысла. А раз так, просто необходимо эти механизмы использовать.

Развиваю тему под катом. Если вам интересно применение психологии в дизайне, некоторые другие идеи я описывал на своем сайте.

Читать дальше →
Всего голосов 151: ↑140 и ↓11+129
Комментарии101

6 способов разрекламировать что угодно от Михаила Дряшина

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

Наткнулся на очень занимательную статью о том, как раскрутить обычную открывалку для консервных банок. Автор очень живо и интересно пишет. Для тех, кому лень ходить по ссылкам, приведу здесь основную часть статьи.
Читать дальше →
Всего голосов 18: ↑10 и ↓8+2
Комментарии6

10 способов стать хорошим программистом

Время на прочтение5 мин
Количество просмотров100K
Хороший программист — это тот, кто смотрит в обе стороны, переходя дорогу с односторонним движением.
Даг Линдер

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

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

Читать дальше →
Всего голосов 200: ↑184 и ↓16+168
Комментарии93

Placebo-кнопки в повседневности и в веб-дизайне

Время на прочтение4 мин
Количество просмотров35K
imageГде-то полгода назад под знаками пешеходного перехода появились яркие желтые сенсорные кнопки с индикатором активации (когда нажимаешь на кнопку загорается красная лампочка, расположенная непосредственно над ней, такая же лампочка загорается на кнопке, расположенной на противоположной стороне). Логичный вывод о том, что эти кнопки как-то управляют светофором, не получил достаточного практического подтверждения. Те редкие случаи, когда после нажатия загорался зеленый свет, скорее были совпадением, чем результатом отлаженной работы системы управления.

Быстрый поиск на просторах интернета подсказал, что кнопки должны бы управлять светофорами, но еще не выполняют своих функций по тем или иным причинам. В комментариях на одном из форумов была приведена ссылка на статью BBC в которой описывался подобный опыт в других странах. Из статьи следовало, что либо эти кнопки должны работать в ночное время, либо они являются уловкой, которая называется «кнопки-плацебо».
Читать дальше →
Всего голосов 65: ↑58 и ↓7+51
Комментарии50

FAQ про охлаждение дата-центров: как сделать дёшево, сердито, надёжно и вписаться в габариты площадки

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


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

— Так давайте бахнем классические фреоновые системы, в чём проблема?
Классические фреоновые системы отлично работают в малых серверных и, не часто, средних ЦОДах. Как только машзал переваливает за 500–700 кВт, возникают проблемы с размещением наружных блоков кондиционеров. Для них банально не хватает места. Приходится искать свободные площади подальше от ЦОДов, но тут вмешивается длина трассы (её не хватает). Конечно, можно спроектировать систему на пределе возможностей, но тогда растут потери в контуре, снижается эффективность, усложняется эксплуатация. В итоге для средних и больших ЦОДов сугубо фреоновые системы зачастую невыгодны.
Читать дальше →
Всего голосов 36: ↑34 и ↓2+32
Комментарии14

Как убеждать людей в сети: семнадцать малоизвестных джедайских трюков

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


Хотите узнать, как на просторах интернета убеждать людей и получать от них желаемое?

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

В этой статье не будет ни слова о взаимном обмене, дефиците, социальном доказательстве и прочих широко известных принципах убеждения. Вы наверняка и так все о них знаете
Читать дальше →
Всего голосов 149: ↑108 и ↓41+67
Комментарии78

Станут ли роботы причиной глобальной безработицы?

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


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

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

Действительно ли нас ожидает столь безрадостное роботизированное будущее? Давайте обсудим.
Читать дальше →
Всего голосов 100: ↑76 и ↓24+52
Комментарии361

Почему у нас нет боссов и офиса, и почему мы работаем 4 дня в неделю

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


В 2008 мы с партнёром закончили обучение по специальности «компьютерная инженерия» в университете в Аргентине.

На старших курсах мы проходили стажировку в таких компаниях, как HP, IBM, Intel. Именно тогда мы заметили недостаток в их работе. Мы не могли понять, почему люди без технических знаний говорят программистам, что им делать, и кроме того, проверяют, как именно они это делают.

Поэтому, когда мы делали Project eMT, сравнительный поисковик для Латинской Америки, мы решили работать по-другому: без менеджеров проектов. Через шесть лет у нас в команде было 34 инженера из Чили, Бразилии, Мексики и Колумбии, и мы всё ещё работаем без использования традиционных структур и рабочего графика, а наш ежегодный рост составляет 204%.
Вот как мы это делаем.
Всего голосов 103: ↑91 и ↓12+79
Комментарии58

Джокер поднимает ставки

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

Итак, близится осень, а значит, вместе с ней близится и Java-конференция Joker 2014. Нынешний Джокер, второй по счёту, пройдёт в Питере 20-21 октября. На следующий день, 22 октября состоится традиционный Unconference, а 23 октября мы проведём JUG с кем-нибудь из наших спикеров.

Чем же интересен Joker образца 2014 года? Прежде всего тем, что подбирается очень и очень вкусный список тем, а от списка докладчиков некоторые особенно впечатлительные падают в обморок и спрашивают, возможно ли такое. Отвечаем: возможно!



Joker 2014 — это главное Java-событие года в России:
  • Более 30 докладов от экспертов мирового уровня. Если докладчик — не эксперт мирового уровня, то скорее всего, он не попадёт к нам в программу.
  • Возможность пообщаться с разработчиками самой технологии Java. Причём как из OpenJDK/OracleJDK, так и альтернативных реализаций: Azul, Excelsior, Red Hat
  • Огромная русскоязычная Java-тусовка. Ваши друзья, сокурсники, бывшие, нынешние и будущие коллеги.
  • Выступления по-настоящему больных на голову творческих людей, среди которых Влад Горелов со своим научно-техническим рэпом и невероятный супергерой Джигурдокер.


Интересно? Тогда добро пожаловать под кат!
Why so seriuos?
Всего голосов 32: ↑31 и ↓1+30
Комментарии19

Реактивные акторы на java

Время на прочтение17 мин
Количество просмотров42K
Существует много технологий для организации параллельных вычислений, одна из наиболее перспективных и простых (да-да) — модель акторов. Она позволяет частично избавится от насущных проблем параллелизма, вроде состояния гонки, блокирующих ожиданий окончания операций, бесконечных мьютексов и синхронизаций и многого иного. Так же подобный подход существенно облегчает распараллеливание кода.

Знакомится будем на примере фреймворка akka используя язык java (сам akka написан на scala).
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии11

Item-based коллаборативная фильтрация своими руками

Время на прочтение10 мин
Количество просмотров19K
Робот-рекомендатель

Одной из наиболее популярных техник для построения персонализированных рекомендательных систем (RS, чтобы не путать с ПиСи) является коллаборативная фильтрация. Коллаборативная фильтрация бывает двух типов: user-based и item-based. User-based часто используется в качестве примера построения персонализированных RS [на хабре, в книге Т.Сегаран,...]. Тем не менее, у user-based подхода есть существенный недостаток: с увеличением количества пользователей RS линейно увеличивается сложность вычисления персонализированной рекомендации.

Когда количество объектов для рекомендаций большое, затраты на user-based подход могут быть оправданы. Однако во многих сервисах, в том числе и в ivi.ru, количество объектов в разы меньше количества пользователей. Для таких случаев и придуман item-based подход.

В этой статье я расскажу, как за несколько минут можно создать полноценную персонализированную RS на основе item-based подхода.
Читать дальше
Всего голосов 36: ↑35 и ↓1+34
Комментарии13

На какие языки лучше переводить свой продукт?

Время на прочтение2 мин
Количество просмотров29K
Какие языки лучше выбрать для локализации своего продукта? Этот вопрос часто ставит разработчиков в тупик. А от правильного ответа на него могут зависеть самые важные показатели – величина прибыли, количество скачиваний или посетителей. Что ж, спешим поделиться с вами любопытной статистикой на эту тему.

Читать дальше →
Всего голосов 62: ↑54 и ↓8+46
Комментарии35

Опыт производства партии Wiren Board Smart Home

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


Краткая предыстория


На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home, к которому можно подключить кучу проводных и беспроводных устройств от разных систем и производителей. В устройстве есть ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01 — полное описание здесь.

В конце февраля мы представили опытный образец и открыли предзаказ на контроллер. Как прошёл предзаказ, как мы изготовили партию устройств и что будем делать дальше — читайте под катом.
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии9

10 главных выводов, которые я сделал за Год Изучения Продуктивности

Время на прочтение9 мин
Количество просмотров192K
Предисловие переводчика: В мире написано столько книг по личной эффективности и тайм-менеджменту, что берясь за этот перевод я безусловно задавал себе вопрос: «А есть ли здесь вообще что-то новое, ради чего эту статью стоит переводить, и главное читать»? Сначала мне казалось, что я ответил на этот вопрос «да», однако реальность оказалась несколько сложнее. 

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

1. Согласен ли я с написанным?
2. Если да, поступаю ли я так?
3. Если нет, почему и что я могу сделать чтобы начать поступать правильно? 

Уверен, так статья принесет вам гораздо больше пользы.

Должен сказать, что я с огромным удовольствиям ходил по ссылкам в этой статье, особенно по тем, которые описывают эксперименты Криса (такие как переключение между 90-часовой и 20-часовой рабочими неделями). Поэтому я принял решение сохранить все эти ссылки в переведенной статье.

Также хотел бы сделать замечание для любителей красивого русского языка. Я довольно долго думал, менять ли «продуктивность»  на более близкие родному уху «производительность» и «личную эффективность», но в итоге решил оставить всё как есть – главным образом из-за невозможности использования одного и того же слова в разных контекстах.

В качестве последнего пожелания – это довольно длинная статья, поэтому читайте продуктивно: не переключайтесь между задачами в процессе чтения; делайте перерывы если ощущаете усталость и потерю концентрации; записывайте полезные мысли, не надеясь на память.

Приятного чтения!
Читать дальше →
Всего голосов 79: ↑70 и ↓9+61
Комментарии68

Маленький сетевой одноплатный компьютер за 20 USD

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

Полгода разработки, два месяца ожидания (пока изготовят первых 20 экземпляров и доставят в Москву), неделя непрерывного секса (чтобы запустить)… И вот оно — наше маленькое чудо!

image

Это не «самый маленький в мире компьютер». И не самый дешевый. И уж конечно не самый мощный. Но он достаточно маленький, довольно дешевый и не такой уж медленный. Чип Qualcom Atheros AR9331, 64 Мб DDR2, 16 Мб NOR flash. WiFi, один гигабитный Ethernet и до пяти 100мбитных, USB, UART, SPI, I2S, 20+ GPIO, OpenWrt на борту — что еще нужно для счастья? Зажечь в первый раз светодиод по команде со смартфона — ни к этому ли мы все стремимся?

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

Первые подробности — под катом.
Читать дальше →
Всего голосов 72: ↑71 и ↓1+70
Комментарии174

Создание аудиоплагинов, часть 1

Время на прочтение9 мин
Количество просмотров85K
Все посты серии:
Часть 1. Введение и настройка
Часть 2. Изучение кода
Часть 3. VST и AU
Часть 4. Цифровой дисторшн
Часть 5. Пресеты и GUI
Часть 6. Синтез сигналов
Часть 7. Получение MIDI сообщений
Часть 8. Виртуальная клавиатура
Часть 9. Огибающие
Часть 10. Доработка GUI
Часть 11. Фильтр
Часть 12. Низкочастотный осциллятор
Часть 13. Редизайн
Часть 14. Полифония 1
Часть 15. Полифония 2
Часть 16. Антиалиасинг



Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
Интересно? Тогда под кат!
Всего голосов 25: ↑24 и ↓1+23
Комментарии5

«Кто я?» — чтение мыслей и никакого мошенничества (посмотрите исходник)

Время на прочтение1 мин
Количество просмотров137K
Веб-сайт Who Am I? использует «продвинутые достижения нейробиологии», чтобы определить увлечения любого человека. Для верного анализа достаточно выполнить простую процедуру: в произвольном порядке щёлкнуть по всем красным квадратикам в массиве.



И после этого нажать кнопку “done!”
Как он это делает?
Всего голосов 199: ↑176 и ↓23+153
Комментарии83

Геймификация багфикса. Как мы превратили исправление ошибок в увлекательную многопользовательскую online-игру

Время на прочтение4 мин
Количество просмотров24K
Автор: maxim_korobtsev, WorkAndPlay.Ru

Совсем недавно в компании Одноклассники прошло интересное и необычное событие. Пять дней разработчики и тестировщики участвовали в Багатлоне, киберспортивном соревновании по багфиксу и прокачке навыков.

Фиксить баги скучно, если не превращать это в игру. Особенно, если речь идет о низкоприоритетных багах, которые не были исправлены в свое время из-за незначительности. Но, обо всем по порядку!

Как все начиналось?


Все началось за несколько месяцев до Багатлона, когда мы, Work&Play, вместе с OK придумывали игровые механики и само соревнование. Родилась достаточно неплохая идея: расфасовать все множество накопившихся низкоприоритетных багов по группам (коробкам с багами). Для каждого бага заранее указать навыки, которые он прокачивает у того, кто его фиксит или проверяет. Далее раз в несколько месяцев устраивать соревнование. Причем, победителем будет не тот, кто больше пофиксил, а тот, кто больше всех прокачался пока багфиксил. Также хотелось, чтобы вся игра проходила без отрыва от работы(в рабочие дни), по тикетам из багтрекера и доступ к ней был прямо из Jira.

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

Что у нас получилось в итоге?


В результате, после нескольких месяцев работы над плагином, у нас получилось вот это:
главный экран jira модуля для геймификации багфикса
Читать дальше →
Всего голосов 67: ↑58 и ↓9+49
Комментарии59

Информация

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