Pull to refresh
@TechnoMag82read⁠-⁠only

User

Send message

Мой Maven plugin для IDEA. Часть 3. Заключительная. Easy Maven — запуск тестов, приложения и отладка

Level of difficultyEasy
Reading time8 min
Reach and readers6.3K

Всем привет. Ранее я уже публиковал статьи (раз и два), где рассказывал о проблемах IDEA Maven плагина, основная из которых — это импорт проектов. И о своем решении Easy Maven, как получить информацию о проекте с помощью нативного Maven плагина. Теперь я бы хотел поговорить о запуске и отладке проектов в IDEA. С ними на самом деле похожая проблема. Чтобы это все работало, нужно импортировать в IDEA все настройки компилятора из билд файлов, чтобы среда разработки могла сама компилировать и запускать проект. Но это не так то просто — постоянно появляются новые параметры и возможности компиляторов, также для каждого из JVM языка (Java, Kotlin, Groovy, Scala и так далее) есть свой компилятор со своими особенностями, annotation processors — которые надо дополнительно распознавать и загружать как jar‑файлы с их транзитивными зависимостями и импортировать в IDEA. Постоянно нужно за всем этим следить и нам опять приходить играть в догонялки. Только мы всегда находимся на шаг позади в роли отстающих и нужно тратить много ресурсов, чтобы заставить запускаться проект корректно из IDEA. Поэтому я решил и тут пойти другим путем — а зачем нам вообще все это делать и переносить настройки в IDEA, если мы можно просто выполнить Maven таск для соответствующего плагина — запуск теста или приложения? Поэтому я хотел бы остановиться на этом поподробнее и рассказать о своем решении.

Читать далее

Обмен событиями распределённого приложения на Java

Level of difficultyMedium
Reading time14 min
Reach and readers11K

Сегодня я хочу рассказать вам об одном из вариантов доставки событий для распределённого приложения на Java.

Это доставка событий через БД, в которой хранится состояние распределённого приложения.

Читать далее

JsonX — JSON на микроконтроллерах по-человечески

Level of difficultyEasy
Reading time3 min
Reach and readers13K

JSON сейчас встречается буквально везде - от веб-сервисов до IoT, но есть нюанс: почти все популярные JSON-библиотеки писались с расчётом на десктопы и серверы, где оперативку никто не считает по килобайтам. А вот на микроконтроллерах, особенно Cortex-M, каждый байт на счету. Да, конечно, можно гонять сырые структуры и их же писать в конфиг-файл, это как говорится "не запрещено конституцией". Но отладка в таком случае превращается в отдельный квест. В какой-то момент я понял, что мне надоело вручную возиться с JSON на микроконтроллерах: писать километры кода для обхода дерева cJSON, ловить утечки и гадать, где malloc снова подставит. Из всех этих соображений и родился JsonX — лёгкая и минималистичная надстройка над cJSON, которую я делал в первую очередь под микроконтроллеры.

Преимущество JsonX:

Читать далее

Как написать простейшую нейросеть на python, простыми словами о сложном

Level of difficultyEasy
Reading time8 min
Reach and readers45K

В мире Data Science написание нейронных сетей, кажется чем‑то очень трудоёмким, доступным для понимания лишь математикам с многолетним опытом. Многие руководства, начинаются со сложных объяснений backpropagation, градиентного спуска и т.п, от которых у новичков складывается впечатление, что написание нейросетей — им не по силам. В данной статье, я хочу развеять подобные убеждения и показать пример, написания простейшей нейронной сети на python. Мы не будем углубляться в теоретические основы высшей математики. Вместо этого, мы просто возьмем данные, напишем код, посмотрим на результат и проанализируем его.

Читать далее

Полный гид по 50 идеям, которые формируют современное мышление: от А до Я

Level of difficultyEasy
Reading time32 min
Reach and readers61K

Привет, Хабр! Представьте, что ваш мозг — это IDE, в которой 95% крутых плагинов попросту спят. Мы часто слышим об «Антихрупкости» или «FOMO», но сейчас этого стало настолько много, что я решил аггрегировать всё в одну статью, с примерами, чтобы всем было понятно.

В этой статье я собрал 50 самых насущных концепций из психологии, нейронауки и философии — от «синдрома утёнка» до «нейроэстетики».

Читать далее

Мобильная разработка за неделю #590 (16 — 22 июня)

Level of difficultyEasy
Reading time5 min
Reach and readers2.3K
В новом дайджесте использование Foundation Models и обновления UIKit/SwiftUI по следам WWDC, трудности обслуживания приложений под Android и ускорение карьеры в IT, автомобильный компьютер с нескучным функционалом, стеклянный фасад Apple и многое другое. Заходите!

Читать дальше →

Как СМИ, консультанты, инфоцыгане и прочие провоцируют переработки и корпоративную шизу. Часть 4

Level of difficultyEasy
Reading time42 min
Reach and readers31K

В первых трёх частях мы с вами рассматривали, что именно провоцирует переработки и прочую корпоративную шизу. 

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

Вы представляете себе, насколько разрушительны для общества современные медиа и СМИ?

Знаете ли вы, что консультанты настолько любят переработки, что буквально не приносят никакой долгосрочной пользы для бизнеса?

Что инфоцыгане провоцируют иррациональную веру в простые, быстрые и работающие техники?

И на выходе бизнес полон переработок, глупостей, тупых решений и чистейшего идиотизма.

Лонгрид, как обычно, на основе исследований и демонстрирующих логику историях.

Найти простые пути к корпоративной шизе

Второй мозг в Telegram: как управлять знаниями без сложных инструментов

Level of difficultyEasy
Reading time10 min
Reach and readers31K

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

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

Метод «Второй мозг» разработанный Тьяго Форте, представляет собой подход к управлению персональными знаниями, который помогает не только собирать информацию, но и эффективно ее использовать. Особенно интересно, что этот метод можно реализовать с помощью Telegram.

Telegram — это не только мессенджер. Его функциональности достаточно, чтобы превратить этот инструмент в полноценную систему управления знаниями. В статье я расскажу, как настроить «Второй мозг» внутри Telegram, приведу простые примеры и поделюсь практическими советами.

Читать далее

Мурмулируем ZX Spectrum

Level of difficultyEasy
Reading time6 min
Reach and readers27K

ZX Spectrum разработки «Sinclair Research Ltd» и его клоны - несомненная веха в истории бытового компьютеростроения. Если брать верхнюю оценку, всего было произведено до 9 миллионов ZX Spectrum и его клонов, что делает его одним из самых массовых домашних компьютеров 1980-х годов (на втором месте после Commodore 64 - порядка 17 млн. экземпляров). Многие люди, владельцы Спектрума, Пентагона, или Ленинграда, в далёких 80-х, в настоящее время переживают ностальгию по ушедшему детству/отрочеству/юности... Что питает спрос на антикварные и новодельные «спектрумы».

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

Выбор в этой нише тоже достаточно разнообразен, но я бы хотел остановиться на Мурмуляторе и его клонах. Для него существует 5 немного различающихся реализаций спектрума: technocat, fast‑beta, speccyP, fruit‑bat и pico‑spec. Все они имеют свои положительные и отрицательные грани, например, первый — очень хорош для мобильных реализаций на компактных устройствах с TFT‑дисплеями, т.к. имеет продвинутую экранную клавиатуру, но все они достаточно универсальны и имеют похожий движок. Несколько выделяется из их ряда только pico‑spec, т.к. только у него движок асинхронный, что позволяет очень точно отрисовывать всякие занимательные бордюрные эффекты, которые часто попадаются в демо‑сцене и в редких играх. Недостатки pico‑spec'а являются продолжением его недостатков — сложность синхронизации звука. У pico‑spec'а, пожалуй, худшая реализация звукового тракта. Правда, замечают это далеко не все — в основном те, кто хочет себе спектрум для прослушивания трекерной музыки. Для игр качество звука вполне приемлемое.

Читать далее

Как работает электронная почта. База

Level of difficultyEasy
Reading time3 min
Reach and readers6.3K

Исходим из того, что все умные, но многие не знают, как ходит почта и вопросы эти на 99% исходят из базы.

База:

Для работы почты почтовый сервер должен быть доступ из Internet

Почта приходит, потому что указаны MX-записи

Почта уходит, потому что настроена в соответствии с безопасностью SPF, DKIM, DMARC

Разберёмся по порядку, что должно быть настроено, чтобы работала почта.

Читать далее

Первый проект на HarmonyOS — мой плейлист для старта с нуля

Level of difficultyEasy
Reading time24 min
Reach and readers11K

Привет, Хабр! Это Юрий Волковский, техлид фронтенда в компании Friflex. Я работаю, в том числе, с мобильными приложениями на React Native. Разработка под HarmonyOS сразу заинтриговала меня тем, что ArkTS — это как бы TypeScript, но не совсем. И сам ArkUI сочетает в себе элементы и из React Native, и из Flutter, который мне тоже знаком. 

Я решил: создам на Harmony OS базовое мобильное приложение и посмотрю, насколько дружелюбна эта платформа. Если вы мобильный разработчик (особенно с опытом Android или Flutter) и тоже хотите разобраться, что это за платформа и как с ней работать — вы по адресу. Создадим базовый плейлист по шагам.

Читать далее

Задачи на собеседованиях. Денежные переводы в SQL. Обновление счетов и уровни изоляций

Level of difficultyMedium
Reading time4 min
Reach and readers45K

Задачи на собеседованиях. Денежные переводы в SQL. Обновление счетов и уровни изоляций

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

Читать далее

Низкоуровневое программирование под 8086 для любопытных, часть 2

Level of difficultyMedium
Reading time15 min
Reach and readers19K

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

Читать далее

Пишем один «exe», который работает на 3-х разных ОС без перекомпиляции

Level of difficultyMedium
Reading time17 min
Reach and readers32K

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

Недавно я задался вопросом: а возможно ли написать для ARM нативную программу, которая будет бесшовно работать сразу на 4-х операционных системах без необходимости перекомпиляции для разных платформ и ABI. Мне очень хотелось реализовать возможность писать кроссплатформенные эльфы для мобильных телефонов из нулевых и попытаться портировать на них эмуляторы ретро-консолей. Погрузившись в документацию на исполняемые форматы, я пришёл к выводу, что да — это возможно и смог реализовать такую программу на практике без читерства по типу VM! Всех гиков приглашаю под кат!

Читать далее

Как аргументированно попросить повышение после испытательного срока джуниору?

Level of difficultyEasy
Reading time2 min
Reach and readers5.5K

Во-первых постараюсь объяснить почему я хочу больше:)
По итогам собеседования меня взяли на позицию джуниор фронтенд разработчик в одну из московских айти компаний на удаленку. И вот какие были условия на момент принятия оффера
- Позиция джуниор фронтенд разработчик
- Будет ментор у которого всегда можно будет спросить
- Испытательный срок 3 месяца

В итоге узнается что ментор это такой

Читать далее

Мастерство фокусов на Compose

Level of difficultyEasy
Reading time23 min
Reach and readers11K

Привет! Меня зовут Костя, я Android-разработчик в онлайн-кинотеатре PREMIER. Среди прочего у нас есть приложение для Android TV. Работая над ним, я столкнулся с тем, что система фокусов в Jetpack Compose устроена сложнее, чем кажется на первый взгляд. Поскольку для ТВ-приложений и устройств без сенсорного управления работа с фокусом играет ключевую роль в навигации, мне понадобилось детально разобраться в теме. Результатами делюсь в статье.

Читать далее

Паттерны проектирования Composable в Vue

Level of difficultyMedium
Reading time4 min
Reach and readers9.3K

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

Читать далее

Не заряжается? Немного смекалки, пайки и устройство снова работает! Устанавливаем внешний чарджер в готовые устройства

Level of difficultyEasy
Reading time5 min
Reach and readers28K

Чуть больше двух лет назад, мой читатель с DTF подарил мне PlayStation Vita после сеанса купания и сдачи в трейд-ин. Изначально консоль была почти рабочей: после замены дрифтующих стиков, я с удовольствием играл в игры и временами откладывал консоль в коллекцию. С момента последней зарядки прошёл примерно год и консоль перестала заряжаться при общей работоспособности устройства — вода дала о себе знать. Что делать, когда на неизвестном устройстве выходит из строя чарджер и на него нет схемы? Читайте в статье!

Читать далее

Chotto UI — набор компонентов для чатов на Vue3

Level of difficultyEasy
Reading time2 min
Reach and readers4.6K

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

так ли это? посмотрим.

TL, DR: далее рассказываю, что мы делаем свой UI набор компонентов для чата, даю ссылки и приглашаю присоединяться к проекту.

Читать далее

Я не выйду к вам на работу, и вот почему

Level of difficultyEasy
Reading time12 min
Reach and readers34K

За годы работы в IT я общался с сотнями специалистов из разных проектов. После десятков историй от коллег и анализа непрекращающегося потока вакансий я собрал настоящую коллекцию хорроров с рынка труда.

Читать далее
1

Information

Rating
Does not participate
Registered
Activity

Specialization

Десктоп разработчик, Разработчик мобильных приложений
Средний