Точка входа в программирование
Простыми словами: Декларативное программирование Декларативное программирование — это подход, ориентированный на результат, который позволяет сосредотачиваться на целях, а не на способах их достижения. Оно упрощает разработку и поддержку кода, однако может…
Простыми словами: Мультипарадигменное программирование
Следующее на очереди после декларативного программирования у нас программирование, которое объединяет в себе сразу несколько парадигм. Оно позволяет использовать их сильные стороны, обеспечивая гибкость и расширяемость кода. Этот подход особенно подходит для сложных проектов, где разные задачи требуют разных решений. Однако разработчики должны быть внимательны, чтобы избежать чрезмерного усложнения и сохранить читаемость кода.
#простымисловами #парадигмы
Следующее на очереди после декларативного программирования у нас программирование, которое объединяет в себе сразу несколько парадигм. Оно позволяет использовать их сильные стороны, обеспечивая гибкость и расширяемость кода. Этот подход особенно подходит для сложных проектов, где разные задачи требуют разных решений. Однако разработчики должны быть внимательны, чтобы избежать чрезмерного усложнения и сохранить читаемость кода.
#простымисловами #парадигмы
Энтузиаст с Reddit создать удобный инструмент для изучения Rust
Rustfinity — это интерактивный тренажёр, который помогает изучать синтаксис и особенности языка. Вы можете читать теорию, а затем закреплять её с помощью задач. Задачи делятся по уровню сложности и тема.
Начать можно бесплатно по ссылке.
#инструмент #rust
Rustfinity — это интерактивный тренажёр, который помогает изучать синтаксис и особенности языка. Вы можете читать теорию, а затем закреплять её с помощью задач. Задачи делятся по уровню сложности и тема.
Начать можно бесплатно по ссылке.
#инструмент #rust
🔥5👍3❤1
Компьютерное зрение на С++
У нас тут периодически бывают статьи про машинное обучение и компьютерное зрение. Но, как правило, все они касаются Python. Сейчас же предлагаю посмотреть на реализацию на C++.
Здесь вы узнаете, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4.
Часть 1
Часть 2
#cpp #cv #ml
У нас тут периодически бывают статьи про машинное обучение и компьютерное зрение. Но, как правило, все они касаются Python. Сейчас же предлагаю посмотреть на реализацию на C++.
Здесь вы узнаете, как реализовать обнаружение объектов в реальном времени с помощью камеры на мобильной платформе Android с использованием библиотек PyTorch и NCNN и моделей компьютерного зрения YOLOv5 и YOLOv4.
Часть 1
Часть 2
#cpp #cv #ml
👍1
Редактор карт для 2D-игр на Rust
Sprite Fusion — это бесплатный редактор, который работает прямо в браузере. Он позволяет быстро создать необходимый уровень и затем экспортировать его в Unity, Godot, Defold или Flame.
Мастхэв для геймдевелоперов можно пощупать здесь.
#gamedev #rust
Sprite Fusion — это бесплатный редактор, который работает прямо в браузере. Он позволяет быстро создать необходимый уровень и затем экспортировать его в Unity, Godot, Defold или Flame.
Мастхэв для геймдевелоперов можно пощупать здесь.
#gamedev #rust
👍7❤🔥1🆒1
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}) \) в среднем.
#сортировка
👍15🤓1
Системный инженер
ИТ-команда Гринатома ищет системного инженера, который займется сопровождением и развитием единой отраслевой системы электронного документооборота (ЕОСДО).
Предстоит обеспечивать доступность и непрерывность систем, проводить мониторинг работы прикладного ПО, устранять проблемы в функционировании сервисов. Идеальный кандидат имеет опыт администрирования Linux и серверов Java-приложений, уже работал с СУБД и понимает стек протоколов TCP/IP.
Узнайте о вакансии больше
#вакансии
ИТ-команда Гринатома ищет системного инженера, который займется сопровождением и развитием единой отраслевой системы электронного документооборота (ЕОСДО).
Предстоит обеспечивать доступность и непрерывность систем, проводить мониторинг работы прикладного ПО, устранять проблемы в функционировании сервисов. Идеальный кандидат имеет опыт администрирования Linux и серверов Java-приложений, уже работал с СУБД и понимает стек протоколов TCP/IP.
Узнайте о вакансии больше
#вакансии
hh.ru
Вакансия Системный инженер (Linux) в Москве, работа в компании Гринатом (вакансия в архиве c 6 ноября 2024)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 07.10.2024.
❤2🎉1
Media is too big
VIEW IN TELEGRAM
Общая теория программирования простыми словами
Слышали о такой? Когда-то её начали развивать, но в какой-то момент просто забыли. И пусть сегодня она не пользуется популярностью, вы можете использовать её в своих задач.
Важным её аспектом является определение подходов для нахождения правильных решений при разработке ПО. Но обо всём по-порядку. В этом небольшом ролике даётся вся нужная информация для понимания основ теории.
#видео #отп
Слышали о такой? Когда-то её начали развивать, но в какой-то момент просто забыли. И пусть сегодня она не пользуется популярностью, вы можете использовать её в своих задач.
Важным её аспектом является определение подходов для нахождения правильных решений при разработке ПО. Но обо всём по-порядку. В этом небольшом ролике даётся вся нужная информация для понимания основ теории.
#видео #отп
❤4👍2🔥2
Что происходит, когда вы вводите адрес сайта и нажимаете Enter
Несмотря на фундаментальность вопроса, в нем ошибаются или не могут дать точного ответа даже Senior-разработчкии. Что уж говорить о джунах.
Но теперь вы можете разобраться в вопросе благодаря этой статье. Здесь без сложных терминов вы изучите процесс от ввода URL до полной загрузки и отображения страницы в браузере.
#веб #сеть
Несмотря на фундаментальность вопроса, в нем ошибаются или не могут дать точного ответа даже Senior-разработчкии. Что уж говорить о джунах.
Но теперь вы можете разобраться в вопросе благодаря этой статье. Здесь без сложных терминов вы изучите процесс от ввода URL до полной загрузки и отображения страницы в браузере.
#веб #сеть
👏6❤2👍2🔥1😁1
Большая подборка ресурсов для разработчиков
devresourc.es — это платформа для разработчиков, на которой собрано около тысячи различных полезных инструментов, библиотек, туториалов и статей.
Все они разбиты по категориям, чтобы вам было проще искать. Так что не теряйте времени, переходите по ссылке и изучайте то, что интересно вам.
#инструменты
devresourc.es — это платформа для разработчиков, на которой собрано около тысячи различных полезных инструментов, библиотек, туториалов и статей.
Все они разбиты по категориям, чтобы вам было проще искать. Так что не теряйте времени, переходите по ссылке и изучайте то, что интересно вам.
#инструменты
❤6
Стажёры, призываем вас!
👨💻 ИТ-холдинг Т1 завершает набор на полугодовую оплачиваемую стажировку для 1С-разработчиков. У тебя есть шанс получить ценный опыт и построить карьеру в крупнейшей ИТ-компании страны (по версии RAEX и CNews 2023).
⚡ Зачем участвовать?
— Уникальный рыночный опыт и масштабные ресурсы.
— Сертификация от вендора.
— Офис в центре Санкт-Петербурга с приставкой, фрешами и массажным креслом.
— Возможность перейти на удаленку.
— Поддержка и большое сообщество Т1, где можно учить английский и китайский, стать частью киберкоманды, техногильдии или киноклуба 😍
По итогам стажировки тебя ждет перевод на бессрочный трудовой договор, карьерный фаст-трек из джуна в мидла за 1,5 года и бонусы аккредитованной ИТ-компании: ДМС, обучение, митапы, программы развития и многое другое.
Ждем студентов последних курсов и выпускников тех. специальностей, которые имеют опыт разработки на любом языке программирования от 1 года и понимают, что такое СУБД и SQL.
🤓 Принимаем заявки до 29 ноября на сайте.
Реклама. ООО "Т1". ИНН 7720484492.
👨💻 ИТ-холдинг Т1 завершает набор на полугодовую оплачиваемую стажировку для 1С-разработчиков. У тебя есть шанс получить ценный опыт и построить карьеру в крупнейшей ИТ-компании страны (по версии RAEX и CNews 2023).
⚡ Зачем участвовать?
— Уникальный рыночный опыт и масштабные ресурсы.
— Сертификация от вендора.
— Офис в центре Санкт-Петербурга с приставкой, фрешами и массажным креслом.
— Возможность перейти на удаленку.
— Поддержка и большое сообщество Т1, где можно учить английский и китайский, стать частью киберкоманды, техногильдии или киноклуба 😍
По итогам стажировки тебя ждет перевод на бессрочный трудовой договор, карьерный фаст-трек из джуна в мидла за 1,5 года и бонусы аккредитованной ИТ-компании: ДМС, обучение, митапы, программы развития и многое другое.
Ждем студентов последних курсов и выпускников тех. специальностей, которые имеют опыт разработки на любом языке программирования от 1 года и понимают, что такое СУБД и SQL.
🤓 Принимаем заявки до 29 ноября на сайте.
Реклама. ООО "Т1". ИНН 7720484492.
👍2
Какое будущее ждёт «плюсы»
Недавно появилась интересная статья, которая поднимает этот вопрос. Те, кто работали с C++, знают, что у него есть несколько диалектов. А ещё несколько разных стандартов. Это, как вы можете догадаться, приносит много сложностей по унификации кода из разных проектов, созданию библиотек и т.д.
Некоторые компании уже переходят с С и С++ на Rust и другие современные языки, обеспечивающие более высокую степень безопасности.
В связи с этим вопрос, есть ли у плюсов будущее или они тоже постепенно уходят на второй план? Поделитесь своим мнением в комментах, а также почитайте статью на эту тему, которая добавит вам ещё пищи для размышлений.
#cpp #clang
Недавно появилась интересная статья, которая поднимает этот вопрос. Те, кто работали с C++, знают, что у него есть несколько диалектов. А ещё несколько разных стандартов. Это, как вы можете догадаться, приносит много сложностей по унификации кода из разных проектов, созданию библиотек и т.д.
Некоторые компании уже переходят с С и С++ на Rust и другие современные языки, обеспечивающие более высокую степень безопасности.
В связи с этим вопрос, есть ли у плюсов будущее или они тоже постепенно уходят на второй план? Поделитесь своим мнением в комментах, а также почитайте статью на эту тему, которая добавит вам ещё пищи для размышлений.
#cpp #clang
😁4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Отвлекитесь на минутку и посмотрите, как достают данные из «умершей» флешки
Некромантия в мире IT.
Некромантия в мире IT.
👏17
Администратор корпоративной почтовой системы
ИТ-команда Гринатома ищет в команду администратора для поддержки и развития корпоративной почтовой системы.
Вам предстоить устранять сбои, автоматизировать рутинные операции, участвовать в разработке почтовых решений и настраивать средства мониторинга и управления.
Что требуется от кандидата:
— Опыт администрирования почтовых систем уровня «Enterprise» в отказоустойчивой конфигурации, знание серверных операционных систем и опыт внедрения и миграции почтовых систем.
— Вы понимаете технологии SPF, DKIM и DMARC, умеете писать скрипты и работали с SSL-сертификатами.
Откликнуться на вакансию
#вакансии
ИТ-команда Гринатома ищет в команду администратора для поддержки и развития корпоративной почтовой системы.
Вам предстоить устранять сбои, автоматизировать рутинные операции, участвовать в разработке почтовых решений и настраивать средства мониторинга и управления.
Что требуется от кандидата:
— Опыт администрирования почтовых систем уровня «Enterprise» в отказоустойчивой конфигурации, знание серверных операционных систем и опыт внедрения и миграции почтовых систем.
— Вы понимаете технологии SPF, DKIM и DMARC, умеете писать скрипты и работали с SSL-сертификатами.
Откликнуться на вакансию
#вакансии
hh.ru
Вакансия Администратор корпоративной почтовой системы в Москве, работа в компании Гринатом. ИТ (вакансия в архиве c 30 ноября 2024)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 31.10.2024.
🥰3
Гайд по реализации паттерна Composite в Kotlin с sealed-классами и корутинами
Composite — это как универсальный интерфейс, который позволяет обращаться с составными и одиночными объектами одинаково. Вместо тысячи
Если у вас есть сложная система с кучей объектов — простых и составных — и вы хотите управлять ими, не теряя асинхронности, то этот гайд для вас.
https://habr.com/ru/companies/otus/articles/859176/
#kotlin #паттерны
Composite — это как универсальный интерфейс, который позволяет обращаться с составными и одиночными объектами одинаково. Вместо тысячи
if-else
можно получить довольно стройную иерархию, где всё просто: композиты содержат другие компоненты, а листья выполняют конкретную работу.Если у вас есть сложная система с кучей объектов — простых и составных — и вы хотите управлять ими, не теряя асинхронности, то этот гайд для вас.
https://habr.com/ru/companies/otus/articles/859176/
#kotlin #паттерны
👍3❤1
Ускоряем Python с помощью параллелизма
Параллелизм — это способность программы одновременно выполнять несколько задач, повышая производительность и скорость отклика. Поэтому понимание принципов параллелизма имеет решающее значение для оптимизации программ, особенно тех, которые связаны с вводом-выводом или процессором.
В этом руководстве вы:
— узнаете различные формы параллелизма в Python;
— реализуете многопоточные и асинхронные решения для задач, связанных с вводом-выводом;
— используете многопроцессорность для задач, связанных с ЦП, чтобы добиться настоящего параллелизма;
— научитесь выбирать подходящую модель параллелизма, исходя из потребностей вашей программы.
#python
Параллелизм — это способность программы одновременно выполнять несколько задач, повышая производительность и скорость отклика. Поэтому понимание принципов параллелизма имеет решающее значение для оптимизации программ, особенно тех, которые связаны с вводом-выводом или процессором.
В этом руководстве вы:
— узнаете различные формы параллелизма в Python;
— реализуете многопоточные и асинхронные решения для задач, связанных с вводом-выводом;
— используете многопроцессорность для задач, связанных с ЦП, чтобы добиться настоящего параллелизма;
— научитесь выбирать подходящую модель параллелизма, исходя из потребностей вашей программы.
#python
1👍6