Дещо проф деформована, але моя добірка така:
SQL anti patterns by Bill Karwin — це прям типові речі/задачі з якими стикаєшся працюючи з БД
Classic Computer Science Problems in Python by
David Kopec — мій особистий топ по CS і пітончику ( після того як вже є якась база з курсів/відосів /інших книг). Тайп хінтінг рівня якого ще не зустрічав.
Ну і всім відома «книга з кабанчиком» Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann
Ще питання- оцю кастомну функцію перетворити на декоратор і всюди робити @log це ще бест пректіс чи вже ні?
Дякую за статтю
В прикладі нумер 5 код сніппет наче неповний, якщо хотілося додати поле data
І все ж таки для додаткових даних використовуємо data чи extra 🤔?
Як інженер з охорони праці в минулому скажу так:
Компанія має забезпечувати своїх працівників і штанами і теплим зимовим одягом і касками, ба навіть милом і газованою водою, якщо на те є вимога
Он хоче замовник авторизацію всіх аккаунтів через MFA — мені тепер мобілку сучасну купляти?
Дякую за службу
Трошки занудство, але хіба AD не перевзулося в Entra ID ?
І ще з цікавого- якщо уже є одна хмара у вигляді Ажур, чому розгортаються застосунки на Амазоні?
Вибачаюсь, а яка гарантія що Ваша хеш функція створить саме унікальний індекс і всі ці балачки про хеш колізії — це лише балачки і спроби ще роботи намалювати на вирішення цих колізій?
Не веду точну статистику витрат, але намагаюсь на Donate1024 закидати
Якось дуже змішано все ...
До прикладу таке питання — якщо в нас в хмарі дані розкидані по паркетах ( або краще Iceberg чи як вказали нижче Delta Lake щоб був time travel ) це ще Data Lake чи Warehouse? Або навіть просто csv файлики зі звітами розкидані по папкам у форматі YYYY/MM/DD — це що буде?
Або ось ви згадуєте недоцільність поєднання цих двох підходів — але топ компанії вже років 5 розповідають про так звані Data Lakehouses, де вони помиляються тоді?
Ще таке практичне питання — як в Data Lake ви забезпечите той самий time travel і Slowly changing dimensions? (killer feature of Data Warehouse так би мовити) Чомусь в критеріях вибору того чи іншого підходу я це не побачив...
Середу чи середовище для тестування?
Перекладайте з англійської, будь-ласка, менше сюрпризів буде
Я вважаю що основна складність Python, особливо для новачка — це вбудовані бібліотеки і неочевидні оптимізації накшталт sum(range(N)) яка працює значно швидше ніж якщо ітеруватися списком і додавати поелементно.
ПС
Якщо вже керувати потоком — чому не згадати тернарний оператор?
Чи будете розглядати подібні теми?
Дякую.
Я свій дзен зловив коли зрозумів наступний жарт:
«Why didn’t the shark swallow the clown fish?
— Because it tastes funny »
Хоча імхо список помилок тут якийсь дивний. Особливо plain/plane, brake/break тощо.
Як на мене схоже на список кроків з якоїсь інфо циганської методички або низько пробного курсача. Вода водяна , масло масляне.
Але це все imho звісно.
Цілком підтримую Володимира з Богданом, а всі ці імена зі статті вперше чую — що ж це за бренди такі?
Вітаю, Євгене .
Вдячний за продемонстровану роботу. Завжди захоплювався людьми , що опанували math plot lib.
Незважаючи на дисклеймер, хотів би попитати наступне:
1) Не вистачає все ж таки вихідного набору сирих даних та повного ноутбуку десь в репозиторії для наочності. Або хоча б вивід самої таблички після кожної трансформації , додаванні колонок — складно уявити скільки всього колонок і яких в результуючому наборі даних;
2) pd.Grouper прикольно, але навіщо? Хіба group by не може працювати з індексом напряму? Навіть якщо він і date time типу. Бо як каже дзен — readability counts.
3) Ваша функція
get_schedule_state(d):
— я думаю тут просто необхідні type hints та doc strings. Особливо зважаючи як ви використовуєте специфічні для дати / часу атрибути і методи hour та day_name(). Або графік відключень винести з тіла функції і передавати окремим аргументом.
До речі чому list comprehension і списки замість генераторів та кортежів ? На невеличкому обсязі даних має бути непомітно, але ж дані мають тенденцію рости.
4) Розрахунок світла за розкладом : судячи з schedule — кожен день крім суботи та середи світла нема 9 годин (9/24 це приблизно 37,5 відсотка від доби) і 6 годин в суботу/середу , що складає 25 відсотків. Отже червона лінія розкладу має бути в діапазоні від 62,5 до 75 відсотків. На графіку вона нижча... Чому?
Як щодо відмовитись від класичного вже ETL підходу в центральне DWH і спробувати робити запити до існуючих серверів?
Наприклад з допомогою Trino ( Starburst за гроші) всі 69 баз можна мати як каталоги і вже БІ інструментом будувати звіти.
Не фанат Табло, працював з Power BI , може щось з Dash / Plotly для дешбордів?
Я так розумію 8 ТБ — це все дані в якійсь РДБМС штибу Postgres? Не розглядали варіант object storage на основі відкритих форматів файлів типу Delta Table, Apache Iceberg або ORC ? І вже будь-яким інструментом ці файли вичитуєш
Дякую за статтю , цікава інформація.
В мене склалось враження, що описані підходи найбільше підходять до сервісів на Джаві. Чи є якісь приклади подібних патернів/ архітектур іншими мовами програмування.
П. С.
Місцями помітні залишки машинного перекладу з рос. мови — «услуга», неузгодження закінчень деяких слів тощо. Редактору варто більше уваги приділяти вичитуванню матеріалів
Я правильно понимаю, что Вы находясь физически в Украине (и не покидая территорию страны за всё время действия предложения от Револют), просто указали в приложении страну в ЕС и приложение пропустило Ваш запрос?
Из чего следует такой вопрос:
Можно ли расценивать подобные действия как ввод заведомо ложных данных в систему Револют и какие возможны последствия для таких «псевдо-беженцев»?
Интересный алгоритм, спасибо за статью.
Как Вы уже упомянули даже для малых n — количество перестановок огромно. Какие есть варианты параллелизации данного алгоритма? Могут ли подобные вычисления выполняться несколькими ядрами/ компьютерами независимо? Какой необходимый оверхед на синхронизацию потоков/процессов , если применить многопоточность,
Датабрикс — замечательный инструмент, пусть и крепко завязанный на свою экосистему. Умолчим о финансовой стороне вопроса- говорят подписка стоит немало у ребят. Датабрикс нельзя развернуть у себя локально, только кластер. Когда кластер поднят — начинаются вопросы конфигурирации типа default parallelism, shuffle repartition, dbs secret scope и тучи других флажков, которые могут производительность как вверх так и вниз увести.
Ну джавовские стек трейсы читать при ошибках- все ещё тяжеловато.
В моём случае это больше проверка нового инструментария плюс создание песочницы, где новые сотрудники смогут потрогать исторические данные в привычном пандас. Как ни крути но синтасически пандас и пайспарк отличаются достаточно чтобы простая копипаста ячеек ноутбука перестала работать.
Ну и дашборд состояния кластера в Даске просто огонь.
А можете будь ласка пояснити що таке цей технічний фон? Якщо це гугло переклад technical background, то цікаво хто вичитував статтю перед публікацією