Социальные сети Рунета
Пятница, 10 мая 2024

Книга «Объектно-ориентированный Python, 4-е изд.» Привет, Хаброжители! Глубоко погрузитесь в различные аспекты объектно-ориентированного программирования на Python, паттерны проектирования, приемы манипулирования данными и вопросы тестирования сложных объектно-ориентированных систем. Обсуждение всех понятий подкрепляетс...

Ваша карта не будет бита: как добавить Impact Map, CJM и USM в документ и не пострадать Наверняка у многих бизнес-аналитиков есть цель использовать особые артефакты: Impact Map, CJM (Customer Journey Map), USM (User Story Map). Особые, т. к. не так часто они встречаются в бизнес-требованиях, и даже бывалый аналитик может с непривычки растеряться, если не создаё...

[Перевод] Как стать программистом графики: советы команды AMD Game Engineering Очень часто нас спрашивают о хороших веб-сайтах для новичков по изучению программирования графики. Разумеется, мы бы с радостью порекомендовали GPUOpen, но правда в том, что основная целевая аудитория GPUOpen — программисты среднего или высокого уровня. Для только начинающих...

Я мыслю MOV EAX, 1 Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы ...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

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

Нововведения Zig версии 0.12.0, которые стоит упомянуть По случаю выхода версии 0.12.0 языка Zig я снова решил написать статью об этом языке. И в этот раз о том, что изменилось в языке относительно версии 0.11.0. Сразу уточню, что я не буду описывать все изменения. Ссылка на примечания к выпуску под цифрой выше. Список изменений ...

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

Парадигму UNITS в массы У первой статьи («Реальность существует и это надо учитывать») были очень интересные и содержательные комментарии, среди которых были озвучены идеи о необходимости примеров. С одной стороны это правильно, потому что на примерах можно вырабатыват...

Java Тренажер Хочу представить вашему вниманию бесплатный курс Java Тренажер, который недавно опубликовал на платформе Stepik.Java — это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (позднее приобретённой компанией Oracle). Он был выпущен в 1995...

[Перевод] Люди не понимают ООП «ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1 Похоже, многим не нравится объектно-ориентированн...

[recovery mode] KolibriOS: пробуем ассемблер Решил потренироваться на ассемблере под x86 и выбор мой пал на KolibryOS. Ведь как-никак это ОС была написана на ассемблере и для использования ассемблера. И я хотел именно из самой KolibriOS писать код. Но... Наверное, зря я это всё затеял.Как оказалось, примеров кода не ма...

[Перевод] Актуально ли сегодня ООП? Почти каждый день возникают дискуссии с критикой или восхвалением объектно-ориентированного программирования. «Java устарела!», «Java потрясающая!». В этой статье я проведу прагматичное исследование ООП на 2024 год. Термин объектно-ориентированное программирование придумал...

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

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

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

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

Что я понял на первой работе программистом / Мои советы Junior-разработчикам Всем привет! Меня зовут Максим. Я backend-разработчик, который не так давно устроился на свою первую работу. В этой статье хочу поделиться своими наблюдениями/советами/рекомендациями для начинающих программистов. Ведь, как известно, если опыт не превращён в текст, он даже не...

Нельзя писать безопасный код на C++ без санитайзеров С++ видится мне огромным франкенштейном: очень уж много разнообразных способов описать свои намерения. В добавок к этому язык пропагандирует политику zero-cost abstractions, из которой следует (помимо прочего), что программист в ответе за все св...

[recovery mode] Паровозик, который смог (генеративные нейросети, в частности Stable Diffusion, что это и зачем) В статье рассказывается в общих чертах о том, что такое генеративные нейросети с точки зрения занимаемой ими ниши и в контексте их применения и задач, которые они способны решать (с примерами в Stable Diffusion). Читать далее

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

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

Celery: изучаем на реальных примерах ч.1 Лучший способ что-то понять - попробовать на практике, а лучшая практика - это реальные примеры. В этой статье мы узнаем шесть основных сценариев использования Celery. Разберем основные методы и аргументы, которые точно пригодятся. От асинхронной обработки задач до управлени...

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

[Перевод] Наклонные края с постоянным углом в CSS Данный материал – перевод статьи "Sloped edges with consistent angle in CSS" Килиана Валхофа. Мне, как начинающему forntend-разработчику, этот материал был интересен. Полагаю, эта статья будет полезна и другим начинающим или обучающимся фронтендерам. Читать далее

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

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

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

Покрытие архитектуры as Code тестами

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

А/Б тестирование с CUPED: детальный разбор Хабр, привет! Сегодня обсудим, как применять CUPED для повышения чувствительности А/Б тестов. Рассмотрим на простом примере принцип работы CUPED, покажем теоретически за счёт чего снижается дисперсия и приведём пример оценки эксперимента. Обсудим, как выбирать ковариату, как...

Семантический поиск и генерация текста на R. Часть 1 Для этой задачи использую LLM (Large Language Models - например, chatGPT или opensouce модели) для внутренних задач (а-ля поиск или вопрос-ответную систему по необходимым данным).Я пишу на языке R и также увлекаюсь NLP (надеюсь, я не один такой). Но есть сложности из-за того...

Как написать идеальный запрос для ChatGPT Управление промтами – важный навык для работы с нейросетями. Однако иногда не знаешь, как лучше их прописать. В результате ответы, генерируемые чат-ботами, оказываются очень общими и неточными.Я потратил много часов на различные курсы по промт-инжинирингу и постоянно тестиро...

[recovery mode] Как заниматься английским языком самостоятельно: гайд по самостоятельному изучению грамматики для начинающих Вы хотите начать заниматься английским, но пока по какой-то причине не готовы записаться на курсы или найти преподавателя по английскому языку. Но вы готовы уделить какое-то время, чтобы изучать язык самостоятельно, в своем темпе, чтобы если вдруг где-то в будущем вам язык п...

[Перевод] Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример.Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна...

Вся мощь паттернов в Wolfram Language Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет. В этой статье я постар...

Введение в Apache Flink: осваиваем фреймворк на реальных примерах Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет ...

Рассчитываем оптимальный бэклог спринта с использованием методов линейного программирования Сталкивались ли вы с понятием линейного программирования? А его применением на практике? В университете мы изучаем разные разделы математики, нам рассказывают про математические модели и методы, однако вопросу их практического применения часто уделяется недостаточно внимания...

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

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

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

В закладки: 50+ полезных ссылок для начинающего QA-инженера Привет, Хабр! Меня зовут Кристина. Я работаю в Яндекс Практикуме ревьюером на курсе «Инженер по тестированию», ментором тестировщиков в Мастерской программирования и руководителем соревновательных видов IT-практики (багатонов, хакатонов и кейс-чемпионатов).В этой статье я по...

Spark не для чайников: где? Apache Spark уже давно перестал быть просто технологией и превратился в своего рода стандарт для обработки больших данных. Этот фреймворк, сочетающий в себе скорость, надежность и масштабируемость, вышел далеко за пределы простого инструмента, превратившись в надежного партн...

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

[recovery mode] Решаем дифференциальные уравнения с помощью Python часть 1 Начнем пожалуй с того, что решать дифференциальные уравнения вручную может быть не совсем просто. На данном ресурсе http://mathprofi.ru/differencialnye_uravnenija_primery_reshenii.html есть шпоры как это делать вручную, там есть множество подсказок по различным разделам высш...

Frontend. Чистые и грязные компоненты Здравствуйте!Коротко о чем тут, чтобы вы могли понять, нужно ли оно вам или нет.Тут я описываю то к чему я пришел в разработке именно компонентов и какой подход использую. Материал может быть полезна скорее для новичков и не обязательно в React, потому что этот подход подойд...

[Перевод] Common Table Expressions Common Table Expressions (CTE) или обобщенное табличное выражение, впервые появилось в версии SQL Server 2005, и это простой способ разбить сложный запрос T-SQL на несколько запросов, что придаёт больше гибкости и управляемости. CTE во многом очень похожи на представлен...

Ключи в базе данных: практический обзор для начинающих системных аналитиков Всем привет! Меня зовут Оксана, я системный аналитик из компании EvApps. Что побудило меня написать эту статью? Я обучаю стажеров – системных аналитиков, и недавно столкнулась с такими вопросами, о которых раньше даже не задумывалась.Вопросы были связаны с разными видами клю...

[Перевод] Программирование вне парадигм Со времени изобретения высокоуровневых языков программирования в отрасли доминируют парадигмы. Именно парадигмы, от императивных до объектно-ориентированных и функциональных – в основном формируют современный дискурс, касающийся языков программирования. Читать дальше →

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

Многоуровневая группировка в SQL: Grouping sets Описан основной принцип работы конструкции Grouping sets в SQL на примере. Статья будет полезна для тех, кто хочет быстро разобраться с основными принципами группировки с использованием Grouping sets. Читать далее

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

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

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

35+ бесплатных ресурсов для начинающих разработчиков С++ Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разрабо...

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

Наш опыт Android- и iOS-разработки в проекте Посмотрим на текущую ситуацию с разработчиками Android и iOS‑приложений. Обсудим варианты разработки мобильных приложений. Разберемся, как мы в стартапе NFCKEY работаем в этом направлении. Затронем особенности, которые возникают в связи с у...

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

Kafka, go и параллельные очереди В этой статье я расскажу о паре способов увеличить пропускную способность системы с помощью партиций kafka и каналов go. В качестве библиотеки-клиента kafka буду использовать segmentio/kafka-go. Статья будет полезна начинающим go-разработчикам, которые уже знакомы с основным...

Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте...

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

Диспетчер Задач для Микроконтроллера В программировании микроконтроллеров часто нужно написать простые тестировочные прошивки. При этом надо некоторые функции вызывать чаще, а некоторые реже. Для этого, конечно, можно запустить FreeRTOS, однако тогда этот код не будет переносим на другие RTOS например Zephyr RT...

Reflection в iOS: как посмотреть содержимое любой сущности В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего...

Принцип работы контроллера памяти в процессоре на примере Эльбрус 16С В этой статье разберём как устроена работа контроллера памяти в процессоре беря за пример Эльбрус 16С. Краткий разбор.

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

Code smells — обзор на примере PHP Hola, Amigos! Меня зовут Евгений Шмулевский, я PHP-разработчик в агентстве заказной разработки Amiga. В этой статье хотелось бы рассмотреть вопрос качества кода и что из рекомендаций по нему лично для себя использую. Статья адресована начинающим разработчикам. Читать далее

Как я за месяц написал интерпретируемый язык программирования на Python Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.ПредысторияМне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом ...

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

[Перевод] Что нужно знать, чтобы успешно пройти System Design Interview Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) вклю...

Путь от преподавателя английского к AI Product Manager Всем привет, меня зовут Оля Шерстюк, раньше я была преподавателем английского языка, но начиная с 2023 года решила поменять свою деятельность и перейти в IT, сейчас я учусь в магистратуре AI Talent Hub. Хочу поделиться с вами своей историей.В 2023 я зачеркивала дни в календа...

[Перевод] Сколько строк на C нужно, чтобы выполнить a + b в Python? В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсбер...

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

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

Метод SMART. Что это и почему про него важно знать руководителю? Привет! Меня зовут Лера, я в управлении проектами уже 7 лет. Реализовывала проекты на стыке AR/VR/ML-технологий в сервисной компании. Сейчас работаю в EdTech и параллельно занимаюсь менторством начинающих проджектов и руководителей.Прежде чем мы перейдем к основной...

По KPI По KPI (он же КПИ или КПЭ).Как говориться – все писали, теперь и я напишу ))).Новый год опять же… взывает. Прошу прощения заранее, если кому на больной мозоль наступил. Столько всего и разного поломано на эту тему, что просто, наверное, смысла нет писать, однако свербит мысл...

Реализация многофункционального терминального интерфейса для МК AVR В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью р...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Библиотека Granite от elementary OS На данный момент существует множество различных операционных систем на базе ядра Linux. Буквально на любой вкус. Некоторые операционные системы пользуются уже готовыми графическими оболочками, а другие создают свои. В дистрибутиве elementary OS применяется свое окружени...

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

Миландр + GCC + VSCode. Пробуем мигать светодиодом на отечественном ARM32 микроконтроллере Год назад я написал статью об отладке STM32 микроконтроллеров из под VSCode, с компиляцией в GCC и сборкой с помощью CMake. А в декабре мне в руки попали две тестовые единицы отечественных микроконтроллеров К1986ВЕ92FI (MDR1211FI1). Производитель имеет свою библиотеку SPL на...

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

Кодирование числа в Micro QR Code версии М1 Задача: необходимо прочитать Micro QR Code версии М1, содержащее кодовое слово, состоящее из цифр (на примерах – 7, 77, 777, 7777 и максимальное кодовое расстояние – 77777) на основе алгоритма, приведенного в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4.3, пример 2). Данный режим невоз...

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

Albumentations: XYMasking Короткая версияПосле длинного вступления, будет туториал по применению аугментации XYMasking к спектрограммам от ЭЭГ. Кто экономит время - код с примерами можно найти по ссылке в документации библиотеки. Длинная версияAlbumentations - это Open Source библиотека для аугментац...

[Перевод] NumPy: оттачивайте навыки Data Science на практике В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты ку...

Task и structured concurrency в swift В данной части из серии статей про Swift concurrency мы подробно остановимся на сущности под названием Task и разберем на примерах, как с ней работать. Также поговорим про structured concurrency. Что это такое, как это понятие связано с Task и почему механизмы языка async/a...

[Перевод] Анализ «Пяти неправд» «Пять почему» — это распространённый метод исследования первопричин события. Он основан на предположении, что задав вопрос «почему» пять раз, можно найти ответ, который и будет являться первопричиной. Программист Сергей Целовальников* уверен: такая практика может оказаться п...

BDUI: sapere aude или продолжай писать на коленке Backend Driven UI — относительно новая парадигма создания приложений. Она позволяет сделать продукт индивидуально полезным для каждого пользователя. На личном опыте я убедился, что это очень важно в современном процессе мобильной (и не только) разработки.В данной статье я по...

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

Don't Repeat Yourself: Как правильно использовать принцип DRY в разработке ПО Принцип “Не повторяйся” (Don't Repeat Yourself, или DRY), то есть избегай дублирования кода, часто относят к обязательным практикам в программировании. Однако в реальности часто можно увидеть, как в общем коде оказываются концептуально разные блоки, которые похожи только по ...

OpenAPI/Swagger для начинающих Эта статья в основном для аналитиков, которые впервые сталкиваются с необходимостью описания запросов в Swagger, но может быть полезна всем, кто хочет разобраться или ищет подсказку. Читать далее

Компьютерное зрение сквозь года Как-то я столкнулся с довольно тривиальной, но новой для себя задачей - оптического распознавания символов (OCR). Так сложилось, что готовые инструменты (типа tesseract-ocr) мне не подошли, поэтому пришлось изобретать велосипед. Но к этому процессу я решил подойти со всей от...

Как написать новостной Телеграм-канал если ты не программист. Часть первая Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я н...

Элементарный английский для Elementary — грамматика и не только Как определить, добились ли вы уровня Elementary? «Элементарный» уровень на самом деле подразумевает, что у вас хватило усердия, чтобы пройти в неспешном темпе как минимум 2 учебника в 200-300 страниц и потратить минимум год, непрерывно изучая английский язык, тратя три-четы...

«16+» или делаем шаблон страницы в XWiki на примере спецификации API Пусть вас не смущает надпись: «16+» в заголовке. В статье не будет ни слова о безудержном кутеже с куртизанками за игрой в блэк-джек.Просто я решил очередной статьей отпраздновать выпуск в свет 16-й версии XWiki – «open-source аналога Confluence» (по мнению её разработч...

Чему менеджеры по продукту могут научиться у Симпсонов Много статей написано о том как тренировать продуктовую насмотренность.Обычно они включают следующие пункты:• обучение,• расширение сети контактов для обмена опытом и идеями,• мониторинг трендов, конкурентов и пр.• практика, не только по рабочим кейсам, в идеале иметь ка...

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

Алгоритм MiniMax. Использование минимакса в Unity на примере игры Поймай Овечку Минимакс - популярный алгоритм для принятия решений в играх с нулевой суммой (один выиграл - другой проиграл). Казалось бы, раз он так популярен, то всё что можно было про него сказать уже сказано? Не совсем. Информация сильно раздроблена, иногда ошибочна, а найти какие-либо...

Распознавание, хранение и поиск лиц в базе данных В этой статье я максимально коротко и просто объясню принцип распознавания, хранения и поиска лиц в базе данных. В качестве примера будет использована библиотека Insightface и база данных PostgreSQL. Читать далее

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

Как и где практиковаться начинающему мобильному разработчику Всем привет! Меня зовут Миша Вассер. Я руковожу мобильной разработкой в AGIMA, а ещё я наставник и автор на курсе «Android-разработчик» в Яндекс Практикуме. Помню то время, когда я начинал заниматься разработкой, — материалы были в основном на английском, а специализированны...

Trait-объекты и полиморфизм в Rust Привет, Хабр! Полиморфизм - это принцип в программирование, который позволяет нам писать гибкий, масштабируемый и поддерживаемый код. В Rust, как и во многих других языках программирования, полиморфизм позволяет одному интерфейсу представлять множество реализаций.Один из спо...

Как программируются кассовые аппараты? Привет, Хабр! А вы когда-нибудь задумывались, каким образом ваша покупка на угловой заправке или в супермаркете превращается в акт, сохраняющийся в электронной памяти кассового аппарата? Эти устройства - настоящие живые свидетели каждой транзакции, но как они работают внутри...

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

Адаптивный дизайн приложений на Gtk Основные рабочие среды из мира GNU/Linux — это GNOME и KDE Plasma. До недавнего времени их можно было видеть только на десктопах, но сейчас эти окружения можно заметить и на мобильных девайсах. Эти девайсы не слишком распространены. Десктопный Linux встречается гораздо чаще....

Бесплатные курсы для изучения React в 2024 Существует множество бесплатных ресурсов и курсов, которые позволяют бесплатно изучать React и в 2024 году. Вот несколько причин, почему не стоит платить за курсы:1. Бесплатные ресурсы: Сообщество разработчиков предоставляет множество бесплатных материалов, таких как докумен...

От конструктора до облака: какие есть способы разработки мобильных приложений Привет! На связи Вася Крючков, уже больше 7 лет я занимаюсь разработкой мобильных приложений и сейчас работаю в компании IMSHOP.IO, где за 5 лет разработали больше 150 приложений для ритейла. За эти годы часто встречал случаи, когда е-com менеджеры и технические директора сл...

Kotlin (не) против Java: особенности компиляции в байткод В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с...

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

GET запросы на практике: правила, принципы и примеры Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, без...

Кодирование числа в Micro QR Code версии М2 (по ГОСТ) Задание: необходимо создать кодовое слово, состоящее из 8 цифр (на примере – 01234567) на основе алгоритма, приведенного в ГОСТ Р ИСО/МЭК 18004-2015 (п. 7.4.3, пример 2). Затем создать для полученного кода Micro QR Code вер. М2. Данный режим невозможно прочитать стандартными...

Обработка результатов статистических наблюдений с помощью толерантных интервалов Здравствуйте, уважаемые читатели!В статье хочу поделиться личным опытом использования толерантных интервалов для обработки результатов статистических наблюдений, привести некоторые примеры и дать краткое описание процедуры расчета с реализацией на языке Python. Может быть, к...

Пишем свой QTableView с нуля Итак жил был фреймворк Qt и последние 10 лет ничего в нем не менялось. И захотел один чел написать свой QTableView с нужным ему функционалом, а именно захотелось ему выводить ячейки в несколько рядов (по горизонтали) в одной строке. Ещё ему хотелось растягивать одну из ячеек...

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

Объектно-ориентированный подход к написани REST-клиентов, или возможна ли жизнь без Open API Как-то в общении с моим другом-разработчиком из одной крупной софтверной компании у нас зашёл разговор о взаимодействии распределённых команд. В его компании было множество достаточно изолированных команд, каждая из которых разрабатывала свой сервис. В ответ на мой вопрос, к...

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

[Перевод] Рекурсивные CTE Одним из наиболее важных применений CTE являются рекурсивные запросы, для которых CTE является фактически единственным средством реализации. Как отмечалось в предыдущей статье, в Books Online есть несколько примеров использования CTE, включая и рекурсивный CTE...

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

Python + pygame — небольшие оптимизации Приветствую IT-специалистов, решивших прочитать мою статью, я - python разработчик любитель (изучающий язык уже 5 лет, но не имеющий коммерческого опыта), который решил создать игру на очень медленном языке программирования. В процессе разработки я сталкиваюсь с различными п...

Как настроить gRPC на примере микросервисов на Ruby и Go Поделимся личным опытом, как у нас получилось организовать взаимодействие микросервисов на Ruby и Go на основе gRPC. Мы расскажем:- о преимуществах gRPC;- об особенностях работы с протоколом;- о трудностях, с которыми может столкнуться начинающий разработчик. Читать далее

Beego в Golang для начинающих Привет, Хабр!Beego – это фреймворк для разработки веб-приложений на языке Go, ориентированный на быстрое развертывание и простоту использования. В его основе лежит идея создания полнофункциональных приложений с минимум усилиям на настройку и кодирование. Это достигается за с...

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

Security Week 2340: адаптер для смартфона с нулевой приватностью На прошлой неделе журналисты издания 404 Media написали про адаптер для подключения смартфона Apple к внешнему монитору или телевизору с крайне сомнительным поведением с точки зрения приватности пользователя. Выскажемся конкретнее: такие устройства вообще не должны существов...

Проклятые Земли. Изменяем движок игры! Подробности + ПРИМЕР реверсинга движка Статья о том, как реверс-инжиниринг и разбор форматов могут не только расширить старую любимую игрушку, но и сделать из неё абсолютный шедевр, который будет смотреться уже в новом свете. Обзор уникальных фишек игры Проклятые Земли, исправление её лёгких недостатков и разбор ...

Шаблонизируй это или Как ускорить разработку при помощи одного документа Привет! На связи лид команды аналитиков Magnus Tech Владислава Никитина.В заказной разработке каждый проект начинается со сбора бизнес-требований к будущей системе. Это важный этап, ведь именно здесь определяются контуры задач, которыми займутся разработчики. И с ним связан ...

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнен...

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

Что делать, если кандидат оказался сеньором или психом: советы на случай форс-мажоров Меня зовут Александр Гирев, я Android-разработчик и технический интервьюер. В одной компании я выполнял роль interview expert: следил за качеством собеседований, готовил рекомендации и матрицы вопросов, обучал начинающих интервьюеров.Однажды на интервью я спросил кандидата, ...

Vector.dev: затащили в PoC Привет, Хабр.В одном из проектов, связанных с мониторингом, мы используем Clickhouse, Prometheus, VictoriaMetrics, Grafana, Alertmanager и Vector.dev. Кстати, что общего у всех этих компонентов? Они написаны не на Java – это было одним из требований проекта, но речь ниже пой...

Signal Integrity of DDR4 Доброго времени суток! Наверное, вы все знакомы с компьютерной оперативной памятью DDRx (где x - поколение). Я бы хотел вам рассказать о ней с точки зрения SI (Signal Integrity - целостность сигналов) и принципов трассировки этого интерфейса. Читая документацию на различны...

Это один из лучших подходов к изучению английского, что я видел за последние годы — коллокации Значение слова – это его использование в языкеЛюдвиг Витгенштейн (сурс) Что это вообще за магия такая? Коллокация – это просто пара или группа слов, которые часто возникают вместе. Такие комбинации звучат естественно для носителей языка, однако, тем, у кого язык не родн...

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

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

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

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

Путеводитель по DDoS: основные виды и методы борьбы Всем привет! На связи Николай Едомский, руководитель группы сетевых инженеров в ЕДИНОМ ЦУПИС.В этой статье я простыми словами расскажу о том, что из себя представляет DDoS, о самых распространенных видах DDoS и методах борьбы с ними. Основная цель материала – на простых прим...

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

Шпаргалка глаголов на английском языке при составлении тест-кейсов и заведении дефектов Автор: Надежда Дудник Памятка для начинающих инженеров по тестированию ПО.Указанная ниже шпаргалка помогала моим менти составлять тестовую документацию при выполнении тестовых заданий, а также проектных задач.Все глаголы я как раз использовала на своих англоязычных проектах...

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

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

Зачем нужен архитектор 1С. Часть 2 В предыдущей статье habr.com/ru/companies/otus/articles/772490 я постарался на конкретном примере показать различие между разработчиком 1С и архитектором 1С. Насколько по разному они подходят к решению одной и той же задачи. В этот раз я приведу пример, в котором различие ...

Пишем свой вариантный тип C++ 17 привнес в язык достаточно много нововведений, в том числе шаблон std::variant (хоть в Boost он есть уже довольно давно). Фактически, последним вышедшим и полноценно реализованным стандартом C++ на тот момент, как я начал изучать данный язык, являлся как раз C++17, поэ...

Простой способ обработки качественных исследований Данная статья может оказаться полезной начинающим менеджерам, аналитикам и дизайнерам. В ней рассказано о подходе, который поможет структурировать и упорядочить информацию, полученную из различных источников, таких как “one to one” встречи, глубинные интервью и другие подобн...

11lc — инновационный компилятор для нового языка программирования Данная статья посвящена находящемуся на стадии проектирования компилятору 11lc. В ней перечисляются наиболее яркие особенности этого компилятора. Отсутствие скрытой неэффективности Это свойство скорее языка программирования 11l, нежели компилятора. Однако оно настолько важн...

[Перевод] SwiftUI: Разбираемся с identity на примере переходов Концепция идентификации (identity) в SwiftUI не так проста, как могло бы показаться на первый взгляд. Один из лучших способов разобраться в ней — понять роль идентичности в переходах (transitions).В SwiftUI идентификация является ключом к пониманию работы системы рендеринга....

[Перевод] Как программировали в 1969 году Я провёл это интервью со своей матерью Марианной Эрнерфельд в декабре 2018 года. В посте приведён немного урезанный перевод. Полное интервью на шведском языке можно прочитать здесь. Почему ты захотела стать программистом? Я решила стать программистом в 1965-66 годах. Прочи...

Практический пример использования модели детекции изображений Всем доброго дня. Совсем недавно я закончила продвинутый курс от Deep Lerning. Курс объемный, много свежей информации. Мне, как закончившей прикладную математику и часто по работе соприкасающейся с искусственным интеллектом (нейросетки, генетика, fuzzy logics) было не сильно...

Как провести фаззинг REST API с помощью RESTler. Часть 2 Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможн...

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

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

15+ полезных ссылок для начинающего специалиста по Data Science Привет, Хабр! Меня зовут Раф. Сейчас я работаю аналитиком ценообразования в Яндекс Лавке, куда попал после стажировки в команде аналитики Яндекс Браузера. Параллельно учусь в НИУ ВШЭ и уже успел пройти курс «Специалист по Data Science» в Практикуме.В этой статье я собрал пол...

Способы отображения: существует ли связь между DDD и ООП В ходе обсуждений докладов на Analyst Days возник вопрос о связи Domain-driven design (DDD) с объектно-ориентированным подходом (ООП): оказывается, для большинства она вовсе не так очевидна, как мне представлялось. Подробнее погружаясь в&nb...

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

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

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

NoArchitecture Kotline Compose Статья про основные моменты использования Compose в Android разработке на примере простого приложения. Три таба в одном Activity. Обращение в сеть, парсинг Json. Немного анимации. Приложение сделано на коленке за пару дней. Скорее как вопрос к сообществуTODO: Добавить Clean ...

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

Как перевести игру 'The Lamplighters League' На данном примере предлагается разобрать перевод .wem файлов аудио одного языка (англ.) на другой язык (русский) с последующей упаковкой в .wem и использования в игре. В качестве инструментов будут использоваться python, нейросети, а также программа Wwise. Из интересного — ...

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

Полиномиальные корневые методы синтеза САУ ч.3 (заключение) Леонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическими проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст, еще готовится к публикации. Но с разрешения ав...

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

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

Внутренний мир: Java NIO Привет, Хабр!Парадигма «неблокируемого ввода/вывода» заинтересовала меня с того момента, как я о ней услышал. Идея возможности вызвать операцию чтения без блокировки вызывающего потока довольно привлекающая сама по себе. Как известно, неблокируемый ввод/вывод был реализован...

Файловый ввод, сделанный по-человечески Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так ...

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

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

От А до Я: Руководство по воспитанию молодых специалистов (на необычном примере ) В жизни каждого руководителя возникает дилемма: взять эксперта за большие деньги или попытаться вырастить крутого специалиста самому? У меня был успешный и неуспешный опыт найма и тех, и других. К примеру, в МТС у нас были различные программы для найма специалистов без опыта...

Так снимает Xiaomi 13T Pro: реальные фото со всех трех датчиков демонстрируют очень хорошее качество Ресурс GSMArena выпустил большой обзор Xiaomi 13T Pro, в котором немало внимания уделили камере. Текст сопровождается большим количеством фото. Вот так, например, выглядят снимки, сделанные днем главным модулем основной камеры: А вот примеры снимков, сделанных п...

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

[Перевод] Введение в цифровую обработку сигналов Эта статья дает общее представление о том, что такое ЦОС (цифровая обработка сигналов), как она работает и какие преимущества может предложить. Цифровая обработка сигналов включает разработку алгоритмов, которые могут быть использованы для улучшения сигнала определенным обр...

Книга «Terraform: инфраструктура на уровне кода. 3-е межд. изд.» Привет, Хаброжители! Terraform — настоящая звезда в мире DevOps. Эта технология позволяет управлять облачной инфраструктурой как кодом (IaC) на облачных платформах и платформах виртуализации, включая AWS, Google Cloud, Azure и др. Третье издание было полностью переработано...

Осмысленная визуализация при анализе и проектировании в действии Диаграммы и иные средства визуализации являются одним из основных инструментов системного аналитика. Они используются для решения самого широкого круга задач: для создания моделей, представления данных, процессов и систем. Их применение помогает лучше понимать и анализироват...

Пишем gRPC сервис на Go — сервис авторизации В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также...

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

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

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

[Перевод] FIFO очередь asyncio в Python Очереди в Asyncio могут быть полезны для создания программ, в которых используются паттерны производитель-потребитель, где одна или несколько корутин производят элементы и помещают их в очередь, а одна или несколько корутин потребляют элементы и обрабатывают их из очереди.В ...

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

Улучшаем технику серфинга с помощью компьютерного зрения Привет, Хабр! На связи Рустем, и я — серфер. Я катаюсь на Тенерифе и углубленно изучаю мир серфинга. Моя страсть к волнам привела меня к исследованию того, как технологии могут помочь нам стать лучше в серфинге. Именно поэтому я решил создать проект, использующий компьютерно...

Вливаемся в Data Science: подробный roadmap что и где изучать Привет, Хабр) В этой статье рассмотрим план становления начинающим дата-сайнтистом. Рассмотрим, что и где изучать, чтобы преисполниться в своём познании. А там и до оффера недалеко Читать далее

А был ли баг? Может бага и не было? Зачем, как и чем тестировать PHP код В статье рассмотрим основные подходы к тестированию бэкенда на PHP, обсудим преимущества и проблемы, связанные с этим процессом. Также узнаем о методах обнаружения и устранения багов, инструментах и книгах для более глубокого изучения тестирования. Материал будет полезен как...

Самый простой способ обхода блокировок доступа к сайтам любых стран Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать? Я понимаю (программ...

Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board compu...

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

[recovery mode] Где изучать Golang в 2024 2024 году изучение языка программирования Go (Golang) остается одним из наиболее перспективных и востребованных направлений для разработчиков. Одним из главных преимуществ изучения Golang в 2024 году является его широкое применение в различных областях разработки програ...

Roadmap для тех, кто собирается в DevOps Многие, кто изучает DevOps, ориентируются на Roadmap.sh. Это классный ресурс, который помогает понять, какие компетенции нужно приобрести в профессии. Но в нём очень много информации, начинающие специалисты рискуют утонуть в деталях. Мы разработали свой Roadmap на основе опы...

XMG1930-30HP: AV over IP для ЦОД Мы уже не раз в нашем блоге на Хабре рассказывали о технологии AV over IP, которая позволяет гонять 4K-видеопотоки не с помощью HDMI, а используя для этой цели IP-сети. Можно ошибочно думать, что это актуально лишь для каких-нибудь спортивных баров и концертных площадок. Эт...

Топ-3 причины, почему вы должны использовать Copilot Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot п...

[Перевод] Я разработчик, а не компилятор Недавно у меня было телефонное собеседование, на котором мне задавали разнообразные вопросы по Java. Это стандартное собеседование и большинство вопросов тоже было вполне стандартным:Что такое полиморфизм?В чём разница между List и Set? Когда стоит использовать первое, а ког...

Курс «PostgreSQL для начинающих»: #1 — Основы SQL Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительно...

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

Книга «Разработка приложений на базе GPT-4 и ChatGPT» Привет, Хаброжители! Эта небольшая книга представляет собой подробное руководство для разработчиков на Python, желающих научиться создавать приложения с использованием больших языковых моделей. Авторы расскажут об основных возможностях и преимуществах GPT-4 и ChatGPT, а та...

Как Visual Studio могла бы выглядеть с новым меню: делюсь GUI-шаблоном Доброго времени года, уважаемые хабровчане! Я занимаюсь разработкой десктоп‑приложений с 2008 года. Наша компания делает специализированные продукты из области ЦОС (DSP), и GUI выглядит как нечто среднее между AutoCAD, Total Commander и Visual Studio. Не ...

Программа поиска эллипсов и определения их параметров МНК Привет! Я новичок на Харбре. Меня зацепила статья от 2011 года: «Детектирование эллиптических частиц на микрофотографии. Новый алгоритм поиска эллипсов на изображении». https://habr.com/ru/articles/135332/. Вот комментарий к этой статье (Mrrl 27 дек 2011 в 07:49): «А почему ...

Как сделать СКУД на стойку своими руками за 20 тыс. рублей Привет! Меня зовут Иван, я отвечаю за СКУД, видеонаблюдение и системы противопожарной безопасности в дата-центре Nubes Alto. Сегодня расскажу о том, как своими руками и за вменяемые деньги установить СКУД на стойку в серверной или в ЦОД. Решение буду показывать на примере ст...

[recovery mode] Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы Python является одним из самых популярных языков программирования в мире. Он широко используется в различных сферах, таких как веб-разработка, научные исследования, анализ данных, машинное обучение и многое другое. Изучение Python позволит вам получить полезные навыки и откр...

Книга «100 ошибок Go и как их избежать» Привет, Хаброжители! Лучший способ улучшить код — понять и исправить ошибки, сделанные при его написании. В этой уникальной книге проанализированы 100 типичных ошибок и неэффективных приемов в Go-приложениях. Вы научитесь писать идиоматичный и выразительный код на Go, раз...

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

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

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

FineBI: Обработка данных для начинающих пользователей Хабр, привет!На связи команда Business Intelligence GlowByte. Да-да, те самые неугомонные, которые создали самое крупное русскоязычное сообщество FineBI, проводят обучения, собирают дайджесты и ежегодно организуют масштабные конференции. Меня зовут Александр, я руководи...

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

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

Управление цветами в Seaborn: как эффективно визуализировать данные Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как исп...

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

[Перевод] Как изучить Haskell всего за 15 лет Haskell — это язык программирования, изобретённый в 20-м веке шотландскими логиками в качестве пранка (вероятно). Примерно пятнадцать лет назад я начал изучать Haskell по причинам, которые уже и не упомню. Сегодня я наконец написал полезную программу на Haskell и уверен, чт...

[Перевод] Генератор случайных чисел, который можно запустить в голове Люди ужасно плохо справляются с придумыванием случайных чисел. Я хотел научиться быстро генерировать «достаточно случайные» числа. Мне не нужно было что-то совершенное, просто способ придумывания случайных цифр за полминуты. Поискав онлайн, я нашёл старый пост в Usenet, нап...

Как Сбербанк Онлайн готовится к пиковым нагрузкам Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.Меня зовут Артём Арюткин, я руковожу проектным офисом в Сбере. Весь мой профессиональный опыт завяз...

Как Сбербанк Онлайн готовится к пиковым нагрузкам Какие проблемы появляются при переходе из монолитной архитектуры к микросервисной? Как с ними справляться в пиковые нагрузки? Ответим на эти вопросы на примере Сбербанк Онлайн.Меня зовут Артём Арюткин, я руковожу проектным офисом в Сбере. Весь мой профессиональный опыт завяз...

Стиль написания кода на Wolfram Language Я как большой фанат Wolfram Language (WL) очень часто изучаю открытые репозитории с кодом на этом языке. Изучив достаточно много кода я заметил, что стиль написания этого кода очень сильно разнится от проекта к проекту. Но так же я изучил много встроенных пакетов в Mathemati...

Автопровижининг телефонов Yealink. Часть 3 Мы продолжаем публикацию цикла статей, посвященных автопровижинингу IP-телефонов Yealink. Первая часть цикла была посвящена обзору функции автопровижининга, во второй части рассмотрен принципы работы с конфигурационными файлами. Завершающая статья цикла посвящена практическо...

Python и чистая архитектура… Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по зав...

Тестирование UI в Compose Multiplatform Собираясь писать UI-тесты для приложения на Compose Multiplatform, я столкнулась с дефицитом туториалов и документации по этой теме. Из полезного были только пара статей (https://habr.com/ru/articles/674112/) и выступлений на недавних конференциях, а примеры в основном своди...

Используем паттерн Decorator в Bitrix Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. В статье я покажу на примере, как можно использовать паттерн Decorator.А также рассмотрю этот паттерн в целом: его распространенные реали...

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

Лучший стек для питониста-джуна 2024 (2 часть) Итак, что же поменялось за чуточку больше чем полгода? Если мы будем говорить об актуальности - ничего. Django до сих пор, а скорее всего так будет и всегда, остается "на плаву". Большая часть вакансий для back-end разработчика на Python имеет в себе требования по знаниям Dj...

Несколько советов как новичкам не забросить изучение IT Я создаю IT-курсы уже 6 лет, являюсь руководителем направления обучения Бэкенд-разработке в онлайн-школе и даже развиваю свои собственные курсы по программированию на Python. Еще веду корпоративные обучения, работаю в универе и провожу консультации о построении пути в I...

Настройка Wi-Fi «из коробки» Поводом написания статьи были частые вопросы новичков в чате Zyxel: "Как настроить Wi-Fi с нуля на новом автономном оборудовании Zyxel, состоящего из межсетевого экрана Zyxel ATP или USG Flex со встроенным Wi-Fi контроллером и точек доступа?Мануала и примеров в данный момент...

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

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

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

Книга «C++ для начинающих. 2-е изд." Привет, Хаброжители! Книга Герберта Шилдта начиная с таких базовых понятий языка, как типы данных, массивы, строки, указатели и функции, книга охватывает также важнейшие элементы объектно-ориентированного программирования — классы и объекты, наследование, виртуальные функц...

[Перевод] Регулярные выражения — это не трудно Регулярные выражения имеют дурную славу из-за присущей им сложности. Это справедливо, но я также считаю, что если сосредоточиться на определенном ключевом подмножестве регулярных выражений, то это не так уж и сложно. Большая часть трудностей возникает из-за различных «шорт...

Практическая магия Istio при построении архитектуры крупных микросервисных систем. Часть 1 — функциональная Под Новый Год мы с женой пересматриваем одну популярную магическую сагу — хочется знаете ли в жизни волшебства. В IT волшебства тоже хватает — от танцев с бубнами до самых современных технологий, принцип работы которых проще объяснить тёмной магией. Так, например, бытуе...

Python и Excel глазами НСИ Всем привет! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister. Хотел бы поделиться своим небольшим опытом автоматизации некоторых рутинных задач при работе с различными файлами и Excel- базами данных.Python.Предыстория.Сейчас дово...

Личный опыт: переход с Redux на Effector. И при чем тут DX Frontend-разработка очень богата различными инструментами. Новые фреймворки и библиотеки выходят чуть ли не каждый день и, к сожалению, не все из них одинаково полезны или могут сделать ваш продукт лучше. Кроме того, они различаются по степени удобства именно для разработчик...

Фаззинг библиотек Ещё недавно, как я начал изучать веб хакинг, я счёл интересным занятие исследовать Linux и Windows на предмет бинарных уязвимостей. Хотя легально заработать в одиночку хакером у нас в России я думаю можно только веб хакингом, я всё равно хочу изучать все интересующие аспекты...

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

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

SQL инъекции для продолжающих: ломаем настоящий сайт Про SQL-инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL-инъекций на примере уязвимого сайта.Стат...

Как сделать вывод на LED дисплей за один семинар с нуля Тут пришло приглашение на семинар по освоению программирования RA8M1. Предлагалось сделать четыре лабораторных работы и бесплатный обед с кофе-брейками. В заключении за труды получить очередную плату EK-RA8M1. От такого не отказываются. Хороший повод найти применение плате...

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

Книга «Python с нуля» Привет, Хаброжители! Эта книга даст вам основные знания и инструменты, которые помогут стать опытным разработчиком на Python. Эта книга приглашает вас в путешествие по огромному миру Python и охватывает все — от самых основ до более продвинутых тем, таких как наука о данн...

Применяем Java Sealed Classes на практике В этой статье применим Sealed Classes для улучшения читаемости кода, используя пример из реальной разработки. В статье используется Java 21 т.к. это первая LTS версия Java с релизным Pattern Matching. Также в примере используется Spring Boot, но этот подход можно использоват...

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

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

Как делить пользователей на группы в АБ-тестах: ошибки и рекомендации В предыдущих статьях статья 1, статья 2, статья 3 мы рассмотрели основные подводные камни автоматизации и анализу АБ тестов, привели подробный обзор статей по этой теме, а так же рассмотрели типичные задачи аналитика данных. В контексте АБ-тестов одним из ключевых аспектов я...

Титан или Алюминий: какой материал выбрать для 3D-печати? Металл в настоящее время является одним из самых востребованных материалов в процессах аддитивного производства. Неудивительно, ведь превосходные свойства делают его идеальным выбором для самых требовательных областей применений с точки зрения производительности и прочности....

Какую базу данных выбрать для Home Assistant На случай, если ещё не встречались с HA (Home Assistant) - это opensource веб сервис для умного дома, доступный как на облаке, так и в виде self hosted, который позволяет подключить к себе кучу всяких устройств и настроить для них любые желаемые автоматизации. Например, откр...

Кодогенерация и парсинг TypeScript с помощью typescript Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация...

Как построить дом по Agile. Пример успешного применения гибкой методологии для самого классического Waterfall-проекта Хочется начать с тезиса: все методологии хороши, главное – правильно их применять. Однако несмотря на все усилия, я все еще встречаю скепсис у технических специалистов и иногда бизнеса, что Agile методологии не применимы к большим и сложным проектам. Фразы из серии «давайте ...

Генерация зависимостей внутри программы В программировании программы часто строятся иерархично. Один программный компонент вызывает функции из другого программного компонента. Как бы представить эту взаимосвязь в законченной программе? Эту задачу можно решить прибегнув к языку Graphviz и утилитам cpp, dot, make, c...

Приключение SAM в Японии или как компьютерное зрение видит гейшу Привет! Я занимаюсь разметкой данных для ИИ: экспертно и с большой любовью. Задачи компьютерного зрения — одни из самых популярных и поэтому поговорим про них.Прочитав статью вы узнаете как алгоритму отличить гейшу от китаянки, кто такая майко, как не перепутать лапшу с авто...

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

[recovery mode] Где изучать C# в 2024. Бесплатные курсы и полезные ресурсы Существует несколько причин, почему стоит учить C# в 2024 году через бесплатные курсы:1. Популярность: C# является одним из самых популярных языков программирования, особенно в сфере разработки приложений для платформы Microsoft. Изучение C# открывает двери для работы над ши...

Открываем курс по Kubernetes и рассказываем, зачем разработчику знать DevOps Два года назад мы запустили в школе Metaclass курс «Деплой приложений в Kubernetes». С сегодняшнего дня мы делаем его бесплатным и приглашаем пройти всех, кто хочет прокачаться и попасть на стажировку к нам в команду.В нашей компании все сотрудники проходят этот курс, поэтом...

[Перевод] HTML: плохие стороны Вероятно, вы слышали заявления типа «HTML и так по умолчанию обладает accessibility» или «Не нужно изобретать заново этот абсолютно идеальный элемент управления HTML». Я считаю, что это общие заявления, а не универсальные истины. Веб-разработчикам крайне важно осознавать нед...

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качест...

[recovery mode] Разработка расширения для PHP на C++. Хуки встроенных функций и методов PHP - это мощный и широко используемый язык программирования для веб-разработки. Однако, иногда требуется расширение функциональности или модификация стандартного поведения PHP с использованием более низкоуровневых языков, таких как C++. В этой статье мы рассмотрим, как с...

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

[Перевод] Как объяснить суть Kubernetes таксисту Не так давно я побывала на конференции Kubecon 2023 в Чикаго. Готовясь к конференции, я почитала статьи в блогах, а на самой конференции посетила несколько семинаров для начинающих (в жанре «101»). Но всё равно не могла сказать, что уверенно понимаю эту технологию. Хуже вс...

[Перевод] Автоматизация тестирования с Cucumber, Selenium и Java В этой статье я постараюсь познакомить вас с технологиями для создания чистых, устойчивых к изменениям и простых для понимания автоматизированных тестов. Надеюсь, вы узнаете что-что новое об автоматизации или хотя бы познакомитесь с моим подходом. Статья будет полезна в перв...

ASCII-арты на python Здравствуйте уважаемые читатели, в этой статье я расскажу Вам как делать ASCII-арты при помощи языка python, на примере моего кода. Читать далее

Object-Relational Mapping (ORM) в Golang Одна из самых важных задач ЯП`s это эффективное взаимодействие с базами данных и Go не исключение. В Go есть парадигма Object-Relational Mapping (ORM), позволяет работать с реляционными базами данных в терминах объектно-ориентированного программирования. Это очень сильно упр...

[Перевод] GROUPING SETS В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях. Читать далее

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

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

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

Быстрый запуск pet-проекта на Python и PostgreSQL Уверен, небольшие pet-проекты полезны не только для прокачивания навыков, но и для отвлечения от рабочей рутины и - нередко - для решения небольших практических задач. Курс рубля, как водится, - всегда актуальная тема. И на естественное желание быть в курсе курса рубля,...

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

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

Обобщенные фабрики тайпгардов в TypeScript Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?TypeScript упрощает разработку веб-приложений ценой роста кодовой...

Нужен ли продакт в ML-команде? Мнение изнутри Пять лет назад из обычного продакт-менеджмента я перешла в команду с дата-сайентистами. И весь процесс моей работы сильно изменился. Раньше после определения потребностей пользователя я приходила к команде разработки с готовой задачей и дизайн-макетами. А после разработ...

Автоматическое создание карточек слов для изучения иностранного языка или интеграция google translate в google sheets Добрый день.Недавно сделал инструмент для автоматизированного создания карточек для изучения слов — подумал что может быть кому то пригодится и как инструмент, и как техническое решение.Немного вводной информации: один из способов запо...

Помощь на старте: 10 полезных ссылок для начинающих iOS-разработчиков Всем привет! Меня зовут Денис Сурков, я iOS-разработчик в компании «Мой спорт» и наставник на курсе «iOS-разработчик» в Яндекс Практикуме.В этой статье хочу поделиться ресурсами и советами, которые помогали мне в начале карьеры. Я рекомендую их студентам, а многими из них са...

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

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

Используем MLOps-конвейер: пример работы с Cloud ML Platform для построения сервиса распознавания лиц Есть два подхода к работе с машинным обучением (Machine Learning, ML): быть человеком-оркестром и задействовать «зоопарк технологий» для каждого этапа, или работать с готовым набором инфраструктурных решений, который позволяет выстроить MLOps-конвейер в рамках одной платфо...

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

Разбор примера BLE Audio от Nordic Semiconductor (или переходник I2S->BLE-Audio) Обзор технологии беспроводной передачи данных BLE 5.3. Представлен разбор примера Ble Audio от Nordic Semiconductor для микроконтроллера nRF5340. Это пример передачи звука по Bluetooth 5.3. Читать далее

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

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

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

[Перевод] Clean architecture и MVVM в iOS разработке В этой статье мы покажем на примерах проектов как паттерны MVVM и Clean Architecture могут быть применены в iOS приложении. Читать далее

MemSess — очередной сервер для работы с сессиями В этой статье будет рассмотрен самописный сервер для работы с сессиями и пример работы с ним на PHP. Читать далее

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных в...

Стандартное отклонение и стандартная ошибка: две статистики с похожими названиями, но разными смыслами Я читаю курс статистического мышления магистрам, и одна тема вызывает у них явные затруднения – чем стандартное отклонение отличается от стандартной ошибки, и в каких случаях, применять ту или иную статистику. Думаю, будет интересно поговорить об этом в блоге ЛАНИТ. Читать д...

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

Как применяется и для чего нужен local first подход Local first — это подход к разработке приложений, когда данные обрабатывают в первую очередь на устройствах пользователей, а не в облаке. Обсудим ключевые принципы подхода и примеры в контексте организации совместной работы. Читать далее

От «здравствуйте» до こんにちは: языки программирования не на английском языке Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них...

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

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

Сколько можно не заработать на шаурме? В 2018-м я с партнером открыл свою точку шаурмы. Сейчас у нас 3 шаурмячные.Я слышал в интернете, что бизнес на шаверме это низкий порог входа, быстрая окупаемость и востребованный продукт. Поэтому решил рассказать, как обстоят дела в этом бизнесе на самом деле. ДИСКЛЕЙМЕР: С...

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

Коридоры не рассказывают сказки Около года назад я подарил сыну Steam Deck, как оказалось консоль подходит не только для забегов в Fortnite, но и для старых добрых хитов, которые не удавалось пройти в момент выхода. Первый Bioshock - одна из моих любимых игр, достаточно старая, чтобы показать, что принципы...

OpenAI GPTs: пошаговое руководство для создания с практическими примерами, ACTIONS и внешние API Я часто использую ChatGPT в повседневных задачах. Он реально помогает в обучении, разработке и решении небольших проблем, которые легко описать. Но с другой стороны бывает сложно дать ему нужный контекст, чтобы он начал делать то, что нужно вам, а не выдавал ложь за действит...

Сможет ли IPFS полностью заменить HTTP? Меня зовут Виталий Киреев, я руководитель R&D в SpaceWeb. В начале прошлого года мы внедрили IPFS-технологию в работу своего хостинга, и все наши клиенты получили возможность размещать контент в IPFS-сети. Решились на такой шаг не сразу: IPFS — технология пока еще экспер...

Как написать требования к IT-продукту и их протестировать, чтобы результат соответствовал ожиданиям Всем привет! Меня зовут Вадим, и я QA-инженер в IT-компании Intelsy. С техническим заданием, и в частности с требованиями, лично я имею дело постоянно, поэтому собрал полезную для начинающих и продолжающих специалистов информацию по требованиям к IT-продукту,  их видам,...

Что такое semantic-release и как с ним работать Привет! Я — Алексей Бондаренко, работаю в команде Платформа Банки.ру. Сегодня хочу рассказать о semantic-release и его практическом применении на примере упрощения разработки и внедрения библиотеки в проект.  Читать далее

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

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

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

[Перевод] Призыв писать компактное ПО, версия 2024 года (с примером кода) Этот пост посвящён памяти Никлауса Вирта, первопроходца в сфере вычислительных наук, ушедшего от нас 1 января этого года. В 1995 году он написал важную статью A Plea for Lean Software, и в своём посте я постараюсь воспроизвести её почти тридцать лет спустя, с учётом современ...

Книжный кружок. Рецензия на книгу «Микросервисы от архитектуры до релиза» Всем, прив)Дочитал недавно книжку "Микросервисы от архитектуры до релиза" (в оригинале наз: "Microservices Up & Running") Вышла она в конце  2020, недавно ее перевели. В издательстве "Питер" периодически делают щедрые скидосы на книжки, и я решил порадовать себя и н...

Войти в ИТ через тестирование: опыт QA-инженеров hh.ru Привет! Меня зовут Олег Водянов, и я QA-инженер в hh.ru.  Свой путь в тестировании я начал в качестве джуна в далёком 2018 году. Всё, что мне тогда понадобилось для трудоустройства — это прочитать и законспектировать теоретическую информацию с сайта www.protesting.ru, н...

Погружаемся в Kubernetes: полезные материалы от сотрудников Selectel Часто новичкам сложно начать работу с Kubernetes. Нужно перебрать с десяток курсов, прежде чем они найдут действительно полезные материалы. Чтобы помочь вам с выбором, мы попросили коллег порекомендовать ресурсы для изучения Kubernetes. Сохраняйте в закладки: пригодится нач...

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

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

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

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

Где учиться программированию в 2024 году: курсы для начинающих

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

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

Гайд для системного аналитика: как управлять требованиями на разных этапах проекта. Часть 1: Инициация Жизненный цикл любого проекта включает в себя этапы инициации, планирования, исполнения, контроля и завершения. Гибкие методологии и итерационный подход используют в проектах по разработке программного обеспечения всё чаще. С ними этапы проекта повторяются несколько раз для ...

Знакомство с CAD Dassault Solidworks 2022 на примере проектирования модели «рука T-800*» *Прежде всего стоит отметить, что модель является художественной, многие элементы и решения с точки зрения механики и робототехники не имеют смысла. Читать далее

Как настроить работу на Канбан-досках с нуля за 15 минут? Руководство для начинающих На канбан-досках могут быть различные виды задач, в зависимости от конкретного проекта, типа бизнеса или потребностей команды. В этой статье разберём основы ведения учета задач на Канбан-доске, необходимые колонки, виды и типы задач, в том числе Epic, userstory, task. Чита...

KISS your website или как написать уважаемый сайт на аутсорсе, глава первая Добрый день. Меня зовут Тимофей, я фронт-тимлид в диджитал-продакшене ДАЛЕЕ. В данном цикле статей я поделюсь подходами и инструментами фронтенд-разработки на аутсорсе, которые помогут создать качественный продукт без кошмарного instant-legacy и значительно облегчат жизнь ко...

Rust — это не «memory safe C» TL;DR: 1) в Rust намного больше достоинств, чем просто скорость и безопасность 2) в Rust по умолчанию CDD (compiler-driven development, разработка через компилирование). Это как TDD, только CDD 3) Rust не сложный язык, особенно если не гнаться за максимальной производительно...

Как правильно покупать Айфоны на OZON, Wildberries и Яндекс Маркете После того как Apple официально ушла из России, продажи ее техники, и в частности, Айфонов, на известных маркетплейсах взлетели. Именно на OZON, Wildberries или Яндекс Маркете можно было получить самую выгодную цену, удобную доставку товара в пункты выдачи и относительное с...

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

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

Руководство по проектированию дизайна и юзабилити интерфейсов с Drag and Drop Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и я часто сталкиваюсь с разработкой веб-интерфейсов с использованием Drag and Drop. В своей предыдущей статье про Drag and Drop я рассказывал про историю появления и развития этого подхода: появившись в пе...

Жизненный цикл Activity приложения: базовые принципы и понятия Статья от тестировщика "ITQ Group" Леонида Галочкина.Понимание принципов работы activity помогает понять логику работу мобильных приложений, разрабатывать тест-кейсы разного уровня, готовить тестовую документацию. Принципы activity можно игнорировать, например, при тестирова...

[Перевод] Эффект Монреаля: почему языкам программирования нужен Царь стилей Давайте представим нереалистичный сценарий, где вы выбираете язык программирования для проекта, который в перспективе станет очень большим. Допустим, это будет набор сервисов в монорепозитории, над которыми работает более 100 человек. Чтобы сделать этот сценарий ещё менее р...

Расстаемся с облаками на примере Sonoff Привет всем! В своем «умном доме» я решил, что все устройства должны быть завязаны на локальном сервере, чтобы без интернета он не превратился в тыкву. Но почти всё так или иначе привязано к облаку. Этот пост о том, как отвязать устройства Sonoff от облаков. Да, я знаю,...

Учимся создавать простых ботов или туториал по библиотеке TeleBot Начнем с того, что библиотек для разработки телегам-ботов на Python несколько, я упомяну основные три. В первой части статьи будет небольшой обзор этих библиотек (примеры кода тут будут для красоты, не пугайтесь, ниже будет пошаговый Гайд по одной конкретной библиотеке), по...

Suno есть, скрипач не нужен!? Я еще не совсем отошел от шока полугодичной давности, когда познакомился с RVC ... а тут новый прорыв - Suno. Думаю, многие если и не знакомы с самим сервисом, то слышали результаты - саундтреки с вокалом, полностью сгенерированные ИИ, по сути, не отличимые от живого исполне...

Чтение на выходные: «Silent Hill. Навстречу ужасу. Игры и теория страха» Бернара Перрона Сегодня в рубрике книга для геймеров, которые любят углубиться в теорию.Бернар Перрон — эксперт из мира кино и компьютерных игр, профессор Монреальского университета, соредактор игры-песочницы Landmark. Книжица небольшая, но содержательная и без воды. Если хотите прочитать з...

Информатика, зачем? Я и так умею программировать! (на примере языка C++) - Как я стал таким программистом?- Я был умнее самых умных и упорнее самых упорных! перефразированная цитата Скрудж МакДака Читать далее

Подделка ssh сервера на Python В этом посте я расскажу, как игрался и создавал на python сокеты, к которым можно подключаться через ssh клиенты, а так же покажу рабочий (но это не точно) пример.На скриншоте виден пример с сервером, на котором можно оставить свою роспись. Читать далее

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

Как я написал свой первый классификатор эмоций Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-...

Даже Apple хочет, чтобы вы попали в IT: появился ресурс по изучению языка Swift Приветствуем всех начинающих разработчиков приложений, для вас Apple запустила новый ресурс, который поможет освоить программирование на Swift.

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2 Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частьюВведениеДанная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ...

Nvidia создаст для Китая видеокарту GeForce RTX 4090 D (Dragon), которая не будет попадать под санкции США Найдены виновники подорожания GeForce RTX 4090 за пределами Китая. Различные продавцы собирают запасы карт для продажи в Китай Когда стало известно о запрете поставок GeForce RTX 4090 в Китай появилось логичное предположение, что Nvidia, по примеру ускорителей для ИИ, ...

[Перевод] Xv6 Глава 1: Интерфейсы операционной системы Эта книга рассказывает о принципах работы операционных систем на примере xv6. Операционная система xv6 реализует базовый интерфейс, который Кен Томпсон и Деннис Ритчи предложили в операционной системе Unix, и подражает внутреннему устройству Unix. Комбинации простейших механ...

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

Cross-Encoder для улучшения RAG на русском Одно из самых прикладных применений языковых моделей (LLM) - это ответы на вопросы по документу/тексту/договорам. Языковая модель имеет сильную общую логику, а релевантные знания получаются из word, pdf, txt и других источников.Обычно релевантные тексты раскиданы в разных ме...

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

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

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

Используй Силу, Люк: Single Pane of Glass в Мире SRE Привет, Хабр! Меня зовут Кирилл, я работаю в IT более 13 лет. Сначала инженером по внедрению, потом DevOps, потом SRE, также работал руководителем группы сопровождения. Сейчас SRE в VK Рекламе, поэтому знаю, как важно делать правильные инструменты для анализа проблем. В...

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

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

Из фото в 3D, ч.1: геометрия формирования изображения Казалось бы, жизнь невозможно повернуть назад, а предмет из фотографии не восстановишь. Хотя с последним можно поспорить: из плоского 2D-изображения реально восстановить 3D-модель объекта. Подобная «магия» часто практикуется в AR/VR, управлении беспилотниками и других сферах...

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

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

Сбалансированные данные – успех в ML: Oversampling и Undersampling Данные, используемые для обучения моделей машинного обучения, должны быть идеально сбалансированы по всем категориям и классам. Однако суровая жизнь часто преподносит нам данные, в которых присутствует значительный дисбаланс. Такой дисбаланс может привести к нежелательным см...

Глава Airbus Шёльхорн: "Присутствие немецких военных для применения ракет Taurus не обязательно" Олаф Шольц был неправ, когда публично заявил, что для обслуживания, в том числе и наведения ракет Taurus, необходимо личное присутствие немецких военных на Украине. Такой точки зрения придерживается руководитель Airbus Defence and Space – Михаэль Шёльхорн.

«Один автомобиль – 4 минуты». В «БелДжи» раскрыли тонкости работы первого завода полного цикла в Белоруссии Интересные подробности о работе завода «БелДжи», который выпускает автомобили Geely, опубликовало белорусское издание ctv.by. Сергей Традчик, главный технолог СЗАО «БелДжи», заявил: «Это первый завод полного цикла на территории РБ, кот...

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

Безымянная логика Почти две с половиной тысячи лет назад Аристотель положил начало науке логике, сформулировав три закона: тождества, противоречия и исключенного третьего. Закон тождества (кратко А=А) гласит, что всякая мысль (назовем ее А) в процессе рассуждения должна бы...

Простой ORM для sqlite3 ORM, или объектно-реляционное отображение — это программная технология, которая позволяет взаимодействовать с базами данных с использованием объектно-ориентированной парадигмы. Вместо того чтобы писать SQL-запросы напрямую для работы с данными в базе данных, можно использов...

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

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

Его вы изучали в школе: умер создатель языка программирования Pascal Никлаус Вирт, швейцарский ученый-компьютерщик, считающийся одним из пионеров языков программирования, умер 1 января 2024 года в возрасте 89 лет.

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

[Перевод] Как улучшить тестируемость кода на примере Dependency Injection в Python В данной статьей вы узнаете о важности отделения операций ввода-вывода (т.е. сетевых запросов, обращений к базе данных и т.д.) от основной логики кода, особенностях использования Dependency Injection (внедрения зависимостей) для написания более тестируемого кода с примерами ...

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

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

Размышления о выборе языка программирования для школы (и ситуации с информатикой в целом)… Эта статья выросла из ответа на комментарии к статье Основные отличия PascalABC.NET, где возник традиционный спор про то, есть ли смысл в 2023 году изучать Pascal. Для комментов мой ответ слишком большой, так что оформлю в виде такого спонтанного поста.Как бывший программист...

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

Аналитик vs. презентация задачи. Изучаем профессионально-деформационные диалекты коллег Привет =) На связи снова Анастасия-аналитик из команды STM Labs со своей любимой темой «мягких» навыков. В статье про собеседования (первая часть тут, вторая тут) я сравнила аналитика с переводчиком с бизнесового языка на разработческий. Или наоборот.Недавно у нас на работе ...

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

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

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

Мы проанализировали 80+ креативов: вот 9 ключевых выводов Если вы уже запускали таргетированную рекламу, то, думаю, согласитесь со следующим: «Зачем изобретать велосипед, если можно просто адаптировать то, что уже работает у других?»  Для этого нужно постоянно мониторить рекламодателей (желательно, лу...

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

«Винтажная» метавселенная Second Life с NASA, IBM и Dell: внезапное возрождение Если вы думаете, что метавселенные — это исключительно современная история, начавшаяся с Цукерберга, то вы сильно ошибаетесь. В этом году одна из самых старых метавселенных Second Life (SL) отметит свой 21-й день рождения. Да-да, %USERNAME% — эта метавселенная была запущена ...

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

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

QA под капотом. Тестируем и настраиваем 1С-Битрикс Привет, Хабр! Меня зовут Анастасия, я QA-специалист SimbirSoft и работаю на проектах с 1С-Битрикс. Не единожды я могла наблюдать, насколько эффективно бывает допустить QA-команду внутрь CMS, чтобы достичь бизнес-целей клиента. И на примере нескольких кейсов из разных проекто...

Стажировка из кошмарных снов Мы публикуем очередную историю, присланную вами в наш бот обратной связи. Про то, какой не должна быть стажировка.Нашёл работу начинающим программистом в компании ООО «ЭЙТКОМ» (под брендом «Госзаказ Консалтинг Групп»).Понравилось, что офис просторный, есть настольный теннис,...

Чтение Micro QR Code версии М3 (алфавитно-цифровой режим) Задание: необходимо прочитать Micro QR Code версии М3, содержащий кодовое слово, состоящее из символов верхнего регистра (на примере закодированных слов – SAFEBOX, Q1W2E3R4T5Y6U и EFB QWG WIFI 7; почему выбрано именно такое количество символов будет также расшифровано) на ос...

Как мы с Кандинским дракона рисовали Очень часто для оформления документов, например, презентаций или статей на Хабре

[Перевод] 10 распространённых рисков проекта и шаги по их устранению Анализ рисков проекта помогает управлять проектом от начала до конца, чтобы исключить или сократить потери или неудачи в бизнесе. Причины рисков зависят от типа, сложности и продолжительности проекта. Цель анализа рисков проекта состоит в том, чтобы выявить возможные угрозы ...

NumPy: шпаргалка для начинающих What's up guys!В этой статье мы поговорим про NumPy. Это статья-шпаргалка для начинающих пользователей NumPy, надеюсь она будет вам полезна. Читать далее

Детальный React. Реконсиляция, рендеры, Fiber, виртуальное дерево В сети можно найти огромное количество статей, мануалов и книг по основам React, включая официальную документацию от разработчиков. В этой статье мы не будем писать HelloWorld и изучать общеизвестные концепции. Сегодня мы заглянем под капот библиотеки и попытаемся понять, ка...

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

ФАС опубликовал инфографику с примерами маркировки рекламы Принципы нового закона стали чуть прозрачнее.

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

Как мы приготовили массу блюд c помощью одного ингредиента: GraphQL Всем привет! Не говорите, что вам нечего приготовить, если у вас дома одна картошка. При смекалке и достаточном количестве специй — пюре, драники, запеканка, чипсы фри... Конечно, мы обсуждаем не кулинарию. Мне хотелось бы поговорить о GraphQL и некоторых фичах, которые мы в...

[Перевод] Отсечение и поиск / Prune and search Решал задачу на LeetCode (Word Search) и наткнулся на незнакомый мне термин "search pruning", либо "Prune and search". Немного погуглив, узнал, что это метод решения задач оптимизации, на Википедии есть соответствующая статья (ссылка). На русском языке я не нашел такого терм...

[Перевод] Извлечение текста из файлов PDF при помощи Python ▍ Введение В эпоху больших языковых моделей (Large Language Model, LLM) и постоянно расширяющейся сферы их применений непрерывно растёт и важность текстовых данных. Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-стате...

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

Развлекаемся с Джулией Считается, что Julia – это нишевый язык созданный для лабораторий, научных симуляций и HPC. Хотя на самом деле благородя свой экспрессивности и динамизму Julia можно и нужно использовать для автоматизации и скриптинга. Давайте на паре простых примеров посмотрим как Julia мож...

Обзор библиотеки Stan в R Приветствую! Stan - это библиотека на C++, предназначенная для байесовского моделирования и вывода. Она использует сэмплер NUTS, чтобы создавать апостериорные симуляции модели, основываясь на заданных пользователем моделях и данных. Так же Stan может использовать алгоритм о...

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

Возможности JS, о которых вы возможно не знали Всем привет! Меня зовут Леша, я фронтенд-разработчик. Крашу кнопочки, пишу js скрипты, веду канал в TG https://t.me/frontend_tales (подписывайтесь, стараюсь выкладывать полезный материал). В этой статье хотел бы поделиться с вами лайфхаками JavaScript, которые, возможно, пом...

HappyX vs Karax: что проще? Хотите узнать, как с помощью Nim создавать клиентские веб-приложения?В этой статье я расскажу вам о веб-фреймворках в Nim и их возможностях, а также приведу примеры в сравнении друг с другом и другими фреймворками. Читать далее

Как установить NCALayer на Linux Всем привет, меня зовут Абай. В последнее время часто замечаю, что у пользователей Linux в Казахстане постоянно проблемы с установкой NCALayer, поэтому решил написать гайд, который простым языком объяснит, как установить его через терминал... Читать далее

Простейший пример kafka + golang В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker. Читать далее

Концепция построения кустов сетецентрической системы управления войсками «Без применения военной науки победить нельзя» В.И.ЛенинВ предыдущей статье «Применение стационарных умных приёмников звука в составе сетецентрической системы» упор делался на одиночном кусте сетецентрической системы уровня батареи. Куст предназначен для установления 3–х м...

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

«Дюна» – от Герберта до Вильнёва Всё началось с экологического эксперимента. В конце 1950-х Министерство сельского хозяйства США искало способы остановить распространение песчаных дюн в штате Орегон. Для этого необходимо было отыскать растение, способное выжить на песках и постепенно скреплять почву, дела...

Успешный опыт участия в Data Science хакатонах В статье я хочу поделиться успешным командным и личным опытом участия в хакатонах и ML соревнованиях. На примере 13-ти соревнований, по итогу которых мы победили или оказывались на призовых местах, я рассажу о практических советах для будущих участников. На личном опыте я уб...

Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на экзамене IELTS Academic Привет, Хабр! В этой статье я расскажу о своем опыте изучения английского языка и поделюсь вещами которые работали и не работали для меня. Процесс изучения языка очень индивидуален, и никогда нельзя утверждать что верный какой-то один метод / схема (хотя некоторые статьи на ...

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

Истории взлома email. Кому это нужно и сколько стоит Взлом email — прежде всего целевая атака. А еще это старая, дешевая и традиционно популярная услуга в даркнете. Мы решили выяснить, за какую сумму можно заказать взлом чужого ящика и как злоумышленники обычно достигают цели. Обзор «‎рынка» услуг, свежие примеры атак на ...

Зачем и как практиковаться начинающему аналитику — Что работодатели хотят от джуниор аналитика данных?— Работодатели хотят, чтобы он был мидлом.Если ты не смеёшься над этим анекдотом, то наверняка недавно закончил (либо заканчиваешь) обучение по обретению специальности «Аналитик данных». А ещё ты пока не нашел, но уже нача...

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

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

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

Метод Reverse-engineering на практике: как расшифровать исходный код Всем привет! Сегодня в нашем эфире новый автор - Никита Синкевич, руководитель группы анализа и реагирования Инженерного центра Angara Security. Итак, начинаем!Иногда в ходе расследования инцидента информационной безопасности необходимо понять, имеет ли та или иная программа...

[Перевод] Создание PDF-файла размером с Германию Сегодня утром, пролистывая ленты социальных сетей, я уже в который раз встретил утверждение, что у PDF-документа есть максимально допустимый размер. Подобное утверждение появилось на просторах интернета ещё в 2007 году. Этот твит является характерным примером постов с анал...

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

Пример исследовательского реверс инжиниринга приложения Zone Launcher Друг порекомендовал приложение, но купить его не получилось с территории России. Статья о том, как поисследовать приложение до той степени, чтобы покупка потеряла свою актуальность. Может быть полезно почитать и разработчикам, чтобы понимать, что полную версию приложение вкл...

[Перевод] Как мне удалось обнаружить уязвимость, связанную со слабыми ключами в Debian Для новичков в сфере информационных технологий может быть открытием, что в следующем месяце мы отметим 16-ю годовщину одного знаменательного события: было выявлено, что в течение 18 месяцев пакет OpenSSL в Debian вырабатывал полностью предсказуемые приватные ключи, что в то ...

Как аналитику сохранить нервы: 5 упражнений для успокоения Всем привет. Меня зовут Айгуль, я аналитик в «Альфа-Банке», больше 15 лет увлекаюсь психологией, изучаю разные направления, практикую, консультирую. Подготовила вам длинную статью на вечер. Расскажу о том, какое определение аналитика я для себя вывела, что такое стресс и как...

Radeon RX 8800 XT с производительностью около RTX 4080 Super, 16 ГБ памяти и ценой 600 долларов? Появились подробности о новом поколении видеокарт AMD В Сети появились новые подробности о будущих видеокартах AMD Radeon, которые могут выйти уже в конце текущего года.  Согласно данным автора канала Moore's Law Is Dead, топовым решением нового поколения у AMD будет GPU Navi 48. Название не очень понятно, так ка...

Теперь искусственный интеллект научится играть в игры. Google работает над ИИ SIMA, который сможет быть помощником для геймеров в играх Как мы уже поняли на примере GPT-4, необученная играть в игры нейросеть справляется с этой задачей не очень хорошо. Поэтому в Google решили научить искусственный интеллект играть в игры.  Подразделение DeepMind рассказало о своей работе над Scalable Instructable M...

Как мы сделали переводчик точнее и дешевле Google и Yandex Всем привет! Меня зовут Никита, я Data Scientist из Raft. Сегодня я расскажу вам о том, как мы решили задачу перевода каталога товаров большого интернет-магазина с русского на арабский язык с применением искусственного интеллекта. Мы рассмотрим различные подходы и идеи, возн...

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

От Angular до биотеха: что будет на HolyJS 2024 Spring В апреле мы проведём конференцию HolyJS — о чём будут её доклады? Что вообще должны говорить на JS-конференции? Спорить, какой фреймворк лучше?Бессмысленные холивары мы не любим. А вот полезную информацию по тем же фреймворкам — вполне. Так что будут доклады с темами вроде «...

[Перевод] Искусство создания понятных графиков Эта статья — субъективное эссе о хороших и плохих практиках в визуализации данных, в нём приведены примеры и объяснения. В папке Scripts/ на Github есть файлы .Rmd, генерирующие показанные ниже графики. Для их работы требуются R, RStudio и пакет rmarkdown. R: Скачать R R...

Константность в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это седьмая статья из серии, список предыдущих статей приведен в конце в разделе 10. Серия ориентирована на программистов, им...

Это реально? Что должен уметь джуниор системный аналитик по профессиональному стандарту Минтруда России Нам оставили немало комментариев к статьям по подготовке к собеседованию системного аналитика (СА) о том, что примеры со сложными вопросами по SQL, REST и диаграммам — избыточны. И что СА не обязан знать, как написать код обработки запроса на Python, И даже СУБД — тоже не сф...

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

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

Встать и Сделать. Личный опыт Hello Habr! Думаю, что будет хорошим постновогодним подарком статья на тему самодисциплины. Зуб даю за то, что если вы хоть что-то об этом читали ранее, то уж про целеполагание изрядно наслышаны. Про то, что цель должна быть чётко определена, ограничена во времени, в принцип...

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

Who are you, Platform Engineering. Часть 2: типовая архитектура, варианты и примеры реализации IDP В докладе Gartner методология Platform Engineering определена в качестве одного из стратегических технологических трендов на 2024 год, что свидетельствует о дальнейшем эволюционном развитии подходов DevOps. Несмотря на это, для многих компаний Platform Engineering и Intern...

[Перевод] Обработка ошибок в web apps не должна быть такой сложной В процессе работы с Go я столкнулся с ещё одной проблемой — обработкой ошибок в хендлерах. Как можно сделать этот процесс удобным и эффективным для 150+ обработчиков? Как обеспечить консистентность и поддержку при обработке ошибок? Разумеется, мои поиски палочки-выручалочки ...

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

Прокачиваем вёрстку ARIA атрибутами. Атрибут aria-label В прошлом месяце я рассказал, зачем нужна семантика, на примере атрибута role. Если вы не читали мою статью, пожалуйста, прочтите её перед тем, как читать эту. А сегодня я хочу рассказать про атрибут aria-label. В статье не будет заумных определений и бездумного копировани...

TypeScript: infer и conditional types. Продвинутый TS на примерах Разбираемся, что же такое conditional types и как написать свои утилиты, такие как ReturnType, InstanceType, NonNullable и др., при помощи ключевых слов infer и extends. Читать далее

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

Айтишникам нельзя не быть креативными, и я сейчас это докажу Всем привет. Меня зовут Антон, я Scrum-мастер IT-отдела компании AppEvent и по-совместительству front-end разработчик. В моей первой статье на Хабр хочу рассказать вам, почему же айтишнику нужно быть креативным и как этот навык вообще можно проявить. Ведь зачастую он являетс...

Как сэкономить время, силы и деньги компании с помощью дерева метрик Привет, Хабр! Меня зовут Калаш, и я больше 11 лет в IT. Запустил несколько интернет-магазинов, мобильное приложение, программу лояльности с нуля. Консультирую и менторю начинающих продактов. Проверил более 2300 проектных работ студентов курса для продакт-менеджеров в Яндекс ...

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

5 стадий принятия необходимости изучения «плана запроса» или почему может долго выполняться запрос Всем привет! Меня зовут Виктор, я работаю в Компании БФТ-Холдинг руководителем группы разработки. В этой статье разберем подходы и рекомендации по выявлению и устранению проблем с производительностью в системе базы данных Greenplum. Материал будет особенно полезен начинающим...

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

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

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

Новые процессоры будут ещё более горячими. AMD говорит, что более тонкие техпроцессы усугубят ситуацию AMD пока не готова провернуть с мобильным CPU тот же фокус, что в своё время с настольными. Чиплетных дешёвых мобильных APU пока не будет Современные процессоры и у AMD, и у Intel весьма горячие. Однако если в случае Intel речь идёт при этом и о высоком энергопотреблен...

Слово vs Понятие и Почему специальные методики запоминания слов — баловство Представим, что англичанин учит русский язык, встречает слово «стол». Ему объясняют, что это и table, и desk (письменный). Ну ок. Затем он встречает где-нибудь «паспортный стол». Стол?? Видит в супермаркете вывеску «Стол заказов», но там внезапно нет никакого стола, а есть д...

ИИ в Google Maps будет рекомендовать новые места Google внедряет искусственный интеллект (ИИ) в свои карты. На данный момент, функция доступна только для определенных районов и участников программы Local Guides, она представляет интересное применение технологии. Основная идея заключается в том, чтобы использовать естествен...

Обзор архитектуры Compose с использованием паттерна «координатор» В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее разверну...

NET hosting. Обзор вариантов и пример деплоя приложения Приложения Dotnet и Mono можно развернуть на сервере разными способами. В статье мы рассмотрим специализированные решения для хостинга dotnet приложений и предоставим инструкцию по развертыванию, написанную на конкретном примере. Читать далее

Дубинка (гиря) подброшенная в воздух. Решение дифференциальных уравнений в MATLAB Пример решения системы дифференциальных уравнений (ДУ) в MATLAB адаптивным и не адаптивным методами. В MATLAB встроено множество численных решателей с адаптивным шагом для решения жестких, нежестких и полностью неявных систем. С помощью Symbolic Math Toolbox можно сначала вы...

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

ООП в F# Привет, Хабр!Объектно-ориентированное программирование представляет собой подход к разработке, где основой являются объекты — экземпляры классов, объединяющие в себе и данные, и поведение. В F#, который вырос на функциональных концепциях, ООП представлен как дополнение к уже...

Записки технического руководителя проектов Статья была написана мной в 2020 году, после запуска в прод очередной платформы, построенной на микросервисной архитектуре с целью зафиксировать выученные уроки с точки зрения технического руководителя проекта. В проектах участвовало со стороны подрядчика более 300 человек т...

На форуме «Re:старт» обсудили кейсы развития исторических центров в десяти городах и исторических поселениях России Специалисты в сфере архитектуры, градостроения, урбанистики и комфортной среды из различных регионов России и Белоруссии собрались в Краснодаре, чтобы поделиться спецификой развития исторических центров российских городов и исторических поселений и практическими кейсами. В х...

Артефакты прошлого: TabletPC Compaq TC1000 и загадка recovery-дисков В обычной ситуации о наличии Recovery CD или специализированного раздела на жёстком диске никто не вспоминает. Но если речь идёт о ретрокомпьютинге, то всё меняется. Ведь именно эти способы позволяют восстановить оборудование с программной точки зрения до заводского состояни...

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

Как с помощью YouTube продать умных столов на 25 млн за 1 год без вложений в рекламу Меня зовут Матасов Иван, я сооснователь бренда Mensa Design. Мы изготавливаем лучшие в мире индивидуальные проекты умных столов и кабинетов на заказ. Дорого. Качественно. Под ключ.В этой статье расскажу основные принципы создания видео, которые набирают миллионы просмотров (...

Эффективное использование журнала регистрации и технологического журнала 1С в решении вопросов производительности Эта статья носит своей целью продемонстрировать другой подход в анализе проблем производительности в системах 1С:Предприятие с применением журнала регистрации (ЖР) и технологического журнала (ТЖ).Напомню, что ЖР логирует действия пользователей — кто,...

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

Так снимает Pixel 8 Pro: примеры реальных, а не рекламных фото Ресурс PBKReview опубликовал фотографии, сделанные при помощи основной камеры Google Pixel 8 Pro. Глядя на эти изображения, можно составить представление о том, на что способна нового флагмана Google. Примеры дневной съемки: 0,5x 1x 2x 5x А так Pixel 8 Pro сни...

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

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

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

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе. Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд п...

Эффективные вложения в ИТ: Как посчитать ROI при внедрении ПО на примере системы маскирования данных Всем привет! Меня зовут Али Гаджиев, я Директор по продукту в компании Crosstech Solutions Group. Мы с моими коллегами Продакт-менеджером Дмитрием Симаком и Руководителем отдела анализа данных и машинного обучения Владимиром Коршуновым решили поднять ту тему, которую, зачаст...

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

Когда переключаются потоки в Spring WebFlux Работа с библиотекой WebFlux вызывает затруднения у многих Java/Kotlin разработчиковКод выглядит непривычно, непонятно в каких потоках выполняется логика и как этим управлятьСегодня я попытаюсь объяснить простым языком такой важный аспект, как момент переключения потоков в W...

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

Начать год по-новому: курсы, которые помогут выстроить ИТ-базу — быстро и без «воды» Рассказываем, как провести длинные выходные с пользой, если вы учитесь на ИТ-специальности, готовитесь к собеседованию на джуниор-позицию или хотите сменить направление работы. Чтобы помочь начинающим специалистам, мы в beeline cloud сделали специальные «базовые» курсы — по ...

Гонконгский эксперимент: зачем власти Гонконга придумали цифровой доллар и как идут его испытания Недавно Гонконгская монетарная ассоциация (HKMA Hong Kong Monetary Association) опубликовала отчет о пилотных проектах гонконгской долларовой цифровой валюты (Central Bank Digital Currency, CBDC или ЦВЦБ) — e‑HKD. Регулятор запустил программу‑пилот в мае,...

CRISPR в генотерапии. История и право CRISPR – это революционная технология генной инженерии, которая позволяет точно редактировать ДНК. Применение его в генотерапии может изменить жизнь миллионов людей с генетическими заболеваниями и миллиардов – с приобретенными. В этой статье я рассмотрю историю применения CR...

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

[Перевод] 8 углубленных вопросов на собеседованиях на роль сеньора в JavaScript JavaScript — это мощный язык, который является частью фундамента интернета. У этого мощного языка также есть некоторые свои особенности. Например, знаете ли вы, что значение 0 === -0 равно true, или что Number("") дает 0? Дело в том, что иногда эти причуды могут ...

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

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

Этапы и принципы развития навыка говорения Статью пришлось переопубликовать с важными уточнениями. Кто уже читал, в конце после чёрточки внизу – совершенно новый текст.«ЗНАТЬ иностранный язык» и «УМЕТЬ на нём разговаривать» — это очень разные вещи. Профессиональные переводчики знают язык глубоко, но разговаривают нек...

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

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

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа В этом многословном, но сравнительно простом цикле я дам введение в генерацию F#-кода. Как правило, для этих целей в сообществе рекомендуют использовать Myriad, что, по-моему, не совсем правильно, но на его примере можно увидеть, что тема кодогенерации очень объёмна.Однако я...

Про́клятый огонь, или магия препроцессора C Задавались ли вы когда-нибудь вопросом, можно ли полноценно программировать при помощи директивы #define в языке C? Полнота по Тьюрингу шаблонов C++ известна весьма широко, например, люди пишут трассировщики лучей, делающие все вычисления во время компиляции (вместо времени ...

Как стать надёжной базой Secure-base leadership или как стать надежной базой для коллег в нестабильные времена Сейчас набирает популярность относительно новый вид лидерства: secure base или «надёжная база». Этот подход в большей степени отражает контекст и потребности людей в вопросах построения карьеры и коммуникаций на работе. Во времена неопределенности важно, чтобы лидер мог воод...

Автоматизация тестирования специфических сценариев В этой заметке я поделюсь опытом автоматизации тестирования специфичных сквозных (E2E) сценариев, с которыми мне пришлось столкнуться.Для успешного решения этой задачи, я нарушил один из важных принципов тестирования - делай тесты независимыми. Далее я покажу, почему я так п...

Привычка быть SOLIDным разработчиком Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому ...

Точка доступа Wi-Fi из камеры видеонаблюдения на OpenIPC Пару десятков лет назад меня впечатлила новость, что какая-то корпорация смогла использовать настолько крутые технологии, что впихнули веб-сервер в коннектор RJ45. Для чего это нужно было уже и не вспомню, но сейчас, ковыряясь со своими камерами видеонаблюдения, меня осени...

KLIPPER: О подключении бюджетного дисплея "RepRapDiscount Full Graphics Smart Controller" к 3D контроллеру "BTT SKR E3-DIP". Оба моих принтера с "рождения" и до сей поры работали и работают на прошивке Marlin и в принципе не особо жаловались на свою трудовую жизнь. Да и меня в общем всё устраивало. Печатаю я немного, в основном техничку и всё вроде бы нормально, но всегда ведь хочется чего-то лучш...

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

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

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), ...

Нодовая архитектура на Unity Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContain...

[Перевод] Ликбез по вложенной прокрутке в Jetpack Compose В основе большинства приложений для Android лежат списки. За многие годы появилось множество различных решений, реализующих взаимодействие других компонентов пользовательского интерфейса со списками — например, как панель приложения реагирует на прокрутку списка или как влож...

Как работает блокчейн Scroll: технические детали и обзор архитектуры Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов на Solidity в команде MetaLamp. ​​В этой статье я расскажу про основные технические принципы блокчейна Scroll, которые повлияли на дизайн блокчейна, а также дам обзор общей архитектуры блокчейна.Из этой ст...

Почему Accelerate — это не страшно Всем привет! Я Игорь Белов, iOS-разработчик в Тинькофф Бизнесе, выпускник Университета Иннополис и энтузиаст в области Computer Science. Занимаюсь iOS-разработкой почти четыре года, мне нравится изучать фундаментальные темы программирования и разбираться, как все работает по...

Дракон Гоша рендер для привлечения вниманияПривет!Решил далее прокачивать скилл творчества и создать модель актуальную на текущий год

Реализация SHA256 и SHA512 на языке RUST Небольшая заметка студента о том, как самостоятельно реализовать алгоритмы SHA256 и SHA512 на Rust.Статья будет полезна всем, кто интересуется криптографией, хочет повысить уровень безопасности своих приложений или просто расширить свои знания в области программирования на R...

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

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

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

Чтение на выходные: «Интерфейс. Новые направления в проектировании компьютерных систем» Джефа Раскина Джеф Раскин — специалист в области интерфейсов. Известен был, в первую очередь, тем, что однажды задумал создать удобный компьютер для простых пользователей, имя которому Macintosh. Как автор исследовал взаимодействие человека и машины с учетом принципов эргономики и ко...

Пишем REST-приложение на Delphi Привет, Хабр! Я Ануар, работаю в GlowByte и профессионально играю на нервах (шутка

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

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

Как создать ассистента для поиска по видео Всем привет! Меня зовут Георгий, я старший разработчик-исследователь в MTS AI. Одной из задач, которыми я занимаюсь в компании, является умная видеоаналитика. Это мощный инструмент, особенно с учетом современных технологий искусственного интеллекта, который может использоват...

[Перевод] Безымянный язык программирования без присваивания имён Придумывать имена сложно. Давайте посмотрим, как далеко мы можем зайти без них.Что это?Это язык программирования, основанный на трёх парадигмах:Бесточечном программированииСтековом программированииМассиво-ориентированном программированииОсновная «фишка» языка — избегание люб...

Чем бизнес-аналитик отличается от системного и почему для проектов цифровой трансформации вам нужно два специалиста Привет, Хабр! Я Владимир Хрипун, руководитель центра компетенций по развитию BPM-систем в Первой грузовой компании. Сегодня разберем с вами, чем бизнес-аналитик отличается от системного и почему для проектов цифровой трансформации вам нужно два специалиста. Статья будет поле...

CSI — индекс удовлетворённости клиентов. Где провести и как рассчитать? Эта статья предназначена для предпринимателей, маркетологов, специалистов по клиентскому опыту, которые стремятся глубже понять своих клиентов и улучшить качество своих услуг и продуктов.Что делает эту статью особенно ценной и интересной? Здесь мы представляем не только осно...

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

В России запустят единый сервис по открытию бизнеса онлайн В России начнёт работать единый сервис, в котором одним кликом можно будет зарегистрировать бизнес онлайн, открыть счет в банке и получить электронную подпись, о чем сообщают «Известия» со ссылкой на секретариат вице-премьера России Дмитрия Григоренко. &laqu...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами. Часть 1 В данном цикле статей будет представлен процесс разработки и тестирования RTLмодулей на языке Verilog. В качестве примера будет рассмотрен целочисленный сумматор с AXI-Stream интерфейсами. Мы разберем некоторые приемы и паттерны, часто используемые при проектировании цифровы...

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

Кулинарный гид по Vue.js: всё о props Привет, Хабр! В этой статье разберемся, как frontend-разработчику готовить на «кухне» props. Выбирайте подходящий уровень сложности: джуны-поварята смогут лучше разобраться в работе и применении props на фреймворке Vue.js, а еще мы затронем тему валидации. Для мидлов и более...

5 лучших фишек Google Pixel 8, ради которых ты еще больше захочешь перейти с Айфона на Андроид Pixel снова круче iPhone. Это топ за те же деньги! Не так давно Гугл провела очередную презентацию, на которой показала новые Pixel 8 и Pixel 8 Pro. Флагманские смартфоны компании с каждым годом становятся все более узнаваемыми, а подтверждением этому стало то, что Pixel ока...

Первый учебник не о том, ЧТО нужно знать QA (про это сказано достаточно), а КАК правильно учиться и быстрее найти работу Гуд ньюз эвриван! У нас с друзьями есть традиция — каждый год мы пишем хотя бы один большой IT-учебник. В 2023 году мы выпустили бесплатный 100-Year QA-Textbook - интерактивный учебник по тестированию на английском и русском языках. 700+ страниц (без учета картинок!), 4...

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

Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам При работе над паттерном навигации моя команда выяснила интересный факт — мало материалов для дизайнеров. Я провела своё исследование: поговорила с разработчиками, проанализировала множество приложений и заглянула в гайдлайны.В статье покажу три самых популярных вида навигац...

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

Имплиситы и тайпклассы в Scala И мы тебя научим...Очередная статья про имплиситы и тайпклассы в Scala, которая, в большей степени, будет интересна для начинающих скалистов. Читать

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