Forwarded from SMLTECH
Архитектурные IT-паттерны в образах строительных решений 🏗
Иногда кажется, что IT и строительство не так уж и далеки друг от друга: там и тут нужны прочный фундамент и хорошая архитектура, а также звучит вечное «давайте переделаем». Представим, как бы выглядели известные IT-паттерны, если бы с ними работали не разработчики, а прорабы 👷♂️
А какие ещё паттерны вы бы добавили в наш строительный IT-город?♻️
#шерим
Иногда кажется, что IT и строительство не так уж и далеки друг от друга: там и тут нужны прочный фундамент и хорошая архитектура, а также звучит вечное «давайте переделаем». Представим, как бы выглядели известные IT-паттерны, если бы с ними работали не разработчики, а прорабы 👷♂️
А какие ещё паттерны вы бы добавили в наш строительный IT-город?
#шерим
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Хорошо ли вы знаете MongoDB? Проверяем в нашем новом квизе
MongoDB — одна из самых популярных NoSQL баз данных. Этот тест поможет вам проверить свои знания о её особенностях и основных принципах работы. Если чувствуете, что нужно освежить знания, рекомендуем ознакомиться с этой статьёй о MongoDB.
Пройти тест
#викторина #mongodb #бд
MongoDB — одна из самых популярных NoSQL баз данных. Этот тест поможет вам проверить свои знания о её особенностях и основных принципах работы. Если чувствуете, что нужно освежить знания, рекомендуем ознакомиться с этой статьёй о MongoDB.
Пройти тест
#викторина #mongodb #бд
Решаем задачу о банкомате
Дано: Банкомат с кассетой, отделения которой заряжены купюрами разных номиналов. Клиент просит банкомат выдать ему определённую сумму. Необходимо найти все варианты выдачи этой суммы минимальным количеством купюр.
Вам кажется, что это легко? Возможно. Тогда попробуйте решить её самостоятельно. А если не получится, то залетайте в статью и посмотрите, как её решает опытный разработчик.
#задача #статья
Дано: Банкомат с кассетой, отделения которой заряжены купюрами разных номиналов. Клиент просит банкомат выдать ему определённую сумму. Необходимо найти все варианты выдачи этой суммы минимальным количеством купюр.
Вам кажется, что это легко? Возможно. Тогда попробуйте решить её самостоятельно. А если не получится, то залетайте в статью и посмотрите, как её решает опытный разработчик.
#задача #статья
This media is not supported in your browser
VIEW IN TELEGRAM
Полезная программа для любителей электроники
Wokwi — это симулятор, в котором вы можете собирать схемы на Arduino, ESP32 или Raspberry Pi, писать код для них и смотреть, как это работает в режиме онлайн. Такой подход помогает продумать идею ещё до момента появления у вас деталей. Ну и сразу понять, что вам ещё нужно, что работает, а что нет.
#инструменты #diy
Wokwi — это симулятор, в котором вы можете собирать схемы на Arduino, ESP32 или Raspberry Pi, писать код для них и смотреть, как это работает в режиме онлайн. Такой подход помогает продумать идею ещё до момента появления у вас деталей. Ну и сразу понять, что вам ещё нужно, что работает, а что нет.
#инструменты #diy
Точка входа в программирование
Простыми словами: Декларативное программирование Декларативное программирование — это подход, ориентированный на результат, который позволяет сосредотачиваться на целях, а не на способах их достижения. Оно упрощает разработку и поддержку кода, однако может…
Простыми словами: Мультипарадигменное программирование
Следующее на очереди после декларативного программирования у нас программирование, которое объединяет в себе сразу несколько парадигм. Оно позволяет использовать их сильные стороны, обеспечивая гибкость и расширяемость кода. Этот подход особенно подходит для сложных проектов, где разные задачи требуют разных решений. Однако разработчики должны быть внимательны, чтобы избежать чрезмерного усложнения и сохранить читаемость кода.
#простымисловами #парадигмы
Следующее на очереди после декларативного программирования у нас программирование, которое объединяет в себе сразу несколько парадигм. Оно позволяет использовать их сильные стороны, обеспечивая гибкость и расширяемость кода. Этот подход особенно подходит для сложных проектов, где разные задачи требуют разных решений. Однако разработчики должны быть внимательны, чтобы избежать чрезмерного усложнения и сохранить читаемость кода.
#простымисловами #парадигмы
Энтузиаст с Reddit создать удобный инструмент для изучения Rust
Rustfinity — это интерактивный тренажёр, который помогает изучать синтаксис и особенности языка. Вы можете читать теорию, а затем закреплять её с помощью задач. Задачи делятся по уровню сложности и тема.
Начать можно бесплатно по ссылке.
#инструмент #rust
Rustfinity — это интерактивный тренажёр, который помогает изучать синтаксис и особенности языка. Вы можете читать теорию, а затем закреплять её с помощью задач. Задачи делятся по уровню сложности и тема.
Начать можно бесплатно по ссылке.
#инструмент #rust
Компьютерное зрение на С++
У нас тут периодически бывают статьи про машинное обучение и компьютерное зрение. Но, как правило, все они касаются Python. Сейчас же предлагаю посмотреть на реализацию на C++.
Здесь вы узнаете, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4.
Часть 1
Часть 2
#cpp #cv #ml
У нас тут периодически бывают статьи про машинное обучение и компьютерное зрение. Но, как правило, все они касаются Python. Сейчас же предлагаю посмотреть на реализацию на C++.
Здесь вы узнаете, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4.
Часть 1
Часть 2
#cpp #cv #ml
Редактор карт для 2D-игр на Rust
Sprite Fusion — это бесплатный редактор, который работает прямо в браузере. Он позволяет быстро создать необходимый уровень и затем экспортировать его в Unity, Godot, Defold или Flame.
Мастхэв для геймдевелоперов можно пощупать здесь.
#gamedev #rust
Sprite Fusion — это бесплатный редактор, который работает прямо в браузере. Он позволяет быстро создать необходимый уровень и затем экспортировать его в Unity, Godot, Defold или Flame.
Мастхэв для геймдевелоперов можно пощупать здесь.
#gamedev #rust
This media is not supported in your browser
VIEW IN TELEGRAM
Популярные способы сортировки и визуализация их работы
Существует множество способов отсортировать данные. Ниже вы увидите несколько из них. А выше наглядная демонстрация, как работает каждый способ.
Selection Sort (Сортировка выбором): Находит минимальный элемент в несортированной части массива и перемещает его в начало. Прост, но медленный на больших данных. Сложность сортировки: \( O(n^2) \).
Insertion Sort (Сортировка вставками): Поэлементно добавляет элементы в правильное место в отсортированной части массива. Хорошо работает на почти отсортированных данных. Сложность сортировки: \( O(n^2) \) в худшем случае, \( O(n) \) в лучшем.
Heap Sort (Пирамидальная сортировка): Использует двоичную кучу для последовательного извлечения максимального элемента и его размещения в конце массива. Стабильный алгоритм. Сложность сортировки: \( O(n \log n) \).
Bubble Sort (Пузырьковая сортировка): Попарно сравнивает соседние элементы и меняет их местами, если они в неправильном порядке. Самый простой, но крайне неэффективный метод. Сложность сортировки: \( O(n^2) \).
Cocktail Sort (Коктейльная сортировка): Двусторонний вариант пузырьковой сортировки, проходит массив в прямом и обратном направлении, уменьшая количество проверок. Сложность сортировки: \( O(n^2) \).
Circle Sort (Круговая сортировка): Рекурсивно сравнивает и обменивает элементы, находящиеся на противоположных концах массива, эффективно упорядочивая данные. Сложность сортировки: \( O(n \log n) \) в среднем.
Merge Sort (Сортировка слиянием): Делит массив на части, сортирует каждую часть отдельно и сливает их в один отсортированный массив. Эффективен для больших данных, но требует дополнительной памяти. Сложность сортировки: \( O(n \log n) \).
Quick Sort (Быстрая сортировка): Выбирает опорный элемент, делит массив на элементы меньше и больше него, сортирует их рекурсивно. Один из самых быстрых алгоритмов, но чувствителен к выбору опорного элемента. Сложность сортировки: \( O(n \log n) \) в среднем, \( O(n^2) \) в худшем случае.
Shell Sort (Сортировка Шелла): Улучшение вставок, использующее сортировку с убывающим шагом. Быстрее, чем классические вставки, но зависит от выбора шага. Сложность сортировки: \( O(n^{3/2}) \) в среднем.
#сортировка
Существует множество способов отсортировать данные. Ниже вы увидите несколько из них. А выше наглядная демонстрация, как работает каждый способ.
Selection Sort (Сортировка выбором): Находит минимальный элемент в несортированной части массива и перемещает его в начало. Прост, но медленный на больших данных. Сложность сортировки: \( O(n^2) \).
Insertion Sort (Сортировка вставками): Поэлементно добавляет элементы в правильное место в отсортированной части массива. Хорошо работает на почти отсортированных данных. Сложность сортировки: \( O(n^2) \) в худшем случае, \( O(n) \) в лучшем.
Heap Sort (Пирамидальная сортировка): Использует двоичную кучу для последовательного извлечения максимального элемента и его размещения в конце массива. Стабильный алгоритм. Сложность сортировки: \( O(n \log n) \).
Bubble Sort (Пузырьковая сортировка): Попарно сравнивает соседние элементы и меняет их местами, если они в неправильном порядке. Самый простой, но крайне неэффективный метод. Сложность сортировки: \( O(n^2) \).
Cocktail Sort (Коктейльная сортировка): Двусторонний вариант пузырьковой сортировки, проходит массив в прямом и обратном направлении, уменьшая количество проверок. Сложность сортировки: \( O(n^2) \).
Circle Sort (Круговая сортировка): Рекурсивно сравнивает и обменивает элементы, находящиеся на противоположных концах массива, эффективно упорядочивая данные. Сложность сортировки: \( O(n \log n) \) в среднем.
Merge Sort (Сортировка слиянием): Делит массив на части, сортирует каждую часть отдельно и сливает их в один отсортированный массив. Эффективен для больших данных, но требует дополнительной памяти. Сложность сортировки: \( O(n \log n) \).
Quick Sort (Быстрая сортировка): Выбирает опорный элемент, делит массив на элементы меньше и больше него, сортирует их рекурсивно. Один из самых быстрых алгоритмов, но чувствителен к выбору опорного элемента. Сложность сортировки: \( O(n \log n) \) в среднем, \( O(n^2) \) в худшем случае.
Shell Sort (Сортировка Шелла): Улучшение вставок, использующее сортировку с убывающим шагом. Быстрее, чем классические вставки, но зависит от выбора шага. Сложность сортировки: \( O(n^{3/2}) \) в среднем.
#сортировка
Системный инженер
ИТ-команда Гринатома ищет системного инженера, который займется сопровождением и развитием единой отраслевой системы электронного документооборота (ЕОСДО).
Предстоит обеспечивать доступность и непрерывность систем, проводить мониторинг работы прикладного ПО, устранять проблемы в функционировании сервисов. Идеальный кандидат имеет опыт администрирования Linux и серверов Java-приложений, уже работал с СУБД и понимает стек протоколов TCP/IP.
Узнайте о вакансии больше
#вакансии
ИТ-команда Гринатома ищет системного инженера, который займется сопровождением и развитием единой отраслевой системы электронного документооборота (ЕОСДО).
Предстоит обеспечивать доступность и непрерывность систем, проводить мониторинг работы прикладного ПО, устранять проблемы в функционировании сервисов. Идеальный кандидат имеет опыт администрирования Linux и серверов Java-приложений, уже работал с СУБД и понимает стек протоколов TCP/IP.
Узнайте о вакансии больше
#вакансии
hh.ru
Вакансия Системный инженер (Linux) в Москве, работа в компании Гринатом. Центр Разработки. (вакансия в архиве c 6 ноября 2024)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 07.10.2024.