Как стать автором
Обновить
-1
0
kikkok @fikfok

Грузчик

Отправить сообщение

Цепочка методов в pandas. Прокачиваем свой код. Минигайд для интересующихся

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров15K

Цепочка методов (или цепочка вызовов, method chaining) - это стиль записи кода, который позволяет выполнять несколько операций за один раз, в конечном счете экономя время и энергию.

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии12

Кратко про Nameko Python

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.8K

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

Nameko, как фреймворк для Python, предлагает удобные абстракции и инструменты для создания микросервисов, ориентированных на сообщения и события.

С Nameko можно получить не только инструмент для создания микросервисов, но и платформу для реализации распределенных систем с поддержкой Dependency Injection, позволяющей легко интегрировать различные компоненты приложения.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии2

Распределённые транзакции

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров31K

На собеседованиях на позицию middle/senior разработчика часто задают вопросы по распределенным транзакциям в микросервисной архитектуре.

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

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

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

Читать далее
Всего голосов 26: ↑23 и ↓3+20
Комментарии1

Ускорение в 30 раз — requestIdleCallback

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.6K

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

Хотелось бы сразу сказать, что статья может быть не чем-то новым, но может оказаться полезной в плане практического понимания того, где может пригодиться requestIdleCallback и как он может быть использован.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии14

Что такое функциональное программирование?

Время на прочтение7 мин
Количество просмотров73K

Эта статья является переводом материала «What is functional programming?».

В этой статье Владимир Хориков попытается ответить на вопрос: что такое функциональное программирование?

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

Математические функции не являются методами в программном смысле. Хотя мы иногда используем слова «метод» и «функция» как синонимы, с точки зрения функционального программирования это разные понятия. Математическую функцию лучше всего рассматривать как канал (pipe), преобразующий любое значение, которое мы передаем, в другое значение

Читать далее
Всего голосов 32: ↑27 и ↓5+22
Комментарии108

5 полезных библиотек Python (с примерами)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров27K

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

Ознакомиться
Всего голосов 56: ↑54 и ↓2+52
Комментарии14

Как разработать канбан-доску на Django, DRF и Alpine.js

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров11K

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

В статье рассказываем, как разработать собственную канбан-доску и развернуть ее на облачном сервере. Подробности под катом.
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии8

Grafana как инструмент визуализации потока данных в Kafka

Время на прочтение15 мин
Количество просмотров7.3K

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

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

Инструмент, на котором хотелось бы остановиться более подробно – Kafka.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Плохие уроки дебатов

Время на прочтение7 мин
Количество просмотров7K


Будучи студентом, я играл в классические дебаты по формату Карла Поппера с элементами политического кейса. Это такой КВН для любителей поспорить. В том смысле, что это игра, она для студентов, и такая деятельность оптимизирует какие-то навыки. А вот какие именно, это интересно понять. Давайте разберёмся, какое влияние оказывает на ваше мышление умение хорошо спорить.

Подебатировать
Всего голосов 30: ↑28 и ↓2+26
Комментарии53

Как отправить и скачать файл в FastAPI

Время на прочтение2 мин
Количество просмотров24K

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

(Примеры кода можно использовать, как основу, которую при необходимости можно без каких-либо сложностей расширять под вашу конкретную задачу)

Не буду долго расписывать предисловие, приступим к разбору.

Читать далее
Всего голосов 10: ↑6 и ↓4+2
Комментарии8

Полное руководство по модулю asyncio в Python. Часть 5

Время на прочтение19 мин
Количество просмотров23K

Привет, Хабр! Публикуем пятую часть (перваявтораятретьячетвёртая) перевода руководства по модулю asyncio в Python. Здесь представлены разделы оригинала с №10 по №13.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии0

База по шардированию базы

Время на прочтение10 мин
Количество просмотров25K

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

Мы на пальцах рассмотрим что такое шардирование, как оно помогает в масштабировании и даже рассмотрим тот самый этап «роста».

Читать далее
Всего голосов 27: ↑26 и ↓1+25
Комментарии19

Обновить данные в ClickHouse без UPDATE: кейс IBS

Время на прочтение16 мин
Количество просмотров5.6K

Привет, Хабр! Меня зовут Антон, я – старший разработчик в отделе разработки баз данных в IBS. В этой статье я расскажу о том, как нашей командой была решена задача по сохранению в ClickHouse большого количества данных, генерируемых веб-приложением, с последующим получением сохранённых данных в агрегированном виде.

Решение задачи, описанной выше, было бы простым и вряд ли заслуживающим отдельной статьи на Хабре. Но наш случай представлял собой ряд нюансов: здесь есть технические дубли записей и бизнес-дубли (обновления), есть агрегированные данные и необходимость обновления агрегированных данных. А это уже пример не совсем типичного использования ClickHouse, которым мы и хотим поделиться.

Интересно? Переходите под кат.
Всего голосов 12: ↑12 и ↓0+12
Комментарии11

Полное руководство по модулю asyncio в Python. Часть 2

Время на прочтение20 мин
Количество просмотров28K

Публикуем вторую часть руководства по модулю asyncio в Python, в которой представлены разделы оригинала №3 и 4. Читать головокружительную первую часть.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии1

Чем различаются Kafka и RabbitMQ: простыми словами

Время на прочтение8 мин
Количество просмотров75K

Программные брокеры сообщения уже стали стандартом при построении больших и сложных систем. Однако до сих пор не все ИТ-специалисты понимают, как работают эти инструменты. Главный системный аналитик «Иннотех» Павел Малыгин помогает разобраться в брокерах сообщениях и их работе.

Читать далее
Всего голосов 61: ↑58 и ↓3+55
Комментарии33

FAQ: наш опыт получения государственного гранта (4 млн рублей) на развитие IT-бизнеса

Время на прочтение9 мин
Количество просмотров15K

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

Итак:

Сколько проектов вы подавали? Два. Первый — система защиты от скликивания рекламы clickfraud.ru, второй — автономная CRM offlinecrm.ru. Нам одобрили грант на первый проект и отказали на второй (разные команды де-факто и де-юре).

Куда подавали? ФСИ — фонд содействия инновациям. Fasie.ru — советую изучить внимательно сайт фонда, там есть довольно много информации. Иногда работает чат, а иногда нет. Есть открытые контакты — можно написать или позвонить, если есть вопросы. Мы звонили и всегда сотрудники фонда помогали исчерпывающе и доброжелательно.

Что это за фонд? Фонд содействия развитию малых форм предприятий в научно-технической сфере, сокращенно Фонд содействия инновациям, является государственной некоммерческой организацией. На 2022 год фонду выделено 13 млрд. рублей. Один из приоритетов в 2022 году — организация специализированных конкурсов для поддержки цифровых проектов. Подчеркну — упор фонда на 2022 год (не знаю, что будет дальше) — поддержка IT-проектов.

Читать далее
Всего голосов 43: ↑37 и ↓6+31
Комментарии88

Как организовать код в Python-проекте, чтобы потом не пожалеть

Время на прочтение10 мин
Количество просмотров70K

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

Бенджамин Франклин

Python отличается от таких языков программирования, как C# или Java, заставляющих программиста давать классам имена, соответствующие именам файлов, в которых находится код этих классов.

Python — это самый гибкий язык программирования из тех, с которыми мне приходилось сталкиваться. А когда имеешь дело с чем-то «слишком гибким» — возрастает вероятность принятия неправильных решений.

Читать далее
Всего голосов 38: ↑35 и ↓3+32
Комментарии34

Apache Kafka и RabbitMQ: в чем разница и что лучше изучать?

Время на прочтение6 мин
Количество просмотров51K

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

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

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

Читать далее
Всего голосов 23: ↑19 и ↓4+15
Комментарии8

Серверная архитектура: быстрый старт проекта и его эволюционное развитие

Время на прочтение8 мин
Количество просмотров4.4K

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

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

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии6

JSON Web Token и Secure Sockets Layer

Время на прочтение7 мин
Количество просмотров16K

Для начала разберем небольшую задачу. Она поможет читателю получить представление об основах шифрования.

Представим, что у нас есть сундук с важными документами. Мы хотим отправить его из пункта А в пункт Б, но так, чтобы никто не мог открыть его содержимое по пути следования. На сундук можно повесить замок/замки, отправлять сундук несколько раз, принимать обратно, передавать ключ/ключи через посредника. Посредник может скопировать ключ или даже сам сундук, подобно файлам на компьютере. Как же выстроить цепочку передачи, чтобы посредник не получил доступ к закрытым документам при перевозке?

Читать далее
Всего голосов 15: ↑14 и ↓1+13
Комментарии22

Информация

В рейтинге
Не участвует
Откуда
Читтагонг, Бангладеш, Бангладеш
Дата рождения
Зарегистрирован
Активность