Социальные сети Рунета
Среда, 21 октября 2020

STM32 fast start. Часть 2 Hello World на HAL, отладка в Atollic TrueSTUDIO В прошлый раз мы осваивали создание нового проекта при помощи STM CubeMX первую часть можно найти здесь. Для тех, кому лень перечитывать — закончилось все тем, что пустой проект успешно собрался. В данной части напишем простейший пример Hello World на HAL, посмотрим как ...

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

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

Чистая архитектура с Go Меня зовут Эдгар (ZergsLaw), я работаю в компании, которая занимается  финтех-разработкой для b2b и b2c. Когда только устроился в компанию, то попал в команду большого финтех-проекта и получил «в нагрузку» небольшой микросервис. Мне поручили его изучить и подготовить план ре...

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

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

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

[Из песочницы] Пишем свой плагин для VueJS. Как проект на VueJS трансформировать в расширение для браузера? Вступление В этой статье мы с вами напишем свой собственный плагин для проектов на VueJS, который трансформирует проект в расширение для браузера. Узнаем как изменять правила сборки webpack и генерировать дополнительную структуру файлов и папок. Расширения для браузеров час...

Технический обзор архитектуры СХД Infinidat InfiniBox – модерновая система хранения, сразу попавшая в правую часть магического квадрата. В чем ее уникальность? Краткая предыстория Что такое InfiniBox? Это система хранения компании Infinidat. Что такое компания Infinidat? Это компания, созданная Моше Янаем (создатель...

[Из песочницы] WebSockets и Spring WebFlux Вступление Все мы знаем вебсокеты, любим или не очень и можем написать их со Spring MVC. А что на счет реактивного приложения? В этой статье будет рассмотрено как создать вебсокеты с помощью Spring WebFlux. Контент: Как сконфигурировать вебсокет. Как прочитать сообщение? К...

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

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

Калибровочная модель для фотополимерника в ответах Статья касается фотополимерной печати, незаинтересованным - приношу извинения.Кто то видел уже тестовые модели, по которым можно оценить качество полимера и принтера, подобранные режимы печати. Есть 3DSLA, есть HARZ, есть HL десятки других. Но многие, особенно новички, не по...

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

[Перевод] Архитектурный шаблон MVI в Kotlin Multipaltform, часть 1 Около года назад я заинтересовался новой технологией Kotlin Multiplatform. Она позволяет писать общий код и компилировать его под разные платформы, имея при этом доступ к их API. С тех пор я активно экспериментирую в этой области и продвигаю этот инструмент в нашей компани...

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исклю...

[Туториал] Как создать вашу первую инкрементальную IDLE игру на JavaScript Сегодня я расскажу вам, как создать простейший ToDo лист простейшую инкрементальную IDLE игру на JavaScript, потратив меньше одного дня ежегодных каникул. Для этого предлагаю выбрать сову игру попроще и не пропускать шагов между овалом и готовой совой пустым проектом и готов...

[Перевод] Создание шейдерной анимации в Unity Недавно я работал над анимацией респауна и спецэффектом главного героя моей игры “King, Witch and Dragon”. Для этого спецэффекта мне нужна была пара сотен анимированных крыс. Создание двухсот мешей со скиннингом с анимацией ключевыми кадрами всего для одного спецэффекта — ...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

Инструменты Domain Driven Design Синий кит — отличный пример того, как проектирование сложного проекта пошло не по плану. Кит внешне похож на рыбу, но он млекопитающее: кормит детенышей молоком, у него есть шерсть, а в плавниках до сих пор сохранились кости предплечья и кистей с пальцами, как у сухопутных. ...

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

Veeam Log Diving: компоненты и глоссарий Мы в Veeam любим логи. А поскольку большинство наших решений модульные, то логов они пишут достаточно много. А раз сфера нашей деятельности — это обеспечение сохранности ваших данных (т.е. спокойного сна), то логи должны не только фиксировать каждый чих, но и делать это до...

[Перевод - recovery mode ] Программирование GPU на Java Получение доступ к GPU из Java раскрывает огромную мощь. Здесь рассказывается как GPU работает и как получить доступ из Java. Программирование устройства графического процессора (GPU) является заоблачным миром для Java программистов. Это понятно, так как обычные задачи для ...

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

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

Собираем простейшую ZigBee-сеть, программируем под Mbed, общаемся через MQTT Собираем простейшую ZigBee-сеть, программируем под MBed, общаемся через MQTT Эта статья — большой учебный практикум начального уровня по использованию XBee-модуля в связке с микроконтроллером, имеющим на борту Mbed OS. Стек XBee реализует ZigBee-стандарт и подходит для задач...

Мёртвый код: найти и обезвредить Меня зовут Данил Мухаметзянов, я работаю бэкенд-разработчиком в Badoo уже семь лет. За это время я успел создать и изменить большое количество кода. Настолько большое, что в один прекрасный день ко мне подошёл руководитель и сказал: «Квота закончилась. Чтобы что-то добавит...

Теперь разработчики могут создавать приложения для Windows на языке Swift Накануне проект Swift, в рамках которого развивается одноимённый язык программирования, объявил о выпуске первой версии Swift для Windows 10. Это означает, что все инструменты, такие как компилятор и ключевые библиотеки, доступны разработчикам для переноса своих приложений ...

Обзор подкаста «Деньги пришли» План такой: слушаю, что записывает компания, делаю заметки, пишу обзор. Alec Favale, Unsplash.com В конце прошлого года я решил написать о корпоративных подкастах и спросил в Facebook, кто ими занимается. Ответили человек 20, дали примеры программ. По мере их изучения я ...

[Перевод] Полируем UI в Android: StateListAnimator Привет, Хабр! В преддверии старта курса «Android Developer. Professional» мы подготовили для вас перевод еще одного интересного материала. Большую часть времени разработки нашего Android-приложения мы тратим отнюдь не на работу над пользовательским интерфейсом — мы просто...

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

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

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

Как передать ссылку с iPhone на любое устройство с браузером Нам пишет разработчик приложения LinkBridge На AppleInsider.ru довольно давно существует рубрика Dev Story. В ней разработчики рассказывают про опыт создания своих приложений. Но что-то в последнее время их почти не стало. С тех ламповых времен, когда игры имели Lite и полн...

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

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

[Из песочницы] Авторизация пользователя при помощи Starlette + Vue.js Вступление Задача — создать пример авторизации пользователя с использованием фреймворков Starlette (https://www.starlette.io/) и Vue.js *, который был бы максимально комфортным разработчикам Django для «миграции» в асинхронный стек. Почему Starlette? В первую очередь скор...

Java-дайджест за 17 января. Две первые недели нового года Появился шрифт JetBrains Mono — приятный и красивый шрифт для разработчиков Вышел плагин для интеграции GitLab с IntelliJ IDEA. Теперь можно делать код-ревью прямо в вашей любимой IDE! В Java-плагине для Visual Studio Code добавили кучу важных ништяков (действительно вли...

Парсинг сайта кинотеатра на Golang Всем привет, в этой статье мы рассмотрим небольшой пример кода, написанный для сбора данных с сайта на популярном сегодня языке программирования Go. Эта статья будет особенно интересна тем, кто много слышал о Go, но пока еще не попробовал его самостоятельно. Для одного из...

[Перевод] Портируем make.c на D Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

Макетостроение.  В начале года мы получили большой заказ на изготовление 3х макетов для одной компании, которая изготавливает небольшие заводы для производства комбикормов.  Задача была в изготовлении точных макетов, для простой перевозки на выставки и к клиентам. Началось все как обычно с ...

[Из песочницы] Оптимизация загрузки изображений Привет, Хабр! Представляю вашему вниманию перевод статьи «How to optimize image loading on your website». Если на сайте много красивых изображений, то это здорово, но они могут значительно ухудшить время загрузки и как результат — пострадает SEO, а многие пользователи будут...

Архитектурный шаблон MVI в Kotlin Multiplatform, часть 2 Это вторая из трёх статей о применении архитектурного шаблона MVI в Kotlin Multiplatform. В первой статье мы вспомнили, что такое MVI, и применили его для написания общего для iOS и Android кода. Мы ввели простые абстракции, такие как Store и View, а также некоторые вспомо...

[Из песочницы] Учимся разворачивать микросервисы. Часть 1. Spring Boot и Docker Привет, Хабр. В этой статье я хочу рассказать о своем опыте создания учебной среды для экспериментов с микросервисами. При изучении каждого нового инструмента мне всегда хотелось его попробовать не только на локальной машине, но и в более реалистичных условиях. Поэтому я ре...

[Из песочницы] Быстрое ознакомление с SwiftUI SwiftUI — это новый удобный способ для создания пользовательских интерфейсов на Xcode. Если хотите быстрое ознакомление с SwiftUI, тогда этот блог пост для вас. Для начала давайте создадим проект с поддержкой SwiftUI. Минимально необходимые для этого требования системы — эт...

Разбираем EM-algorithm на маленькие кирпичики В этой статье, как Вы уже, наверное догадались, речь пойдет об устройстве EM-алгоритма. Статья прежде всего может быть интересна тем, кто потихонечку уже вступает в сообщество датасайнтистов. Материал изложенный в статье в большей степени будет полезен тем, кто недавно нач...

Обзор гибких методологий проектирования DWH Разработка хранилища — дело долгое и серьезное. Многое в жизни проекта зависит от того, насколько хорошо продумана объектная модель и структура базы на старте. Общепринятым подходом были и остаются различные варианты сочетания схемы “звезда” с третьей нормальной формой. К...

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

Как Magento 2 взаимодействует с Vue Storefront Привет! Меня зовут Павел и я занимаюсь бэкенд разработкой. Как уже писал AndreyHabr, многие из наших проектов основаны на стеке Adobe Magento 2 (для краткости далее я буду называть ее M2) в качестве бэкенда и Vue Storefront (VS) в качестве фронтенда. Я не буду подробно оста...

Как управлять состоянием в Angular по мере роста приложения Допустим, перед вами стоит задача написать фронтенд-приложение. Есть ТЗ с описанием функционала, тикеты в баг-трекере. Но выбор конкретной архитектуры лежит на вас. Порой трудно заранее понять, какая архитектура будет удачной, а какая нет. Особую сложность представляет орга...

MLOps — Cook book, chapter 1 Всем привет! Я CV-разработчик в КРОК. Уже 3 года мы реализуем проекты в области CV. За это время чего мы только не делали, например: мониторили водителей, чтобы во время движения они не пили, не курили, по телефону не разговаривали, смотрели на дорогу, а не сны или в облака...

Студенты пишут Uart драйвер для STM32F411 Доброго здравия всем! Сегодня я хочу вам рассказать, как постепенно студенты учатся разрабатывать ПО для микроконтроллера на примере драйвера UART на STM32F411. Код и архитектуру с небольшими моими изменениями и доработками я попытаюсь привести здесь. Сразу отмечу, что все...

Swift 5.3: Что нового? Привет Хабр! Язык программирования Swift обладает большой популярностью ввиду его использования в написании приложений под iOS, поэтому его развитие представляет интерес для всех занятых в этой области. Давайте посмотрим что нового приготовил разработчикам Swift версии 5.3....

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

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

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

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

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

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

Разработчики КОМПАС – конструкторы или программисты? В названии статьи кроется маленькая провокация, ведь ясно, что без программистов софт сам себя не напишет. Другой вопрос: кто определяет логику и удобство работы системы, ее развитие. Недавно на Форуме пользователей ПО АСКОН в очередной раз начались разговоры о том, что разр...

[Из песочницы] Java простое веб-приложения. Логин и регистрация Всем доброго времени суток. Эта статья рассчитана для новичков в мире Web и Java. Мы рассмотрим стандартную архитектуру веб-приложения и сделаем небольшой проект с нуля. Будем использовать Spring (Огромный фреймворк для веба), но по минимуму. Если не иметь предыдущего опыта ...

[Из песочницы] Особенности установления соединения между участниками сетевой игры типа «равный к равному» Это сборник информации, которая мне понадобилась, чтобы реализовать этап установления соединения между участниками сетевой игры типа «равный к равному» (peer-to-peer) с использованием протокола UDP. Статья расчитана на начинающих разработчиков игр. Попытался написать такую ...

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

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

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

MVVM на основе Combine в UIKit и SwiftUI приложениях для UIKit разработчиков Мы знаем, что ObservableObject классы с его @Published свойствами созданы в Combine специально для View Model в SwiftUI. Но в точности ту же самую View Model можно использовать и в UIKit для реализации архитектуры MVVM, хотя  в этом случае нам придется вручную «привязать» ...

[Перевод] Заменяем Redux c помощью Observables и React Hooks Управление состоянием — одна из важнейших задач, решаемых в разработке на React. Было создано множество инструментов в помощь разработчикам для решения этой задачи. Наиболее популярным инструментом является Redux — небольшая библиотека, созданная Дэном Абрамовым, и предназн...

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

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

[Из песочницы] Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 1/2 Современная вычислительная техника позволяет создавать классные компьютерные игры! И сейчас, достаточно популярны игры с 3d-графикой, так как, играя в них, ты окунаешься в вымышленный мир и теряешь всякую связь с реальностью. Развитие интернета и браузерных технологий сделал...

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

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

[recovery mode] CRUD операции с Entities в DialogFlow (C#) Вступление Совсем недавно я начал работу над новым проектом, который включал в себя работу с уже достаточно известным сервисом (AI) от Google — DialogFlow. Суть заключалась в том, что у нас был бот (Telegram) который работал с API нескольких сайтов, а сам же DialogFlow помог...

Планирование потоков в Windows. Часть 1 из 4 Ниже представлена не простая расшифровка доклада с семинара CLRium, а переработанная версия для книги .NET Platform Architecture. Той её части, что относится к потокам. Потоки и планирование потоков Что такое поток? Давайте дадим краткое определение. По своей сути поток это...

[Перевод] Создание эффекта VHS-видео в Unreal Engine Я создал этот шейдер VHS-видео в Unreal в рамках первого шейдер-челленджа для Discord-канала Technically Speaking. Темой челленджа стало «Ретро», а я экспериментировал с идеями FMV-игры, поэтому решил соединить эти две темы. Интересующиеся исходниками могут посмотреть файл...

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

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

Перемещение — прошлый век! Альтернативы std::move в «C++ будущего» Каждый раз, когда мы пишем класс, управляющий ресурсами, мы задумываемся о том, что, скорее всего, для него придётся писать move-конструктор и move-присваивание. Ведь иначе объекты такого типа становятся неуклюжими, как std::mutex, ими тяжело пользоваться на практике: ни вер...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

[Перевод] Больше разработчиков должны знать это о базах данных Прим. перев.: Jaana Dogan — опытный инженер из Google, которая в данный момент занимается вопросами наблюдаемости production-сервисов компании, написанных на Go. В этой статье, снискавшей большую популярность у англоязычной аудитории, она в 17 пунктах собрала важные техничес...

[Из песочницы] WAL-G: бэкапы и восстановление СУБД PostgreSQL Уже давно известно, что делать бэкапы в SQL-дампы (используя pg_dump или pg_dumpall) – не самая хорошая идея. Для резервного копирования СУБД PostgreSQL лучше использовать команду pg_basebackup, которая делает бинарную копию WAL-журналов. Но когда вы начнёте изучать весь про...

Как научиться программированию на Python? За последние несколько недель популярность онлайн-курсов и сектора онлайн-обучения в целом выросла почти в 4 раза. Почему? Во-первых, сейчас многие находятся на самоизоляции, и чтобы окончательно не потерять голову от безделья, пытаются занять себя чем-то полезным (и правил...

[Перевод] Что покупать для глубокого обучения: личный опыт и советы использования GPU Перевод статьи Тима Деттмерса, кандидата наук из Вашингтонского университета, специалиста по глубокому обучению и обработке естественного языка Глубокое обучение (ГО) – область с повышенными запросами к вычислительным мощностям, поэтому ваш выбор GPU фундаментально определи...

Zabbix. Что делать, если принтер не делится информацией по SNMP? Доброго времени суток! КДПВ Данная статья – небольшой мануал, написанный в несколько художественной форме. В статье много картинок, заботливо упрятаных в спойлеры. Для кого написана эта статья? Для начинающих сисадминов, еще слабо знакомых с UNIX-системами, Zabbix’ом, но ...

[Из песочницы] Как и к чему готовиться на собеседование начинающему iOS-разработчику и не только Эй, Хаброжитель, приветствую тебя! Буду признателен ко всем твоим фидбэкам. Небольшая предыстория В 2019 году увлёкся iOS-разработкой и решил попробовать попасть на курс от Mail.ru в их Технопроект с нашим ВУЗом. Закончил данный курс с отличием. Огромное спасибо Диме и Г...

This War of Mine, обои на iPhone и другие скидки в App Store Каждый день мы стараемся отбирать для вас лучшие приложения, которые стали бесплатными или распространяются со скидкой. Не всегда разработчики успевают за нашими желаниями и снижают цены, но иногда получается урвать по хорошей цене действительно топовые приложения. Чего тол...

Комитет ISO утвердил стандарт «C++20» На днях комитет ISO по стандартизации языка С++ (да, есть и такой) утвердил международный стандарт «С++20». Возможности, которые представлены в спецификации, поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Кроме того, стандартные библиотеки с поддержкой «...

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

HorizontalList с помощью SwiftUI Вступление SwiftUI — это современный UI framework, который позволяет разработчикам быстро и легко создавать собственные приложения на всех платформах Apple. Используя простой, понятный декларативный стиль, разработчики могут создавать потрясающие пользовательские интерфейсы ...

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

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

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

[Перевод] Автоматические скриншоты iOS с помощью XCTestplan и XCode 11 В Райффайзенбанке несколько мобильных приложений, которые должны работать на самых разных девайсах и операционных системах, поэтому мы стараемся автоматизировать рутинные процессы в тестировании. Эта статья показалась нам полезной, и мы решили ее перевести. foto source: u...

Знак Ведьмака из сериала. Вдохновившись сериалом решил создать и распечатать жетон ведьмака Геральта.Модель создал в SolidWorks. Печать пластиком ABS.На принтере Picasso 250. Красивая подсветка.Потом покраска. Соседи курят в подъезде я крашу.Весело у нас))Итоговый жетон. Перед покраской жетон особо н...

[Из песочницы] Создание Discord-бота на Python. Часть 1 Версии, которые стоят у автора Версия Python: 3.8.2 Версия discord.py: 1.3.3 Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощь...

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1 Доброго всем времени суток. О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небол...

Лучшие приключенческие игры на Android Берите в руки смартфон и вперед. Навстречу приключениям! Приключенческие игры являются одними из самых уникальных среди всех проектов. Они не вписываются ни в одну категорию, и часто они создаются на стыке нескольких игровых жанров. Единственным реальным условием для того, ч...

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

[Перевод] 10 инструментов для повышения продуктивности React-девелоперов в 2020 году Давайте обсудим несколько отличных инструментов, которые повышают продуктивность разработчиков React и улучшают качество работы. Обычно, когда я начинаю новый проект, то использую собственный шаблон для тех инструментов, которые добавил в этот список. Также я работаю и с ...

[Перевод] Лучшие практики Kubernetes. Создание небольших контейнеров Первый шаг развертывания в Kubernetes – это размещение вашего приложения в контейнере. В этой серии мы рассмотрим, как можно создать образ небольшого и безопасного контейнера. Благодаря Docker, создание образов контейнеров никогда еще не было настолько простым. Укажите баз...

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

[Перевод] 5 библиотек для Vue.js, без которых мне не обойтись Опытные разработчики знают о том, что иногда, пытаясь сэкономить время и решить какие-то задачи своего проекта с помощью пакета, созданного кем-то другим, можно, в итоге, потратить больше времени, чем было сэкономлено. Библиотеки, жёстко регламентирующие реализацию неких мех...

Обои на iPhone и другие приложения по скидкам в App Store Каждый день мы стараемся отбирать для вас лучшие приложения, которые стали бесплатными или распространяются со скидкой. Сегодня в подборке набор из тысяч обоев, который раздают бесплатно, а также две красочные игры — одна вообще даром, другая за символические 75 рубле...

[Из песочницы] Сквозь тернии к звездам: делаем утройство для наведения лазерной указки на любой небесный объект Привет, Хабр! Решил показать свою небольшую самоделку, которая работает примерно так: Если КДПВ сделала свое дело — тогда добро пожаловать под кат :) Небольшой спойлер Я старался писать так, чтобы было максимально понятно...

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

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

Cucumber и BDD. Пишем UI-автотесты на iOS Привет, Хабр! В данной статье-мануале я хочу рассказать о базовых функциях такого фреймворка как Cucumber и его применение для создания ui авто тестов на мобильных iOS устройствах.Я ставлю перед собой задачу сделать описание максимально простым и понятным для большинства чит...

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

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

Создание полноценного Viberbot на Django 2 и Viber REST API. Часть первая — Webhook Установка Webhook для работы bot на viber и отправка первого POST запроса к backend мессенджера Опираясь на свой опыт разработки под Viber и множество неоднозначных мнений, публикую цикл статей по созданию и запуску viberbot. Для понимая полной картины в целом, будем работат...

[Перевод] Мой второй год в качестве независимого разработчика Иллюстрация Лорейн Йоу. Суслик-талисман языка Go адаптирован из работ Рене Френч Два года назад автор этой статьи Майкл Линч (Michael Lynch) уволился с должности инженера-программиста в Google, чтобы начать собственный бизнес (см. статью «Почему я ушёл из Google и начал ра...

Итоги конкурса рабочих мест или Игра престолов в битве за PS4 Те, кто на Хабре не первый день, наверняка знают, как мы в RUVDS любим устраивать всякие активности. Что мы уже только не делали. Запускали сервер в облака, делали коллаб с создателем Дюк Нюкема, даже варили свое админское пиво и готовили хабрабургеры, всего и не упомнить....

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

[Перевод] Анализ библиотеки ИИ ботов из Quake 3 Изучение исходного кода ИИ уже выпущенных игр — превосходный способ изучения хитростей на реальных примерах. Quake 3 Arena — интересный образец, потому что код игры полностью выложен в открытый доступ (за исключением инструментов), а сама игра стала примером архитектуры дви...

Google делает виджеты для iOS лучше, чем для Android Я, признаться честно, никогда не любил виджеты и старался удалять их с рабочего стола всех своих смартфонов. Я не щадил даже виджет «Google Поиска», который шёл под нож сразу вслед за часами и календарём – подальше с глаз долой. Причина, по которой я избавлялся от них, была...

Делаем примеры для STM32, собирающиеся в разных средах разработки Как я уже несколько раз упоминал в прошлых статьях, я один из разработчиков сервиса All Hardware, через который любой желающий может удалённо поработать с различными отладочными платами, которые туда выкладывают производители микроконтроллеров. По умолчанию, в каждую плату з...

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

Web Storage API: примеры использования Доброго времени суток, друзья! В данной статье мы рассмотрим парочку примеров использования Web Storage API или объекта «Storage». Что конкретно мы будем делать? Научимся запоминать время воспроизведения видео. Поработаем с формой входа на страницу. Напишем логику спис...

Состоялся пробный запуск MMORPG Swordsman Love 2: Sword Song Многопользовательские проекты заполонили игровую индустрию. Куда не посмотришь, везде видны надписи «кооперативный режим» или «онлайн». Что же, разработчики из студии Xishanju Beijing решили не отставать от общего безумия и сделали свою MMORPG — Swordsman Love 2: Sword Song....

Как выглядит zip-архив и что мы с этим можем сделать. Часть 4 — Чтение архива Продолжение цикла о Zip-архивах и PHP. Предыдущие статьи: Часть 1, Часть 2, Часть 3 Доброго времени суток, дорогие читатели. На этот раз я хотел бы представить, наверное, заключительную часть цикла о Zip-архивах и PHP. В этой статье я покажу как прочесть уже существующий ...

Vue для самых маленьких a.k.a небольшой блог по всем канонам Всем привет! В данной статье рассмотрим разработку фронта простенького блога на Vue с использованием всех прелестей Vue включая Vuex и Router. А также поговорим про структуру приложения и работу с контейнером и роутером. Читать дальше →

О том как написать и опубликовать смарт-контракт в Telegram Open Network (TON) О том как написать и опубликовать смарт-контракт в TON О чем эта статья? В статье я расскажу о том, как поучаствовал в первом (из двух) конкурсе Telegram по блокчейну, не занял призовое место и решил зафиксировать опыт в статье, чтобы он не канул в Лету и, возможно, помог ко...

[Перевод] Пол Грэм «Как стать богатым» (глава из книги Hackers&Painters) Это эссе было впервые опубликовано в книге Hackers & Painters, и в онлайн появилось только в декабре 2005 года. Я решил воскресить его с веб-архива, потому что это одно из самых важных эссе в моей жизни, а я сейчас делаю коллекцию лонгридов, которые оказали влияние на ми...

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

[Перевод] Использование возможностей TypeScript в JavaScript без написания TypeScript-кода Я — большой любитель TypeScript. По возможности я стараюсь использовать этот язык в своих проектах. TypeScript даёт разработчику отчёты об ошибках и проверку типов в JavaScript и TypeScript-коде. Кроме того, тот, кто пишет на TypeScript, может пользоваться удобными возможнос...

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

Введение в язык запросов Cypher Язык запросов Cypher изначально разработан специально для графовой СУБД Neo4j. Целью Cypher является предоставить человеко-читаемый язык запросов к графовым базам данных похожий на SQL. На сегодня Cypher поддерживается несколькими графовыми СУБД. Для стандартизации Cypher бы...

Как мы разрабатывали кроссплатформенную BPMS Всем привет! В НОРБИТ мы занимаемся SRM-решениями. Сегодня расскажем про особенный для нашей команды проект — разработку BPMS-платформы NBT. Мы не просто создали бизнес-решение для заказчика, а разработали собственный продукт с нуля, — всё это подразумевает совершенно друго...

[Перевод] 14 open-source проектов для прокачки Data Science мастерства (easy, normal, hard) Data Science для начинающих 1. Sentiment Analysis (Анализ настроений через текст) Посмотрите полную реализацию проекта Data Science с использованием исходного кода — Sentiment Analysis Project в R. Sentiment Analysis — это анализ слов для определения настроений и мнений...

[Перевод] Главные причины медленной работы Angular-приложений Angular — это быстрый фреймворк. Он даёт разработчикам обширные возможности по улучшению производительности за счёт тонких настроек. Правда, программистам практически никогда не требуется делать что-то особенное для того, чтобы создавать чрезвычайно производительный код, раб...

Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 2/2 В данной статье мы продолжим создавать трехмерную браузерную игру лабиринт на чистом html, css и javascript. В предыдущей части мы сделали простой 3-мерный мир, реализовали движение, управление, столкновения игрока со статическими объектами. В этой части мы будем добавлять г...

Какой язык программирования учить в 2020-м? Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое: HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще...

[Перевод] Примеры GraphQL на Java для начинающих [со Spring Boot] В этой статье мы рассмотрим пример GraphQL на Java и создадим простой сервер GraphQL со Spring Boot. Таким цыпочкам тоже нравятся примеры GraphQL на Java со Spring Boot! GraphQL — это язык запросов для API, который позволяет клиентам запрашивать ограниченное множество данны...

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

[Перевод] Переменные CSS — курс молодого бойца Переменные CSS (также известные как настраиваемые свойства) поддерживаются браузерами почти 4 года. Мне нравится применять их в зависимости от проекта или ситуации. Они очень полезны и просты в использовании, но зачастую фронтенд разработчик неправильно использует или непра...

Microsoft объединяет разработку Win32 и UWP в Windows 10 Для Microsoft будущее касается не только UWA (универсального приложения для Windows), поскольку Win32 также важен для платформы. Во время выступления на конференции разработчиков Build 2020 компания Micorosft объявила о проекте Project Reunion, который, по словам компании, я...

[recovery mode] Менеджер проекта в тисках. Почему так и что с этим делать Заметка из двух частей: почему в тисках и что с этим делать. Дано Начальство — наделяет полномочиями и спрашивает с него за результат, который, напомню, создал не он. ПМ — сам не выполняет задачи, организовывает работу других. Команда — выполняет задачи. Как думаете, ...

Как сделать поиск по файлоболотам в 104 строки кода на python Продолжая тематику коротких полезных скриптов, хотелось бы познакомить читателей с возможностью построения поиска по контенту файлов и изображений в 104 строки. Это конечно не будет умопомрачительным по качеству решением — но вполне годным для простых нужд. Также в статье не...

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

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

Разрабатываем первое мобильное приложение на Flutter от Google Flutter — фреймворк от Google В последнее время программированием интересуются всё больше пользователей. Наверняка и вас заинтересовала эта тема. Мы каждый день используем мобильные приложения гигантов рынка, и многих волнует вопрос — «Как же им удается созд...

Опасно ли держать открытым RDP в Интернете? Нередко я читал мнение, что держать RDP (Remote Desktop Protocol) порт открытым в Интернет — это весьма небезопасно, и делать так не надо. А надо доступ к RDP давать или через VPN, или только с определённых "белых" IP адресов. Я администрирую несколько Windows Serv...

[Из песочницы] Angular: понятное введение в NGRX Цель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода. Вот список тем, которые мы будем обсуждать в этой статье: Что такое ngrx Преимущес...

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

Mortal Shell — оболочка-то пустовата Mortal Shell — первый проект небольшой студии Cold Symmetry, среди сотрудников которой немало ветеранов индустрии, в разное время работавших над проектами Blizzard, 4A Games, Sucker Punch и Saber Interactive. Послужной список, скажем откровенно, впечатляющий, но получи...

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

UML для разработчиков Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то у...

MCMC-методы и коронавирус: часть первая, вступительная Привет, коллеги! Сто лет не писал на Хабр, но вот время настало. Весной этого года я вёл курс «Advanced ML» в Академии больших данных Mail.ru; кажется, слушателям понравилось, и вот сейчас меня попросили написать не столько рекламный, сколько образовательный пост об одной и...

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 3. Чтение/запись атрибутов, собственные модели Введение Здравствуйте, дорогие Хабровчане. Сегодня я представляю вашему вниманию заключающую часть цикла статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь в этой статье — необходимо прочесть первую и вторую части. На э...

[Из песочницы] Различные способы передачи данных в компоненты Angular Привет, Хабр! Представляю вашему вниманию перевод статьи «Different Ways to Pass Inputs to a Component in Angular» автора Netanel Basal. В этой статье, мы разберём три разных способа передачи данных в компонент. В следующем примере мы будем использовать select как главный...

Переписывание истории репозитория кода, или почему иногда можно git push -f Одно из первых наставлений, которое молодой падаван получает вместе с доступом к git-репозиториям, звучит так: «никогда не ешь жёлтый снег делай git push -f». Поскольку это одна из сотен максим, которые нужно усвоить начинающему инженеру-разработчику ПО, никто не тратит вр...

Создаем калькулятор на Swift 5 В преддверии старта базового курса «iOS-разработчик» публикуем статью, которую написал наш внештатный автор. Всем привет! Прошло уже больше года с того момента, как появился релиз Swift 5, который принес разработчикам много нового. В этой статье я хочу поговорить о мобиль...

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

Как сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain Этой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло. Как эффективно организовать иерархию кл...

Создаем Todo приложение c помощью Django. Часть 1 И снова здравствуйте. В преддверии старта курса «Web-разработчик на Python» наш внештатный автор подготовил интересный материал, которым с радостью делимся с вами. Джанго это мощный фреймворк для создания веб-приложений. Изначально Django был создан для того, чтобы быстро...

Разработка стандартной сервисной модели с использованием руководящих принципов ITIL 4 Если вы крупная организация или поставщик ИТ-услуг, предлагающий услуги крупным предприятиям, то необходимо регулярно пересматривать свою стандартную сервисную модель и обеспечивать её согласованность с бизнес- и ИТ-стратегией. Особенно в связи с тем, что в современном разви...

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

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

Elixir как цель развития для python async В книге «Python. К вершинам мастерства» Лучано Рамальо описывает одну историю. В 2000 году Лучано проходил курсы, и однажды в аудиторию заглянул Гвидо ван Россум. Раз подвернулся такой случай, все стали задавать ему вопросы. На вопрос о том, какие функции Python заимствовал ...

О работе ПК на примере Windows 10 и клавиатуры ч.2 В этой части мы рассмотрим какой путь проходит информация о нажатой клавише от клавиатуры до CPU, будет очень много картинок и это не последняя часть. Я буду рассказывать об этом с точки зрения программиста который пишет в режиме пользователя — пользовательские програмы, web...

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

Заметки о разработке МРРТ контроллера Приветствую! Ранее я уже рассказывал в статье о своем проекте контроллера заряда для небольшой СЭС с алгоритмом поиска ТММ. Сей проект вялотекущий из-за нехватки времени и порой отcутствия настроения, но все же он развивается. С момент последней статьи я сделал еще 2 ревизии...

Из разработчика в менеджеры и обратно Зимой 2012-го коллега предложил мне, С++ программисту с пятилетним стажем, написать первое приложение под Android. Ещё через год я начал руководить небольшой командой мобильных разработчиков, и с тех пор размеры моих команд стабильно росли. Но в прошлом году, после 2 лет рук...

Как создать RESTful API на Symfony 5 + API Platform для проекта на MODX Из этого урока Вы узнаете как можно быстро создать RESTful API для любого сайта на любой CMS, MODX — это только пример. Для создания API я буду использовать: https://symfony.com/ https://api-platform.com/ Читать дальше →

[Из песочницы] Самый простой алгоритм для создания Филворда (Часть 1) Привет, Хабровцы. В этой статье я хочу поделиться с вами немного своим опытом и показать вам мой простой алгоритм, который я придумал для создания Филворда. Под «Филвордом» я буду иметь ввиду эту многим знакомую игру. В игре есть поле размером обычно NxN заполненное словами...

'Hello World' вам в облако Мир сходит с ума, заталкивая калькулятор для 2+2 в облака. Чем мы хуже? Давайте Hello World затолкаем в три микросервиса, напишем пару-тройку тестов, обеспечим пользователей документацией, нарисуем красивый пайплайн сборки и обеспечим деплой в условный облачный прод при успе...

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio Привет, Хабр. Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию м...

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

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

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

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

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

[Перевод] PEP 572 (Выражения присваивания в python 3.8) Привет, Хабр. В этот раз мы рассмотрим PEP 572, который рассказывает про выражения присваивания. Если Вы до сих пор скептически относитесь к оператору ":=" или не до конца понимаете правила его использования, то эта статья для Вас. Здесь вы найдёте множество пример...

Оля, тесты и фабрика — путь к красивой архитектуре и чистоте кода В автоматизации тестирования существует много разных подходов, решений и способов. Самый распространенный и незаменимый —  паттерн Page Object (Screen Object). Я столкнулась с двумя подходами при работе с этим паттерном: c фабрикой для своих page object-ов и без нее. В этой ...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

Порт прошивки BigTreetech Touchscreen для MKS TFT32 V4 и немножко для V1 и V3  Благодаря терпению и любознательности уважаемых gluk и vasyna которые выступили в роли тестеров, появилась возможность использовать этот порт на первой и третьей версии MKS TFT32. Исходники выложил в отдельной ветке. Пока код инициализация контроллера экрана в усеченном вид...

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

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

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

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

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

Эффективное тестирование верстки Тестировать полезно. Тесты позволяют в автоматическом режиме безопасно рефакторить код и гарантируют его работу. Тесты – это живая документация: если информация в Wiki или в Confluence может устареть, то тесты всегда актуальны. Также многие крутые практики связаны с тестиров...

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

Дополняя SQL. Часть 4. Работа с исключениями, влияние данных на процесс разработки. Использование ML.NET Что будет в этой статье? Это заключительная статья в цикле о жизни разработчиков IDE для баз данных. В этой части я расскажу, о том, как внедрение продуктовой аналитики повлияло на некоторые аспекты разработки. Для понимания этой статьи не обязательно читать все три предыду...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

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

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

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

[Из песочницы] Почем Appium для народа В этой статье мы рассмотрим инструмент Appium. Данная статья является вводным материалом для введения в автоматизированное тестирование мобильных приложений. Она покажет с какими трудностями возможно придется столкнуться при использовании данного инструмента. Рассмотрим неб...

[Перевод] Почему центр пикселя должен быть в (0,5; 0,5) Сегодня, когда всё популярнее становится трассировка лучей (ray tracing) выполняемая из «глаза» камеры, этот урок нужно усвоить заново: код становится лучше, а жизнь — проще, если центр пикселя находится в координате (0,5; 0.5). Если вы уверены, что делаете всё правильно, то...

[Из песочницы] Как GitLab помогает делать бэкапы больших хранилищ NextCloud Привет, Хабр! Сегодня я хочу рассказать о нашем опыте автоматизации резервного копирования больших данных хранилищ Nextcloud в разных конфигурациях. Я работаю СТО в «Молния АК», где мы занимаемся конфигурационным управлением IT систем, для хранения данных используется Nextcl...

RealWorld: aiohttp, Tortoise ORM RealWorld: aiohttp, Tortoise ORM На Real World отсутствует пример для aiohttp, и я решил его сделать. Опытным разработчикам, похоже, некогда этим заниматься, а начинающим в aiohttp непонятно как делать правильно. Я начал его делать с помощью Tortoise ORM. Пока начал делать а...

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

Неоморфизм с помощью SwiftUI. Часть 2: Что можно сделать с доступностью? Всем привет! В преддверии старта продвинутого курса «Разработчик IOS» мы публикуем перевод второй части статьи про неоморфизм с помощью SwiftUI (читать первую часть). Темная тема Прежде чем мы начнем разбираться с тем, как мы можем улучшить доступность неоморфизма, давай...

Жизнь лида аналитики или «я рассчитывала, что ты сама это сделаешь» К моей прошлой статье был такой комментарий: «Или порой встречаешь ответственных людей с честными глазами, обсуждаешь план работ, создаёшь договоренности. И… люди потом ничего не делают, или затягивают процесс, или делают непонимающий взгляд. И ты стоишь и думаешь кто из н...

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

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

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

Секреты дизайна СRМ-систем от команды Пачки В ходе общения с нашими клиентами мы, команда Пачки , узнали многое о том, что важно в CRM-системах: что отталкивает пользователей, а что привлекает. Большинство отметили дизайн, как основной параметр при выборе системы, и это неудивительно. Что такое, по сути, дизайн? Здесь...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

Zabbix: мониторим всё подряд (на примере Redis'а) Zabbix — замечательный продукт для администраторов крупных программно-аппаратных комплексов. Он настолько хорош, что может использоваться не только крупным бизнесом, но и средне-малым бизнесом, и даже в pet-проекте. В общем, у меня есть небольшой опыт работы с Zabbix'ом и я ...

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

[Из песочницы] Как легко и быстро сделать создание snapshot'ов и их автоматическое удаление История о том, как у меня была задача на решение которой ушло 2 дня. Обнаружилось несоответствие в документации и реальном мире яндекс облака в Яндекс писалось, но ответа не получилось. Yandex.Cloud Задача: По расписанию, создавать SNAPSHOT дисков в используемых instance...

[Перевод] Настройка Webpack 5 с нуля Узнайте, как использовать вебпак для сборки JavaScript, изображений, шрифтов и стилей, а также как запускать сервер для разработки Если вы раньше использовали вебпак 4, вот некоторые отличия от 5 версии: команда «webpack-dev-server» теперь выглядит как «webpack-serve» о...

Приложения для Mac на iPhone? Apple действительно может так ... Замена в компьютерах Mac чипов от Intel собственными процессорами на базе архитектуры ARM должна отразиться на всём бизнесе Apple. Сегодня инсайдер заявил, что компания работает над аналогом Samsung Dex для iPhone, который позволит использовать созданные для Mac приложения п...

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

[Перевод] Ванильный JavaScript и HTML. Никаких фреймворков. Никаких библиотек. Никаких проблем Используете для создания приложений Vue, React, Angular или Svelte? Я использую, и если вы тоже, и уверен, что вам уже давно не приходилось писать приложение, которое выводит информацию без этих прекрасных инструментов. Когда-то многие из нас писали веб-приложения только с...

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

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

[Из песочницы] Редизайн приложения — взгляд изнутри Mobius bike — это сервис по прокату велосипедов и самокатов, разработанный для Таллина (на данный момент запланировано расширение географии). Гипотеза первого релиза — «приложение по прокату велосипедов, будет востребовано на рынке Европы». В декабре 2019 была пересмотре...

Парсинг фотографий с сайта cian.ru с помощью Selenium Здравствуйте дорогие хабровчане, в этом небольшом примере я хочу показать как можно распарсить страницу, данные на которую подгружаются с помощью javascript виджетов. Более того, даже если страницу в этом примере просто сохранить, то всё равно не получится спарсить из неё вс...

Unity + git = дружба: часть 1 джентльменский набор Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git. Вот список типи...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

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

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP) Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА...

IDA Pro и техники реверс-инжиниринга 0x00 start ; {EN} entry point, do nothing, just run _main {EN} Статья для начинающих “воинов тьмы”, тех, кто хочет погрузиться в темную сторону силы: реверс-инжиниринг. На нашем “операционном столе” будет небольшой кустарный сервер, который работает по протоколу TCP/IP. Для ...

[Из песочницы] Пишем спецификацию под Nvidia Kepler (бинарники CUDA, версия языка sm_30) для Ghidra Для обычных процессорных языков уже написано довольно много спецификаций для Ghidra, однако для графических ничего нет. Оно и понятно, ведь там своя специфика: предикаты, константы, через которые передаются параметры в том числе, и другие вещи, унаследованные от шейдеров. Кр...

Tladianta. Сервис по автоматизированному тестированию в Росбанк Всем привет! Меня зовут Антон Епишин, и я продолжаю наш небольшой цикл статей про автоматизированное тестирование в Росбанке. В прошлый раз Юрий Скворцов рассказал про один из инструментов, который помогает нам быть уверенными в качестве предоставляемого фреймворка Tladiant...

Разработка измерительного прибора ИРИС Приветствую, сообщество Хабра. Недавно наша компания выпустила на рынок контрольно-измерительный прибор ИРИС. Являясь главным программистом этого проекта, хочу рассказать вам про разработку прошивки прибора (По оценке руководителя проекта прошивка составляет не более 30% от...

[Перевод] Распределенное обучение с Apache MXNet и Horovod Перевод статьи подготовлен в преддверии старта курса «Промышленный ML на больших данных» Распределенное обучение на нескольких высокопроизводительных вычислительных экземплярах может сократить время обучения современных глубоких нейронных сетей на большом объеме данных с не...

Как работать с комментариями на Ютуб-канале Когда вы создали Ютуб-канал, то на ваш ролики будут писать комментарии. Если комментарии одобрительные к видео, то вы разумеется их оставляете. Но, что делать если комментарии негативные?! Что с ними делать?! Я расскажу про себя  про то что я делаю на своих каналах, в социал...

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

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

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

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

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

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

[Перевод] Руководство по Deno: примеры работы со средой выполнения TypeScript Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи «The Deno Handbook: A TypeScript Runtime Tutorial with Code Examples» автора Flavio Copes. В этой статье мы научимся работать с Deno. Мы сравним его с Node.js и создадим с его помощью простой RES...

[Перевод] Ошибки при работе с датой и временем в SQL Server Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик". Содержание Ошибка #1: Предполагать, что значения даты и времени хранятся в виде форматированных строк Ошибка #2: Забыть о людях, которые живут в других частях света Ошибка #3: ...

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

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

От кода до roadmap: как я перешел из разработки в управление продуктом Во многих IT-компаниях продуктовыми менеджерами становятся бывшие программисты. Это логично, ведь они понимают процесс разработки «изнутри». Но даже они совершают ошибки из-за непонимания процессов, отсутствия навыков управления и незнания инструментов. Так первое время было...

Vivaldi 3.3 — Делаем передышку в работе Привет, Хабр! Прочитав заголовок, вы можете подумать, что разработчики браузера Vivaldi устали и решили взять небольшую паузу в работе. Но не пугайтесь — разработчики Vivaldi не только не собираются отдыхать, они даже наращивают темпы разработки всеми нами любимого браузе...

Сколько кода на C++ нужно написать для разбора HTTP-заголовка Authorization с помощью easy_parser из RESTinio? Мы продолжаем развивать бесплатный и открытый встраиваемый в С++ приложения HTTP-сервер RESTinio. В реализации RESTinio активно используются C++ные шаблоны, о чем мы здесь регулярно рассказываем (недавний пример). Одной из точек приложения C++ной шаблонной магии стал easy_p...

Пишем Grafana reverse proxy на Go Очень хотелось назвать статью «Proxy-сервис на Go в 3 строчки», но я выше этого. В действительности так и есть, основную логику можно уместить в трёх строках. Для нетерпеливых и тех, кто хочет увидеть самую суть: proxy := httputil.NewSingleHostReverseProxy(url) r.Header.Se...

Интеграция .pre-commit hook в Django проект Доброго дня! Меня зовут Соболев Андрей и сегодня я вам расскажу как мы приготовили .pre-commit hook на нашем проекте. Вступление Для начала пару слов, о том что такое в целом хуки (hooks) и для чего они могут быть нужны. Git «из коробки» предоставляет инструмент, который у...

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

Проброс USB-портов из Windows 10 для удалённой работы Когда человек много лет рыл бункер и запасал там продукты, он должен испытывать глубокое моральное удовлетворение, если бункер понадобился. Он будет довольный заявлять: «А я говори-и-и-ил!» То же касается и того, кто делал запасы продуктов в кладовой, когда все закупались в ...

[Перевод] Высокопроизводительная сборка мусора для C++ Мы уже писали о сборке мусора для JavaScript, о DOM, и о том, как всё это реализовано и оптимизировано в JS-движке V8. Правда, Chromium — это не только JavaScript. Большая часть браузера и движок рендеринга Blink, куда встроен V8, написаны на C++. JavaScript можно использова...

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

СКИДКА (379р → 15р) Обзор Alto’s Odyssey для iPhone, iPad и Apple TV – долгожданное продолжение приключений Альто Существует не так много игр, интерес к которым не ослабевает даже спустя годы после их выхода. Платформер Alto’s Adventure – один из таких проектов (входит в ТОП-100 наших самых любимых игр). Разработчикам из Team Alto удалось создать маленький шедевр с необычайно крас...

Telegram заменит TOR и даркнет: новый функционал TON Sites Те сайты, что мы видим открывая ссылку в браузере являются частью Сети. Она работает на основе стека (группы) протоколов TCP/IP. Среди них наиболее важными являются Transmission Control Protocol (протокол управления передачей, TCP), Internet Protocol (протокол интернета или ...

«Я — первый слепой разработчик в своей компании». Часть 1 То, что я не вижу, стало ясно в первые месяцы после рождения. Сколько родители ни пытались, зрение восстановить не удалось. С четырёх лет я учился читать и писать по Брайлю. Мне невероятно повезло с людьми вокруг. У меня были хорошие учителя, была музыкальная школа, где я ...

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

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

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

[Перевод] Go: Должен ли я использовать указатель вместо копии моей структуры? Иллюстрация, созданная для «A Journey With Go», из оригинального гофера, созданного Рене Френч. С точки зрения производительности систематическое использование указателей вместо копирования самой структуры для совместного использования структур многим Go разработчикам пред...

Зоны в Dart: большой брат следит за тобой Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

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

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

Почему я всегда оставляю комментарии в Google Play и вам советую Мало кто будет спорить с тем, что Google Play существенно уступает по качеству проверки и общему уровню AppStore. В магазине Apple все сделано более качественно. Возможно, из-за подхода компании, а может быть и из-за того, что приложения для Android просто пишутся совершенн...

[Из песочницы] Выбор VPS. Битва хостингов Знаете, что заметила наша небольшая команда? Если какое-то время назад, буквально в январе, мы выбирали IT-инфраструктуру весьма халатно, то сейчас отношение сильно поменялось. Ресурсов реально меньше (никому не верьте, в ИТ тоже!) и хочется уже получить не первый софт/хости...

Разработка python module, чтобы продакшн радовал Всем привет! Я представляю команду разработчиков некоммерческой организации CyberDuckNinja. Мы создаём и поддерживаем целое семейство продуктов, которые позволяют облегчить разработку backend-приложений и сервисов машинного обучения. Сегодня хотелось бы затронуть тему интег...

Слухи: в игры на PlayStation 5 можно будет играть в обход главного меню У консоли нового поколения PlayStation 5 будет новая особенность, которой до этого мы не видели — функция «Activities», которая позволяет загружать любимые игры без необходимости входа в главное меню. Информация поступила от европейского издания Gamereactor, обозревавшего г...

FigmaExport: как автоматизировать экспорт UI-Kit из Figma в Xcode и Android Studio проекты Если вы iOS- или Android-разработчик и дизайн вашего проекта разрабатывается в Figma, то скорее всего вы сталкиваетесь с проблемами при экспорте ресурсов: цвета выгрузить нельзя, а иконки и картинки экспортировать неудобно. В этой статье я расскажу, как можно облегчить себ...

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

[Перевод] Visx — коллекция графических примитивов для React-приложений, созданная в Airbnb После 3 лет разработки и 2,5 лет использования в продакшн-проектах Airbnb, после переписывания кода на TypeScript, мы рады представить вам официальный релиз коллекции графических примитивов visx 1.0  (раньше она называлась vx). Вот — страница проекта на GitHub. Документацию ...

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

Учимся разворачивать микросервисы. Часть 3. Helm Привет, Хабр! Это третья часть в серии статей "Учимся разворачивать микросервисы", и сегодня речь пойдет о Helm 3. В прошлой части мы создали Kubernetes конфигурацию для учебного проекта из 2 микросервисов (бекенда и шлюза) и задеплоили все это в Google Kubernetes...

Что нового в TestMace часть 1. Облачная синхронизация, обновленный интерфейс и многое другое Всем привет! После долгого перерыва TestMace вновь вылезает из норы, чтобы поведать миру о новостях, связанных с проектом. Если кто забыл либо не читал статью о нас, TestMace — это IDE для работы с API. Наша тулза ставит целью покрыть весь спектр работ с существующим API, к...

Взаимодействие SwiftUI с Redux Всем привет. В данной статье мы будем говорить о фреймворке SwiftUI в связке с Redux, эта связка позволяет нам быстро и просто создавать приложения. SwiftUI служит для создания пользовательского интерфейса в декларативном стиле в отличии от UIKit. В свою очередь Redux служ...

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

В России создали ГОСТ для мобильных программ Теперь от разработчиков рекомендуется делать тестовые бесплатные версии для платных приложений. Кроме этого, имеется ещё 87 требований, утверждённых «Росстандартом». Основными пунктами при создании нового программного обеспечения являются: производительность, защита приватн...

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

Ищем идеальный чехол для Amazon Kindle 4 Wi-Fi На текущий момент достаточно многие пользователи интересуются, где купить чехол для Amazon Kindle 4 Wi-Fi и как правильно его выбирать, чтобы устройство проработало еще много лет и предоставляло пользователю удобство и комфорт. Мы решили изучить этот вопрос, чтобы дать вам п...

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

Игра круче 2048, Botanicula и другие приложения со скидкой только сегодня! Многие приложения в App Store стоят дорого, но иногда разработчики устраивают скидки, и главное здесь — вовремя скачать игру или утилиту по низкой цене. Поэтому мы здесь! Сегодня с хорошей скидкой раздают Botanicula, а еще можно урвать игру, от которой будут в восторг...

Избавляемся от рутины со своим плагином для PhpStorm Привет, Хабр! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом. С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вруч...

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

Когда пандемия пойдёт на спад? Оцениваем на Python с помощью Pandas Всем привет. Видел несколько дашбордов по COVID-19, но не нашёл пока главного — прогноза времени спада эпидемии. Поэтому написал небольшой скрипт на Python. Он забирает данные из таблиц ВОЗ на Github'е, раскладывает по странам, строит линии тренда. И по ним делает прогноз...

Книга «Clojure на производстве» Неделю назад в издательстве "Ридеро" вышла книга "Clojure на производстве". Как ее автор, расскажу о ней подробнее: что внутри и кому она полезна. Общие сведения Это книга о том, как применять Clojure в настоящих условиях: не сортировать списки в олимпиа...

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

Что такое хорошо и что такое плохо. Карьера разработчика глазами его руководителя В чем отличается взгляд на карьеру у разработчика и его руководителя. Жизнь полна противоречий. Даже свет не может определиться, кто он – частица или волна. В мире разработки софта противоречий между действующими лицами вагон и маленькая тележка. Давайте рассмотрим пару – ра...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Canny или Arduino) и Raspberry PI Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, ...

Мой способ знакомства учеников младших классов с Python В наше время большинство детей знакомится с миром программирования через создание проектов на платформе scratch.mit.edu Создание проектов происходит путем соединения разноцветных блоков без ввода кода с клавиатуры (вводим только значения переменных). Однако, дети взрослеют,...

Современная сборка 2020 для frontend. Gulp4 Начало Посмотрев на календарь, я понял, что уже 2020, а посмотрев на свою сборку, которая была с 2018 года, я понял, что пора её менять. В этой статье мы разберем структуру проекта, плагины (минимальный набор функционала) и их новые возможности, которые добавились за такое б...

Angular для Vue разработчиков Сейчас во фронтенде среди фреймворков есть три явных лидера: Angular, React и Vue. Думаю, мы можем судить о любви разработчиков к проекту по количеству звезд на GitHub. На момент написания данной статьи у Vue уже 161 тысяча звезд, на втором месте находится React с 146 тысяча...

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8 Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все сим...

Кто создал Java: главное про Джеймса Гослинга Java-разработчики знают, что язык создал Джеймс Гослинг, но зачастую на этом знания о нём и заканчиваются. Кто это вообще такой? Что ещё он делал в жизни? Почему перестал участвовать в работе над Java? Мы считаем, что такие люди заслуживают большего внимания. Поэтому, во-пе...

[Из песочницы] Как разработать дизайн и код персонального веб-сайта Привет, Хабр! представляю вашему вниманию перевод статьи «How to Design and Code a Personal Website» автора Ryan Smith. Многие разработчики считают, что быть хорошим дизайнером — это врожденная способность, что творческий подход — это то, с чем вы сразу родились. На самом д...

[Перевод] Усложняем Sci-fi-модели процедурно: что такое Greeble и как его использовать Для начала позвольте мне пожаловаться, что «greeble» — ужасное слово, которое нужно изгнать из словаря. Ну, сняв камень с души, перейдём к объяснениям. Greeble — это мелкие повторяющиеся детали, добавляемые к модели, чтобы придать ей ощущение масштаба и определённой эстети...

Форт Святого Иоанна он же, порт Королевской гавани из сериала Игра престолов. Заказали мне, создать модель форта Святого Иоанна из города Дубровник. Так как в этом городе, снимали почти все виды города Королевская гавань, для сериала Игра престолов, то вы можете увидеть этот форт и там. Проект не пошел, так что модель оказалась свободной.Проект делал ...

[Из песочницы] Как задача из классического сбора данных, перешла в решение простенькой задачи MNIST. Или как я спарсил сайт ЦИК В один из будничных дней, под вечер, от моего начальника прилетела интересная задачка. Прилетает ссылка с текстом: «хочу отсюда получить все, но есть нюанс». Через 2 часа расскажешь, какие есть мысли по решению задачи. Время 16:00. Как раз об этом нюансе и будет эта статья....

Как на Tilda: создаем лендинг на WordPress Лендинг на WordPress, да еще и своими руками – это совсем несложно. В этой статье я расскажу о преимуществах и возможностях WordPress как открытой системы. Разберем по шагам, как сделать лендинг на WordPress с минимальными знаниями HTML и CSS. Наконец, в финале будет живой ...

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

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

Как SFP, SFP+ и XDP делают нашу жизнь проще Для чего нужны эти порты, трансиверы, пачткорды? Как во всем этом разобраться? И вообще, надо ли это или проще обойтись «подручными средствами» вроде «хорошо обжатого RJ45»? Читать дальше →

7 лучших новых игр для Android. Июнь 2020 Всем время от времени хочется во что-то поиграть на смартфоне. В этот момент тот, кто не следит за всеми новинками индустрии, может немного потеряться от огромного выбора игр в Google Play. Специально, чтобы облегчить жизнь таких пользователей, мы периодически публикуем по...

Лучшие игры для Android-планшетов Играть на планшете — одно довольствие Сегодня почти все пользователи смартфонов играют в разного рода игры — это могут быть как простенькие убивалки времени, так и весьма продвинутые проекты. Но даже если вы являетесь гордым обладателем какого-нибудь фаблета посл...

[Из песочницы] STM32F3xx + FreeRTOS. Modbus RTU с аппаратным RS485 и CRC без таймеров и семафоров Всем привет! Относительно недавно, закончив ВУЗ, я попал в небольшую компанию, которая занималась разработкой электроники. Одна из первых задач с которой я столкнулся — необходимость в реализации Modbus RTU Slave протокола с использованием STM32. С грехом пополам я её тогда ...

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

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

Как добавить виджеты из iOS 14 на любой Android Думаю, никто не возьмётся спорить с тем, что подход Apple к развитию iOS лучше подхода Google. Бесспорно, меня тоже раздражают ограничения, которые в Купертино навязывают пользователям своей операционки, но, если взять только качество реализации обновлений, новых функций и ...

Эльбрус VS Intel. Сравниваем производительность систем хранения Аэродиск Восток и Engine Всем привет. Мы продолжаем знакомить вас с системой хранения данных Аэродиск ВОСТОК, выполненной на базе российского процессора Эльбрус 8C. В этой статье мы (как и обещали) детально разберем одну из популярнейших и интереснейших тем, связанной с Эльбрусами, а именно – прои...

Хабр Конвертер: чтобы версталось легко Наверняка многие из вас хотя бы однажды пользовались хабраконвертером, который официально рекомендован администрацией Хабра — https://shirixae.github.io/habraconverter-v2/. Несколько лет назад его создал хабравчанин meta4, а потом доработал Shirixae. Принцип простой: открыва...

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

Semantris от Google: как ИИ помогает учить английский играючи В 2016 году Уилл Найт, исследователь искусственного интеллекта из Массачусетского технологического института, писал, что «Машины, которые понимают естественные языки, были бы крайне полезны. Но мы не знаем, как их создать». С тех пор многое изменилось. Искусственный интел...

IT-девушки, откуда вы? Давайте построим карту RUVDS поздравляет всех айтишниц с 8 марта! В этом году мы решили не дарить тюльпаны и не делать подборку гик-подарков. Мы пошли другим путем и создали страничку IT is female, чтобы показать присутствие женщин-специалисток в IT. Любая девушка, работающая в IT, может залогин...

В чем Google Pixel 5 действительно уникален О том, каким будет Google Pixel 5, нам рассказали уже довольно давно. Когда мы про него услышали, первым чувством, которое мы испытали, было легкое разочарование. Даже не от того, какие у него характеристики — к этому мы привыкли по утечкам — нас смутила его цен...

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

[Из песочницы] Защита проекта VBA в MS Excel Всем привет! Я обычный пользователь MS Excel. Не являющийся профессиональным программистом, но накопивший достаточно опыта, для установки и обхода защиты проектов VBA. Дисклеймер: В данной статье рассмотрены виды защиты проектов VBA, от несанкционированного доступа. Их сил...

«Чистый код» Роберт Мартин. Конспект. Как писать понятный и красивый код? Я решил написать конспект книги, которая всем известна, а сам автор называет ее «Школой учителей Чистого кода». Пристальный взгляд Мартина как бы говорит: «Я тебя насквозь вижу. Ты опять не следуешь принципам чистого кода?» Читать дальше →

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

Четыре моих любимых сканера документов и фото для Android Раньше для того, чтобы сканировать документы или фотографии, нужно было покупать отдельную коробку, которая могла только сканировать. В остальное время она просто занимала место где-то в углу или и вовсе мешалась ”на проходе”. Потом они стали намного тоньше, но это все равн...

Почему я люблю китайские смартфоны больше, чем iPhone Говорят, что о вкусах не спорят, но я так не считаю. О вкусах спорят и ещё как, потому что вкус может быть хорошим, а может быть просто отвратительным. Но не нужно думать, что вкус – это какое-то врождённое качество, которое появляется само по себе. Хороший вкус нужно воспи...

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

[Из песочницы] Знакомство с effector-dom на примере списка задач Многим уже известен стейт-менеджер effector, кто-то его уже не только смотрел, но и использует в проде. С конца осени его автор активно разрабатывает девтулзы для эффектора, и в процессе этой работы у него получилось написать очень интересную библиотеку для рендера приложени...

Какой чехол взять для Xiaomi Redmi 10X В последнее время при покупке смартфона многие пользователи замечают, что устройство крайне хрупкое, тонкое и не совсем подходит для того, чтобы этим гаджетом пользовались активно без дополнительной защиты. Именно по этой причине пользователи частенько приобретают чехол для ...

Разработка приложений и Blue-Green deployment опираясь на методологию The Twelve-Factor App с примерами на php и docker Для начала немного теории. Что такое The Twelve-Factor App? Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке со...

[recovery mode] Пришло время бесплатных сайтов Привет, %username%! Сегодня многие начинающие веб-разработчики делают большую ошибку, и не одну. Они что-нибудь сверстают, а потом покупают хостинг. Далее покупают домен. Регистрируют и подключают SSL-сертификат. Я, спасаясь от минус-кармы, просто расскажу как не тратить д...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

От эвристики до машинного обучения: поисковые подсказки в Ситимобил Всем привет! Меня зовут Михаил Дьячков, и в Ситимобил я занимаюсь машинным обучением. Сегодня я расскажу вам о нашем новом алгоритме формирования поисковых подсказок конечных пунктов назначения. Вы узнаете, как на первый взгляд довольно простая задача превратилась в интере...

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

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

Как оптимизировать сайт с помощью плагина Yoast SEO Поисковая оптимизация сайта – тема такая же глубокая, как Марианская впадина. Там так же темно, непонятно, кто там живет и как вся эта экосистема работает. Можно считать, что плагин Yoast SEO это фонарик, подсвечивающий настройки сайта, которые можно докрутить и за счет это...

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

Leak-Search: как и зачем QIWI создала сервис, который ищет утечки исходных кодов компаний Искать утечки и уязвимости в своих продуктах не только интересно и полезно, но и необходимо. Еще полезнее подключать к таким поискам внешних специалистов и энтузиастов, у которых не настолько замылен глаз, как у сотрудников. Поэтому в свое время мы в QIWI запустили программу...

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

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

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

Прошивка Marlin 2.0.4.4 для KingRoon KP3 Вступление. Кто читает мой блог, тот знает, что почти сразу после покупки я свой принтер перепрошил прошивкой marlin 2.0. Причины тому были разные. Например, у меня почему то принтер не хотел принимать стандартный файл конфигурации, из-за чего мне никак не удавалось откалибр...

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

Не пиши одно и то же: как переиспользуемые компоненты React помогут фронтенд-разработчику быстрее создавать приложения Вносить однотипные изменения в три-четыре разных места в JS-коде — искусство, требующее концентрации внимания. Если элементов больше, поддержка кода превращается в муку. Поэтому для долгосрочных или крупных проектов следует писать код так, чтобы его можно было вынести в отд...

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

Windows 10: 5 лет назад 1 октября 2014 года Microsoft выпустила первую публичную сборку Windows 10 под названием Windows Technical Preview. Заметьте, что в названии не фигурирует цифра 10. Возможно разработчики еще тогда хотели от нее отказаться и вообще от нумерации Windows или просто компания реш...

[Перевод] Понимаем JIT в PHP 8 Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP» TL;DR Компилятор Just In Time в PHP 8 реализован как часть расширения Opcache и призван компилировать операционный код в инструкции процессора в рантайме. Это означает, что с JIT некоторые о...

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

Пишем full stack монолит с помощью Angular Universal + NestJS + PostgreSQL Привет, Хабр! В этой статье мы создадим готовый шаблон-монолит, который можно брать за основу нового fullstack приложения как скелет для навешивания функционала. Эта статья будет полезна, если вы: Начинающий  fullstack-разработчик; Стартапер, который пишет MVP чтобы провери...

Чеклисты заменяют регламенты? На работе мне приходилось внедрять проектное управление в одной большой и мягкой, в плане управления, компании. Я «ломал» старые и пытался запустить новые бизнес-процессы. Я писал регламенты, заводил людям оценки в мотивационные матрицы. Генеральный директор подписывал пр...

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

1С — Добро и зло. Расстановка точек в холиварах вокруг 1С Друзья и коллеги, в последнее время на Хабре участились статьи с хейтом в адрес 1С, как платформы для разработки, и выступлениями ее защитников. Эти статьи обозначили одну серьезную проблему: чаще всего, критики 1С критикуют ее с позиции "не осиливших", ругая проблемы, кото...

[Из песочницы] Делаем Linux терминал красивым и удобным Все дистрибутивы Linux поставляются с функциональным и кастомизируемым эмулятором терминала. В интернете, а порой даже в самом терминале, есть масса готовых тем, чтоб он красиво выглядел. Однако, чтоб сделать из стандартного терминала (в любом DE, любого дистрибутива) нечто ...

[Из песочницы] Контролируемые и неконтролируемые компоненты в React не должны быть сложными Привет, Хабр! Представляю вашему вниманию перевод статьи «Controlled and uncontrolled form inputs in React don't have to be complicated» автора Gosha Arinich. Возможно, вы видели много статей, говорящих: “вы не должны использовать “setState”", в то время, когда докумен...

STM32 Чать 2: Инициализация Программирование — это разбиение чего-то большого и невозможного на что-то маленькое и вполне реальное. Всем привет, для начала я хотел бы поблагодарить модераторов за то что пропустили мой первый (отвратительный) пост, и передать привет маме! А так же я хотел бы поблагода...

Как Samsung создавала идеальные «бобы». Компания рассказала историю разработки наушников Galaxy Buds Live Представленные недавно наушники Samsung Galaxy Buds Live, которые большинству напоминают бобы (кодовое имя модели — Beans), получились весьма удачными, особенно за свою цену. Как оказалось, создать такое устройство для Samsung было не очень простой задачей. Компа...

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

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

[Перевод] Запуск Unix-подобной ОС на самодельном CPU с помощью самодельного компилятора C Два года назад я начал работать разработчиком ПО. Иногда я рассказывал своим коллегам о студенческом проекте, которым занимался на третьем курсе университета, и они восприняли его настолько хорошо, что я решил написать этот пост1. Позвольте задать вам вопрос: вы когда-нибу...

Разбираемся в рекурсии Привет, Хабр. Про рекурсию ходит много шуток, и она традиционно считается одной из сложных для понимания тем в computer science, поэтому давайте сегодня немного о ней поговорим. А именно, давайте обсудим, как выражать доказуемо завершимые вычисления. Зачем это надо? Рекурси...

[Из песочницы] Cоздавать или отказываться — проверка идеи на прочность С чего начинается IT-стартап и вообще любая новая задача в IT-проекте? С идеи и вопросов к себе Чтобы создать «вау», недостаточно только вдохновения. Важно быть уверенным в себе и в своей идее. Порой, чтобы убедить себя, что придумано что-то полезное и крутое, нужно реально ...

В App Store раздают со скидкой крутые хиты. А что-то вообще бесплатно! Сегодня мы вручную отобрали для вас самые крутые приложения со скидкой в App Store. Так, всего за 75 рублей раздают знаменитую «Персефону», сбросили цену на This War of Mine, а крутой плеер для айфона с поддержкой облака вообще раздают бесплатно. Если хотите посмо...

[Перевод] Создание псевдотрёхмерной гоночной игры В детстве я редко ходил в залы аркадных автоматов, потому что особо в них не нуждался, ведь дома у меня были потрясающие игры для C64… но есть три аркадные игры, на которые у меня всегда находились деньги — Donkey Kong, Dragons Lair и Outrun… … и я очень любил Outrun — ско...

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

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

Дом твоей мечты за 11 200 евро – 70кв.м Не позволяй своему пустому земельному участку сидеть сложа руки. Найди способ создания пассивный доход и прибыль! Закажи индивидуальный проект кемпинга под ключ в клубе «КЕМПИНГС ХАУС» Латвия! Проекты под ключ kempingsmaster@gmail.com!   Кемпинг дом лучше, чем отель! В наше ...

[Из песочницы] Как я умный аквариум делал (backend) Пролог Работая программистом в одной из больших и успешных компаний Москвы, я не переставал совершенствовать свои навыки программирования и проходил различные курсы на платформе Udemy. Конечно просто смотря курс и повторяя все за автором было скучновато, да и были моменты к...

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

Что нужно знать об архитектуре ClickHouse, чтобы его эффективно использовать. Алексей Зателепин (2018г) ClickHouse — высокопроизводительная аналитическая база данных с открытыми исходниками, разработанная в Яндексе. Изначально ClickHouse создавался для задач Яндекс.Метрики, но постепенно нашёл множество применений как внутри Яндекса, так и в других компаниях. Я расскажу, как C...

Разработка и тестирование на платформах Эльбрус программы для томографической реконструкции Smart Tomo Engine (+2 видео) Сегодняшняя статья будет посвящена сразу двум нашим любимым темам: компьютерной томографии (КТ) и отечественному процессору Эльбрус. Мы расскажем, чем отличается рентгенограмма от результатов КТ и объясним, зачем такой большой и серьезной машине, как томограф, был бы кстати ...

Новогодний IMaskjs 6 — React Native, Pipes, ESM Всем привет! Я только что выпустил релиз шестой версии библиотеки imaskjs. После каждого мажорного релиза мне кажется, что это последняя версия. Библиотеке уже не один год, она стабильна и достаточно популярна среди сообщества. Что там еще можно сделать да еще и на мажорную...

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

Как создать токен за 5 минут? Рассказываем на примере платформы Enecuum Для запуска токена на Ethereum нужно написать смарт-контракт. На EOS — купить оперативную память. Команда проекта Enecuum считает: выпуск токена не должен быть таким сложным. Задача Enecuum — упростить процесс до нескольких кликов мышкой. Рассказываем, зачем нужны токены, и ...

[Из песочницы] Защита вашего GraphQL API от уязвимостей Привет, Хабр! Представляю вашему вниманию перевод статьи Protecting Your GraphQL API From Security Vulnerabilities. GraphQL быстро становится выбором разработчиков, которым необходимо создать API для своего клиентского приложения. Но, как и все новые технологии, GraphQL подв...

Topleaked для анализа утечек памяти Что делает большинство программистов, когда узнают, что в их программе течёт память? Ничего, пусть пользователь покупает больше оперативы. Посмею предположить, что берут надёжный проверенный временем инструмент, такой как valgrind или libasan, запускают и смотрят отчёт. Там...

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

Пробная партия чипов для iPhone 12 отправлена в Apple Как в Apple тестируют чип A14 (на самом деле нет) Аналитики из Тайваня узнали (вычислили?), что TSMC отправила в адрес Apple пробную партию 5-нм чипов, и что это – именно система-на-чипе, которая появится в iPhone 12 в сентябре этого года. Партия относительно небольшая, но в...

Автоматическая оптимизация от Kadam Весь арбитражный мир гремит анонсами новой супер системы CPA Target от Kadam. Мол выставь желаемую стоимость лида, и система сама сделает за тебя всю работу. Инновации, artificial intelligence, machine learning и все в таком духе. Не прошел Kadam и мимо моего блога, только ...

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

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Не нужно делать из фреймворков культ — они не настолько сложны, чтобы делить людей на React и Angular разработчиков Недавно меня позвали гостем в «Тяжелое утро с Holy.js», чтобы хорошенько пропесочить за мою статью про глупцов-фронтендеров. Мы обстоятельно поговорили, и один из аргументов был такой — если наши js фреймворки жрут неоправданно много на простых задачах — просто не использу...

DrazorStudio работает над хоррор-симулятором Don't Break Down Вчера мы писали о хорроре Death of Rose, который идёт по привычной в последние годы стезе: нелинейность разбитие на серии. Некоторые инди-разработчики пытаются привнести что-то новое, чем как раз и занимается DrazorStudio. Эта студия выпустила трейлер с игровым процессом. ...

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

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

Студия Headup выпустит головоломку Bridge Constructor: The Walking Dead Франшиза «Ходячие мертвецы» стала популярной после выхода одноимённого сериала. Интерактивная игра The Walking Dead от некогда живой и процветающей Telltale Games дала франшизе второе дыхание и познакомила её с геймерами. Норман Ридус с тех пор стал больше ассоциироваться с ...

[Перевод] Data Science для гуманитариев: что такое «data» Размышления об информации, памяти, аналитике и распределениях Все, что воспринимают наши чувства, — это данные, хотя их хранение в наших черепушках оставляет желать лучшего. Записать это немного надежнее, особенно когда мы записываем это на компьютере. Когда эти записи хорош...

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

Как получить 9 своих лучших фото в Instagram за год Это приложение покажет ваши лучшие фото в Instagram за год Нам пишет разработчик приложения best9.app Меня зовут Михаил Луцкий, на настоящий момент я студент магистратуры московского вуза. Работаю iOS-программистом, преимущественно пишу на Swift. Программированием увлекаюсь ...

[Из песочницы] Еще одно FM радио на RDA5807 под управлением Ардуино На эту тему было много толковых публикаций, однако я сделал все по своему, вдобавок создал трехмерную модель корпуса с практичным и оригинальным дизайном. В результате получился вполне законченный проект, достаточно простой для повторения начинающим любителем электроники. Сч...

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

[Из песочницы] ECS back and forth Привет, Хабр! Представляю вашему вниманию перевод статьи "ECS back and forth — Part 1 — Introduction" автора Michele skypjack Caini. ECS back and forth Часть 1 — Введение. Когда я в первые узнал про архитектурный шаблон entity component system, я пошёл искать больш...

Объединяем закрытый WhatsApp и открытый SIP – Часть 1 Предыдущая статья «Как избежать блокировки в WhatsApp», хотя и получила много минусов, но тем не менее в течении 2 суток была самой читаемой статьей на Хабре – набрала более 20 тыс просмотров. Поэтому я решил что нужно продолжать с хакингом монстров рассказывать о различны...

Мидульная Мини Циркулярка (На 3D принтере) Всем доброго времени суток!Наконец то я закончил самый большой и продолжительный проект в моей практике. От идеи до воплощения в жизнь у меня ушло больше трех недель, учитывая что я целыми днями только этим и занимался. Но хотя постоянно возникали разные трудности, я остался...

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

Мне кажется, дело не в языке, а в том, как на нем пишут «Летом между 2 и 3 курсом я пошла искать работу — а в Новосибе того времени почти все вакансии для ребята без опыта были про PHP. Начинала с очень простых вещей — WordPress, Drupal… Потом писала бэкенды на Yii и много еще разного. Go впервые попробовала в 2014-м, вдохновивши...

Как обучить нейронную сеть DeepPavlov на ноутбуке с использованием GPU В этой статье я хочу поделиться своим опытом использования данной open-source библиотеки на примере реализации одной задачи с парсингом файлов PDF/DOC/DOCX содержащих резюме специалистов. Здесь я также опишу этапы реализации инструмента для подготовки датасета. После чего м...

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

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

std::atomic. Модель памяти C++ в примерах Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особен...

Android. Surface Дисклеймер Данная статья предназначена для начинающих андроид разработчиков с небольшим опытом работы с видео и/или камерой, особенно тех кто начал разбирать примеры grafika и кому они показались сложными — здесь будет рассмотрен похожий код с упрощенным описанием основных ш...

[Из песочницы] Как мы придумали TableAdapter и упростили работу с UITableView При работе с UITableView хотелось избежать написания шаблонного кода, который еще больше усложняется, если нужно обновлять состояние таблицы анимировано. Apple представила свое решение этой проблемы на WWDC 2019, но оно работает только с iOS 13. А у нас, как у студии разраб...

Два красивых ночника Увидел на просторах инета ночник "Гитара" и под его впечатлением сделал и ночник "Единорог".Получилось очень даже красиво.В качестве источника света использовал диодную ленту на 5 вольт. 2 кусочка по 8 диодов ( 120 на 1 метр)вот так это выглядит на подставке для гитары.Печат...

Как можно использовать iPad. Советы от известных людей. iPad действительно смог изменить нашу жизнь. Вчера уже было сказано много хороших слов о таком устройстве, как iPad. В конце концов, у него день рождения 27 января. Именно в этот день 10 лет назад Стив Джобс показал миру “большой iPhone”, который многие восприняли неоднознач...

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

[Из песочницы] Игра для программистов FuncBall Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них с...

Светильник управляемый жестами на Arduino Всем привет!!! Я рад, что снова могу показать Вам свою новую поделку. На этот раз я собрал светильник на ардуино управляемый жестами. Данный проект отнял у меня очень много времени, которого у меня и так всегда не хватает. Первый вариант светильника я собрал очень быстро и...

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

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

Принимаем 10 000 ивентов в Яндекс.Облаке. Часть 2 И снова здравствуйте! Продолжаем нашу серию статей про то, как мы щупали Яндекс.Облако. Давайте вспомним план, по которому мы с вами двигаемся: 1 часть. Мы определились с ТЗ и архитектурой решения, написали приложение на golang. 2 часть (вы сейчас здесь). Выливаем наше при...

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

Моделирование отказоустойчивых кластеров на базе PostgreSQL и Pacemaker Введение Некоторое время назад передо мной поставили задачу разработать отказоустойчивый кластер для PostgreSQL, работающий в нескольких дата-центрах, объединенных оптоволокном в рамках одного города, и способный выдержать отказ (например, обесточивание) одного дата-центра. ...

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

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

Видео: как Ori and the Will of the Wisps будет выглядеть на Xbox Series X в 120 кадров/с Корпорация Microsoft и студия Moon показали, какие улучшения получит приключенческий экшен-платформер Ori and the Will of the Wisps на консоли следующего поколения Xbox Series X. Версия Ori and the Will of the Wisps будет работать в разрешении 4K при частоте 120 кадров/с. Та...

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

[Из песочницы] Хакинг классического Sonic the Hedgehog для Sega В этой статье я хочу разобрать внутреннее устройство легендарной игры Sonic the Hedgehog для приставки Sega Mega Drive, а также способы ее модификации или, как еще говорят, хакинга. Эта игра насчитывает порядка сотни хаков, включающих как действительно достойные работы (таки...

Google представила альфа-версию Flutter для Windows На протяжении нескольких лет Google работает над кроссплатформенным проектом Flutter с открытым исходным кодом, который позволяет создавать красивые и высокопроизводительные мобильные, веб и настольные приложения для любой платформы. Flutter быстро набирает популярность, и ...

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

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

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

Датчик измерения угла натяжения 3D нити Ребята всем привет. давно я не писал тут ничего и решил рассказать о  своем хобби. Я уже давно собираю экструдер и уже не первый. каждый раз меняю что то в нем и пробую что то новое. особой потребности в прутке 3д нити у меня нет и мне просто интересно что то делать околотем...

[Перевод] Улучшение Python-кода: 12 советов для начинающих В мои обязанности входит наём Python-разработчиков. Если у заинтересовавшего меня специалиста есть GitHub-аккаунт — я туда загляну. Все так делают. Может быть, вы этого и не знаете, но ваш домашний проект, не набравший ни одной GitHub-звезды, может помочь вам в получении раб...

[Из песочницы] Чистая архитектура с Typescript: DDD и слоистая архитектура Привет, Хабр! В последнее время уделяю много внимание архитектуре и решил поделиться с сообществом переводом статьи Clean Architecture with Typescript: DDD, Onion автора André Bazaglia. Введение На протяжении более 6 лет моего профессионального опыта, я имел возможность раб...

[Из песочницы] Карманное руководство по Z3 Преамбула "Человеческий мозг это пустой чердак. Дурак так и делает: тащит туда нужное и не нужное. И наконец наступает момент, когда самую необходимую вещь туда не запихнешь, или наоборот не достанешь..." В.Б. Ливанов (из к/ф "Шерлок Холмс и доктор Ватсон&qu...

5 фактов о Windows 10X: контейнеры, универсальные приложения, приложения Win32 Компания Microsoft представила новую информацию о работе операционной системы Windows 10X. Ещё она выпустила эмулятор, благодаря которому разработчики могут начать оптимизировать свои приложения под устройства с двумя экранами. Главная новость заключается в том, что Windows ...

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы Привет Хабр. Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не ...

[Из песочницы] Rust Embedded. Разработка под процессоры Cortex-M3 на примере отладочной платы STM32F103C8T6 (Black Pill) Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal). В этой статье, мы рассмотрим компоненты, которые необходимы для начала разработки п...

В нативный код из уютного мира Java: путешествие туда и обратно (часть 1) Java и другие управляемые языки просты и удобны во многих случаях, но иногда их возможностей недостаточно — например, если нужна библиотека, написанная только на C или C++. Иногда хочется позвать пару методов из системного API, или попытаться улучшить производительность для...

Почему сотрудники компаний так любят технику Apple (и как это использовать) Большинство сотрудников выбирают технику Apple. И на то есть свои причины Почему многие выбирают технику Apple? Пожалуй, ответ на этот вопрос вряд ли можно уместить в одну статью. С точки зрения обычного пользователя все более или менее очевидно: те же компьютеры Mac гораздо...

Работа в Google. Из Украины в Кремниевую долину Он решил пару математических задач и устроился на стажировку в Facebook, уехал из Украины в Кремниевую долину, перешел в Google и теперь работает из дома 4 дня из 5. Мы пообщались с Вовой, инженером компании Google, который поделился историей, как он попал на стажировку в Fa...

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

[Перевод] Какую кибердеку я бы хотел сделать для себя Перевод статьи из блога AbcLinuxu В 2016 году я создал сабреддит /r/cyberDeck. Отчасти потому, что меня вдохновила статья о создании кибердеки, а отчасти из-за нескольких обсуждений в IRC, в которых я принимал участие, и поскольку мне кажется, что эта идея – нечто большее, ...

Результаты опроса по использованию Экспресс-панели Всем привет! Уже становится традицией проводить по пятницам небольшие опросы в нашем блоге. Традиция хорошая и потому, что позволяет немного отвлечься от работы, длившейся всю неделю, и потому, что даёт разработчикам некую полезную информацию, которая впоследствии может б...

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

[Перевод] Генерация подземелий в Binding of Isaac Binding of Isaac и её ремейк Binding Of Isaac: Rebirth — одни из самых любимых для меня игр. Они относятся к жанру roguelite twin stick shooter и очень похожи на Enter the Gungeon. Особенно знамениты подземелья, генерируемые этими играми. В Интернете я видел бесчисленное к...

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

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

Сможем ли мы выжить без интернета? Как вы думаете, мы все еще те самые люди которые бродили по земле тысячи лет, или мы стали новым обществом — обществом ОНЛАЙН? Почти как в культовом фильме Матрица. Я давно думал, что мы очень зависим от интернета, но не задумывался насколько. Давайте посмотрим правде...

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

[Перевод] Создание псевдотрёхмерной гоночной игры: реализация холмов и готовая игра Часть 3. Холмы В предыдущей части мы создали простую псевдотрёхмерную гоночную игру, реализовав в ней прямые дороги и кривые. На этот раз мы займёмся холмами; к счастью, это будет намного проще, чем создание искривлённых дорог. В первой части мы использовали закон подобны...

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

На следующей неделе состоится релиз приключения The Liar Princess and the Blind Prince За последнее время издатель NIS перенес довольно много интересных проеков на iOS и Android, включая htoL#NiQ: The Firefly Diary и Disgaea 1 Complete. Сегодня компания анонсировала, что приключение The Liar Princess and the Blind Prince выйдет на мобильных на следующей неделе...

Разработчики Litecoin анонсировали запуск тестнета с решением MimbleWimble Главный разработчик проекта внедрения протокола Mimblewimble (MV) Дэвид Беркетт сообщил о начале интеграции его кода в созданную для этого тестовую сеть Litecoin. Информация об этом размещена на форуме сообщества Litecointalk. Беркетт заявил о создании экспериментальной моде...

Фанат LEGO работал шесть лет над игрой Bionicle: Quest for Mata Nui Bionicle: Quest for Mata Nui — это фанатская игра в жанре экшен по одноимённой серии игрушек от компании LEGO. Под видео, которое предоставил создатель игры, есть множество комментариев. Некоторые пишут, что если бы они увидели такую игру в детстве, то потратили бы на неё лю...

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

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

Kubernetes в духе пиратства: наш путь к микросервисам и готовый шаблон для внедрения Привет, я Юрий Буйлов, занимаюсь разработкой в CarPrice, а также внедряю практики DevOps, микросервисы и Kubernetes. Хочу рассказать про Kubernetes в духе пиратства — только не про управление большим красивым кораблем на парусах, а, скорее, про флот маленьких неприглядных ...

Можете написать Deadlock на Camunda BPM? А я могу Некоторое время назад я писал про успешную миграцию с IBM BPM на Camunda, и теперь наша жизнь полна счастья и приятных впечатлений. Camunda не разочаровала, и мы продолжаем дружбу с этим BPM-движком. Но, увы, Camunda может преподносить и неприятные сюрпризы, из-за которых ...

Это устройство поможет людям прикоснуться к объектам в виртуальной реальности Доводилось ли вам бывать внутри виртуальной реальности? Сегодня сделать это довольно легко, купив специальный шлем для игровой консоли или же посетив какую-нибудь игровую выставку. Нет сомнений, что VR-игры это отличное развлечение, которое может дать больше впечатлений, че...

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

Опыт работы с карт-принтерами, часть 1 Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось ...

[Из песочницы] Пример SPA «Простые заметки» на Mithril.js Mithril.js — непопулярный инструмент для создания клиентских веб приложений. На Хабре практически нет публикаций по этой теме. В этой заметке я хочу показать, как можно сделать небольшое приложение на Mithril. Приложение будем делать по мотивам вот этой публикации (перевод)...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

Почему я не поддерживаю новый тренд в мире Android Я знаю немало ребят, которые до сих пор пользуются старыми устройствами без трендовых фишек. Очень многие все еще ходят с Xiaomi Redmi 5 Plus, который в свое время неплохо так бомбанул. Но времена меняются, вместе с ними меняются и телефоны, предлагая пользователю различные...

Какие навыки нужны для создания iOS-приложения? Доклад Яндекса Мобильному разработчику нужно обладать понятным набором навыков. Рассказывать о них нужно в контексте конкретных задач, которые возникают по ходу создания и публикации приложения. Артур Антонов работает iOS-разработчиком в отделе машинного перевода Яндекса. В своём докладе д...

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

[Из песочницы] Расчет временных ограничений для ПЛИС простым языком Здравствуйте. Эта статья написана для самых-самых новичков в мире ПЛИС. В ней я попытаюсь максимально просто и понятно рассказать что такое временны́е ограничения (timing constraints), накладываемые на проекты под ПЛИС. Статья создана на основе собственного опыта попыт...

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

Литофания-Остров-Горы-корабль_Петра1_Гото_Предестинация_лампа_Е14_(STL+SolidWorks) Для создания литофании использовал программы модель:https://3dtoday.ru/3d-models/for-home/decoration/litofaniya-ostrov-gory-korabl-petra1-goto-predestinatsiya-lampa-e14-stlsolidworks2018PaintXnViewpixilr.comlithophanemaker.comSolidWorks 2018CuraВ Paint редактировал картинки,...

readable — еще один линтер для PHP Хочу представить линтер для PHP readable. Сейчас в нем 16 правил, которые должны улучшить читабельность кода. К основным преимуществам можно отнести: скорость — меньше секунды на 1000 файлов настройка baseline — можно не исправлять все ошибки в проекте сразу, а создать конф...

Башни Кремля в объятьях гидры: конференция о параллельных и распределённых вычислениях Hydra 2020 в Москве В прошлом году в Санкт-Петербурге прошла первая конференция Hydra, посвящённая параллельным и распределённым системам. С докладами выступали лауреаты премии Дейкстры и премии Тьюринга (Лесли Лэмпорт, Морис Херлихи и Майкл Скотт), создатели компиляторов и языков программирова...

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

Проект "Литофания" Ребенок у меня написал проект и сделал светильник.Для начала нам нужно будет создать цифровую модель литофана. Существует несколько способов преобразовать фото в 3D модель для печати литофана. Мы попробуем три способа:- онлайн конвертер Image to Litophane.- софт Cura версия...

Вариант работы с вебсокетами в iOS на языке Swift / Написал менеджер для работы с websocket Всем привет. 4 года назад я уже разбирался с вебсокетами в iOS, тогда я решил задачу с помощью одной из библиотек cocoapods, статья есть на Хабре. А сегодня хочу продемонстрировать еще одно решение, нативное без cocoapods. Я написал свой менеджер для работы с вебсокетами ...

Apple Music стал похож на Spotify в iOS 14. Какой сервис выбрать? Я плачу за Apple Music с момента запуска сервиса в России в 2015 году. Причем вскоре Apple Music пришелся по вкусу многим в нашей семье, и пришлось оформлять семейную подписку. Несмотря на то, что я давно пользовался музыкальным сервисом Apple и сформировал там собственную ...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

[Перевод] Создание блога с помощью Nuxt Content (часть первая) От переводчика: Я собирался сделать собственную статью по Nuxt Content, но наткнулся на готовую статью, которая отлично раскрывает тему. Лучше у меня вряд ли получится, поэтому я решил перевести. Написал автору в твиттер и практически сразу получил согласие. Статья будет с ...

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

Чем заменить стандартные приложения на iPhone? Попробуйте эти Ежедневно мы вручную отбираем для вас лучшие предложения из App Store, которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Сегодня в подборке у нас приложения, которые запросто могут да...

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

Подготовка к учебному году вместе с приложением «Школа Сов» С нынешним темпом жизни родителям очень сложно найти свободное время, чтобы позаниматься со своим малышом. А ведь чуть больше месяца осталось до начала нового учебного года! Поэтому ребенка необходимо подготовить к этому, чтобы он не забыл все пройденное за одно лето (и так...

Где стажировку проходили, там и работайте — 4 истории стажёров Сбербанка Это истории тех, кто учится в «Школе 21», успешно прошёл стажировку и остался работать в Сбербанке. Я уже рассказывала, что этот проект — путь в IT и он крайне эффективен. Если очень коротко — мы научились готовить джунов с нуля за год, делая упор на soft skills. Учиться н...

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

В App Store начали раздавать платные приложения, успейте скачать Ежедневно мы вручную отбираем для вас лучшие предложения из App Store, которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Сегодня в подборке у нас три игры совершенно разных жанров, ко...

На Gamescom 2020 дебютировал трейлер мобильной MMORPG Summoners War: Chronicles Ранее мы уже писали о мобильной MMORPG под названием Summoners War: Chronicles. Её разработкой занимается студия Com2uS, которая до этого работала ещё над такими проектами, как Skylanders: Ring of Heroes и Ace Fishing. На её долю приходились и другие части из серии Summoners...

UGrid: красивый CollectionView UGrid — аналог UICollectionView, только с ячейками трех разных размеров. Их (размеры) можно определять в коде для каждого элемента, а библиотека сама разместит их так, чтобы не оставалось пустого места. Библиотека: https://github.com/AramSemerjyan/ugrid

[Перевод] Джоел Спольски: Уровень абстракции для разработчиков 11 апреля 2006 В город приезжает молодой человек. Он хорошо выглядит и имеет немного денег в кармане, ему легко найти общий язык с женщинами. Он мало говорит о своем прошлом, но очевидно, что он провел много времени в бездушной большой компании. Он разумеется дружелюбны...

5 видеоуроков Теплицы, которые стоит посмотреть Автор видеоуроков на Теплице Вова Ломов собрал пять лучших видеоуроков 2019 года. Научитесь сами создавать мобильное приложение, делать спецэффекты и дизайн, а также запускать краудфандинговую кампанию на Planeta.ru. WikiTribune: новая социальная сеть без алгоритмов ...

[recovery mode] Переезд от jQuery к Svelte, без боли Всем привет. Я бэкэнд разработчик и фронтэнд задачи решаю как умею, то есть на jQuery, это работало в 2015, работает и сейчас. Но при наличии Vue и React это уже не камильфо. Из любви к особому пути я решил осваивать не проверенный миллионами разработчиков Angular/React/Vue...

Роутинг в комплексных чат-ботах с Hobot framework Начав разрабатывать боты для Telegram несколько лет назад, я открыл для себя производительность, простоту и гибкость работы с ними как с частным случаем интерфейса командной строки. Эти характеристики, доступные сегодня многим — во многом заслуга популярного фреймворка tel...

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

10 причин, по которым Chromebook полезен для бизнеса Chromebook, возможно и стартовал медленно, но быстро набирает силу. Посмотрите, какие преимущества он может предложить вашему бизнесу. Chromebook изначально был встречен с презрением и негативными отзывами в свой адрес. Это изменилось. Работая на основе Linux и продаваясь по...

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

[Из песочницы] Большое тестирование процессоров различных архитектур Предисловие Попытка сравнить производительность процессоров на разнородных архитектурах x86-64, e2k (Эльбрус), mips и arm. Все тесты написаны на языке C (взяты из исходных кодов, которые я не модифицировал и не оптимизировал) и компилируются под конкретную архитектуру с испо...

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

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

[Из песочницы] Коронавирус: мы все умрём? Что мы говорим Богу смерти? — Не сегодня. Сирио Форель, сериал «Игра престолов». Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в ...

DevOps для разработчиков (или против них?!) Подход DevOps качественно изменил процесс разработки. Если раньше программисты только писали код и прогоняли тесты, то теперь они участвуют и в развертывании проектов на продакшен. Звучит так, будто сисадмины решили переложить свои заботы на плечи разработчиков, не так ли?...

[Перевод] Мотор! или Что такое игровая физика Разработчикам при создании игры приходится искать баланс не только в механиках, но и в физике. Реализм или аркада? В общем-то, кому что нравится. Главное — фан и удовольствие. Нужно создать фундаментальные законы своего мира, и объяснить, что возможность ходить по потолку ...

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

Честный отзыв про отзывы на IT-волонтере Как работает система отзывов в Интернете на выполненную работу? Зачем нужен отзыв на it-волонтере? В этой статье рассказываю про свой опыт работы на платформе, впечатления о работе с авторами задачи и отзывы на мою работу. О платформе «IT-волонтер» «IT-волонтер» – это...

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

MIUI 12 уже «обокрали». Красивые живые обои можно установить на любые Android-смартфоны MIUI 12 уже могут опробовать все владельцы Xiaomi и Redmi Наши коллеги с сайта XDA-Developers опубликовали ссылки на бета-версии новейшей прошивки MIUI 12 на базе операционной системы Android 10 или Android 9 (в зависимости от модели) для смартфонов Xiaomi и Redmi. Ком...

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

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

Orbitkey Nest – коробка с зарядным устройством в крышке, на выпуск которой уже собрано почти 600 000 долларов На сайте Kickstarter завершается сбор средств на выпуск изделия, которое называется Orbitkey Nest. Это «портативный настольный органайзер» или проще говоря, небольшая пластиковая коробка, в которую можно сложить неиспользуемые провода, зарядные устройства, ф...

Вотермарка для iPhone и учебник английского: бесплатные приложения в App Store Ежедневно мы вручную отбираем для вас лучшие предложения из App Store, которые становятся бесплатными или распространяются с большой скидкой. Каждый день новые и лучшие приложения для ваших iPhone, iPad или Mac. Сегодня по скидке раздают приложение для добавления водяных зн...

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

Пишем «калькулятор» на C#. Вычисление значения, производная, упрощение, и другие гуси Привет! Калькулятор у нас почему-то ассоциируется с чем-то, что должен написать каждый новичок. Возможно потому, что исторически компьютеры с той целью и создавались, чтобы считать. Но мы будем писать непростой калькулятор, не sympy конечно, но чтобы умел базовые алгебраиче...

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

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Power-line communication. Часть 1 — Основы передачи данных по линиям электропередач Не так давно передо мной встала нетривиальная задачка — собрать устройство, которое могло бы по линиям электропередач (0,4 кВ), в сетях обычных бытовых потребителей, передавать некоторую информацию, а точнее — показания электросчетчиков. Перед началом работы над создание...

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

Проект LLHD — универсальный язык описания аппаратуры Буквально на днях на arXiv-е была выложена очень занятная статья швейцарских исследователей, в которой представлены подробности проекта LLHD. Это проект создания многоуровневого промежуточного представления для языков описания аппаратуры, наследующий идеологию и принципы про...

Почему мобильным приложениям скоро придёт конец Android-приложениям скоро придёт конец? Мобильные приложения являются неотъемлемой частью как iOS, так и Android. И с чего мы это решили, что им придёт конец? Всё дело в PWA (Progressive Web Apps). Это веб-приложения, построенные на фронтенд-технологиях (HTML, CSS, JavaScrip...

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

Бизнес-эксперт и программирование. Совмещать нельзя разделять Привет! Меня зовут Виктория Краснова, я не так давно писала большой пост про data-driven в нефтехимии. Но там было про сам подход и систему. Давайте сегодня поговорим о тех, кто этой системой будет пользоваться (и кто будет её улучшать). То есть о людях. Вообще же, про data...

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

Автоматизация сбора купонов для бесплатной литературы Предыстория На ЛитРес есть система бонусов и купонов, которые появляются с завидной регулярностью. Чтобы сделать приятное жене, да и в целом может найти себе интересную книжку, начал мониторить сайт в котором появляются свежие купоны и скидывал их в телеграм. Но буквально сп...

CI TeamCity — Автоматизация build процессов Android и UI тестирования В этой статье предлагаю Вашему вниманию инструкцию по установке и настройке TeamCity для автоматизации сборки и тестирования Android проектов под Windows. Также буду уделять внимание особенностям настройки environment’а под Android проект (которые находил в процессе исследо...

Google представила новые анимации для Android Помните презентацию Android Lollipop, на которой нам показывали Material Design со множеством крутых анимаций? С тех пор, конечно, интерфейсы приложений действительно стали «материальными», но вот с анимациями как-то не задалось. Ситуацию может изменить новая moti...

Встраиваемый компьютер AntexGate. От прототипа к серийному производству Не так давно мы с командой разработали небольшой встраиваемый компьютер для решения задач IIoT и промышленной автоматизации. Первую статью о нашем устройстве можно посмотреть здесь. Разрабатывать устройство решили на распространенном и оттестированном модуле Raspberry CM3...

[Перевод] 8 продвинутых возможностей модуля logging в Python, которые вы не должны пропустить Понимайте свою программу без ущерба для производительности Журналирование — это очень важная часть разработки ПО. Оно помогает разработчикам лучше понимать выполнение программы и судить о дефектах и непредвиденных сбоях. Журнальное сообщение может хранить информацию наподоб...

[Перевод] Дебажим PHP-контейнер с помощью Xdebug и PhpStorm Перевод статьи подготовлен в преддверии старта курса «Backend-разработчик на PHP». Инструкция Docker #9: xdebug Я создам очень простую php-страницу и подебажу ее с помощью xdebug и PhpStorm. Исходные файлы можно найти здесь: github.com/ikknd/docker-study в папке recipe...

[Перевод] Как создать проект Django из шаблона И снова здравствуйте! Специально для студентов курса «Web-разработчик на Python» мы подготовили еще один интересный перевод. Шаблон проекта на Django – это естественный способ решения проблем, которые возникают, когда формат Django-проекта по умолчанию уже не отвечает тр...

Работа с базами данных глазами разработчика Когда вы разрабатываете новый функционал с использованием базы данных, цикл разработки обычно включает следующие этапы (но не ограничивается ими): Написание SQL миграции → написание кода → тестирование → релиз → мониторинг. В этой статье я хочу поделиться некоторыми практ...