Kalm — бесплатное приложение с открытым исходным кодом. Представляет собой стандартный контроллер Kubernetes, который можно установить в любой кластер (версии v1.15 и выше), включая Amazon EKS и Google GKE. Основная цель Kalm — предоставить разработчикам простой пользовательский интерфейс, чтобы упростить работу с K8s.
Lead Java backend developer
The Dude. Практический мониторинг (Часть 1)
Все замечания, пожелания и т.п. пишите, пожалуйста, в комментариях — это позволит учесть ошибки и недочеты в следующих частях книги.
Под катом первая часть.
Итак, приступим.
Нужно ли создавать RAID-массив из SSD и какие контроллеры для этого нужны
Сервисы для планирования MVP: несколько наблюдений после использования
При разработке идеи продукта необходимо визуализировать систему будущего продукта (роли, сущности, минимально необходимый функционал), и с этим успешно помогают различные digital-инструменты.
Меня зовут Руслан Кутлиахметов, я старший разработчик в Лиге Цифровой Экономики, и сегодня расскажу, какие сервисы для описания бизнес-процессов будущего продукта используем мы и почему.
В Лиге Цифровой Экономики для описания бизнес-процессов будущего продукта мы рассматривали и пробовали такие инструменты:
Сравнение виртуальных и обычных потоков в Java
Мы все знаем и ждем Project Loom для виртуальных потоков и надеемся на бесплатное ускорение своих приложений без или почти без изменения их кода.
Примеры с запуском миллиона потоков все уже видели и они скучные. А какое ускорение будет на самом деле в реальных примерах использования многопоточности в нормально написанном проекте? Под катом код и бенчмарки.
«В идеале мы хотели бы вообще заменить Spring на Micronaut» — интервью с Грэмом Роше о перспективах развития Micronaut
Micronaut ворвался в нашу жизнь внезапно, без стука и без объявления войны. О нем пишут новости и читают доклады, и вряд ли найдется джавист, который ни разу не слышал это слово. Micronaut — это современный фреймворк для JVM для написания модульных микросервисов и serverless-приложений, использующий для этого фичи GraalVM.
В свою очередь, Grails — это фреймворк, который появился ещё в 2005 году и с тех пор непрерывно улучшается. В 2015 году Grails 3 переехал на SpringBoot, а версия 4.0.0 появилась в июле прошлого года. У Grails сохраняется своя аудитория, для которой он очень хорошо подходит и решает вполне конкретные проблемы.
Грэм Роше создал оба этих фреймворка. Мы пригласили Грэма в нашу виртуальную студию, чтобы обсудить, зачем было изобретать велосипеды и городить костыли, не закопать ли Grails и Spring Boot, как поддерживать Jakarta EE и не сломаться, что будет в Micronaut 2, стоит ли писать Micronaut поверх Micronaut и когда уже Java наконец помрёт.
Jmix — будущее CUBA Platform
TL;DR
Jmix — новое название и новый большой релиз CUBA Platform. На текущий момент Jmix находится в стадии предварительного релиза, мы планируем выпустить стабильную версию во втором квартале 2021 года. Основные изменения:
- В ядре платформы теперь будет Spring Boot
- Фреймворк будет разделен на модули (data, security, audit, и т.д.)
- Новый подход к определению модели данных
- Обновление базы данных теперь производится при помощи Liquibase
- Процесс развертывания будет основан на стандартных средствах Spring Boot. Это обеспечит лучшую интеграцию с облачными средами выполнения
Мы будем активно развивать разработку пользовательского интерфейса на ReactJS, в то же время продолжим поддержку текущего фреймворка, основанного на Vaadin.
CUBA Platform будет поддерживаться долгое время, мы также предоставим возможность миграции на Jmix через совместимый API.
Официальный сайт Jmix: jmix.io.
Обсуждение на форуме: по-английски.
Переходим на Flutter: за и против
Привет, Хабр!
Меня зовут Данил Абдрафиков и уже более пяти лет я занимаюсь мобильной разработкой, три из которых — на Flutter. Последние несколько лет я разрабатываю продукты для энтерпрайза в TAGES, и за это время у меня успел накопиться определенный опыт, которым я бы хотел поделиться с вами в сегодняшней статье. Я расскажу, что нужно знать опытному мобильному разработчику для перехода на Flutter, с какими особенностями можно столкнуться и стоит ли вообще переходить на него.
Чтобы вам было удобнее знакомиться с инструментами и технологиями, используемыми во Flutter, в материале будут упоминания нативных языков и инструментов, приближенных к привычному представлению процесса мобильной разработки.
Новый программерский жаргон
Ниже — вольный перевод самых популярных ответов.
Как выглядят собеседования сейчас
Времена меняются, меняется it-индустрия. Крупные it-игроки ушли, с ними ушли стандарты, топовые специалисты и рабочие места. Соотношение вакансий и резюме удручает, всё выглядит как конкурс на бюджетные места в топовых вузах.
Я являюсь .Net разработчиком с опытом лидинга и набора специалистов в команду. На текущем месте работаю 2 года, но за этот срок многое изменилось. Решил проверить, что же сейчас с рынком, и сколько же я стою сейчас как специалист. За 2 недели я прошёл 30 собеседований и хочу поделиться некоторыми из них, высказать свои замечания и выводы.
Никола Тесла: гений, миллиардер, филантроп, но — не ученый?
Инженер и изобретатель Никола Тесла обычно в представлении не нуждается. Один из самых известных ученых за всю историю, заслуживший себе репутацию гения, личность которого окружена множеством домыслов, иной раз самого мистического толка.
И это не случайно. Наш мир сегодня выглядит именно так во многом благодаря вкладу Теслы, его видению и его интеллекту. Но так ли был гениален Тесла как учёный, как о нем говорят и пишут? Попробуем разобраться.
В его честь была названа единица измерения магнитной индукции, а Илон Маск назвал его именем свою компанию по производству электромобилей. Если снимается научно-фантастический фильм или создается компьютерная игра в декорациях того времени, не сомневайтесь – Тесла там будет.
GPT-4: Чему научилась новая нейросеть, и почему это немного жутковато
В этой статье мы разберем новые удивительные способности последней языковой модели из семейства GPT (от понимания мемов до программирования), немного покопаемся у нее под капотом, а также попробуем понять – насколько близко искусственный интеллект подошел к черте его безопасного применения?
10 лет на одном проекте: как это выглядит для меня
Несколько лет назад казалось, что этот хомячок очень милый
Обычно сидеть десять лет на одном проекте считается чем-то вроде застоя и формирования аттрактора. Ну, вроде как резюме получается небогатое, и дальше будут звать только на подобные проекты. Но у меня есть нездоровое подозрение, что по мере развития ИТ в современной России будет всё больше случаев, когда вы «привяжетесь» к проекту.
Но всё равно десять лет — это, конечно, аномалия. Если об этом задуматься, становится страшно.
Давайте расскажу, как это выглядит изнутри.
Итак, это не было осознанным решением. За несколько лет я сменил четыре компании, причем в одной из них сменил еще и три проекта. Дальше мы начали внедрять CRM в банке. Я тогда думал, будет несколько месяцев. Начинал на одном софте как интегратор, потом перешёл на другой как интегратор, побыл проектировщиком общим, потом функциональные решения проектирования. Потом, последние годы, архитектором.
Несмотря на то, что я для банка внешний сотрудник из Джета, «на той стороне» меня считают своим работником. Ещё я очень хорошо понимаю требования заказчика (за десять-то лет!), и потому мне доверяют в плане принятия решений, как лучше сделать. Это важно, потому что обычно интеграторам не очень-то верят, они тяготеют к «своим» вендорам. А вот если это потом и поддерживать, и знать, что ты в ответе за архитектуру на годы вперед, — это все резко меняет. Я знаю, что я же буду развивать всё это спустя год или два, и не откатывать решение, не переделывать.
Добавление Quartz в Spring Boot
В моей статье «Specifications to the Rescue» я показал как можно использовать JPA Specification в Spring Boot для реализации фильтрации в RESTful API. Затем в статье «Testing those Specifications» было показано как протестировать эти самые спецификации.
Следующим шагом я решил продемонстрировать, как добавить планировщик заданий в это же приложение Spring Boot.
Выходим из тюрьмы Apple. Установка произвольных приложений на iOS без джейлбрейка
App Store — не единственный способ установки приложений для iOS. Раньше люди специально делали джейлбрейк, чтобы установить каталог Cydia. Но в последнее время появилось несколько сторонних каталогов, которые работают вообще без джейлбрейка. Удивительно, но Apple пока не ставит им палки в колёса.
Эти каталоги приносят реальную пользу, ведь здесь независимые разработчики свободно распространяют свои программы без комиссий и цензуры. Apple не может произвольно отзывать со смартфонов такие приложения. А люди получают более широкий выбор программ, включая эмуляторы Linux, независимость от производителя и реальное право владения.
Принципы SOLID в картинках
Если вы знакомы с объектно-ориентированным программированием, то наверняка слышали и о принципах SOLID. Эти пять правил разработки ПО задают траекторию, по которой нужно следовать, когда пишешь программы, чтобы их проще было масштабировать и поддерживать. Они получили известность благодаря программисту Роберту Мартину.
В Сети множество отличных статей, где рассказывается о принципах SOLID, но иллюстрированных среди них мне практически не попадалось. Из-за этого таким людям со склонностью к визуальному восприятию информации – таким, как я – бывает сложно схватывать суть и не отвлекаться.
Основная цель этой статьи – лучше усвоить принципы SOLID через отрисовку иллюстраций, а также определить назначение каждого принципа. Дело в том, что некоторые из принципов кажутся похожими, но функции выполняют разные. Может получиться так, что одному принципу следуешь, а другой при этом нарушаешь, хотя с виду особой разницы между ними нет.
Чтобы проще читалось, я упоминаю здесь только классы, однако всё сказанное в статье применимо также к функциям, методам и модулям, так что имейте это в виду.
Ну, приступим.
Увеличиваем производительность с помощью SO_REUSEPORT в NGINX 1.9.1
SO_REUSEPORT
, которая доступна в современных версиях операционных систем, таких как DragonFly BSD и Linux (ядра 3.9 и новее). Данная опция разрешает открывать сразу несколько слушающих сокетов на одном и том же адресе и порту. При этом, ядро будет распределять входящие соединения между ними.Теория программирования: Вариантность
Здравствуйте, меня зовут Дмитрий Карловский и я… хочу поведать вам о фундаментальной особенности систем типов, которую зачастую или вообще не понимают или понимают не правильно через призму реализации конкретного языка, который ввиду эволюционного развития имеет много атавизмов. Поэтому, даже если вы думаете, что знаете, что такое "вариантность", постарайтесь взглянуть на проблематику свежим взглядом. Начнём мы с самых основ, так что даже новичок всё поймёт. А продолжим без воды, чтобы даже профи было полезно для структурирования своих знаний. Примеры кода будут на псевдоязыке похожем на TypeScript. Потом будут разобраны подходы уже нескольких реальных языков. А если же вы разрабатываете свой язык, то данная статья поможет вам не наступить на чужие грабли.
А не синьор ли ты часом? О чем спрашивают на собеседованиях для синьоров
Десять лет назад Евгений Афонасьев, совсем еще зеленый джун, попал на первый в своей жизни PyCon, который проходил на турбазе под Екатеринбургом. С тех пор многое изменилось, PyCon вырос и перебрался в Москву, а Евгений превратился в опытного python-разработчика, который уже сам выступает на конференциях и проводит собеседования. Именно о том, как проводятся собеседования на позицию синьора, он рассказал на PyCon Russia 2022. Доклад признали лучшим докладом конференции, поэтому мы решили с вами поделиться его текстовой версией. Далее — от лица Евгения.
Что за черт, Javascript
Этот пост — список забавных и хитрых примеров на JavaScript. Это отличный язык. У него простой синтаксис, большая экосистема и, что гораздо важнее, огромное сообщество.
В то же время мы все знаем, что JavaScript довольно забавный язык, в котором есть хитрые вещи. Некоторые из них быстро превращают нашу повседневную работу в ад, а некоторые заставляют хохотать. В этом посте рассмотрим некоторые из них.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity