Pull to refresh

YouTube предложит всем пользователям никнеймы

Reading time 1 min
Views 3.5K
Working with video *Media management *Copyright Social networks and communities

Все пользователи YouTube скоро получат новый способ идентификации. Компания объявила, что внедрит дескрипторы @name.

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 1

Руководство к дескрипторам

Reading time 10 min
Views 145K
Python *
Translation

Краткий обзор


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

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

Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Comments 5

Еще немного о дескрипторах в Python

Reading time 3 min
Views 17K
Python *
Sandbox
Не так давно на Хабре уже был перевод статьи Раймонда Хеттингера Руководство к дескрипторам. В этой статье я постараюсь рассмотреть вопросы, которые возникли у меня после прочтения. Будет немного примеров кода, собственно вопросов и ответов к ним. Для понимания того, о чем речь, вам нужно знать, что такое дескрипторы и зачем они.

Читать дальше →
Total votes 47: ↑45 and ↓2 +43
Comments 29

Организация памяти

Reading time 7 min
Views 225K
Programming *
За последнюю неделю дважды объяснял людям как организована работа с памятью в х86, с целью чтобы не объяснять в третий раз написал эту статью.

И так, чтобы понять организацию памяти от вас потребуется знания некоторых базовых понятий, таких как регистры, стек и тд. Я по ходу попробую объяснить и это на пальцах, но очень кратко потому что это не тема для этой статьи. Итак начнем.
Читать дальше →
Total votes 178: ↑145 and ↓33 +112
Comments 141

Декоратор cached_property

Reading time 3 min
Views 24K
Python *
Как часто вы пишете такие конструкции?

class SomeClass(object):
    @property
    def param(self):
        if not hasattr(self, '_param'):
            self._param = computing()
        return self._param

    @param.setter
    def param(self, value):
        self._param = value

    @param.deleter
    def param(self):
        del self._param

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

У этого кода есть и минусы: у объекта появляется лишний атрибут с именем _param; при каждом обращении к атрибуту вызывается метод param(), который делает проверку hasattr; получившийся код достаточно большой, особенно если таких атрибутов в классе несколько.
Читать дальше →
Total votes 49: ↑44 and ↓5 +39
Comments 3

Обзор дескрипторов изображения Local Binary Patterns (LBP) и их вариаций

Reading time 12 min
Views 14K
Algorithms *Image processing *Machine learning *
Добрый день, хабровчане. Приглашаю под кат программистов, интересующихся компьютерным зрением и обработкой изображений. Возможно, вы пропустили несложный но эффективный математический инструмент для низкоуровневого описания текстур и задания их признаков для алгоритмов машинного обучения.
Мне интересно!
Total votes 11: ↑11 and ↓0 +11
Comments 10

Решение задания с pwnable.kr 01 — fd. Файловые дескрипторы и процессы

Reading time 3 min
Views 5.2K
Information Security *Programming *CTF *
image

В данной статье разберем: что же такое файловый дескриптор, как процессы получают доступ к определенным потокам ввода/вывода, и решим первое задание с сайта pwnable.kr.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 1

Решение задания с pwnable.kr 06 — random и 09 — mistake

Reading time 3 min
Views 2.1K
Information Security *Programming *CTF *
image

В данной статье узнаем как перехватить данные, передаваемые между библиотечной функцией и программой, вспомним про файловые дескрипторы и решим 6-е и 9-е задания c сайта pwnable.kr.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 0

Атрибуты и протокол дескриптора в Python

Reading time 6 min
Views 12K
Python *Programming *
Tutorial
Translation

Рассмотрим такой код:


class Foo:
    def __init__(self):
        self.bar = 'hello!'

foo = Foo()
print(foo.bar)

Сегодня мы разберём ответ на вопрос: «Что именно происходит, когда мы пишем foo.bar




Вы, возможно, уже знаете, что у большинства объектов есть внутренний словарь __dict__, содержащий все их аттрибуты. И что особенно радует, как легко можно изучать такие низкоуровневые детали в Питоне:


>>> foo = Foo()
>>> foo.__dict__
{'bar': 'hello!'}

Давайте начнём с попытки сформулировать такую (неполную) гипотезу:


foo.bar эквивалентно foo.__dict__['bar'] .


Пока звучит похоже на правду:


>>> foo = Foo()
>>> foo.__dict__['bar']
'hello!'

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 2

Main Loop (Главный цикл) в Android Часть 3. Другие главные циклы

Reading time 16 min
Views 6.3K
Циан corporate blog Programming *Game development *Development for Android *

Основой любого приложения является его главный поток. На нем происходят все самые важные вещи: создаются другие потоки, меняется UI. Важнейшей его частью является цикл. Так как поток главный, то и его цикл тоже главный - в простонародье Main Loop.

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

Это третья и финальная часть разбора главного цикла в Android. В первой части мы разобрались с тем, что такое главный цикл и как он работает. Во второй, как это работает в Android SDK в Java слое. В этой части мы посмотрим на особенности Looper в C++, поверхностно пробежимся по Flutter, Chrome и React Native. А еще есть игры — в них вообще все с ног на голову.

Читать далее
Total votes 18: ↑18 and ↓0 +18
Comments 1

Хочу жить в такой же: как мы научились искать квартиры по фотографиям

Reading time 9 min
Views 3.4K
Циан corporate blog Image processing *Machine learning *Artificial Intelligence Microservices *

Привет, Хабр!

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

В статье поговорим о том, как мы решили задачу с помощью алгоритмов глубокого обучения, и расскажем, что там под капотом этой функции и как мы подружили EfficientNet с FAISS. В работе над статьей мне помогал Владимир Филипенко (@vovaf709): он изложил самые основы, чтобы текст мог понять и неспециалист.

Итак, начнём
Total votes 12: ↑12 and ↓0 +12
Comments 13

Как побороть депрессию с помощью С++. Кто такие дескрипторы и с чем их едят

Reading time 8 min
Views 6.7K
C++ *
Tutorial
Sandbox

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

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 21

Найти за полсекунды: сравниваем похожие фотографии

Reading time 10 min
Views 14K
Конференции Олега Бунина (Онтико) corporate blog High performance *Search engines *PHP *Algorithms *
✏️ Technotext 2022

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

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

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

Читать далее
Total votes 54: ↑53 and ↓1 +52
Comments 7

Что есть функция в Python?

Reading time 9 min
Views 14K
Python *Programming *
Sandbox

В начале же статьи предупрежу:

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

Статья будет состоять из 4 частей:

1. Как осуществляется поиск атрибутов в классах
2. Что есть метод и как он вызывается
3. Что есть функция и как она вызывается
4. Вывод

Читать далее...
Total votes 15: ↑12 and ↓3 +9
Comments 8