Robotic Operation System позволяет взаимодействовать своим подсистемам по механизмам «подписка на топик» и «вызов сервиса» по своему специальному протоколу. Но есть пакет rosbridge, который позволяет общаться с ROS извне с помощью websocket. Описанный протокол позволяет выполнять основные операции по взаимодействию с другими подсистемами. ELM — очень простой и элегантный язык, компилирующийся в javascript и отлично подходящий для разработки интерактивных программ.
Я решил совместить приятное с полезным и изучать ROS (по которой сейчас идет курс) и ELM вместе. Читать дальше ->
Являясь успешным проектом цифровой валюты с открытым исходным кодом, Dash несёт ответственность за безопасность. Понимая, что идеал не достижим, очень важно продолжать усердно работать в этом направлении. Известен ряд значительных “багов”, которые уже ощутимо повлияли на инвесторов в криптомире: от “августовского бага 2010, когда произошёл взлом протокола Биткойна”, что привело к созданию 184 млрд. Биткойнов до бага в “умном контракте” в ETH, что повлекло многомиллионные потери.
Что же касается криптовалюты Dash, здесь дело обстоит так: Читать дальше ->
Не так давно я участвовал в разработке игры на Unity. Много времени уделял инструментам для коллег: редактор уровней для геймдизайнера, удобные базы данных для художников.
По понятным причинам, в программировании интерфейсов под Unity мы не всегда можем использовать автоматическую разметку (удобные средства GUILayout), и нередко приходится вручную нарезать прямоугольники и рисовать интерфейсы средствами класса GUI. Эта работа утомительна, связана с большим количеством ошибок, а код получается сложным в поддержке. Со временем, возникла привычная каждому программисту мысль: напишу свой велосипед!"Должен быть способ лучше!". За подробностями приглашаю под кат.
«У вас не будет второго шанса произвести первое впечатление» — этот афоризм прекрасно характеризует ситуацию, возникающую при введении новых услуг в эксплуатацию в сфере IT. В 2016 году Mars IS перешел на новую операционную модель, состоящую из 48 процессов, взаимосвязаных между собой, с тем чтобы обеспечивать эффективное функционирование IT-услуг. Наряду с такими широко используемыми процессами, как управление инцидентами, проблемами, изменениями и др., в новую операционную модель вошел процесс введения новых услуг в эксплуатацию (Service Introduction). Читать дальше ->
Меня зовут Оксана и я Android-разработчик в небольшой, но очень классной команде Trinity Digital.
Сегодня я буду рассказывать про маленькую часть большого проекта.
Проект зовется “Школа 2100” и представляет собой коллекцию электронных учебников с разными фичами: поиском, закладками-заметками, дополнительными материалами, тестовыми заданиями, etc. И как раз в том, что названо “тестовыми заданиями” кроется предмет обсуждения.
Почти каждый из нас когда-либо работал в компании, где есть всеми ненавистная "файлопомойка" — шара с тысячами документов без какой-либо структуры. И наверняка у каждого был момент, когда ему нужно было что-то в этой помойке отыскать. "А Василич этот отчёт на шару кидал в прошлом месяце, глянь там" — слышали мы от коллеги, а тот самый Василич на вопрос "А в какой папке?" конечно же отвечал "А х… не помню, в общем, сам ищи". И мы погружались в многочасовой ад — бродили по папкам с документами из 90-х, фотографиями котов, договорами вперемешку с анекдотами и прочим шлаком в надежде найти заветный документ.
.NET Core становится всё более и более зрелой платформой. На нём уже достаточно комфортно можно вести разработку, используя тот же Rider или VS Code.
Однако, и там не всё гладко. Например, отладка кода на .NET Core 2 заработала только в Rider 2017.2, который вышел, буквально на днях (были ещё EAP сборки). Приходилось пользоваться VS Code. В нём работает отладка, однако, чтобы заработал запуск тестов надо руками ставить beta-версию расширения для C#.
Я думаю, суть ясна, что инструментальная поддержка пока сильно далека от аналогичной при разработке под Windows.
Для некоторых вещей пока нету готовых средств. Например, для профилирования.
Из источников, которые доступны в сети, самыми содержательными, по моему мнению, на текущий момент являются статьи Саши Гольдштейна:
В ходе начальной разработки проекта CodeSandbox я всегда игнорировал поддержку npm-зависимостей. Я думал, что невозможно установить в браузер произвольное, случайное количество пакетов, мой мозг просто отказывался об этом думать.
Сегодня поддержка npm — одна из определяющих возможностей CodeSandbox, так что как-то нам удалось это реализовать. Чтобы фича работала при любых сценариях, пришлось сделать немало итераций, много раз переписывая код, и даже сегодня мы всё ещё можем улучшить логику. Я расскажу, с чего у нас начиналась поддержка npm, что имеем сегодня и что можем сделать для её улучшения.
Перед вами четвёртая часть серии материалов, посвящённых внутренним особенностям работы JavaScript. Эти материалы, с одной стороны, направлены на изучение базовых элементов языка и экосистемы JS, с другой, содержат рекомендации, основанные на практике разработки ПО в компании SessionStack. Конкурентоспособное JS-приложение должно быть быстрым и надёжным. Создание таких приложений — та цель, к которой, в конечном счёте, стремится любой, интересующийся механизмами JavaScript.
НЛО прилетело и оставило необычный электронный дневник из будущего. К сожалению, большая часть материалов повредилась – все, что осталось – в нашей текстовой расшифровке.
Подробности – под катом
Burp Suite – это платформа для проведения аудита безопасности веб-приложений. Содержит инструменты для составления карты веб-приложения, поиска файлов и папок, модификации запросов, фаззинга, подбора паролей и многое другое. Также существует магазин дополнений BApp store, содержащий дополнительные расширения, увеличивающие функционал приложения. В этой статье будут рассмотрены инструменты, повышающие эффективность Burp Suite при тестировании на проникновение веб-приложений. Читать дальше ->
Замечая, что уже каждый второй использует мессенджеры для работы, мы решили интегрировать облачную АТС с мессенджерами. Теперь, можно мгновенно узнать о пропущенном звонке важного клиента в Telegram или чате Slack. Либо получить SMS уведомление туда же. Если вам это может быть полезно, приглашаем под кат.
Привет, Хабр. Отдел инвестиций Softline совместно с несколькими вендорами и институтами развития решил раздать немного денег (до 10 млн. на каждый стартап) молодым компаниям за долю в проектах. Где, как не здесь, рассказать об этой затее? Если вы создаете (или знаете, где найти) проекты в области клауда, мобильных решений, кибербезопасностьи, IoT, технологий лидогенерации, легалтехом и финтехом, машинным обучением и искусственным интеллектом, нам надо серьезно поговорить.
Новый выпуск нашей передачи Mobio Talks при поддержке Getloyal — автоматизированной системы ретаргетинга для мобильных приложений!
Герой программы — Михаил Трутнев — исполнительный директор самого популярного в мире сервиса для музыкантов Ultimate Guitar c ежемесячной аудиторией более 30 млн человек. В платном разделе App Store США приложение UG занимает первое место.
В интервью с CEO Getloyal Алексеем Писаревским — Михаил Трутнев рассказал про нестандартные подходы к организации бизнес-процессов, работе с командой и просто к жизни.
В интервью обсудили:
Менеджмент и рост в UG;
Ритуалы в команде;
Руководителей, повернутых на кратном росте;
Саморазвитие и личную эффективность;
Маркетинг и рынки;
Стратегию и видение продвижения Ultimate Guitar;
и многое другое.
Полную текстовую расшифровку можно посмотреть по ссылке. Или прочитать короткие заметки под катом.
Новый выпуск нашей передачи Mobio Talks при поддержке Getloyal — автоматизированной системы ретаргетинга для мобильных приложений!
Герой программы — Михаил Трутнев — исполнительный директор самого популярного в мире сервиса для музыкантов Ultimate Guitar c ежемесячной аудиторией более 30 млн человек. В платном разделе App Store США приложение UG занимает первое место.
Зная местоположение человека, можно сделать тысячу полезных и не очень вещей: предложить правильный товар и заранее назвать цену доставки, показать ареал обитания покемонов, вывести локальные новости или посоветовать кафе неподалеку.
Jinja2 — Python-библиотека для рендеринга шаблонов, являющаяся де-факто стандартом при написании веб-приложений на Flask и довольно популярной альтернативой встроенной системе шаблонов Django. Хотя и будучи сильно привязана к языку, Jinja2 позиционирует себя как инструмент для дизайнеров и верстальщиков, упрощающий вёрстку и отделяющий её от разработки, и пытающийся по мере возможностей изолировать не-разработчиков от Python. Вёрстка, впрочем, не единственное возможное её применение; например, в своей работе я использую шаблоны Jinja2 для генерации SQL-запросов.
Jinja2 расширяема, и многие возможности (например, интернационализация и управление циклами) реализованы именно как расширения. Однако, документация по написанию расширений, как мне кажется, несколько неполна; от примера несложного (но тщательно прокомментированного) расширения она перескакивает сразу к описанию API некоторых классов Jinja2, которое довольно трудно читать подряд. В этой статье я попытаюсь исправить это упущение и создать в голове читателя полную и ясную картину того, как работает Jinja2, как устроены её расширения и как с помощью расширений модифицировать разные этапы обработки шаблонов. Читать дальше ->
Не так давно у нас в компании проводили обучение для потенциальных будущих менеджеров и в том числе пригласили одного из топ-менеджеров «на поговорить».
Сначала шел обычный corporate bullshit о карьерном развитии, планах и стратегиях, выборе следующих шагов и прочей фигне.
Но потом разговор пришел к теме, над которой я тех пор размышляю: burnout/выгорание. По моим воспоминаниям, еще лет десять назад об этом или не говорили вообще, считая какой-то вымышленной проблемой (как, к сожалению, многие по-прежнему относятся к ментальным заболеваниям, путая депрессию и плохое настроение) или говорили об этом как говорят о чем-то постыдном типа алкоголизма с подтекстом «со мной такое не может случиться».
И вот тут мы первый раз говорили об этом честно. И вдруг оказалось, что в группе из 30 человек у каждого есть какой-то пример, кто-то из коллег, знакомых и родственников оказывался в этой ситуации. Читать дальше ->
По названию данной статьи вы можете догадаться, что правильным ответом я считаю Python. Но почему?
Ответ заключается в том, что Python — это мощный язык. Но что это значит? Что делать язык программирование мощным?
Python эффективный
В наши дни тонны интеллектуальной энергии уходит на Большие данные (как на их анализ, так и на их обработку). Чем больше данных вам необходимо обрабатывать, тем важнее управлять используемой вами памятью.