Пытаюсь посчитать

Description
Канал маркетолога-аналитика. Пишу о базах данных, BI-инструментах и о языке Python.

В закрепе курсы по автоматизации отчетов для Директа.

Все вопросы и предложения:
@tonyornot
Advertising
We recommend to visit
Roxman
Roxman
13.710.991 @roxman

Sharing my thoughts, discussing my projects, and traveling the world.

Contact: @borz

Last updated 2 Tage, 21 Stunden her

HAYZON
HAYZON
6.664.696 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam

Last updated vor 6 Stunden

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 2 Monate, 1 Woche her

1 week, 1 day ago

Я придерживаюсь следующего принципа: если что-то не получается или "тяжело идет" — я просто это откладываю.

Не навсегда, а именно на сейчас — на текущий день или период жизни. Обстоятельства вокруг постоянно меняются, и я уверен: если они сложатся правильно, я все равно к этому вернусь.

К чему это я?

Если вы сейчас пытаетесь освоить аналитику или разработку, то не стоит насиловать себя.

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

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

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

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

1 month, 1 week ago
В курс по Python () я …

В курс по Python (https://t.me/poschitai/102) я добавил 35 минут видео для новичков по настройке и использованию Pycharm. Во всех видео сразу показываю лучшие практики использования.

Видео этого модуля я разместил на RuTube и, удивительно, теперь ничего не лагает (в отличие от Ютуба, где еще год назад тормозило). Кроме того, на видео залитых с RuTube можно менять качество и скорость видео прямо на сайте. Старые видео доступны, но под VPN и грузятся медленно. В течении недели перенесу тоже на Рутьюб.

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

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

UPD. Ладно, про Rutube я конечно переборщил. Режется битрейт рандомно на разных видео, поэтому перевожу все на VK видео.

1 month, 3 weeks ago

Я решил, что мне пора провести небольшой ребрендинг, потому что сейчас неясно какой продукт и за что отвечает.

  1. Теперь есть два курса Автоматизации отчетности из Яндекс Директа (АОЯД)

Free (он же бесплатный) - https://t.me/poschitai/144

Basic - https://t.me/poschitai/257

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

Сегодня, кстати, я анонсировал в чате курса Basic новую версию, о которой писал на канале неделю назад.

  1. Курс для кликхауса теперь будет позиционироваться как отдельное решение.

Предварительное название - Автоматизация Рекламной Отчетности (АРО).
Может потом придумаю название по-лучше, сейчас главное отделить по смыслу.

Другое название обосновано другим функционалом.

Сейчас там уже Директ и Метрика. Далее скорей всего будет Б24.

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

Конечно, не потеряется и относительно простое построение управленческих дашбордов не только в Директе — любой новый источник так же можно будет объединять в одну таблицу , например строить также же отчеты по Google Ads и VK.

Поэтому из-за наличия не только Директа, но и других источников, из за СУБД ClickHouse под капотом и всех возможностей которая она дает - название АОЯД больше не отвечает сути. Там не только Директ.

Поэтому теперь это АРО 1.0.

Названия курсов, описание в постах по ссылкам поменяю чуть позже.

3 months, 2 weeks ago

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

Во-первых, мы все поголовно используем ексель. Мы не воспринимаем, например, "СУММЕСЛИ" как программный код, хотя по факту это он и есть. Он формализован, не терпит не точности, ну в общем все по правилам.

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

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

В-третьих, само программирование - это очень условный термин. Программисты на C++ не считают программистами тех, кто пишет на пайтоне и этому если объяснение - чем более "низкоуровневый" язык - тем больше мы должны тратить время на оптимизацию памяти, ресурсы процессора, в общем все то, что в 99,999% задач тупо НЕ НУЖНО.

В общем это лучше на примерах разобрать.

Вот у нас есть 5 строк в Excel в столбце A:

1 687 50 23 232 3

Сложим все значения выполнив агрегацию по сумме:

=SUM(A1:A5)

Думаю, с этим все знакомы.

Теперь вариант из Python:

  1. Вместо столбца возьмем список

a = [1, 687, 50, 23, 232, 3]

  1. Получим результат агрегации по сумме

sum(a)

Сильно сложнее этот пример?

Ну только тем, что мы не к столбцу обращаемся (хотя в пандас и так можно), а к переменной "a".

А теперь, на сладкое, пример из C++:

```
#include
#include

int main() {
// Список значений
std::vector values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

int total\_sum = 0; // Суммирование значений for (int i = 0; i < values.size(); ++i) { total\_sum += values[i]; } return 0;

}
```

Классно? Удобно?

Для меня нет. Нужно иметь какой-то особенный склад ума, чтобы так писать.
И это действительно можно считать программированием.
___
Поэтому для тех, кто пишет на C++, для них питонисты, ексельщики - это люди, которые о программах понимают одинаково плохо.
И я так тоже считаю.

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

Если бы в Екселе можно было писать на русском языке более гибкий код, например для создания ТГ-ботов или обращения к АПИ или что-то в таком духе - я бы писал.

Но такого нет, именно поэтому я пишу на Python и поэтому, потому что они в чем-то схожи с екселем - я его не испугался, когда первый раз увидел.

3 months, 2 weeks ago

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

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

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

Тот же речевой анализ. Где то нужно говорить очень аккуратно с клиентом, где то можно послать нахуй. Разрабы сервисов анализа речи просто не могут учесть два логически противоположных паттерна.

Поэтому очевидно, что нам нужно, чтобы внутри компании был кто-то, кто сможет узкие места в бизнесе, либо автоматизировать, либо оцифровать, либо еще что то.

Это сильно зарешает на фоне конкуретнов, поэтому это важно.

Хорошо, что разрабы пайтона вовремя уловили эту тенденцию, он сейчас одновременно и простой для маленьких решений и сложный для больших. Типа easy to learn-hard to master.

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

Ну и топить за идею, что не нужно нанимать аналитика - аналитиком должен быть каждый. И не нужен отдельный разработчик - навыки разраба можно приобрести самому.

3 months, 3 weeks ago

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

Причем чем больше влияния этого "чего-то" на нашу жизнь - тем больше мы должны быть погружены в детали.

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

Мы точно должны уметь готовить, чтобы хотя бы понимать — мне невкусно потому что не хватает соли? перца? а может эту еду уже ничего не спасет?

Мы точно должны знать английский - слишком много полезного есть в ENG сегменте интернета.

Ну и так далее....

Вопрос тут только один — как понять где хватает "базы", а где нужно углубиться?

Ответа однозначного нет, это всегда градиент, околозначения.

Если я делаю отчеты раз в год, то мне НЕ нужно знать, что такое "дашборды".

Если раз в месяц — то дашборды лучше бы я умел делать, но мне необязательно разбираться, что такое "базы данных" и как с ними работать.

Если раз в неделю, то лучше я бы мог накидать SQL запрос, чтобы с данными было удобно работать.

А если каждый день?

В общем суть вы уловили, речь тут не про аналитику вообще — надо учиться тратить на рутину меньше времени и делать ее лучше.

Поэтому когда мне говорят типа "я не доктор", "я не повар" или "я не ПРОГРАММИСТ" у меня всегда возникает вопрос — а кто ты?

Ты пекладыватель ексель файлов и заполнятор текстовых строк в бразуере, я правильно понял?

5 months, 3 weeks ago

Я так и не смог сформулировать мысль просто, поэтому напишу как могу.

В последние лет 5 я все больше прихожу к выводу, что я бессилен.

Не в смысле нет сил, а в смысле я получаю почти всегда не то, что я загадал в начале.

Например, когда я начал тут писать, я был убежден, что максимум в такой нише - это 1000 подписчиков.

Жизнь показывает, что это не так, канал растет тупо сам собой.

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

Ну опять же проверку временем мои мечты не прошли.

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

Видимо от этого мое сознание в один момент начало адаптироваться и сама собой у меня сместилась парадигма.

Теперь я не гонюсь за результатом, а просто создаю условия для него.

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

И так во всем - развитие в профессии, отношения, дружба.

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

6 months ago

Поясню на примере.

Мы получаем данные с сервера в таком виде:

```

""" {'City':'Moscow', 'CityID': 123, 'CityDistricts': [{'DistrictName': 'ЦАО'}] }"""
```

Для начала мы задаем модель данных (структуру):

class DataModel: Citi: str CityID: int CitiDistricts: list[dict]

Потом встроенным методом читаем эту модель из джосона:

DataModel.parse\_row(""" {'City':'Moscow', 'CityID': 123, 'CityDistricts': [{'DistrictName': 'ЦАО'}] }""")

Какие тут могут быть проблемы?

  1. CityID может прийти как строка '123', и пайдентик сама трансформирует его в 123.
  2. Ответ может прийти вообще без CityID или другого поля
  3. Могут быть проблемы с типами данных, например в DistrictName придет вместо строки вернется список из вариаций названий района ['ЦАО', 'Центральный административный округ']

И вот что нам вернет пайдентик, если я использую встроенную обработку ошибок ValidationError (или даже без нее, просто так ответ читабельней):

[ { "type": "string\_type", "loc": [ "CityDistricts", 0, "DistrictName" ], "msg": "Input should be a valid string" } ], "input": { "City": "Moscow", "CityID": 123, "CityDistricts": [ { "DistrictName": [ "ЦАО", "Центральный административный округ" ] } ] }

Че тут написано:

  1. Какая ошибка
  2. Локация ошибки
  3. Сообщение об ошибке
  4. Полученные данные где ошибка была найдена

Теперь какой бы здоровенный датасет я не запихнул в эту модель на 1 -5 -10 млн строк будет происходить одно и тоже - все данные буду сверены с нужными типами и если будет найдена ошибка будет видно в какой она строке.

На практике это занимает 80% времени в таких задачах, поэтому я писал выше, что сэкономил бы уйму времени.

6 months ago

Кароче есть такая библиотека pydantic, она отвечает за создание моделей данных, которые мы получаем, например, из сервиса API Директа.

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

Она сама по нашей структуре проводит валидацию, форматирует в json и из него, в общем делает все, чтобы нам было удобно.

Если бы я 3 года назад начал с нее, я бы сэкономил сотни часов при написании почти всех моих скриптов.

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

8 months, 1 week ago

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

Там можно будет создать базу, таблицу, настроить импорт по расписанию или за период, кароче полный ETL-процесс.
Туда я же я добавлю возможность выгрузки не только ЯД и ЯМ, но и других источников, в т.ч. CRM.

Сейчас много времени ушло на погружение в JS и React, я сношу приложуху полностью уже 5-й раз — то верстка не нравилась, то в своей же архитектуре запутался.

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

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

Пока все, не теряйте ✌?

We recommend to visit
Roxman
Roxman
13.710.991 @roxman

Sharing my thoughts, discussing my projects, and traveling the world.

Contact: @borz

Last updated 2 Tage, 21 Stunden her

HAYZON
HAYZON
6.664.696 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam

Last updated vor 6 Stunden

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 2 Monate, 1 Woche her