Социальные сети Рунета
Вторник, 23 апреля 2024

Компилятор Ангуляр в 200 строчек кода Привет. Меня зовут Роман, и я не изобретатель велосипедов. Мне нравится фреймворк Angular и экосистема вокруг него, и я разрабатываю с его помощью свои веб-приложения. С моей точки зрения, основное преимущество Angular в долгосрочной перспективе базируется на разделении кода...

[Из песочницы] Создаем свой компонент с микро-шаблонами Всем привет. Все кто так или иначе писал на фреймворке Angular сталкивался или работал с библиотекой Angular Material. Это очень хорошо написанная библиотека компонентов способная к гибкой стилизации, которая реализована через возможность создания различных тем вашего прилож...

[Из песочницы] Делим Laravel на компоненты Привет, Хабр. Недавно получил в руки интересный проект, который, несмотря на свою простоту требовал не использовать какой-либо фреймворк. О пакетах речи не шло, поэтому было принято решение использовать привычные компоненты Laravel. Если есть необходимость в использовании оч...

Субъективный user.js для Mozilla Firefox и не только Вот уже почти 15 год я пользуюсь Mozilla Firefox на ежедневной основе, и, конечно, у меня есть свой небольшой субъективный user.js, который с каждым релизом новой версии приходится обновлять. Спешу им (и не только) поделиться. Если кому-то интересно, то добро пожаловать под...

[Перевод] Сборщик мусора в V8: как работает Orinoco Не то чтобы работа сборщика мусора — это то, о чём каждый день думает фронтенд-разработчик, но это очень интересно. Если честно, это одна из самых жестоких статей, что я читал за последнее время: тут много про смерть в молодом возрасте, про гонения из одной области памяти в ...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

Рецепты TeamCity. Доклад Яндекс.Такси Меня зовут Эдуард Мацуков, я делаю Таксометр — приложение для водителей Яндекс.Такси. Занимаюсь инфраструктурой и всем, что с ней связано. Какое-то время назад я выступил с докладом — рассказал об опыте дружбы TeamCity с нашим проектом и с разработчиками в целом. Отдельная ч...

Парное программирование в Vineti Почти год уже прошел как я переехал жить и работать в Ереван из Москвы. В этой истории я расскажу вам не про свою жизнь в этом замечательном городе (здесь очень здорово), а про более приземленные вещи. А именно, про практики которые мы применяем при разработке нашего проду...

[Из песочницы] Опыт установки Apache Airflow на Windows 10 Преамбула: волею судьбы из мира академической науки (медицины) я попала в мир информационных технологий, где мне приходится использовать свои знания о методологии построения эксперимента и стратегиях анализа экспериментальных данных, однако, применять новый для меня стек тех...

Запускаем инструментальные тесты в Firebase Test Lab. Часть 1: iOS проект Меня зовут Дмитрий, я работаю тестировщиком в компании MEL Science. Совсем недавно я закончил разбираться со сравнительно свежей фичей от Firebase Test Lab — а именно, с инструментальным тестированием iOS приложений с использованием нативного фреймворка тестирования XCUITe...

[Из песочницы] Как не надо писать шаблоны для bootstrap Мало кто сейчас пишет дизайн сайта с нуля — зачем, если есть куча замечательных CSS фреймворков? Наиболее популярен среди них bootstrap. Тем не менее, всем хочется, чтобы сайт выглядел уникально, не так как у других — поэтому поверх часто втыкают(в меру возможностей) бесплат...

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

[Перевод] Parcel — мой любимый сборщик проектов Сегодня мы поговорим о сборщиках проектов (о бандлерах), об инструментах, которые облегчают жизнь разработчиков. Суть работы бандлеров заключается в том, что они берут JavaScript-код, содержащийся во множестве файлов, и упаковывают его в один или несколько файлов, определённ...

[recovery mode] Как я свою онлайн игру создавал. Часть 1: Работа с сетью Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да...

Boost.Spirit, или Добавляем «духовности» фильтрам списков Доброго времени суток, коллеги. Я по-прежнему являюсь разработчиком ISPsystem, и меня все еще зовут Дмитрий Смирнов. Некоторое (довольно продолжительное) время я никак не мог определиться с темой следующей публикации, поскольку материала за последние месяцы работы с Boost.A...

Proof of Concept: целесообразность внутреннего ML проекта Недавно в уютном чатике дата сатанистов подняли вопрос, как правильно "продавать" внутренние проекты по машинному обучению. Оказалось, что многие из нас весьма брезгливо относятся к экономическому обоснованию своей деятельности. Меж тем, чтобы провести минимальную оценку рен...

[Перевод] Управление стейтом с помощью React Hooks – без Redux и Context API Всем привет! Меня зовут Артур, я работаю ВКонтакте в команде мобильного веба, занимаюсь проектом VKUI — библиотекой React-компонентов, с помощью которой написаны некоторые наши интерфейсы в мобильных приложениях. Вопрос работы с глобальным стейтом у нас пока открыт. Существу...

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

Что нового в Swift 5? Привет, меня зовут Илья. Я — iOS разработчик в компании Tinkoff.ru. В этой статье я сделаю краткий обзор основных изменений в Swift 5. Данные изменения описаны в release notes. Для тех, кто еще не ознакомился, добро пожаловать под кат! Читать дальше →

Supply Chain Security: «If I were a Nation State...» Задумывались ли вы, сколько различных организаций, компаний, служб, людей приняли участие в создании и транспортировке вашего компьютера, роутера и любого другого устройства, которое вы используете в повседневной жизни или на работе? И чем это опасно? Если нет, то добро пож...

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

Новая жизнь старых игр: максимально опенсорсный каталог source-портов (Java + PHP) Недавно мне пришла в голову возродить свой старый каталог source-портов и графических модификаций для старых игр. Новая версия должна была стать максимально опенсорсной и открытой, чтобы любой пользователь мог править как содержание сайта, так и его код, а мне бы оставалось ...

Shader — это не магия. Написание шейдеров в Unity. Введение Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня хочется поговорить про шейдеры. Умение писать шейдеры (и в целом работать с рендером) очень важно при разработке под мобильные платформы или AR/VR, если хочется добиться крутой графики. М...

Человек без смартфона Мне 33 года, я программист из Санкт-Петербурга и у меня нет и никогда не было смартфона. Не то чтобы он был мне не нужен — нужен, даже очень: я работаю в IT сфере, у всех членов моей семьи они есть (у ребенка уже третий), мне приходилось руководить в том числе и мобильной ра...

Настройка состава JUnit5 тестов с помощью application.properties Представьте себе ситуацию, когда ваш проект должен компилироваться в различных окружениях. Теперь представьте, что не все тесты должны проходить в этих окружениях — кажому свой набор тестов. И предпочтительней настроить выбор, какие тесты должны выполняться, в… файле applica...

Test Maturity Model: как тестировщику оценить проект и спланировать процессы Привет! Меня зовут Миша, и я Senior QА с коммерческим опытом более 6 лет. Сейчас я работаю в Provectus, но начинал я свой путь тестировщика еще в студенческие годы с участия в альфа- и бета-тестах различных игр. В какой-то момент подумал: «Почему бы не начать заниматься этим...

Архив олимпиадных задач по физике для школьников За долгое время работы в школе я сформировал банк задач по физике для подготовки к олимпиадам. Задачи можно искать по нужным темам, уровню, классу. Затем отправлять на печать, или в виде ссылки ученикам. И хотя я уже не работаю в школе, решил, что жалко добру пропадать. Сайт...

Готовое решение markdown2pdf с исходным кодом для Linux Предисловие Markdown это прекрасный способ написать небольшую статью, а иногда и достаточно объемный текст, с несложным форматированием в виде курсива и толстого шрифта. Также Markdown неплох для написания статей с включением исходного кода. Но иногда хочется без потерь, тан...

[Из песочницы] Три неочевидных примера использования шаблонизаторов в backend-е С одной стороны, предмет действительно был квадратным. C другой стороны он был круглым. Но с третьей стороны, с которой должен быть треугольник, предмет вышел кривой и косой. — Алешенька идет на совещанку? — в дверь просунулась Леночкина заинтересованная физиономия. — Алеш...

[Перевод] 10 возможностей VS Code, помогающих ускорить работу программиста Когда программист попадает в состояние потока, его мысли часто движутся прямо-таки с космической скоростью. Он пишет код так быстро, как только может, прилагая все усилия к тому, чтобы ухватить свои идеи и не дать им растаять в воздухе или затеряться в закоулках новых образо...

ANdroid Camera2 API от чайника Не так давно я возился со своей роботележкой, пытаясь водрузить на нее ANDROID смартфон. Моей, то есть его задачей, было сделать тележку эволюционно продвинутой. Чтобы она, так сказать, чувствовала мир его сенсорами, смотрела его глазом (камерой), слышала микрофоном и руга...

Математика в Gamedev по-простому. Кривые и дождь в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Продолжим говорить про математику что ли. Пожалуй, основное применение математики в геймдеве и компьютерной графики в целом – это VFX. Вот и поговорим про один такой эффект – дождь, а точнее про его основную часть, требую...

[Из песочницы] Как начать программировать в Adobe Illustrator. Скрипт Expand Clipping Mask. Часть первая Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотел...

Концепция очков дополненной реальности. Моя идеальная AR гарнитура, которая возможна Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Недавно мне пришла в голову идея интересная концепция AR очков, которые могут быть нужны пользователю. Многие недооценивают некоторые аспекты с точки зрения удобства использования и пользовательс...

Continuous delivery для вашей Kotlin Multiplatform библиотеки Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. В процессе работы мы столкнулись с тем, что в случае с Kotlin Multiplatform continuous integration и continuous del...

8 причин, по которым вы обязательно захотите использовать Azure Notebooks Если Вы data scientist, или занимаетесь машинным обучением, как я — наверняка Вы пишете большую часть кода в Jupyter Notebooks. Для всех остальных поясню: Jupyter — это замечательная система, позволяющая Вам сочетать исполняемый программный код и текстовые фрагменты на основ...

Общие компоненты силами разных команд. Доклад Яндекса Создание и сопровождение общих компонентов — процесс, в котором должны быть заняты множество команд. Руководитель службы общих компонентов Яндекса Владимир Гриненко tadatuta объяснил, как их разработка переросла выделенную команду «Лего», как мы сделали монорепозиторий на ба...

[Из песочницы] Таймлапс собственными силами с облачного сервиса видеонаблюдения IPEYE Недавно появилась задача ежедневно формировать таймлапс с пары камер видеонаблюдения, подключенных к IPEYE. Если вам интересно как с этим справился человек с минимальными знаниями питона или вы хотите мне указать на мои ошибки — добро пожаловать под кат… Читать дальше &rarr...

10 верстальщиков на 30 команд. Вы рехнулись? Всем привет! Меня зовут Костя, и я руковожу отделом верстки в компании Wrike. В нашем отделе сейчас работает 10 человек, и все эти ребята пришли в компанию в разное время, у них различный опыт и задачи в отдельных командах. При этом все сотрудники — прекрасные специалисты, к...

Революция или боль? Доклад Яндекса о React Hooks Меня зовут Артём Березин, я разработчик нескольких внутренних сервисов Яндекса. Последние полгода я активно работал с React Hooks. По ходу дела возникали некоторые сложности, с которыми приходилось бороться. Теперь хочу поделиться этим опытом с вами. В докладе я разобрал Rea...

Принцип Брета Виктора: «Творцам нужна мгновенная связь с тем, что они создают» Это одно из лучших выступлений, которое я встречал. Хоть про эту презентацию уже писали на Хабре и переводили 6 лет назад, я решил её красиво оформить и ещё раз обратить на неё внимание. Она того стоит. Брет Виктор: Я просто хочу рассказать вам о том, как прожить свою жиз...

[Перевод] Разбираемся с пакетом Context в Golang Пакет context в Go полезен при взаимодействиях с API и медленными процессами, особенно в production-grade системах, которые занимаются веб-запросами. С его помощью можно уведомить горутины о необходимости завершить свою работу. Ниже небольшое руководство, которое поможет ис...

[Перевод] DEFCON 21. Одних паролей недостаточно, или почему «ломается» шифрование диска и как это можно исправить. Часть 1 Спасибо всем, что пришли, сегодня мы поговорим о полном шифровании жёсткого диска (FDE), которое не так безопасно, как вы думаете. Поднимите руки, кто шифрует таким образом HDD своего компьютера. Поразительно! Ну что же, добро пожаловать на DefCon! Похоже на то, что 90% и...

Методология БЭМ на примере стикеров в opencart Поскольку я предпочитаю методологию БЭМ, начав работать с opencart, я сразу же столкнулся с ужасными для меня вещами, это вложенные селекторы. Они повсюду! Начиная от шаблона по умолчанию, заканчивая практически всеми модулями и авторскими шаблонами. Почему так? Мне кажетс...

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

Деплоим код напрямую в docker-контейнер. Или как не прокрастинировать после каждого коммита Пришла задача WEB-12982 Создаешь ветку web-12982 в репозитории Пока ветка собирается, читаешь тз и пьешь кофе Приступаешь непосредственно к разработке git commit, git push Пока ветка пересобирается листаешь хабр git commit, git push Пока ветка пересобирается листаешь твитте...

[Из песочницы] Что нужно знать перед переходом на Akka toolkit для реализации Event Sourcing и CQRS Здравствуйте, уважаемые читатели Хабра. Меня зовут Рустем и я главный разработчик в казахстанской ИТ-компании DAR. В этой статье я расскажу, что нужно знать перед тем, как переходить на шаблоны Event Sourcing и CQRS с помощью Akka toolkit. Примерно с 2015 года мы начали прое...

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

Дзен-практики в open space Совсем скоро будет 2 юбилея. Первый: юбилей нашего офиса на Смоленке: уже почти 10 лет мы работаем, создаем ИТ продукты и иногда живем в open space’ах. Второй: скоро будет и еще один юбилей – 5 лет с первого посещенного семинара от Макса Дорофеева, на базе которого и благо...

Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора) Я работаю со студентами на микроконтроллере STM32F411RE, имеющего целых 512 кБайт ROM и 128 кБайт ОЗУ. Обычно в этом микроконтроллере в ROM память записывается программа, а в RAM изменяемые данные и очень часто нужно сделать так, чтобы константы лежали в ROM. В микроконтро...

[recovery mode] QtCreator и его использование в качестве IDE для Rust В общем попросил я у коллеги маленький гайд по тому как настроить QtCreator в качестве IDE для Rust и с его разрешения выкладываю. Сам Я использую CLion и позже напишу о том как с ним дела обстоят на этом поприще. Мопед не мой. Я просто разместил объяву. (с) Что нужно совре...

Суровая сибирская JVM: большое интервью об Excelsior JET Недавно мы писали о том, на какие ухищрения пошла Alibaba, чтобы сделать себе жизнь с OpenJDK более приемлемой. Там были комментарии вроде «оказывается, пока мы тут страдаем с обычной джавой, китайцы уже сделали себе свою особенную». Alibaba, конечно, впечатляет — но и в Рос...

Memcached plugin от MySQL: инструкция по осторожному применению Здравствуйте! Меня зовут Максим Матюхин, я PHP-программист Badoo. В своей работе мы активно используем MySQL. Но иногда нам не хватает её производительности, поэтому мы постоянно ищем возможности ускорить её работу. В 2010 году Yoshinori Matsunobu представил NoSQL-плагин ...

Геттеры/сеттеры и проблема с инкапсуляцией в Symfony коде Сравнительно недавно работаю с Symfony (чуть более года) и во всех проектах, что довелось поработать — сущности всегда создавались таким образом, что они содержали только приватные поля и голые сеттеры/геттеры к ним. В статьи будут рассуждения и примеры, почему такой подход...

Как запустить java-проект на shell-раннере при пуше в репозиторий GitLab’а Меня зовут Иван Сидоренко, я инженер по тестированию в компании Digital Design. Передо мной стояла задача — внедрить запуск автотестов, написанных на Java Selenium. Я новичок в CI/CD, поэтому столкнулся со множеством проблем. Подробных инструкций в интернете по этой задаче ...

[Перевод] Serverless CI/CD на AWS Было бы круто, если бы развертывание в формате копи-пейст осталось в прошлом, но, увы, дела обстоят иначе. Бывает, разработчикам предпочтительней именно такой метод поставки. Хоть сейчас пиши статью о том, почему это не есть гуд, но вы и без меня все знаете. С тенденцией к ...

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

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

Через тернии к игре мечты — месяц спустя С прошлого поста прошло чуть больше месяца. Все это время мы постоянно трудились над проектом и продолжаем двигаться в нужном русле. Картинка Another Way начинает приобретать краски. Для тех, кто хочет узнать с чего все началось, предлагаю ознакомиться с небольшой историей...

ReactiveX Redux Все, кто работает с Redux, рано или поздно сталкиваются с проблемой асинхронных действий. Но современное приложение разработать без них невозможно. Это и http-запросы к бэкенду, и всевозможные таймеры/задержки. Сами создатели Redux говорят однозначно — по умолчанию поддержив...

Пишем высокопроизводительный http клиент на примере fasthttp. Александр Валялкин (VertaMedia) Библиотека Fasthttp — ускоренная альтернатива net/http из старндартных пакетов Golang. Как она устроена? Почему она такая быстрая? Паттерны из Fasthttp можно использовать для ускорения ваших приложений, вашего кода. Кому интересно, добро пожаловать под кат. Читать дальше →

OMEGA — Автоматизация подсчета времени на спортивных мероприятиях Всем привет, меня зовут Сергей. Я руководитель образовательного проекта "SERVODROID". Мой проект занимается разработкой простых в повторении роботов для детей и взрослых. Сам я преподаю робототехнику в Санкт-Петербурге. Но также я спортсмен, и, одно из моих любимых спортив...

Drag-&-Drop компоненты для слепых пользователей? Вы шутите? Что объединяет Trello, Gmail, Aviasales и Google Keep? В каждом из них есть Drag-&-Drop-компоненты, которые можно перетаскивать мышкой. Использование этих компонентов делает сайты по-настоящему удобными, потому что в реальной жизни мы часто используем этот паттерн. Перед...

Custom refactoring tool: Swift Любой инженер стремится сделать процесс своей работы максимально оптимизированным. Нам, как мобильным разработчикам iOS, очень часто приходится работать с однообразными структурами языка. Компания Apple улучшает инструменты разработчиков, прилагая много усилий, чтобы нам был...

Как быстро написать веб-сайт или веб-приложение и не увязнуть в сборщиках Это маленькое руководство описывает создание реактивного веб-приложения используя отрисовку на стороне сервера (Server-Side Rendering, SSR). Клиентская часть являет собой полноценное Vue-приложение, в моём случае используя шаблон MVVM. Серверное приложение работает на микроф...

Как мы заново изобретали IP АТС Askozia, после того как проект был продан и закрыт разработчиком Как было все прекрасно до часа X Мы — небольшая команда разработчиков, которая много лет назад занималась разработкой и внедрением программ 1С. В далеком 2011 году мы хорошо знали программные продукты 1С, и не имели опыта в разработке собственных решений. На тот момент компа...

[Из песочницы] Сборка transport-пакета без установки MODX Писать свои пакеты для MODX не просто для новичка, да и опытному разработчику иногда не сладко приходится. Но новичок пугается, а опытный разбирается :). Эта заметка рассказывает о том, как можно написать и собрать пакет компонента для MODX без установки и настройки самог...

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

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

[Из песочницы] Создание адаптивного сайта из того что есть и неинвазивные стили Есть сайт у которого нет мобильной версии и нужно с минимальными затратами времени сделать мобильным пользователям этот сайт приятнее в использовании. Я расскажу о том как ускорить внесение изменений на сайт и рассмотрю инструменты для быстрой верстки на живом сайте не име...

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

Как стать коммиттером и действительно ли вам это нужно Привет! Меня зовут Дмитрий Павлов, я работаю в GridGain, а также являюсь коммиттером и участником PMC в Apache Ignite и контрибьютором в Apache Training. Недавно я выступал c докладом о работе коммиттера на митапе Сбербанка по open source. С развитием opensource-сообщества у...

Omega Red + PS1 эмулятор = Кодзима гений Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: PS2/PSP эмулятор + game play streaming (YouTube, Facebook, Twitch) = новая версия Omega Red PS2/PSP эмулятор + Google Drive + YouTube = «...

Яндекс внедряет RPKI Привет, меня зовут Александр Азимов. В Яндексе я занимаюсь разработкой различных систем мониторинга, а также транспортной сетевой архитектурой. Но сегодня разговор пойдет о протоколе BGP. Неделю назад Яндекс включил ROV (Route Origin Validation) на стыках со всеми пиринг-...

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

Тесты на Codeception для PHP-бэкендов Всем привет! Меня зовут Паша, и я QA инженер команды Order Processing в Lamoda. Недавно я выступал на PHP Badoo Meetup. Сегодня хочу представить расшифровку своего доклада. Речь пойдет про Codeception, про то, как мы его используем в Lamoda и как на нем пишем тесты. Чи...

Почему я перешел из UX в PM'а и потом в Lead PM'а и что изменилось? — Привет, Саша. Расскажи, пожалуйста, как долго ты работаешь в Wrike, и чем ты занимался до прихода в компанию? — Привет. В Wrike работаю шесть лет. До этого работал в другой организации и занимался там сначала search engine optimization и потом перешел в проджект-менеджеры....

Проверяем исходный код Roslyn Время от времени мы возвращаемся к проектам, которые уже проверяли ранее с помощью PVS-Studio и писали про это статьи. Делать это интересно по двум причинам. Во-первых, чтобы понять, насколько лучше стал наш анализатор. Во-вторых, чтобы отследить, обратили ли авторы проекта...

[Перевод] Создание игровых 3D-моделей «для бедных»: путь инди Вы когда-нибудь задумывались о том, как работает небольшая инди-студия, занимающаяся разработкой видеоигр? Создавать игры с очень маленьким бюджетом можно, но для этого необходима смекалка, много труда и ещё больше любви к своему делу. Мы — небольшая команда из Польши. Нас...

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

9. Check Point Getting Started R80.20. Application Control & URL Filtering Добро пожаловать на 9-й урок! После небольшого перерыва на майские праздники мы продолжаем наши публикации. Сегодня мы обсудим не менее интересную тему, а именно — Application Control и URL Filtering. То, ради чего иногда Check Point и покупают. Нужно заблокировать Telegra...

Code review: вредные советы для контрибьютера и ревьювера Привет! Меня зовут Николай Ижиков. В этом посте я хочу рассказать об одном важном элементе взаимодействия, с которым мы сталкиваемся в процессе разработки ПО, особенно в open source. Это прохождение и проведение code review. Я дам вредные советы, как сделать свою фичу и до...

Кастомизация резолвинга зависимостей в Spring Привет! Меня зовут Андрей Неведомский и я главный инженер в СберТехе. Я работаю в команде, которая занимается разработкой одного из системных сервисов ЕФС (Единой Фронтальной Системы). В своей работе мы активно используем Spring Framework, в частности его DI, и время от врем...

[Перевод] Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть1 Добро пожаловать на презентацию «Практический шпионаж с помощью сотового телефона». Прежде чем мы начнем, сделаю пару замечаний по поводу конфиденциальности. В-первых, звонок по сотовому телефону может быть записан прямо во время разговора. Сюрприз! Так что если вы не хотите...

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 2: подготовка документов и переезд Итак, за примерно год (май 2017 — февраль 2018) я, программист C++, нашел-таки работу в Европе. Я десятки раз откликался на вакансии в Англии, Ирландии, Швеции, Нидерландах и даже в Португалии. Я раз двадцать беседовал по телефону, скайпу и прочим системам видео связи с рекр...

Рекомендовать нельзя спрятать Привет, Хабр! Меня зовут Николай, и я занимаюсь построением и внедрением моделей машинного обучения в Сбербанке. Сегодня расскажу о разработке рекомендательной системы для платежей и переводов в приложении на ваших смартфонах. У нас было 2 сотни тысяч возможных вариантов пл...

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточн...

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

PS2/PSP эмулятор + game play streaming (YouTube, Facebook, Twitch) = новая версия Omega Red Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: PS2/PSP эмулятор + Google Drive + YouTube = «безумие» продолжается Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объеди...

Telegram-бот для изучения иностранных языков: от зубрежки слов к говорению Не так давно я писал уже о своем боте для изучения иностранных языков. Точнее — для расширения словарного запаса (aka зубрежки слов). В той же статье я написал, что изучение слов без контекста малопродуктивно и что лучше изучать тексты, чем просто пытаться вбить себе в голо...

Coding the Art: как мы генерируем графику и анимацию в дизайн-проектах В JetBrains мы любим экспериментировать. Результаты наших экспериментов не всегда становятся достоянием широкой публики, но кое-чем мы готовы поделиться с вами прямо сейчас. Наш новый проект начался со стремления к автоматизации дизайнерских процессов. К каждому релизу прод...

PHP Composer: фиксим зависимости без боли Многие из вас наверняка сталкивались с ситуацией, когда в библиотеке или фреймворке, который вы используете, есть баг или нет необходимой функциональности. Предположим, вы даже не поленились и сформировали pull request. Но примут его далеко не сразу, а следующий релиз продук...

Kubernetes кластер за $20 в месяц TL; DR Поднимаем кластер для обслуживания веб-приложений без записи состояния (stateless web applications) вместе с ingress, letsencrypt, не используя средства автоматизации вроде kubespray, kubeadm и любых других. Время на чтение: ~45-60 минут, на воспроизведение действий: ...

PS2/PSP эмулятор + Google Drive + YouTube = «безумие» продолжается Привет всем читателям! Я продолжаю тему программного эмулятора для PlayStation 2 и PlayStation Portable — Omega Red. Более подробно: Как я подружил PlayStation 2 и PlayStation Portable (спойлер — объединил в один эмулятор) Красный Омега PS2 эмулятор В данном материале я...

[Из песочницы] Автоматический вход в Lync конференции в Linux Привет, Хабр! Для меня эта фраза сродни hello world, так как я добрался наконец до своей первой публикации. Долго откладывал этот замечательный момент, так как и писать было не о чем, а обсасывать то, что уже по куче раз обсосано, тоже не хотелось. Вообще для своей первой п...

Работа с cron под Android и добавление shell-скрипта в автозапуск при загрузке устройства В связи с тем, что мобильные устройства уже давно имеют обширный функционал, то задачи автоматизации можно смело переносить и на них. И, как нельзя лучше, здесь так же хорошо подходит cron для их выполнения. Но если в «обычных» Linux системах настройка cron занимает мало в...

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

[Перевод] Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 1 Серверный код в Instagram пишут исключительно на Python. Ну, в основном это именно так. Мы используем немного Cython, а в состав зависимостей входит немало C++-кода, с которым можно работать из Python как с C-расширениями. Наше серверное приложение — это монолит, представ...

Как научить машину понимать инвойсы и извлекать из них данные Привет, хабр! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем ...

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

Как сделать два приложения из одного. Опыт Тинькофф Джуниор Привет, меня зовут Андрей и я занимаюсь приложениями Тинькофф и Тинькофф Джуниор для платформы Android. Хочу рассказать о том, как мы собираем два похожих приложения из одной кодовой базы. Тинькофф Джуниор — это мобильное банковское приложение, ориентированное на детей ...

[Из песочницы] Что нужно для разработки игр и кем реально является разработчик игр Большинство людей (нормальных), которые планируют заниматься программированием (как хобби или основной профессией) обычно задаются вопросами: «Что такое программирование?», «Зачем мне нужно программирование?», «Какой язык я буду учить?», «Что я получу в итоге?». Таким был и...

Android установили на игровую приставку Nintendo Switch Хотя поддержка Android на Nintendo Switch, скорее всего, никогда не будет официально реализована, это не помешало различным мододелам установить «зеленого робота» на популярную портативную приставку, да еще и сделать это так, как всем бы того хотелось. Между ОС Switch и And...

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

Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо Привет Хабр! Таки да, скоро выходит net core 3.0 и там будет шаблон проекта с Blazor как один из дефолтных. Название у фреймворка, по-моему, похоже на название какого-нибудь покемона. Блазор вступает в бой! Решил я значит глянуть что за зверь такой и с чем его едят поэтому с...

[Перевод] Возможности Python 3, достойные того, чтобы ими пользовались Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как...

[Из песочницы] Watch Dogs в реальной жизни, или серьезные уязвимости в СКУД Мне кажется, что многие парни, особенно в юном возрасте, хотели быть крутыми хакерами. Взламывать сайты, телефоны, системы доступа. Вот и у меня немного остался этот мальчишеский задор. Поэтому периодически ковырялся в различном ПО и ничего стоящего не находил. Но однажды, м...

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

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

Автоматизация: как работать с обновлениями Привет, Хабр! Я довольно давно и много занимаюсь автоматизацией тестирования. И не понаслышке знаю, какую боль иногда доставляют новые версии чего угодно. Обновили XCode, вышла новая Selenium, придумали новый браузер (особое спасибо Microsoft за Edge и его драйвер), зачем-т...

Методология как конструктор: инструкция по сборке Из современного конструктора LEGO можно собрать только одну модель игрушки, например, самолет. Кастомизировать? Можете поменять местами кресла пилотов — вот и вся кастомизация. Лет 30 назад из конструктора можно было собрать примерно все, от самолета до грузовика, при том же...

Разворачиваем автоматизацию за пару часов: TypeScript, Protractor, Jasmine Привет, Хабр! Меня зовут Виталий Котов, я довольно много занимаюсь автоматизацией тестирования и мне это нравится. Недавно я участвовал в проекте по настройке автоматизации «с нуля» на стеке TypeScript + Protractor + Jasmine. Для меня этот стек был новым и необходимую инфор...

Триллион маленьких шинглов Источник изображения:www.nikonsmallworld.com Антиплагиат – это специализированный поисковик, о чем уже писали ранее. А любому поисковику, как ни крути, чтобы работать быстро, нужен свой индекс, который учитывает все особенности области поиска. В своей первой статье на Хабре...

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

[Перевод] Пишем API для React компонентов, часть 5: просто используйте композицию Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

#Главред: Зачем мне беспроводная зарядка для iPhone Возможность заряжать телефон «без проводов» появилась достаточно давно. Правда, не у сторонников продукции Apple. Мы же смогли прочувствовать эту функцию только с выходом iPhone 8 и iPhone X в 2017 году. Я, признаюсь честно, всегда с прохладой относился к такому с...

PowerShell, дамп моего опыта Введение Эта статья адресована тем, кто уже познакомился с основами PowerShell, запускал какие-то скрипты со stackexchange и, вероятно, имеет свой текстовый файл с теми или иными сниппетами облегчающими повседневную работу. Целью её написания есть уменьшение энтропии, увелич...

Чем занимаются бизнес-аналитики в ИТ Каждому из нас наверняка приходилось слышать один и тот же вопрос от своих родителей или друзей не из «программистской тусовки»: «А что вы там на своей работе вообще делаете?». Обычно, после попытки ответить следует еще неизменный комментарий: «Эх ты, программист, даже холо...

Как мы переложили управление инфраструктурой на Terraform — и начали жить У нас было 4 Amazon-аккаунта, 9 VPC и 30 мощнейших девелоперских окружений, стейджей, регрессий — всего более 1000 EC2 instance всех цветов и оттенков. Раз уж начал коллекционировать облачные решения для бизнеса, то надо идти в своем увлечении до конца и продумать как все э...

Понимаем UICollectionViewLayout на примере Photos App Здравствуй, Хабр! Меня зовут Никита, я работаю над мобильными SDK в компании ABBYY и в том числе занимаюсь UI-компонентом для сканирования и удобного просмотра многостраничных документов на смартфоне. Этот компонент сокращает время на разработку приложений на базе технологии...

Как проектировать продукт, если вы решили выйти на зарубежный рынок Привет! Меня зовут Наташа, я UX-исследователь в компании, которая занимается проектированием, дизайном и исследованиями. Кроме участия в русскоязычных проектах (Рокетбанк, Точка и многое другое), мы пытаемся выходить и на зарубежный рынок. В этой статье я расскажу, на что с...

Анализ инцидентов, связанных с кибератаками на блокчейн-проекты Все помнят взлет криптовалюты в 2017 году, когда кто-то впервые о ней узнал, а кто-то смог сколотить состояние или даже успел потерять его. История криптовалюты берет начало в 90-х годах прошлого столетия, а большую популярность она получила в 2009 году, когда появился битко...

[Перевод] Не потерял ли GraphQL актуальности в эпоху HTTP/2? Недавно Фил Стерджен опубликовал твит, который сильно задел любителей GraphQL. В этом твите речь шла о том, что GraphQL — это, по определению, технология, которая противоречит сущности HTTP/2. О том, что уже вышел стандарт HTTP/3, и о том, что автор твита не очень понимает т...

[Перевод] Заменяют ли Redux хуки React? С тех пор, как в React появились хуки, возникает много вопросов о том, способны ли они заменить Redux. Я полагаю, что хуки и Redux имеют мало общего между собой. Хуки не дают нам неких новых удивительных возможностей по работе с состоянием. Они, вместо этого, расширяют API,...

Определение кодировки текста в PHP вместо mb_detect_encoding Существует несколько кодировок символов кириллицы. При создании сайтов в Интернете обычно используют: utf-8 windows-1251 koi8-r Еще популярные кодировки: iso-8859-5 ibm866 mac-cyrillic Вероятно это не весь список, это те кодировки с которыми я часто сталкиваюсь. Иног...

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

Делегирование обратной зоны подсети менее /24 в BIND. Как это работает Встала однажды передо мной задача, отдать одному из клиентов право на редактирование PTR-записей отданной ему подсети /28. Автоматизации для редактирования настроек BIND извне у меня нет. Поэтому я решил пойти другим путем — делегировать клиенту кусок PTR-зоны подсети /24. ...

Как это было у тех кто дошёл… Чтобы вывести свой проект в какой то хороший уровень нужно время.  А что такое время?! Иногда 6 месяцев, иногда год, иногда два, иногда 3. Но эти сроки для многих кажутся какими то космическими. Какой срок готов работать человек в России над своим проектом или идей?! Неделя....

[Из песочницы] Умная лампа Привет, Хабр! Предлагаю вашему вниманию перевод статьи «DIY Smart Lamp» автора Maciej Matuszewski. Пошаговое руководство по переходу от придуманной идеи к работающему продукту. Ожидание против реальности Вы когда-нибудь задавали себе следующие вопросы? Может ли горяч...

Что такое DevOps Определение DevOps очень сложное, поэтому приходится каждый раз запускать дискуссию об этом заново. Только на Хабре тысяча публикаций на эту тему. Но если вы это читаете, то наверняка знаете, что такое DevOps. Потому что я — нет. Привет, меня зовут Александр Титов (@osminog)...

[Из песочницы] Сeph — от «на коленке» до «production» Выбор CEPH. Часть 1 У нас было пять стоек, десять оптических свичей, настроенный BGP, пару десятков SSD и куча SAS дисков всех цветов и размеров, а ещё proxmox и желание засунуть всю статику в собственное S3 хранилище. Не то чтобы это всё было нужно для виртуализации, но раз...

[Из песочницы] История о том, как разработка игры стала частью моей жизни Здравствуйте! Меня зовут Максим Газизов. Ранее я публиковал пост на Хабре о своих успехах и ошибках в геймдеве. И затем, спустя год работы над своим детищем под названием Wasteland Wars, я пропал из эфира. Всё потому, что меня настолько затянул процесс, как никогда раньше. К...

О новых стандартах C++ Сегодня у меня довольно короткий пост. Я бы его и не писал, наверное, но на Хабре в комментах довольно часто можно встретить мнение, что плюсы становятся хуже, комитет делает непонятно что непонятно зачем, и вообще верните мне мой 2007-й. А тут такой наглядный пример вдруг п...

Почти уволен. Как я построил отдел аналитики Яндекса Меня зовут Алексей Долотов, я 10 лет не писал на Хабр. Отчасти дело в том, что когда мне было 22 года, я начал строить отдел аналитики Яндекса, затем семь лет им руководил, а теперь придумал и строю сервис Яндекс.Таланты. Профессия аналитика даёт массу возможностей. Главное...

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

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

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

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

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

[recovery mode] Как подружить Jira ServiceDesk с общим Confluence и помочь пользователям В небольших по размеру организациях как правило не больше одной установки Jira, Servicedesk и Confluence, которыми пользуются все, начиная от охранника и заканчивая QA. Как сделать так, чтобы и волки сыты, и овцы целы. В смысле чтобы непривилигерованные пользователи имели бы...

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS» В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «...

[Из песочницы] 5 наиболее распространенных проблем работодателей при подборе IT-специалистов с точки зрения рекрутера-аутсорсера Эта статья написана по материалам моего выступления на HR Meetup #5, проходившего 5 октября 2018 года в г. Ростове-на-Дону. О себе Меня зовут Игорь Шелудько. Я – предприниматель в сфере разработки и продаж программного обеспечения с 2000 года. У меня высшее техническое о...

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

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

Как быстро выучить язык, не наступая на грабли? Мнение полиглота Всем привет! Это моя вторая публикация на Хабре, в ней я хочу своими наблюдениями на тему ошибок, которые совершают люди при изучении иностранных языков. Коротко о себе: меня зовут Егор Пак, я преподаю немецкий, английский и испанский, владею еще несколькими языками на хор...

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

[Перевод] Почему вам стоит разгонять оперативную память (это легко!) Любая программа на ПК использует для работы оперативную память, RAM. Ваша RAM работает на определённой скорости, заданной производителем, но несколько минут копания в BIOS могут вывести её за пределы стандартных спецификаций. Да, скорость работы памяти имеет значение Кажд...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

[Перевод] Интро Newton Protocol: что можно уместить в 4 килобайта Недавно я участвовал соревнованиях демосцены Revision 2019 в категории «PC 4k intro», и моё интро выиграло первое место. Я занимался кодингом и графикой, а dixan сочинял музыку. Основное правило соревнования — необходимо создать исполняемый файл или веб-сайт, имеющий размер...

Расширяем возможности UObject в Unreal Engine 4 Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами. Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, та...

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

ИИ в медицине: науки о жизни и открытие лекарств Привет, Хабр! Сегодня я покажу тебе свой перевод одного замечательного интервью с Александром Жаворонковым. Надеюсь тебе будет так же интересно читать, как и мне переводить. Читать дальше →

Пишем на Rust + CUDA C Всем привет! В данном руководстве хочу рассказать как подружить CUDA C/С++ и Rust. И в качестве примера напишем небольшую программу на Rust для вычисления скалярного произведения векторов, вычисление скалярного произведения будет производиться на GPU с использованием CUDA ...

[Из песочницы] Как зеленый джуниор свой hot-reloader писал Предыстория Пару строк обо мне для общего понимания уровня автора и решаемой проблемы. Меня зовут Евгений и я веб-разработчик зеленый junior frontend developer. Еще какой-то год назад я работал в совершенно другой сфере и только в теории задумывался о смене профессии, но при...

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

Автоверстка и стили в Unity: наш новый пайплайн и инструменты для UI Начну с главного: мы сделали удобный инструмент для верстки и изменили пайплайн работы. Теперь по порядку. В мобильных играх много разных интерфейсов, включая HUD и огромное количество экранов для меты. UX-дизайнеры их проектируют, UI-дизайнеры отрисовывают, а чтобы всё ...

Neoquest 2019: «Связь с небесами» Недавно закончился очередной NeoQuest. Под катом разбор третьего задания, относящегося к поиску web-уязвимостей и немножко фишингу. Интересно, как обмануть Telegram бота и заставить его поделиться ключом? Тогда добро пожаловать под кат. Читать дальше →

Беспилотный автомобиль: оживляем алгоритмы. Доклад Яндекса Подробная расшифровка еще одного доклада со встречи Яндекс.Железо — про разработку устройств для беспилотника. — Всем привет, меня зовут Виталий Подколзин, я руководитель разработки встраиваемых систем проекта беспилотного автомобиля. И сегодня я хотел бы с вами поговорит...

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

[Из песочницы] Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика Дисклеймер Я — разработчик. Я пишу код, с базой данных взаимодействую лишь как пользователь. Я ни в коем случае не претендую на должность системного администратора и, тем более, dba. Но… Так вышло, что мне нужно было организовать резервное копирование postgresql базы данны...

Ускорение MicroPython MicroPython — реализация языка программирования Python для микроконтроллеров, даёт возможность аудитории этого языка, используя знакомый синтаксис и принципы программирования работать с небольшими вычислительными устройствами. В своей работе я использую MicroPython для про...

Что мы знаем о микросервисах Привет! Меня зовут Вадим Мадисон, я руковожу разработкой System Platform Авито. О том, как мы в компании переходим с монолитной архитектуры на микросервисную, было сказано не раз. Пора поделиться тем, как мы преобразовали свою инфраструктуру, чтобы извлечь из микросервисов м...

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

Новый пакет валидаций для React на Mobx @quantumart/mobx-form-validation-kit Добрый день. Сегодня я хочу рассказать о новом пакете для асинхронных валидаций в проектах использующих в своей основе React, Mobx и написанных на Typescript. Современная Frontend разработка предполагает большое количество логики при заполнении страниц с документами, анкет ...

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

«Сгоревшие» сотрудники: есть ли выход? Ты работаешь в хорошей компании. Вокруг тебя крутые профессионалы, получаешь достойную зарплату, каждый день делаешь важные и нужные вещи. Илон Маск запускает спутники, Сергей Семёнович улучшает и без того лучший город Земли. Погода отличная, солнце светит, деревья цветут — ...

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

Темизация UI kit: как мы подружили SCSS с CSS Variables Всем привет, меня зовут Виталик, я senior фронтенд-разработчик Skyeng. Наша команда делает онлайн-платформу Vimbox для изучения английского языка. Примерно год назад мы с дизайнером доделали небольшой UI kit, искоренивший хаос в интерфейсе и кодовой базе. Оказалось, что в к...

Как управлять React Data Grid через Redux Это продолжение предыдущей статьи: Зачем писать свой React Data Grid в 2019 Для чего нужен Redux? Ответов много. Например, чтобы работать с общими данными в разных React-компонентах. Но можно воспринимать Redux еще как способ манипулирования компонентой. Сам взгляд интересны...

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

К чему приложить прикладного лингвиста? “Что за дело? Это многих славных путь.” Н.А. Некрасов Всем привет! Меня зовут Карина, и я “совместитель” — совмещаю учёбу в магистратуре и работу технического писателя в Veeam Software. О том, как у меня это вышло, я и хочу рассказать. Заодно кто-то узнает, как можно прийти...

Межпозвоночная грыжа? Работай над ней Внимание! Данная статья не призывает к самолечению! Не является рекламной. Люди уникальны, единой схемы для всех нет. Статья будет иметь более мотивационный окрас, нежели россыпь медицинских терминов. Тем не менее, я считаю ей место быть, как реальной истории перехода от о...

Как писать полиморфические программы c помощью Arrow Привет, Хабр! Меня зовут Артём Добровинский, я работаю в компании Finch. Предлагаю к прочтению статью одного из отцов библиотеки функционального программирования Arrow о том, как писать полиморфические программы. Часто люди, которые только начинают писать в функциональном...

[Перевод] Обзор Python-пакета Datatable «Пять экзабайт информации создано человечеством с момента зарождения цивилизации до 2003 года, но столько же сейчас создаётся каждые два дня». Эрик Шмидт Datatable — это Python-библиотека для выполнения эффективной многопоточной обработки данных. Datatable поддерживает наб...

Удешевление мелких серий электроники в России. Кейс интернет-радиоприемника WOLNA На картинке ниже фото двух версий платы интернет-радиоприемника WOLNA-1 Слева до того, как я осознал как оптимизировать себестоимость, и справа после. Для сравнения: 120 точек пайки против 300, 20 компонентов против 80, 14 пунктов в BOM вместо 31. И при этом функционал стал ...

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

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

Концепты VueJS для backend разработчиков — мастер-класс 22 июня 22 июня в конгресс-центр «Альфа» пройдет мастер-класс «Концепты VueJS для backend разработчиков» Ведущий — Сергей Рябенко имеет пятнадцатилетний опыт коммерческой разработки в различных ролях. Работал разработчиком в LinguaLeo и Head of Engineering в SalesLift. Последний г...

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы На Хабре да и вообще в русскоязычном Интернете есть немало инструкций о том, как перебраться в Нидерланды. Я и сам немало полезного почерпнул из одной статьи на Хабре (ныне, видимо, скрытой в черновике). Но я все-таки расскажу о своем опыте поиска работы и переезда в эту евр...

[Перевод] Полное руководство по useEffect Вы написали несколько компонентов с использованием хуков. Возможно — даже создали небольшое приложение. В целом результат вас вполне устраивает. Вы привыкли к API и в процессе работы обнаружили несколько неочевидных полезных приёмов. Вы даже создали несколько собственных хук...

Один день из жизни разработчика В прошлой статье мы рассказали о том, как проходит обычный день нашего системного инженера. Сегодня же расскажем про один день из жизни нашего разработчика. Добро пожаловать под кат. Читать дальше →

[Перевод] Типизируйте уже наконец свой код Привет хабр! На днях мне в очередной раз на глаза попал код вида if(someParameter.Volatilities.IsEmpty()) { // We have to report about the broken channels, however we could not differ it from just not started cold system. // Therefore write this case into the logs a...

Uibook — инструмент для визуального тестирования React-компонентов с медиа-запросами Всем привет! Меня зовут Виталий Ризо, я фронтенд-разработчик в «Амплифере». Мы сделали Uibook — простой инструмент для визуального тестирования React-компонентов с реальными медиа-запросами. Расскажу, как он работает и чем может быть полезен вам. Читать дальше →

[Из песочницы] ClusterJ — работаем с MySQL NDB Cluster из Java Привет, Хабр! В этой статье я хочу рассмотреть такую библиотеку для Java, как ClusterJ, которая позволяет очень просто работать с движком MySQL NDBCLUSTER из Java кода, которая представляет собой высокоуровневое API, схожее по концепции с JPA и Hibernate. В рамках статьи со...

[Из песочницы] Создание Android приложения с использованием Anko Layouts и Anko Coroutines Примерно год назад я начал использовать Kotlin в своих Android проектах. Мне хотелось попробовать что-то новое, что было бы интересно изучать. Тогда я и наткнулся на Anko. К тому времени писать UI на xml порядком осточертело. Мне всегда нравилось писать интерфейс руками, не...

Пишем свой язык программирования, часть 4: Представление структур и классов, генерация аллокаторов Доброго времени суток тем, кто решил ознакомиться с моей очередной статьёй. Первым делом выкладываю ссылки на предыдущие части: Часть 1: пишем языковую ВМ Часть 2: промежуточное представление программ Часть 3: Архитектура транслятора. Разбор языковых структур и математиче...

[Из песочницы] Lock с приоритетами в .NET Каждый программист, использующий более одного потока в своей программе, сталкивался с примитивами синхронизации. В контексте .NET их очень и очень много, перечислять не буду, за меня это уже сделал MSDN. Мне приходилось пользоваться многими из этих примитивов, и они прекрас...

Как рекомендовать музыку, которую почти никто не слушал. Доклад Яндекса Почти у всех рекомендательных систем есть трудности с новым или редким контентом — поскольку с ним взаимодействовала лишь незначительная часть пользователей. В своём докладе на встрече «Яндекс изнутри» Даниил Бурлаков поделился набором трюков, которые используются в рекоменд...

Что будет с вашим цифровым наследием после смерти? Какие технические последствия имеет смерть в цифровую эпоху? Что делать разработчикам? Кому и как оставить свое онлайн-наследство? На эти вопросы отвечает Джон Эванс (Jon Evans) в статье, опубликованной на TechCrunch. Cпециально для «РосКомСвободы» Илья Фесенко подготовил п...

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

Как мы внедряли WebAssembly в Яндекс.Картах и почему оставили JavaScript Меня зовут Валерий Шавель, я из команды разработки векторного движка Яндекс.Карт. Недавно мы внедряли в движок технологию WebAssembly. Ниже я расскажу, почему мы её выбрали, какие результаты получили и как вы можете использовать эту технологию в своём проекте. Читать даль...

Как запустить микро-платежи в своем приложении Прошлую неделю я провёл разрабатывая свою первую публичную программку — Telegram-бота который работает в качестве Bitcoin-кошелька и позволяет «бросать монетки» другим участникам групповых чатов а так же совершать внешние Bitcoin-платежи себе или другим т.н. “Lightning Apps”...

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

[Перевод] Пишем API для React компонентов, часть 6: создаем связь между компонентами Пишем API для React компонентов, часть 1: не создавайте конфликтующие пропсы Пишем API для React компонентов, часть 2: давайте названия поведению, а не способам взаимодействия Пишем API для React компонентов, часть 3: порядок пропсов важен Пишем API для React компонентов,...

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

Цифровой прорыв — как это было Это не первый хакатон, который я выигрываю, не первый, про который пишу, и это далеко не первый пост на хабре, посвященный "Цифровому прорыву". Но не написать я не мог. Считаю свой опыт достаточно уникальным, чтобы им поделиться. Вероятно, я единственный на этом хакатоне чел...

Собираем свой Nginx парой команд Привет! Меня зовут Сергей, я работаю инфраструктурным инженером в команде API платформы tinkoff.ru. В этой статье я расскажу о проблемах, с которыми сталкивалась наша команда при подготовке балансировщиков на основе Nginx для различных проектов. Также расскажу об инструмен...

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

Авторский курс по обучению Ардуино для собственного сына Здравствуйте! Прошлой зимой я рассказывал на страницах Хабра о создании робота-«охотника» на Ардуино. Я занимался этим проектом со своим сыном, хотя, по сути, 95% всей разработки осталось за мной. Робота мы доделали (и уже, кстати, разобрали), но после этого возникла новая ...

Начало пути Всем доброго времени суток!Меня зовут Митрофанов Роман. До недавнего времени я жил спокойной и размеренной жизнью. Но недавно мне передали в пользование 3D-принтер и с этого момента у меня появилось желание попробовать себя на поле брани предпринимательства. Для большей моти...

[Из песочницы] Автоматически экспортируем Google Forms в Notion с помощью IFTTT и Django Всем доброго дня! Думаю, статья будет интересна всем, кто пользуется Notion, но по какой-то причине не мог переехать на него полностью. Предистория Я разрабатываю свой проект. На лэндинге после ввода емейла выдается ссылка на соцопрос на базе Google Forms. Ответы записывают...

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

Как мы внедрили онбординг новых разработчиков Привет, Хабр! Меня зовут Екатерина, я тимлид команды Биллинга сервиса МойСклад. Примерно два с половиной года назад команда разработки МоегоСклада состояла из 20 человек. За это время мы выросли в три раза, только с начала 2019 года у нас появилось три новых команды. На фон...

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

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

Получение статистики по всем клиентам из API Яндекс Директ в разрезе дней с помощью Python В работе часто использую короткую статистику в разрезе дней чтобы отслеживать отклонения трафика. Более подробно о написании запросов написал в статье « Получение рекламных кампаний Яндекс Директ с помощью API в DataFrame (Python)». В данной статье я в большей степени рас...

Как мы сделали прототип приложения для остановочных ремонтов Привет! Меня зовут Андрей Грачев, и я продакт-менеджер в СИБУРе. У нас в СИБУРе регулярно происходят «остановочные ремонты». Это что-то вроде профилактики, планового обслуживания и ремонта, на время которого весь завод или часть его полностью останавливается. Такие ремонты...

Selenium, Selenoid, Selenide, Selendroid… Что все это значит? Привет, Хабр! В мире автоматизации новичку ориентироваться довольно сложно. Приходится узнавать множество понятий, разбираться в особенностях существующих инструментов. Например, вот: Selenium, Selenide, Selenoid, Selendriod — что это, чем отличается? Да и можно ли их сравн...

Эволюция обзора спринта в Agile-команде Привет! Меня зовут Анатолий Савченко, я разработчик и по совместительству скрам-мастер в команде сервиса «Автотека». Как вы уже догадались, мы работаем по Cкраму. Каждые две недели мы проводим обзор спринта — встречу, на которой команда и заинтересованные стороны обсуждают, ...

[Перевод] Unstated-next: минималистичное управление состоянием React-приложения 200 байт для управления состоянием React-компонентов React-хуки: это все, что нужно для управления состоянием. ~200 байт, min+gz. Знакомый API: просто пользуйтесь React, как обычно. Минимальный API: хватит пяти минут, чтобы разобраться. Написан на TypeScript, чтобы обеспечи...

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

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

Почему мне не нравится приложение «Таймер» на iPhone Таймер на Apple Watch и на iPhone Не знаю, как вы, а я постоянно пользуюсь функцией «Таймер» на Apple Watch: когда хочется знать, сколько времени осталось до посадки самолета, сколько еще нужно запекать мясо, ну или проснуться утром в электричке до своей остановки (да, знаю,...

PHP-Watcher: инструмент, который упрощает разработку долгоживущих приложений Мы любим PHP за простоту: ты пишешь код, обновляешь страницу в браузере и сразу видишь изменения. Но если дело доходит до консольных команд, которые могут быть долгоживущими процессами, — например, если мы пишем асинхронный HTTP-сервер для загрузки файлов, — разработка мож...

[Перевод] GraphQL и Golang Технология GraphQL за последние несколько лет, после того, как компания Facebook перевела её в разряд опенсорсных, стала весьма популярной. Автор материала, перевод которого мы сегодня публикуем, говорит, что попробовал работать с GraphQL в среде Node.js и на собственном опы...

Lifty! 2.0 Доставляй пассажиров и поднимайся на башню! Добро пожаловать в Лифтовую башню! Попытайся обогнать таймер, доставить пассажиров на правильные этажи и взобраться на башню в этой лифтовой игре! Сможешь подняться на самый верх и стать королем лифтят?! Особенности: * ...

QVD файлы — что внутри QlikView и его младший брат QlikSense — замечательные BI инструменты, достаточно популярные у нас в стране и "за рубежом". Очень часто эти системы сохраняют "промежуточные" результаты своей работы — данные, которые визуализируют их "дашборды" — в так называемые "QVD файлы". ...

[Из песочницы] Разработка приложения для старого КПК (Cybiko Xtreme) в 2019 году Введение Привет Хабр! Я хотел бы поделиться своим опытом написания приложения для очень старого карманного компьютера, который серьезно опередил свое время, а именно Cybiko Xtreme 2001 года выпуска. Тем, кому интересно как жилось мобильному разработчику в начале 2000-х, до...

Team Lead на удаленке: как я путешествовал с семьей и работал из Греции и Вьетнама Всем привет, меня зовут Александр Буланов, я разработчик и Team Lead в компании Django Stars. Я люблю свою работу, а еще я люблю ездить по миру, исследовать новые страны и вместо одного и того же пейзажа за окном видеть разные. Совмещая работу и путешествия, я побывал уж...

Re-ARM 32 bit. Установка Marlin 2.0 Давно хотелось поставить 32 битную плату управления принтером.Так как сейчас моя плата управления представляет собой стандартный бутерброд Mega+Ramps и свободное место для установки платы большего размера практически отсутствует, то первоначально рассматривался вариант замен...

Деливерим фичи быстрее. Опыт Android-разработки в Badoo Всем привет! Меня зовут Анатолий Варивончик. Я работаю в Badoo уже больше года, а мой общий стаж Android-разработки — более пяти лет. В своей практике я и мои коллеги часто сталкиваемся с необходимостью тестировать идеи максимально быстро и просто. Мы не хотим тратить много...

[Перевод] Почему системные администраторы должны становиться DevOps-инженерами Для обучения в жизни нет лучшего времени, чем сегодня. На дворе 2019 год, и тема DevOps сейчас актуальна, как никогда. Говорят, что дни системных администраторов прошли, как миновала эпоха мейнфреймов. Но так ли это на самом деле? Как это часто бывает в IT, ситуация изменил...

[Из песочницы] System.Console, Mono и NCurses Всем привет, в своей работе (а ранее и в учебе) я часто использую C# и этот язык стал мне, что называется, привычным. Решив немного потренироваться в программировании, я написал консольный текстовый редактор для Linux. Вкратце опишу полученный опыт. В Mono класс System.C...

[Перевод] Реализация шаблона проектирования Command в Unity Вы задавались когда-нибудь вопросом, как в играх наподобие Super Meat Boy реализована функция реплея? Один из способов её реализации — выполнять ввод точно так же, как это делал игрок, что, в свою очередь, означает, что ввод нужно как-то хранить. Для этого и многого другого...

[Перевод] Система частиц в Core Animation. Рождественская история Всем привет! Рождество давно прошло, но после него у нас осталась занимательная история о том, как при помощи нечасто используемой возможности Core Animation можно создать пользователям праздничное настроение. Делюсь переводом статьи моего лондонского коллеги Алексиса. Р...

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

Напиши свою песню за 10 минут (модуль textgenrnn Python3) Сегодня попробуем обучить свою собственную нейронную сеть, чтобы писала текст для песен. Обучающей выборкой будут тексты группы "Руки Вверх". Ничто не мешает чтобы поменять данные на тексты своих любимых групп. Для извлечения данных с веб-сайтов используем Python3 (модуль B...

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

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

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

[Из песочницы] Как я библиотеку для сервиса «Яндекс.Музыка» писал Введение Обо мне Всем привет, я обычный учащийся по специальности "техник-программист". С детства увлекаюсь компьютерами, с класса 7-го начал познавать само программирование. Являюсь владельцем подписки на Яндексу Музыку уже больше года и в целом доволен сервисом (...

Как повысить продуктивность команды в несколько раз Как часто бывает в жизни: приходит новый менеджер и ставит задачу повысить количество реализуемых фич в 2 раза за следующий спринт. Разработчики, конечно, стараются, работают, остаются на выходные, выполняют поставленный план, но потом почему-то все увольняются. Большинство...

Чеклист: запускаем SCRUM-команды и делаем прививки от зомби-скрама SCRUM стал настолько популярен, что сейчас его пытаются внедрять практически везде. В больших компаниях иногда получается так, что SCRUM внедряют ради отчетности, или для того, чтобы быть “прогрессивным” и “модным”. В результате ситуация, что вроде как ответственный менеджер...

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

Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...

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

[Из песочницы] Сделать номинанта на лучшее приложение в Google Play за год: как хотя бы начать (часть 1) 3 декабря 2018 было понедельником. Но для нас 3 часа ночи этого понедельника все еще воспринимались как бесконечное затянутое воскресенье. Мы с моей девушкой — а она еще успеет поучаствовать в этой истории — сидели за ноутбуками, чтобы не переносить дату релиза в третий раз....

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

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

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

[Из песочницы] Как я занимался созданием шкатулки LED HEART Приветствую, Habr! Хочу поведать историю о создании музыкальной шкатулки с элементами световой иллюминации – красивого подарка с возможностью индивидуального подбора световых эффектов и музыкального сопровождения. Шкатулку обозвал незамысловато — LED HEART. Какая-никакая ра...

Наряд-допуск: для чего он нужен и почему электронный лучше бумажного Привет! Меня зовут Игорь Громов, и я работаю в СИБУРе в функции «Цифровые технологии», в направлении цифровизации процессов. Сейчас мы активно занимаемся переводом в электронный вид наших нарядов-допусков. Наряд-допуск — это инструкция по мерам безопасности, которая выда...

Сервер, ты меня слышишь? BROP-атака на примере задания NeoQUEST-2019 Как найти уязвимость на сервере, не имея информации о нём? Чем BROP отличается от ROP? Можно ли скачать исполняемый файл с сервера через переполнение буфера? Добро пожаловать под кат, разберём ответы на эти вопросы на примере прохождения задания NeoQUEST-2019! Читать дальш...

Intel — звучим по-новому В своей более чем полувековой истории компания Intel проявила себя, то есть, использовала свои технологии во многих областях нашей жизни — от детских игрушек до оборудования на стадионах. Но только сейчас компания, созданная во времена расцвета The Beatles и Pink Floyd, об...

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

Commute: Heavy Traffic 2.05.5 Добро пожаловать в ближайшее будущее, в город, где все автомобили управляются компьютерами. Казалось бы, что теперь не должно быть пробок и аварий… Но это не так. Пробки не искоренить ездой по правилам. И вот вы выезжаете на своем автомобиле с полностью ручным управлением, д...

[Из песочницы] Изучение Bootstrap с 10 полезными советами Если вы хотите начать свою карьеру в веб-разработке, то изучение Bootstrap — это то, что вам нужно. Bootstrap — это фреймворк, используемый для разработки веб-приложений. Его библиотека интерфейсных компонентов широко используется для создания интерактивных и адаптивных веб-...

Стажировка Sberseasons: Python, UX/UI, Data и ещё много чего для студентов Привет, Хабр! Этот пост написан специально для студентов. Если вы уже состоявшийся профессионал, лучше посмотрите, как в gif’ках выглядит жизнь Open Source разработчика, а если вы студент, да еще с ИТ-шной специальностью, добро пожаловать под кат. Чем хороша наша программ...

Dell XPS 13 9380: надёжный и очень компактный ноутбук для серьёзных дел Привет, Хабр! Сегодня мы хотим подробно рассказать о новой версии нашего флагманского ультрабука XPS 13 9380. Машина интересна сразу несколькими особенностями. Во-первых, это один из самых компактных и лёгких 13-дюймовых лэптопов на рынке. Во-вторых, здесь используются очень...

Как смотреть SDDL и не ломать глаза о точки с запятыми Мой путь в ИБ начался с удивительного открытия: «безопасно ≠ зашифровано». Это сейчас такое утверждение выглядит простым и очевидным, а на первом курсе осознание этого факта произвело эффект сравнимый с ментальной атомной бомбой. Информационная безопасность атаковала расши...

Service Level Agreement: пишем SLA для… других, или заключение SLA с Оператором связи Уверен, что многие хабражители хоть раз в жизни занимались вопросом обеспечения услугами связи для какой нибудь конторы или компании (собственное жилище тоже считается), все мы когда-то, увы не всегда вдумчиво, «подмахивали» договор на услуги связи, надеясь, что все будет хо...

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

IT Релокация. Из Бангкока в Сидней Доброго времени суток дорогой читатель. Если ты знаком с моей историей переезда в Бангкок, то, я думаю, тебе будет интересно послушать еще один мой рассказ. В начале апреля 2019 года я переехал в самый лучший город на Земле — Сидней. Занимай свое уютное кресло, завари теплы...

Стив Возняк рассказал про своё любимое устройство от Apple Apple Watch — лучший гаджет по версии Стива Возняк Если подумать, то смартфон – это, пожалуй, единственное устройство, с которым большинство из нас ни за что не расстанется. Планшеты, смарт-часы, фитнес-браслеты, да даже ноутбуки – всё это меркнет по сравнению с возмож...

Material как WebComponents В последнее время, как я уже отмечал в предыдущей статье, вполне себе активно ведутся разработки WebComponents оберток для популярных фреймворков позволяющий использовать их через браузерное API. Это значит, что если вы хотите использовать готовые компоненты созданные на том...

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

Некоммерческим организациям помогут настроить e-mail-маркетинг Email-маркетинг – это больше, чем просто рассылки. Выстраивание грамотной стратегии коммуникации требует основательного подхода. Этому и учатся студенты UniSender, которые готовы взяться за проекты НКО в качестве прохождения практики. Принцип win win в действии! Для ваше...

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

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

[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...

Сборка чугунного скорохода на Spring Boot и AppCDS Сборка чугунного скорохода на Spring Boot и AppCDS Application Class Data Sharing (AppCDS) – фича JVM для ускорения запуска и экономии памяти. Появившись в HotSpot в зачаточном виде ещё в JDK 1.5 (2004 г.), она долгое время оставалась весьма ограниченной, да ещё и отчасти к...

Как нужно и не нужно писать чат ботов на примере моего бота для игры в «Тайный Санта» Предыстория Год назад решил я создать телеграм бот для того, чтобы поиграть в достаточно популярную новогоднюю игру «Тайный Санта». Вдохновился я тем, что пару лет назад мы на работе компанией решили сыграть в эту игру (это показалось очень круто), и плюс я давно следил за...

Как техподдержка HP работает — добро пожаловать или посторонним вход воспрещён Привет всем Хабровчанам! Хочу поделиться историей о наболевшем, потому что не знаю, куда еще жаловаться. Примерно полгода назад, я стал менять свою технику, устав от яблочной жизни. Мне казалось, да и сейчас кажется, что ребята из купертиновской компании начали тормозить раз...

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

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

Трагичная история знакомства с poppler …Или как мы писали пилот приложения для ОС Sailfish с использованием poppler. Год начался с занятной задачи — нашей команде нужно было за короткий срок собрать пилот приложения «Мобильное рабочее место руководителя» на ОС Sailfish. По сути, это мобильный клиент СЭД, т.е. о...

Киберспорт –играем, вовлекаем Я занимаюсь организацией и поддержкой работы удаленных центров ИТ. В девяти городах, за которые я отвечаю, на стороне подрядчиков работает более 300 человек. Мы считаем их своими сотрудниками, пусть официально они и не в штате нашего Банка. Моя ключевая задача – сделать так,...

[Из песочницы] Профилирование под Linux с помощью Performance Analyzer Профилирование под Linux с помощью Performance Analyzer Коллеги, считаю полезным рассказать об удобном и бесплатном профилировщике кода для Linux/Solaris. Он входит в пакет Sun/Oracle Developer Studio [1]. По моему мнению, другие части этой среды разработки несколько бесполе...

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

Не ORMом единым Не ORMом единым Всем привет! Я руковожу отделом партнерской разработки (Partners Development) в сервисе бронирования отелей Ostrovok.ru. В этой статье я хотел бы рассказать про то, как на одном проекте мы использовали Django ORM. На самом деле я слукавил, название должно был...

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

Виртуальная реальность – параллельная жизнь со своими течениями Полгода назад у меня закончился контракт в одном увлекательном проекте. Скучаю по нему настолько, что решила «вспомнить все». Проект жив, здоров и представляет собой веб-платформу и SDK, для того, чтобы быстро и безболезненно создавать виртуальные реальности под разные запро...

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

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую ...

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

Изучение английского: a geeky way Доброй глубокой ночи, незаметно для меня перешедшей в утро. Пишу под влиянием того поста, тоже написанного под влиянием. Да, вторично и уже начинает надоедать, но удержаться просто не могу. Хочу описать свой личный, немного нетривиальный, вовсе не претендующий на способ и м...

Detox и Appium: автоматизированный тест интерфейса в React Native Незнакомая мобильная среда Я, возможно, также как и вы, пришел к React Native как разработчик JavaScript нежели как разработчик нативных мобильных приложений. Абсолютно новый мир со своими нюансами и хитростями. Одной из самых важных тем для изучения станет тестирование. ...

[Перевод] Как НАСА заботится о безопасности и рассудке своих астронавтов Суровую обстановку межпланетных путешествий выдержат не все Астронавт – одна из самых опасных, стрессовых профессий с высокими ставками на нашей планете (и за её пределами). По изоляции, ограниченности пространства и экстремальности её можно сравнить, разве что, с работой ...

Рисовать — это 10% работы UX-дизайнера Привет, Хабр! Меня зовут Никита. Год назад я пришёл работать в Промсвязьбанк UX-дизайнером в команду по разработке интерфейсов ДБО для малого и среднего бизнеса. В то время нашей команде прилетали совершенно разные задачи, с разных продуктов. Зачастую уже в виде четко описан...

OS1: примитивное ядро на Rust для x86. Часть 3. Карта памяти, Page fault exception, куча и аллокации Первая часть Вторая часть Тема сегодняшнего разговора — работа с памятью. Я расскажу про инициализацию директории страниц, маппинг физической памяти, управление виртуальной и мою организацию кучи для аллокатора. Как я уже говорил в первой статье, я решил использовать страниц...

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

Основы шаблонов С++: шаблоны функций Дисклаймер: статья была начата еще в феврале, но, по зависящим от меня причинам, закончена не была. Тема очень обширна, поэтому публикуется в урезаном виде. Что не поместилось, будет рассмотренно позже. Невозможно разбираться в современном С++, не зная, что такое шаблоны п...

Идея о поиске людей в лесу Эта статья описание небольшой идеи возникшей после прочтения недавней статьи «Обыскать 314 км² за 10 часов — финальное сражение инженеров-поисковиков против леса» Сразу предупрежу, что у меня маловато опыта в радиотехнике, и совсем нет оного в поиске пропавших людей, так чт...

[Из песочницы] Python + Raspberry Pi + Pixhawk и квадрокоптер. Или как не надо делать роботов Привет, Хабр! Меня зовут Алексей, уже 7 лет я ведущий разработчик Smart TV-решений в крупной компании из Ижевска, занимающейся заказной разработкой. Каждый год у нас проводится конкурс новогодних украшений, и каждый раз мы ничего не украшаем, а пилим всякие технологичные шт...

Немного технической лирики о C++ Tools от JetBrains, и при чем тут единороги Начну не с моего типичного “Привет, Хабр! У нас тут очередной крутой релиз”, а с “Привет, меня зовут Настя, я ПММ в JetBrains и я отвечаю за наши инструменты для C++”. Или нет, попробую еще раз, вот так: “Привет, пишет вам C++ разработчик с 8-летним стажем, который 5 лет наз...

[Из песочницы] События на базе LiveData Android LiveData – это отличный инструмент для связывания состояния ваших данных и объектов с жизненным циклом (LifecycleOwner, обычно это Fragment или Activity). Обычно LiveData помещаются во ViewModel и используются для обновления состояния вашего UI. Часто ViewModel может пережи...

Доступ к свойствам внутри поля Jsonb для Npgsql PostgreSQL имеет тип данных Jsonb, который позволяет добавлять к стандартной реляционной модели дополнительные свойства с возможностью поиска по ним. EntityFramework Core с расширением Npgsql умеет вытягивать данные поля в тип System.String Однако для фильтрации по Json свой...

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

Функциональные практики и frontend: монады и функторы Всем привет! Меня зовут Дмитрий Руднев, я frontend-разработчик в компании БКС. Начинал я свой путь с верстки интерфейсов различной сложности и всегда уделял повышенное внимание именно интерфейсу: насколько пользователю будет комфортно с ним взаимодействовать, смог ли я донес...

[Из песочницы] Крибле Карбле Gradle: магия автоматической сборки Разработчики облегчают жизнь людям, а Gradle — разработчикам. Если вы пишете на Android, эта статья для вас. Читайте о том, что за зверь этот Gradle (спойлер: он слон), а также — как с ним работать. Gradle — система автоматической сборки, которую используют для упрощения раб...

[Перевод] Используйте __main__.py Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаим...

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

Сколькими смартфонами вы владеете? Интересно узнать, сколькими смартфонами владеют наши читатели. Если раньше использование лишь одного телефона было нормой, сегодня всё больше людей предпочитают несколько аппаратов. Это могут быть обычные кнопочные телефоны для звонков и смартфоны линейки Galaxy Note для бо...

Как очистить оперативную память на Android-смартфоне Освободив оперативную память, вы заставите смартфон работать быстрее Большинство устройств среднего и высокого ценового диапазона, выпущенные за последние пару лет, имеют в районе 4 гигабайт оперативной памяти. Если, конечно, мы не будем принимать во внимание флагманы вроде ...

[Перевод] Извлечение данных при машинном обучении Хотите узнать о трех методах получения данных для своего следующего проекта по ML? Тогда читайте перевод статьи Rebecca Vickery, опубликованной в блоге Towards Data Science на сайте Medium! Она будет интересна начинающим специалистам. Получение качественных данных — это пе...

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

Методы распознавания 3D-объектов для беспилотных автомобилей. Доклад Яндекса Беспилотному авто не обойтись без понимания, что находится вокруг и где именно. В декабре прошлого года разработчик Виктор Отлига выступил на «Дата-елке» с докладом о детекции 3D-объектов. Виктор работает в направлении беспилотных автомобилей Яндекса, в группе обработки доро...

Смартфоны Samsung Galaxy Note могли бы иметь более узкие рамки и емкий аккумулятор, если бы не стилус S Pen Известный инсайдер под ником Ice Univerce опубликовал на своей страничке в социальной сети Twitter сведения о том, насколько более изящными могли бы быть смартфоны Samsung Galaxy Note, если бы не стилус S Pen. Согласно информации, полученной по его собственным каналам, ...

Восстановление данных из пустого места Привет Хабр. В новогодние каникулы появилась возможность написать об интересном случае (хотя подобных кейсов у нас в DATALABS не мало). А интересен он тем, что из полностью обнулённой USB флешки, мы удачно восстановили данные. Если интересно как? Добро пожаловать под кат…...

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

[Перевод] Как соединить кластеры Kubernetes в разных дата-центрах Добро пожаловать в серию кратких руководств по Kubernetes. Это регулярная колонка с самыми интересными вопросами, которые мы получаем онлайн и на наших тренингах. Отвечает эксперт по Kubernetes. Сегодняшний эксперт — Даниэль Поленчик (Daniele Polencic). Даниэль работает инс...

[Из песочницы] Celery taskcls: новый декоратор, новые возможности Привет, Хабр! Я расскажу тебе историю своего профессионального подгорания. Так вышло, что я терпеть не могу рутинных однообразных действий. У меня за плечами несколько проектов, использующих Celery. Каждый раз, когда задача становится сложнее вывода 2 + 2 = 5, шаблон решения...

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

3D игра на three.js, nw.js Я решил выпустить новую версию своей старой браузерной игры, которая на протяжении пары лет пользовалась успехом в качестве приложения в социальных сетях. На этот раз я задался целью оформить ее также и в виде приложения под Windows (7-8-10) и разместить в различных магазина...

Мнение математика из Оксфорда: сможет ли ИИ творить как человек? Игра го, в которую компьютерная программа DeepMind обыграла чемпиона среди людей, создала своего рода сумятицу для Маркуса дю Саутоя, математика и профессора Оксфордского университета. «Я всегда сравнивал математику с игрой в го», говорит он. И го не должна быть игрой, в ко...

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

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

Делаем мессенджер*, который работает даже в лифте *на самом деле мы напишем только прототип протокола. Возможно, вы встречались с подобной ситуацией – сидите в любимом мессенджере, переписываетесь с друзьями, заходите в лифт/тоннель/вагон, и интернет вроде ещё ловит, но отправить ничего не получается? Или иногда ваш прова...

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

Что делать, если не работает Google Play Music Не работает Play Music? Есть решение! Google Play Music — это замечательная вещь: почти любая песня мгновенно передается на ваше устройство «по воздуху» независимо от того, где вы находитесь. Кроме тех случаев, когда у вас, естественно, нет доступа к сети. Од...

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

[Из песочницы] О том, как из C# перешел в Elixir/Phoenix Как-то раз пришлось мне менять работу. До этого я работал только с языками типа Python, C++, C# и ещё парочкой подобных. А теперь пришлось начать работать с функциональным языком. Первые впечатления были «да что за фигня?». Однако у меня получилось достаточно быстро адаптиро...

Thymeleaf: диалект Layout + Spring Boot 2 Диалект Layout — это диалект Thymeleaf, который позволяет пользователям создавать макеты и шаблоны для повторного использования HTML кода. Он имеет иерархический подход и использует шаблон декоратора для «декорирования» файлов макета. Layout Dialect является отдельным проект...

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

[Перевод] Расшифровка трассировщика лучей размером с открытку «Он снова это сделал!», — вот, что первое пришло мне в голову, когда я посмотрел на оборотную сторону флаера Pixar [1], полностью заполненную кодом. Скопление конструкций и выражений была подписана в правом нижнем углу не кем иным, как Эндрю Кенслером. Для тех, кто его не з...

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

Java Native Image: проверка возможности использования Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фре...

Web scraping на R, часть 2. Ускорение процесса с помощью параллельных вычислений и использование пакета Rcrawler В прошлой статье я с помощью скрэпинга-парсинга собрал с сайтов IMDB и Кинопоиск оценки фильмов и сравнил их. Репозиторий на Github. Код неплохо справился со своей задачей, однако скрэпинг часто используют для "соскабливания" не пары-тройки страниц, а пары-тройки тысяч и д...

[Из песочницы] Немного о порождающих шаблонах проектирования Тема шаблонов проектирования достаточно популярна. По ней снято много роликов и написано статей. Объединяет все эти материалы «анти-паттерн» Ненужная сложность (Accidental complexity). В результате примеры заумные, описание запутанное, как применять не понятно. Да и главная ...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

[Перевод] От Witcher 3 до Cyberpunk: эволюция дизайна квестов CD Projekt The Witcher 3 известен своим превосходным дизайном квестов, но разработчик игры CD Projekt Red обещает в своём новом проекте Cyberpunk 2077 развить и улучшить проверенный подход. На E3 2019 директор отдела квестов Матеуш Томашкевич рассказал нам, чему он научился, управляя...

[Перевод] Изучаем Python: модуль argparse Если вы занимаетесь обработкой и анализом данных с использованием Python, то вам, рано или поздно, придётся выйти за пределы Jupyter Notebook, преобразовав свой код в скрипты, которые можно запускать средствами командной строки. Здесь вам и пригодится модуль argparse. Для но...

От ежедневных аварий к стабильности: Informatica 10 глазами админа ETL-компонента хранилища данных часто оказывается в тени самого хранилища и ей уделяется меньше внимания, чем главной базе данных или фронт-компоненте, BI, формировании отчётов. При этом с точки зрения механики наполнения хранилища данными, ETL играет ключевую роль и требу...

[Из песочницы] Хранение и автоматическая сортировка фото и других файлов. Работа с файлохранилищем на базе NAS Synology Давно хотел написать про то как я храню свои файлы, как делаю бэкапы, но все никак не доходили руки. Недавно тут появилась статья, в чем-то похожую на мою но с другим подходом. Сама статья. Я уже много лет пытаюсь найти идеальный для себя метод для хранения файлов. Думаю я ...

[Из песочницы] Блочное программирование Здравствуйте! Начну статью с небольшого отступления. Не посетило ли вас разочарование когда вы впервые столкнулись с программированием? Я предполагал что создание программ происходит путём взаимодействия с каким-то сложным, но очень интересным инструментом, в котором я смог...

[Перевод] Gmail исполнилось 15 лет Возвращаясь в 2004 год, электронная почта выглядела совсем по-другому. "Входящие" были забиты спамом, и было просто невозможно найти реальные сообщения или файлы. Кроме того, количество писем было ограничено, поэтому приходилось постоянно удалять их, чтобы не превышать лими...

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

Мнение: Почему смарт-часы — это пустая трата денег Что для вас важно при покупке того или иного гаджета? Если мы не берем в расчет различные статусные или узкоспециализированные устройства, то скорее всего, ответ будет — хорошее соотношение цена\качество. Большинство современных устройств стараются находить баланс меж...

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков описал типичные ошибки, которые встречались ему в проектах на языках Java,...

[Перевод] Как соединить GitLab и Pantheon и оптимизировать рабочие процессы Drupal и WordPress Наш гость, создатель инструментов для разработчиков из Pantheon, рассказывает, как автоматизировать деплои WordPress с помощью GitLab CI/CD. В Pantheon я занимаюсь связями с разработчиками, поэтому всегда ищу новые способы помочь разработчикам WordPress и Drupal решать проб...

Как я начал уметь в маркетинг Всем привет! Я хотел бы рассказать о своем прошлом – замечательном проекте Withme, но «без купюр». В публикациях здесь я уже пытался рассказать о всех событиях в хронологическом порядке, однако многие факты были “немного” спрятаны под смешными «факапами», безудержным весел...

Sublime Text 3 для верстки сайтов. Настройка внешнего вида и установка плагинов. Руководство для начинающих Сегодня расскажу о редакторе кода, которым пользуюсь для верстки сайтов уже много лет. Быстрый, удобный и полностью настраиваемый Sublime Text 3. Мы с нуля настроем его внешний вид, а также применим плагины AutoFileName, BracketHighliter, ColorHighliter, Emmet, GotoCSSDec...

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

[Из песочницы] Пример реализации Continuous Integration с помощью BuildBot (Image by Computerizer from Pixabay) Привет! Меня зовут Евгений Черкин, я программист команды разработчиков в горнодобывающей компании Polymetal. Приступая к любому крупному проекту начинаешь задумываться: «Какой же софт лучше использовать для его обслуживания?». IT-пр...

Инженерные подходы и чеклисты: как не сойти с ума в хаосе задач Привет! Меня зовут Олег, и я frontend-разработчик в Альфа-Банке. Я хочу рассказать вам немного философскую историю — про инженерный подход к разработке, про мою первую работу и грабли, которые я там собрал, про то, почему чеклисты очень важны (и спасают жизни). А еще про ...

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

[Из песочницы] Легкое создание отчетов на C/C++ Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует ...

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

[Из песочницы] Два разработчика и два месяца на Бали. Какие выводы мы сделали из путешествия Привет, Habr. Меня зовут Саша, я HR в компании FINCH. Недавно наша компания отправила сотрудников на Бали на месяц. Отдыхать и работать. История на коллективной поездке не закончилась – двое наших ребят решили остаться на Бали еще на пару месяцев. Я, скучая в Москве, решил ...

Как взять сетевую инфраструктуру под свой контроль. Глава третья. Сетевая безопасность. Часть третья Эта статья является пятой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь. Эта часть будет посвящена Campus (Office) & Remote access VPN сегментам. Может показаться, что дизайн офисной сети...

Построение отказоустойчивого решения на базе Oracle RAC и архитектуры AccelStor Shared-Nothing Немалое число Enterprise приложений и систем виртуализации имеют собственные механизмы для построения отказоустойчивых решений. В частности, Oracle RAC (Oracle Real Application Cluster) представляет собой кластер из двух или более серверов баз данных Oracle, работающих совме...

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

Как мы строим систему обработки, хранения и анализа данных в СИБУРе В начале 2018 года у нас активно пошел процесс цифровизации производства и процессов в компании. В секторе нефтехимии это не просто модный тренд, а новый эволюционный шаг в сторону повышения эффективности и конкурентоспособности. Учитывая специфику бизнеса, который и без вся...

Бег — идеальный спорт для удаленщика. Часть 1: Путь до первого забега на сотню километров Меня зовут Олег, я работающий удалённо DevOps-инженер в компании «Флант», и в этой статье я постараюсь убедить вас в том, что занятия бегом — лучший выбор для удалёнщика. Недавно сумма преодоленных мной километров перевалила за цифру 3000. Но так было не всегда. С детства...

Уколов можно не бояться — создана «умная» игла для аккуратных инъекций Медицинские технологии развиваются гораздо быстрее, чем автомобили и другая техника. Появление «умных» игл для шприцов было вопросом времени, и они наконец-то созданы. Их разработкой занимались исследователи из Женской больницы Бригама — они сделали так, чтобы иглы были чув...

Что нам стоит IoT построить? Свой IoT на Amazon за один день Начать разбираться с IoT (Internet of Things) платформами меня останавливало отсутствие IoT устройства, которое было бы совместимо по протоколам и способам доступа. Но когда я понял, что в качестве устройства можно использовать обыкновенный смартфон, то реализация работающей...

Как настроить Apple Pay на iPhone Apple Pay — очень удобный способ оплаты. С ним вы можете легко использовать свой телефон для покупок и оплаты услуг. Для этого необходимо лишь поднести ваше мобильное устройство к терминалу и идентифицировать себя с помощью Touch ID или Face ID. Чтобы  пользоваться Apple Pay...

Нуар-квест: раскрываем преступление по цепочке Здесь не будет дворецкого, которого можно во всём обвинить. Но будет загадка, тайна, исчезновение лучшего друга в декорациях высоких технологий. Это настоящий осенне-депрессивный квест. Интересно проверить свою дедукцию? Добро пожаловать под кат

WG Contract API: zoo of services С ростом количества компонентов в программной системе, обычно растёт и количество людей принимающих участие в её разработке. Как следствие, для сохранения темпов разработки и простоты сопровождения, подходы к организации API должны стать предметом особого внимания. Если х...

Quick Draw Doodle Recognition: как подружить R, C++ и нейросетки Привет, Хабр! Осенью прошлого года на Kaggle проходил конкурс по классификации нарисованных от руки картинок Quick Draw Doodle Recognition, в котором среди прочих поучаствовала команда R-щиков в составе Артема Клевцова, Филиппа Управителева и Андрея Огурцова. Подробно опи...

[Из песочницы] Первое рабочее место или как начать разработку API на Node.js Введение В данной статье хотел бы поделиться своими эмоциями и приобретенными навыками в разработке первого REST API на Node.js с использованием TypeScript, как говорится, с нуля. История достаточно банальная: «Закончил университет, получил диплом. Куда же пойти работать?» К...

Как пользоваться Яндекс Вордстат: операторы, расширения и секреты Кратко о важном: какими операторами пользоваться в Вордстате, чтобы смотреть нужные запросы, и как облегчить себе работу в сервисе.

Как стать Java разработчиком за 1,5 года Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддер...

Достраиваем в RESTinio четвертый этаж из C++ных шаблонов. Зачем и как? RESTinio — это относительно небольшой проект, представляющий из себя встраиваемый в C++приложения асинхронный HTTP-сервер. Его характерной особенностью является широкое, можно сказать, повсеместное применение C++ных шаблонов. Как в реализации, так и в публичном API. C++ные ш...

Фонарик Здравствуйте, меня зовут Каптилова Карина, я ученица 9 класса А МАОУ "Лицей №14" г. Тамбова. Я представляю вам свой проект под названием "Фонарь". Я увлекаюсь историей, в частности историей Средних веков. В то время люди использовали небезопасные свечи и факелы, для освещени...

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

Правительство доработает закон о «шпионских устройствах» По словам премьер-министра России Дмитрия Медведева, технические средства для шпионажа и приборы, используемые в повседневной жизни следует разграничить законодательно. Это, по словам премьера, нужно сделать для того, чтобы обезопасить население от административного и уголов...

Реестр печати с расчетом И так, доброго всем времени суток)Данный пост начну с небольшого рассказа.Я думаю как и многие из нас, я занимаюсь печатью на заказ, правда пока в небольших объемах, но всё же столкнулся с некоторой проблемой. Я старался всегда вести какой-то учет заказов, чтобы собирать ста...

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

Пять важных аспектов обучения пользователей ITSM-инструмента Как помочь пользователям вашей ITSM-системы научиться использовать её наиболее эффективно? Ведь недостаточно просто выбрать и внедрить современный инструментарий для автоматизации в области управления ИТ-услугами. Помимо этого необходимо обеспечить получения от него максима...

Flipper Zero — пацанский мультитул-тамагочи для пентестера Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа. А еще это тамагочи, в котором живет кибер-дельфин. Он будет уметь: Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, эл...

[Из песочницы] Заставляем работать MacBook Pro 2018 T2 c ArchLinux (dualboot) Достаточно много было шумихи по поводу того, что из-за нового чипа T2 невозможно установить linux на новые MacBook 2018 года с тачбаром. Шло время, и под конец 2019 года стронними разработчиками был реализован ряд драйверов и патчей ядра для взаимодействия с чипом T2. Основн...

Больше чем Ceph: блочное хранилище облака MCS «Flying Cart», Afu Chan Я работаю в Mail.ru Cloud Solutons архитектором и разработчиком, в том числе занимаюсь нашим облаком. Известно, что распределенной облачной инфраструктуре нужно производительное блочное хранилище, от которого зависит работа PaaS-сервисов и решений, п...

Как стать разработчиком игр, если ты риелтор Добрый день, Хабр. Два года и несколько месяцев назад, я написал здесь своей первый и единственный пост, как, не имея никакого опыта разработки игр, я создал свое первое android-приложение. Пусть и потратил на это весь свой тогдашний отпуск. Хотя игрой это было и сложно наз...

[Из песочницы] Со склада в Дагестане — в программисты: как я стал iOS-разработчиком с нуля История о том, как простой парень из депрессивного региона России пытается заявить о себе — и о том, что стереотипы говно. Привет. Меня зовут Даниял Деветов, я iOS-разработчик в компании FINCH. Пока я еще junior, но крепкий, я бы даже сказал «почти middle». Родом я из горо...

Про зеркала репозиториев Centos и выбор лучшего из них В прошлом году мы организовали у себя в сети общедоступные зеркала для нескольких Linux дистрибутивов. Это не сложный процесс и для больших проектов, вроде Ubuntu, почти полностью автоматизированный. В других случаях необходимо тем или иным способом связаться с проектом, нап...

CAGR как проклятие специалистов, или ошибки прогнозирования экспоненциальных процессов Среди читающих этот текст, конечно, много специалистов. И, конечно, все отлично разбираются в своих областях и хорошо оценивают перспективность разных технологий и их развитие. При этом история (которая «учит тому, что она ничему не учит») знает немало примеров, когда специ...

[Из песочницы] Построение пакета RPM для Rosa Linux на практике Если Вы уже давно пользуетесь операционной системой Linux и хоть немного разбираетесь в программировании, рано или поздно Вам может понадобиться собрать программу из исходного кода. Может быть, нужной программы не окажется в репозиториях дистрибутива. Или в этих репозиториях...

[Из песочницы] Саундтрек для игры: гуманитарии тоже плачут О себе Коротко о себе. Меня зовут Дмитрий. Я с детства окружен друзьями — программистами, сисадминами и прочими айтишниками. Сам пробовал связать жизнь с этим — одно время был веб-разработчиком говно-сайтов, учил html, php, но дальше дело не пошло. Все время тянуло в творчес...

Собираем Perl прямиком из 1987 года Прочитав новость "Код интерпретатора Perl официально перенесён на GitHub" на ресурсе LINUX.ORG.RU я решил взглянуть на репозиторий Perl 5, который теперь уже находится на GitHub’е. Удивительно, как трепетно и качественно его перенесли, сохранив не только абсолютно всю 32-ле...

[Из песочницы] Jenkins для Android сборки, с помощью Docker Всем привет! Я работаю андроид разработчиком, и не так давно мы столкнулись с некоторыми рутинными задачами на своем проекте, которые хотелось бы автоматизировать. Например у нас 5 разных flavor, для каждого из которых требуется загружать свой билд на fabric, иногда для раз...

Управление персонажем с помощью SharedEvents Ссылка на проект В данной статье я хочу показать, как можно использовать SharedEvents для управления персонажем от третьего лица, который предлагает стандартный набор ассетов. О SharedEvents я писал в предыдущих статьях (этой и в этой). Добро пожаловать под кат! Читать да...

О разных тиках замолвите слово или как не получить ошибку в Powershell при работе с Get-Date Доброго дня, любители Powershell. Я люблю его, и сегодня заметил одну странность, которая мотивировала к написанию данного поста. Думаю, вам тоже будет интересно. Дело о лишнем тике. Если интересно, добро пожаловать под кат: Читать дальше →

[Перевод] Ещё 9 проектов для оттачивания Front-End мастерства Введение Независимо от того, являетесь ли вы новичком в программировании или уже опытным разработчиком, в этой отрасли изучение новых концепций и языков/фреймворков является обязательно чтобы успевать за трендами. Возьмем, к примеру, React — код которого, Facebook открыл ...

[Перевод] Создаем конвейер потоковой обработки данных. Часть 1 Всем привет. Друзья, делимся с вами переводом статьи, подготовленным специально для студентов курса «Data Engineer». Поехали! Apache Beam и DataFlow для конвейеров реального времени Сегодняшний пост основан на задаче, которой я недавно занимался на работе. Я был действитель...

Flare-On 2019 write-up -0x01 — Intro Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все з...

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

WebComponents как фреймворки, взаимодействие компонентов Когда разговор заходит о веб компонентах, часто говорят: «Ты что хочешь без фреймворков? Там же все готовое». На самом деле есть фреймворки созданные на основе реализаций стандартов входящих в группу веб компонентов. Есть даже относительно неплохие, такие как X-Tag. Но сегод...

Another Way — LFS, Multi User и текущий прогресс инди Action/RPG Всем привет! Прошло немногим больше месяца и по традиции я спешу поделиться прогрессом нашей авантюры, серии под названием “Через тернии к игре мечты”. Хочу напомнить, что же тут происходит. Мы разрабатываем игру Another way — Нелинейная Action/RPG от третьего лица с элеме...

Как увеличить пожертвования: мастерская по подготовке к #ЩедромуВторнику для новичков Вы впервые участвуете в международном дне благотворительности ##ЩедрыйВторник или еще сомневаетесь, участвовать ли? Нужна помощь в разработке креативной кампании? Хотите создать сайт и запустить сбор онлайн-пожертвований? Тогда предлагаем участвовать в мастерской по подгото...

MPPT контроллер заряда на STM32F334C8T6 В комментариях под моими предыдущими статьями неоднократно возникал вполне резонный вопрос: "Зачем делать dc/dc преобразователи на микроконтроллере, когда есть готовые?" и я в качестве ответа постоянно упоминал, как наиболее яркий пример, контроллер заряда с алгоритмом MPPT....

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

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

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

3D Gallery 2.0.2 Gallery — это бесплатная фотогалерея следующего поколения с плавным пользовательским интерфейсом галереи и лучшим инновационным дисплеем. С помощью 3D-галереи вы можете: Наслаждаться 3D-стилями Делать фотографии из своей галереи живыми с помощью 3D-стилей, таких как...

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

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

Что такое методология DevOps и кому она нужна Разбираемся, в чём суть методологии и кому она может принести пользу. Также поговорим о DevOps-специалистах: их задачах, зарплатах и навыках. Читать дальше →

Software AG: не только ARIS Здравствуй, Хабр. Меня зовут Олег Порецкий. Я вице-президент по продажам Software AG в России и СНГ. Мы работаем в России еще с 80-х годов, и нам есть что о себе рассказать. В англоязычном сегменте мы поддерживаем собственное сообщество ИТ-специалистов (TECH Community). Тепе...

[Перевод] За последние 12 лет я ни разу не показал резюме В группах Facebook для начинающих программистов часто спрашивают, как улучшить резюме, чтобы легче получить работу. За свою 12-летнюю карьеру я прошёл путь от джуниора до технического директора — и резюме ни разу мне не пригодилось. Не то, чтобы я не пытался. Просто у меня...

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

Талисман для стабильной связи Для чего нужен мобильный Интернет, например, 4G? Чтобы путешествовать и быть всё время на связи. Вдали от мегаполисов, где нет привычного бесплатного Wi-Fi, и жизнь идёт своим спокойным чередом. А ещё он нужен, чтобы иметь доступ в Сеть, посещая удалённые объекты, где не пр...

Как программист в тренажерный зал ходил, и что из этого получилось Мой коллега поделился своей историей, которую я и предлагаю вашему вниманию в качестве лонгрида на уик-энд:) Привет, читатель! Меня зовут Александр Абдуллаев, я тружусь в компании Veeam вот уже 9 лет. Моя карьера в IT за это время сложилась довольно необычно — можно сказа...

Серый кардинал .NET — Джон Гэллоуэй Знаете ли вы, кто такой Джон Гэллоуэй? А между тем, он есть. Он не только один из авторов «Professional ASP.NET MVC», но и человек, который является исполнительным директором .NET Foundation, по сути – отвечает за весь опенсорс .NET. Основные темы этой статьи: подробности р...

Как вычисляют сумасшедших — 2: блеск и нищета патопсихологической диагностики Привет, Хабр! Меня зовут Кристина, я клинический психолог. Около двух лет назад я опубликовала на Geektimes пост о патопсихологической диагностике, в котором рассказала о том, как производится исследование психики пациентов в психиатрическом стационаре на предмет наличия и...

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

[Из песочницы] Анализ скроллинга страниц в Google Data Studio Добрый день, меня зовут Чакканбаев Ильхом я автор блога SeoPulses, хотел бы поделиться переводом и реализацией на практике статьи michaelhoweely.com. Для того чтобы создать полноценный и понятный отчет для блога или статейного сайта в Google Data Studio потребуется использов...

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

Параллельное обновление данных в ASP.NET Web API Хочу рассказать, как мы организовали фоновое обновление данных во время запроса к REST-сервису. Задача следующая: система хранит данные о пользователях. Cервис работает изолированно и не имеет прямого доступа к базам с этими данными. Для работы сервису необходимо иметь в св...

Как мы не выиграли хакатон С 30 ноября по 2 декабря в Москве прошел PicsArt AI hackathon c призовым фондом — 100,000$. Основной задачей было сделать AI решение для обработки фото или видео, которое можно будет использовать в приложение PicsArt. Коллега по работе(на тот момент) Артур Кузин предложил по...

Что умеет самый необычный менеджер задач? Я фанат ежедневников для записи дел. Какие только я не пробовал — и компактные Moleskine, чтобы делать быстрые заметки, и большие формата A4 для планирования своего дня чуть ли не по минутам. Но раз за разом возвращался к тому, что у такого подхода нет гибкости и како...

Как мы со Стасом завод за 2 месяца автоматизировали Случалось ли вам видеть автоматизацию производственного предприятия, выполненную за 2 месяца? Или, может быть, доводилось делать такую автоматизацию? Я уверен, таких примеров много. У меня тоже есть – кидаю в копилку. Сразу скажу, чтобы у вас не было предвзятости при прочте...

Умный сервис кэша на базе ZeroMQ и Tarantool Руслан Ароматов, главный разработчик, МКБ Привет, Хабр! Я работаю бэкенд-разработчиком в Московском кредитном банке, и за время работы у меня накопился некоторый опыт, которым я хотел бы поделиться с сообществом. Сегодня я расскажу, как мы писали свой собственный сервис к...

Android Academy в Москве: Advanced Course Всем привет! Лето — это отличное время года. Подошли к концу Google I/O, Mobius и AppsConf, а многие студенты уже закрыли или вот-вот уже закончат сдавать сессии, все готовы выдохнуть и наслаждаться теплом и солнцем. Но только не мы! Мы долго и упорно готовились к этому м...

NLP. Основы. Техники. Саморазвитие. Часть 1 Привет! Меня зовут Иван Смуров, и я возглавляю группу исследований в области NLP в компании ABBYY. О том, чем занимается наша группа, можно почитать здесь. Недавно я читал лекцию про Natural Language Processing (NLP) в Школе глубокого обучения – это кружок при Физтех-школе п...

Новые ключевые слова в Java В ближайшем будущем в языке Java появятся новые фичи, над которыми сейчас идет работа в рамках проектов Valhalla, Panama и Loom. Расширение языка — дело непростое, тем более — языка, в котором акцент делается на обратную совместимость; поэтому для того, чтобы их интеграция в...

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

IBM System i (aka AS/400) — Как мы делали автотесты приложений зеленого экрана Привет! Меня зовут Антон Воробьев, я отвечаю в Альфа-Банке за разработку приложений для централизованной банковской системы. В этом посте я расскажу вам о том, что такое приложения зеленого экрана, зачем они нужны и как мы делали для них автотесты, написав для этого собстве...

[Перевод] Полное руководство по switch-выражениям в Java 12 Старый добрый switch был в Java с первого дня. Мы все используем его и привыкли к нему — особенно к его причудам. (Кого-нибудь еще раздражает break?) Но теперь все начинает меняться: в Java 12 switch вместо оператора стал выражением: boolean result = switch(ternaryBool) { ...

Зачем нужны «Команды» Siri? Ответ Apple 17 сентября 2018 года, одновременно с релизом iOS 12, watchOS 5 и tvOS 12, Apple выпустила приложение «Команды» для Siri. Именно оно обеспечивает работу функции быстрых команд (shortcuts), позволяющих автоматизировать выполнение многих повседневных задач на iPhone и iPad. С...

[Из песочницы] Об актуальных проблемах геймдизайна и путях их разрешения. Взгляд снизу Итак, всем привет и добро пожаловать в мир современных игр! Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё что будет написано далее — основано на личном и субъективном игровом опыте, который включает в себя...

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

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

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

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

Мой опыт 3D печати игрушки танка Т-72 У меня на новый год нежданно-негаданно подарочком появился дельта принтер 3D FLSUN-QQ. Теперь я пытаюсь его освоить. Что-то получается просто, что-то не получается вовсе или получается с трудом. Процесс освоения 3D печати интересен, но не все идет гладко. Вообще мое предст...

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

Измерение качества кода Android-приложения с помощью Sonarqube и Jacoco в 2019 году Привет, Хабр! Меня зовут Артём Добровинский, я работаю Android-разработчиком в компании FINCH. Однажды, за парой пинт с коллегой из компании, которая занимается размещением объявлений по продаже комиссованных МИГ'ов и комаров по имени Игорь, мы начали обсуждать статические ...

[Из песочницы] Как при помощи 2 видов unit-тестов сделать приложение более стабильным Привет, Habr. Меня зовут Илья Смирнов, я Android-разработчик в компании FINCH. Хочу показать вам несколько примеров работы с Unit-тестами, которые мы наработали у себя в команде. В наших проектах используется два вида Unit-тестов: проверка на соответствие и проверка на выз...

[Из песочницы] Решаем задачу Best Reverser с PHDays 9 Здравствуйте! Меня зовут Марат Гаянов, я хочу поделиться с вами моим решением задачи с конкурса Best Reverser, показать, как сделать кейген для этого кейса. Описание В этом конкурсе участникам предоставляется ROM игры для Sega Mega Drive (best_reverser_phd9_rom_v4.bin). ...

[Из песочницы] Логирование всех запросов к Базе данных в Asp.Net Boilerplate 4.3 .Net Core 2.1 Часто в проекте возникает непонятная ошибка для которой необходимо максимальное логирование всех запросов к Базе данных. Статья поможет тем, кто пишет (развертывает на сервере) один из своих первых проектов на Asp.Net Boilerplate. Читать дальше →

One++ Calculator 1.7.4 Возможно, самый быстрый калькулятор для Android! функции: ★ 243 Пункты меню в общей сложности более 1000+ формулы ★ 5 цвет ассорти категории: день Math Конвертер физика и экономика ★ 5 Материал Темы: темное, светлое, черный, прозрачный, серый ★ 7 Меню представлени...

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

Создаем отдел джунов в помощь основным командам, используя лишь Slack, Jira и синюю изоленту Почти вся команда разработки Skyeng, состоящая из более чем 100 человек, работает удаленно и требования к специалистам всегда были высоки: мы искали синьоров, fullstack-девелоперов и мидлов. Но в начале 2019 года мы впервые наняли трех джуниоров. Сделано это было по нескол...

Пишем собственный CLI для React Если вы делаете Ctrl+C каждый раз при создании нового компонента в реакте, то эта статья точно для вас! У реакта нет своего CLI, и понятно почему. Не существует определенных правил, как именно должна выглядеть структура компонента, есть только общие рекомендации в документа...

А вы все-все за меня мониторить будете? Ага Обычно Хабр используется как информационное решение — кто-то делится наработанной и структурированной информацией, а кто-то эту информацию впитывает (я хотел написать “потребляет”, но это слово маркетологи уже испоганили). Я же, на правах старожила, и учитывая легкую рассл...

Применение компьютерного зрения в морских исследованиях или 12 человек на сундук мертвеца Горячо приветствую, уважаемые коллеги. В сообществе OpenDataScience успешно развивается инициатива ML4SG — Machine Learning for Social Good. В её рамках стартовал целый ряд интересных проектов, которые в самых разных областях улучшают нашу с вами жизнь. Мы хотели бы расска...

Лёгкое программирование: канбан-доска для GitLab за один рабочий день Рабочий понедельник начался со следующего диалога: Руководитель (P): У тебя в команде не понятно, кто чем занимается. Я (Я): Это да, у нас нет инструмента, который бы отображал общую картину работы над задачами. В гитлабе есть канбан-доски, но они только в контексте проекто...

[Из песочницы] VDS с лицензионным Windows Server за 100 рублей: миф или реальность? Под недорогим VPS чаще всего понимают виртуальную машину, работающую на GNU/Linux. Сегодня мы проверим, есть ли жизнь на Марсе Windows: в список тестирования попали бюджетные предложения отечественных и зарубежных провайдеров. Виртуальные серверы на коммерческой ОС Window...

[Из песочницы] Улучшение UX при работе с клавишей «Tab» При разработке приложений «фронтендеры» редко обращают внимание на то, как пользователь будет использовать предоставляемые браузером функции клавиш. Я не являюсь исключением, но в один день мне была дана задача касаемо UX и переходов с помощью нажатия «Tab» и «Shift + Tab». ...

[Перевод] Unreal Engine4 — PostProcess эффект сканирования В эти выходные у меня появилось немного свободного времени между занятиями (прим. автор на момент статьи получал степень магистра наук), и я решил вернуться к созданию шейдеров, придумав этот postprocess эффект сканирования. Я представил, что он используется в игре как сво...

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

Liveprof покажет, когда и почему менялась производительность вашего PHP-приложения Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo. Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер. Недавно мы рассказывали о том, какими и...

МТС и Мегафон в топку: Новый сотовый оператор дарит бесплатные тарифы с 30 ГБ интернета Огромное количество людей просто вынуждены пользоваться услугами телекоммуникационных компаний из ряда «большой четверки», поскольку у них нет другого выбора. Недавно в России появился новый сотовый оператор связи «Атлас», которым предоставляет возможность всем недовольным ...

Cataclysm Dark Days Ahead, статический анализ и рогалики Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рога...

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

Поддержка в Gett. Как мы делаем так, чтобы всё работало Привет! Меня зовут Виталий Костоусов, я работаю в команде Global Tech Heroes, и сегодня я расскажу вам о саппорте — об одной из самых важных составляющей любого сервиса. Можно сделать отличное приложение с прикольными картинками и иногда адекватно шутящими чат-ботами. Можно ...

Логи фронтенд-разработчика Хабра: рефакторим и рефлексируем Мне всегда было интересно, как устроен Хабр изнутри, как построен workflow, как выстроены коммуникации, какие применяются стандарты и как тут вообще пишут код. К счастью, такая возможность у меня появилась, ведь недавно я стал частью хабракоманды. На примере небольшого реф...

MAM: сборка фронтенда без боли Здравствуйте, меня зовут Дмитрий Карловский, и я… обожаю MAM. MАМ управляет Агностик Модулями, избавляя меня от львиной доли рутины. Агностик Модуль, в отличие от традиционного, это не файл с исходником, а директория, внутри которой могут быть исходники на самых разных язык...

Huawei не выпустит смартфон на HarmonyOS, пока США не отключат её от Android Honor View 20 Операционная система HarmonyOS, которую Huawei представила в этом месяце, имеет все шансы, чтобы стать полноценной заменой Android. Ну, по крайней мере для этого платформа и создавалась, несмотря на то что пока она не имеет смартфонной версии, а доступна только...

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

Что не так с валидацией данных и при чем тут принцип подстановки Лисков? Если вы иногда задаете себе вопрос: «а всё ли хорошо мне в этот метод приходит?» и выбираете между «а вдруг пронесет» и «лучше на всякий случай проверить», то добро пожаловать под кат… Читать дальше →

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

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

Как создать GIF-анимацию на смартфоне Samsung Мы уже вполне привыкли к тому, что можем делать крутые фото или даже записывать видео при помощи наших смартфонов, после чего можем отправлять полученный результат своим друзьям. Но в последнее время (особенно в мессенджерах) популярно использовать GIF-анимацию, так называе...

[Из песочницы] Как в Microsoft SQL Server получать данные из Google Analytics при помощи R В этом материале я хочу подробно показать, как можно при помощи R в Microsoft SQL Server реализовать получение данных из Google Analytics (и вообще из любого API). Благодарности: Поскольку я ни разу не маркетолог мне требовалась помощь специалиста. Тестовый кабинет и доступ ...

О записи багов, или Найди кота Эта статья родилась из поста на внутреннем форуме нашей конторы, немножко пообсуждалась, слегка дополнилась, а потом я решил выложить её в итоговом виде тут, чтобы ссылаться было удобнее. Да, пост капитанский, это ожидаемое поведение :) я просто хочу это иметь собранным, упо...

Кастомизация Django ORM на примере ZomboDB Кастомизация Django ORM на примере ZomboDB Часто при работе с Django и PostgreSQL возникает необходимость в дополнительных расширениях для базы данных. И если например с hstore или PostGIS (благодаря GeoDjango) всё достаточно удобно, то c более редкими расширениями — вроде p...

Бенчмарк как основание для принятия решения об изменении кода Билл Кеннеди в одной из лекций своего замечательного курса Ultimate Go programming сказал: Многие разработчики стремятся оптимизировать свой код. Они берут строчку и переписывают ее, говоря, что так станет быстрее. Нужно остановиться. Говорить, что тот или иной код быстрее, ...

Sailfish OS — очередная альтернатива Android для смартфонов Huawei Мы уже не раз писали о том, что Huawei вовсю работает над своей собственной заменой популярной мобильной ОС Android. Почему компания ищет замену «зеленому роботу», я думаю, объяснять не надо, так как информация об этом в последние недели лезет изо всех щелей. Однако во всем...

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

Как в Яндекс.Практикуме побеждали рассинхрон на фронтенде: акробатический номер с Redux-Saga, postMessage и Jupyter Меня зовут Артём Несмиянов, я фулстек-разработчик в Яндекс.Практикуме, занимаюсь в основном фронтендом. Мы верим в то, что учиться программированию, дата-аналитике и другим цифровым ремёслам можно и нужно с удовольствием. И начинать учиться, и продолжать. Любой не махнувший ...

Где заказать профессиональную видеосъемку праздника Любой праздник — это достаточно важное событие, которое очень важно сохранить в памяти на долго. Для этого можно всегда воспользоваться услугами профессионалов, которые не только знают, но и любят свою работу. В таком случае, каждый клиент сможет получить максимально качеств...

[Из песочницы] Год приключений с graphene-python Год приключений с graphene-python Всем привет, я python-разработчик. Последний год я работал с graphene-python + django ORM и за это время я пытался создать какой-то инструмент, чтобы сделать работу с graphene удобнее. В результате у меня получилась небольшая кодовая база g...

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

Кремль Здравствуйте меня зовут Кипень Михаил, я учусь в  5д классе Лицея №14 г. Тамбова.Почему Московский Кремль, спросите Вы? Потому что – это сердце России! Сердце нашей Родины!Для создания своей работы  я  использовал программу-123D Design.В работе над моделью исп...

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

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

Apple обречена? Почему Джони Айв ушел из Apple на самом деле Уход Джони Айва из Apple стал настоящим шоком для фанатов бренда. Несмотря на то что в Купертино пообещали, что дизайнер продолжит курировать будущие продукты компании, очевидно, что Айв пошел своей дорогой и, если и будет принимать какое-то участие в создании новинок Apple...

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

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

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

Зачем писать свой React Data Grid в 2019 Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно: почему мы отказались от готовых компонент с какими проблемами и задачами мы столкнули при ра...

[Перевод] Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 1 Меня зовут Сэм Боун, я здесь, чтобы поговорить с вами о DoS-атаках, и вы мне в этом поможете. Мы немного поговорим о хактивистах, которые использовали такие атаки, потому что я нахожу их интересными. Они наглядно показывают, сколько вреда вы можете нанести различными видами ...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

HL SIRIUS - проба пера. Приветствую всех!Наконец-то, дорвался я до полимерника работающего на параледе. Пока делаю различные тесты, не хочу много умничать, и просто поделюсь первыми результатами самостоятельной печати. Вообще, о первом знакомстве с принтером писал Здесь. Ещё, хочется выразить отдел...

Rust + CLion = Любовь Привет, Хабр! В общем как я обещал вот рассказ о том как CLion в качестве IDE для Rust на MacOS использовать. Почему не IntelliJ IDEA? Потому что CLion может дебажить. Почему LLDB, а не GDB? Потому что LLDB у меня вместе с XCode был установлен. Мне нравиться эта IDE и наде...

Представлен Lenovo ThinkPad X390 Yoga Мы привыкли к тому, что профессионалы используют в своей работе исключительно ноутбуки компании Apple, хотя на деле все совсем не так. Дело в том, что некоторые задачи требуют от пользователя операционную систему Windows и запускать ее через софт на яблочном ноутбуке иногда ...

Разрабатываем утилиту на GraalVM Постановка задачи Периодически у меня возникает задача поделиться файлами по локальной сети, например, с коллегой по проекту. Решений для этого может быть очень много — Samba / FTP / scp. Можно просто залить файл в общедоступное публичное место типа Google Drive, приложить к...

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

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

Популярная игра Minecraft добралась до реальности Если вы никогда не слышали про Minecraft, вы, вероятно, проживали в пещере последние несколько лет. Это та самая игра с открытым миром, где весь этот мир сделан из кубов с пиксельными текстурами. Также вы наверняка слышали про AR или дополненную реальность, использовать кот...

Велосипед из энергомонитора PZEM004T и ESP8266, с Народным мониторингом Свой неудавшийся проект контроллера температуры (Фиаско. История одной самоделки IoT) я решил оставить в качестве только монитора. И следующим шагом прикрутил энергомонитор PZEM004T, за одно реализовал отправку данных на Народный мониториг. Добро пожаловать под кат… Читать д...

«Универсал» в команде разработки: польза или вред? Всем привет! Меня зовут Людмила Макарова, я менеджер разработки в УБРиР и треть моей команды – «универсалы». Признайте: каждый Tech Lead мечтает о кросс-функциональности внутри своей команды. Ведь это так круто, когда один человек способен заменить трех, да еще и сделать ...

Когда хочется красивый GUI, а gpu нет Обычно для рабочих утилит не требуется вменяемый UI, с кнопками, списками, окнами, поддержкой мыши и прочей мелочевкой, большинство рабочих «хотелок» можно упаковать в скрипты и иногда запускать их с параметром --help, и так будет даже правильней с точки зрения настройки и м...

[Перевод] Теория вместо эвристики: становимся лучше как frontend-разработчики Перевод Becoming a better front-end developer using fundamentals instead of heuristics Наш опыт показывает, что не имеющие технического образования разработчики и самоучки чаще полагаются не на теоретические принципы, а на эвристические методы. Эвристика — шаблоны и пров...

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

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

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

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

Помещаем строки в параметры шаблонов Современный C++ принес нам кучу возможностей, которых раньше в языке остро не хватало. Чтобы хоть как-то получить подобный эффект на протяжении долгого времени изобретались потрясающие костыли, в основном состоящие из очень больших портянок шаблонов и макросов (зачастую еще ...

[Перевод] Грокаем PyTorch Привет, Хабр! У нас в предзаказе появилась долгожданная книга о библиотеке PyTorch. Поскольку весь необходимый базовый материал о PyTorch вы узнаете из этой книги, мы напоминаем о пользе процесса под названием «grokking» или «углубленное постижение» той темы, которую вы ...

[Перевод] Конференция DEFCON 17. Мои неудачи. Часть 1 Как поживаете, парни? Я только что прочитал чей-то твит про то, что люди, которые тратят полдня на конференцию Defcon, просто идиоты. Итак, я собирался начать с того, что много работал над неудачами, но понимаю, что сейчас буду говорить об этом с людьми, которые понимают в н...

Git это круто! Ваш кэп Это, пожалуй, будет самая короткая моя статья. Более того, сама идея, изложенная в ней, очевидная. Часто в WEB проектах возникают задачи по доставке статики на прод вне релизов. Например, нужно выложить файлы для SPA со всякой маркетинговой лабудой, типа актуальных комиссий...

[Из песочницы] Трансформация кода в Android Вместо вступления Всё началось с того, что мне захотелось изучить тонкости настройки Gradle, понять его возможности в Android разработке (да и вообще). Начал с жизненного цикла и книги, постепенно писал простые таски, попробовал создать свой первый Gradle плагин (в buildSrc)...

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

Google закручивает гайки Последние годы компания Google в отношении своей операционной системы Android – все больше “закручивает гайки”: запрещает ранее работающие функции, ограничивает изменение настроек системы из приложений. И старые приложения перестают работать на новых версиях Android. Кроме ...

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

ИТ компания TrustSol Современный бизнес на сегодняшний день требует поддержки со стороны IT сервисов и систем. Компания TrustSol предоставляет услуги ИТ-аутсорсинга, Ит услуг разной сложности. Компания готова оказать помощь в виде единого консультирования или же полного создания и внедрения прое...

BlessRNG или проверяем ГСЧ на честность В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределени...

Как подружить Ovirt и Let's Encrypt Шагая по пути улучшения инфраструктуры, я решил добить древний и мучительный вопрос — без лишних телодвижений предоставлять возможность коллегам (разработчикам, тестировщикам, админам, etc ) самостоятельно управлять своими виртуалками в ovirt'е. В ovirt есть несколько компон...

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

Про подсчёт битов, беззнаковые типы в Kotlin и про ситуации, когда экономия на спичках оправдана К написанию статьи подтолкнул вот этот комментарий. А точнее, одна фраза из него. … расходовать память или такты процессора на элементы в миллиардных объёмах — это нехорошо… Так сложилось, что в последнее время мне именно этим и пришлось заниматься. И, хотя, случай, которы...

JUnit в GitLab CI с Kubernetes Несмотря на то, что все прекрасно знают, что тестировать свой софт важно и нужно, а многие давно делают это автоматически, на просторах Хабра не нашлось ни одного рецепта по настройке связки таких популярных в этой нише продуктов, как (любимый нами) GitLab и JUnit. Восполним...

[Из песочницы] Как Telegram-бот поборол дизайнерскую прокрастинацию и помог увеличить доход digital-агентства­ Основатель digital-агентства Роман Квартальнов делится простым решением, которое помогло сделать производственные процессы прозрачными, дало возможность в любой момент времени оценить себестоимость проекта и компании целиком, а также экономить около 1 000 000 рублей на сбор...

[Из песочницы] Работа с Jira API при помощи Python Всем привет. Появилась мысль автоматизировать выгрузку отчетов из Jira. Так как любимым инструментом был Python, выбор пал на модуль от JIra позволяющий работать с их API. Кому интересно прошу по кат. Читать дальше →

3Д печатные лентикулярные линзы После некоторого времени на эксперименты, у меня получилось изготовить лентикулярные линзы на принтере. Такие линзы используют для получения стерео-варио изображений. Мои эксперименты показали возможность как стереоскопических (объемных) так и подвижных (динамических) изобра...

Беспощадный маркетинг Intel. Компания продолжает утверждать, что многоядерные CPU нужно сравнивать в простейших повседневных задачах Компания Intel действительно перестраивает свою маркетинговую кампанию в попытках противостоять AMD. Мы уже недавно имели возможность оценить первые плоды, теперь настало время новых. Напомним, Intel теперь старается отойти от сравнения в приложениях, которые способны х...

Зоопарк AFL фазеров На Хабре уже пару раз появлялись статьи, поднимающие тему American Fuzzy Lop (AFL) (1,2). Но в данной статье речь пойдет не о классическом AFL, а о вспомогательных утилитах для него и его модификациях, которые, на наш взгляд, могут значительно улучшить качество фаззинга. Е...

[Из песочницы] 4 Причины, почему вы должны забыть о Redux в приложениях на React Я работаю с Реактом на протяжении почти 3 лет, использовал как Redux так и MobX и у меня к текущему моменту возник вопрос. Почему абсолютное большинство front-end разработчиков продолжают свято верить в то, что Redux + Redux Saga + Reselect + 100500 других библиотек «облегча...

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