Социальные сети Рунета
Среда, 24 апреля 2024

Синдром самозванца и эмоциональное выгорание Тема самозванцев и границ очень актуальна в мире IT. Я практикующий психолог, и знаю это, потому что практикую именно с людьми из IT. Приходят с синдромом самозванца, с ощущением выгорания и с сопутствующими проблемами, о которых я расскажу в этой статье. Синдром самозван...

[Перевод] Стандарты проектирования баз данных Переходя от проекта к проекту, мы сталкиваемся, к сожалению, с отсутствием единообразных стандартов проектирования баз данных, несмотря на то, что SQL существует уже несколько десятилетий. Подозреваю, причина отчасти в том, что большинство разработчиков не понимают архитект...

Скрытая угроза — анализ уязвимостей при помощи графа новостей Когда вы сталкиваетесь с новой уязвимостью, какая мысль приходит первой? Конечно, отреагировать как можно быстрее. Однако, скорость — всего лишь одно из условий эффективной борьбы с ИБ-угрозами. Когда речь идет о корпоративной безопасности, не менее важно безошибочно опреде...

[Из песочницы] User flow: как создаются популярные приложения и сайты Всем привет! Я – Максим Скворцов, UX/UI-дизайнер Omega-R, международной компании по разработке и интеграции IT-решений. Я занимаюсь проектированием и визуализацией интерфейсов мобильных и веб-приложений. На базе своего опыта в сфере информационных технологий и экспертизы...

5 вещей, которые я бы хотел знать, когда начинал использовать Angular Современный Angular — это мощный фреймворк с множеством возможностей, вместе с которыми приходят и сложные, на первый взгляд, концепции и механизмы. Особенно это заметно тем, кто только начал работу как во фронтэнде в принципе, так и с Angular в частности. С этой же проблемо...

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

Рендеринг веб сайтов 101 Вы вводите название сайта в адресную строку браузера, нажимаете enter, и по привычке видите запрашиваемую страницу. Все просто: ввел название сайта — сайт отобразился. Однако для более любознательных хочу рассказать, что происходит между тем как браузер начинает получать кус...

Инвентаризация RAID-массивов LSI в GLPI В своей работе я часто испытываю обсессии по поводу нехватки информации об инфраструктуре, а при увеличении парка обслуживаемых серверов это превращается в настоящую пытку. Даже когда я админил в маленьких организациях, мне всегда хотелось знать, что где стоит, куда воткнут...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

Первое впечатление от концептов Решил разобраться с новой возможностью С++20 — концептами. Концепты (или концепции, как пишет русскоязычная Вики) — очень интересная и полезная фича, которой давно не хватало. По сути это типизация для аргументов шаблонов. Основная проблема шаблонов до С++20 — в них мо...

Основа любого программирования на… пазлах Приветствую, Хабровчане! В этой статье я хочу рассказать о своем опыте работы преподавателем программирования на C++ в колледже при техническом университете. Это был уникальный опыт в моей жизни, который многому меня научил. Когда меня просят рассказать интересный факт о св...

Бокс-непросыпайка для SMD и прочей мелочевки Написанием данной околотематической статьи побудили меня затянувшиеся изоляционные меры и сопутствующие им скука и желание себя чем-то занять. Прошу отнестись как к «пятничной развлекательной» статье. Но, может быть кому то будет и полезно! Никаких ардуин, только фанера и с...

[Перевод] Пришло ли время забыть о React и перейти на Svelte? Каждый год выходит исследование State of JavaScript, которое обобщает результаты опроса, изучающего текущее состояние экосистемы JavaScript. Это исследование затрагивает фронтенд-фреймворки, серверную и мобильную разработку, тестирование, популярные ресурсы для разработчиков...

Сверхдлинное преобразование Фурье на FPGA Всем привет! В этой статье я хочу рассказать про реализацию алгоритма сверхдлинного быстрого преобразования Фурье на ПЛИС. Написать эту статью меня побудило желание поделиться личным практическим опытом, который не хотелось бы потерять, оставив информацию только у себя в го...

[Из песочницы] Моделирование бизнес-процессов как часть проекта по внедрению ERP-системы Перед началом очередного проекта по внедрению информационной системы, охватывающей большинство участков функционирования предприятия я решил написать ряд статей со своими соображениями по обоснованию того факта, что на крупных промышленных предприятиях, особенно на предприят...

За кулисами жизни модератора Stack Overflow Недавние статьи на Хабре про опыт пользования StackOverflow сподвигли меня на написание статьи, но с позиции модератора. Сразу хочу отметить, что речь пойдёт о Stack Overflow на Русском. Мой профиль: Suvitruf. Сначала хотелось бы рассказать о причинах, побудивших меня участв...

Охоту гигантского глубоководного кальмара впервые удалось снять на видео Изучение глубин Мирового океана и его обитателей продвигается куда медленнее, чем изучение далекого космоса, в силу объективных препятствий в виде полной темноты и огромного давления. Неудивительно, что некоторые новости с этого фронта науки приходят с запозданием. Ученые из...

Umka: новый статически типизированный скриптовый язык Только что вышла первая версия разработанного мной статически типизированного встраиваемого скриптового языка Umka. Он призван сочетать гибкость привычных скриптовых языков с защитой от ошибок типов на этапе компиляции в байт-код. Основная идея языка — Explicit is better th...

Рабочая станция в Docker контейнере Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. Что...

[Из песочницы] Машина Тьюринга, как модель автоматных программ Машина Тьюринга, как модель автоматных программ 1. Введение Программирование нуждается в новых универсальных алгоритмических моделях, а аппаратные средства реализуют алгоритмы не только в другой форме, но и на базе другой алгоритмической модели — автоматной. Заимствование те...

Обзор VICTORINOX 17.1 COLOR PACKABLE BACKPACK 601802. Складной рюкзак Согласитесь, что стильный и компактный рюкзак является необходимым решением для современного человека. Количество мобильных устройств растет и практически у каждого есть свой ноутбук, планшет, смартфон и многое другое. Все это необходимо где-то переносить. На помощь приходят...

Лайфхак: как узнать, почему вам приходит так много спама на электронную почту Полезная привычка поможет понять, кто сливает вашу почту рекламщикам.

3д принтер Two Trees Sapphire S Всем привет. Выкроилась свободное время, для написания этого поста о 3Д принтере Two Trees Sapphire S.Возможно кому-то мой пост покажется запоздалым, прошу извинить, но я с другой стороны с момента получения принтера прошло уже семь месяцев, отчасти такое количество времени ...

Тимлид — Таков путь В преддверии нового года хочется всем тимлидам пожелать расслабиться, отпустить все трудности на работе и готовиться ĸ празднованию с семьей, с друзьями. Чтобы направить вас на веселую и праздничную ноту, хочу поделиться с вами примерами тернистого пути тимлида с отсылкой...

Что должен знать тестировщик бэкенда Меня часто спрашивают о том, что почитать перед собеседованием на позицию тестировщика бэкенда. И в работе я сталкиваюсь с тем, что многие соискатели не всегда понимают, что будет на интервью, и приходят неподготовленными. Так родилась идея собрать полезную информацию в од...

Вместо 100 запусков приложения ― один автотест, или как сэкономить QA-инженеру 20 лет жизни Всем привет, меня зовут Евгений Демиденко. Последние несколько лет я занимаюсь разработкой автоматизированной системы тестирования игр в Pixonic. Сегодня я хотел поделиться нашим опытом разработки, поддержки и использования такой системы на проекте War Robots. Для начала ра...

[Из песочницы] Наука vs IT. Как я бросил исследования ради разработки Привет, Хабр. Меня зовут Михеев Илья, я back-end разработчик в компании FINCH. Сегодня я расскажу о том, как простые люди попадают в IT, почему в «Сбере» на «Каширке» все плохо, а заодно расскажу почему молодые ученые уходят в IT. Думаю, что последняя тема больная для мног...

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

Куда пойти работать джуниор-разработчику С первым местом работы мне повезло, хотя я просто пошел, куда взяли. Сейчас понимаю — если бы ошибся, то потерял бы бесценное время. Прошло 15 лет, и я сам руковожу компанией, куда приходят собеседоваться джуны. Их критерии выбора такие же легкомысленные, как у меня когда-то...

Правильное TDD Привет, Хабр! На написание этого поста меня вдохновил другой пост TDD есть опиум для народа, где обсуждаются спорные моменты в подходе TDD и в принципе делается вывод о его несостоятельности (хотя и признается необходимость тестов в любом случае). С автором я был полностью с...

Варим байткод на кухне JVM Меня зовут Александр Коцюруба, я руковожу разработкой внутренних сервисов в компании ДомКлик. Многим разработчикам, пишущим на Java, с опытом приходит понимание внутреннего устройства JVM. Чтобы облегчить этот путь Java-самурая, я решил простым языком изложить основы виртуал...

Крошечные ядерные реакторы NuScale могут с легкостью заменить обычные АЭС Новый американский стартап, созданный на базе Орегонского университета, ставит своей целью продвижение новой концепции развития атомной энергетики. Она не сулит коммерческой выгоды, но значительно снижает риски эксплуатации традиционных огромных АЭС. Авторы знают, о чем гово...

Как мы решали проблему трех монолитов В стратегиях большинства компаний все чаще упоминается цифровизация: одни компании пытаются внедрять современные технологии (например, Big Data, IoT, AI, blockchain), другие — повсеместно автоматизируют свои внутренние процессы. Несмотря на растущие усилия и инвестиции во вн...

[Из песочницы] Немного размышлений на тему модульного css и проблемы поддержки кода В чем заключается вопрос? Всем привет, сегодня я хочу поделиться с вами личным опытом написания стилей или проще говоря выложить свое видение на проблему написания css для сайтов. Казалось бы в век развития технологий, когда каждый день мы сталкиваемся с новыми и новыми фр...

SOLID == ООП? Наверное я не ошибусь, если скажу, что чаще всего на собеседованиях спрашивают о SOLID принципах. Технологии, языки и фреймворки разные, но принципы написания кода в целом похожи: SOLID, KISS, DRY, YAGNI, GRASP и подобные стоит знать всем. В современной индустрии уже много д...

[Перевод] Структуры данных и алгоритмы, которыми я пользовался, работая в технологических компаниях Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседов...

[Перевод] Docker Compose: упрощение работы с использованием Makefile Каждые несколько лет в индустрии разработки ПО происходит смена парадигмы. Одним из таких явлений можно признать рост интереса к концепции микросервисов. Хотя микросервисы — это технология не самая новая, лишь в последнее время её популярность буквально взлетела до небес. Б...

Разработка первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations Всем привет! Меня зовут Таня, я тимлид группы разработки Axapta в компании Lamoda. В этой статье речь пойдет про разработку нашего первого проекта на платформе Microsoft Dynamics 365 For Finance and Operations. Я расскажу про подходы, которые мы использовали, про ошибки,...

Пишем расширение-читалку для Habr Каждому разработчику однажды приходит в голову мысль написать что-то, чтобы упростить себе жизнь. Например, сократить время, проведённое за выполнением рутинных задач, или же позволить себе выполнять несколько действий одновременно.В данной статье я хочу показать, как можно ...

100 плагинов для Revit или как мы оптимизировали проектирование систем электроснабжения Привет, Хабр! Меня зовут Алексей Новиков, уже 5 лет я занимаюсь информационным моделированием систем электроснабжения в компании STEP LOGIC.  Раньше основной ценностью работы проектировщика был комплект чертежей, сейчас – это информационная модель, которая является прод...

Простой service discovery в Prometheus через Consul Закон Парето (принцип Парето, принцип 80/20) — «20 % усилий дают 80 % результата, а остальные 80 % усилий — лишь 20 % результата». WikipediaПриветствую тебя, дорогой читатель! Моя первая статья на Хабр посвящена простому и, надеюсь, полезному решению, сделавшим для меня сбор...

Ro.Ri.Re — Скажите, вы – человек? Я играл в эту игру каждую пятницу, приходя на очередное назначенное в Тиндере свидание. Конец тяжелой недели, сплошные дедлайны – отчего же не расслабиться таким незамысловатым способом? Не то чтобы я сильно рисковал. Хотя законодатели уже подобрал...

Первые шаги с aiohttp: часть 2. Подключаем базу данных к приложению Привет!В прошлой статье мы познакомились с aiohttp и написали на нем свое первое веб-приложение: стену с отзывами.В этой статье мы продолжим изучение и подключим к нашему приложению базу данных PostgreSQL, используя для этого Gino, SQLAlchemy и Aiopg, а также автоматически с...

Кэши Tarantool и репликация из Oracle Меня зовут Александр Деулин, я работаю в отделе развития собственной разработки «Фабрика микросервисов» в компании МегаФон. И хочу рассказать о тернистом пути появления кэшей Tarantool в ландшафте нашей компании, а также о том, как мы внедряли репликацию из Oracle. И сразу...

Как я делал 2D тени в Unity Что первое приходит в голову разработчику инди-игры, когда он сталкивается с необходимостью добавления фичи, представления о реализации которой толком не имеет? Разумеется, он идёт искать следы тех, кто уже прошёл этот путь и удосужился записать свой опыт. Так поступил и я н...

[Из песочницы] Как я создавал очередной конструктор сайтов Всем привет, меня зовут Саша. Я создаю свой конструктор сайтов. Я получил первых платящих пользователей. Все они преимущественно из США и Европы. Я хочу поделиться историей своего пути, который включает включал кодинг, краудфандлинг и продвижение. Читать дальше →

[Из песочницы] Некоторые аспекты работы с Dictionary при разработке нагруженных приложений На написание этой небольшой заметки меня подтолкнуло несколько проведенных в последнее время собеседований на должность ведущего разработчика в нашу компанию. Некоторые соискатели, как оказалось, недостаточно разбираются в том, что же это за механизм такой, Dictionary, и как...

[Из песочницы] Svelte, исчезающий фреймворк, что всё никак не исчезал Когда я вижу очередную статью о Svelte: RE: Боль и слёзы в Svelte 3 Svelte 3: Переосмысление реактивности Почему SvelteJS возможно лучший фреймворк для новых веб-разработчиков Легенда о Фреймворке Всевластия Re: «Сравнение JS-фреймворков: React, Vue и Hyperapp» Исчезающие фр...

Из далекого космоса приходит мощный радиосигнал, который повторяется каждые 16 дней Канадские астрономы после 409-дневного периода наблюдений окончательно удостоверились в цикличности радиосигнала, исходящего от объекта FRB 180916.J0158 + 65 в далеком космосе. По своей природе он относится к быстрым радиовсплескам, но отличается завидной стабильностью, испу...

Онлайн-митап «Как создавать и продвигать digital-продукт: пошаговая инструкция разработки web и mobile» 4 июня в 16:00 приходите на онлайн-митап, на котором топ-менеджеры AGIMA и ведущие партнеры AGIMA Partners’ Club поделятся своим опытом и расскажут, как создать продукт, как управлять командами, какие инструменты продвижения использовать. По...

API Style Guide, или не заставляйте пользователей думать Привет! Меня зовут Лёша Руцкой, и я — продуктовый менеджер в компании Wrike. До этого работал в Adform и PandaDoc. Последние пять лет я занимаюсь всем, что связано с интеграциями и API. Wrike — это SaaS продукт для совместной работы и управления проектами. Мы хотим, чтоб...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

[Из песочницы] Еще раз про усложненность архитектуры и порог входа В данной статье я коснусь вопроса порога входа в проект с устоявшейся архитектурой и дам несколько вариантов ответа на очень часто возникающий вопрос: почему так сложно? Такой вопрос частенько возникает у новичков, которые приходят на проект. Или же бывают ситуации, когда пр...

Профессия: программист. Не всё однозначно Мы писали о фронтендерах и бэкендерах, о мобильной разработке и о тестировании, но это были частные случаи. Когда человек подходит к первой или очередной профессии, он редко говорит, что станет разработчиком под iOS или проктологом, как правило это звучит «программистом» и «...

Пилим веб-опросник как у Meduza: пошаговый гайд для начинающих Меня зовут Егор, я Full-stack разработчик в Leader-ID. В этой статье я хочу поделиться простым рецептом по созданию красивого и удобного веб-опросника наподобие тех, что делает Meduza. Он умеет показывать статистику после ответа на отдельные вопросы, подсчитывать общий балл,...

[Перевод] Как я строил карьеру в Amazon, куда меня взяли по ошибке Сегодня я праздную пять лет работы в Amazon. За это время я передал в продакшн боле 500 000 строк кода, проводил инспекцию чужого кода более 500 раз, проектировал, разрабатывал, развёртывал и поддерживал масштабные системы, которыми пользуются тысячи клиентов со всего света....

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования Дисклеймер: Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнег...

Сам себе Роскомнадзор. Как я заблокировал соцсети У меня отключена лента Фейсбука и Вконтакте, нет подписок в Инстаграме, Ютубе и Твиттере. При этом я ниоткуда не удалялся, в монастырь не уходил и продолжаю вести нормальную жизнь человека 2020 года. Надевайте шапочку из фольги и присаживайтесь поудобнее, я расскажу о своё...

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

Оригинальный способ генерации мастер-пароля: используй специальный набор костей Каждый раз, когда речь заходит о криптостойком мастер-пароле, на ум приходит стандартные генераторы, встроенные в тот же 1password, KeePass или любой другой менеджер паролей по вкусу. Сначала ты его генерируешь, потом учишь как «Отче Наш», а потом уже на самом деле молишься ...

[Из песочницы] Если бы я учил Frontend сегодня. Советы начинающим Мой путь в веб-разработке начался 5 лет назад. За это время я успел испробовать множество технологий, а в последние 3 года развиваюсь в направлении frontend. В этой статье я бы хотел ясно изложить, какие технологии необходимо изучить новичку, а также поделиться методами их ...

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

[Из песочницы] Вступление в работу с возвратом пользователя: советы для Hooked-модели Всем привет! Я — Сергей, R&D officer в Genesis. В этом тексте хочу поделиться своими знаниями и опытом по созданию привычки использования продукта, рассказать о том, как это влияет на прибыльность бизнеса и почему предпринимателей встречают по возврату. Читать дальше &...

[Перевод] Разговаривать — это трудно. Эссе об общении с непрограммистами У программистов есть разные поговорки о трудных проблемах. Наверное, мой любимый вариант: «В информатике две трудные проблемы: недействительность кэша, присвоение имён и ошибки на единицу». Я пишу программное обеспечение достаточно давно, чтобы столкнуться с каждой из этих ...

Работа не волк, часть 4. Опытный сотрудник: как не перегореть и не сдаться Итак, первый год работы прошёл, и вы стали дедом матёрым волком, который растёт вместе с компанией, сечёт в бизнес-процессах и довольно борзо спорит с руководством. Кажется, что может случиться? Но чем больше срок работы на одном месте, тем больше моральных и профессиональны...

Пишем API на Rust с помощью процедурных макросов Процедурные макросы в Rust — это очень мощный инструмент кодогенерации, позволяющий обходиться без написания тонны шаблонного кода, или выражать какие-то новые концепции, как сделали, к примеру, разработчики крейта async_trait. Тем не менее, многие вполне обоснованно побаива...

Умный дом. Опыт разработки и внедрения В этой статье мы рассмотрим опыт разработки и внедрения умного дома в двухкомнатной квартире. Здесь будет изложена точка зрения автора на подход к проектированию и разработки умного дома, а также показано готовое решение, которое уже успешно работает 4 года. Тем, кто хочет...

[Из песочницы] Парсер Блокчейна в 300 строчек на Питоне В далёком 2015 году, когда криптовалютам ещё не уделялось такое внимание широкой общественности как сейчас, мне пришла в голову мысль узнать в подробностях — что такое блокчейн, криптовалюты и Биткоин, в частности. Попытки провести детальный анализ исходного кода проекта ...

[Из песочницы] Немного о частном случае реализации алгоритмов поиска открытых дверей Привет, Хабр! Время от времени на любимом мною ресурсе проскакивают темы а-ля "Как я выгорел на своей первой работе", "Жизнь — боль" и т.п., зачастую преисполненные разочарования и юношеского максимализма. На написание этого материала меня в частности под...

Мой путь к секционированию в PostgreSQL Когда мы перестаем контролировать размер таблицы — обслуживание и обеспечение доступности данных становится нетривиальной задачей. Я с такой проблемой столкнулся уже в продакшне, данных с каждым днем становится больше, таблица не влезает в память, сервера отвечают долго, н...

Список моделей Honor и Huawei, которые получат обновления безопасности Google обязала вендоров, выпускающих устройства на Android, обновлять их, по крайней мере отдавая пользователям, если не мажорную свежую версию ОС, то хотя бы патчи безопасности. У Huawei и её суб-бренда Honor сейчас имеется огромное количество устройств, которые сложно по...

[Перевод] 32 совета веб-разработчику, который хочет вырасти над собой в 2020 году Ушёл 2019 год. Для нас, для веб-разработчиков, это был год испытаний и возможностей. Вокруг много всего такого, что можно изучить, и такого, в чём можно попытаться достичь мастерства. Например — это JavaScript-инструменты для разработки сайтов, такие, как React, Vue, Angular...

[Из песочницы] Репетитор по программированию: почему вы должны стать им и как это сделать Доброго времени суток, Хабр. Представляю Вашему вниманию перевод статьи:«Coding Mentor: Why You Should Become One and How to Do It» автора Oleg Sklyarov (Олег Скляров). Привет! Меня зовут Олег Скляров, я работаю руководителем группы разработки мобильных устройств для дете...

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

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

Как интерфейс рассказывает истории в видеоиграх В копилке Plarium Krasnodar набралось много интересных материалов, и мы хотим поделиться примечательными, на наш взгляд, примерами нарративного дизайна, связанного с проектированием пользовательского взаимодействия (UX) и графического интерфейса (GUI). Читать дальше →

Яндекс помогает распространять вредоносное ПО? По роду деятельности мне приходится наблюдать за работой сотен рядовых пользователей ПК. Человек, который не первый день держит мышку, всё чаще сталкивается с проблемами при банальном скачивании бесплатного ПО. При разборе выясняется, что он всего лишь набрал в Яндексе «скач...

[Перевод] Введение в REST API — RESTful веб-сервисы Эта статья представляет собой введение в RESTful веб-сервисы и краткий обзор REST и HTTP. Она начинает серию постов о разработке REST API: Введение в REST API — RESTful веб-сервисы Различия REST и SOAP Разработка REST API — что такое Contract First (контракт в первую очер...

[Перевод] Закон Патрика Маккензи: экономика программного обеспечения больше, чем вы думаете, даже учитывая закон Патрика Маккензи Предистория 12 мая 2020 года Остин Оллред (Austen) написал в Твиттере: «Самое интересное, что Lambda School постоянно натыкается на все эти маленькие компании по разработке ПО, о которых никто никогда не слышал, зарабатывающие по 10 миллионов долларов в год с командой из 2...

[Из песочницы] Веб-разработка с нуля: руководство для молодых команд по созданию инфраструктуры CI/CD и процесса разработки Чуть больше года назад я столкнулся с тем, что на внутреннем проекте совсем не айтишной компании вырос целый отдел веб-разработки, которым мне и довелось руководить. Рабочий процесс вроде как устаканился и всех устраивал, но оставались проблемы: Проверка каждой ветки проход...

[Из песочницы] Оценка задач в Story Points Практически каждый человек, который сталкивался с разработкой ПО знает что такое оценка задач в Story Points (SP), тем не менее периодически мне доводится рассказывать коллегам из других отделов или новичкам в команде, которые ни разу не сталкивались с таким подходом, зачем ...

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

CES 2020, IBM и первое настоящее коммерческое применение нового квантового компьютера План статьи: 1. Инфоповод – неожиданное заявление IBM на CES 2020. 2. А что же мы ожидали? 3. Технология квантовых компьютеров IBM развивается быстрее планов (в действительности – нет). 4. Возникновение новых отраслей прямо сейчас. 5. Мы угадали момент, вот наши книги для в...

[Из песочницы] 1С-Битрикс и попытка его внедрения Привет, друзья! Меня зовут Петр, я представитель малого белорусского бизнеса со штатом чуть более 20 сотрудников. В данной статье хочу поделиться негативным опытом покупки 1С-Битрикс. Читать дальше →

Мой опыт разработки на языке Nim Привет, Хабр! Уже довольно давно я пишу свой игровой фреймворк — такой pet project для души. А так как для души нужно выбирать что-то, что нравится (а в данном случае — на чём нравится писать), то выбор мой пал на nim. В этой статье я хочу поговорить именно про nim, про его...

Как научиться разработке на Python: новый видеокурс Яндекса Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Я...

[Перевод] Телефон шпионил за мной, поэтому я нашёл тех, кто использует данные слежения СЛЕЖКА: Американская компания имеет информацию о моём местоположении. В моём телефоне 160 приложений. Я не знаю, что они делают, но решил это выяснить. У меня было ощущение, что эти приложения шпионят за мной. Конечно, не прослушивают меня, но постоянно следят за тем, где...

Go. FakeDb. Эмуляция работы БД в тестах На днях писал тесты для модуля, который взаимодействует с базой данных. Привязывать модуль тестов к настоящей базе данных не хотелось — это создаёт дополнительные требования к окружению, где будет выполняться тестирование. Создавать сразу экземпляры типа sql.Rows, с нужными ...

Про поиск перспективных джунов и «удалёнку». Опыт руководителя техподдержки Redmadrobot Привет, меня зовут Аня Горбунова, в работе я часто сталкиваюсь с наймом младших специалистов. Поделюсь опытом, как не потерять хорошего кандидата среди большого количества резюме. Плюс немного поговорим про удалённую работу. Читать дальше →

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

Курс тестировщика пройден. А дальше что? Привет! На курсе «Инженер по тестированию» в Практикуме мы хотим не только обучить человека нужным навыкам, но и помочь выпускнику состояться в профессии. Поэтому у нас есть отдельное направление трудоустройства. Мы рассказываем, почему важно выбрать подходящую вакансию и ко...

[recovery mode] Как мы обеспечивали рост Ситимобила Меня зовут Иван, я руководитель серверной разработки в Ситимобил. Сегодня я расскажу о том, что собой представляет эта самая серверная разработка, с какими проблемами мы сталкивались и как планируем развиваться. Читать дальше →

TailwindCSS – очередной фреймворк или новый шаг эволюции? Очевидно, я бы не стал писать эту статью, если бы считал, что TailwindCSS – просто очередной фреймворк. Я считаю, что он кардинально отличается от всех других фреймворков и создает отдельную парадигму web-стилизации. И при этом выполняет все поставленные перед ним задачи, д...

[Перевод] Первые впечатления от Amazon Neptune Салют, хабровчане. В преддверии старта курса «AWS для разработчиков» подготовили перевод интересного материала. Во многих юзкейсах, которые мы, как bakdata, видим на сайтах наших клиентов, релевантная информация сокрыта в связях между сущностями, например, при анализе от...

In-memory архитектура для веб-сервисов: основы технологии и принципы In-Memory — набор концепций хранения данных, когда они сохраняются в оперативной памяти приложения, а диск используется для бэкапа. В классических подходах данные хранятся на диске, а память — в кэше. Например, веб-приложение с бэкендом для обработки данных запрашивает их в ...

6 мифов о разработке в финтехе Привет! Когда спрашивают, чем современная IT-компания отличается от финтеха с точки зрения разработки, чаще всего на ум приходит стек. Оно и ясно, ведь финтех и банки — это процессинг, гора легаси, множество систем, которые обновляются не так быстро, как хотелось бы. И возн...

Создаем свою CRUD API на Express и MySQL: часть первая Всем привет. В преддверии старта курса «Fullstack разработчик JavaScript», хотим поделиться небольшим материалом, который был написан нашим внештатным автором. Express один из самых популярных веб-фреймворков, который поддерживает роутинг, миддлвейрс и систему шаблонов. Д...

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

[Перевод] Вы правда знаете о том, что такое массивы? Там, где я тружусь, от веб-разработчиков ожидают знания PHP и JavaScript. Я, проводя собеседования, обнаружил, что достаточно задать всего один простой вопрос для того чтобы узнать о том, насколько глубоко разработчик понимает инструменты, которыми пользуется каждый день. Во...

[Перевод] Мой ответ тем, кто полагает, что значение TDD преувеличено Однажды я разговорился с разработчиком из компании-клиента о программном обеспечении. Мне стоило бы понять то, что разговор пошёл куда-то не туда, когда собеседник сказал о том, как нам, разработчикам ПО, повезло: «Мы обманом заставляем организации платить нам за, как кажетс...

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

Логи в Kubernetes (и не только) сегодня: ожидания и реальность Шёл 2019 год, а у нас всё ещё нет стандартного решения для агрегации логов в Kubernetes. В этой статье мы хотели бы, используя примеры из реальной практики, поделиться своими поисками, встречаемыми проблемами и их решениями. Однако для начала оговорюсь, что разные заказчи...

TensorRT 6.x.x.x — высокопроизводительный инференс для моделей глубокого обучения (Object Detection и Segmentation) Больно только в первый раз! Всем привет! Дорогие друзья, в этой статье я хочу поделиться своим опытом использования TensorRT, RetinaNet на базе репозитория github.com/aidonchuk/retinanet-examples (это форк официальной репы от nvidia, который позволит начать использовать в ...

[Перевод] Не стоит пользоваться OFFSET и LIMIT в запросах с разбиением на страницы Прошли те дни, когда не надо было беспокоиться об оптимизации производительности баз данных. Время не стоит на месте. Каждый новый бизнесмен из сферы высоких технологий хочет создать очередной Facebook, стремясь при этом собирать все данные, до которых может дотянуться. Эти ...

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

[Перевод] 4 крутых функции Numpy, которые я использую постоянно В этой статье я хочу рассказать о нескольких функциях Numpy, которые я использую для анализа данных постоянно. Это ни в коем случае не исчерпывающий список, но думаю, что инструменты, о которых пойдёт речь, пригодятся каждому без исключения. Читать дальше →

[Из песочницы] Страх и ненависть в IT Всем привет. Я — обычный программист, носящий лычку сеньора в одной обычной продуктовой компании. Я занимаюсь коммерческой разработкой около 10 лет, начинал с разработки прошивок для небольших железок, а сейчас изготавливаю бекенды различной степени сложности преимущественно...

[Из песочницы] Web Scraping. Часть 1 Введение Всем привет. Недавно у меня возникла идея о том, чтобы поделиться с интересующимся кругом лиц о том как пишутся скраперы. Так как большинству аудитории знаком Python все дальнейшие примеры будут написаны на нём. Данная часть рассчитана для того, чтобы познакомить те...

Магистерская программа JetBrains на базе Университете ИТМО: интервью со студентами Совсем скоро выпускникам бакалавриата предстоит сделать выбор – остановиться на достигнутом или продолжить обучение. Для тех, кто выберет второй вариант, мы хотим напомнить о нашей магистерской программе «Разработка программного обеспечения / Software Engineering» на базе ...

История нашего open source: как мы сделали сервис аналитики на Go и выложили его в открытый доступ В настоящее время практически каждая компания в мире собирает статистику о действиях пользователя на web ресурсе. Мотивация понятна — компании хотят знать как используется их продукт/веб сайт и лучше понимать своих пользователей. Конечно на рынке существует большое количеств...

Любим читать ушами? Мысли о будущем ITSumma Press Привет, Хабр! Давненько мы не выбирались из своего издательского подвала и не общались с вами про наболевшее, да? Пора исправляться! И для начала хотим поделиться последними новостями о том, что происходило в жизни нашей книгопечатной. Самое значительное из недавнего — э...

[Из песочницы] Проблемы и задачи реализации концепции Интернета Вещей Интернет Вещей — это стремительно развивающаяся комплексная концепция, включающая в себя исследования в области информатики, сетевых технологий, микроэлектроники и сенсорной техники. Данная парадигма представляет собой основное направление развития сетевых технологий в будущ...

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

[Перевод] Проблемы метрики «количество транзисторов на чипе» В техноиндустрии количество транзисторов и плотность транзисторов часто используют для демонстрации технического достижения и некой вехи в развитии. После выхода нового процессора или системы на чипе многие производители начинают хвастать сложностью своей схемы, измеряя кол...

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

Cassandra. Как не умереть, если знаешь только Oracle Привет, Хабр. Меня зовут Миша Бутримов, я хотел бы хотел немного рассказать про Cassandra. Мой рассказ будет полезен тем, кто никогда не сталкивался с NoSQL-базами, — у нее есть очень много особенностей реализации и подводных камней, про которые нужно знать. И если кроме Or...

[Перевод] Полезные разработчику привычки Благодаря которым вы станете лучше как программист Привычки, относящиеся к написанию кода, есть у каждого разработчика — и вредные, и полезные. Но если завести правильные привычки, это поможет серьезно повысить эффективность работы с кодом. Такие привычки повлияют не тольк...

Webpack 5 — Asset Modules Доброго времени суток. Этим постом хочу начать серию статей про новые возможности грядущего webpack 5. Почему я хочу рассказывать про webpack? Как минимум потому, что я принимаю активное участие в его разработке и постоянно копаюсь в его внутренностях. В данном посте хочу ра...

Как разблокировать iPhone через Face ID с маской на лице Инструкция для тех, кто не хочет менять свои привычки и постоянно вводить код-пароль.

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

Пара слов про R2DBC и PostgreSQL В последнее время я опять вижу, что усилился хайп вокруг реактивного программирования в общем, и реактивной работе с Базами данных — в частности. У меня есть пара фраз, которые я бы хотел сказать по этому поводу. Читать дальше →

[Перевод] Пишем макет 16-битного ядра на C/C++ В первой и второй статьях я лишь коротко представил процесс написания загрузчика на ассемблере и C. Для меня это было хоть и непросто, но в то же время интересно, так что я остался доволен. Однако создания загрузчика мне показалось мало, и я увлекся идеей его расширения до...

Пишем тренажер слепой печати на чистом JavaScript. Часть 1 Здравствуйте! В преддверии старта курса «Fullstack разработчик JavaScript» один из наших авторов решил поделиться своим опытом создания тренажера для слепой печати. А мы же, в свою очередь, хотим показать вам данный материал. Всем привет! Сегодня я решил показать, как нап...

Создаем thumbnails для видео с python и opencv Порой, разбирая завалы больших и малых видеофайлов в папке(папках) нет времени заглядывать в содержимое каждого файла. Тут на ум приходят так называемые thumbnails, которые позволяют в виде нарезки фрагментов из видео, создать представление о содержимом. Создадим небольшу...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

Как энергетик изучал нейросети и обзор на бесплатный курс «Udacity: Intro to TensorFlow for Deep Learning» Всю свою сознательную жизнь, я был энергетиком (нет, сейчас речь не идет о напитке с сомнительными свойствами). Я никогда особо не интересовался миром информационных технологий, да и даже матрицы я вряд ли на листочке смогу перемножить. Да и не нужно мне это было никогда, ...

История о том, как я разработал язык программирования Привет Хабр! Меня зовут Ильдар. Мне 29 лет. Программирую с 2003 года. За свою жизнь создал 4 фреймворка и язык программирования. В этом посте я поделюсь своим опытом, инсайтами, которые я получил при разработке языка программирования BAYRELL Language. Заранее прощу прощения ...

Необычные задачи по физике развивающие научное мышление (для школьников) Возможно вы уже читали мои статьи: Научные мультфильмы, что показывать детям без вреда для них? Простые опыты с ребенком дома Как мы для музея науки сделали самую большую катушку Тесла в Украине Как сделать мощную лестницу Иакова из трансформатора от микроволновки своими р...

[Из песочницы] Запись звука JS c микрофона или голосовые комментарии Запись звука JS c микрофона или голосовые комментарии Не давно, при разработке одного корпоративного веб-приложения, заказчик пожелал иметь возможность оставлять голосовые комментарии. Ранее мне не приходил сталкиваться с созданием медиаконтента и я с интересом приступил к и...

[Перевод] Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring В последней статье этой серии вы познакомитесь с рекомендациями по REST API и с примерами разработки из Java и Spring Web Services. При разработке хорошего REST API важно иметь хорошие микросервисы. Как вы разрабатываете свой REST API? Каковы лучшие практики? Читать дальше...

Рекомендательные системы, основанные на графах Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, включают в себя часть машинного обучения. В последнем проекте я работала над построением ...

Оптимизация интерфейса в Unity без кода В этой статье ведущий UI/UX художник Никита Кандыбин и технический UI художник Ольга Кинчак поделятся эффективными базовыми практиками по оптимизации Unity UI, которые используются в компании Banzai Games при создании игровых интерфейсов, а также укажут на подводные камни ...

Vue.js и слоистая архитектура: вынесение бизнес-логики в сервисы Когда нужно сделать код в проекте гибким и удобным, на помощь приходит разделение архитектуры на несколько слоев. Рассмотрим подробнее этот подход и альтернативы, а также поделимся рекомендациями, которые могут быть полезны как начинающим, так и опытным разработчикам Vue.js,...

Опыт работы с Plesk Хочу поделиться некоторыми впечатлениями о нужности или ненужности такой вещи, как контрольная панель для коммерческого односерверного веб-проекта при наличии очень part time админа. История началась пару лет назад, когда знакомые знакомых попросили меня сопроводить покупку ...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

Как попытаться заблокировать любой сайт с помощью РКН Всем привет! Сегодня я хочу рассказать историю о РКН, чужом сайте с фильмами и моем сайте, который не имеет к нему никакого отношения. У меня есть сайт для поиска виртуальных серверов со стабильной посещаемостью. Иногда бывают всплески количества посетителей из-за того, что...

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

Amnezia: всё будет забыто Согласно исследованиям британских учёных, каждую неделю публикуется новая статья «Как настроить собственный VPN». Но всё же большинство людей пользуются платными коммерческими VPN-сервисами, коих несчётное множество. А вы уверены, что ваш VPN будет продолжать работать в усл...

[Из песочницы] Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо Здравствуйте! На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема. Поэтому я решил поделиться с вами собственным решением, которое было ранее реализо...

Pizza as a service: как Amazon на Redshift мигрировал Привет, меня зовут Виктория, и я отвечаю за маркетинг в КРОК Облачные сервисы. Теперь мы регулярно проводим у себя облачные митапы. Я недавно попала на крутейшее выступление Дмитрия Аношина, который сейчас работает в Amazon, и хочу им поделиться. У меня появилось стойкое ...

Обезл***вание д***ных — это не просто рандомизация В банке есть проблема: нужно давать доступ к базе данных разработчикам и тестировщикам. Есть куча клиентских данных, которые по PCI DSS требованиям Центробанка и законам о персональных данных вообще нельзя использовать для раскрытия на отделы разработки и тестирования. К...

Взломать самолет – 3 Задача моей предыдущей статьи “Можно ли взломать самолёт — 2” была показать, как быстро развиваются технологии SDR и какую опасность это влечет для кибербезопасности, на примере самолетов. Комментарии побудили меня посмотреть иностранную аналитику, нагуглить реальные инциден...

Clickhouse — оконные функции, которых нет… Работу с колоночными базами данных я начал с BigQuery. Когда пришлось “переехать” на Clickhouse я был неприятно удивлен фактом отсутствия полноценных оконных функций. Есть, конечно, множество функций по работе с массивами, функций высшего порядка и прочие функции (одна функц...

Бесконечный скролл с баннерами, или Как обойтись тремя вьюхами Каждый разработчик под мобильные платформы постоянно сталкивается с задачей, которая не решается одним единственным способом. Всегда есть несколько путей, — какие-то быстрые, какие-то сложные, — и у каждого свои достоинства и недостатки. Бесконечный/цикличный скролл в iOS ...

Распределённая команда и тимлид на удалёнке Привет, меня зовут Григорий. Я работаю тимлидом распределённой команды в Positive Technologies. Это мой рассказ, как я стал лидом распределённой команды, с какими проблемами сталкивался, как их решал и какой опыт получил. Мотивами к написанию статьи стали два факта: во-первы...

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

Где моя посылка? ИИ облегчит задачи доставки С приближением праздников начинается период выбора подарков, проведения исследований, сравнения альтернатив, чтения онлайн-обзоров продуктов и прочесывание интернет-магазинов в поисках самого-самого. После всех этих усилий и хлопот мы наконец решаемся, заказываем товар и т...

Переход c Cocoapods на Swift Package Manager Cocoapods считается наиболее популярным менеджером зависимостей для iOS. Последние годы Apple работает над развитием своего нативного менеджера зависимостей Swift Package Manager (SPM). Изначально его использование было возможно только для server-side Swift или приложений...

Двойственная природа требований к программному обеспечению Некоторое время назад я обозревал искажение применяемых методик в производстве программного обеспечения. Углубившись в частность (применение DDD) мне хотелось намекнуть читателю на то, что идя на поводу у совиного менеджмента можно не выполнить свой долг инженера. Недавняя г...

TelegramBot. Базовый функционал. Стикеры и смайлы. (Часть 3) Один из вопросов, который часто приходит в личку — как работать со смайлами(эмодзи) и стикерами. Как с ними работать, какими инструментами пользуюсь я и т.д. В данной части будут рассмотрены такие вещи: как создать сообщение со стикером, как обработать полученное сообщен...

[Перевод] Создавайте приложения бесплатно с помощью Azure Cosmos DB Free Tier Хотите создать новое приложение, разработать и протестировать или запустить небольшие производственные рабочие нагрузки с помощью Azure Cosmos DB? Наш новый уровень бесплатного пользования позволяет начать работу без затрат и сэкономить деньги при создании и развитии новых п...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

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

Красочные адресные светодиоды на новый год без программирования и пайки Скоро Новый год, но вот настроение по разным причинам порой бывает не самым новогодним и тут на помощь приходит в том числе и новогодняя иллюминация. Хочу рассказать о своем опыте с адресными светодиодными гирляндами и лентами. Америку вряд ли открою, но вышло красиво и недо...

[Из песочницы] Оффшор для IT-бизнеса в Грузии: лайфхаки и подводные камни Сингапур, Кипр, Китай, Голландия — государства, которые, первыми приходят на ум, когда речь заходит об офшорах для ИТ-компаний. Но в этой статье я расскажу о стране, которая граничит с Россией и предлагает, на удивление, очень соблазнительные условия для стартап-компаний в с...

FigmaGen: Автоматизация стилей в iOS-приложении Сейчас многие команды систематизируют дизайн своих приложений. Мы решили пойти дальше и автоматизировать синхронизацию кода с нашей библиотекой компонентов.  Дело в том, что в hh для проектирования UI используется небезызвестный сервис Figma, который, кроме прочих своих плю...

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

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

Как я переехал в Лондон c Revolut Неделю назад в наших соцсетях выступал Дмитрий Михайлович. Дмитрий — продуктовый разработчик, он решает продуктовые задачи в Revolut, являясь при этом Senior Backend разработчиком. Полтора года назад он переехал в лондонский офис и поделился с нами историей, как это происход...

Меняем фреймворк и профиль работы на ходу — и не только. Что будет на втором митапе PHP NN Под катом можно увидеть, как прошла первая встреча сообщества, а пока — важный анонс для тех, кто живет в Нижнем или будет там 21 декабря (это суббота). Приходи на новые посиделки: Дмитрий Косов из московского Финама расскажет, как ребята переезжали с Zend на Symfony без...

Как выжить SQL-базе в 21 веке: облака, Kubernetes и PostgreSQL multimaster Привет, хабровчане. Сегодня стартуют занятия в первой группе курса «PostgreSQL». В связи с этим, хотим рассказать вам о том, как проходил открытый вебинар по данному курсу. В очередном открытом уроке поговорили о том, с какими вызовами столкнулись SQL-базы в эру облаков и...

Тёплый, ламповый и очень опасный Меня не может не радовать возрождение интереса к ламповой электронике. Однако, есть над чем задуматься! В одном из комментариев я как-то написал, что «растет уже третье поколение электронщиков, не битых анодным напряжением». Несколько недавних публикаций с конструкциями н...

RxRelay – это магия? Subject vs RxRelay В Android-комьюнити я встречал три типа разработчиков, которые сталкивались с RxRelay: Те, кто не понимают зачем RxRelay используется в их проекте, зачем он нужен и чем отличается от Subject Те, кто думают, что RxRelay «проглатывает» ошибки или «после того, как произошла...

Преимущества и подводные камни Azure Cosmos DB Немало баз данных на сегодняшний день стремятся сделать всё, чтобы обеспечить высокую производительность, масштабируемость и доступность, при этом минимизируя сложность и стоимость поддержки. Azure Cosmos DB — отличный пример СУБД, которая легко может обеспечить эти ка...

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

The state of soft skills Так сложилось, что софт-скиллы довольно сильно помогли мне в карьере. Например, спустя всего 9 месяцев работы в Rambler, куда я приходил простым frontend-разработчиком, мне предложили стать руководителем группы, потому что мой руководитель увидел во мне потенциал и достаточн...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

Не приходят уведомления на Android. Что делать Не приходят уведомления? Возможно, этот способ поможет Android – платформа, очень богатая настройками, которые позволяют сконфигурировать работу смартфона ровно так, как нужно пользователю. Однако именно это становится отталкивающим фактором для тех, кто не слишком близко зн...

Действующие коды в Mobile Legends на алмазы, куда вводить? (Июль 2021) Самое сложное в F2P-играх — получить премиальную валюту без вложения реальных денег. Посмотрим в сторону Mobile Legends: это крутая MOBA, которая давно себя зарекомендовала. Но что, если вам хочется купить новый скин? Тогда на помощь приходят промокоды. Каждый месяц мы публ...

Книга «Паттерны Kubernetes: Шаблоны разработки собственных облачных приложений» Привет, Хаброжители! С развитием микросервисов и контейнеров изменились подходы к проектированию, созданию и запуску программного обеспечения. Познакомьтесь с новыми паттернами и принципами разработки, которые нужны для реализации облачных приложений в Kubernetes. Эта книг...

[recovery mode] PM2: подходим к вопросу процесс-менеджмента с умом Буквально пару часов назад у меня завязался спор на тему того, что Node.JS слишком медленная для крупных проектов и ей стоит предпочесть Golang, Rust, PHP, etc. Основным аргументом противоположной стороны в этом споре был факт однопоточности JavaScript. Якобы при разработке ...

Дата-дом: какие данные генерирует экосистема умных вещей (с) Путешественники-утописты предрекали, что концепция дома как места, куда хочется возвращаться снова и снова, исчезнет. Дом станет чем-то вроде долговременного склада для хранения вещей, в то время как мы будем находиться в любой точке мира, где есть интернет. Однако се...

Как в Sports.ru писали свой WYSIWYG-редактор В середине 2018 года в Sports.ru задумались о переезде на новый WYSIWYG-редактор текста для пользовательских постов. С июня 2019 года редактор работает в режиме бета-версии. За это время мы решили множество проблем, связанных как с проектированием архитектуры всего сервиса, ...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

[Перевод] Создаём линзы для SnapChat с использованием pix2pix Почти такой же заголовок носит и моя предыдущая статья, с той лишь разницей, что тогда я создавал линзы для SnapChat алгоритмически, используя dlib и openCV, а сегодня хочу показать, как можно добиться результата, используя машинное обучение. Этот подход позволит не занимать...

IntelliJ IDEA: Structural Search & Replace Современные IDE — очень мощные инструменты, способные помогать разработчику в самых разных ситуациях. Но обратной стороной этой мощности является то, что большинство функций находится в тени — об их наличии мало кто подозревает. Простой пример одной...

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

[Перевод] Go и кэши CPU Источник: unsplash.com По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике». Мартин Томпсон (создатель LMAX Disruptor) применил ...

[Перевод] Концепции, лежащие в основе Web Audio API Доброго времени суток, друзья! В этой статье объясняются некоторые концепции из теории музыки, на основе которых работает Web Audio API (WAA). Зная эти концепции, вы сможете принимать взвешенные решения при проектировании аудио в приложении. Статья не сделает вас опытным ...

[Из песочницы] Не монолитом единым. Модульный подход в Unity В данной статье будет рассмотрен модульный подход при проектировании и дальнейшей реализации игры на движке Unity. Описаны основные плюсы, минусы и проблемы с которыми приходилось сталкиваться. Под термином «Модульный подход» имеется ввиду организация ПО, которая используе...

Демистификация JWT Вокруг JWT сложилась много распространенных заблуждений. Одно из них, например, что JWT зашифровано (на самом деле только подписано и закодировано base64url). На практике, я часто встречаюсь с довольно странными решениями, когда в JWT хранится только один идентификатор сесси...

Grafana+Zabbix: Визуализация работы производственной линии В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной ...

Load Testing Meetup в Райффайзенбанке Приглашаем на митап сообщества Load Testing 4 февраля. Будет интересно: узнаем рецепты по программированию с InfluxDB и Grafana, разберем автоматизацию НТ с Jenkins. И ещё case study – deadlock, race condition и memory leak. Регистрируйтесь и приходите в офис Райффайзенбан...

DataMatrix или как правильно маркировать обувь С 1 июля 2019 года в России введена обязательная маркировка группы товаров. С 1 марта 2020 года под этот закон должна была попасть обувь. Не все успели подготовиться, и в результате запуск перенесли на 1 июля. Lamoda среди тех, кто успел. Поэтому мы хотим поделиться опытом ...

[Перевод] Создание Minecraft за одну неделю на C++ и Vulkan Я поставил перед собой задачу воссоздания с нуля Minecraft за одну неделю с помощью собственного движке на C++ и Vulkan. Меня вдохновил на это Hopson, который сделал то же самое при помощи C++ и OpenGL. В свою очередь, его вдохновил Шейн Бек, которого вдохновила Minecraft, и...

Танк Т34 Всем привет! Давно не писал и не выкладывал новых моделей.Этой работой прерываю период затишья. Задумка по созданию данной модели в голове созрела давно, хотел проект подготовить к празднованию 75-летия окончания Великой Отечественной Войны. Однако процесс растянулся ....., ...

Пишем бизнес-процесс в Битрикс24 с задатком на будущее На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чисто» специалист по Битриксу, а это одна из моих обязанностей. На самом деле обязанностей у мен...

Разработка hexapod с нуля (часть 6) — переход на 3D печать и новая электроника Всем привет! Разработка гексапода активно продолжается и пришло время показать кардинальные изменения в конструкции и планы по прошивке. Появилась большая пауза в выходе новых статей в результате длительного проектирования новой электроники и корпуса. В принципе об этом и б...

[Из песочницы] Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly Доброго времени суток, Хабр! Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя. Введение Такая аббревиатура как DevOps уже давно не является чем-то новым для IT с...

Odie's Dimension II — духовный наследник Monument Valley доступен на Android Серия головоломок Monument Valley подкупает своей внешней красотой, успокаивающим саундтреком и не такими уж и сложными загадками даже для тех геймеров, которые не прошли дальше первой загадки в Resident Evil (версия от 1996 года). Но изометрических головоломок из этой серии...

SIRR, не соизволите ли удалить отражение? Привет! Меня зовут Артём, я учусь на совместной кафедре анализа данных Яндекса и Физтеха. Хочу поделиться с ML-сообществом Хабра темой, тесно связанной с моей научной работой: «Удаление отражений с помощью свёрточной сети, обученной на синтетическом датасете». А чтобы вы мог...

[Перевод] Чеклист для проекта по машинному обучению В этом посте я собрал чеклист, на который я постоянно ссылаюсь, работая над комплексным проектом по машинному обучению. Зачем мне вообще нужен чеклист? Поскольку вам необходимо иметь дело с многочисленными элементами проекта (подготовка, вопросы, модели, подстройка и т. ...

[recovery mode] Почему ICQ потерял древнего пользователя после покупки Mail.Ru История о том как я внезапно потерял свой элитный 5* ICQ просто потому-что Mail.Ru выкатили обновление! Пишу сюда по скольку тут сидят представители Mail.Ru Group и возможно они что-то с этой несуразной чепухой в логике работы их клиента ICQ да сделают. Ведь то что попрост...

Отправляем письма с помощью asyncio и aiohttp из Django приложения Всем привет! Я занимаюсь разработкой и поддержкой сервиса уведомлений в Ostrovok.ru. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отп...

Онлайн-курс по IT-рекрутингу 2-й поток Открываем набор на онлайн-курс по IT-рекрутингу и приглашаем присоединиться к нам всех, кто хочет освоить востребованную профессию и научиться нанимать лучших технических специалистов! Ссылка на курс

Основы Unity + Mirror Хочу немного поделиться опытом для тех, кто хочет попробовать себя в написании сетевой игры, но не знает с чего начать. Так как информации по этой теме в интернете много, но полезную и актуальную было найти тяжело (а в русскоязычном сегменте и подавно), я решил собрал и стру...

Отложенные ретраи силами RabbitMQ Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ Читать дальше →

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

Game of Life с битовой магией, многопоточностью и на GPU Всем привет! Недавняя статья на Хабре в очередной раз показала неостывающий интерес к игре «Жизнь» в частности и всевозможным оптимизациям в общем. Статья и комментарии к ней, особенно любопытство к вычислениям на GPU, вдохновили меня на то, чтобы поделиться своими изыскания...

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

Разработка плагинов для Zabbix Agent 2 На последнем Zabbix Summit 2019 вместе с выходом Zabbix 4.4 был анонсирован новый Zabbix Agent 2, ключевая фишка которого — возможность написания плагинов к нему на языке Go. И многие сразу стали спрашивать: а как же, собственно, эти плагины писать, как они устроены? Где взя...

БД мессенджера (ч.2): секционируем «наживую» Мы удачно спроектировали структуру нашей PostgreSQL-базы для хранения переписки, прошел год, пользователи активно ее наполняют, вот в ней уже миллионы записей, и… что-то все начало подтормаживать. Часть 1: проектируем каркас базы Часть 2: секционируем «наживую» Дело в то...

Avast продавал личные данные клиентов «Каждый ваш поисковый запрос. Каждую покупку. Каждый клик на любом сайте». Вот краткое описание ранее неизвестной деятельности Avast, которое сформулировали журналисты Vice в своей разоблачительной статье. Деятельности по продаже личных данных пользователей антивируса. Av...

Китай принял свой «пакет Яровой» В конце прошлого года китайское правительство представило новый закон о киберпезопасности, так называемую Многоуровневую схему кибебезопасности (Cybersecurity Muti-Level Protection Scheme, MLPS 2.0). Закон, вступивший в силу в декабре, фактически означает, что правительств...

Разработка сервисов и IaaS: подборка материалов об облаке, хранении данных и эволюции «1cloud» Разбираемся с законом о ПД, рассказываем, как эволюционировала инфраструктура 1cloud.ru, обсуждаем изменения в политиках ИТ-компаний и развитие облачных экосистем. Читать дальше →

Создаем CRUD API на Express и MySQL: часть вторая Всем привет. В преддверии старта курса «Разработчик Node.js», хотим поделиться продолжением материала, который был написан нашим внештатным автором. Всем еще раз привет. Мы возвращаемся к созданию приложения на Node.js и MySQL для небольшого todo — приложения на Node.js ...

Типовые ошибки в приложениях, которые ведут к bloat в postgresql. Андрей Сальников Предлагаю ознакомиться с расшифровкой доклада начала 2016 года Андрея Сальникова "Типовые ошибки в приложениях, которые ведут к bloat в postgresql" В данном докладе я разберу основные ошибки в приложениях, которые возникают на этапе проектирования и написания кода ...

Дайджест интересных материалов для мобильного разработчика #334 (17 — 23 февраля) В этом выпуске новый Android 11, открытая палеонтология, удаленная работа и проектирование темных тем, загадочное уведомление «1» от Samsung и разработка игр в Иране. С праздником! Читать дальше →

2 ТБ места на диске и другие коммерческие сервисы «Яндекса» стали бесплатными для благотворительных фондов Компания Яндекс при поддержке Теплицы социальных технологий представляет новый пакет возможностей Care.Yandex, доступный благотворительным фондам. Организации могут получить бесплатный доступ к сервисам Яндекс.Диск и Яндекс.Треккер бесплатно на один год (с возможностью прод...

«В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров Проекту Lingualeo уже 10 лет. Более 23 миллионов человек из России, Турции, Испании и стран Латинской Америки учат с помощью нашего сервиса английский. LinguaLeo создавали в конце нулевых – начале десятых годов и использовали передовые на тот момент технологии и методы. ...

Генеалогические исследования — метрические книги, переписи, архивы, открытые базы Не один год я увлекаюсь генеалогией. Практической пользы в этом хобби нет, но интересного очень много. Здесь я хотел поделиться накопленным опытом, частью интересных сведений, не сильно погружаясь в персональные истории. Чтобы текст сильно не распухал, расскажу всего 2 кейса...

Скромный обзор печати на 3D принтере Flying Bear Ghost 4S Где-то месяца 3 назад решил обновится и взять принтер с иной кинематикой движения в отличии от моего старичка Tevo Black Widow. По итогу выбор моего взора упал на принтер Flying Bear Ghost 4S. Приобрел я его с Российского склада Aliexpres за 24000 рублей. Шел принтер до меня...

[Перевод] Быстрый вход в управление продуктом через Open source Быстрый вход в управление продуктом через Open Source Фотография сделана Finn Hackshaw на Unsplash “Как вы достигли успеха в управлении продуктом”? Это вопрос, с которым рано или поздно сталкивается каждый продукт-менеджер. По мере того, как управление продуктом перестает б...

Django Rest Framework для начинающих: создаём API для чтения данных (часть 1) Меня зовут Стас Гаранжа, я выпускник курса «Python-разработчик» в Яндекс.Практикуме. Я хочу помочь начинающим разработчикам, которые приступили к изучению Django Rest Framework (DRF) и хотят разобраться, как устроен этот фреймворк. Я готовлю цикл статей, в которых расскажу о...

[Из песочницы] Введение в ASGI: становление асинхронной веб-экосистемы Python Привет, Хабр! Представляю вашему вниманию перевод статьи "Introduction to ASGI: Emergence of an Async Python Web Ecosystem" автора Florimond Manca. "Черепахи рядом с водоемом", Ricard Baraham на unsplash.com Python не замыкается только на Data Science, в...

Оценочный уровень доверия (ОУД4) и ГОСТ Р ИСО/МЭК 15408-3-2013. Введение Привет, Хабр!В настоящее время в ИТ индустрии крайне актуальна тема построения процесса безопасной разработки ПО (по англ. «Secure SDLC» или «Secure software development life cycle»). Некоторые организации и команды самостоятельно приходят к необходимости такого процесса в с...

[Из песочницы] StegoPy — Инструмент LSB-стеганографии на Python Предисловие В последнее время я заметил, что людям на моем форуме стала интересна тема стеганографии различных текстов в изображениях, mp3-файлах и видео. И тут у меня возникла идея написать свой скрипт для стеганографии текста в изображениях. Скажу сразу прежде я ни разу не...

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

Алексей Грачёв: Go Frontend Kyiv Go Meetup May 2018: Ведущий: – Всем привет! Спасибо, что вы здесь собрались! Сегодня у нас два официальных спикера – Лёша и Ваня. Будет ещё два, если у нас хватит времени. Первый спикер – Алексей Грачёв, он расскажет нам о GopherJS. Алексей Грачёв (далее – АГ): – Я ...

[Перевод] Уходя уходи: почему не стоит принимать контроффер Привет, Хабр! Меня зовут Женя Остроумова, и я рекрутёр_ка. Сегодня поговорим с вами про контрофферы. Читать дальше →

Что нового ждать от YouTrack в 2020? Хочу поделиться с вами планами по развитию YouTrack в 2020 году. Основные изменения, над которыми мы сейчас работаем, — это раздел “Статьи” (так мы назвали редактируемые страницы базы знаний), реакции в комментариях к задачам, Helpdesk, поставляемый практически “из коробки”,...

Как соблюсти требования 152-ФЗ, защитить персональные данные своих клиентов и не наступить на наши грабли   По российским законам любая компания, работающая с личными данными своих пользователей в России, становится оператором ПДн, хочет она того или нет. Это накладывает на нее ряд формальных и процедурных обязательств, которые не каждый бизнес может или хочет нести самостоятель...

Холст + любовь = сердце Доброго времени суток, друзья! На дворе 14 февраля — День святого Валентина или День всех влюбленных. Об этом знают все (что, кто-то не знает?). Однако не все знают (полагаю, на Хабре таких немного), что 14 февраля 1946 года научному миру и всем заинтересованным был про...

[Из песочницы] Жизнь и IT или год, как я уволился с последнего места работы Сегодня подвели с женой итоги моего первого года без работы. Последняя, на данный момент, моя официальная должность — заведующий лаборатории по разработке прикладного программного обеспечения. До этого работал ведущим программистом, системным архитектором и т.п. В IT официа...

[recovery mode] О стартапах и стартаперах Сейчас очень модно говорить о стартапах и молодых стартаперах, бизнесменах до 30 лет, попавших в поле зрения Форбс. Об инновационных проектах, нацеленных перевернуть мир. Видимо, пришло время и для меня осознать, что такое стартап, что такое собственный проект, и каким мо...

[Из песочницы] Ищем утечки памяти с помощью Eclipse MAT Пожалуй, все java-разработчики, участвующие в коммерческих проектах рано или поздно сталкиваются с проблемой утечки памяти, влекущей за собой медленную работу приложения и почти неизбежно приводящую в итоге к известной OutOfMemoryError. В данной статье будет рассмотрен реаль...

[Из песочницы] Новый взгляд на code style Как знания нейропсихологии могут помочь программисту в стилизации кода? До того как заняться программированием, я очень долго и глубоко изучал нейропсихологию. Впоследствии, эти знания помогли мне добиться высоких результатов в разработке, за короткий промежуток времени. В...

Предметно-ориентированное проектирование на самом деле Большинство статей и лекций рассказывают о DDD как о неком ремесле, доступном не многим, в котором самое важное это проектирование модели и всё вокруг этого. И проблема тут в масштабе — мы говорим чаще о безусловно важных вещах кирпичиках, но не ландшафте целиком. Под катом ...

Mockito. Из чего он приготовлен и как его подавать? Думаю, многим довелось выпить какой-нибудь напиток, который глубоко впился в наши вкусовые рецепторы, что нам хочется пить его каждый день. Так вот для меня таким «напитком» стал Mockito. Один раз написав простенький тест, можно вернуть себе веру в магию. Я всё ещё помню, к...

Kotlin: язык программирования как продукт Язык программирования — это тоже продукт. Он помогает разработчикам выражать свои идеи так, чтобы их мог интерпретировать компьютер. Может показаться, что развивать язык — это брать последние достижения теории языков программирования, реализовывать их и из года в год выкатыв...

Почему появились асинхронные веб-сервера? Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

Как приручить Charles Proxy? Привет! Многие из тех, кто приходит к нам на собеседование на должность тестировщика, с гордостью заверяют, что они могут пользоваться Charles Proxy. Но когда погружаешься в техническую часть, то становится очевидно, что кандидат только слышал об этом инструменте. Давайте уж...

Насколько много маркетинга в ACID? Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

[Перевод] Multi-Target в Albumentations Этот текст — это перевод блог поста Multi-Target in Albumentations от 27 июля 2020. Автор есть на Хабре, но переводить текст на русский поленился. И этот перевод сделан по его просьбе. Я перевела на русский все, что можно, но какие-то технические термины на английском зву...

Собираем логи с Loki Мы в Badoo постоянно мониторим свежие технологии и оцениваем, стоит ли использовать их в нашей системе. Одним из таких исследований и хотим поделиться с сообществом. Оно посвящено Loki — системе агрегирования логов. Loki — это решение для хранения и просмотра логов, также э...

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

Разработка hexapod с нуля (часть 8) — улучшенная математика передвижения Всем привет! В результате перехода на удаленную работу у меня появилось больше свободного времени на разработку гексапода (+2 часа в день за счет экономии на дороге). Я наконец-то смог сделать универсальный алгоритм для построения траектории движения в реальном времени. Нов...

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

Как мы внедряли распределенный кеш на Tarantool в одной АБС Разработка любого достаточно серьезного софта, будь то калькулятор матриц или ИИ беспилотного автомобиля, — это всегда какая-то своя предметная область, определенные технологии, алгоритмы и структуры данных, архитектура кода, процесс разработки и еще много разных умных терм...

Выкладка go pet проекта на VPS Привет, Хабр! Меня зовут Артем Желтак, я teamlead, а также преподаватель курса “Разработчик Golang” в OTUS. В преддверии старта нового потока курса, хочу поделиться с вами своей авторской статьей. Я верю, что Golang прекрасен, но в мире еще много php и других проектов рабо...

Samsung готовит "убийцу" флагманского Redmi K30 5G Напомним, что флагманский Redmi K30 5G является первым смартфоном, который построен на базе процессора Qualcomm Snapdragon 765G. Но звание первого коммерческого смартфона на данном процессоре вовсе не обязательно достанется грядущему флагману Redmi, поскольку его выход запла...

Первый раз в первый класс! Или о том, что рассказать первоклашкам на уроках робототехники. Так сложилось, что тема технической грамотности среди школьников постепенно приобретает актуальность. И в связи с этим есть тенденция среди руководств школ и родительских комитетов к организации разного рода факультативов и кружков разной технической направленности. Ну всяко...

[Перевод] Собираешься работать в кибербезопасности? Прочитай это Автор статьи — Брайан Кребс, известный журналист в сфере информационной безопасности. Каждый год из колледжей и университетов выходят тысячи выпускников по специальностям «информационная безопасность» или «информатика», абсолютно не подготовленных к реальной работе. Здесь м...

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

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

[Из песочницы] База данных на ScriptableObject c системой сейва/загрузки Введение В каждой игре есть данные, с которыми работают гейм-дизайнеры. В рпг — это база данных айтемов, в матч-3 — стоимость в кристаллах инструментов из магазина, в экшенах — количество хп, на которое лечит аптечка. Для хранения таких данных существует много способов — кт...

Как отправить сотрудников на удаленку и не забыть вернуть их назад. Руководство Exness Всех приветствую! Меня зовут Лена, руковожу работой с персоналом в Exness.  Я хочу поделиться нашим опытом перевода сотрудников на удаленную работу в период карантина. Мне кажется, что мы подошли максимально системно к этой задаче, и самое главное — не забыли организовать «...

Третий не лишний: как мы сократили цепочку листинга товаров, добавив в нее еще одно звено К каждому товару, который попадает в магазин, привязано большое количество мастер-данных, необходимых для системы учета. И каждый отдел — от коммерческого до транспортного — раньше создавал свою форму учета товаров, потом мы мучились с их согласованиями и изменениями. В таки...

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

Перфекционизм, отмена: как техническим специалистам писать статьи Цитата анонимного тимлида о том, как он обычно готовит текст: «Написание статьи технические специалисты обычно воспринимают так: автор сформулировал тему, немного подумал, сел и выдал текст сразу на чистовик. Естественно, в реальности все работает по-другому. Из-за этого &...

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

Лучшее время для релиза пет-проекта Каждый разработчик делал пет-проект, который так и не увидел свет. У меня таких проектов набралась чёртова дюжина, а на этой неделе я был близок к тому, чтобы пополнить список неудач ещё одним, но релиз всё-таки состоялся. В этом посте поделюсь результатами рефлексии и в кон...

[Из песочницы] Техническая документация в разработке ПО: кто, зачем, когда и как описывает проект Привет! Меня зовут Даша Григорьева, я технический писатель в компании 65apps. Мы занимаемся разработкой сложных мобильных решений, и моя задача — подготовка технической документации по проектам. Очень часто роль технического писателя бывает недооцененной в компании (не у ...

[Перевод] NgRx Ducks | Динамические фасады Усовершенствование опыта разработки Общаясь с коллегами из разных компаний, я заметил, что очень многие команды обожают NgRx. Во время наших дискуссий меня не покидала мысль: «Как было бы хорошо меньше сопровождать код, а больше следовать гайдам написания, чтобы облегчить п...

2.Elastic stack: анализ security логов. Logstash В прошлой статье мы познакомились со стеком ELK, из каких программных продуктов он состоит. И первая задача с которой сталкивается инженер при работе с ELK стеком это отправление логов для хранения в elasticsearch для последующего анализа. Однако, это просто лишь на словах...

Производственный календарь своими руками в Firebird Здравствуйте, меня зовут Денис, я явлюсь разработчиком информационных систем, пишу статьи и документацию по СУБД Firebird. В этой статье я хочу рассказать о реализации производственного календаря с использованием СУБД Firebird. На написание этой статьи меня натолкнули похож...

Чак Педдл, пионер в проектировании процессоров для ПК, умер в возрасте 82 лет Чак Педдл (Chuck Peddle), один из ключевых инженеров эпохи появления домашних компьютеров, умер от рака поджелудочной железы в возрасте 82 лет. Он наиболее известен как ведущий дизайнер недорогого процессора MOS Technology 6502 (стоил всего $25 долларов в 1975 году), который...

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

[Перевод] 5 возможностей systemd, которые нравятся сисадминам Изображение: Shmuel Csaba Otto Traian (CC BY-SA 3.0) Каждый специалист знает, что в современных системах происходит много чего интересного: в фоновом режиме периодически запускаются и завершаются какие-то приложения, придерживаются своего расписания автоматизированные зада...

Что хочет знать Магнит о своих покупателях? С завидной периодичностью в новостях встречаются заголовки, связанные с различными утечками персональных данных: Персональные данные миллиона клиентов российских МФО выставлены на продажу в сети Очередная утечка базы данных клиентов, на этот раз от гипермаркета «Лента» Оче...

Python микросервисы с Kafka без боли В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana. Читать далее

[Перевод] Новости из мира OpenStreetMap № 500 (11.02.2020-17.02.2020) Wochennotiz / weeklyOSM – Issue # 500 | Thank you О нас Вышел 500-й выпуск нашего еженедельного новостного проекта. Всё началось 23 июля 2010 года с небольшой заметки, в которой содержалось всего 14 новостей. Редакция проекта благодарит всех читателей, которые поддержива...

Персонализированный интерфейс. Часть 1. Плюсы и минусы концепции Всем привет! Хочу поделиться своим опытом одной экспериментальной разработки, за которой стоит большая, на мой взгляд, идея: персонализированный интерфейс, который конфигурируется на основе потребностей клиента. Представьте, что два человека смотрят в одну и ту же программ...

[Из песочницы] Проблемы использования Doctrine ODM в процессах-демонах Хочу рассказать о своем опыте использования Doctrine ODM в относительно небольшом PHP проекте, в котором основная кодовая база сосредоточена в процессах-демонах. И вообще как мы к Yii2 прикрутили Doctrine ODM. Сразу предупреждаю — рассказ будет очень нудным и скорее всего ин...

Fortinet Security Fabric на практике. Часть 2. FortiSwitch Приветствуем! В нашей прошлой статье мы описали общую концепцию построения сети на продуктах компании Fortinet - Fortinet Security Fabric. Практически все продукты из этой концепции мы уже описывали. Неосвещенными остались только FortiSwitch и FortiAP. Сегодня мы хотим расск...

[Перевод] Как линейное время превращается в Windows в O(n²) Недавно я столкнулся с многоминутными задержками на моей рабочей станции. После расследования выяснилось, что причина проблемы заключалась в блокировке, которая могла длиться по пять минут, во время которых источник блокировки в основном крутился в цикле из девяти инструкци...

Российские BIM-технологии: комплексное проектирование на базе Model Studio CS Этой статьей мы открываем серию материалов, посвященных технологиям информационного моделирования в промышленном и гражданском строительстве.Мы покажем, как организовать среду общих данных, информационного моделирования и комплексного проектирования на основе единой линейки ...

[Из песочницы] Чуткий дом приходит на смену умным домам В последнюю неделю ноября в Переславле-Залесском прошёл Национальный Суперкомпьютерный Форум. Три дня люди рассказывали и показывали, как обстоят дела с разработкой суперкомпьютеров в России и как технологии, обкатанные на суперкомпьютерах, превращаются в товары. Институт п...

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

Полевые исследования концепции «Documentation as code» Всем привет! Меня зовут Денис Олейник, я работаю техническим директором в 1Service. В нашей компании мы достаточно много времени уделяем работе с требованиями. По мере обретения опыта мы стали осознавать, что инструменты, обычно используемые при разработке программных проду...

Шпаргалка по форматам файлов с данными в python Python понимает все популярные форматы файлов. Кроме того, у каждой библиотеки есть свой, «теплый ламповый», формат. Синтаксис, разумеется, у каждого формата сугубо индивидуален. Я собрал все функции для работы с файлами разных форматов на один лист A4, с приложением в виде ...

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

Почему Android и iOS никогда не изменятся кардинально Знаете, я часто пишу о том, что нам нужны новые операционные системы с совсем иным интерфейсом. Android и iOS жутко надоели, как и Windows, macOS и Linux. Все эти системы какими были на этапе зарождения, такими и остаются. Основная идея операционной системы — предоста...

Миллиард операций в базе данных за 0.3 секунды. Не сравнивайте OLTP с OLAP, а QuestDB с PostgreSQL Очень часто за свой 15летний опыт работы разработчиком ПО и тимлидом я сталкиваюсь с одним и тем же. Программирование превращается в религию — редко кто пытается внедрять технологии на основе разумного выбора, аргументированно, с учетом ограничений, возможностей переносимост...

Интернет-магазин: выходим за рубеж! Важное событие для представителей ecommerce в Санкт-Петербурге. Бесплатный семинар «Интернет-магазин: выходим за рубеж». Именно сейчас, когда все из-за угрозы коронавируса уходит в онлайн, когда рубль показывает свою нестабильность, — время работать и&n...

Про сайт, Яндекс, Seo и будущее Говорю что сейчас происходит и что будет дальше. Знаете, что сделает Яндекс в ближайшие месяц?!  Он отменит комиссию агентствам.  Зачем это сделает Яндекс?! А ведь нужно каждый квартал показывать перед инвесторами рост прибыли. Все скидки давно отменили, цену клика повысили ...

Как устроена контент-система Турбо-страниц: схемы, факты и немного истории По данным TelecomDaily, почти 30% пользователей мобильного интернета в России ежедневно сталкиваются с проблемами при загрузке сайтов. Однако причина может быть не только в неравномерном покрытии, но и в слишком большом «весе» страницы. Повлиять на качество соединения мы ...

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

Поднимаем Mercurial на Windows-сервере (с Nginx) Недавно случайно узнал, что BitBucket, где лежат мои Mercurial-репозитории, прекращает поддержку Mercurial: новые репозитории создавать уже нельзя, а существующие будут удалелы с 1.06.2020. Возможные варианты действий: перейти на Git, выбрать один из других сервисов, или нас...

Про сильную матрицу и атмосферу в команде разработки Привет, Хабр. Сегодня хотим поделиться с вами интервью с руководителем команды разработки одного из новых продуктов ABBYY. Мы поговорили с ним про найм, принципы построения команды, развитие разработчиков, систему грейдов и другие околопроцессные вещи, которые так или иначе ...

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

[Из песочницы] IT: Уйти и не вернуться Раньше очень много писали о тренде «войти в IT». Похоже, сейчас набирает обороты обратная тенденция. Все чаще в последнее время можно встретить статьи на тему ухода из IT. В них вполне успешные люди описывают свой опыт и называю причины, по которым они хотят покинуть эту «с...

Стартап внутри корпорации Привет, меня зовут Андрей Ванин и я занимаюсь разработкой и запуском брокерских и финтех-продуктов. Сегодня ровно год как я работаю в БКС, где в команде из восьми человек мы развиваем проект fintarget.ru. Ниже (не)большая история о том, как в условиях огромной компании реа...

Тесты визуальной регрессии. Перезагрузка В своей предыдущей статье я рассказывал про опыт использования движка Gemini для разработки визуальных тестов, точнее, тестов визуальной регрессии. Такие тесты проверяют, не «съехало» ли что-нибудь в UI после очередных изменений с помощью сравнения текущих скриншотов с ранее...

Strategy Design Pattern Всем привет, друзья. Меня зовут Alex, я профессиональный разработчик и создатель программных продуктов в веб индустрии. Много лет изучаю языки, делюсь опытом с другими. Сегодня хочу с вами поговорить про шаблон проектирования Стратегия (Strategy). Постараюсь донести до вас п...

Как справиться с декомпозицией задач и не перестараться Всем привет! Меня зовут Виктор, я системный аналитик в компании «Спортмастер». И сегодня я хотел бы поговорить о декомпозиции задач и передачи их в разработку. Любой объект состоит из частей, будь это автомобиль или программный продукт. И чтобы собрать любой из этих объекто...

Стажировка в Parallels, когда тебе 14 лет Привет, Хабр! Меня зовут Тимофей. Мне 14 лет. Недавно я ездил в московский офис Parallels навестить своего ментора. В этой статье я хочу поделиться с вами своими впечатлениями о предшествующей этому событию стажировке и о самой поездке в офис. Читать дальше →

Как подписывать почтовую переписку GPG-ключом, используя PKCS#11-токены Современные почтовые сервисы из года в год совершенствуют свою систему безопасности. Сначала появились механизмы аутентификации через СМС, сейчас уже совершенствуются механизмы машинного обучения для анализа подозрительной активности в почтовом ящике. А что если кто-то по...

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

[Перевод] Чем программирование сегодня отличается от программирования 20 лет назад? Я увидел этот вопрос на Quora и начал писать ответ. Но ответ получился слишком большим, так что я превратил его в эту статью. Вот часть изменений в случайном порядке, которые я заметил в программировании за последние 20 лет: Многие концепции, которые были лишь теоретически...

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптими...

Компания ResearchView разработала новую методику оценки индекса удовлетворенности клиентов CSI (Customer Satisfaction Index) Агентство маркетинговых исследований ResearchView разработало новую методику оценки уровня удовлетворенности клиентов после взаимодействия с компанией, что позволяет руководителям быстрее принимать управленческие решения для повышения лояльности потребителей. Потенциальные к...

[Перевод] Строим города по клику мыши с Houdini и Python В разработке игр постоянно создаются и применяются пайплайны, алгоритмы и небольшие процессы, которые экономят кучу времени и сил. Часто эти решения — простые, но изящные. Эта статья как раз про подобное. Автор придумал метод постройки виртуальных городов, который в персп...

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

Wrike уходит от использования языка Dart. Часть 1 Данной статьёй мы хотим пролить свет на технический стек Wrike: каким он был раньше и каким мы видим его в будущем. Мы расскажем о том, почему пять лет назад мы выбрали язык Dart основным для frontend-разработки нашего продукта и почему сейчас мы решили посмотреть в сторону ...

Опыт использования MobX в большом приложении Всем привет! Меня зовут Сергей, я работаю в команде разработки приложений контроля качества Tinkoff. Поделюсь опытом нашей команды в использовании библиотеки Mobx и расскажу о деталях работы с ней в связке с React. В этой статье не будет описания базовых концепций. Я расск...

Бес в ребро, на старости лет! Покой нам только приходит во сне! Ну типа так! Всем счастья, и легкой печати!!!Не силен в написании постов на тех.тематику, но рубаюсь в ней.... Рискнул, чет замутить...прошу гуру сильно не пинать старичка....всеж 56 разменял...а всякая хрень в голову прет. :))  На VORON 2.0...

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

Телемедицина. Реверсинженеринг электронного стетоскопа Разработкой электроники занимаюсь уже более 10 лет, но как-то так получилось, что первый проект в области медицины у меня появился только в прошлом году и после этого я уже с этой темы «не слазил». Как водится в таких случаях, разработку было решено начинать с изучения про...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Как не пропустить невалидный код в репозиторий Зачем это необходимо Когда в твоей команде работают больше одного человека, так или иначе все сталкиваются с проблемой разных стилей кодирования каждого члена команды. Кто-то пишет скобки для блоков if...else, кто-то нет. Когда проект становится больше, то такой код труднее ...

Проектирование и изготовление телескопа Говорят, что если человек приобрел телескоп и использует его для наблюдений, то через некоторое время он обязательно захочет другой, получше. Так случилось и со мной. У меня есть телескоп PowerSeeker 127мм, но захотелось лучшего. По этой причине я даже было дело собрался то...

Какие законы в сфере цифрового права могут появиться в этом году В прошлом году Госдума рассмотрела и приняла достаточно много законопроектов, связанных с IT. Среди них закон о суверенном рунете, закон о предустановке российского ПО, который вступит в силу этим летом, и другие. На очереди новые законодательные инициативы. Среди них как но...

Решение задания с pwnable.kr 26 — ascii_easy. Разбираемся с ROP-гаджетами с нуля раз и навсегда В данной статье решим 26-е задание с сайта pwnable.kr и разберемся с тем, что же такое ROP, как это работает, почему это так опасно и составим ROP-цепочеку с дополнительными усложняющими файторами. Организационная информацияСпециально для тех, кто хочет узнавать что-то нов...

[Из песочницы] Где найти фриланс, который будет приносить удовольствие? (Спойлер: не Upwork) В нулевых «предпринимательство» стало словом десятилетия, когда взрослые люди, независимо от возраста, открыли для себя мир удаленной работы. Этот шаг принес ощущение свободы в жизни многих людей, и его влияние не теряет своей силы и сегодня. Сейчас снова происходит сдвиг в...

[Перевод] Java/Spring: Как полностью сгенерировать CRUD REST API с помощью Speedment В этой статье вы узнаете, как с помощью Speedment создать полный CRUD REST API для базы данных. С каждым годом становится все очевиднее, что Spring Framework является одним из наиболее широко используемых фреймворков для веб-разработки на Java. Читать дальше →

23 минуты. Оправдание тугодумов Я всегда думал, что я – тупой. Точнее, что я — тугодум. Проявлялось это просто: на совещаниях и обсуждениях я не мог быстро придумывать решение задачи. Все чего-то говорят, иногда умное, а я – сижу и молчу. Даже как-то неудобно было. Все остальные тоже думали, что я тупой....

Habr занял первое место в рейтинге соблюдения цифровых прав пользователей Привет! На связи РосКомСвобода! Хотим поделиться с вами хорошими новостями. Мы выпустили исследование «Рейтинг соблюдения цифровых прав популярными веб-сервисами Рунета — 2020». И Habr (как это уже понятно из заголовка) занял первое место в этом рейтинге, опередив такие комп...

[Из песочницы] Как копирайтеру писать для IT без глупостей и стереотипов Привет. Я Дмитрий — автор и редактор, помогаю IT-компаниям рассказывать о себе с помощью PR-статей на различные ресурсы, начиная от развлекательных и заканчивая большими профильными площадками (Как раз про Хабр, да). Кто-то вроде литературного негра — грубо говоря, ко мне пр...

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

Memory forensics, Rubber Duck и пароли GPO. Решение задач с r0от-мi. Часть 2 Данная статья содержит решений заданий, направленных на криминалистику оперативной памяти, разбора пэйлоада для USB Rubber Duck, а так же расшифрования перехваченных паролей групповой политики Windows. Организационная информацияСпециально для тех, кто хочет узнавать что-то...

IDC: объемы сборки смартфонов в третьем квартале выросли на 7,6% Лидеры мирового рейтинга сборщиков в течение последних пяти лет неизменны; это Samsung и Foxconn. По данным IDC, поставки оригинальных смартфонов, собранных как их разработчиками, так и независимыми производителями, в третьем квартале 2019 года увеличились на 7,6% по срав...

Как мы используем многопоточность в геометрическом ядре Вопрос о многопоточности задают даже далёкие от разработки люди, когда речь заходит о производительности 3D-приложений, в частности систем проектирования (САПР). Поддержка многопоточности закладывается в геометрическом ядре системы. Поэтому мы решили на своём примере показат...

Проектируем мультипарадигменный язык программирования. Часть 5 — Особенности логического программирования Продолжаем рассказ о создании мульти-парадигменного языка программирования, сочетающего декларативный логический стиль с объектно-ориентированным и функциональным, который был бы удобен при работе со слабоструктурированными данными и интеграции данных из разрозненных источни...

[Из песочницы] Простая машина состояний для VueJS Недавно я наткнулся на интересное обсуждение на Full Stack Radio — Bulding Better UI Components with State Machines. Речь шла о том, что концепция машины состояний может помочь при разработке компонентов Vue. Я начал просматривать готовые решения, но они оказались не столь...

Почему мы выбрали Kotlin одним из целевых языков компании. Часть 2: Kotlin Multiplatform Продолжаем цикл статей о внедрении языка Котлин в наш процесс разработки. Первую часть ищите здесь. В 2017 году увидел свет амбициозный проект от компании Jetbrains, предлагающий новый взгляд на кросс-платформенную разработку. Компиляция кода на kotlin в нативный код различ...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

[Из песочницы] Весь Хабр в одной базе Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились. Когда я захотел иметь у себя копию хабра, я решил написать парсер, который бы сохранил весь контент авторов в базу данных. Как это вышло и с какими ошибкам...

Снятся ли роботам психотерапевты Допустим, у вас есть жена или муж, и вы переспали с роботом. Это измена или мастурбация? Я писатель-фантаст и в последнее время меня занимают такие темы. Наверное, подумали вы, со мной что-то нехорошее произошло, раз я за такое взялся. И вы совершенно правы. Что будет, есл...

[Перевод] Vulkan-tutorial. Урок 1.1 — Вступление В связи с тем, что у меня не так много времени для ресерча каких-то новых штук и написания статей о них, я решил перевести серию уроков по Vulkan. Надеюсь, что мои переводы будут кому-то полезны и не очень плохого качества. Для начала обучения — прошу под кат. Автор ориги...

Локализация React приложении Всем привет! До нового года остаются считанные дни. Наткнулся на свой список дел, которые собирался сделать в 2019-м, среди них оказалось и написать статью на Хабр. Самое время заскочить в уходящий вагон). Сразу оговорюсь, пиарю свой велосипед, если такое Вам не по душе, то ...

Как мы работаем над качеством и скоростью подбора рекомендаций в Яндекс.Дзене Меня зовут Павел Пархоменко, я ML-разработчик в Яндекс.Дзене. В этой статье я хотел бы рассказать об устройстве нашего сервиса и поделиться техническими улучшениями, внедрение которых позволило увеличить качество рекомендаций. Из поста вы узнаете, как всего за несколько милл...

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

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже. Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писат...

[Из песочницы] Как рассказать об основных компонентах Android за 15 минут Введение В этой статье пойдет речь о том, как рассказать человеку, ранее не знакомому с программированием под Android, об основных его компонентах. Заинтересовать и показать, что все не так сложно, как многие думают. При этом сделать это за 15 минут и не уходя в объяснение к...

Node.js в 2020: Выйди и зайди нормально За последние 5 лет Node.js очень изменился, но знания о платформе у сообщества остались на уровне 2013-2015 годов, все те же подходы, все те же проблемы. Сообщество плохо следит за новыми возможности, а если и узнает про них, то это не влияет на написание ежедневного кода. ...

[Перевод] Я уволил программиста, который отработал у нас пятнадцать дней Это история о том, почему не следует слишком уж завираться в резюме. Увольнение сотрудников – одна из самых неприятных обязанностей, с которыми я столкнулся в роли руководителя. У нас в компании работает всего двадцать-двадцать пять человек, и я практически со всеми общаюсь ...

Об эстимейтах Тренер дает наставление перед игрой: — Вот ты, Иванов, сколько забьешь бразильцам? Ты же старший ответственный нападающий, мне нужна точная цифра! Верстаешь экран, и как-то лого не так в правом нижнем углу, начинаешь двигать его вправо-влево-вниз, фигак — уже на обед зову...

Партия прямой демократии, конференция AnalogBytes и зачем вообще айтишникам в политику Привет, Хабр! Хочу поговорить на скользкую тему — политическую. Сразу поясню, что сделать это хочу в рамках, для Хабра профильных — технологических, собственно политику трогая лишь тогда, когда тема неизбежно её касается. Также разрешите представиться — для тех, кто меня н...

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

Платформенные команды, DDD радар и MVP, который не превратится в техдолг — все это на TechLead Conf 2020 Привет! Меня зовут Вьет, и больше 10 лет я с любовью пишу код. В прошлом году меня пригласили в программный комитет, в котором большие фанаты качественной разработки делали конференцию QualityConf. Мы верим, что качественная разработка не ограничивается вопросами тестирован...

Работаем с Cutter — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 3 В данной статье разберемся с декомпиляцией ELF файлов в Cutter на примере легеньких задач. Прошлые части введения в реверс: Часть 1: C, C++ и DotNet decompile — основы реверса Часть 2: Реверсим MIPS и Golang — основы реверса Организационная информ...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

Книга “Разработка мобильных приложений на C# для iOS и Android” Уважаемые читатели, рады представить вам книгу “Разработка мобильных приложений на C# для iOS и Android” от уже хорошо известного вам автора и эксперта в Xamarin, Вячеслава Черникова из компании Binwell. Без долгих прелюдий передаю слово автору. Добрый день, уважаемый хабр...

Redux Toolkit как средство эффективной Redux-разработки В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные ...

Только 1 из 10 дезинфицирует эти вещи, не забывая Сегодня важно не только сократить количество перемещений и контактов с окружающими нас людьми, чтобы сдержать скорость распространения вируса и снизить нагрузку на медиков, которым приходится совсем несладко, но и не забывать обрабатывать и дезинфицировать собственные вещи...

Разработка hexapod с нуля (часть 7) — новый корпус, прикладное ПО и протоколы общения Всем привет! Проектирование, печать и сборка нового корпуса наконец-то завершились. Также завершился запуск новой платы управления на базе STM32F373 и FW успешно перенесено на новый МК. Все ближе подходит релиз версии 1.00 с базовым функционалом. Теперь можно рассказать о т...

Open Source датасет SOVA: аудио для распознавания и синтеза речи Всем привет! Мы — команда компании «Наносемантика», и недавно мы запустили проект SOVA, где занимаемся сбором датасета для использования его в обучении нейронных сетей и создания виртуальных ассистентов на базе искусственного интеллекта.Мы подготовили большой датасет для обу...

[Перевод] Визуальная теория информации (часть 1) Перевод интересного лонгрида посвященного визуализации концепций из теории информации. В первой части мы посмотрим как отобразить графически вероятностные распределения, их взаимодействие и условные вероятности. Далее разберемся с кодами фиксированной и переменной длины, п...

Изучаем Kubernetes: базовая программа 14-16 мая, продвинутая 18-20 мая Если вы уже работаете с Kubernetes, посмотрите на программу продвинутого курса. Там будет много тонкостей и сложностей, включая большой новый блок по Istio. Если вам нужно быстро познакомиться с Kubernetes, чтобы влиться в команду или начать самостоятельные эксперименты не с...

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

[Перевод] Как изучать Machine Learning каждый день 9 месяцев подряд Я изучал машинное обучение каждый день на протяжении девяти месяцев, а потом получил работу. Я уволился из Apple. Запустил веб-стартап, но из этого ничего не вышло. Душа к этому не лежала. Я хотел изучать машинное обучение. Это то, что меня воодушевляло. Я собирался изу...

Рост числа транзисторов в чипах продолжает следовать закону Мура Препятствия на пути развития полупроводникового производства уже напоминают не барьеры, а высоченные стены. И всё же отрасль шаг за шагом движется вперёд, следуя выведенному 55 лет назад эмпирическому закону Гордона Мура. Пусть с оговорками, но число транзисторов в чипах про...

Как прошёл п̶е̶р̶в̶ы̶й̶ второй митап по Android от Tinkoff Всем привет! Я — Александр Гузенко, ведущий разработчик в компании Тинькофф. И так сложилось, что я постоянно топлю за какую-то движуху по шарингу знаний, курирую финтех школу по андроиду и люблю ходить на конференции и митапы. Примерно полтора месяца назад я загорелся идее...

Jenkins Pipeline: заметки об оптимизации. Часть 1 Меня зовут Илья Гуляев, я занимаюсь автоматизацией тестирования в команде Post Deployment Verification в компании DINS. В DINS мы используем Jenkins во многих процессах: от сборки билдов до запуска деплоев и автотестов. В моей команде мы используем Jenkins в качестве плат...

[Из песочницы] Как писать хорошие комментарии к коду: «зачем», а не «как» Привет, Хабр! Представляю вашему вниманию перевод статьи «Writing good comments: the why, not the how» автора Jack Franklin. Комментирование кода в программистской среде нередко считается пустой тратой времени или неким сигналом о том, что код можно и улучшить. Вот цитата...

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

Что нового в Red Hat OpenShift 4.2 и 4.3? Четвертая версия OpenShift вышла сравнительно недавно. Актуальная на текущий момент версия 4.3 доступна с конца января и все изменения в ней — это или нечто совершенно новое, чего в третьей версии не было, или крупное обновление того, что появилось в версии 4.1. Все, что мы...

GeekBrains и ResearchMe выяснили: больше половины специалистов пришли в IT из других сфер GeekBrains и ResearchMe выяснили, как люди приходят в IT и digital, почему решаются сменить профессию, что им помогает и чего они боятся. Больше половины специалистов в IT и digital меняли профессию Каждому второму ...

CATL вместе с партнерами реализует стратегию зарубежной экспансии Реагируя на рост популярности электротранспорта, компания Contemporary Amperex Technology Co. Limited (CATL) (300750.SZ), ведущий мировой производитель аккумуляторов для электромобилей, расширяет партнерство с VDL Bus & Coach B.V. и Quantron AG в целях оптимизации спектр...

Проверь себя в Swift: паззлер для любителей головоломок Мы, команда мобильной разработки в SimbirSoft, при создании iOS-приложений широко используем язык Swift – достаточно безопасный, быстрый и выразительный. Для тех, кто знаком со Swift, мы приготовили несколько головоломок–паззлеров. Попробуйте определить результат выполнения ...

Локализация приложений: как мы подружили перевод и разработку Привет, Хабр! Я ведущий разработчик системы локализации в Badoo. Мы работаем с несколькими большими проектами: Badoo, Bumble, Lumen и Chappy. Сейчас в системе локализации у нас находятся 150 000 фраз и текстов, переведённых на 52 языка. При этом каждое из наших приложений и...

[Перевод] Резервирование констант и Git hooks на C# Позвольте мне рассказать вам историю. Жили-были два разработчика: Сэм и Боб. Они вместе работали над проектом, в котором была база данных. Когда разработчик хотел внести в неё изменения, он обязан был создать файл stepNNN.sql, где NNN — некоторое число. Чтобы избежать конфли...

Из студента-юриста в программисты на C/C++: личный опыт Привет. В данной статье я поделюсь своим опытом становления программистом, от зарождения идеи стать инженером программного обеспечения до первых офферов, а также расскажу об опыте прохождения собеседований на позицию С/С++ разработчика в Санкт-Петербурге и выводах, сделанных...

Hack The Box — прохождение Smasher2. Flask, WAF и LPE через pwn драйвера Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье мы пореверсим библиотеку для python, обойдем WAF и проэксплуатируем уязвимость mmap. Подключе...

[Из песочницы] О команде ракетчиков, которые смогут Немного о себе Так случилось, что я после школы поступил учиться в Московский авиационный институт (МАИ) на 601 кафедру, аэрокосмический факультет. Учился я проектированию космических аппаратов и разгонных блоков. С 2004 года я пошёл работать в проектный отдел КБ «Салют» (ФГ...

Cloudflare и Internet Archive сделают сайты доступными даже в случае проблем с хостингом Каждый пользователь интернета хотя бы раз сталкивался с ситуацией, когда запрошенный сайт не открывался. Случается это по разным причинам, но чаще всего проблема — в хостинге. Сбой сервера, на котором размещается сайт, приводит к частичной или полной неработоспособности рес...

Клиент-серверная архитектура в картинках Знакомая картинка? А вы ведь постоянно сталкиваетесь с этой архитектурой — когда покупаете билет в кино онлайн, бронируете путевку на море или записываетесь ко врачу. На клиент-серверной архитектуре построены все сайты и интернет-сервисы. Также ее используют десктоп-про...

Как мы делали очередной конструктор чат-ботов. Часть 1 Привет, Хабромир! Последний год мы с командой провели, создавая свой стартап «Конструктор чат-ботов для бизнеса Botlify», и я хотел бы поделиться с аудиторией небольшой историей проекта и о принятых технических решениях. В этом посте я постараюсь максимально сконцентрирова...

Гусеничное шасси для робота Приветствую сообщество.Сегодня хочу представить Вам на обозрение свое видение гусеничного шасси для робот. Года три искал готового решения, пока ряд событий сего года не подтолкнули меня к изучению и применению в быту САПР.И так, спустя 3 месяца проектирования, печати, потом...

Сценарий идеального технического собеседования Дисклеймер: это сценарий идеального технического собеседования в Delivery Club Tech. Мнение нашей команды может не совпадать с мнением читателей. Привет, Хабр! Меня зовут Василий Козлов, я iOS-техлид в Delivery Club. Я часто и много провожу собеседования. В этой статье я с...

[Из песочницы] Дизайн интерфейса для промышленного контроллера Привет! Меня зовут Георгий, я дизайнер. Пока мы все сидим по домам, я решил поделиться опытом в разработке дизайна интерфейсов для промышленной автоматизации.Так сложилось, что дизайном приложений и сайтами занимается большое количество профессионалов. А вот хороших специал...

Почему VR разработка вам не подходит Всем привет! Меня зовут Григорий Дядиченко, и я занимаюсь AR/VR. (Слышны хлопки по залу). В AR/VR я уже больше 4 лёт, хотя занимаюсь всё это не только исключительно ими, а самыми различными проектами под заказ всё это время. Я работал в студиях, я долгое время был фрилансеро...

[Перевод] Взлом мобильного WiFi-роутера У меня имеется Alcatel MW41 — мобильный WiFi-роутер. К его функционированию у меня претензий нет, но то, как он устроен, вызывает некоторые вопросы. Возникает такое ощущение, что на нём работает некое ПО (точнее — веб-сервер, предоставляющий интерфейс для выполнения настроек...

Трейд-ин на смартфоны Vivo в России Компания Vivo планирует значительно увеличить продажи за счет представленности продукции в магазинах нового партнера. Китайский производитель объявил о начале сотрудничества с компанией «Связной». С декабря 2019 года в 1500 магазинах по России и интернет-маг...

Все, что вы хотели узнать об LDPC кодах, но стеснялись спросить (наверное) Предисловие С кодами малой плотности проверок на чётность, которые дальше мы будем именовать коротко LDPC (Low-density parity-check codes), мне удалось познакомиться более или менее близко, работая над семестровым научным проектом в ТУ Ильменау (магистерская программа CSP)....

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 2 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

Стас Афанасьев. Juno. Pipelines на базе io.Reader/io.Writer. Часть 1 В докладе поговорим про концепцию io.Reader/io.Writer, для чего они нужны, как их правильно реализовывать и какие в связи с этим существуют подводные камни, а также про построение pipelines на базе стандартных и кастомных реализаций io.Reader/io.Writer. Читать дальше &rarr...

[Из песочницы] Почему Rust должен стать функциональным языком программирования Привет, Хабр! Начав изучение Scala, я сразу столкнулся с тем, что функциональная реализация простейшего алгоритма быстрой сортировки работает радикально медленней и потребляет существенно больше памяти, чем аналогичная императивная реализация. При этом никто не спорит, что ...

Как вырастить из студента инженера-программиста? Привет! Меня зовут Денис Довженко, и я уже несколько лет провожу технические собеседования с кандидатами на позиции инженера-программиста C/C++. Если с кандидатами на позиции Senior SW Engineer и выше основной разговор ведётся об опыте работы, то отбор будущих интернов и джу...

Сколько человек видят вашу иконку в App Store во время фичеринга «Приложение дня» Недавно наше приложение Маленькие истории получило фичеринг «Приложение дня» в 32 странах. Я бы хотел поделиться цифрами и показать, сколько людей видят ваше приложение в каждой из этих 32 стран. Заодно в таблице будут количество установок и конверсия в установку из просмотр...

Как мы интегрировали Яндекс.Музыку с Siri. Доклад Яндекса Siri — мощный инструмент с публичным API для сторонних приложений. Например, музыкальных. В докладе я рассказал, как начать разработку обработки голосовых медиазапросов от Siri, используя Intents.framework. Поделился нашим опытом — с чем пришлось столкнуться, чего нет в доку...

Функциональные тесты в Циан Привет! Меня зовут Тимофей, я Python-разработчик в команде Платформа компании Циан. Наша команда занимается разработкой инструментов для продуктовых разработчиков. Это и библиотеки: HTTP-клиент, веб-сервер, библиотеки доступа к базам данных, и средства мониторинга микросерв...

Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные Так выглядит избыточность. Коды избыточности* широко применяются в компьютерных системах для увеличения надёжности хранения данных. В Яндексе их используют в очень многих проектах. Например, применение кодов избыточности вместо репликации в нашем внутреннем объектном хранил...

xAPI и IMS Caliper. Или ADL против IMS? Появление xAPI (ADL) не было неожиданным событием. Очень продолжительное время велись обсуждения TinCan'а, огромное количество открытых форумов «кипели» при обсуждении новой спецификации. И только после достаточного обсуждения, ADL выпустила релиз спецификации. Затем, уже ...

Создание Dashboard в Kibana для мониторинга логов Привет, меня зовут Евгений, я тимлид B2B-направления в Ситимобил. Одной из задач нашей команды является поддержка интеграций по заказу такси от партнеров, и для обеспечения стабильного сервиса мы всегда должны понимать, что происходит в наших микросервисах. И для этого над...

Зажигаем светодиодную ленту на базе WS2811 при помощи ПЛИС Всем привет. Уже почти два года назад я приобрел на aliexpress китайский набор, состоящий из отладочной платы EasyFPGA A2.2, с Cyclone IV EP4CE6E22C8N на борту, ИК пульта SE-020401, программатора, пары USB проводов и шлейфов. Долгое время все это добро лежало у меня без дел...

[Перевод] Представляем Visual Studio Codespaces: облачная разработка, где бы вы ни были Поскольку все мы внедряем такие практики, как социальное дистанцирование и удаленная работа, команды разработчиков стали более распределенными. Наша собственная команда столкнулась с некоторыми проблемами, которые являются частью этого перехода, и это побудило нас усилить ра...

[Из песочницы] Разрабатываем игры на LibGDX с помощью шаблона Entity Component System Привет Хабр! Меня зовут Андрей Шило, я android-разработчик в компании FINCH. Сегодня я расскажу вам о том какие ошибки не стоит допускать при написании даже самой простой игры и чем крут архитектурный подход Entity Component System(ECS). Читать дальше →

Зарплаты в ИТ во втором полугодии 2019 года: по данным калькулятора Хабр Карьеры Наш отчёт по зарплатам в ИТ за второе полугодие 2019 года построен на данных из калькулятора зарплат Хабр Карьеры, в котором за этот период было собрано более 7000 зарплат. В отчёте мы посмотрим на текущие зарплаты по основным ИТ-специализациям, а также на их динамику за ...

[Перевод] Kaboom: необычный сапёр В детстве я три раза в неделю по часу-полтора сидел на работе у отца. Меня пускали за компьютер, где из развлечений был лишь сапёр и Paint. Рисовать мне быстро надоедало, зато желание открыть всё поле и не взорваться мотивировало искать новые и новые способы прохождения эт...

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

Рабочие промокоды для PUBG Mobile на скины, эмоты, граффити и другое (Август 2021) В PUBG Mobile каждый персонаж — это отражение игрока. Если у ваших друзей или просто рандомов постоянно есть крутые шмотки, эффекты, парашюты и другие премиальные предметы, то в какой-то момент становится не по себе. При этом тратить свои кровные не хочется. Не переживайте: ...

[Из песочницы] 5NO — NodeJS ORM for Postgres Кратко об этом модуле Этот модуль разработан мной для упрощения взаимодействия между Postgres и JS. Я понимаю что есть много подобных модулей, но хотелось сделать что то гибкое и простое в обращение средство для разных нужд. Модуль объединяет в себе три важные функции: вал...

МКС получит первый коммерческий жилой модуль Axiom Space — хьюстонский стартап, основанный в 2016 году, — был выбран NASA для строительства первого коммерческого жилого модуля для МКС. Данный модуль будет использоваться в качестве точки назначения будущих коммерческих космических миссий, где, возможно, будут проводитьс...

[Из песочницы] Вывод текста на OLED дисплей с контроллером SH1106 по шине SPI через библиотеку HAL Здравствуйте, уважаемые читатели. В своих разработках на микроконтроллерах STM32, для вывода осмысленной информации, я пользуюсь OLED дисплеями на чипе SSD1306. В последний раз пришел ко мне 1,3" SPI модель по демократичной цене — около 200руб. Первое, что бросилось в г...

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

Разработка приложений в VK mini apps Почему надо смотреть в сторону разработки приложений для работы в VK? У меня за спиной много лет фронтенд-разработки для массовых сервисов, и то, что сейчас предлагает разработчику социальная сеть «ВКонтакте» — быстрый и эффективный способ построить еще один канал коммуникац...

[Перевод] Как обойти капчу-слайдер с помощью JS и Puppeteer Друзья, предлагаю вашему вниманию перевод статьи "How to bypass “slider CAPTCHA” with JS and Puppeteer" автора Filip Vitas. Спам для владельца сайта – огромная проблема. С другой стороны, капчи сводят меня с ума и ухудшают пользовательский опыт. Капчи отстой. Скаж...

Хакатон на 200 человек — что нужно для организации Знаете, почему проекты в крупных компаниях делаются по полгода? Потому что один из самых медленных процессов — это общение с заказчиком для выявления деталей его потребностей. Простое уточнение ТЗ (на гвозди или на клей надо крепить) может занимать до трёх месяцев. Я сейча...

Ключевой разработчик Monero покинул ведущую роль в проекте Ведущий разработчик Monero Рикардо «Fluffypony» Спаньи передал свою роль в проекте контрибьютеру под псевдонимом Snipa. Спаньи курировал разработку в течение пяти лет. Спаньи продолжит сопровождать проект и помогать преемнику. В рамках перераспределения обязанносте...

HowToCode — Адаптация системного подхода к разработке для React и TypeScript Наверное, каждый программист рано или поздно начинает задумываться о качестве своего кода. И, скорее всего, я не ошибусь, если скажу, что добрая половина разработчиков им вечно недовольна. Мне мой код тоже нравился редко: функции, казалось, можно было бы делать и покороче, л...

Хороший ли выбор Svelte для реализации виджета? Привет! Меня зовут Дмитрий Усов, я фронтенд-разработчик в Ситимобил. Буквально несколько месяцев назад появилась задача создать виджет для заказа такси через сайт. В этой статье я хотел бы рассказать, почему для этой задачи был выбран Svelte, поделиться своим мнением о его д...

В Госдуме считают, что Apple не уйдёт с российского рынка из-за «закона против Apple» В начале месяца Владимир Путин подписал так называемый «закон против Apple». Его суть заключается в том, что с 1 июля 2020 года, когда закон вступает в силу, он обязывает производителей смартфонов, компьютеров, умных телевизоров и прочих подобных устройств п...

[Перевод] Не становитесь Data Scientist Когда у меня просят совет о том как попасть в data science, я советую стать разработчиком программного обеспечения. Это мое мнение. Я бы хотел услышать контраргументы в комментариях. Все вокруг, даже ваша бабушка, хотят стать data scientist. Может быть data science это сам...

[Из песочницы] Как начать писать микросервис на Spring Boot, чтобы потом не болела голова Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot....

[Перевод] Как улучшить производительность вашего Flutter приложения Есть много вопросов, решений и заблуждений, как мы можем улучшить производительность нашего Flutter приложения. Необходимо сразу уточнить, что Flutter является производительным по умолчанию, но мы должны избегать некоторых ошибок при написании кода, чтобы приложение всегда ...

Глава Nvidia подтвердил, что компания может начать выпуск процессоров под собственной маркой Как мы уже сообщали, компания Nvidia подписала соглашение о покупке компании Arm за 40 млрд долларов. Комментируя сделку, генеральный директор Nvidia Дженсен Хуанг (Jensen Huang) подтвердил напрашивающееся само собой предположение, что в будущем на рынке могут появиться...

[Перевод] Создавайте игры из виртуальных блоков LEGOⓇ в LEGO Microgame Последний шаблон серии Microgames предназначен для новых пользователей: они смогут поделиться своей первой 3D-игрой, на разработку и настройку которой уйдет не больше часа.Мы уверены, что чем больше среди нас творческих людей, тем лучше становится мир. Наша цель — сдела...

[Перевод] Как Crash Bandicoot взламывал Playstation Энди Гэвин из Naughty Dog рассказывает об управлении памятью и 3D-анимациях 90-х. «Памяти в Crash Bandicoot настолько не хватало, что мне приходилось красть небольшие кусочки лишней памяти из библиотек Sony. Я просто пробовал удалять те части, которые, как мне казалось, я ...

Как работать с джуниорами? Если попробовать ответить на вопрос в заголовке одним предложении, то получится — доверять, но проверять. Доверьте джуниорам какую-то работу, проверьте, помогите, повторите цикл. Но это грубое и упрощённое правило, потому что в работе с джунами возникает так много тонкостей,...

Поиск работы за границей и иммиграция в Канаду Всем привет! Я хотел бы поделиться своим опытом и ошибками, которые могут быть полезны всем, кто хотел быть жить и работать в другой стране. TL;DR: Сейчас я живу в городе Виктория, на острове Ванкувер. Это Канада, Британская Колумбия. Свою мечту жить у океана я реализовал, ...

Онбординг разработчиков «Я прихожу на работу, мне дают ноутбук, показывают рабочее место, выдают задачу, а дальше сиди и делай сам. Спустя пару месяцев я должен знать всё о компании, но, на самом деле, я помню только сделанные задачи. Кому задавать вопросы? А можно подойти к директору? Где туалет?»...

Как создать мобильное приложение за 1 день? Вы можете получить такое приложение всего за день без единой строчки кода Любая компания, будь то магазин техники, одежды или игрушек, заинтересована в постоянном привлечении новых покупателей. И если сайт в наше время есть чуть ли не у ларька по продаже цветов, то с мобильн...

Обнажённая электроника — бесплатные фото без СМС и регистрации Привет, Интернет. В процессе работы над проектом Nude Electronics Art я сделал достаточно качественные фотографии электронных плат и решил поделиться ими со всеми. Вы можете скачать их бесплатно на сайте Pixabay, в том числе для коммерческих целей. Коллекция будет потихонь...

Алексей Кузовкин поделился комментарием к принятию закона об обязательной установке отечественного ПО на смартфоны ГД РФ в третьем (окончательном) чтении решила принять закон, обуславливающий обязательную предпродажную установку на гаджеты программного обеспечения (ПО) отечественного производства. Отмечается, что федеральное Правительство определится с итоговым перечнем устройств и прог...

Оперативная аналитика в микросервисной архитектуре: п̶о̶н̶я̶т̶ь̶ ̶и̶ ̶п̶р̶о̶с̶т̶и̶т̶ь̶ помочь и подсказать Микросервисная архитектура, как и все в этом мире, имеет свои плюсы и свои минусы. Одни процессы с ней становятся проще, другие — сложнее. И в угоду скорости изменений и лучшей масштабируемости нужно приносить свои жертвы. Одна из них — усложнение аналитики. Если в монолите ...

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

Обзор SVEN MK-950. Многофункциональный микрофон для караоке Сегодня мы бы хотели представить вашему вниманию не совсем обычную новинку компании SVEN, которая не перестает радовать своих покупателей стильными и многофункциональными решениями. Встречайте, перед вами микрофон для тех, кто не хочет тратиться на дорогостоящее оборудование...

Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем. Иван Пономарёв Предлагаю ознакомиться с расшифровкой доклада Иван Пономарёв "Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем" Рефакторинг кода может быть увлекательным, особенно если это код вашей инфраструктуры. К тому же Ansible-роли почему-то имеют те...

[Из песочницы] Распределенный реестр для колесных пар: опыт с Hyperledger Fabric Привет, я работаю в команде проекта РРД КП (распределенный реестр данных для контроля жизненного цикла колесных пар). Здесь я хочу поделиться опытом нашей команды в разработке корпоративного блокчейна для данного проекта в условиях ограничений, накладываемых технологией. По ...

[Перевод] Мои десять лет в геймдеве Привет! Меня зовут Нико Туасон, я разработчик инди-игр из Филиппин. В этом году исполняется десять лет с того момента, как я начал свой путь в геймдеве. Я хотел бы поделиться с вами историей всей моей карьеры – провалами, триумфами, важными жизненными событиями. Надеюсь, вы ...

Новые промокоды на Standoff 2 для валюты, скинов и кейсов (Август 2021) В Standoff 2, как и других мобильных шутерах, самое главное не скил, а какие у вас скины. Но что делать, если денег на них нет и в ближайшее время не предвидится? Тогда на помощь приходят промокоды, про которые не все знают, особенно кто не читает AppTime. Каждый месяц мы де...

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2 В данной статье узнаем про функцию crypt, узнаем как подбирать пароли к ZIP архиву с незашифрованными именами файлов, познакомимся с утилитой xortool, а так же разберемся с генератором псевдослучайных чисел. Предыдущие статьи на эту тему: Часть 1 — Кодировки, шифр сдвига,...

Бюджетный Samsung Galaxy M20 уже с Android 10 даже в Европе Бюджетные смартфоны Samsung Galaxy M20 и M30 неожиданно получили Android 10 ещё в середине декабря — раньше того же Galaxy Note10. Но изначально обновление было доступно лишь в Индии, так как это родина данных моделей. И вот теперь сообщается, что обновлен...

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

[Из песочницы] AI на минималках: пишем свой Сокобан и учим компьютер его решать В этой статье я расскажу как написать свою реализацию известной игрушки Сокобан, а также алгоритм для её решения с нуля. Заодно применю на практике некоторые шаблоны проектирования и принципы SOLID. Весь код расположен по адресу Читать дальше →

Группа ведущих центробанков обсудит разработку собственных цифровых валют в апреле Группа, состоящая из центробанков Канады, Великобритании, Японии, Европейского союза, Швеции и Швейцарии, а также Банка международных расчетов, проведет первое совещание по разработке собственных цифровых валют (CBDC) в апреле 2020. Об этом сообщает Nikkei Asian Review. В ию...

Робо-сумо: интеллектуальные бои роботов (с) Каждый год около тысячи команд со всей Японии вступают в ожесточенное сражение на турнире роботов. В этом состязании вы не увидите бензопил, факелов и электрических разрядов — словом, ничего из того, что приходит в голову, когда вы слышите фразу «битва роботов». Речь...

Samsung представила свой аналог AirDrop. Что он умеет Quick Share — это аналог AirDrop от Samsung, который можно назвать даже более продвинутым, чем оригинал Несмотря на то что обычно Apple довольно нетороплива в освоении новых технологий, наиболее ценные наработки, которым предстояло изменить рынок, первой внедряла именн...

Что такое СПОДЭС и причём здесь прибор учёта электрической энергии В октябре 2019 года вышла вторая версия спецификации СПОДЭС – корпоративного стандарта ПАО «Россети» СТО 34.01-5.1-006-2019 «Счетчики электрической энергии. Требования к информационной модели обмена данными», а в июле 2020 года Федеральное агентство по техническому регулиро...

Кроссовки 3D печатника Хочу поделиться фотографиями своей обуви. До самоизоляции я приобрел эти Adidas Stan Smith. Находясь дома 2 месяца, от скуки решил эти кроссовки разукрасить. Дизайн придумал сам, красили мои знакомые.Но сначала всё по порядку. Первым делом, я хотел изобразить свою любовь к 3...

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

Профессия: фронтенд-разработчик ххх: на чём пишешь фронтенд? yyy: на костылях и велосипедах ххх: ммм, хороший фреймворк! Bash.im Когда приходит мысль стать программистом, ты вдохновенно открываешь справочник Шилдта по С, заказываешь толстую книгу Страуструпа по С++ и учишься шутить про указатель на указат...

[recovery mode] Итоги десятилетия До конца десятилетия остается две недели, а это значит пришло время подведения итогов. Я очень хотел сам написать весь материал, но боялся, что он получится слишком однобоким, поэтому долго откладывал. Признаюсь, для написания статьи, я вдохновлялся шикарнейшим выпуском The ...

Новые угрозы конфиденциальным данным: результаты глобального исследования Acronis Привет, Хабр! Хотим поделиться с вами статистикой, которую удалось собрать в ходе нашего пятого глобального опроса. О том, по какой причине чаще происходили потери данных, каких угроз больше всего боятся пользователи, как часто сегодня делают резервные копии и на какие носит...

Обзор k9s — продвинутого терминального интерфейса для Kubernetes K9s предоставляет пользовательский интерфейс терминала для взаимодействия с кластерами Kubernetes. Цель этого Open Source-проекта — облегчить удобную навигацию по приложениям в K8s, наблюдение за ними и управление ими. K9s постоянно следит за изменениями в Kubernetes и пре...

Clean Architecture глазами Python-разработчика Привет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов ...

[Личный опыт] Как я переехал в Австралию всего с двумя годами опыта в разработке Продолжаем публикации из рубрики личный опыт. Сегодня iOS-разработчик Игорь Никитин, который два года назад переехал в Сидней, поделится опытом поиска работы, обустройстве на новом месте и впечатлениями от устройства жизни в Австралии. Передаем ему слово! Всем привет, мен...

ТОП-5 глупейших мифов о здоровье У страха глаза велики, как и у врачей, к которым люди приходят с самыми странными и абсурдными заявлениями. Виной всему популярные неправдивые мифы, навязанные молодежи старшим поколением. Читать полную статью

Ремонтно-строительная компания Partner Construction На сегодняшний день многие крупные компании стремятся создать не только комфортный, но и стильный, уникальный дизайн офиса. В мире бизнеса офис является визитной карточкой всей компании. К тому же сейчас активно используется брендирование и офисное помещение как нельзя лучше...

Сниппеты. Как сделать процесс работы с документацией проще Привет, Хабр! Меня зовут Павел Лесюк. Я тестировщик нативных мобильных приложений. В своей предыдущей статье я привел список инструментов, которые могут использоваться тестировщиками и некоторыми другими специалистами для повышения продуктивности своей работы. В новой сери...

Catchain: алгоритм консенсуса блокчейна TON В предыдущем обзоре наша команда R&D рассказала о структуре Telegram Open Network и особенностях функционирования ключевых узлов (валидаторов) TON Blockchain, а также поделилась опытом Mercuryo, как валидатора сети. Эта статья посвящена одному из ключевых вопросов, отве...

[Из песочницы] IoT шлюз Ethernet-RS485 на базе STM32 Привет, Хабр!Данный пост посвящён DIY разработке Ethernet-RS485 шлюза. Цель данного шлюза – обеспечение централизованного управления нодами Mysensors со стороны контроллера умного дома.Недавно меня таки достали провода, дюпоны, навесная пайка и т.п. и было принято давно оття...

Hack The Box — прохождение Bitlab. Слабая JS обфускация, GIT и реверс Windows приложения Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим...

Настройка CI/CD скриптов миграции БД с нуля с использованием GitLab и Liquibase Добрый день, уважаемые читатели. Совсем недавно мне пришлось осваивать новую для себя область CI/CD, настраивая с нуля доставку скриптов миграции базы данных в одном из проектов. При этом было тяжело преодолеть самый первый этап "глаза боятся", когда задача вроде бы ясна, а ...

[Перевод] Как я в одиночку питчил игру, не имея в этом никакого опыта Недавно я анонсировал свою первую крупную игру Peachleaf Pirates. Чтобы это отпраздновать, хочу поделиться тем, как прошел путь от работы в отеле до успешного питча собственной игры и полного погружения в фултайм разработку, не имея при этом никакого опыта. В этом посте расс...

[Из песочницы] Написание графического приложения на Electron JS (начало: Создание окна) Приветствую! Если вы зашли на эту статью, значит скорее всего вам крайне неохота лезть в официальную документацию (а очень зря. Она и написана подробно, и имеет перевод на русский язык) и вы пришли за простым решением вашей проблемы — написание кросс-платформенного приложени...

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

Проблема в Android выводит из строя смартфоны Xiaomi, Google и OnePlus Владельцы смартфонов под управлением операционной системы Android стали жаловаться на новые проблемы со стабильностью системы.Жалобы приходят от владельцев смартфонов Google, а также Xiaomi и OnePlus. Практически все затронутые девайсы управляются операционной системой Andro...

[Перевод] Машинное обучение в Unity: учим МО-агентов перепрыгивать через стены За последние несколько лет в обучении с подкреплением (reinforcement learning, RL) произошли серьезные прорывы: от первого успешного его использования в обучении по сырым пикселям до обучения Open AI роборуки, ― и для дальнейшего прогресса становятся необходимы все более сло...

TDD в микроконтроллерах. Часть 2: Как шпионы избавляют от зависимостей В предыдущей статье мы начали освещать тему эффективности применения методологии TDD для микроконтроллеров (далее – МК) на примере разработки прошивки для STM32. Мы выполнили следующее: Определили цель и инструменты разработки. Настроили IDE и фреймворк для написания тесто...

Что такое шардинг? 1 Что такое шардинг? Шардинг — метод разделения и хранения единого логического набора данных в виде множества баз данных. Другое определение шардинга — горизонтальное разделение данных. 2 Когда и кто изобрел шардинг? Концепция шардинга применялась в управлении традиционными ...

3D игры в Инстаграм на Javascript, или траектория полета колбасы После первой статьи о программировании игр в масках Инстаграм ко мне обратился заказчик с просьбой создать игру в Инстаграм для его пиццерии. Эту игру планировалось использовать для целей продвижения бизнеса. Я, конечно, понимаю, что, судя по количеству просмотров первой с...

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

Как «раскирпичить» STM32 Здравствуйте! Меня зовут Дмитрий Руднев. В этой публикации я поделюсь своим горьким опытом. В современной разработке широко используются микроконтроллеры STM32. Они обладают неплохим соотношением цена/производительность, вокруг них сложилась развитая «экосистема». Для прош...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

Суммаризация текста: подходы, алгоритмы, рекомендации и перспективы Ежедневно каждый из нас сталкивается с огромным информационным потоком. Нам часто необходимо изучить множество объемных текстов (статей, документов) в ограниченное время. Поэтому в области машинного обучения естественным образом родилась задача автоматического составления ан...

DJI определяет новый стандарт для промышленных устройств, представляя самую передовую коммерческую полетную платформу и ее первую серию гибридных камер Новый дрон Matrice 300 RTK и серия камер Zenmuse H20 выводят возможности летательных аппаратов на новый уровень, знаменуя развитие искусственного интеллекта и автоматизации работы. Компания DJI, ведущий производитель гражданских беспилотных летательных аппаратов и камер для ...

[Перевод] Запускаем Golang на Jupyter Notebook Если вы знакомы с Python, то уже сталкивались с Jupyter Notebook или работали в нём по крайней мере один раз. Jupyter Notebook — это удобный инструмент, позволяющий писать мини-код и отслеживать его выполнение. Он также помогает в документировании, ведении журнала и в том, ч...

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы. В качестве линтера я решил использов...

Знакомство с pg_probackup. Первая часть Привет, я Александр Никитин, главный системный администратор компании «БАРС Груп». В этой статье я хочу познакомить вас с инструментом pg_probackup. Pg_probackup — разработка компании Postgres Professional, которая помогает делать резервные копии СУБД PostgreSQL. В отличи...

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

[Из песочницы] Логистика. Введение. Просто о сложном Все мы любим мечтать, в особенности когда это связано с посещением новых мест или возвращением в любимые места. Ничто так не воодушевляет, как чувство предвкушения планируемого события и омрачает его лишь наличие организационных моментов, в частности, выбор и покупка билетов...

[Перевод] Самые интересные automotive-стартапы 2019-2020 Несмотря на то, что сроки внедрения полностью автономных транспортных средств постоянно изменяются, это не замедляет рост экосистемы автомобильных стартапов. В то время как одни компании все еще работают над достижением цели 5-го уровня автономности, другие решают проблемы...

JavaScript библиотека Webix глазами новичка. Часть 4. Работа с данными. CRUD Я — начинающий front-end разработчик. Сейчас я учусь и стажируюсь в одной минской IT компании. Изучение основ web-ui проходит на примере JS библиотеки Webix и я хочу поделиться своим скромным опытом и сохранить его в виде небольшого учебного пособия по этой интересной UI б...

[recovery mode] Максимальное количество значений в enum Часть I Часть первая, теоретическая | Часть вторая, практическая По мотивам твита от Evgeny Mandrikov aka godin: Quiz: without running #Java compiler, do you know how many constants can be defined in enum?— Evgeny Mandrikov (@_godin_) December 13, 2019 В нём он задаётся вопросо...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

Параметризованное 3D-моделирование подшипникового стакана в nanoCAD Plus 20 Компания MaxSoft категорически приветствует всех читателей! В этой статье речь пойдет о САПР-платформе nanoCAD, а если конкретнее — о её 3D модуле. Так уж сложилось, что из релиза в релиз, все вертикальные решения на базе платформы nanoCAD, ровно как и сама платформа, обяза...

SSL сертификат для Docker web-app В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел. Подробнее под катом. Читать дальше →

70 лет стереотипов: Как преодолеть недоверие к ЖЭКам с помощью IT-технологий и повысить качество обслуживания Что вам первое приходит в голову при слове ЖЭК? Если слесарь, то чуток подвыпивший. Если электрик, то весельчак, который периодически выдаёт монологи на непереводимом диалекте русского языка, когда 220 В пробегают по его ловким пальцам. И никогда не угадаешь, хорошо тебе ис...

Portmanteau или слово-чемодан: как шутка в английском языке превратилась в новый способ создавать необычные слова Каждый год в словарь английского языка добавляется примерно 1000 новых слов. А это значит, что каждый день создается примерно 3 новых. И как минимум одно из этих трех — это «портмонто». Что это за смесь бульдога с носорогом? Всего лишь слово, которое было создано из комбина...

Обзор Defender X190. Акустическая система 2.1 с Bluetooth Сегодня мы бы хотели представить вашему вниманию очередную новинку компании Defender. Встречайте, перед вами акустическая 2.1 система с Bluetooth, модель X190. Стильный дизайн, отличный функционал и привлекательная цена сумеют привлечь внимание покупателей. Давайте детальней...

Понижаем барьеры на вход в распознавание речи Автоматическое распознавание речи (STT или ASR) прошло долгий путь совершенствования и имеет довольно обширную историю. Расхожим мнением является то, что лишь огромные корпорации способны на создание более-менее работающих "общих" решений, которые будут показывать...

Hack The Box. Прохождение Sniper. RFI и вредоносный CHM документ Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье эксплуатируем RFI, обходим блокировку shell meterpreter и создаем вредоносный CHM документ. Подключение к ...

Самоизоляция существенно повлияла на продажи программного обеспечения в России Компания "Системный софт" провела анализ изменения спроса на различные виды ПО в марте 2020 года и сравнила его с показателями того же периода 2019 года. Экспресс-исследование проведено для того, чтобы выяснить, как перевод значительной части бизнеса на удаленную работу и в...

[Из песочницы] Моделирование меандровой инвертированной-F антенны – это просто Приветствую, эта статья посвящена моделированию меандровой инвертированной-F антенны (англ. Meander inverted-F antenna, MIFA) в программе Ansys HFSS. Пошаговая инструкция проектирования антенны. Сделай свою MIFA! Читать дальше →

[Перевод] Воксели против теневых карт: выбор новой системы освещения для Roblox В течение последних четырех лет воксели служили в качестве системы освещения в мире Roblox. Но рано или поздно во всем приходит время перемен. Именно поэтому разработчики задались вопросом, что делать дальше. Освещение — штука сложная, так что нужно быть осторожными при в...

Работа не волк, часть 5. Увольнение: я ухожу красиво? В тот день мой кошелёк остался в офисе, о чём удалось узнать только на трамвайной остановке. Было грустно: уволился коллега, с которым мы работали 4 года бок о бок, мы только проводили его. Надо было возвращаться. Кроме кошелька, в кабинете был тот самый коллега: большой во ...

[Перевод] Двойная бухгалтерская запись в реляционной БД От переводчика: в ходе моей работы в нигерийском финтехе пришлось мне создавать с нуля одну платежную систему. Я тогда ничего толком не понимал в вопросах бухгалтерии, в том как именно лучше хранить платежи и балансы. Но было подозрение, что примитивный вариант с одной цифер...

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

[Перевод] Как защититься от неожиданных счетов за AWS Представьте, что у вас в облаке маленький проектик. Уже полгода вы платите за него по 20 центов в месяц. В принципе, ничего особенного. Но однажды утром вдруг приходит крупный счёт на 2700 долларов. В облаке мы платим за хранение, вычисления и другие услуги по мере их испо...

Игра слов не для ослов: как переводить и понимать каламбуры на английском Перевод каламбуров — личный ад для каждого переводчика. Сложнее переводить только стихи. Вот только огромная часть английского юмора строится именно на каламбурах. Если просто убрать их — сериалы и фильмы станут скучными и неинтересными. К примеру, мультсериал «Гриффин...

Новинка в мире Android приходит на смартфоны Vivo и iQOO В прошлом месяце китайский производитель мобильных телефонов Vivo представил новую фирменную оболочку OriginOS на базе Android, а теперь компания начала набор бета-тестеров среди владельцев первых поддерживаемых смартфонов. Согласно официально опубликованному перечню, в...

SteelSeries приобрела разработчика ПО в области звука SteelSeries объявила о приобретении компании A-Volute, занимающаяся разработкой программного обеспечения для 3D-звука. SteelSeries стремится улучшить свое программное и аппаратное обеспечение с помощью команды A-Volute. A-Volute разработала программное обеспечение Nahim...

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

[Перевод] Интеграция чат-бота Dialogflow с Angular-приложением Существует множество публикаций о разработке чат-ботов с использованием возможностей платформы Dialogflow. Но для выхода на решение, которое применимо на практике, просто создать бота недостаточно. Бота надо подключить к веб-интерфейсу. Это — интересная и сложная задача. Чат...

Обзор Monster Hunter: World + Iceborn. Лучший симулятор охоты на свете Что приходит на ум, когда слышишь словосочетание «симулятор охоты»? В основном, какая-то вялотекущая игра, где надо полчаса ждать в засаде какого-нибудь оленя, а когда он все же появится, то быстро прицелиться и завалить его единым выстрелом. Согласитесь, скучновато. Похоже ...

Как подключить Android к ТВ? Как часто вы хотите посмотреть фотки или YouTube через большой экран телевизора? Или может просто желаете перекинуть фильм с Android на ТВ? Но уверен, что вы постоянно сталкиваетесь с проблемой подключения двух устройств. Прочитав эту статью, вы сможете без трудностей справи...

Яндекс выпустил новый мессенджер. Приложение ставить необязательно Яндекс объявил о выпуске нового Яндекс.Мессенджера. Он приходит на смену Яндекс.Чатам. Как обещают разработчики, в нём есть «всё что нужно для общения».  Среди функций — чаты и видеозвонки, голосовые сообщения с текстовой расшифровкой, кан...

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

Отложенный Alpha blending В этой статье я хочу поговорить о методах смешивания растеризуемой геометрии. Классические модели смешивания полупрозрачных объектов — Alpha, Additive, Multiplicative — объединяет один и тот же принцип отрисовки: последовательно рисуем один примитив за другим, смешивая получ...

А можете пощупать кандидата, жив ли он? В каждой профессии рано или поздно возникает свой сленг и новояз. Специалисты по работе с персоналом не исключение. Попросили HR-менеджеров из различных IT-компаний поделиться своими перлами и находками. Читать дальше →

[Перевод] Single sign-on для SSH своими руками TL;DR В этот статье мы установим single sign-on для SSH от Google. За кулисами мы воспользуемся OpenID Connect (OICD), краткосрочными SSH сертификатами, несколькими хитростями конфигурации SSH, и опенсорсными пакетами step-ca и step от Smallstep. Мы настроим SSH Certificate ...

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

Общаемся с дисплеем SSD1306 по i2c Все любители электронных самоделок когда-нибудь приходят к желанию отобразить работу своей поделки на экране в виде текста или графики. Самый бюджетный способ сделать это — обратиться к алфавитно-цифровому дисплею типа LCD1602 или LCD2004, общение с которыми происходит либо ...

Полиграфистки сходят с ума по одной Полиграф, он же детектор лжи – это прикольно. Как-нибудь обязательно попробуйте, хотя бы для расширения кругозора. В личной жизни там особо копаться не будут, только в некоторых ее аспектах. Мне с полиграфом повезло вдвойне – была возможность поставить небольшой эксперимент...

Закон Конвея и его важность при создании команд Закон Конвея (Conway’s Law) имеет большое значение для понимания тех сил, что возникают при формировании команд, и того результата, который они могут оказать на команды в условиях длительного и автономного, неуправляемого и некорректируемого воздействия. И, как следствие, дл...

Huawei MATE 40 может получить сенсорный дисплей вокруг задней камеры До сих пор смартфоны с двойным дисплеем считались неудачными. Но Huawei решили применить несколько иное видение этой технологии, как мы видим в новом патенте. Последние несколько месяцев было принято часто игнорировали патенты, так как это были просто фантазии различных разр...

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

Как весь мир пытался создать альтернативу Android, но не смог Были ли альтернативы Андроиду? Android-смартфоны сегодня доминируют на рынке телефонов. Многие даже не знают, что когда-либо существовали альтернативы не в виде iOS, которой уж очень тяжело тягаться с Android за счет того, что это закрытая операционная система, привязанная к...

Huawei открыла «умный» магазин с роботами-продавцами В технологической хватке Huawei не откажешь и ее продукты с каждым годом становятся все лучше, а еще в них появляются ряд интересных и инновационных решений. Сделать прорыв компания решила еще и в розничной торговле, открыв в китайском международном центре новых разработок W...

[Перевод] Создание тёмной темы для Stack Overflow 30 марта 2020 года разработчики Stack Overflow дали посетителям сайта возможность пользоваться бета-версией тёмной темы. Материал, перевод которого мы публикуем, посвящён рассказу о том, как создавалась тёмная тема Stack Overflow. Баннер на Stack Overflow, который позволяе...

Понимаем красно-черное дерево. Часть 2. Балансировка и вставка Это вторая часть из серии статей "Понимаем красно-черное дерево". Если вы пропустили первую часть, настоятельно рекомендую ознакомиться с ней здесь. Там мы разобрали причину появления кчд и расставили по полочкам некоторые его свойства.В данной части мы разберем вставку и ба...

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

История о птице Додо из рода Фениксов. Великое падение Dodo IS Каждый год 21 апреля мы вспоминаем историю Великого падения Dodo IS в 2018 году. Прошлое – жестокий, но справедливый учитель. Стоит помнить о нём, повторять уроки, передавать новым поколениям накопленные знания и с благодарностью относиться к тому, кем мы стали. Под катом мы...

Поднимаем свой инстанс Webogram с проксированием через nginx Привет, Хабр! Недавно я попал в ситуацию, в которой необходимо было работать внутри корпоративной сети с неполным доступом к интернету и как вы можете догадаться по заголовку — Telegram в ней был заблокирован. Уверен, что данная ситуация знакома многим. Я вполне могу обход...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)