Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Прощай, открытое образование

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 466
Научно-популярное Астрономия Математика *Мозг
Мнение

Уверен, что большинство тех, кто читает и пишет на хабре, постоянно чему-нибудь да обучаются. Современный мир таков, что знания, особенно в областях, где развитие идёт с большой скоростью, если не устаревают окончательно, то становятся менее актуальными. И сразу появляются новые знания, который также нужно освоить. Впрочем, это же интересно!

Но есть один нюанс - чтобы усваивать новые знания и навыки, одного желания часто мало, нужны ещё основы, базовые знания, которые были получены в школе, вузе, самостоятельно, но желательно, чтобы они складывались в систему. Собственно, поэтому образование в тех же вузах часто и называют системным. Да, оно не всегда таким бывает, но всё-таки бывает.
К чему длительное вступление? Сейчас поясню.

Лет восемь назад, точно уже не помню, я познакомился с отличным российским ресурсом, "Открытое образование" Название хорошо отражало суть - на нем выкладывались академические курсы российских вузов по различным дисциплинам и всё это было полностью бесплатным. Качество курсов было разное, но имея желание и время, вполне можно было получить знания, а при необходимости, зачесть пройденный курс в качестве пройденного, сдав экзамен и добавить предмет в диплом. Это уже было платно, что вполне справедливо, так как требовало присутствия преподователей-экзаменаторов.
Сам с удовольствием прошел различные курсы, начиная от астрономии - очень интересный, математики вроде теории графов и матанализа, который когда то давно плохо уложился в голове и заканчивая теорией логики и аргументации - курс очень сложный, как ни странно.
Без ложной скромности скажу, что с моей подачи десяток человек увлеклись подобным времяпровождением, развивая свои мозги:)
И вот наступил 2023 год, весной которого на открытом образовании стали исчезать курсы. Раньше любой из них, тобой уже пройденный, был доступен для повторения, а тут их внезапно не стало. А потом все курсы исчезли, чтобы появится уже только на платной основе. При этом стоимость некоторых стала значительной.
В общем, кончилось образование.
Насколько знаю, ресурс был создан и поддерживается Министерством науки и высшего образования Российской федерации, так что введение оплаты за всё, особенно сейчас, когда образование так нужно в стране, кажется несколько странным и непонятным.

Читать далее
Рейтинг 0
Комментарии 1

Новости

Repka Pi и начало работы. Тесты разных MicroSD, клонирование SD карт, создание образов SD карт c рабочей прошивкой

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 510
Настройка Linux *IT-инфраструктура *Учебный процесс в IT Разработка на Raspberry Pi *Компьютерное железо
Обзор

В данной статье пойдет разговор о MicroSD картах. У многих начинающих пользователей мини компьютеров типа Raspberry Pi, Orange Pi или как наш сегодняшний участник теста Repka Pi, задаются вопросом “Какую карту памяти выбрать?”. И данный вопрос является немаловажным, ведь от выбранной MicroSD зависит производительность системы в целом.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 0

Как не нужно фиксить concurrency проблемы

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 2.4K
Программирование *

Согласитесь, сoncurrency — одна из непростых тем программирования. В начале своей карьеры программиста кто‑то всячески пытается избежать погружения в эту тему, но рано или поздно приходится столкнуться с concurrency проблемами. Это может случиться, потому что нужно написать потокобезопасный код или прилетел баг на уже имеющийся код.

По неопытности некоторые могут просто замаскировать проблему, которая позже снова даст о себе знать. Некоторые из этих подходов распишу ниже. Но имейте в виду, это просто временное решение, которое на самом деле не решает проблему сoncurrency.

Статья не про серебряную пулю, как исправить concurrency проблемы, а про костыльные подходы веселых и находчивых, которые не решают суть проблемы.

Читать далее
Всего голосов 14: ↑10 и ↓4 +6
Комментарии 10

JVM internals

Уровень сложности Средний
Время на прочтение 20 мин
Количество просмотров 1.3K
Java *
Туториал
Перевод

Статья объясняет внутреннюю архитектуру виртуальной машины Java (JVM). Диаграмма отображает ключевые внутренние компоненты типичной JVM, которая соответствует спецификации The Java Virtual Machine Specification Java SE 7 Edition

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 2

Истории

Создание сервера для онлайн ММО игр на PHP ч. 10 — Открытый бесшовный мир в 2D игре и причем тут беспилотники

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.2K
PHP *Разработка игр *Алгоритмы *Unity *
Роадмэп

В этот раз я расскажу как удалось реализовать открытый бесшовный мир в горизонтально масштабируемой 2D онлайн игре, а так же поделюсь идеей управления разведывательными беспилотными летательными аппаратами на огромных территориях.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 4

My4TH — домашний компьютер без процессора

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 5.4K
Assembler *Forth *DIY или Сделай сам
Обзор
Перевод

Этот обзор посвящен открытому проекту компьютера My4TH по информации от разработчика: Авторский сайт проекта:

My4TH (произносится как "мой четвертый") - это четвертый домашний компьютер без процессора после MyCPU, MyNOR и TraNOR. Автор хотел и построил максимально простой компьютер с дискретным процессором, использующим как можно меньше элементов и компонентов, под управлением операционной системы Forth.

Смотреть обзор
Всего голосов 38: ↑38 и ↓0 +38
Комментарии 5

Масштабируемая Big Data система в Kubernetes с использованием Spark и Cassandra

Уровень сложности Средний
Время на прочтение 39 мин
Количество просмотров 531
Java *Big Data *Kotlin *
Туториал

В предыдущей статье я рассказал, как организовать систему распределенного машинного обучения на GPU NVidia, используя язык Java с фреймворками Spring, Spark ML, XGBoost, DML в standalone кластере Spark. Особенностью поставленной задачи являлось организация системы под управлением ОС Windows 10 Pro, в Docker‑контейнерах. Эксперимент оказался не вполне успешным. В данной статье я покажу, как воспользоваться имеющимися наработками и запустить Spark Jobs в Kubernetes в режимах client и cluster, опишу особенности работы с Cassandra в Spark, покажу пример обучения модели и ее дальнейшего использования. В этот раз буду использовать язык Kotlin. Репозиторий с кодом доступен на GitLab.

Данная статья представляет интерес для тех, кто интересуется системами Big Data и стремится создать систему, позволяющую, в том числе, выполнять задачи распределенного машинного обучения на Spark в Kubernetes, используя GPU NVidia и Cassandra для хранения данных.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Ближайшие бесплатные мероприятия по разработке (6 июня — 8 июня 2023)

Уровень сложности Простой
Время на прочтение 1 мин
Количество просмотров 641
Программирование *Учебный процесс в IT Карьера в IT-индустрии Конференции
Дайджест
Читать описание
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 0

Дублирование тест-кейсов в Allure TestOps при использовании Playwright

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 259
Тестирование IT-систем *Тестирование веб-сервисов *TypeScript *
Из песочницы

Дублирование тест — кейсов в Allure TestOps при использовании Playwright (JS/TS). Описание проблемы и решение.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Установка и настройка сервера Matrix Synapse + PostgreSQL + Admin UI + Element WEB. Ubuntu 20 LTS / Ubuntu 22 LTS

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 2.8K
Децентрализованные сети *Настройка Linux *Информационная безопасность *Мессенджеры *IT-инфраструктура *
Из песочницы

Всем привет. В данном гайде я постарался пошагово, подробно и доступно описать процесс установки на свой сервер Matrix Synapse + Element WEB + Admin UI на базе Ubuntu 20 LTS / Ubuntu 22 LTS.

Столкнувшись с задачей поднять свой сервер я затратил очень много времени на установку, настройки и отладку некоторых настроек. В сети были разные гайды, но все они так или иначе не работали на все 100.

Разобравшись с данным вопросом и затратив не мало усилий я решил поделиться своими результатами с сообществом habr.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 8

Zapier для бедных

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 2K
JavaScript *
Кейс

Если вы не знакомы с Zapier, вам повезло.

Если вы используете Zapier, вы счастливы.

Если вы собираетесь использовать Zapier —

вам повезло найти эту статью.

Приоткрыть завесу
Всего голосов 9: ↑6 и ↓3 +3
Комментарии 1

Система оповещения открытых портов на Alma Linux. Теория и реализация

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 1.9K
Информационная безопасность *
Из песочницы

Привет, Хабр! В данной статье я постарался максимально подробно описать создание данной системы, при этом параллельно предоставить читателю хорошую теоретическую базу и понимание происходящего. Также хотел бы уточнить, что поскольку в статье объясняются достаточно базовые вещи и задействован относительно маленький спектр инструментов, то статья будет полезна в большей степени новичкам.

Как результат, в конце мы получим систему, которая каждый указанный промежуток времени будет запускать скрипт с сканером портов и проверять список IP-адресов, отправляя сообщение в беседу telegram о всех открытых портах на указанных адресах.

Читать далее
Всего голосов 16: ↑12 и ↓4 +8
Комментарии 3

Шутер «Проект Кощей», разработка игр на SFML C++

Время на прочтение 16 мин
Количество просмотров 3.6K
Программирование *C++ *Разработка игр *
Обзор

Предыдущая тема

Шутеры — это один из самых популярных жанров видеоигр, который появился в начале 90-х годов. Первые шутеры были созданы для персональных компьютеров и имели простейшую графику и управление. Однако, они были невероятно популярны, и в скором времени стали самыми продаваемыми играми.

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Комментарии 4

Ломаем хаскелем Brainfuck

Уровень сложности Сложный
Время на прочтение 28 мин
Количество просмотров 5.2K
Ненормальное программирование *Haskell *Компиляторы *Brainfuck *

Немного о bfc


Brainfuck — очень глупый язык. Там есть лента из 30к ячеек, по байту каждая. Команды bfc это:


  • Передвижение по ленте влево и вправо (символы < и >)
  • Увеличение и уменьшение значения в ячейке (символы + и -)
  • Ввод и вывод текущей ячейки (символы . и ,)
  • И цикл while, который продолжается пока значение в текущей ячейке не ноль. [ и ] это начало и конец цикла соответственно

Программировать на bfc сложно. Но, как известно, любую проблему можно решить добавлением слоя абстракции (кроме проблемы большого количества абстракций).

Читать дальше →
Всего голосов 67: ↑67 и ↓0 +67
Комментарии 12

Делюсь опытом участия в хакатоне от Совкомбанка

Время на прочтение 12 мин
Количество просмотров 1.8K
Разработка веб-сайтов *PHP *Программирование *Symfony *VueJS *
Обзор

Сегодня, я хочу поделиться опытом и рассказать про участие в хакатоне от совкомбанка. Подробнее про хакатон можно почитать тут. Для лл я вкратце опишу задачу — командой до 5 человек сделать внутренний сервис для подбора персонала и ведения HR деятельности.

Читать далее
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 8

Создание сервера для онлайн ММО игр на PHP ч. 9 — Игровые серверные механики

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 1.9K
PHP *.NET *Разработка игр *Lua *Unity *
Роадмэп

После успешной оптимизации клиентской части и серверной архитектуры пришла пора писать механики самой игры для взаимодействия по API — я называю их событиями (они вешаются на какой либо игровой объект на сервере, помещаются в очередь и срабатывают когда придет их время).

Суть работы взаимодействия сервера и клиентской части следующая:

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 23

Применение Python для сбора и предобработки данных цифрового следа

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.4K
Поисковые технологии *Python *Google Chrome Big Data *Поисковая оптимизация *
Обзор
Из песочницы

Python для сбора и предобработки данных цифрового следа.

Про цифровой след обычно говорят лишь в общих чертах, и описание программирования для работы с ним лишь упоминают. В данной статье рассмотрен набор библиотек Python и приемов, которые можно использовать для сбора и предобработки данных цифрового следа.

Читать далее
Всего голосов 15: ↑9 и ↓6 +3
Комментарии 2

Rust 1.70.0: протокол ''sparce'' для crates.io, OnceCell и OnceLock, лейблы отладочной информации

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 2K
Open source *Программирование *Системное программирование *Компиляторы *Rust *
Перевод

Команда Rust рада сообщить о новой версии языка — 1.70.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.70.0 вам достаточно выполнить команду:


rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.


Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta) или nightly (rustup default nightly) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 16

Автоматизация деплоя Django-приложения в маленькой команде: пошаговый гайд

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 1.3K
Django *DevOps *
Туториал
Recovery mode

Развёртывание ПО, или деплой (deploy) — этап в разработке, в Devops в целом, это действия, которые делают ПО готовым к использованию. Если вы умеете в грамотный деплой, масштабирование и управление конвейерами (CI/CD), то ваш софт будет конкурентоспособным.

Далеко не все компании могут позволить себе нанять целую команду DevOps инженеров, чтобы управлять развёртыванием. Но здесь важно не количество разрабов, а качество их знаний. Есть инструменты, с которыми можно эффективно деплоить и без большой команды.

Мы в digital-агентстве успешно используем GitLab CI и Docker для развёртывания ПО в разных средах. Для чего нужны эти инструменты?

GitLab CI позволяет автоматизировать процессы сборки и доставки ПО. Docker — упаковать приложение и его зависимости в контейнеры, что упрощает развёртывание и масштабирование в разных средах. Используя их, вы сократите затраты на найм и оптимизируете деплой.

В этой статье расскажу о нашем опыте и покажу примеры настройки конвейеров CI/CD, как ими управлять с помощью GitLab CI и Docker. А также дам рекомендации, как масштабировать развертывание.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 3

Кто до сих пор использует PHP?

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 8.6K
Блог компании RUVDS.com Разработка веб-сайтов *PHP *JavaScript *Программирование *
Мнение
Перевод

Свой путь в сфере разработки я начала с языка PHP, но позднее в индустрии программирования акцент сместился в сторону JavaScript. Отчасти причина в том, что фронтенд-составляющая веб-среды так или иначе работает именно на JS. В этой сфере я провела последние десять лет.

Недавно мне подвернулась кое-какая работа, связанная с PHP. Поначалу я была удивлена, ведь за этим языком закрепилась дурная слава – преимущественно из-за его ассоциирования с устаревшими проектами WordPress (и всеми вытекающими из этого уязвимостями). Но WordPress – это всё же не PHP.

В общем мне стало любопытно. Кто они – те люди, которые до сих пор используют PHP? Почему они это делают? И как этот опыт можно сравнить с моим скромным миром серверных проектов на JS?
Читать дальше →
Всего голосов 80: ↑46 и ↓34 +12
Комментарии 40