Получи случайную криптовалюту за регистрацию!

DevFM

Логотип телеграм канала @devfm — DevFM D
Логотип телеграм канала @devfm — DevFM
Адрес канала: @devfm
Категории: Технологии
Язык: Русский
Количество подписчиков: 1.97K
Описание канала:

Канал от Python-разработчиков:
— востребованные инструменты
— system design
— softskills
— лучшие практики разработки
— подготовка к собеседованиям
Увеличим твою ценность на рынке IT
Для связи @sa_bul

Рейтинги и Отзывы

3.50

2 отзыва

Оценить канал devfm и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

1

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

0


Последние сообщения

2022-10-07 10:01:44 Пятничное развлекательное — клипы

В этот день вместо профильного контента у нас культурный код.

Заряд динамической музыки вы найдёте в клипе Gigi D'Agostino Bla Bla Bla. В нём показана необычная история о путешествии, о единстве и борьбе противоположностей, о дружбе и соперничестве. Или нет, абстрактное искусство оно такое.

Если у вас нет настроения для драйва, можете расслабиться за просмотром ASMR Programming - Coding Matrix - No Talking. Vim, механическая клавиатура, немного javascript — и через 15 минут у вас заставка из Матрицы на экране. Кстати, Матрицу мы вспоминали в подборке фильмов про реальность нашего мира. А кто не знаком с ASMR — поищите другие ролики, вам может понравиться.

#fun
188 views07:01
Открыть/Комментировать
2022-10-06 10:01:59 Тернистый путь к ClickHouse

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

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

Помимо описания процесса выбора и возникающих сложностей интересно узнать в ретроспективе об архитектуре хранения и работы с данными: MariaDB -> Elasticsearch -> ClickHouse.

Для желающих погрузиться в технические особенности рекомендуем статью от тех же авторов: Репликация ClickHouse без костылей: ожидание и реальность
#skills #softskills
335 views07:01
Открыть/Комментировать
2022-10-05 10:01:04
В прошлый раз мы разобрались, как сделать удобный доступ к первому и последнему элементу объекта users. Для этого использовали динамические атрибуты и реализовали магический метод __getattr__.

При выполнении self.first = "new_user" происходит нежелательное поведение, и атрибут first перестанет указывать на первый элемент.

Для решения проблемы сделаем атрибуты first и second read only. Для этого определим магический метод __setattr__. Обратите внимание: __getattr__ вызывается, только если искомого атрибута нет, а метод __setattr__ вызывается каждый раз при присваивании значения атрибуту.

При попытке присвоить значение атрибуту проверяется содержится ли он в shortcut_names. Если содержится, то порождается исключение. Если не содержится, вызывается родительский __setattr__.
#codereview
405 views07:01
Открыть/Комментировать
2022-10-04 10:00:30 Теория разбитых окон

10% людей* всегда несут фантик до мусорки, 5% людей всегда бросают фантик под ноги. Остальные 85% людей действует по ситуации — если вокруг уже грязно, то бросают под ноги, а если чисто — то несут до мусорки.

В статье О разбитых окнах проводится параллель между разбитыми окнами и проектной разработкой. Выстраивание правильных процессов даёт долгосрочный положительный эффект. На наш взгляд, в правильном процессе обязательны:
— документация (Docstrings, Readme)
— статический анализ кода (pylint, mypy, ...)
— тесты
— постановка задач и тракт issue — branch — merge request
— code review
— CI/CD
— онбординг новых разработчиков

Эксперименты про теорию разбитых окон интересно описаны в вики.

*наши наблюдения.
#edu #devfm
491 views07:00
Открыть/Комментировать
2022-10-03 10:00:43 О правах на код в канале ЦИФРА

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

В посте ребята освещают спорный вопрос о праве на код. Программист обвиняет компанию в неправомерном использовании разработанной им программы. Захватывает внимание отсутствие единогласия судов разных инстанций и игнорирование очевидных разработчикам фактов. Спор дошёл до Конституционного суда, где автор доказывал свое право на судебную защиту.
#edu
554 views07:00
Открыть/Комментировать
2022-10-02 16:01:46 Backup: сентябрь

Python
1. Типовая структура python-проекта без веба
2. Вопросы для junior python developer 
3. Зачем WSGI в Python?
4. Почему стоит выбрать Python
5. Возможности f-строк 
6. Разработка надёжных Python-скриптов 
7. Pattern Matching 

Нетехнические навыки:
1. Социальная инженерия Кевина Митника
2. Хорошая и плохая прокрастинация 
3. История поиска работы "Борис опять"

Рассуждаем о программировании:
1. Sublime Merge — графический git-клиент
2. Магия CORS 

Разбираем код:
1. Что же не так в этом коде?
2. Хитрости getattr

Hardskills:
1. Брокер сообщений Apache Kafka 
2. Проектируем сервис: поиск организаций по картам
3. Поиск команд в консоли с помощью ctrl+r 
4. Постигаем git stash 
5. Мониторинг важен. Рабочий мониторинг ещё важнее
6. Продолжаем о собеседованиях 
7. Миграция БД без даунтайма

#backup
557 views13:01
Открыть/Комментировать
2022-10-01 18:06:52
Как обмануть нейронную сеть

В статье One pixel attack for fooling deep neural networks изложен метод атаки на нейросеть, когда в результате замены всего одного пикселя на изображении распознавание становится некорректным. Чёрным подписано исходное изображение, в скобках "уверенность" нейросети, синим — распознавание после замены пикселя. И чашка становится супницей, детская люлька — бумажным полотенцем, чайник — джойстиком, а хомяк — соской.

Что это значит на практике? Дорожный знак из-за небольшой наклейки может превратиться в "кирпич" для беспилотного автомобиля, заставив машину остановиться. В современном машинном обучении многие непозволительно мало внимания уделяют злонамеренным атакам.
#skills #datascience
594 views15:06
Открыть/Комментировать
2022-09-30 18:01:50 Кино на выходные

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

Идея не нова. Уже в 2016 году в серии Нырок e1s3 сериала Чёрное зеркало показывалось возможное развитие событий. Как повлияет на людей возможность оценить любой поступок человека?

Ещё раньше, в 2015 году в серии Ты не Иелпишь e19s4 мультсериала Южный парк рассматривался вопрос массовых рейтингов, в частности, оценки кафе и ресторанов. Велико ли влияние инфлюенсеров? Кого вообще считать инфлюенсером?

Предупреждение — в целом сериал Чёрное зеркало достаточно мрачный, а Южный парк наполнен сарказмом, перегибами, матом и местами жестью.

#fun #films
583 views15:01
Открыть/Комментировать
2022-09-30 10:01:59
Пятничное развлекательное.

Среди ИТ-тусовки весьма популярны комиксы xkcd. К каждому комиксу есть интересное текстовое дополнение, которое в английской версии появляется после наведения на картинку, в русской — сразу показывается под картинкой. На Дзене есть крутая статья про историю xkcd. Приготовили для вас подборку наших любимых комиксов на ИТ-тематику:

Хороший код
Себе из будущего (код придётся переписать)
Успех (критерий успешности при сборке Linux)
Усилок рок-группы (умный инженер)
Руководства (man sudoers)
Самоописание (изящная рекурсия)
Разница (учёный vs нормальный человек)

#fun #xkcd
562 views07:01
Открыть/Комментировать
2022-09-29 10:01:34 Pattern Matching

В python 3.10 появилась долгожданная возможность использовать конструкцию match/case. На первый взгляд это классический switch, но в питоне пошли дальше.

В статье Recipes and Tricks for Effective Structural Pattern Matching in Python автор рассказывает о неочевидных возможностях pattern matching:
— как использовать в блоке case регулярные выражения, хотя это не предусмотрено по умолчанию
— как с помощью атрибута __match_args__ сделать позиционные аргументы в клаccе и использовать их в case
— как хитро проверить ключи и их значения в json-объектах
— и несколько ещё менее очевидных применений

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

О неочевидных проблемах автор также не забывает:
— порядок case важен, потому что какой-то case может быть недостижим
— неожиданное поведение при несовпадении ни с одним из case
#python
582 views07:01
Открыть/Комментировать