Search
Write a publication
Pull to refresh
3
0

Руковожу разработкой всякого разного

Send message

Отслеживаем прогресс выполнения в Python

Reading time2 min
Views171K

Зачем нужны индикаторы прогресса?


Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.


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

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

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

Reading time5 min
Views11K
⇨ Первая часть
⇨ Третья часть

И снова здравствуйте!

Как вы могли заметить, праздники несколько подкосили график выхода статей.
Думаю, многие за это время успели если не полностью обучить свою модель, то хотя бы поэкспериментировать с различными наборами данных.
1. Ставим дистрибутив
2. Качаем фотки
3. ???
4. Profit!
Если же вам было не до этих наших нейросетей, или вы начинаете чтение с этой статьи, то, как говорится, нет времени объяснять, берем дистрибутив, качаем нужные фотки, и поехали!
Читать дальше →

Пять интересных способов использования Array.reduce() (и один скучный путь)

Reading time7 min
Views79K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi.


Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce().


На первый взгляд он кажется простым, скучным методом, который мало что дает. Но, не смотря на свой скромный вид, Array.reduce() является мощным и гибким дополнением к вашему набору инструментов разработчика.


Сегодня рассмотрим некоторые интересные вещи, которые можно сделать с помощью Array.reduce().

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

Логические поля в базах данных, есть ли противоядие

Reading time9 min
Views16K

Часто в таблицах содержится большое количество логических полей, проиндексировать все из них нет возможности, да и эффективность такой индексации низка. Тем не менее, для работы с произвольными логическими выражениями в SQL пригоден механизм многомерной индексации о чем и пойдёт речь под катом.
Читать дальше →

На моей визитке работает Linux

Reading time6 min
Views110K
Перевод статьи из блога инженера Джорджа Хиллиарда


Кликабельно

Я инженер встроенных систем. В свободное время я часто ищу то, что можно будет использовать в проектировании будущих систем, или что-то из разряда моих интересов.

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

Я подумал: «Эти процессоры настолько дешёвые, что их практически можно раздавать даром». И через некоторое время ко мне пришла идея сделать голую карточку для Linux в форм-факторе визитной карточки.
Читать дальше →

Зачем учить Java и как делать это эффективно. Доклад Яндекса

Reading time11 min
Views63K
Чем Java отличается от других популярных языков? Почему именно Java может быть первым языком для изучения? Давайте составим план, который поможет выучить Java как с нуля, так и с применением навыков программирования на других языках. Перечислим отличия между созданием продакшен-кода на Java и разработкой на других языках. Михаил Затепякин прочитал этот доклад на встрече для будущих участников стажировки Яндекса и других начинающих разработчиков — Java Junior meetup.


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

Пишем блог на микросервисах – часть 3 «User»

Reading time6 min
Views5.3K
Во второй части нашего цикла статей «Пишем блог на микросервисах» мы описали «API Gateway».

Здесь мы опишем реализацию микросервиса User.
Читать дальше →

Заменяем User Story на Job Story

Reading time5 min
Views32K
Всем привет. Перевели еще один интересный материал для студентов курса «Product Manager IT-проектов». Приятного прочтения




Раньше, я уже писал о проблемах с user story (пользовательскими историями). В те времена я считал, что лучше просто попросить команду обсудить предлагаемые изменения в продукте. Стратегия была хорошей, если команда оказывала помощь, а продукт был уже зрелым. Однако теперь я работаю с новой командой и создаю продукт с нуля. В таком случае перед нами лежит чистый лист и нам непросто прийти к согласию, когда речь заходит о мотивации клиентов, событиях и ожиданиях. На сегодняшний день все изменилось. Я нашел отличный способ использовать философию Jobs To Be Done, чтобы определить функционал продукта. Сегодня мы поговорим о Job Stories.
Читать дальше →

Как организовать релиз

Reading time4 min
Views15K
Релизить продукт — это самая важная часть работы любой софтверной компании. Но если вы боитесь делать релиз, то возможно вы что-то делаете не так. Я расскажу как обычно организовываю релиз. Данная статья не претендует на исчерпывающее руководство поскольку в индустрии разработки программного обеспечения все индивидуально.
Читать дальше →

Юнит-тесты на Python: Быстрый старт

Reading time4 min
Views134K
Перевод статьи подготовлен специально для студентов курса «Python QA Engineer».




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

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

Как работают квантовые компьютеры. Собираем паззл

Reading time33 min
Views276K


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


А недавно ко мне подошли коллеги и спросили “Ты понимаешь как работает квантовый компьютер? Можешь нам рассказать?” И тут я понял, что проблема со складыванием в голове целостной картинки есть не только у меня.


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

Получилось или нет - решать, как обычно, вам.

Фундаментальное решение системы линейных уравнений. Взгляд со стороны

Reading time2 min
Views13K
Добрый день!

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

Задача, которой мы займемся звучит так.
Найти общее решение следующей системы уравнений

image

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

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

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

Но решение красиво и наглядно, кроме этого легко видеть критерий при котором система не имеет решений.
Читать дальше →

Юрий Рогачев: «Делать М-1 я пришел, не зная вычислительной техники»

Reading time9 min
Views6.8K


Сейчас Юрию Васильевичу 94 года, но он прекрасно помнит, как в начале 1950-х создавалась М-1 — первая в мире цифровая вычислительная машина, в которой логические схемы строились на полупроводниковых элементах. В интервью музейному проекту DataArt Рогачев рассказал о разработке ее элементной базы и арифметического узла. Но началась эта история раньше, когда Юрий Васильевич служил в армии.
Читать дальше →

ClickHouse + Graphite: как значительно уменьшить потребляемое место на дисках

Reading time5 min
Views8.4K


Приветствую, habr.


Если кто-то эксплуатирует систему graphite-web и столкнулся с проблемой производительности хранилища whisper (IO, потребляемое дисковое пространство), то шанс того, что был брошен взгляд на ClickHouse в качестве замены, должен стремиться к единице. Данное утверждение подразумевает то, что в качестве принимающего метрики демона уже используется сторонняя реализация, например carbonwriter или go-carbon.


ClickHouse хорошо решает описанные проблемы. К примеру, после переливки 2TiB данных из whisper, они уместились в 300GiB. Подробно на сравнении я останавливаться не буду, статей на эту тему хватает. К тому же, до недавнего времени с нашим ClickHouse хранилищем было не всё идеально.

Так что же не так?

DevOps — хорошо, но что делать? Как сократить ручной труд и прийти к желаемому результату

Reading time15 min
Views2.8K
Итак. В 2018 году на Heisenbug (Московская конференция по тестированию) Барух Садогурский (Developer Advocate в компании JFrog) презентовал интересный кейноут, в котором рассказал о своих основных идеях того, «куда надо идти». В 2019 году на том же  Heisenbug состоялся сиквел его доклада про то, КАК идти, чтобы достичь этой цели. С одной стороны, мне бы хотелось поддержать версию движения Б. Садогурского, которую он транслировал, но во первых мне она еще не известна, а во вторых рискну сформулировать свое видение и описать свой личный путь, основываясь на своем опыте.
Читать дальше →

Как соблюсти требования 152-ФЗ, защитить персональные данные своих клиентов и не наступить на наши грабли  

Reading time4 min
Views22K


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

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

Как на GO решить задачку по распознаванию аудио

Reading time8 min
Views4.5K
Недавно BI.ZONE приняла участие в конференции HighLoad++. Понятное дело, что мы приехали туда не просто поглазеть на чужие стенды, а привезли кое-что интересное. Сотрудники из разных отделов компании приготовили для гостей конференции задачи, за решение которых мы предлагали призы. Одна из задач по Golang была посвящена распознаванию звука. Мы попросили ее автора рассказать о ней.

Постановка задачи


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

#Назаметку. Осторожно, атомарные операции в ConcurrentHashMap

Reading time6 min
Views12K


В Java с незапямятных времён есть замечательный интерфейс Map и его имплементации, в частности, HashMap. А начиная с Java 5 есть ещё и ConcurrentHashMap. Рассмотрим эти две реализации, их эволюцию и то, к чему эта эволюция может привести невнимательных разработчиков.

Warning: в статье использованы цитаты исходного кода OpenJDK 8, распространяемого под лицензией GNU General Public License version 2.
читать дальше

Как Яндекс научил искусственный интеллект находить ошибки в новостях

Reading time7 min
Views14K
Мы часто рассказываем о технологиях и библиотеках, которые зародились и сформировались в Яндексе. На самом деле мы ничуть не реже применяем и развиваем сторонние решения.

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



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

Конфигурация программ на Go

Reading time6 min
Views20K

Gopher with flag


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


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

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity