Где и кем я работаю?👨💻
Я сейчас работаю в команде, которая занимается развитием и поддержкой datalake платформы.
Задачи довольно разнообразные. Разработчики поделены на 2 группы, которые работают вместе: одни, кто больше в devops, и вторые, кто больше в data engineer.
У меня роль DE.
Задачи правда разнообразные. От написания скриптов в rundeck, создания dashboard-ов в Grafana и до написания отдельных пакетов, модулей, ботов, dag-ов airflow.
#истории_из_практики
Я сейчас работаю в команде, которая занимается развитием и поддержкой datalake платформы.
Задачи довольно разнообразные. Разработчики поделены на 2 группы, которые работают вместе: одни, кто больше в devops, и вторые, кто больше в data engineer.
У меня роль DE.
Задачи правда разнообразные. От написания скриптов в rundeck, создания dashboard-ов в Grafana и до написания отдельных пакетов, модулей, ботов, dag-ов airflow.
#истории_из_практики
👍3👏3
Крайне важно внимательно читать условия задачи.
Из-за невнимательности можно допустить серьезную ошибку, которая, в лучшем случае, приведет к невынужденной трате времени.
Например, по этой причине я потратил лишнее время на тест, не давая правильный ответ на вопрос ниже.
А нужно было просто внимательно перечитать сам вопрос)
#мысли_в_слух
Из-за невнимательности можно допустить серьезную ошибку, которая, в лучшем случае, приведет к невынужденной трате времени.
Например, по этой причине я потратил лишнее время на тест, не давая правильный ответ на вопрос ниже.
А нужно было просто внимательно перечитать сам вопрос)
#мысли_в_слух
👍1
Выберите неверное утверждение
Anonymous Poll
63%
исключительная ситуация естественно присуща декларативной модели
38%
исключительная ситуация – это расширение классической декларативной модели
👍1
Декларативное программирование -- это про то, "что" надо сделать, а не "как".
#парадигмы_программирования #из_теории
#парадигмы_программирования #из_теории
👍3
Рекурсивные вычисления -- это сердце декларативного программирования.
#парадигмы_программирования #из_теории
#парадигмы_программирования #из_теории
😱5
А вы знали, что существуют рекурсивные типы данных?
Списки различий -- это частный случай структур различий.
Структуры различий -- это частные случаи аккумуляторов.
#парадигмы_программирования #из_теории
Списки различий -- это частный случай структур различий.
Структуры различий -- это частные случаи аккумуляторов.
#парадигмы_программирования #из_теории
👍1
Персистентные структуры данных -- это структуры данных, для которых хранится история их изменений.
#парадигмы_программирования #из_теории
#парадигмы_программирования #из_теории
👍4
А вы знали, что списки - это рекурсивная структура данных?
Деревья - тоже рекурсивная структура данных!
Раньше для меня список был просто линейной структурой данных, которая содержит какой-то набор значений.
Если это связный список, то каждый элемент имеет ссылку на следующий. Если двусвязный, то каждый элемент имеет ссылку на соседние элементы.
Оказывается список - это еще рекурсивная структура - за каждым элементом списка следует более маленький список!
Дерево - это иерархическая рекурсивная структура данных - за каждым элементом дерева следует произвольное количество более маленьких деревьев!
#парадигмы_программирования #из_теории
Деревья - тоже рекурсивная структура данных!
Раньше для меня список был просто линейной структурой данных, которая содержит какой-то набор значений.
Если это связный список, то каждый элемент имеет ссылку на следующий. Если двусвязный, то каждый элемент имеет ссылку на соседние элементы.
Оказывается список - это еще рекурсивная структура - за каждым элементом списка следует более маленький список!
Дерево - это иерархическая рекурсивная структура данных - за каждым элементом дерева следует произвольное количество более маленьких деревьев!
#парадигмы_программирования #из_теории
😱5
Написать декларативную программу -- значит, спроектировать эту программу как множество определений чистых рекурсивных функций, комбинируя их по правилам программирования высшего порядка.
#парадигмы_программирования #из_теории
#парадигмы_программирования #из_теории
🔥4
А вы знали, что рекурсии бывают прямыми и непрямыми?
Прямая рекурсия означает, что функция явно вызывает себя в своём теле.
Непрямая рекурсия означает, что функция вызывает другую функцию, которая вызывает исходную функцию.
#парадигмы_программирования #из_теории
Прямая рекурсия означает, что функция явно вызывает себя в своём теле.
Непрямая рекурсия означает, что функция вызывает другую функцию, которая вызывает исходную функцию.
#парадигмы_программирования #из_теории
🔥5
Коллекция - это разновидность АТД, которая группирует набор значений в одну составную сущность (контейнер).
Разновидности коллекций:
- кортежи и записи - в декларативной модели;
- массивы и словари - в state-full модели (императивной);
#парадигмы_программирования #из_теории
Разновидности коллекций:
- кортежи и записи - в декларативной модели;
- массивы и словари - в state-full модели (императивной);
#парадигмы_программирования #из_теории
🔥3
Виды и свойства АТД
Безопасность:
1) Открытый АТД - внутреннее представление доступно;
2) Защищенный (безопасный) АТД - внутреннее представление скрыто/недоступно;
Состояние:
3) Stateless-АТД - экземпляры АТД недоступны для изменений, создаются новые сущности;
4) Stateful-АТД - экземпляры АТД доступны для изменений, имеют явное состояние.
Бандлинг:
5) Распакованный АТД - данные отделены от операций;
6) Запакованный АТД - данные и операции хранятся вместе (ООП);
Различные комбинации этих 3-х свойств дают разные способы реализации АТД.
#парадигмы_программирования #из_теории
Безопасность:
1) Открытый АТД - внутреннее представление доступно;
2) Защищенный (безопасный) АТД - внутреннее представление скрыто/недоступно;
Состояние:
3) Stateless-АТД - экземпляры АТД недоступны для изменений, создаются новые сущности;
4) Stateful-АТД - экземпляры АТД доступны для изменений, имеют явное состояние.
Бандлинг:
5) Распакованный АТД - данные отделены от операций;
6) Запакованный АТД - данные и операции хранятся вместе (ООП);
Различные комбинации этих 3-х свойств дают разные способы реализации АТД.
#парадигмы_программирования #из_теории
🔥4👍1
5 способов реализации АТД
1) Открытый, декларативный, распакованный.
2) Защищённый, декларативный, распакованный. (Скрываем содержимое - оно напрямую недоступно);
3) Защищённый, декларативный, запакованный. (Stateless версия ООП);
4) Защищённый, stateful, запакованный. (Классический ООП);
5) Защищённый, stateful, распакованный. (Распакованная версия ООП);
#парадигмы_программирования #из_теории
1) Открытый, декларативный, распакованный.
2) Защищённый, декларативный, распакованный. (Скрываем содержимое - оно напрямую недоступно);
3) Защищённый, декларативный, запакованный. (Stateless версия ООП);
4) Защищённый, stateful, запакованный. (Классический ООП);
5) Защищённый, stateful, распакованный. (Распакованная версия ООП);
#парадигмы_программирования #из_теории
🔥3
DON'T STOP AND CODE
Кстати, каналу сегодня ровно год. :) 15 августа прошлого года создал канал в телеге и аккаунт на GitHub. Быстро время летит.
Кстати, 15-го августа каналу исполнилось 2 года! 😊
Классно пересматривать историю в канале. Смотреть на свой прогресс.
Да, из меня блогер не очень хороший. Но я надеюсь это исправить когда-нибудь. Возможно, просто ещё не наступило время. =) Иногда хочется много чего написать, но... не пишу.😅
Спасибо всем кто подписан на канал. Намного приятнее писать заметки тут, зная что я здесь не один.😅 Иногда звезды складываются и с кем-то из вас удаётся пообщаться в комментариях или в личке))
Классно пересматривать историю в канале. Смотреть на свой прогресс.
Да, из меня блогер не очень хороший. Но я надеюсь это исправить когда-нибудь. Возможно, просто ещё не наступило время. =) Иногда хочется много чего написать, но... не пишу.😅
Спасибо всем кто подписан на канал. Намного приятнее писать заметки тут, зная что я здесь не один.😅 Иногда звезды складываются и с кем-то из вас удаётся пообщаться в комментариях или в личке))
🔥7👍2🎉1🏆1🦄1