Лагающий proghub.ru, отчет об инциденте
Вчера, 3 декабря, примерно в 3 часа дня по МСК наш сайт начал сильно лагать у пользователей. Глянули логи, увидели резкий скачек графика cpu и за ним такое же резкое падение - обычный симптом краша приложения (благодаря pm2 наш сайт остался на плаву). Наших стандартных метрик от digitalocean оказалось совершенно недостаточно чтобы разобраться в причине. Тут возник вопрос:
Почти все хостинги/облака дают свои метрики с коробки, обычно это процессор, память, сеть. Много кому и этого хватает, но иногда возникают ситуации вроде нашей. Вопрос к знатокам, вы пользуетесь своим мониторингом или вам дефолтного хватает? Какими сервисами/стеками/утилитами пользуетесь?
Вчера, 3 декабря, примерно в 3 часа дня по МСК наш сайт начал сильно лагать у пользователей. Глянули логи, увидели резкий скачек графика cpu и за ним такое же резкое падение - обычный симптом краша приложения (благодаря pm2 наш сайт остался на плаву). Наших стандартных метрик от digitalocean оказалось совершенно недостаточно чтобы разобраться в причине. Тут возник вопрос:
Почти все хостинги/облака дают свои метрики с коробки, обычно это процессор, память, сеть. Много кому и этого хватает, но иногда возникают ситуации вроде нашей. Вопрос к знатокам, вы пользуетесь своим мониторингом или вам дефолтного хватает? Какими сервисами/стеками/утилитами пользуетесь?
Что напечатает код из поста выше:
Anonymous Poll
26%
код не скомпилируется
32%
9876543210
11%
возникнет ошибка времени выполнения
32%
цикл будет продолжаться до бесконечности
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация пузырьковой сортировки
Задачи и тесты по программированию | proghub
Лагающий proghub.ru, отчет об инциденте Вчера, 3 декабря, примерно в 3 часа дня по МСК наш сайт начал сильно лагать у пользователей. Глянули логи, увидели резкий скачек графика cpu и за ним такое же резкое падение - обычный симптом краша приложения (благодаря…
Спасибо тем кто ответил в комментах и в личку! Отдельное спасибо за совет с
pm2 unlink
! Вы нам накинули вариантов, теперь выбираем где больше фич и можно быстрее запустить, а что выберем в итоге обязательно расскажем :)
Задачи и тесты по программированию | proghub
Список serverless технологий от разных провайдеров. Выбираем для своего проекта, это модно, стильно, молодежно 😉 #devops
Если вам интересно как развернуть свой проект в облаке то вот актуальный гайд по AWS и Google Cloud: https://gruntwork.io/guides
Каждое руководство описывает:
— ключевые концепции инфраструктуры;
— процесс развёртывания, настройки и управления инфраструктурой для использования в продакшене;
В будущем там же планируют добавить руководства по Azure.
#devops
Каждое руководство описывает:
— ключевые концепции инфраструктуры;
— процесс развёртывания, настройки и управления инфраструктурой для использования в продакшене;
В будущем там же планируют добавить руководства по Azure.
#devops
Что будет выведено на экран в результате выполнения данного кода:
proghub.ru/q/7facf8
#proghub_tests
#proghub_csharp
proghub.ru/q/7facf8
#proghub_tests
#proghub_csharp
Что будет выведено на экран в результате выполнения данного кода:
Anonymous Poll
10%
Ничего не будет выведено
25%
Something else
27%
MaxValue
11%
MinValue
27%
Будет сгенерировано OverflowExeption
This media is not supported in your browser
VIEW IN TELEGRAM
Анализатор топологии сети и протоколов в режиме реального времени:
https://github.com/skydive-project/skydive
#system
https://github.com/skydive-project/skydive
#system
This media is not supported in your browser
VIEW IN TELEGRAM
Lazydocker — пользовательский интерфейс для управления докером.
Просмотр состояния, логов, метрик; перезапуск, удаление, восстановление контейнеров и сервисов.
Репозиторий: https://github.com/jesseduffield/lazydocker
#devops #docker
Просмотр состояния, логов, метрик; перезапуск, удаление, восстановление контейнеров и сервисов.
Репозиторий: https://github.com/jesseduffield/lazydocker
#devops #docker
Задачи и тесты по программированию | proghub
Вам нужно написать быстро мобильное приложение чтобы проверить идею, что выберете - нативные технологии (swift, java...) или кроссплатформенные (react-native...)?
Воспользовались гуглом, собрали инфу и сделали выводы: если у вас приложение чуть сложнее чем калькулятор или очередной подсчет расходов/доходов то нативный подход рулит.
Вот взять например react-native, есть супер много реально крутых инструментов, сообщество достаточно развито, большое количество готовых библиотек, и можно даже налету присылать js код в приложение и сразу его встраивать в код, но историй использования в продакшене такого я не нашел. Так что если надо накидать минимальное приложение демострирующее идею - это хороший выбор.
Пробежимся по основным моментам для сравнения:
1. Производительность. Тут однозначный победитель нативные приложения, вообще производительность это один из самых больших минусов кроссплатформенности.
2. Новые фичи и доступ к ним. Самые новые фичи, прямой доступ к api платформы - это натив, кросс в этом плане ненамного, но отстает.
3. Стоимость разработки. Если у вам нужно несколько платформ поддерживать, то дешевле и проще нанять одно разработчика react-native чем по одному на каждую.
4. Скорость разработки. Понятно что где больше опыта там и скорость и качество быстрее. Представим что опыта у вас ноль, а приложение пилить надо. Натив будет не лучшим вариантом.
В заключении получается что если вам нужно на вчера - то кроссплатформенное решение ваш вариант, если время есть а деньги позволяют то натив. Интересный факт: приложение airbnb создано с помощью react-native, но после нескольких лет использования они отказались от него (https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a).
Вот взять например react-native, есть супер много реально крутых инструментов, сообщество достаточно развито, большое количество готовых библиотек, и можно даже налету присылать js код в приложение и сразу его встраивать в код, но историй использования в продакшене такого я не нашел. Так что если надо накидать минимальное приложение демострирующее идею - это хороший выбор.
Пробежимся по основным моментам для сравнения:
1. Производительность. Тут однозначный победитель нативные приложения, вообще производительность это один из самых больших минусов кроссплатформенности.
2. Новые фичи и доступ к ним. Самые новые фичи, прямой доступ к api платформы - это натив, кросс в этом плане ненамного, но отстает.
3. Стоимость разработки. Если у вам нужно несколько платформ поддерживать, то дешевле и проще нанять одно разработчика react-native чем по одному на каждую.
4. Скорость разработки. Понятно что где больше опыта там и скорость и качество быстрее. Представим что опыта у вас ноль, а приложение пилить надо. Натив будет не лучшим вариантом.
В заключении получается что если вам нужно на вчера - то кроссплатформенное решение ваш вариант, если время есть а деньги позволяют то натив. Интересный факт: приложение airbnb создано с помощью react-native, но после нескольких лет использования они отказались от него (https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a).
Скомпилируется ли данный фрагмент кода успешно?
proghub.ru/q/f44fe6 - верный ответ и объяснение тут
#proghub_tests
#proghub_csharp
proghub.ru/q/f44fe6 - верный ответ и объяснение тут
#proghub_tests
#proghub_csharp
Тем временем в стим выходит игра-симулятор I Am Jesus Christ («Я Иисус Христос»). Надо будет путешествовать с апостолами, превращать воду в вино и бороться с Сатаной:
https://www.youtube.com/watch?v=N3XY1R7ydTA
https://www.youtube.com/watch?v=N3XY1R7ydTA
YouTube
I Am Jesus Christ - official trailer
Add to wishlist - https://store.steampowered.com/app/1198970/I_Am_Jesus_Christ/
#IAmJesusChrist #Jesus #Simulator
PlayWay's Facebook page - https://www.facebook.com/PlayWayGames
Playway's Discord server - https://discord.gg/pPcEeVF
#IAmJesusChrist #Jesus #Simulator
PlayWay's Facebook page - https://www.facebook.com/PlayWayGames
Playway's Discord server - https://discord.gg/pPcEeVF
This media is not supported in your browser
VIEW IN TELEGRAM
Если ваш сайт чуть сложнее чем лендинг, то этап прототипирования при разработке пропускать не стоит. Он необходим для определения главных и второстепенных элементов будущего сайта, а также задач, которые сайт или сервис будет решать.
10 инструментов для проработки и планирования различных сценариев работы сайта:
https://habr.com/ru/post/467625
#web
10 инструментов для проработки и планирования различных сценариев работы сайта:
https://habr.com/ru/post/467625
#web
Дан следующий фрагмент псевдокода.
Каким будет значение N в результате его выполнения?
proghub.ru/q/5aef7c - верный ответ и объяснение
#proghub_tests
#proghub_basics
Каким будет значение N в результате его выполнения?
proghub.ru/q/5aef7c - верный ответ и объяснение
#proghub_tests
#proghub_basics
Статистика и ответы по трем последним вопросам:
Вопрос по С++ - 32% верных ответов из 783 голосов.
Правильный ответ:
Вопрос по С# - 25% верных ответов из 345 голосов.
Правильный ответ:
Вопрос по С# - 25% верных ответов из 401 голоса.
Правильный ответ:
Вопрос по С++ - 32% верных ответов из 783 голосов.
Правильный ответ:
9876543210
Обьяснение: Цикл будет продолжаться до тех пор пока n != 0.
Ссылка: https://proghub.ru/q/5bf414Вопрос по С# - 25% верных ответов из 345 голосов.
Правильный ответ:
будет сгенерировано OverflowExeption
Обьяснение: Тип Decimal не является примитивным для CLR, и для всех операций над данным типом нету готовых IL инструкций. Decimal содержит статические методы Add, Subtract, Multiply, Divide, а также перегруженные операторы +, -, *, /v и т.д., а как известно оператор checked/unchecked не указывает поведение методу вызваному внутри его блока.
Ссылка: https://proghub.ru/q/7facf8Вопрос по С# - 25% верных ответов из 401 голоса.
Правильный ответ:
нет
Обьяснение: Казалось бы все варианты учтены, но нужно чтобы был либо безусловный return в конце метода, либо во вложенном if ветка else. В прведенном коде получается, что не все ветки учтены (хотя они и учтены логически).
Ссылка: https://proghub.ru/q/f44fe6Трело
Супер крутой инструмент для работы с тасками - это Trello. Только карточки, колонки и доски и больше ничего. Идеально для небольших комманд. Ничего лишнего. Удобно, просто и элегантно. Если вы ещё не пользуетесь трело то попробуйте. У меня все.
Супер крутой инструмент для работы с тасками - это Trello. Только карточки, колонки и доски и больше ничего. Идеально для небольших комманд. Ничего лишнего. Удобно, просто и элегантно. Если вы ещё не пользуетесь трело то попробуйте. У меня все.