NULL++ – Telegram
NULL++
75 subscribers
41 photos
12 links
Канал для тех, кто хочет развиваться как Data Analyst, Data Engineer и BI-Analyst
@HexMikhail
Download Telegram
Channel created
Channel photo updated
"Я знаю, что ничего не знаю"
Этот афоризм приписывают Сократу, но это скорее интерпретация его идей, записанных учениками.
Мне нравится это высказывание. Потому что сколько бы я не изучал нового, всегда будет то, что я не знаю.
И в очередной раз я понимаю - а я ещё много не знаю.
Именно эта мысль привела меня к названию моего канала.
NULL означает незнание, ++ означает апгрейд, улучшение.
Но что будет, если к NULL что-то прибавить? Вот именно :)
@nullpp #простомысли
❤‍🔥3
Раз уж я начал писать про NULL, то и продолжу немного об этом. Обычно, если у начинающего программиста спросить "Что будет если к Null прибавить число?", он без запинки ответит, что тоже будет NULL - и будет прав. Но иногда NULL может вести себя очень странно и с первого взгляда нелогично, особенно в SQL. Вот один из примеров.

@nullpp #NULL #SQL
🤷‍♀1🔥1
Сегодня я хочу рассказать, а кому-то просто напомнить, о поведении NULL при вычислении логических операций. Рассмотрю эти операции на примере PostgreSQL, но логика стандартна для большинства СУБД.
Как видите, результат выполнения логической операции не всегда будет NULL.
А последний пример, когда NOT NULL в результате даёт NULL, сломал мне мозг в своё время)

@nullpp #NULL #SQL #PostgreSQL
👌2🤷‍♀1
Продолжим интересности с NULL? =) В данных выражениях, я думаю, первые пять вообще не выбиваются из обычной логики.
А вот выражение NULL IS DISTINCT FROM NULL очень интересное. В некоторых случаях имеет смысл написать строка IS DISTINCT FROM NULL или строка IS NOT DISTINCT FROM NULL, чтобы просто проверить, равно ли NULL всё значение строки, без каких-либо дополнительных проверок полей строки. А так как выражения IS всегда возвращают TRUE или FALSE и никогда NULL даже с операндом NULL они интерпретируют значение как неизвестное логическое состояние и выдают в первом случае FALSE, а во втором TRUE.

@nullpp #NULL #SQL #PostgreSQL
🤷‍♀1
Подумал и решил рассмотреть последние два примера из предыдущего поста более подробно.
Выражению a IS DISTINCT FROM b соответствует такое вот длинное выражение a <> b OR (a IS NULL) <> (b IS NULL).
Аналогично, a IS NOT DISTINCT FROM b соответствует выражению a = b OR (a IS NULL) = (b IS NULL).
Теперь если вместо a и b подставить значения NULL, то всё встанет на свои места =)
Но в каких случаях применяются данные конструкции? Вот пример использования:
SELECT * FROM Table WHERE id IS DISTINCT FROM 17;

Результаты исключают все строки, в которых id совпадает со значением 17. Чем же такой запрос будет отличаться от простого WHERE id <> 17?
Подсказка: вся разница в NULL-значениях в результате запроса.

@nullpp #NULL #SQL #PostgreSQL
🤷‍♀1🔥1
Всем привет! На связи Михаил К.
Вчера был мой последний "рабочий" день в отпуске. Значит, сегодня я уже безработный :)
Когда я увольнялся, я планировал немного отдохнуть. Но при всём при этом, я продолжал искать себе новую работу в сфере, которая мне очень приглянулась и в которой я хочу дальше развиваться как профессионал - Аналитик данных или BI-аналитик.
На скрине видно, как я на протяжении двух месяцев откликался: 177 откликов, из которых мне ответили только 4. Остальные это либо "Отказ", либо тотальный игнор.
Из этих четырёх я созвонился с HR-ами и в трёх из них мне отказали без объяснений, даже не позвав на техсобес. А вот ещё одна компания пригласила на небольшой техсобес, на котором я 40 минут отвечал на вопросы и демонстрировал портфолио, попутно объясняя задачи и что именно я сделал в них. Через пару часов мне перезвонили и предложили оффер BI-аналитика. Хорошо взвесив все условия, я его принял. Так что теперь в понедельник я выхожу на новую работу 😀
@nullpp #работа #ПоискРаботы #оффер
👏8👍4❤‍🔥1
Всем привет! Столько всего хочется рассказать и поделиться! Даже не знаю с чего и начать!
Ладно, начну с небольших подробностей о том, куда я устроился работать)
Нагоню немного тумана, уууу: компания занимается разработкой и поддержкой Экстрактора 1С - инструмента для быстрой выгрузки данных из баз 1С. По этому описанию, если захотите, то легко сможете найти её)
Некоторое время назад они решили расширить свою деятельность, добавив BI-аналитику - разработку дашбордов на основе выгруженных данных. Вот этим мне и придётся заниматься: от помощи в сборе требований и до построения полноценных многостраничных дашбордов (я глянул примеры, которые уже были сделаны - и это просто класс).
Но пока что я только вливаюсь и много что в новой работе непривычно.
Если резюмировать, то мои хотелки по поиску работы были выполнены, а именно:
Удалёнка
Айтишечка
Зарплата повыше моей предыдущей работы

Кстати, на собесе ведь выяснилось, что они ведут всю свою работу по данному направлению в DataLens, которого я в глаза не видел)
Пришлось в срочном порядке проходить бесплатный курс на Я.Практикуме (кстати, очень неплохой курс, рекомендую). На текущий момент я его прошёл лишь наполовину)

@nullpp #работа #оффер
👍7
"Вжух - и готово!"
Сказал бы я, если бы это так было)
Прошла моя первая рабочая неделя в качестве BI-аналитика, и это было сложно, но при этом очень интересно.
Моё первое задание: переделать обычные индикаторы в интерактивные, которые перекрашиваются в зависимости от увеличения или уменьшения значения по отношению к значению аналогичного периода прошлого года. И таких индикаторов было много. Некоторые метрики для индикаторов уже были готовы, а некоторые пришлось создавать с нуля.
К сожалению, в DataLens нет быстрого решения для такой задачи. Поэтому пришлось выкручиваться через текстовый формат и функции разметки. Как думаешь, что было самое сложное? =) Ни за что не догадаешься.
Самым сложным для меня было разделить число на разряды. Так как все числовые значения переводились в текст, они получались без разделителя между разрядами (то есть получалось 193662, что менее удобно, чем 193 662.
Ну а в остальном, я успел в сроки и сдал задание руководителю проекта. Заказчику понравилось )

@nullpp #работа
👍5🔥1
Привет всем! Сегодня я хочу рассказать, как я вообще решился на смену своей профессиональной деятельности 😅
Итак, шло лето 2022го года, я уже больше 3х лет как работаю в районом суде консультантом по информатизации, фактически выполняя обязанности сисадмина: настраивал сервера, обновлял программы, решал проблемы пользователей и тому подобное. Зарплата на тот момент была у меня немного выше средней по региону, но всё равно стало не хватать. И тут, по счастливой случайности, мой бывший коллега по колледжу предлагает мне вести курс Windows Server на портале GB.
Так как я работал на госслужбе, то мне мало чем можно было заниматься за деньги. К счастью, преподавание разрешалось😁 Поэтому, изучив что мне придётся рассказывать и остальные условия работы, я согласился.
Прошёл все этапы онбординга, посмотрел курс предыдущего преподавателя, понял, что я это всё хорошо знаю и начал удалённо работать по вечерам.
Огромный плюс работы в GB - это возможность открыть любой их курс (а точнее его запись). Прошерстив всё, что есть, я попросил открыть мне курсы по "MySQL", "Аналитика данных" и "Библиотеки для Data Science и Machine Learning". Да, да, именно тогда я заинтересовался этой темой, несмотря на то, что курсы GB были очень и очень поверхностные 😊
В конце 2022 года, аккурат когда я закончил проходить курс "Библиотеки для Data Science и Machine Learning", мне предложили стать ревьювером домашних работ на этом курсе. Тут я тоже согласился, так как плюсом они мне выслали кучу материалов по этой теме.
А ещё в GB произошли глобальные изменения: начали закрываться курсы, которые "стали не интересны пользователям", в список которых, к сожалению, вошёл и мой курс по Windows Server.
Сначала мои живые вебинары стали заменять на записи прошлого лектора (сами студенты, кстати, были очень недовольны такой политикой), а потом и вообще курс был закрыт, я продолжал проверять только работы "должников". Несмотря на сильное снижение оплаты за проверку домашки, я решил этих "должников" принять, так как всё же это были мои студенты
Осенью 2023 моё сотрудничество с GB было завершено.
А я решил, что хочу дальше продолжить изучение Аналитики данных и всё, что с ней связано.
Но это совсем уже другая история... 😁
@nullpp #истории
🔥7👍4
Всем хай!
Уже неделя, оказывается, прошла с прошлого моего поста 😀
Итак, поздняя осень 2023 года. Я закончил своё сотрудничество с GB, но не захотел расставаться с мыслью об удалённой работе. И я решил попробовать подтянуть свои знания в областях, которые я встретил на полученных "бесплатных" курсах ГБ. А именно - Python (с всякими полезными библиотеками типа numpy, pandas, matplotlib и seaborn).
Найдя записи курсов на просторах зелёного интернета, я приступил к их изучению.
Старался заниматься каждый день... но у меня не получалось. Дело в том, что практически все курсы хорошо объясняли что и как надо делать, но на вопрос "А что с этим делать?" не отвечали. Часто я натыкался на мнение, мол "Просто начни писать программу для себя, и ты прокачаешься". А я просто не понимал с чего начать...
Все мои программные потребности покрывались уже тем, что уже прекрасно было разработаны до меня и для меня)))
Но вдруг на основной работе у меня появляется потребность: быстро переименовать кучу (что-то около 5000)pdf файлов, исправив частые ошибки их наименования (например, замена английской буква a на русскую или замена "-2023" на "#2023") и загрузить их с помощью другой утилиты в БД. Причём, этим придётся заниматься примерно раз в полгода.
Пришлось пройти (но я всё ещё не прошёл его до конца) курс на Степике по регулярным выражениям для этого. Если честно, тот, кто придумал синтаксис регулярок, должен получить высокую должность в аду похвалу от сообщества)
+ добавил интерфейс с помощью Tkinter.
Потом создал ещё одну программку, которая следила за определённой директорией на рабочем компьютере, подключенному к интернету, и удаляла все файлы с "неправильным" расширением, чтобы пользователи "случайно" чего-нибудь не скачали себе на флешки 😁
Всё ещё хочется от жизни что-то новое... И вот я ранней весной 2024 года загораюсь прям срочным желанием сдать на категорию "А".
Привет, кризис среднего возраста!

@nullpp #истории
👏2🤔2
Всем привет!
Прошлая неделя пролетела ох как быстро. На работе всегда было чем заняться)
Дали мне допзадание: изучить платформу Analytic Workspace (AW BI) - российская платформа для BI-аналитики, входящая в реестр российского ПО.
Это не реклама, если что xD
Прошёл их два обучающих курса на степике, пока на наших серверах разворачивали саму эту платформу.
Развернуть то развернули, но пока что выскакивают всякие ошибки при создании достаточно больших (6М+ строк) моделей. Коллеги из AW BI посоветовали увеличить в конфиге кое-какой параметр, но пока я этим ещё не успел заняться)

@nullpp #работа
👌3🤔1
Всем привет!
Продолжим историю моей решимости? 😁
После того как я в июне 2024 года сдал на категорию "А", я так и не решился купить себе железного коня. Зато окончательно решился на смену работы и, возможно, смены профессии как таковой.
Я начал потихоньку искать удалённую работу сисадмином. Откликался на вакансии, выполнял тестовые задания, но на собеседования меня не звали. И я решил подтянуть свои знания по работе в линуксе. Нашёл бесплатный курс на ютубе и, не смотря на их "внезапно устаревшие сервера", по вечерам стал смотреть и учиться.
Научился немного писать баш-скрипты, думал мне это пригодится... На работе как раз привезли несколько новых компов с российской ОСновой на борту. По факту, это оказался обычный дебиан с некоторыми изменениями и предустановленным ПО. Параллельно меня очень заинтересовал ALT-линукс, я даже посетил несколько их вебинаров 😅
На глаза мне попадается реклама профессии дата-инженера и, посмотрев минимальные требования на джуна, я меняю своё резюме и начинаю искать работу дата-инженером, параллельно смотря обучающие видосы про докеры.
Я понимаю, что опыта маловато, но не теряю надежду. И в конце сентября на мой отклик в компанию ASTON на позицию стажёра мне приходит ответ: готовы вас рассмотреть, но сначала надо пройти бесплатное обучение, затем технический собес и, если всё хорошо, меня берут на оплачиваемую стажировку.
Ух как я воодушевился тогда! Я решил, что приложу все силы, чтобы пройти отбор.
Их больше интересовал уровень SQL и совсем немного Python, поэтому я за полтора месяца обучения прорешал все бесплатные задачи на sql-academy.org (это не реклама, но там действительно классная теория и интересные задачки). Наступает декабрь, я заканчиваю обучение, сдаю итоговый тест на 49 из 50 баллов. И вот время технического собеса: я расшарил свой экран, отвечаю на все вопросы, решаю все задачи по SQL и Python прямо в гугл доках, без подсказок, без подсветки кода, без гугления, без чатовгпт... Было тяжело, но я справился. В конце недели мне позвонили и сказали, что я прошёл и в понедельник со мной свяжутся для дальнейших моих действий. И связались... Но сообщили, что набор они закрыли по каким-то внутренним обстоятельствам... Если честно, я был не просто расстроен, я был, наверно, даже подавлен, я вообще не понимал, как такое может быть...

@nullpp #истории
7😢4🫡1