Обычно (кол-во слов) / (средняя скорость чтения). Например, про эту статью Хабр пишет 8 минут, но я проглядел и открыл интересные вкладки меньше, чем за минуту.
Простите, но вот выучит человек flask на базе своего pet-проекта и что? Его доля для прода падает с каждым днём. Почему бы не вложиться в тот же Django и показывать проект на собеседованиях?
Порог входа во Flask лишь в самом начале простой, подключение к бд уже проблема - приходится ещё 2 либы тащить. Что хуже - дальше встаёт вопрос какую из библиотек брать для тех же форм или API. В Django же есть как правило один официально рекомендуемый способ сделать что-то. Да, для прода не всегда подходящий, но новичку это знать и не надо.
Ну и про легковесность... Когда вы соберёте весь зоопарк, то не факт, что размер будет меньше.
Рекрутеры, может, и не откроют, но это отличная отправная точка для разговора. За 5-10 минут у любого проекта находятся места, о которых можно поговорить. Так что перед собеседованием я ставил DnD на 10 минут, чтобы успеть сделать чай и ознакомиться с резюме.
История с wsgi повторяется... может, и до pep на asgi договорятся.
Я так понимаю, что прод у вас в контейнерах. А почему бы тогда не запускать один процесс на контейнер и следить именно за ним? 12factor app предлагает делать именно так. Да и CFS будет понятнее работать.
Альтернативный вариант - переписать хелсчек таким образом, чтобы он проверял наличие процессов в поле.
Но это, конечно, как быстрое решение. Молодцы, что обновляетесь.
Пааагадите-ка, но решений для feature-toggle минимум десяток только популярных. Прежде чем пилить своё вы их конечно же сравнили? Ведь сравнили, правда? Была бы интересна статья именно на эту тему.
Омг, как только слона не насилуют, а он всё равно работает. А где сравнение с остальными решениями?
Открывая статью, я надеялся, что вы свой pluggable storage реализовали и горизонтальное масштабирование. Потому как от кеша требуется всё-таки AP, а не ACID, под который Postgres заточен очень сильно.
А зачем декомпилить? Можно ж включить дамп сертификатов и Wireshark посмотреть трафик. Это ж локально происходит, насколько я понимаю. Но anyway, это не задача курса. Если кто-то сможет такое провернуть, то автоматически достоен зачёта.
Ну, декомпиляцией я ещё на первом курсе занимался, когда крякмишки ломал. SoftICE, IDAPro... В данном случае должно быть не сильно сложно, т.к. строки для проверки вставляются в секцию .data и лежат как plain text.
Мои студенты сдают зачёт на отдельной купленной VPS. Я там создал кучу пользователей с паролями, собственно, сам её и админю. Так что могу позволить себе собрать образ и позволить запускать его из make. Лично мне так проще - оверхеда ноль и полная переносимость (т.е. тестирую я локально).
К тому же докеру посвящена примерно треть курса: от "что это такое" до cgroups/namespaces/layerfs, так что на одном из занятий планирую чтобы они сами с помощью dive раскопали как происходит проверка. Может, успею пасхалку какую на самозачёт положить, чтобы воспитать дух хакерства :)
Задумка очень хорошая и, главное, кстати! Но воспользоваться, увы, не смогу. Опишу основные мои претензии как преподавателя, читающего курс по администрированию Linux в местном универе.
Самое интересное - task_checker, так что начал с него. Слегка удивлён, что там сишный код. Ожидал увидеть что-то более высокоуровневое, но да ладно... Во-первых, тест-кейсы задаются прямо в .h файлах - хотелось бы более декларативного описания заданий. Во-вторых, опциональный экспорт в LMS в этом же каталоге - мне кажется, что это всё-таки отдельная сущность. В-третьих, ИМХО, проверка должна быть не интерактивная - проверять сразу всё; не нашёл - проблема студента.
В моём понимании чекер должен быть каким-то docker-образом, куда монтируется каталог студента и проверяются захардкоженные файлы. Я думал сделать на pytest - там можно легко перехватывать stdout и сравнивать с ожиданием. Правда, в моей специфике чекер будет ещё проверять ФИО студента, наличие ssh-ключа и проверку shellcheck.
То ли Крок, то ли ещё кто из интеграторов делился историей, что им надо было прокатить работающую стойку через весь коридор за время работы аккумуляторов. Благо для сети кабели были подлинее.
Когда приходишь на Django-проект ты примерно представляешь чего ожидать: модели, роутинг, вьюшки, DRF... Все проекты же на FastAPI/Flask - кардинально отличаются друг от друга. Там может быть как разбиение функционала с выделением доменов (ха-ха, как в Django), так и просто месиво из моделей, валидаторов, ендпоинтов и пр.
С гибкостью фреймворков приходит и большая ответственность. Так что напоследок риторический вопрос: а вы уверены, что знаете как правильно разбивать проект на модули лучше, чем тысячи разработчиков, которые пишут на Django?
Могу ответить по своему опыту. На одном месте я был тимлидом бэкенда. После определённых конфликтов с начальством решил уволиться; остальным в моём отделе повысили зарплату на 30%. Результат - после меня ушёл только один человек и то только через полгода.
Второй случай. Я был обычным разрабом. За полгода ушло 3 человека, я четвёртый. Через месяц оставшимся зарплату подняли; больше никто не ушёл.
К слову, изначально в обоих случаях зарплата всех сотрудников была более-менее в рынке.
Вы так акцентируетесь на IPv6, можете подсказать почему?
Обычно (кол-во слов) / (средняя скорость чтения). Например, про эту статью Хабр пишет 8 минут, но я проглядел и открыл интересные вкладки меньше, чем за минуту.
Простите, но вот выучит человек flask на базе своего pet-проекта и что? Его доля для прода падает с каждым днём. Почему бы не вложиться в тот же Django и показывать проект на собеседованиях?
Порог входа во Flask лишь в самом начале простой, подключение к бд уже проблема - приходится ещё 2 либы тащить. Что хуже - дальше встаёт вопрос какую из библиотек брать для тех же форм или API. В Django же есть как правило один официально рекомендуемый способ сделать что-то. Да, для прода не всегда подходящий, но новичку это знать и не надо.
Ну и про легковесность... Когда вы соберёте весь зоопарк, то не факт, что размер будет меньше.
Рекрутеры, может, и не откроют, но это отличная отправная точка для разговора. За 5-10 минут у любого проекта находятся места, о которых можно поговорить. Так что перед собеседованием я ставил DnD на 10 минут, чтобы успеть сделать чай и ознакомиться с резюме.
История с wsgi повторяется... может, и до pep на asgi договорятся.
Я так понимаю, что прод у вас в контейнерах. А почему бы тогда не запускать один процесс на контейнер и следить именно за ним? 12factor app предлагает делать именно так. Да и CFS будет понятнее работать.
Альтернативный вариант - переписать хелсчек таким образом, чтобы он проверял наличие процессов в поле.
Но это, конечно, как быстрое решение. Молодцы, что обновляетесь.
Как модемы всю ночь трещали, отдавая за битом биты...
Соль бывает не только поваренная.
Пааагадите-ка, но решений для feature-toggle минимум десяток только популярных. Прежде чем пилить своё вы их конечно же сравнили? Ведь сравнили, правда? Была бы интересна статья именно на эту тему.
Омг, как только слона не насилуют, а он всё равно работает. А где сравнение с остальными решениями?
Открывая статью, я надеялся, что вы свой pluggable storage реализовали и горизонтальное масштабирование. Потому как от кеша требуется всё-таки AP, а не ACID, под который Postgres заточен очень сильно.
А зачем декомпилить? Можно ж включить дамп сертификатов и Wireshark посмотреть трафик. Это ж локально происходит, насколько я понимаю. Но anyway, это не задача курса. Если кто-то сможет такое провернуть, то автоматически достоен зачёта.
Ну, декомпиляцией я ещё на первом курсе занимался, когда крякмишки ломал. SoftICE, IDAPro... В данном случае должно быть не сильно сложно, т.к. строки для проверки вставляются в секцию .data и лежат как plain text.
Мои студенты сдают зачёт на отдельной купленной VPS. Я там создал кучу пользователей с паролями, собственно, сам её и админю. Так что могу позволить себе собрать образ и позволить запускать его из make. Лично мне так проще - оверхеда ноль и полная переносимость (т.е. тестирую я локально).
К тому же докеру посвящена примерно треть курса: от "что это такое" до cgroups/namespaces/layerfs, так что на одном из занятий планирую чтобы они сами с помощью dive раскопали как происходит проверка. Может, успею пасхалку какую на самозачёт положить, чтобы воспитать дух хакерства :)
Задумка очень хорошая и, главное, кстати! Но воспользоваться, увы, не смогу. Опишу основные мои претензии как преподавателя, читающего курс по администрированию Linux в местном универе.
Самое интересное - task_checker, так что начал с него. Слегка удивлён, что там сишный код. Ожидал увидеть что-то более высокоуровневое, но да ладно... Во-первых, тест-кейсы задаются прямо в .h файлах - хотелось бы более декларативного описания заданий. Во-вторых, опциональный экспорт в LMS в этом же каталоге - мне кажется, что это всё-таки отдельная сущность. В-третьих, ИМХО, проверка должна быть не интерактивная - проверять сразу всё; не нашёл - проблема студента.
В моём понимании чекер должен быть каким-то docker-образом, куда монтируется каталог студента и проверяются захардкоженные файлы. Я думал сделать на pytest - там можно легко перехватывать stdout и сравнивать с ожиданием. Правда, в моей специфике чекер будет ещё проверять ФИО студента, наличие ssh-ключа и проверку shellcheck.
То ли Крок, то ли ещё кто из интеграторов делился историей, что им надо было прокатить работающую стойку через весь коридор за время работы аккумуляторов. Благо для сети кабели были подлинее.
Когда приходишь на Django-проект ты примерно представляешь чего ожидать: модели, роутинг, вьюшки, DRF... Все проекты же на FastAPI/Flask - кардинально отличаются друг от друга. Там может быть как разбиение функционала с выделением доменов (ха-ха, как в Django), так и просто месиво из моделей, валидаторов, ендпоинтов и пр.
С гибкостью фреймворков приходит и большая ответственность. Так что напоследок риторический вопрос: а вы уверены, что знаете как правильно разбивать проект на модули лучше, чем тысячи разработчиков, которые пишут на Django?
Всегда было интересно зачем создавать словарь и потом сразу его распаковывать? Можно ж сразу аргументы передать.
tl;dr делаем хорошо, а плохо не делаем.
Имхо, баги и блокеры должны быть устранены ещё до запуска курса.
Вместо отдельных инструментов для диаграмм посмотрите на plantuml. Там всё это есть и гораздо удобнее.
В первом случае ирландский стартап в сфере образования с офисом в Краснодаре. Во втором стартап из LA в сфере медицины.
Банки обхожу стороной :)
Могу ответить по своему опыту. На одном месте я был тимлидом бэкенда. После определённых конфликтов с начальством решил уволиться; остальным в моём отделе повысили зарплату на 30%. Результат - после меня ушёл только один человек и то только через полгода.
Второй случай. Я был обычным разрабом. За полгода ушло 3 человека, я четвёртый. Через месяц оставшимся зарплату подняли; больше никто не ушёл.
К слову, изначально в обоих случаях зарплата всех сотрудников была более-менее в рынке.