Pull to refresh
8
Karma
0
Rating
Андрей Королёв @koroandr

Javascript-разработчик

Книга «Создание микросервисов»

Издательский дом «Питер» corporate blog Programming *Designing and refactoring *Professional literature
Привет, Хаброжители! У нас вышла новая книга Сэма Ньюмена.

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

Эта книга полна конкретных примеров использования микросервисов, собранных по всему миру, включая их применение в таких организациях, как Netflix, Amazon, Gilt и REA group, пришедших к мысли, что возросшая автономность этой архитектуры дает их командам огромные преимущества.

Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Views 34K
Comments 36

Стала известна дата начала продаж LeapMotion

Lumber room


На хабре уже писалось про удивительный контроллер LeapMotion, а некоторым счастливчикам даже удалось его пощупать.
И вот, наконец, стала известная дата начала продаж этого устройства. Это 13 мая этого года. Известно так же, что продукт будет доступен в Best Buy c 19 мая по цене всего 80$.
Total votes 32: ↑23 and ↓9 +14
Views 20K
Comments 10

Чёрточки: только ли тире, минус и дефис?

Typography *
Однажды вечером я почувствовал, что пришло время расширить 97‐ й параграф «Ководства» Артемия Лебедева.

На клавиатуре одна чёрточка, она обычно правее нуля и повыше букв «З» и «Х». Неосведомлённые люди называют её попеременно то дефисом, то минусом, то тире. Лебедев объясняет нам, что это четыре (учитывая две разновидности тире) различных символа. На самом деле их как минимум девять, и об этом я и расскажу вам сейчас.

Читать дальше →
Total votes 311: ↑288 and ↓23 +265
Views 167K
Comments 208

Hello world в 1 строчку на чистом JavaScript

Abnormal programming *JavaScript *
Recovery mode
image
Изображение сгенерировано с помощью сервиса instacod.es

Для тех, кто не привык ждать — демка.
Обновлено: удивлен такой популярности моей реализации. Создал репозитарий на Гитхабе, чтобы любой мог форкнуть и присылать Pull Request-ы с улучшениями. Лицензия MIT.

Предисловие


Увидев крутые разработки крутых ребят с хабра, я тоже решил поучаствовать в этой специльной олимпиаде. Но 30 строк? Что за нубство, почему бы не сразу в одну? Окей, вызов принят, как говорится.
Читать дальше →
Total votes 843: ↑590 and ↓253 +337
Views 101K
Comments 137

Поставлен успешный опыт организации нейрокомпьютерного интерфейса между людьми

Interfaces *


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

Раджеш Рао (Rajesh Rao) и Андреа Стакко (Andrea Stucco) собрали установку, состоящую из двух специальных шапочек, первая из которых со вшитыми электродами, подсоединёнными к электроэнцефалографу (electroencephalography (EEG) machine), умеет общаться через Skype-соединение со второй шапочкой, подключённой к машине транскраниальной магнитной стимуляции (transcranial magnetic stimulation (TMS) machine). TMS способна путём генерации магнитных полей через специальный сердечник, укреплённый на голове испытуемого (технология неинвазивная), оказывать влияние на его мозг.
Узнать подробности
Total votes 99: ↑93 and ↓6 +87
Views 53K
Comments 110

Договор на разработку сайта: так, а не иначе

Сибирикс corporate blog Website development *
Присылает нам заказчик (Газпром) свою версию договора.
Понимаем — нашу они не подпишут,
вносим реквизиты и отправляем обратно.
Пропадают на две недели… возвращают протокол разногласий к договору.


Последняя неделя выдалась жаркой на переговоры с юристами заказчиков. Проекты я не веду, но так уж получилось, что все договора проходят через меня. Соответственно, я участвую в их согласовании.
Читать дальше →
Total votes 135: ↑129 and ↓6 +123
Views 150K
Comments 78

Конкурс приложений Tizen App Challenge

Apps4All corporate blog Development of mobile applications *
Tizen, открытая операционная система, поддерживаемая среди прочих Intel и Samsung, вступает в свое сражение за разработчиков. Конкурс Tizen App Challenge предлагает нам в общей сложности более 4 миллионов долларов.

По результатам конкурса эта сумма будет поделена между 54 призерами – главный приз это 200 000 долларов, а кроме того, например, 10 лучших HTML5 приложений получат по 50 000.

Окончание конкурса назначено на 1 ноября 2013 года, а прием приложений начнется через несколько дней. Для участия нужно лишь размещенное в Tizen Store приложение или приложения — подавать заявок можно сколько угодно.



Официальный сайт: http://tizenappchallenge.com
Total votes 20: ↑17 and ↓3 +14
Views 7.2K
Comments 23

Обзор java.util.concurrent.*

Luxoft corporate blog Programming *Java *
Tutorial
В повседневной работе не так уж часто приходится сталкиваться с пакетом для многопоточности java.util.concurrent. Иногда существуют проектные ограничения по использованию java 1.4.2, где нет данного пакета, но чаще всего хватает обычной синхронизации и не требуется ничего сверхъестественного. К счастью, периодически возникают задачи, заставляющие немного пораскинуть мозгами и либо написать велосипед, либо порыться в javadoc'ах и найти что-то более подходящее. С велосипедом проблем нет — просто берешь и пишешь, благо ничего суперсложного в многопоточности нет. С другой стороны, меньше кода — меньше багов. Тем более, что на многопоточность никто в здравом уме юнит тестов не пишет, т.к. это уже полноценные интеграционные тесты получаются со всеми вытекающими последствиями.

Что выбрать для конкретного случая? В условиях запарки и deadline'ов довольно сложно охватить весь java.util.concurrent. Выбирается что то похожее и вперед! Так, постепенно, в коде появляются ArrayBlockingQueue, ConcurrentHashMap, AtomicInteger, Collections.synchronizedList(new LinkedList()) и другие интересности. Иногда правильно, иногда нет. В какой то момент времени начинаешь осознавать, что более 95% стандартных классов в java вообще не используются при разработке продукта. Коллекции, примитивы, перекладывание байтиков с одного места на другое, hibernate, spring или EJB, еще какая то библиотека и, вуаля, приложение готово.

Чтобы хоть как то упорядочить знания и облегчить вхождение в тему, ниже идет обзор классов для работы с многопоточностью. Пишу прежде всего как шпаргалку для себя. А если еще кому сгодится — вообще замечательно.
Читать дальше →
Total votes 96: ↑87 and ↓9 +78
Views 625K
Comments 33

Серьезное проектирование серьезных сайтов. Часть 2. Визуализация

SECL Group corporate blog Web design *Interfaces *
Tutorial

7. Карта ума.



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



Для создания карты ума (её чаще называют английским термином «Mind map»), мы можем использовать специальное ПО, я рекомендую Xmind.


Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Views 84K
Comments 58

Серьезное проектирование серьезных сайтов. Часть 1. Аналитика

SECL Group corporate blog Interfaces *Usability *
Tutorial

Сразу скажу, что статья получилась очень большая. В моем духе. Поэтому я решил разбить её на две части: аналитика и визуализация. А после еще будет несколько статей с логическим продолжением. Первая может показаться сухой из-за большого количества текста, но без неё не сможет существовать вторая. Поэтому, если вы действительно интересуетесь проектированием сайтов, читать нужно обе и внимательно, я постарался избавиться от «воды» и рассказать только о полезном.

Читать дальше →
Total votes 50: ↑43 and ↓7 +36
Views 120K
Comments 36

Написание простого приложения для работы с RESTful API под Android

Development for Android *
Sandbox
Работа с API различных порталов — одна из самых распространенных задач, возникающих при разработке под Android. Казалось бы, ничего сложного — асинхронно посылать HTTP-запросы и отображать ответы, но дьявол, как всегда, кроется в деталях.

Основные антипаттерны:
  • Отправка запроса прямо из кода Activity в основном треде — тут без комментариев, т.к. это приводит к заморозке UI, вследствие чего система может предложить убить приложением;
  • Отправка запроса из кода Activity при помощи AsyncTask — плохо, т.к. если пользователь, к примеру, повернет экран, Activity пересоздастся и запрос придется выполнять заново, что приводит увеличению времени ожидания и количества потребляемого трафика;
  • Отсутствие кэширования — после каждого действия пользователя ему придется ждать полной загрузки данных.

Читать дальше →
Total votes 46: ↑45 and ↓1 +44
Views 30K
Comments 16

Прощай, Zen Coding. Привет, Emmet!

Website development *
Translation

Еще в 2009 году, image Сергей Чикуёнок опубликовал статью, в которой представил новый способ написания HTML и CSS кода. Этот революционный плагин, назывался Zen Coding, он помогал многим разработчикам на протяжении многих лет и в настоящее время вышлел на новый уровень.

Emmet, ранее известный как Zen Coding, является самым производительным и экономным во времени плагином для текстового редактора. Простые сокращения мгновенно расширяются в сложные фрагменты кода, Emmet превратит вас в более продуктивного разработчика.

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

Читать дальше →
Total votes 152: ↑123 and ↓29 +94
Views 235K
Comments 112

Навигация: вариант реализации для корпоративного приложения

Website development *Java *System Analysis and Design *
За мою карьеру от простого разработчика до архитектора приходилось работать над приложениями разного масштаба и степени сложности. Последние несколько лет я работал над системой управления школами и системой управления медицинскими препаратами. Приходилось решать различного рода проблемы, связанные с навигацией по приложению. Но в зависимости от используемых фреймворков, не всегда удавалось найти удобное решение. Всегда казалось, что чего-то не хватает.

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

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

В данной статье я бы хотел рассмотреть один из вариантов реализации навигации по приложению, шаг за шагом, описывая задачи, которые приходилось решать и к каким результатам это всё привело.
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Views 13K
Comments 5

Метрика #1 — Подкаст о технологиях и проектировании интерфейсов и сервисов

UIDG corporate blog
Всем привет! Мы запускаем свой подкаст под названием «Метрика». Это шоу для тех, кто создает и анализирует продукты и сервисы на различных платформах.

В первом выпуске


Основатели и партнеры компании UIDG Платон Днепровский (hryusha) и Алексей Копылов (copylove) вместе с Дмитрием Кабановым (dmitrykabanov) обсуждают ситуацию с образованием в ИТ и аспекты мотивации в этой области.
Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views 10K
Comments 4

Как работают браузеры: принципы работы современных веб-браузеров

Website development *
Просматривая одно из обучающих видео "Школы разработки интерфейсов" Яндекса, наткнулся на ссылку на офигенный труд израильской веб-программистки Тали Гарсиэль (Tali Garsiel) "How browsers work" (Как работают браузеры).

Она в течение нескольких лет отслеживала всю издаваемую информацию о внутреннем устройстве браузеров, изучала исходный код WebKit и Gecko и, в конце концов, собрала все воедино. Вот что пишет сама Тали:
Когда на 90% компьютеров был установлен IE, приходилось мириться с тем, что это загадочный «черный ящик», однако теперь, когда более половины пользователей выбирает браузеры с открытым исходным кодом, пришло время разобраться, что скрывается у них внутри, в миллионах строк программного кода на C++...
Пролистав, я был поражен — отличная работа. Внутреннее устройство браузеров, алгоритмы разбора — все хорошо иллюстрировано, доступно и понятно. И без излишних подробностей, страниц на 30-40. Как раз то, что нужно. Решил — это надо обязательно перевести. Покопался еще немного — оказалось перевод уже как 1,5 года есть!

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

Под катом содержание перевода, чтобы решить стоит ли читать.
Читать дальше →
Total votes 200: ↑179 and ↓21 +158
Views 183K
Comments 28

Безопасность приложения: это почти просто

Information Security *Website development *
simple science

— Дай мне справку, что моя программа безопасна.

— Нет проблем! А что ты для этого делал?

— Э… Ну… Это… Ничего…

— А почему ты тогда думаешь, что она безопасна?

— Ну, ты проверь!

— Нет проблем! Все удовольствие будет стоить X0000 долларов.

— ?!

О статье


В этой статье я рассказываю о некоторых практиках создания безопасного программного обеспечения.

Первая ее часть посвящена безопасному программированию.

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

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

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

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

Внимание! Статья большая и подразумевает внимательное прочтение.

Подтверждаю свою готовность внимательно прочитать многабукаф
Total votes 30: ↑22 and ↓8 +14
Views 36K
Comments 22

intro.js — пошаговое руководство для веб-страницы

Website development *JavaScript *


Эта маленькая библиотека позволяет очень просто создать пошаговое введение для сайта или приложения. Достаточно добавить атрибуты data-intro и data-step с описанием и номером шага соответственно к нужным элементам страницы. Вот так:

<a href='http://google.com/' data-intro='Hello step one!' data-step='1'></a>
Читать дальше →
Total votes 139: ↑134 and ↓5 +129
Views 50K
Comments 24

Тачка Бонда, или Виртурилка рулит!

Virt2real corporate blog
— На женщин всегда производят впечатления крайности. Либо слишком большие, либо слишком маленькие. …
Алекс Экслер, «Ария Князя Игоря, или Наши в Турции»


Предвидя вопросы «когда тираж?» — докладываю. Виртурилка в тиражном виде готова на 99%, осталось сделать сэмплы и проверить живьём. На это неделя-две уйдёт, после чего мы готовы к тиражу. Просто к нам приходит много укоров в том что мы пару публикаций сделали и пропали. Количество тиражных экземпляров увеличили до 5000, ибо предзаказов на 2 тысячи набралось. Предзаказ ещё открыт до конца месяца.

Ну а теперь по теме топика


После наших давних экспериментов с гонками на маленьких машинках (дистанционно, через Инет) решили попробовать погонять на чём-то побольше. Были опробованы разные тележки, гусеничные и колёсные. Но не покидало ощущение что это что-то не то. Это ощущение постепенно привело к мысли что нефиг мелочиться и надо делать машинку в масштабе 1:1



Читать дальше →
Total votes 201: ↑189 and ↓12 +177
Views 99K
Comments 103

Вышел CoffeeScript 1.6.1 с поддержкой Source Maps

Website development *JavaScript *CoffeeScript *
Случилось то, чего мы ждали уже давно. Благодаря усилиям Jason Walton теперь CoffeeScript поддерживает Source Maps, и мы можем отлаживать код на CoffeeScript прямо в браузере (Chrome, Firefox Nightly, Webkit Nightly). Теперь практически не осталось причин не использовать этот великолепный язык в своих веб-проектах.

Отладка с данным нововведением выглядит вот так (поддерживаются breakpoints, можно смотреть переменные, стек и т.п.):

Читать дальше →
Total votes 52: ↑46 and ↓6 +40
Views 11K
Comments 15
1

Information

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