Search
Write a publication
Pull to refresh
9
0
Марат Цконян @OrkBiotechnologist

Аналитик, техпис и немного биолог

Send message

Python на вынос: PyInstaller и Nuitka

Level of difficultyEasy
Reading time11 min
Views5.2K

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

Один из вариантов был использовать Docker, но я от него отказался по причине того, что окружение для Docker тоже надо будет готовить. Потом надо будет правильно запуск этот образ и правильно с ним взаимодействовать. Конечно, для упрощения можно использовать docker compose, но это не сильно снижает сложность для конечного пользователя. Кроме того, образ будет достаточно большим.

Поэтому я после некоторых размышлений обратился к таким инструментам как Python Compilers, а именно - Nuitka и PyInstaller и провёл небольшое исследование на предмет

Оба инструмента упаковывают Python-приложение со всеми зависимостями в один пакет таким образом, что конечный пользователь приложения может обойтись без установки Python на свою машину.

Есть два варианта того, что мы получаем от их работы в качестве результата (кроме эмоциональных ощущений):

Читать далее

Не найдётся ли у вас оперативной памяти, мистер Нейман?

Level of difficultyEasy
Reading time4 min
Views4.1K

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

Читать далее

Почему все современные (именно современные) авиалайнеры похожи сами на себя?

Reading time5 min
Views25K

Почему все современные (именно современные) авиалайнеры похожи сами на себя? Короткий ответ - тому что физика (и исходящие из нее нормы сертификации и безопасности ЛА, а так же экономической эффективности) на планете общая, но можно и нужно раскрыть эту тему подробнее.

Читать далее

Решение задачи с собеседования Reverse Linked List [+ ВИДЕО]

Level of difficultyEasy
Reading time4 min
Views4K

Всем салют! Давайте решим задачу "Reverse Linked List"

Дан указатель head на начало односвязного списка, необходимо развернуть список и вернуть развернутый список.

Читать далее

Домашние шпионы: как поставщики WiFi-оборудования следят за вашей личной жизнью

Level of difficultyEasy
Reading time9 min
Views20K

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

Речь идёт о WiFi-узлах (WiFi-pods), производимых такими компаниями, как Plume Design Inc. Эта компания заняла значительную долю рынка WiFi-устройств, охватив своими продуктами с возможностью слежки более 60 миллионов домашних систем по всему миру.
Читать дальше →

NVIDIA и ARM — От первых шагов до попыток поглощения

Level of difficultyEasy
Reading time6 min
Views1.7K

Привет Хабр! Мы в ServerFlow не просто поставляем серверное оборудование – мы железо всех видов и сортов горячо любим и им интересуемся, особенно историей его развития. Сегодня мы хотим поделиться с вами историей развития ARM-направления в NVIDIA — от первых попыток в мобильном сегменте до недавних стратегических ходов, включая неудавшуюся попытку приобрести ARM Holdings.
Подробнее обо всём этом ниже в статье.

Читать далее

Распознавание изображений. Алгоритм Eigenface

Reading time6 min
Views67K

Введение



Я продолжаю серию статей посвящённую тематике pattern recognition, computer vision и machine learning. Сегодня я вам представляю обзор алгоритма, который носит название eigenface.



В основе алгоритма лежит использование фундаментальных статистических характеристик: средних (мат. ожидание) и ковариационной матрицы; использование метода главных компонент. Мы также коснёмся таких понятий линейной алгебры, как собственные значения (eigenvalues) и собственные вектора (eigenvectors) (wiki: ru, eng). И вдобавок, поработаем в многомерном пространстве.
Как бы страшно всё это не звучало, данный алгоритм, пожалуй, является одним из самых простых рассмотренных мною, его реализация не превышает нескольких десятков строк, в тоже время он показывает неплохие результаты в ряде задач.

Мне не страшно.

От промптов к дообучению: четыре уровня адаптации open-source моделей

Reading time12 min
Views6.5K

Привет, Хабр! Меня зовут Анна Щеникова, я аналитик в Центре RnD в МТС Диджитал. Ко мне часто приходят задачи, где нужно использовать open-source LLM. Сразу же встает вопрос: а как адаптировать имеющуюся модель под конкретный кейс?

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

Читать далее

Backblaze: надежность жестких дисков продолжает падать

Reading time3 min
Views13K

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

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

Читать далее

Практический пентест Kubernetes. Ищем открытые ресурсы

Reading time7 min
Views2.7K

Среда оркестрации контейнеризированных приложений Kubernetes получила в последние годы широкое распространение.

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

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

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

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

Читать далее

Два потока, одно ядро: как устроена одновременная многопоточность

Level of difficultyMedium
Reading time13 min
Views31K

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

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

Примечание: основная часть изложенного в статье относится к реализации SMT компании Intel, также называемой гипертредингом (hyper-threading). Она основана на научной статье компании, опубликованной в 2002 году.
Читать дальше →

Плавающая запятая, что правит миром

Level of difficultyEasy
Reading time8 min
Views6.6K

Нет числа мемам и шуткам про то, как в программировании 0,2 + 0,2 равно не 0,4, а 0,40000009... Все привыкли к подобным ограничениям, проистекающим из стандарта IEEE754. Но как мы к нему пришли, что из себя представляют FPU-модули для работы с плавающей запятой, как ARM-процессоры до недавнего времени обходились без них? Да и откуда вообще в математике возникла концепция плавающей запятой? Попробуем разобраться во всём этом, а заодно попробуем на практике в коде.

Читать далее

Восход ARM: От Первых шагов до Войны за Рынок

Level of difficultyEasy
Reading time10 min
Views1.7K

Привет, Хабр! Мы в ServerFlow занимаемся поставками серверного оборудования. В основном, мы работаем с x86-железом, долгие годы было стандартом де-факто в индустрии. Однако в последние годы мы наблюдаем интересную тенденцию: архитектура ARM, которая когда-то использовалась лишь в маломощных устройствах, всё активнее заявляет о себе и в серверных решениях. ARM, начав с простых и энергоэффективных процессоров, теперь стремительно движется к доминированию, доказывая свою пригодность даже для гигантских ЦОДов и суперкомпьютеров. Давайте вместе погрузимся в историю этих двух архитектур и посмотрим, как ARM смогла пройти путь от решений для маломощных устройств до облаков и суперкомпьютеров.

Читать далее

Более 250 бесплатных курсов и ресурсов по аналитике

Level of difficultyEasy
Reading time11 min
Views49K

Большая подборка для аналитиков данных, продуктовых аналитиков, веб аналитиков, маркетинговых аналитиков и особенно тех, кто хочет ими стать. От автора Telegram-канала «Аналитика и Growth mind-set».

Но прежде несколько важных моментов:

Читать далее

Дорожная карта DevOps: от новичка до эксперта

Level of difficultyEasy
Reading time6 min
Views53K
image

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

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

Читать дальше →

Смотрим на красивое – мощь от дяди Хуанга, Nvidia HGX H100 в Нидерландах

Level of difficultyEasy
Reading time6 min
Views8.3K

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

И знаете что? Эмоций ничуть не меньше и когда ты облачный провайдер, а в ЦОД пришло долгожданное обновление, с пылу с жару от дяди Хуанга! Но об этом, поговорим уже ниже в посте.

Читать далее

Многопоточность в играх

Level of difficultyEasy
Reading time16 min
Views12K

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

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

Читать далее

Алгоритмы — самый провальный этап собеседований

Level of difficultyEasy
Reading time7 min
Views37K

Уже много лет IT компании проводят алгоритмические собеседования при найме технических специалистов. Подход введенный в FAANG плавно перетек в большинство крупных компаний. Яндекс, Авито, Т-Банк и многие другие хотят проверить алгоритмические знания кандидатов. Но на практике такое собеседование оказывается бесполезным созвоном на 45 минут, который ничего не говорит о кандидате.

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

Но очень мало можно встретить критики и конкретного разбора проблем алгоритмических собеседований и их внедрения в воронку найма. Эта статья будет первой в цикле “в чем проблема алгоритмов”.

Кто-то может сказать: “О, человека не приняли в компанию из-за алгоритмов и он решил обидеться и сказать всем, что алгоритмы бесполезны”. Отчасти это так и было, но я решил не останавливаться на своем чувстве несправедливости и пошел дальше: адаптировал алгоритмы в компании, прошел все этапы в Google и даже решал алгоритмы на протяжении года.

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

Но все это отдельными статьями, ссылки на которые я приложу сюда позже.

Сейчас я просто хочу рассказать свою историю.

Читать далее

Как мы в России сделали микрофон как у Артемия Лебедева и продаем по всему миру

Level of difficultyEasy
Reading time12 min
Views104K

В 2016-м у меня была ипотека, беременная жена, а мое производство микрофонов на 80 кв.м в Туле приносило убытков на 1 млн в месяц. Я брал кредиты, занимал у родителей и смотрел на подработку в такси. А сейчас мы продаем на 200 млн ₽ в год, а наши микрофоны известны по всему миру. 

Читать далее

Графические ускорители: битва между AMD и NVIDIA

Level of difficultyEasy
Reading time7 min
Views6.1K

Графические процессоры (GPU) стали важной частью современной вычислительной техники, превратившись из устройств для рендеринга графики в критически важные компоненты для ИИ, обработки данных и высокопроизводительных вычислений. GPU состоят из множества вычислительных блоков, в основном простых арифметико-логических устройств (ALU), которые часто дополняются специализированными ядрами, такими как тензорные и RT ядра. Эти специализированные ядра позволяют параллельно обрабатывать сложные уравнения с векторами, матрицами и тензорами. В этой статье мы рассмотрим конкуренцию между AMD и NVIDIA, выясняя, почему AMD постоянно отстает от NVIDIA в ускорении GPU и гонке ИИ, и изучим исторические, технологические и стратегические факторы, которые сформировали это соперничество.

Читать далее

Information

Rating
7,173-rd
Location
Alicante/Alacant, Испания
Works in
Date of birth
Registered
Activity

Specialization

Business Analyst, Technical Writer
Middle
Python
C++
Linux
English
Docker
Journalism
Technical director
Interview
Support projects
CIO