Как стать автором
Обновить
14
0

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

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

Повысьте производительность SPA, разбив ваши библиотеки Angular на несколько частей

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

Привет, Хабр! Представляю Вашему вниманию перевод статьи «Improve SPA performance by splitting your Angular libraries in multiple chunks» автора Kevin Kreuzer.


Angular — отличный фреймворк. Мы все его любим <3.


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


Сегодня благодаря Angular CLI библиотеки легко создать. Они прекрасно подходят для того, чтобы делиться кодом между несколькими приложениями.


Так как они могут быть использованы во многих местах, производительность является критическим аспектом. Библиотека, которая имеет низкую производительность может замедлять несколько приложений!


В Frontend есть разные типы производительности. runtime — производительность и initial load. В этой статье мы сосредоточимся на initial load.


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

Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии7

Установка Kubernetes на Hetzner Cloud

Время на прочтение6 мин
Количество просмотров11K
Обновлено 21/08/2020. С момента написания статьи прошло чуть больше года и ряд примеров перестали работать — технологии развиваются, поэтому немного дополнил и переделал примеры.

В данной статье я хотел бы рассказать об установке Kubernetes на Hetzner Cloud.

На моем рабочем компьютере установлен Ubuntu Linux 18.04 и все примеры будут подразумевать использование данной операционной системы.

Для работы с Hetzner Cloud и построения кластера Kubernetes мы будем использовать утилиту hetzner-kube. Установим ее на свой локальный компьютер.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии8

10 практических рекомендаций по безопасности образов Docker. Часть 2

Время на прочтение6 мин
Количество просмотров7.1K
Перевод статьи подготовлен специально для студентов курса «Безопасность Linux».


Читать первую часть


5. Не оставляйте чувствительные данные в образах Docker


Иногда при создании приложения внутри образа Docker вам нужны такие секретные данные, как приватный SSH-ключ для извлечения кода из приватного репозитория или токены для установки закрытых пакетов. Если вы копируете их в промежуточный контейнер Docker, они кэшируются в том слое, к которому они были добавлены, даже если вы удалите их позже. Эти токены и ключи должны храниться вне Dockerfile.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии4

Есть ли жизнь после Синьора?

Время на прочтение8 мин
Количество просмотров16K
Как ни странно, но многие разработчики, начиная с джуниоров и заканчивая синьорами, видят только один путь своего развития: менеджмент. Они планируют переходить в руководители проектов или становиться техническими руководителями. Но IT-сфера намного шире, вариантов и путей развития большое количество. Развиваться можно, не только получая новые навыки, но и совершенствуя существующие. Об этом и о нескольких возможных дорогах для дальнейшего развития карьеры разработчика я расскажу в своем посте. Интересно будет не только начинающим свою карьеру, но и опытным разработчикам, которые еще не определились со своей судьбой или просто устали писать код.


Источник
Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии20

Как управлять рисками в продуктовом бэклоге

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

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



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

Всего голосов 11: ↑10 и ↓1+9
Комментарии1

Модульная и повторно используемая Docker-среда с помощью Carnotzet

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

Мы создали инструмент, который интегрирует Docker и Maven для того, чтобы помочь сотням наших разработчиков управлять сложными средами разработки, состоящими из сотен сервисов, при этом прилагая минимум усилий. Это история о том, как сумасшедшая идея стала реальностью. Это история создания Carnotzet.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Учебник по Spring Boot Admin

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


Контролируйте и управляйте своими приложениями Spring Boot с помощью приятного пользовательского интерфейса поверх конечных точек Spring Boot Actuator.

Spring Boot Actuator


Actuator — это модуль Spring Boot, который добавляет конечные точки (endpoint) REST / JMX в ваше приложение, чтобы вы могли легко отслеживать и управлять им в производственной среде. Конечные точки предлагают проверку работоспособности, мониторинг метрик, доступ к журналам, дампам потоков, дампам кучи, информации об окружающей среде и многое другое. Автор подробно рассказал об Actuator в следующей статье:
Actuator: Spring Boot Production Monitoring and Management
Мониторинг и управление вашим работающим приложением с помощью Spring Boot Actuator 2.x. Соберите метрики или проверьте здоровье приложения.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии1

Переход с Windows Mobile на Android. Список приложений

Время на прочтение9 мин
Количество просмотров32K
Практический опыт перехода от WM-коммуникатора к Android.
Очередной список Android-приложений со ссылками и кратким описанием.
Все нижеописанное — субъективное мнение автора и не претендует на истину в последней инстанции


Преамбула: после трех лет сосуществования с коммуникатором на базе Windows Mobile наступил момент, когда WM начало казаться мне жутким, неповоротливым и кривым чудовищем. Коммуникатор использовался очень плотно: звонки и SMS, разумеется, но это не главное; в основном – чтение книг, ежедневная навигация в московских пробках, web-серфинг, почта, хранение контактов, планирование рабочего (и не только) времени с помощью Календаря (от Задач ушел), Заметки (в том числе и графические от руки), переписка IM, звонки VoIP, ssh. Причем, Контакты, Календарь и Заметки постоянно синхронизировались с MS Outlook на настольном компьютере (ББ) и ноутбуке через USB и Bluetooth. Необходимые данные были постоянно доступны и на коммуникаторе и на рабочем месте и на домашнем ноутбуке, и отказываться от этого при переходе на другую платформу я не хотел. Мой выбор пал на Android. Открытая современная платформа и все такое. Близко душе программиста.
Читать дальше →
Всего голосов 116: ↑85 и ↓31+54
Комментарии138

AIDA. Автоматизация работы с Git, JIRA и TeamCity

Время на прочтение5 мин
Количество просмотров38K
При разработке и тестировании какого-либо продукта появляется много рутинной работы. Чтобы избежать ошибок, связанных с человеческим фактором, мы используем AIDA.

AIDA (англ. Automated Interactive Deploy Assistant) — это учётная запись, значительно облегчающая работу с Git, TeamCity и JIRA.
Сегодня речь пойдет о том, как с её помощью нам удалось автоматизировать многие рабочие процессы.

В первую очередь мы вспомним об используемой в Badoo системе контроля версий, далее расскажем о том, как было автоматизировано создание веток релиза и осуществлено автоматическое слияние веток в Git, поговорим о существенной помощи AIDA в работе с JIRA (контроль и изменение статуса задач, заполнение полей) и ТeamCity (непрерывная интеграция и развёртывание на тестовое окружение).
Читать дальше →
Всего голосов 53: ↑50 и ↓3+47
Комментарии52

Загрузка классов в Java. Практика

Время на прочтение7 мин
Количество просмотров83K
Данная статья является продолжением статьи Загрузка классов в Java. Теория.

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

Код приложения не претендует на оригинальность, а лишь объясняет подходы и принципы написания пользовательских загрузчиков классов и методы инвокации динамического кода.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии19

Загрузка классов в Java. Теория

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


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

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

Читать дальше →
Всего голосов 62: ↑49 и ↓13+36
Комментарии29

Точка доступа на основе wi-fi карточки D-link DWA-520 (ath5k)

Время на прочтение4 мин
Количество просмотров14K
Хотите получить wi-fi точку доступа из барахла которое завалялось в гараже? Тогда вам под кат т.к., сегодня мы будем собирать программную точку доступа (AP) на основе wi-fi карточки D-link DWA-520 на чипсете Atheros AR5001X+ (ath5k) и Ubuntu Server 9.04.

заинтересовало?
Всего голосов 41: ↑36 и ↓5+31
Комментарии49

Смотрим кино с субтитрами сразу на двух языках

Время на прочтение2 мин
Количество просмотров30K
Увидев только что на Хабрахабре вот эту блогозапись, подумал, а нельзя ли сделать так в Линуксе. Оказалось — можно. Причём метод не зависит от проигрывателя видео, главное, чтобы программа поддерживала субтитры в формате ASS.

Скриншот
Читать дальше →
Всего голосов 97: ↑86 и ↓11+75
Комментарии79

Пишем простейший торрент трекер на php

Время на прочтение5 мин
Количество просмотров28K
Обмен файлами всегда привлекал людей, для этого собственно и был изобретен протокол BitTorrent.

Большинство торрент трекеров написано на PHP, хотя встречаются и такие, которые написаны на C# языке, но для ознакомления мы будем использовать именно PHP.

Давайте рассмотрим что из себя представляет трекер.
Читать дальше →
Всего голосов 172: ↑111 и ↓61+50
Комментарии100

Делаем твёрдый переплёт для любимых книжек

Время на прочтение6 мин
Количество просмотров522K
Небольшое вступление

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

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

Большое вступление

Некоторое время назад мне захотелось прочитать цикл Дугласа Адамса «Автостопом по галактике». Я попробовал почитать несколько переводов и не один меня не устроил. Поэтому было принято решение — читать на английском! Найти эти книги в оригинале в наших книжных магазинах довольно сложно. А если и есть, то только первая часть цикла. В электронном виде найти несколько проще. Но я предпочитаю читать с бумаги (читалку на E-ink куплю обязательно — очень нравятся), поэтому книги я распечатываю.

Первые две книги выглядели так:
image

Я их прочитал с огромным удовольствием, но выглядели они не очень хорошо. И я решил, что «Life, the Universe, and Everything» нужно делать книжкой.

Процесс с картинками и комментариями под катом. Осторожно, действительно много картинок.
Читать дальше →
Всего голосов 348: ↑337 и ↓11+326
Комментарии142

Все о String.intern()

Время на прочтение4 мин
Количество просмотров118K
Думаю, что многие Java-разработчики знают или хотя бы слышали о методе String.intern(). Но далеко не каждый использует его в своих приложениях или представляет в каких случаях он полезен и полезен ли вообще. Так было и со мной до тех пор пока я не столкнулся с этим методом в одном из проектов. В тот момент я захотел узнать смысл и особенности его использования и набрел на одну весьма интересную статью ведущего разработчика Yahoo! по имени Ethan Nicholas, переводом которой теперь хочу поделиться с той частью Хабра-сообщества, которая не безразлична к языку Java.

Тем, кто знает об этом методе лишь понаслышке, добро пожаловать под кат.
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии33

Как я заново открыл для себя инкапсуляцию в java.

Время на прочтение2 мин
Количество просмотров19K
Я всегда считал, что Java — лаконичный и красивый (в плане концепции) язык с четкой структурой, позволяющей расширять эту структуру и на всевозможные фреймворки, там самым помогающая привнести порядок и в код конечного программиста. И, прежде всего, я считал, что java — это 100% ОО язык! Но недавно мне попался код, после которого я вечер ходил возмущался. Код совершенно несложный для понимания даже людей несведующий в java.
Читать дальше →
Всего голосов 87: ↑50 и ↓37+13
Комментарии68

Трудности администрирования прокси серверов в больших компаниях

Время на прочтение9 мин
Количество просмотров24K
Работая в компании с количеством сотрудников в несколько сотен человек, поневоле задумываешься о безопасности сети, данных и рабочих мест сотрудников.

Ниже я опишу несколько методов оптимизации работы, которые помогают решать часть проблем корпоративной безопасности при помощи прокси серверов.
Читать дальше →
Всего голосов 58: ↑49 и ↓9+40
Комментарии64

Трудности администрирования прокси серверов в больших компаниях (Часть 2)

Время на прочтение9 мин
Количество просмотров9.4K
В предыдущей статье я описал основные проблемы подстерегающие администраторов в больших компаниях.

Сегодня я продолжу данную тему и опишу основные проблемы конфигураций в больших сетях и возможности их решения.
Читать дальше →
Всего голосов 61: ↑57 и ↓4+53
Комментарии22

Обзор CMS по категориям

Время на прочтение19 мин
Количество просмотров84K
В мире существуют тысячи CMS для самых разных целей, самого разного качества, самой разной перспективы, стоимости, распространённости и так далее. Серьёзно опробовать их все — нереально. Поэтому когда я только знакомился с миром движков для сайтов, выбирать приходилось наугад. Ниже я опишу свои впечатления от знакомства с теми или иными движками для тех или иных целей. К некоторым приложу краткое описание особенностей, впечатление о прочих состоит только из заглядывания в админку. Заметки эти составлялись и редактировались в течении долгого времени, но сейчас я решил, что лучше опубликовать их в нынешнем виде, чем ещё полгода-год по чуть-чуть редактировать не добавляя ничего принципиально нового.
Преимущество отдаётся бесплатным движкам. Платные будут рассматриваться только для сравнения или от безысходности, т.е. если нет бесплатных аналогов. Также ограничение на технологии: php. О движках на перле и питоне я не более чем слышал, на шарпе и джаве имел дело с самописными.
Итак, рассматриваются
Читать дальше →
Всего голосов 197: ↑163 и ↓34+129
Комментарии215
1

Информация

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