MAM: сборка фронтенда без боли |
Здравствуйте, меня зовут Дмитрий Карловский, и я… обожаю MAM. MАМ управляет Агностик Модулями, избавляя меня от львиной доли рутины.
Агностик Модуль, в отличие от традиционного, это не файл с исходником, а директория, внутри которой могут быть исходники на самых разных языках: программная логика на JS
/TS
, тесты к ней на TS
/JS
, композиция компонент на view.tree
, стили на CSS
, локализация в locale=*.json
, картинки и тд, и тп. При желании не сложно прикрутить поддержку любого другого языка. Например, Stylus для написания стилей, или HTML для описания шаблонов.
Зависимости между модулями трекаются автоматически путём анализа исходников. Если модуль включается, то включается целиком — каждый исходник модуля транспилируется и попадает в соответствующий бандл: скрипты — отдельно, стили — отдельно, тесты — отдельно. Для разных платформ — свои бандлы: для ноды — свои, для браузера — свои.
Полная автоматизация, отсутствие конфигурирования и бойлерплейта, минимальные размеры бандлов, автоматическое выкачивание зависимостей, разработка сотен отчуждаемых библиотек и приложений в одной кодовой базе без боли и страданий. Ух какая наркомания! Уберите от мониторов беременных, слабонервных, детей и добро пожаловать на подводную лодку!
Читать дальше ->https://habr.com/ru/post/456288/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456288
Метки: Разработка веб-сайтов JavaScript Системы сборки TypeScript MAM $mol dependencies build system versioning cyclic references modular system |
[Перевод] Многомерные графики в Python — от трёхмерных и до шестимерных |
Визуализация — важная часть анализа данных, а способность посмотреть на несколько измерений одновременно эту задачу облегчает. В туториале мы будем рисовать графики вплоть до 6 измерений.
Plotly — это питоновская библиотека с открытым исходным кодом для разнообразной визуализации, которая предлагает гораздо больше настроек, чем известные matplotlib и seaborn. Модуль устанавливается как обычно — pip install plotly. Его мы и будем использовать для рисования графиков.
Для визуализации мы используем простые данные об автомобилях от UCI (Калифорнийский университет в Ирвине — прим. перев.), которые представляют собой 26 характеристик для 205 машин (26 столбцов на 205 строк). Для визуализации шести измерений мы возьмём такие шесть параметров.
Загрузим данные из CSV с помощью pandas.
import pandas as pd
data = pd.read_csv("cars.csv")
Теперь, подготовившись, начнем с двух измерений.
Читать дальше ->https://habr.com/ru/post/456282/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456282
Метки: Python Программирование Открытые данные Визуализация данных Инфографика plotly Scatter3D диаграмма рассеяния |
[Из песочницы] Начало работы с stm32 или не повторяйте моих ошибок |
Небольшой рассказ о граблях, встреченных на пути познания ARM на примере stm32f103c8t6 и stm32l151rct6.
Читать дальше →https://habr.com/ru/post/456280/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456280
Метки: Программирование микроконтроллеров Схемотехника arm stm32f103 stm32l151 грабли и велосипеды |
[Из песочницы] Что такое информация? |
https://habr.com/ru/post/456276/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456276
Метки: Научно-популярное информация информационная среда homo sapiens биология вычислительное мышление |
Психологи: секс-роботы приведут к увеличению числа людей без пары, которым не нужны отношения с другими людьми |
https://habr.com/ru/post/456274/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456274
Метки: Блог компании Madrobots Здоровье гика Будущее здесь роботы эволюция секс отношения психология отношений |
Техника избежания неопределённого поведения при обращении к синглтону |
https://habr.com/ru/post/455848/?utm_source=habrahabr&utm_medium=rss&utm_campaign=455848
Метки: c++ c++11 c++14 c++17 singleton синглтон std::shared_ptr std::weak_ptr умные указатели smart pointers |
Дайджест интересных материалов для мобильного разработчика #302 (10 — 16 июня) |
https://habr.com/ru/post/456266/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456266
Метки: Блог компании Цифровые Экосистемы Разработка под iOS Разработка мобильных приложений Разработка под Android WWDC SwiftUI UI UX аналитика мобильных приложений |
Шпаргалка по структурам данных в Go |
https://habr.com/ru/post/456194/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456194
Метки: алгоритмы go golang собеседования stl контейнеры |
[Перевод] Генная инженерия эмбрионов человека станет безопасной и эффективной в течение двух лет |
Безопасное редактирование человеческих эмбрионов может быть возможно всего через один или два года, и глава ведущей китайской программы генетических исследований говорит, что в настоящее время нужны международные правила по предотвращению использования этой технологии в качестве оружия массового уничтожения.Профессор Ян Хуэй сказал, что его группа совершила прорыв, утроив эффективность нового инструмента генной инженерии, который может изменять гены эмбрионов человека с беспрецедентной точностью и безопасностью.
https://habr.com/ru/post/456222/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456222
Метки: Научно-популярное Биотехнологии Здоровье гика Будущее здесь генная инженерия генные терапии crispr вич эмбрионы клинические испытания евгеника |
[Из песочницы] Обобщение задачи Брокара |
Гильберт в 1900 году на II Международном конгрессе математиков в Париже отметил практическую важность теории чисел. Решение абстрактных задач часто приводило к появлению нового математического аппарата. Ярким примером служит Великая Теорема Ферма, в ходе доказательства которой в конце XX-ого века были исследованы мероморфные функции, применяющиеся современными инженерами-конструкторами на авто- и авиазаводах, а также IT-специалистами в рамках имитационного моделирования. Задачи о "красивых числах" — простых близнецах и совершенных числах, считавшиеся в Древней Греции практически бесполезными, теперь обеспечивают современную криптографию устойчивыми алгоритмами генерации ключей.
В 1913 году Рамануджан популяризирует неопределённое уравнение:
https://habr.com/ru/post/456220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456220
Метки: математика Научно-популярное проблема брокара теория чисел длинная арифметика |
[Перевод] Используйте __main__.py |
Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаимодействия с питоновскими модулями, состоящими из нескольких файлов.
Однажды вы напишете программу, которую захотите использовать и как импортируемый модуль, и как инструмент запускаемый из командной строки. Вы скорей всего в курсе, как обычно поступают в этом случае:
if __name__ == '__main__':
main(sys.argv)
Когда вы скармливаете скрипт интерпретатору, магическая глобальная переменная __name__ получает значение __main__. Таким образом мы узнаём, что это не импорт, а именно запуск. Например:
python myapp.py
И это прекрасно работает для одиночного файла.
Но если вы похожи на меня, вы не захотите, чтобы всё ваше приложение теснилось в единственном файле. Разбиение логики по разным файлам упрощает редактирование и поддержку. Например:
.
+-- README.me
+-- requirements.txt
+-- setup.py
+-- src
+-- __init__.py
+-- client.py
+-- logic.py
+-- models.py
+-- run.py
Но пользователю, который склонировал проект из репозитория будет не понятно — какой из этих файлов главный? Неужели run.py? А может client.py? Где же искать знакомую строку if __name__ == '__main__'? Вот здесь-то __main__.py и способен проявить себя.
Читать дальше ->https://habr.com/ru/post/456214/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456214
Метки: Python Программирование __main__.py |
Темы и стили в Android без магии. И как их готовить с SwitchCompat |
https://habr.com/ru/post/456178/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456178
Метки: Разработка под Android android development android theme |
[Из песочницы] Основные заблуждения о SCRUM |
https://habr.com/ru/post/456196/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456196
Метки: Управление разработкой Управление проектами Agile Управление продуктом SCRUM |
Software Defined Radio — как это работает? Часть 8 |
https://habr.com/ru/post/456184/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456184
Метки: Программирование Разработка систем связи Гаджеты Научно-популярное Электроника для начинающих rds gnu radio software define radio |
[Из песочницы] Token, refresh token и создание асинхронной обертки для REST-запроса |
https://habr.com/ru/post/456188/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456188
Метки: javascript авторизация ecmascript rest api token fetch |
Немного об источниках ядерного топлива |
https://habr.com/ru/post/456158/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456158
Метки: Научно-популярное Здоровье гика уран радиация добыча руды экология |
Обучение логистической регрессии с L1 и L2 регуляризациями с методом SGD |
https://habr.com/ru/post/456176/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456176
Метки: Python Data Mining Big Data Искусственный интеллект логистическая регрессия машинное обучение стахостический градиентный спуск регуляризация анализ данных |
[Из песочницы] Как я нашел свою первую уязвимость? |
https://habr.com/ru/post/456180/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456180
Метки: CMS Информационная безопасность hacking url безопасность веб-приложений |
Как организовать хакатон будучи студентом 101. Часть вторая |
https://habr.com/ru/post/456174/?utm_source=habrahabr&utm_medium=rss&utm_campaign=456174
Метки: Хакатоны хакатон учеба за границей |
[Перевод] Легендарный Intel Core i7-2600K: тестирование Sandy Bridge в 2019 году (часть 3) |
https://habr.com/ru/post/455658/?utm_source=habrahabr&utm_medium=rss&utm_campaign=455658
Метки: Блог компании ua-hosting.company Компьютерное железо Процессоры CPUs Intel Sandy Bridge Overclocking 7700K Coffee Lake i7-2600K 9700K |