• Микросервисный фронтенд — современный подход к разделению фронта

      too FAT SPA


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

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

      Сегодня я расскажу вам, как мы делали микросервисный фронт в нашем SaaS-решении и с какими проблемами столкнулись.
      Подробнее под катом
    • Курс от Яндекса о том, что должен знать каждый разработчик, который хочет делать большие системы. Модное слово DevOps и другое

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

        В Яндексе тестировщику невозможно без автоматизации. Мы даже развиваем экспериментального робота, который способен брать на себя функциональное тестирование. В какой-то момент мы поняли, что не так много людей осознают, сколько сейчас есть возможностей работать не 12 часов, а головой. Собрав весь свой опыт в тестировании и деплое, мы открыли в питерском офисе Яндекса Школу автоматизации процессов разработки. У нас получилась школа, где каждый, кто пишет код, может получить базовый набор знаний о том, как собрать, запустить и поддерживать сервис в продакшене так, чтобы это стоило недорого.



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

        Сейчас занятия закончились, и мы, как и обещали, выкладываем записи лекций, которые перемежаются с мастер-классами, для всех желающих. Понятно, что наш опыт и знания – не 42, но мы надеемся, что они принесут вам пользу.
        Читать дальше →
      • Тестирование в разных версиях IE

          ieДо сих пор сталкиваюсь с вопросами людей, как протестировать сайт в IE разных версий.
          И как чтобы этот процесс был быстрым и удобным.
          Как ни странно, Microsoft подумала про это. Идем по ссылке и качаем сначала последнюю версию Virtual PC а затем необходимые образы с версиями IE.
          Ставим Virtual PC, распаковываем образы, подключаем (только под 8-й ie отведите не меньше 256 памяти) и вуа ля.
          Простой и удобный способ готов к применению.
          А главное вы видете реальный результат работы нужного вам браузера в окружении «чистой» ОС
        • Прототипирование приложений для Windows Phone в SketchFlow

            Привет, %username%, %wpdeveloper%, %designer% и все, кто ещё читает этот топик!

            До окончания приёма заявок на Imagine Cup: Windows Phone Challenge осталось чуть больше 2х недель, самое время ею заняться! Но к заявке должен быть приложен ещё и прототип приложения, выполненный в SketchFlow. О том, как его создать, сегодня и поговорим.

            Осторожно, много картинок под катом!

            Ready to Get Started?


            Читать дальше →
            • +25
            • 2,7k
            • 4
          • Проблема с режимом сна в Mac OS Lion

              Mac OS Lion

              После установки обновления огромное количество пользователей жалуются на некорректную реакцию компьютера на выход из режима сна, причём независимо от типа устройства, будь то iMac, Macbook или Mac Mini. Проявляется это таким образом: после погружения компьютера в сон, его уже невозможно разбудить традиционными способами: открытием крышки ноутбука, нажатием кнопки включения, etc, приходится делать hard reset. Главная прелесть заключается в том, что существует множество модификаций этого бага: у кого-то он проявляется только если вводить компьютер в режим сна путём закрытия крышки, у кого-то только путём нажатия «Режим сна» в меню; у кого-то он проявляется только при подключённом MagSafe, а у кого-то только при работе от аккумулятора. У меня же он проявляется крайне экзотическим образом: система просыпается, но ведёт себя так, как будто её перезапускали, — все приложения загружаются заново.

              Что интересно, единого лекарства против этого нету. На форуме поддержки предлагают огромное количество решений проблемы, но ни один из них не помогает всем и наверняка.
              Этот пост — сборка всех возможных решений отсюда: https://discussions.apple.com/thread/3190738.

              Читать дальше →
            • jQuery slider (гармошка)

                Первый опубликованный мной пост на хабре :)
                Наверное многие видели симпатичные выкидушки-слайдеры(по клику выезжает текст или еще что-то). Попытаюсь рассказать как это можно сделать ну и предложу места применения.
                Читать дальше →
              • Планируете запуск кампании в Директе? Лучше день потерять, потом за пять минут долететь!

                  Несколько простых правил по работе с Яндекс.Директ, чтобы не разориться в первый месяц рекламной кампании по самые помидоры и получить максимальный эффект при меньших затратах.

                  7 раз отмерь


                  Работу по изучению поведения людей на сайте и их взаимодействия с рекламой лучше начать с подготовки того, как вы будете оценивать качество аудитории:
                  1. Установите Яндекс.Метрику. Это позволит определить эффективность каждого объявления и конкретной ключевой фразы для вашего конкретного сайта.
                  2. Определите, как действия вы ожидаете от посетителей своего сайта при переходе по рекламе.
                    Например:
                    совершить звонок (подключаем услугу "Целевой звонок", которая учитывает число уникальных/неуникальных, неотвеченных звонков, их длительность и все входящие номера)
                    совершить заказ через корзину ("параметры интернет-магазинов", когда учитывается источник посетителя, состав и сумма заказа)
                    отправить письмо через обратную форму связи (задаем целью нажатие кнопки отправки сообщения или посещение страницы с сообщением «спасибо, ваше письмо получено»)
                    скачать файл (раздел в метрике «загрузки файлов»)

                  То есть основное правило: нужно измерять то, что покажет вам положительную обратную связь от посетителя, пришедшего по рекламе. Только не стоит заморачиваться на абсолютных величинах. Нужно измерять динамику, т.е. то, ухудшается или улучшается в целом ситуация.
                  Читать дальше →
                • Кастомные социальные кнопки

                  Недавно участвовал в разработке одного проекта — фото конкурса. По задумке, рейтинг фото альбомов должен формироваться из суммы всех публикаций в социальных сетях: Facebook, Вконтакте, Twitter. Т.е. общий рейтинг фотоальбома расчитывается:
                  Рейтинг фотоальбома = кол-во «Share» в Facebook + кол-во «Сохранить» в Вконтакте + кол-во «Retweet» в Twitter

                  На макетах, вид кнопок несколько отличался от предоставляемых социальными сетями плагинов, формируемых функциями api. В частности вид счетчиков:
                  image
                  Помимо несоответствий с дизайном, каждый плагин формирует излишний хтмл код, а хотелось бы лаконичный.

                  Детальнее ознакомившись с api каждой сети, окончательно убедились в отсутствии расширенных возможностей для кастомизации кнопок и этот факт понять можно, все стремятся к единоборазности своих кнопок. Решили отказаться от использования готовых плагинов и сделать свои кнопки.

                  Итак:
                  • количество лайков будем получать от REST сервисов каждой социалки
                  • кнопки рисуем свои и обрабатываем событие click

                  Читать дальше →
                • Доставка из США за 5-10 дней по цене USPS

                    До наступления 2013 года оставалось 30 дней, когда я решил подарить жене ipad mini. Официальный store.apple.com не справлялся со спросом на mini, о чем красноречиво свидетельствовала надпись est shipping in 2 weeks.

                    Отказываться от mini в качестве подарка не было никакого желания, поэтому был штурмом взят ebay, цены на котором заметно подросли, и 16gb+cellurar модель ушла за $500.

                    До наступления 2013 года оставалось 15 дней, у меня был выигранный лот и туманная перспектива получить его в Спб до 31 числа…
                    И я ее получил, за 10 дней, тариф за отправку составил $48.5.
                    Читать дальше...
                  • Как Сделать Свой Собственный Подавитель Мобильных Телефонов

                      Я работаю в небольшой компании, которая занимается продвижение сайтов в Интернете (SEO). Совсем недавно мы начали практиковать новый метод привлечения работников. Мы устраиваем небольшие презентации — семинары (бесплатные) где рассказываем про различные аспекты поисковой оптимизации и таким образом привлекаем к сотрудничество молодых оптимизаторов. В среднем, раз в неделю у нас в офисе собирается около 20-30 человек. В начале, все было просто отлично, но затем, мы неожиданно столкнулись с одной проблемой.
                      Читать дальше →
                    • Мой способ не забывать о событиях и делах

                        Описывать буду не столько сам способ, потому что в нём нет ничего нового, сколько реализацию, причём завязанную на UNIX-подобные ОС.

                        Скриншот

                        А на этом скриншоте информации меньше, но в более крупном разрешении.
                        Что это и зачем?
                      • Краткий обзор лучших средств для построения графиков и диаграмм.

                          Из всех наведенных примеров мне больше всего понравился Open Flash Chart. Который я заслужено поставил на первое место. Все остальные, мне показались тоже не плохими но для работы я выбрал именно Open Flash Chart.
                          Open Flash Chart – FLASH компонент для построения диаграмм. Он имеет много настроек и легко взаемодействует с PHP, Perl, Python, Java, Ruby on Rails, and .Net. Также может читать данные с .txt файлов.

                          смотреть другие скрипты для построения графиков и диаграмм
                        • Обзор Todo сервисов

                            На днях искал туду сервис для идей и проектов (идей много и постоянно из головы все вылетает) и для общения с заказчиками (да, я все ещё использую сервисы 20 века ICQ, Email :) ).
                            Ставились следующие приоритеты:
                            • Удобство навигации (множитель 1,0)
                            • Удобство управления туду-списками (множитель 1,0)
                            • Collaboration (множитель 1,0)
                            • Дизайн интерфейса (множитель 0,8)
                            • Качественная справочная система (множитель 0,8)
                            • Русский интерфейс по большему счету для удобства заказчика (множитель 0,8)
                            • Добавление задачи по Email (множитель 0,5)
                            • Интеграция с GMail/Google Calendar (множитель 0,5)
                            • Наличие API (множитель 0,5)
                            • Оповещение по Email (множитель 0,5)
                            • Оповещение по IM (ICQ, Jabber, Skype, MSN, Google Talk) (множитель 0,5)
                            • Интерфейс для сотовых и КПК (множитель 0,3)
                            • Чтобы это меня впечатлило — эмоции от проекта (множитель 0,1)

                            Детальный обзор под хабракатом
                          • Имена системных цветов в CSS

                              C несказанной радостью обнаружил, что в стандарте CSS2 есть поддержка системных цветов. Думаю таблица ниже будет интересна всем кто когда-нибудь пытался откатить значения CSS до дефолтных. Вся эта радость подходит для всех браузеров начиная с IE 5 и Netscape 5.

                              Название цвета Описание
                              ActiveBorder Active window border.
                              ActiveCaption Active window caption.
                              AppWorkspace Background color of multiple document interface.
                              Background Desktop background.
                              ButtonFace Face color for three-dimensional display elements.
                              ButtonHighlight Dark shadow for three-dimensional display elements (for edges facing away from the light source).
                              ButtonShadow Shadow color for three-dimensional display elements.
                              ButtonText Text on push buttons.
                              CaptionText Text in caption, size box, and scrollbar arrow box.
                              GrayText Grayed (disabled) text. This color is set to #000 if the current display driver does not support a solid gray color.
                              Highlight Item(s) selected in a control.
                              HighlightText Text of item(s) selected in a control.
                              InactiveBorder Inactive window border.
                              InactiveCaption Inactive window caption.
                              InactiveCaptionText Color of text in an inactive caption.
                              InfoBackground Background color for tooltip controls.
                              InfoText Text color for tooltip controls.
                              Menu Menu background.
                              MenuText Text in menus.
                              Scrollbar Scroll bar gray area.
                              ThreeDDarkShadow Dark shadow for three-dimensional display elements.
                              ThreeDFace Face color for three-dimensional display elements.
                              ThreeDHighlight Highlight color for three-dimensional display elements.
                              ThreeDLightShadow Light color for three-dimensional display elements (for edges facing the light source).
                              ThreeDShadow Dark shadow for three-dimensional display elements.
                              Window Window background.
                              WindowFrame Window frame.
                              WindowText Text in windows.

                              Пример: тест системных цветов
                            • Расширенный «Hello! World» на микрофреймворке Flask

                              image

                              Добрый день, хабраюзер.

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

                              Мы используем Python, в частности микрофреймворк Flask.
                              Читать дальше →
                              • +34
                              • 5,4k
                              • 7
                            • Internet Explorer: 15 лет истории

                                Microsoft Internet Explorer
                                Путешествие в историю Microsoft Internet Explorer начинается 16 августа 1995, с выходом его первой версии. Internet Explorer прошёл через очень трудные этапы в своем развитии.

                                Он соперничает с такими браузерами, как Firefox Mozilla, Opera и Google Chrome. В Европе Firefox является наиболее сильным конкурентом. Но, как бы то ни было, IE удобно расположился на вершине и составляет большую долю в использовании.

                                Итак, небольшой экскурс
                              • Что такое качество в веб-дизайне: примеры и рекомендации. Часть 1

                                • Перевод
                                Несколько выдающихся примеров и рекомендаций по созданию качественного дизайна веб-страницы или блога

                                quality

                                Многие люди склонны описывать предоставляемые ими услуги по веб-дизайну как «качественные». Но что означает здесь слово «качество», как определить, является дизайн качественным или нет? Что ж, я вижу несколько способов определить качество применительно к сфере веб-дизайна. Ведь если однажды определить, что позволяет создавать качественный веб-дизайн, можно использовать эти же приемы для оттачивания собственного стиля.

                                Чтобы объяснить, как я понимаю качество в дизайне веб-сайтов, я собрал несколько рекомендаций и примеров.
                                Читать дальше →
                              • Онлайн инструменты для типографии

                                  Создавая контент, мы всегда стараемся использовать более подходящий шрифт и стили для оформления. Мы живем в 21 веке и обилие этих самых стилей и шрифтов заставляет нас задуматься — «А нет ли удобных онлайн инструментов которые облегчат нам жизнь?». Конечно же есть и их много! Вот о некоторых из них здесь и пойдет речь.

                                  Читать дальше →
                                • Разработка привлекательных реалистичных пользовательских интерфейсов

                                  • Перевод
                                  Cекрет разработки привлекательных интерфейсов заключается в реализме. Ваша задача — придать плоским элементам объём, используя свойства реальных объектов, вроде неровностей и шероховатостей, бликов и теней, различных текстур поверхностей. В идеале они должны выглядеть как предметы на вашем столе. Создавая классный интерфейс, в первую очередь нужно думать не «как», а «почему».
                                  Читать дальше →