Pull to refresh
16
0
Миша @Sibarit

Главный по счастливым клиентам

Send message

Почему Apache Ignite — хорошая платформа для микросервисов

Reading time10 min
Views21K


Прим. Переводчика. Статья может быть интересна архитекторам и разработчикам, планирующим построение решения на основе микросервисов, либо ищущим способы оптимизации текущего решения, особенно если работа идет с большими объемами данных. Перевод сделан на основе части 1 и части 2 цикла статей о микросервисах на Apache Ignite. Предполагается общее знакомство с экосистемой Java (Apache Ignite работает также с .NET, C++, а через REST и с другими языками, но примеры в статье будут апеллировать к Java), рекомендуется наличие базового знания Spring.

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

Если вы используете решения на основе микросервисной архитектуры там, где есть высокая нагрузка и необходимо работать с активно растущими массивами данных, скорее всего, вы сталкивались или столкнетесь с проблемами классических подходов:
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments2

Векторная графика бесплатно — подборка сайтов

Reading time3 min
Views418K
У векторной графики много преимуществ. В отличие от растровых, векторные изображения более гибкие, легко масштабируются, сохраняют качество и т.д. Ниже представлена подборка веб-ресурсов с бесплатными векторными иконками, символами и картинками.

1. Freepik


www.freepik.com

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



Читать дальше →
Total votes 41: ↑34 and ↓7+27
Comments3

Как мы боролись с парсерами

Reading time16 min
Views36K
image
Ключевые моменты:
* Реализация скрипта для проверки PTR посетителей;
* Конфигурирование nginx в IfIsEvil-style с ветвлениями map;
* Имена location в переменных map;
* Управление ветвлением через try_files /nonexist $map_var.

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

Читать дальше →
Total votes 39: ↑24 and ↓15+9
Comments59

Порог вхождения в Angular 2 — теория и практика

Reading time16 min
Views124K
Добрый день, дорогие хабра: жители, читатели, писатели, негативно-комментаторы.

В качестве вводной части и чтобы снять некоторые вопросы немного расскажу о себе. Меня зовут Тамара. Оужас, я девушка! Кого это пугает — закрывайте статью и не читайте.

Для остальных: у меня за плечам незаконченный лет 10 назад МИРЭА, факультет кибернетики. Но все эти 10 лет практики сложились таким образом, что по большей части я занималась рекламой и в перерывах случалось работать в различных стартапах, связанных с интернетом и не только.

image

В общем, если коротко, то чукча не программист, чукча просто душой и сердцем уважает тех, кто из непонятных строчек кода делает офигенные вещи, которые хорошо работают.
Читать дальше →
Total votes 72: ↑55 and ↓17+38
Comments144

Веб-компоненты в реализации Polymer от Google

Reading time6 min
Views98K

Веб-компоненты — это новая эра веб-разработки и почувствовать ее мощь можно уже сегодня при помощи Polymer от Google. Вы можете создавать свои собственные «элементы» (тэги), содержащие шаблон и инкапсулированные стили и логику (js), а так же воспользоваться богатой коллекцией уже готовых элементов.
Заинтересовались? Прошу под кат.
Total votes 23: ↑22 and ↓1+21
Comments27

Moxy — реализация MVP под Android с щепоткой магии

Reading time16 min
Views146K

Что такое MVP


MVP – это способ разделения ответственности в коде приложения. Model предоставляет данные для Presenter. View выполняет две функции: реагирует на команды от пользователя(или от элементов UI), передавая эти события в Presenter и изменяет gui по требованию Presenter. Presenter выступает как связующее звено между View и Model. Presenter получает события из View, обрабатывает их(используя или не используя Model), и командует View о том, как она должна себя изменить.

У такого подхода к разделению ответственности есть ряд плюсов:
  1. Сильно упрощается написание тестов к коду
  2. Легко менять какую-то часть, не ломая при этом другую
  3. Код разбивается на мелкие кусочки, за счёт чего он становится более понятным и читабельным

В то же время, конечно, есть и минусы:
  1. Кода становится больше
  2. К этому подходу нужно привыкать
  3. На данный момент не сильно распространённый(но известный) подход, поэтому приходится всем рассказывать о нём

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments46

Android VIPER на реактивной тяге

Reading time6 min
Views58K


Чем больше строк кода написано, тем реже хочется дублировать код, а чем больше проектов реализовано, тем чаще обходишь старые, хоть и зачастую любимые, грабли, и начинаешь все больше интересоваться архитектурными решениями.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments35

Аргументы против использования фрагментов в Android

Reading time10 min
Views33K
Недавно я выступал на конференции Droidcon в Париже с докладом (оригинал на французском), в котором рассматривал проблемы, возникшие у нас в Square при работе с фрагментами и возможности полного отказа от фрагментов.

В 2011-м мы решили использовать фрагменты по следующим причинам:

  • Тогда мы ещё не поддерживали планшеты, но знали, что когда-нибудь будем. Фрагменты помогают создавать адаптивный пользовательский интерфейс, и потому казались хорошим выбором.
  • Фрагменты являются контроллерами представлений, они содержат куски бизнес-логики, которые могут быть протестированы.
  • API фрагментов предоставляет возможность работы с backstack'ом (в общих чертах это выглядит так же, как и работа со стэком Activity, но при этом вы остаётесь в рамках одной Activity).
  • Так как фрагменты построены на обычных представлениях (views), а представления могут быть анимированы средствами Android-фреймворка, то фрагменты могли в теории дать нам возможность использовать более интересные переходы между экранами.
  • Google рекомендовал фрагменты к использованию, а мы хотели сделать наш код как можно более стандартным.

С 2011-го года много воды утекло, и мы нашли варианты получше.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments15

Альтернативы сервису parse.com

Reading time6 min
Views37K
Как известно, в следующем январе сервис Parse будет закрыт. Большинство разработчиков ищут альтернативу для этого сервиса. В одном из проектов guthub собралось достаточно много альтернатив, со ссылками и описанием. Перед вами — перевод этой страницы.

Часть 1: универсальные сервисы


Провайдеры, предоставляющие информацию в реальном времени, помечены (*).

AnyPresence MBaaS (Mobile backend as a service). Упрощает процесс создания мобильных приложений предприятия, работающих на разных устройствах, не ущемляя гибкость средств, доступных разработчику. Легок в использовании даже для неопытных пользователей. Опытные разработчики получают доступ к исходникам всех компонентов.

ApiOmat позволяет процессам предприятия работать как мобильным приложениям. Мобилизует сложные бизнес-структуры и процессы путём объединения существующих IT-систем с мобильными приложениями и устройствами. Его можно устанавливать прямо в дата-центре компании, что позволит работникам выполнять свою работу через приложения вне зависимости от их местонахождения.

Appcelerator Arrow (*) Состоит из двух основных компонентов, Builder и Cloud. Arrow Builder позволяет быстро создавать API, модели данных и соединители данных как через мастер настройки, так и через написание кода. Arrow Cloud – это эластичный облачный сервис, где выполняются API и происходит анализ их использования, плюс обеспечивается работа двух десятков смежных сервисов (гео, хранение фотографий и т.п.) с использованием ArrowDB

Appery.io Интегрированные сервисы MBaaS – чтобы разработчики могли сконцентрироваться на приложениях, не отвлекаясь на инфраструктуру.
Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments19

VIPER или то, о чем все говорят, но никто не рассказывает

Reading time1 min
Views12K
Каждый разработчик хочет писать чистый и модульный код. Конечно же, результирующее приложение не должно крэшиться ни при каких обстоятельствах, и все должно быть реализовано быстро и качественно. Звучит как утопия, не так ли?
Читать дальше →
Total votes 16: ↑12 and ↓4+8
Comments0

Почему сложно программировать UI и как выглядит идеальный фреймворк

Reading time1 min
Views22K
Привет, Хабр!

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

Со-основатель, технический директор и главный учитель нашего образовательного проекта Хекслет Кирилл Мокевнин рассказывает про сложность программирования интерфейсов и каким образом можно совладать со сложностью если вы знакомы с одной базовой концепцией информатики. Заодно расскажет и покажет идеальный JS-фреймворк для программирования UI.

Читать дальше →
Total votes 28: ↑18 and ↓10+8
Comments20

Мобильные приложения Stepic.org под iOS и Android

Reading time3 min
Views15K
Ура, свершилось! У платформы с открытыми онлайн-курсами Stepic.org появились приложения под iOS и Android.
В этом коротком посте мы расскажем о процессе работы над приложениями — выборе платформ, используемых технологиях и API, и даже дадим ссылки на исходный код.


Скажем честно, мы долго сомневались, так ли это необходимо. Посудите сами — каким бы ни было учебное мобильное приложение, в нём никак не получится удобно писать код на Haskell или вводить десяток-другой команд в линуксовый терминал. Поэтому речь не шла о приложении, которое полностью бы передавало функциональность Стэпика, но помогло бы разнообразить и улучшить обучение наших пользователей.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments2

400 потрясающих бесплатных сервисов

Reading time16 min
Views718K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

Как мы впервые делали стажировку по iOS и Android-разработке в Redmadrobot

Reading time4 min
Views17K
В мае мы писали, что открываем набор на стажировку для iOS и Android-разработчиков. Опыт был для нас необычный, новый и интересный.


И вот что из этого получилось
Total votes 32: ↑26 and ↓6+20
Comments4

Сборка нативных приложений в ExtJS 6

Reading time4 min
Views24K

Введение


Доброго вечера, данная статья освещает процесс сборки проектов ExtJS в нативные приложения, под распространенные мобильные платформы (Android, iOS, Windows Phone) с помощью Cordova / PhoneGap.

ExtJS — многофункциональный framework для создания SPA приложений. В последней на текущий момент версии (6.0) есть возможность использовать два различных toolkit'a, а именно classic и modern. Classic — предназначен для создания стандартных web приложений. Modern — предназначен для создания мобильных web-приложений, его отличия в поддержке touch событий и адаптивной вёрстке. Следует упомянуть что, некоторые компоненты в modern отличаются от classic, а именно: наименование событий и контролов. В данной статье рассмотрен процесс сборки нативного приложения только под Android (cloud and local build) с использованием Modern toolkit.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments6

Windows 10 по 10. Выпуск #4. Придание финального лоска UWP-приложению

Reading time7 min
Views10K
Мы продолжаем перевод серии статей Windows 10 по 10. Новая статья посвящена теме дизайна приложений. Перевод подготовлен студией Sly Lamb, специализирующейся на разработке приложений для платформы Microsoft.

Несколько вводных слов от руководителя студии Алексея Пережогина:
Добрый день! Прежде мы писали о нашем опыте адаптации дизайна iOS приложений под WP 8.х. Накануне выхода Windows 10 Mobile мы хотим обратить ваше внимание на изменения в гайдлайнах платформы Windows 10 по сравнению с прежним Modern UI (руководства, кстати, продолжают обновляться, и из последних новостей — появились шаблоны для дизайнеров в PSD (прежде были только в Illustrator и PowerPoint)).

Тема актуальна для Windows-разработчиков, которые планируют разрабатывать или портировать свои приложения под UWP. Поэтому мы решили перевести одну из очень полезных статей по проектированию приложений под Windows 10.

Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments22

Автоматизация workflow небольшой команды разработки (Часть 2)

Reading time8 min
Views44K
В предыдущей публикации я описывал список продуктов и их настройки, которые необходимы для работы нашей организации.

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

На протяжении 4-х лет у нас выработался следующий формат команды разработки:
  • 1 Project Manager, он же Product Manager, он же Delivery Manager.
  • 4-5 программистов
  • 1 Team lead
  • 3-4 QA
  • 1 Аналитик
  • 1 Техпис (иногда он же и аналитик в одном лице).

В итоге команда размером около 10-11 человек. Таких команд (ячеек) у нас несколько.

Работа в основном в стиле стартапа, когда нет конкретной и подробной постановки. Очень часто эксперименты вроде “а давайте попробуем так, посмотрим что получится” или “вы классно все сделали, но теперь надо все совсем по-другому”.
За эти годы концепцию нашей работы можно описать одной фразой — это “стремительная смена концепции”.
Понятное дело, что применить в таких условиях различные методологии никак не удавалось.

Начинал в этой системе я как программист, потом Team lead, ну а теперь PM (DM). Т.е. руковожу, полностью участвую в проектировании и иногда даже пописываю. Во времена моего программирования у меня был замечательный ПМ (выходец из тестировщиков), которая поддерживала все мои идеи по автоматизации workflow. Даже более того, концептуально этот процесс придуман ей, а я уже смог его технически реализовать и в некоторых местах усовершенствовать.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments21

Автоматизация workflow небольшой команды разработки (Часть 1)

Reading time5 min
Views39K
Практически во всех местах моей работы программистом для разработки использовали всего два продукта: багтрекинг и систему контроля версий. Чаще всего это были Atlassian Jira и SVN. В принципе, наличие этих двух систем здорово упорядочивает общение всех участников процесса разработки и положительно влияет на качество работы отдела и продукта.

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

После третьей страницы текста моей статьи, я решил разделить ее на 2 блока:


Итак. Настройка ПО, сопровождающего процесс разработки



Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments39

SAP ERP / ABAP полезные ресурсы

Reading time18 min
Views87K
Честно говоря, эту статью я пишу даже больше для себя — чтобы как то систематизировать информацию по внутреннему языку программирования ABAP/4 системы SAP R/3 в одном месте. Тем не менее, я буду очень рад, если кому то ещё она окажется полезной и сэкономит время. Сразу оговорюсь, что статья ориентирована на новичков, которые только начинают изучать ABAP/4 (коим, в некоторой мере, я и сам являюсь).
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments9

Топ-10 статей по User eXperience для начинающих, чтобы за час понять, что это такое

Reading time3 min
Views53K


Моя стратегия разобраться в какой-либо теме — пару часов почитать Хабр. Я решил сэкономить немного времени таких же, как и я, и сделал небольшую подборку полезных и интересных материалов на тему UX. Сразу предупрежу, что получить профессиональный level up с помощью них не получится (для этого есть оффлайновые курсы), но вот вникнуть в тему и получить инсайты — запросто. И да, если есть, поделитесь ссылками на материалы, которые были для вас максимально полезными в свое время.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments3

Information

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