Pull to refresh
11
Karma
0
Rating

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

  • Followers 3
  • Following 1
  • Posts
  • Comments

Лошадь сдохла – слезь: переход с tslint на eslint

Dodo Engineering corporate blog Programming *Perfect code *TypeScript *
До недавнего времени во всех проектах фронта разработчики Dodo Pizza Engineering использовали tslint – полезный инструмент, который подсказывает, когда ты накосячил в коде допустил неточность, помогает поддерживать код в одном стиле и сам исправляет многие замечания. Но тут tslint взял и умер. Под катом я расскажу, почему так вышло, как перестать лить слёзы по умершему и перейти на инструмент eslint, а также покажу кое-что очень интимное.


Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Views 32K
Comments 12

Настройка GitLab CI для загрузки java проекта в maven central

Java *DevOps *
Sandbox


Данная статья рассчитана на java разработчиков, у которых возникла потребность быстро публиковать свои продукты в репозиториях sonatype и/или maven central с использованием GitLab. В данной статье я расскажу про настройку gitlab-runner, gitlab-ci и maven-plugin для решения данной задачи.

Читать дальше →
Total votes 20: ↑18 and ↓2 +16
Views 14K
Comments 1

Как создать микросервис на PaaS

Конференции Олега Бунина (Онтико) corporate blog IT Infrastructure *Microservices *
Если вам интересно, как можно автоматизировать повседневные задачи разработчиков и построить удобную систему оркестрирования зависимостей ваших сервисов, загляните под кат. Об этом в своем докладе на конференции Golang Live 2020 рассказал разработчик продуктовой команды «Авито» – Auto B2B Иван Королев. Он затронул тему платформенных решений для создания микросервисов и на живом примере продемонстрировал, как происходит создание и развитие микросервиса в «Авито».



Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 1.9K
Comments 3

Эффективная разработка и сопровождение Ansible-ролей

Конференции Олега Бунина (Онтико) corporate blog System administration *IT Infrastructure *DevOps *
Ansible — система, которая решает различные задачи автоматизации, включая конфигурирование, резервное копирование и деплой проектов. Систему приятно использовать для написания сценариев автоматизации от простого окружения до крупного проекта. В сценариях важную роль играют playbooks и роли — структурированные playbooks.

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

Как раз об этом расшифровка доклада Александра Харкевича на DevOps Conf Russia. В докладе: разработка Ansible-ролей через CI, механизм разработки публичных ролей и публичных ролей с тестовыми прогонами в приватной инфраструктуре. А еще в докладе нет вывода.


Total votes 19: ↑19 and ↓0 +19
Views 16K
Comments 9

Несколько советов о том, как ускорить сборку Docker-образов. Например, до 30 секунд

ITSumma corporate blog IT Infrastructure *Nginx *Angular *GitHub

Прежде чем фича попадет на прод, в наше время сложных оркестраторов и CI/CD предстоит пройти долгий путь от коммита до тестов и доставки. Раньше можно было кинуть новые файлы по FTP (так больше никто не делает, верно?), и процесс «деплоя» занимал секунды. Теперь же надо создать merge request и ждать немалое время, пока фича доберётся до пользователей.


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


Читать дальше →
Total votes 54: ↑53 and ↓1 +52
Views 20K
Comments 33

Деплой распределенных сервисов в Яндекс.Облаке на примере Grafana

Cloud computing *Cloud services Distributed systems *
Sandbox

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


image

Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 2.9K
Comments 4

Метапрограммирование с примерами на JavaScript

JavaScript *Programming *System Analysis and Design *
Эта статья, еще одна попытка переосмысления метапрограммирования, которые я периодически предпринимаю. Идея каждый раз уточняется, но в этот раз удалось подобрать достаточно простых и понятных примеров, которые одновременно очень компактны и иллюстративны, имеют реальное полезное применение и не тянут за собой библиотек и зависимостей. В момент публикации я буду докладывать эту тему на ОдессаJS, поэтому, статью можно использовать, как место для вопросов и комментариев к докладу. Формат статьи дает возможность более полно изложить материал, чем в докладе, слушатели которого, не освобождаются от прочтения.

UPD: Обновленная видеоверсия статьи на Youtube (лекция записана в Киевском политехническом институте 18 апреля 2019 года в рамках курса «100 видео-лекций по программированию»):

Читать дальше →
Total votes 52: ↑39 and ↓13 +26
Views 38K
Comments 23

Используем Chrome DevTools профессионально

OTUS corporate blog JavaScript *Google Chrome Software
Translation
И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели

11 советов для тех, кто использует Chrome в качестве среды разработки.





Итак, по тем или иным причинам вы решили при разработке ориентироваться на Chrome. Вы открываете инструменты разработчика и приступаете к отладке кода.



Иногда вы открываете консоль, чтобы посмотреть вывод своей программы, или вкладку Elements, чтобы проверить CSS-стили элементов DOM.



А действительно ли вы разбираетесь в Chrome DevTools? На самом деле у инструментов разработчика множество мощных функций, которые облегчают жизнь, но о них мало кто знает.
Я расскажу о самых полезных из них.
Читать дальше →
Total votes 54: ↑51 and ↓3 +48
Views 32K
Comments 16

Клиентский мониторинг производительности

TINKOFF corporate blog Website development *JavaScript *Client optimization *Interfaces *
🔥 Technotext 2020

Клиентский мониторинг производительности


Привет, Хабр! Меня зовут Влад, я лид направления Web Performance в Тинькофф.


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


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


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


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

Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Views 15K
Comments 1

Что я узнал после более чем 1000 code review

SkillFactory corporate blog Open source *Programming *GitHub Studying in IT
Translation
За последние 3 года я рассмотрел более 1000 pull (merge) request’ов. За это время я многому научился — в основном тому, как не проверять код, как сделать процесс менее болезненным, что делает код хорошего качества и так далее.

Pull request должен делать только одну вещь


Это самая важная вещь, на которую стоит обратить внимание.

Делая code review, вы должны держать в голове много вещей. «Что за этим стоит?», «Как это согласуется с остальной частью кода?» и «Будет ли это хорошо работать?» Вот лишь некоторые из вопросов, на которые нужно ответить. Таким образом, когда у вас есть pull request, который пытается решить одну проблему, на некоторые из этих вопросов легче ответить.

Другим важным аспектом является размер pull request’а. Большие запросы требуют экспоненциально больше времени для рассмотрения. И когда я узнаю, что мне нужно потратить более 15 минут на запрос, вам придется подождать до пары часов.
Читать дальше →
Total votes 34: ↑24 and ↓10 +14
Views 15K
Comments 49

Использование Grid для макетов страниц, а Flexbox — для макетов компонентов

RUVDS.com corporate blog Website development *CSS *JavaScript *
Translation
Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ему тяжело даётся принятие решений о том, когда использовать Grid, а когда — Flexbox. Например, он использовал CSS Grid для создания макета заголовка сайта. При этом он отметил, что довести проект до ума ему было нелегко, и что ему пришлось долго экспериментировать с grid-column и настраивать всё до тех пор, пока у него не получилось то, что ему было нужно.



Честно говоря, мне это не понравилось. Поэтому я решил поискать какой-нибудь ресурс, который помог бы моему брату как следует уяснить различия между Grid и Flexbox и дал бы возможность взглянуть на примеры, созданные с использованием обеих этих технологий. Но ничего подходящего мне найти не удалось. Тогда я решил написать статью, посвящённую Grid и Flexbox. Надеюсь, она получилась понятной.
Читать дальше →
Total votes 44: ↑43 and ↓1 +42
Views 25K
Comments 10

Мой опыт разработки приложения, как PM

IT-companies
Sandbox

Я программист в душе. Первую программу написал в 8 лет — игра на ламповый телевизор (24 года назад). Данный проект — это вызов для меня. Я лично не написал ни одной строчки кода. В процессе перекупили основного кодера. Дочь глотнула батарейку — стресс на неделю. Коронавирус. И факапы на старте, которые привели к доп расходам на 25% бюджета. Команда 7 человек и я. Сроки реализации 4 месяца.

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 5.2K
Comments 23

13 инструментов для обработки текста в командной оболочке

ITSumma corporate blog Configuring Linux *System administration *Server Administration *Software
Translation
Tutorial
Здесь представлен фрагмент будущей книги «Основные инструменты и практики для начинающего разработчика программного обеспечения» Бальтазара Рубероля и Этьена Броду. Книга должна помочь образованию подрастающего поколения разработчиков. Она охватит такие темы, как освоение консоли, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git, основы SQL, инструменты вроде Make, jq и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.

Содержание


Читать дальше →
Total votes 56: ↑53 and ↓3 +50
Views 33K
Comments 63

Новый фронтенд Одноклассников: запуск React в Java. Часть I

Одноклассники corporate blog Website development *JavaScript *ReactJS *


Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд.

В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и начать миграцию в огромной системе с большим количеством legacy-кода, а так же как на этом пути помогает GraalVM.

Во время написания статьи оказалось, что весь объём материала не влезает в традиционный для ХАБРа размер и если выложить публикацию целиком, то на её прочтение уйдет несколько часов. Поэтому мы решили разделить статью на 2 части.

Из первой части вы узнаете об истории фронтенда в Одноклассниках и познакомитесь с его историческими особенностями, пройдете путь поиска решения проблем, которые накопились у нас за 11 лет существования проекта, а в самом конце окунетесь в технические особенности серверной реализации принятого нами решения.
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Views 17K
Comments 24

Топ 20 навигационных фич в IntelliJ IDEA. Часть 1

OTUS corporate blog Java *Development for Android *
Translation
Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс». И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам




Продолжая серию статей, в которых я освещаю основные фичи IntelliJ IDEA (ранее я писал об основных возможностях дополнения и рефакторинга кода), я хотел бы поговорить о навигации, которая является еще одной возможностью повышения производительности IDE, которая экономит вам много времени, при условии, конечно, что вы используете ее правильно.
Читать дальше →
Total votes 31: ↑26 and ↓5 +21
Views 30K
Comments 14

Очень много YouTube-каналов для прокачки английского языка для программистов

Programming *Lifehacks for geeks Learning languages
Tutorial
Привет, Хабр!

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

Добавляйте в закладки и подписывайтесь на меня!
Дальше вас ждет много крутых статей.

Поучить английский


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

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Total votes 59: ↑52 and ↓7 +45
Views 57K
Comments 19

Встроенная альтернатива Redux с React Context и хуками

ReactJS *
Translation
Tutorial
От переводчика:

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



С момента выхода нового Context API в React 16.3.0 многие люди задавали себе вопрос, достаточно ли хорош новый API, чтоб рассматривать его как замену Redux? Я думал о том же, но до конца не понимал даже после выхода версии 16.8.0 с хуками. Я стараюсь пользоваться популярными технологиями, путь даже не всегда понимая всего спектра проблем, которые они решают, так что я слишком сильно привык к Redux.

И вот так получилось, что я подписался на новостную рассылку от Кента Си Доддс (Kent C. Dodds’) и обнаружил несколько email на тему контекста и управлением состоянием. Я начал читать…. и читать… и спустя 5 блог постов что-то щелкнуло.

Чтобы понять все основные концепты стоящие за этим, мы сделаем кнопку, по клику на которую мы будем получить анекдоты с icanhazdadjoke и отображать их. Это небольшой, но достаточный пример.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 9.7K
Comments 8

В каких странах выгодно регистрировать IT-компании в 2019 году

IT-emigration IT-companies
Sandbox
IT-бизнес остаётся направлением с высокой маржинальностью, далёко опережая производство и некоторые другие виды услуг. Создав приложение, игру или сервис, можно работать не только на локальных, но и на международных рынках, предлагая услуги миллионам потенциальных клиентов.

image

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

То же касается и компаний поменьше, но вдвойне актуальным решение о переносе компании за границу становится тогда, когда клиенты расположены по всему миру.

Я составила список стран, где в 2019 году интересно и выгодно регистрировать компании для ведения IT-бизнеса. Единственная оговорка – не проговаривались особенности регистрации Fintech-стартапов, которым нужно получать лицензию на выпуск электронных денег или на ведение банковской деятельности.

Что нужно учитывать при выборе страны для регистрации IT-компании?


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

Читать дальше →
Total votes 32: ↑22 and ↓10 +12
Views 33K
Comments 44

Еще один способ оптимизации docker-образов для Java приложений

Java *DevOps *

История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров образов. Для наших команд это было актуально в силу ряда причин, поэтому мы решили применить это решение к нашим приложениям.


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


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


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

Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 7.6K
Comments 5

Heroku + Docker + Spring Boot

Programming *Java *
Tutorial
Далее речь пойдет о моем опыте запуска докеризованного Spring Boot приложения на бесплатных виртуальных машинах облачного сервиса Heroku. Одно из главных преимуществ этого провайдера в том, что он дает возможность создавать бесплатные виртуалки с ограничением по часам работы, причем для этого достаточно только регистрации. Даже платежные реквизиты подтверждать не требуется, хотя если их подтвердить можно получить дополнительные бонусы. Подробнее про их прайс можно прочитать здесь. С моей точки зрения их политика по части бесплатных ресурсов почти не имеет аналогов.

И так, после того, как вы создали на Heroku приложение есть несколько способов развернуть в нем ваш код
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 15K
Comments 7

Information

Rating
Does not participate
Registered
Activity