Привет, меня зовут Рома. Я работаю в KTS на позиции Python backend-разработчика.
Однажды мне взбрело в голову написать собственную имплементацию алгоритма сжатия RLEЧитать полностью »
Привет, меня зовут Рома. Я работаю в KTS на позиции Python backend-разработчика.
Однажды мне взбрело в голову написать собственную имплементацию алгоритма сжатия RLEЧитать полностью »
В процессе решения некоторой задачи, я наткнулся на одно интересное свойство триангуляции ДелонеЧитать полностью »
Никто не может отрицать, что мозг — это интересно. Изучен он примерно на уровне марсианских пустынь. И это при том, что он лежит в черепной коробке у каждого из нас.
Совсем недавно появилась поистине революционная теория работы мозга. И придумана она, внимание, бывшим разработчиком популярных КПК, основателем Palm Computing. Неожиданно, верно? И для того чтобы донести свою новейшую теорию до широкой аудитории, Джефф Хокинс написал книгу. Научно-популярную. И сегодня мы ее разберем по кусочкам! Читать полностью »
Планирование процессов в операционных системах — это как умение акробата балансировать на тонкой нити. Этот незаметный сложный механизм определяет, как ваш компьютер управляет своими ресурсами. На первый взгляд все кажется просто: переключайте задачи на процессоре как можно быстрее, чтобы минимизировать время простоя и максимизировать общую производительность. Но в реальности это глубокий исследовательский вопрос, который требует учета множества факторов: приоритетов задач, доступности ресурсов и оптимизации. Давайте разбираться вместе!Читать полностью »
В Дзене Python есть принцип, согласно которому "должен существовать один и желательно только один очевидный способ сделать это". Однако в Python есть как минимум три способа возведения числа в степень:
оператор **
встроенная функция pow()
функция math.pow()
В этой статье мы рассмотрим каждый из способов и разберемся, чем они отличаются.
Оператор **
— это классический оператор возведения в степень. Это в принципе первое, что обычно приходит в голову любому программисту на Python, когда требуется возвести число в степень.
Приведенный ниже код:
Читать полностью »
Устранив скрытую неэффективность, учёные придумали новый способ умножения больших матриц, который работает быстрее, чем когда-либо.
Учёные, занимающиеся информатикой, — это требовательная группа. Им недостаточно получить правильный ответ — цель почти всегда состоит в том, чтобы получить ответ как можно эффективнее.
sin
, cos
, tan
и тому подобных на маломощных устройствах без использования модуля обработки операций с плавающей запятой или затратных таблиц поиска. По факту он сводит эти сложные функции до простых операций сложения и битового сдвига.
Перейду сразу к делу и скажу, почему я так сильно люблю этот алгоритм, а затем займёмся изучением принципов его работы. По сути, фактические операции CORDIC весьма просты — как я уже сказал, это сдвиги и сложение — но выполняет он их путём комбинирования векторной арифметики, тригонометрии, доказательств сходимости и продуманных техник компьютерных наук. Лично я считаю, что именно это имеют ввиду, описывая его природу, как «элегантную».Читать полностью »
У каждого разработчика есть набор инструментов для решения различных задач. Однако со временем возникает необходимость расширять этот набор, чтобы эффективно справляться с более сложными задачами. В этой статье я хочу познакомить вас с инструментом, которым вы, скорее всего, раньше не пользовались. И хотя он подходит для решения узкого спектра задач, его использование может оказаться весьма полезным. Знакомьтесь — "фильтр Блума" (Bloom filter).