Как стать автором
Обновить
0
0
Алексей @0crash0

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

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

Пора оставить RAID-5 в далеком прошлом

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров22K

Для ЛЛ: RAID-5 совершенно не подходит для современных массивов из дисков на 5-10 Тб по нескольким причинам.

Читать далее
Всего голосов 81: ↑69 и ↓12+84
Комментарии136

Kotlin DSL: Теория и Практика

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

Sql, RegExp, Gradle — что их объединяет? Всё это примеры использования проблемно-ориентированных языков или DSL (domain-specific language). Каждый такой язык решает свою узконаправленную задачу, например, запрос данных из БД, поиск совпадений в тексте или описание процесса сборки приложения. Язык Kotlin предоставляет большое количество возможностей для создания собственного проблемно-ориентированного языка. В ходе статьи мы разберемся, какие инструменты есть в арсенале программиста, и реализуем DSL для предложенной предметной области.


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


Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии12

Микросервисы на Go: Как заставить систему работать на тебя

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров7.3K

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

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

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии7

Простая установка ROS2 на Ubuntu 22.04: Руководство для начинающих

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров14K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии11

Программируем Arduino Uno на Rust: настраиваем среду и моргаем светодиодом

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

Кто-то из вас наверняка задавался вопросом: а нельзя ли программировать Arduino на чём-то более современном и удобном? Вот и я задавался. И нашёл Rust (не то, чтобы я о нём не знал). И на нём можно программировать микроконтроллеры AVR и платы Arduino, построенные на них. И здесь я расскажу о том, как настроить среду разработчика на Rust в Linux, GNU Emacs и Visual Studio Code и как запрограммировать Arduino Uno на моргание светодиодом.


#![no_std]
#![no_main]

use ruduino::Pin;
use ruduino::cores::current::{port};

#[no_mangle]
pub extern fn main() {
    port::B5::set_output();

    loop {
        port::B5::set_high();
        ruduino::delay::delay_ms(1000);
        port::B5::set_low();
        ruduino::delay::delay_ms(1000);
    }
}
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии25

Как за семь шагов спроектировать масштабную автоматизированную систему для крупного предприятия

Время на прочтение5 мин
Количество просмотров6.6K
Проектирование автоматизированной системы для работы большой компании с ее контрагентами. Создание сразу двух типов личных кабинетов: для сотрудника предприятия и для дилера. Задачи, которые доверяют далеко не каждому. А мы спроектировали такую систему для одного из ведущих в России производителей строительных и отделочных материалов.

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

Поработать было над чем. Во-первых, у руководства не было полной информации о конечных потребителях продукции, которую реализует дилер, ее реальном объеме реализации и остатков на складе. Поставки продукции из-за этого не были сбалансированы. Доходило и до таких случаев, когда подарки, положенные дилерам по результатам маркетинговых акций, не доезжали до них. В самой компании менеджеры принимали заказы в виде excel-файлов и отказывались делиться информацией о текущем положении дел. Руководство предприятия понимало, что дальше так продолжаться не может. При этом работать с крупным IT-интегратором не решались из-за большой стоимости работ.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Как я учу детей Питону

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

Моя основная работа связана с данными и программированием на R, но в этой статье я хочу рассказать про своё увлечение, которое даже приносит некий доход. Мне всегда было интересно рассказывать и объяснять что-то друзьям, одноклассникам и однокурсникам. Ещё мне всегда просто было находить общий язык с детьми, не знаю, почему. Вообще, я считаю, что воспитание и обучение детей это одно из важнейших занятий из всех, да и жена у меня педагог. В общем, примерно год назад я дал объявление в местной группе на фейсбуке, набрал группу и стал преподавать скратч и питон раз в неделю. Сейчас у меня пять групп, свой класс в доме и индивидуальные занятия. Как я дошёл до жизни такой и как именно я учу детей, я раскажу в этой статье.
Читать дальше →
Всего голосов 66: ↑65 и ↓1+84
Комментарии91

Электромотоцикл, изготовленный с применением SLS 3D-печати

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

Мастерская в подвальном помещении учебного здания AGH.

E-moto AGH, команда студентов польской горно-металлургической академии им. Станислава Сташица (далее AGH), спроектировала и построила электрический внедорожный мотоцикл. Студенты не только хотели доказать преимущество альтернативных источников энергии, они также учились применять новейшие решения, такие как настольный SLS 3D-принтер Sinterit Lisa Pro. В основном мотоцикл создавался в лаборатории академии.

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

Команда E-moto AGH создает свои мотоциклы от начала и до конца. Многие детали изготавливаются вручную, например — с применением вакуумной формовки или обработки на станках. Остальные части печатают на 3D-принтерах. Студенты используют несколько принтеров, в основном типа FDM. Но была особая задача, для которой применялась технология селективного лазерного спекания SLS (Selective Laser Sintering).
Всего голосов 3: ↑2 и ↓1+3
Комментарии4

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть пятая, обработка

Время на прочтение7 мин
Количество просмотров15K
Я начал писать эту статью уже давно, но недавняя статья «Гребной винт «незацепляйка» на станке с ЧПУ» вывела меня из душевного равновесия, и буквально швырнула за дописывание. Это что же такое получается — пока я тут прокрастинирую, в интернете кто-то так и будет неправ? Я же весь на икоту изойду, когда опубликую, и будет мне вместо респекта и уважухи проклятия и позор.
Поскольку статья дописана форсированно, будет некая нестыковка: изначально я планировал подробно описать хотя бы наиболее актуальные стратегии CAM программ, и даже начал это делать на синтетической детали:

image

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

image

Кому уже интересно — велкам под кат. Много картинок, торопливое изложение и некачественный текст гарантирую.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии46

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть вторая, инструмент и приспособления

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

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

Хотя многие поставщики вкладывают в комплект «стартер кит», для комфортного домашнего использования он будет явно недостаточен. Так что сразу начинаем искать/покупать/делать следующее:

— Режущий инструмент — фрезы/граверы и боры
— Дополнительные цанги к шпинделю
— Крепеж для стола
— Систему изоляции и/или удаления стружки

И да, сразу оговорюсь: данная статья касается домашних фрезеров со шпинделями типа Kress или китайчонками с цангой Er11, поэтому во-первых предположим, что хвостовик фрезы у нас цилиндрический до 6 мм (у Кресса есть 8, но нормальной его работу с 8кой не назовешь — слабенький он таки), во-вторых, механический инструмент смысла не имеет — мощи не хватит, а в третьих, сверла-развертки-метчики-флайкаттеры недоступны, поскольку минимальная скорость — 6000 оборотов.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии50

График в браузере для Arduino и STM32

Время на прочтение2 мин
Количество просмотров9.8K
Всем привет.

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

Всего голосов 18: ↑16 и ↓2+14
Комментарии3

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

Время на прочтение5 мин
Количество просмотров22K
Перевод статьи подготовлен специально для студентов курса «Team Lead 2.0».




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

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

Это самое большое изменение, которое происходит с человеком по мере его продвижения по карьерной лестнице. И слишком часто получается так, что хороший работник становится управленцем без необходимых навыков, желания и понимания.
Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии9

Опенсорсный чип OpenTitan заменит проприетарные корни доверия Intel и ARM

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


Некоммерческая организация lowRISC при участии Google и других спонсоров 5 ноября 2019 года представила проект OpenTitan, который называет «первым опенсорсным проектом по созданию открытой, качественной архитектуры микросхем с корнем доверия (RoT) на аппаратном уровне».

OpenTitan на архитектуре RISC-V — микросхема специального назначения для установки на серверах в дата-центрах и в любом другом оборудовании, где нужно обеспечить аутентичность загрузки, защитить прошивку от изменений и исключить вероятность руткитов: это материнские платы, сетевые карты, маршрутизаторы, устройства IoT, мобильные гаджеты и др.

Конечно, подобные модули есть в современных процессорах. Например, аппаратный модуль Intel Boot Guard является корнем доверия в процессорах Intel. Он по цепочке доверия верифицирует подлинность UEFI BIOS перед загрузкой ОС. Но вопрос, насколько мы можем доверять проприетарным корням доверия с учётом того, что у нас нет гарантий отсутствия багов в дизайне, а проверить его нет возможности? См. статью «Доверенная загрузка Шрёдингера. Intel Boot Guard» с описанием того, «как годами клонируемая ошибка на производстве нескольких вендоров позволяет потенциальному злоумышленнику использовать эту технологию для создания в системе неудаляемого (даже программатором) скрытого руткита».
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии10

Перестаньте заниматься не своей работой

Время на прочтение10 мин
Количество просмотров92K
Вы легко отзываетесь на просьбу помочь? Вам не трудно сделать пару лишних задач? Вы молча переделываете не очень хорошую работу за коллегами или подчинёнными? Скорее всего, ваша рабочая нагрузка заставляет вас «перегреваться». 

Нередко в малом бизнесе мы занимаемся всем подряд, не замечая того: тестовый сервер будет перезапущен, о чём мы сами и сообщим в чате клиенту вместо инженера; баннер повесить — да погоди, у меня есть доступ к админке, готово; код аналитики — да давай я тебе Tag Manager повешу и покажу, как через него любые теги размещать; вот тут в выгрузке были подозрительные пики и провалы, я тебе сделал дополнительную детализацию… Особенно тяжело ситуация обстоит в компаниях, которые активно работают по заявкам клиентов, и каждый сотрудник берёт в работу самые разноплановые задачи. Как итог: усталость, выгорание, ошибки и завалы собственных невыполненных задач. Знакомо? Давайте искать причины и выходы под катом.

Читать дальше →
Всего голосов 83: ↑77 и ↓6+71
Комментарии85

Что такое Интернет вещей и как он поможет предприятиям зарабатывать больше?

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


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

Мы движемся вперед с невероятной скоростью. Десять лет назад было около 500 миллионов устройств, подключенных к сети. Сегодня их уже около 10-20 миллиардов.

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

IoT технологии открывают фантастические возможности для бизнеса и меняют саму природу продукта.
Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии25

Pet-проекты — маленькая жизнь

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


Я увлеченный человек. ИТ, несомненно, является основным увлечением. Но параллельно у меня появляются другие. Домашние животные, квартира, стройка. Везде я пытаюсь что-то заоверхедить. Одним из таких оверхедов стала разработка LED светильников для аквариума.

Казалось бы — что такого можно тут сотворить? Лампа лампой. Я тоже так думал. Но, как всегда, все гораздо сложнее, если мы этого захотим.
Читать дальше →
Всего голосов 85: ↑84 и ↓1+83
Комментарии29

Эксперимент Microsoft по сокращению рабочей недели до 4 дней привёл к повышению продуктивности на 40%

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


Япония считается одной из худших стран в плане баланса между трудом и отдыхом. По уровню удовлетворенности людей своей работой, если верить опросам, у неё худшие результаты в мире (6.1 балла). У России, для сравнения, 6.8, в США – 7.7, даже у Китая 7.1. Это огромная и широко известная проблема. От сотрудника ожидают, что он будет трудиться, пока его босс остается в офисе, а совещания часто проводятся уже после окончания рабочего времени. Даже после работы ожидается, что сотрудник пойдет в кафе со своими коллегами, где пройдет небольшая сессия тимбилдинга за пивом или сакэ.


Но даже в Японии некоторые компании идут в другую сторону. Они снижают нагрузку на сотрудников, проверяя, какой это даст результат. Три месяца назад такой тест провела Microsoft Japan, японское подразделение «Майкрософт». В рамках своего проекта Work-Life Choice Challenge 2019 в течение одного месяца в августе компания ввела четырехдневную рабочую неделю для 2300 своих сотрудников. К стандартным выходным добавили пятницу.

Читать дальше →
Всего голосов 110: ↑106 и ↓4+102
Комментарии350

Робот-тележка на ROS. Часть 7. Локализация робота: gmapping, AMCL, реперные точки на карте помещения

Время на прочтение11 мин
Количество просмотров8.2K
Посты серии:
8. Управляем с телефона-ROS Control, GPS-нода
7. Локализация робота: gmapping, AMCL, реперные точки на карте помещения
6. Одометрия с энкодеров колес, карта помещения, лидар
5. Работаем в rviz и gazebo: xacro, новые сенсоры.
4. Создаем симуляцию робота, используя редакторы rviz и gazebo.
3. Ускоряемся, меняем камеру, исправляем походку
2. Софт
1. Железо

В прошлый раз, после установки бюджетного лидара RPlidar-A1 удалось построить карту помещения, поработать с одометрией. Однако робот, несмотря на наличие карты и настройку одометрии с оптических датчиков все еще чувствует себя неуверенно в окружающей обстановке.
Вернее, он ее вообще не видит. И ездит по готовой карте вдоль и поперек, препятствия не для него. Это и радует, и огорчает одновременно. С одной стороны не стоит беспокоится о препятствиях и ездить, куда душа пожелает, с другой стороны — поехать в другую комнату или на кухню, вряд ли получится. Поэтому поговорим о локализации робота в пространстве, используя алгоритмы, которые предоставляет ROS, а также наш джентельменский набор из лидара и энкодеров. Но перед тем как перейдем непосредственно к локализации, поговорим еще об одном пакете ROS, который также позволяет строить 2D карты помещения и порой это у него получается получше, чем у ROS пакета из предыдущего поста. Познакомимся с gmapping.
Всего голосов 22: ↑22 и ↓0+22
Комментарии1

Как выстроить процессы и перестать издеваться над командой

Время на прочтение10 мин
Количество просмотров57K
Всем привет! Сегодня хотел поговорить о процессах разработки. По мере роста компании не только развивается сам бизнес, но и копятся проблемы внутри, в частности в процессе разработки. Часто их пытаются решить внедрением каких-то практик и новомодных методологий. Увы, это насильное перестраивание процесса по книжкам и тренингам нередко это приводит к ещё большим проблемам — издевательству над людьми.

Недавно я выступал на конференции Saint TeamLead Conf 2019, в докладе я рассказал о том, как смог найти ряд проблем в рабочем процессе и потом постепенно поборол их. Здесь я постараюсь описать наиболее ценные практики, которые мне помогли не только наладить рабочий процесс, но и перестать издеваться над разработчиками. У сотрудников изменилось отношение к компании в целом и рабочему процессу.
Всего голосов 48: ↑46 и ↓2+44
Комментарии34

Проекты Arduino DIY: роботизированный тир «Демоническая карусель»

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

В предыдущей статье я рассказал о своей новой разработке – роботизированной игрушке «Демоническая карусель». Я существенно доработал эту модель, и хотя устройство находится пока в нерабочем состоянии (предстоит еще писать программу), мне всё же есть что показать и рассказать вам. Серьезно изменился дизайн мишени, а принцип работы тира остался прежним.
Всего голосов 25: ↑25 и ↓0+25
Комментарии7

Информация

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

Специализация

Fullstack Developer, DevOps
Junior
От 100 000 ₽
Git
Docker
Linux
PostgreSQL
PHP
Node.js
React
Kubernetes
Apache NiFi
Golang