Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 2 Monate, 1 Woche her
Я придерживаюсь следующего принципа: если что-то не получается или "тяжело идет" — я просто это откладываю.
Не навсегда, а именно на сейчас — на текущий день или период жизни. Обстоятельства вокруг постоянно меняются, и я уверен: если они сложатся правильно, я все равно к этому вернусь.
К чему это я?
Если вы сейчас пытаетесь освоить аналитику или разработку, то не стоит насиловать себя.
Если в самом начале процесс не приносит удовольствия и не захватывает, дальше будет только сложнее: больше синтаксиса, функций, теории и прочего. В этом легко увязнуть и в итоге так и не влететь в "уходящий поезд" IT.
Отсюда столько несчастных учеников больших школ типа гикбрейнса или скиллбокса, которые не могут найти работу.
Людей просто полгода-год заставляют делать то, что они не хотят, чтобы потом они искали работу, которую не хотят делать в компаниях, в которых они не хотят работать.
Будьте внимательны к себе. Возможно, сейчас просто не подходящий момент.
В курс по Python (https://t.me/poschitai/102) я добавил 35 минут видео для новичков по настройке и использованию Pycharm. Во всех видео сразу показываю лучшие практики использования.
Видео этого модуля я разместил на RuTube и, удивительно, теперь ничего не лагает (в отличие от Ютуба, где еще год назад тормозило). Кроме того, на видео залитых с RuTube можно менять качество и скорость видео прямо на сайте. Старые видео доступны, но под VPN и грузятся медленно. В течении недели перенесу тоже на Рутьюб.
Что касается самого курса — я писал его в прошлом году, в июне. Сейчас я немного переосмыслил, что лучше знать новичку и в каком формате лучше преподнести материал. Поэтому постепенно буду "рефакторить" курс, перезаписывая части, которые меня не устраивают.
В целом курс нужен для тех, кто хочет быстро начать что-то писать на Python. Я не углубляюсь в теорию — это моя позиция. Думаю, что те, кому нужно, смогут сами прочесть и понять, почему код работает определенным образом, уже после получения практического опыта.
UPD. Ладно, про Rutube я конечно переборщил. Режется битрейт рандомно на разных видео, поэтому перевожу все на VK видео.
Я решил, что мне пора провести небольшой ребрендинг, потому что сейчас неясно какой продукт и за что отвечает.
Free (он же бесплатный) - https://t.me/poschitai/144
Basic - https://t.me/poschitai/257
Оба этих курса отвечают за отвечают за две задачи - выгрузка и визуализация данных только в рамках Директа.
Сегодня, кстати, я анонсировал в чате курса Basic новую версию, о которой писал на канале неделю назад.
Предварительное название - Автоматизация Рекламной Отчетности (АРО).
Может потом придумаю название по-лучше, сейчас главное отделить по смыслу.
Другое название обосновано другим функционалом.
Сейчас там уже Директ и Метрика. Далее скорей всего будет Б24.
Так как данные находятся в кликхаусе, то желающие смогут создать кастомную сквозную аналитику, самостоятельно разобравшись в основах sql и работе с данными.
Конечно, не потеряется и относительно простое построение управленческих дашбордов не только в Директе — любой новый источник так же можно будет объединять в одну таблицу , например строить также же отчеты по Google Ads и VK.
Поэтому из-за наличия не только Директа, но и других источников, из за СУБД ClickHouse под капотом и всех возможностей которая она дает - название АОЯД больше не отвечает сути. Там не только Директ.
Поэтому теперь это АРО 1.0.
Названия курсов, описание в постах по ссылкам поменяю чуть позже.
В чате сейчас по рассуждали на тему сложности понимания языков программирования и это навело меня на некоторые мысли.
Во-первых, мы все поголовно используем ексель. Мы не воспринимаем, например, "СУММЕСЛИ" как программный код, хотя по факту это он и есть. Он формализован, не терпит не точности, ну в общем все по правилам.
Во-вторых, наша система образования просто чудовищно отстает от реальной жизни. Я не любил код, потому что первый раз с ним познакомился на информатике, где мы писали в 2009 году на паскале и на бейсике)) Это какой-то тролинг учащихся.
И самое тупое, что писали мы не что-то полезное, а какие нибудь калькуляторы и прочую чепуху, которые нам никогда не захочется повторять самостоятельно.
В-третьих, само программирование - это очень условный термин. Программисты на C++ не считают программистами тех, кто пишет на пайтоне и этому если объяснение - чем более "низкоуровневый" язык - тем больше мы должны тратить время на оптимизацию памяти, ресурсы процессора, в общем все то, что в 99,999% задач тупо НЕ НУЖНО.
В общем это лучше на примерах разобрать.
Вот у нас есть 5 строк в Excel в столбце A:
1
687
50
23
232
3
Сложим все значения выполнив агрегацию по сумме:
=SUM(A1:A5)
Думаю, с этим все знакомы.
Теперь вариант из Python:
a = [1, 687, 50, 23, 232, 3]
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 и поэтому, потому что они в чем-то схожи с екселем - я его не испугался, когда первый раз увидел.
Вообще у меня сложилось четкое мнение, что свой it продукт должен быть у любой организации, даже у каждого отдельного спеца.
Это может быть кастомная система мониторинга, рассылка, речевой анализ и др.
Вроде как все эти решения есть на рынке, но они не универсальны, и банально не подходят под каждую отдельную бизнес-модель.
Тот же речевой анализ. Где то нужно говорить очень аккуратно с клиентом, где то можно послать нахуй. Разрабы сервисов анализа речи просто не могут учесть два логически противоположных паттерна.
Поэтому очевидно, что нам нужно, чтобы внутри компании был кто-то, кто сможет узкие места в бизнесе, либо автоматизировать, либо оцифровать, либо еще что то.
Это сильно зарешает на фоне конкуретнов, поэтому это важно.
Хорошо, что разрабы пайтона вовремя уловили эту тенденцию, он сейчас одновременно и простой для маленьких решений и сложный для больших. Типа easy to learn-hard to master.
Еще у меня накопился опыт как можно упростить разработку и вообще в нее вьехать, постепенно буду делиться этим на ютубе.
Ну и топить за идею, что не нужно нанимать аналитика - аналитиком должен быть каждый. И не нужен отдельный разработчик - навыки разраба можно приобрести самому.
Не знаю, разделите вы со мной точку зрения или нет, но я думаю, что разбираться нужно во всем, с чем мы сталкиваемся каждый день.
Причем чем больше влияния этого "чего-то" на нашу жизнь - тем больше мы должны быть погружены в детали.
Мы точно должны разбираться в здоровье, чтобы знать когда отдыхать, когда активничать.
Мы точно должны уметь готовить, чтобы хотя бы понимать — мне невкусно потому что не хватает соли? перца? а может эту еду уже ничего не спасет?
Мы точно должны знать английский - слишком много полезного есть в ENG сегменте интернета.
Ну и так далее....
Вопрос тут только один — как понять где хватает "базы", а где нужно углубиться?
Ответа однозначного нет, это всегда градиент, околозначения.
Если я делаю отчеты раз в год, то мне НЕ нужно знать, что такое "дашборды".
Если раз в месяц — то дашборды лучше бы я умел делать, но мне необязательно разбираться, что такое "базы данных" и как с ними работать.
Если раз в неделю, то лучше я бы мог накидать SQL запрос, чтобы с данными было удобно работать.
А если каждый день?
В общем суть вы уловили, речь тут не про аналитику вообще — надо учиться тратить на рутину меньше времени и делать ее лучше.
Поэтому когда мне говорят типа "я не доктор", "я не повар" или "я не ПРОГРАММИСТ" у меня всегда возникает вопрос — а кто ты?
Ты пекладыватель ексель файлов и заполнятор текстовых строк в бразуере, я правильно понял?
Я так и не смог сформулировать мысль просто, поэтому напишу как могу.
В последние лет 5 я все больше прихожу к выводу, что я бессилен.
Не в смысле нет сил, а в смысле я получаю почти всегда не то, что я загадал в начале.
Например, когда я начал тут писать, я был убежден, что максимум в такой нише - это 1000 подписчиков.
Жизнь показывает, что это не так, канал растет тупо сам собой.
Когда я был юным, я хотел стать кем-то и когда в 26 стал - понял, что это вообще никак на мою жизнь, мои ощущения от жизни не влияет.
Ну опять же проверку временем мои мечты не прошли.
И так и получается - я мучаюсь когда мои ожидания не сбываются, а когда все складывается хорошо - я даже не могу этому порадоваться, я же не этого хотел.
Видимо от этого мое сознание в один момент начало адаптироваться и сама собой у меня сместилась парадигма.
Теперь я не гонюсь за результатом, а просто создаю условия для него.
Ну понимаете, это типа как уход за огородом с рандомными растениям - я просто каждый день его вспахиваю, поливаю, а там че вырастет то вырастет.
И так во всем - развитие в профессии, отношения, дружба.
Я больше не думаю как заставить себя или кого-то. Я просто делаю так, что бы это что-то произошло само собой.
Поясню на примере.
Мы получаем данные с сервера в таком виде:
```
""" {'City':'Moscow', 'CityID': 123, 'CityDistricts': [{'DistrictName': 'ЦАО'}] }"""
```
Для начала мы задаем модель данных (структуру):
class DataModel:
Citi: str
CityID: int
CitiDistricts: list[dict]
Потом встроенным методом читаем эту модель из джосона:
DataModel.parse\_row(""" {'City':'Moscow', 'CityID': 123, 'CityDistricts': [{'DistrictName': 'ЦАО'}] }""")
Какие тут могут быть проблемы?
И вот что нам вернет пайдентик, если я использую встроенную обработку ошибок ValidationError (или даже без нее, просто так ответ читабельней):
[
{
"type": "string\_type",
"loc": [
"CityDistricts",
0,
"DistrictName"
],
"msg": "Input should be a valid string"
}
],
"input": {
"City": "Moscow",
"CityID": 123,
"CityDistricts": [
{
"DistrictName": [
"ЦАО",
"Центральный административный округ"
]
}
]
}
Че тут написано:
Теперь какой бы здоровенный датасет я не запихнул в эту модель на 1 -5 -10 млн строк будет происходить одно и тоже - все данные буду сверены с нужными типами и если будет найдена ошибка будет видно в какой она строке.
На практике это занимает 80% времени в таких задачах, поэтому я писал выше, что сэкономил бы уйму времени.
Кароче есть такая библиотека pydantic, она отвечает за создание моделей данных, которые мы получаем, например, из сервиса API Директа.
Сейчас не буду углубляться в детали как она работает, но просто знайте - это самое крутое решение для работы с данными.
Она сама по нашей структуре проводит валидацию, форматирует в json и из него, в общем делает все, чтобы нам было удобно.
Если бы я 3 года назад начал с нее, я бы сэкономил сотни часов при написании почти всех моих скриптов.
Меня конечно это расстраивает, но тут уже ниче не поделаешь, поэтому не будьте мной, начинайте сразу ее юзать.
Я ничего не пощу уже две недели в обоих каналах, потому что делаю приложуху для выгрузки данных из разных источников.
Там можно будет создать базу, таблицу, настроить импорт по расписанию или за период, кароче полный ETL-процесс.
Туда я же я добавлю возможность выгрузки не только ЯД и ЯМ, но и других источников, в т.ч. CRM.
Сейчас много времени ушло на погружение в JS и React, я сношу приложуху полностью уже 5-й раз — то верстка не нравилась, то в своей же архитектуре запутался.
Не знаю сколько это еще продлится, может в конце марта выкачу бета-версию, тогда смогу рассказать и показать, и что-то начать писать.
Сейчас если вы покупаете курс уточню — они все доступны в предзаписи, в чатах я также помогаю и дебагаю скрипты, можете спокойно брать любой из закрепа.
Пока все, не теряйте ✌?
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 2 Monate, 1 Woche her